File nimblackout_cdcb61a30a7792894fa45c1f0889c58ec8799e5c06ad9690f7fc38be12dea221.exe
Function:
    00401860
    00401860addIntImpl__stdZprivateZdigitsutils_59:
    00401860push rbp
    00401861mov rbp, rsp
    00401864sub rsp, 192
    0040186bmov [rbp+16], rcx
    0040186fmov [rbp+24], rdx
    00401873lea rax, [rip+0x2b8ad]
    0040187amov [rbp-120], rax
    0040187elea rax, [rip+0x2b853]
    00401885mov [rbp-104], rax
    00401889mov [rbp-112], 0
    00401891mov [rbp-96], 0
    00401897lea rax, [rbp-128]
    0040189bmov rcx, rax
    0040189ecall nimFrame
    004018a3mov [rbp-112], 59
    004018ablea rax, [rip+0x2b826]
    004018b2mov [rbp-104], rax
    004018b6mov rax, [rbp+24]
    004018bamov [rbp-8], rax
    004018bemov [rbp-112], 60
    004018c6lea rax, [rip+0x2b80b]
    004018cdmov [rbp-104], rax
    004018d1mov [rbp-16], 23
    004018d9mov [rbp-112], 63
    004018e1lea rax, [rip+0x2b7f0]
    004018e8mov [rbp-104], rax
    004018ec
    004018ecloc_4018ec:
    004018eccmp [rbp-8], 99
    004018f1jbe 0x401ae7
    004018f7mov [rbp-112], 64
    004018fflea rax, [rip+0x2b7d2]
    00401906mov [rbp-104], rax
    0040190amov rax, [rbp-8]
    0040190emov [rbp-24], rax
    00401912mov [rbp-112], 65
    0040191alea rax, [rip+0x2b7b7]
    00401921mov [rbp-104], rax
    00401925mov rax, [rbp-8]
    00401929shr rax, 2
    0040192dmov rdx, 0x28f5c28f5c28f5c3
    00401937mul rdx
    0040193amov rax, rdx
    0040193dshr rax, 2
    00401941mov [rbp-8], rax
    00401945mov [rbp-112], 66
    0040194dlea rax, [rip+0x2b784]
    00401954mov [rbp-104], rax
    00401958mov rdx, [rbp-8]
    0040195cmov rax, rdx
    0040195fshl rax, 2
    00401963add rax, rdx
    00401966lea rdx, [4*rax]
    0040196eadd rax, rdx
    00401971shl rax, 2
    00401975mov rdx, rax
    00401978mov rax, [rbp-24]
    0040197csub rax, rdx
    0040197fadd rax, rax
    00401982mov [rbp-32], rax
    00401986mov rax, [rbp-16]
    0040198acmp rax, 23
    0040198ejbe 0x4019a1
    00401990mov rax, [rbp-16]
    00401994mov edx, 23
    00401999mov rcx, rax
    0040199ccall raiseIndexError2
    004019a1
    004019a1loc_4019a1:
    004019a1mov [rbp-112], 67
    004019a9lea rax, [rip+0x2b728]
    004019b0mov [rbp-104], rax
    004019b4mov rax, [rbp-32]
    004019b8add rax, 1
    004019bccmp rax, 199
    004019c2jbe 0x4019d9
    004019c4mov rax, [rbp-32]
    004019c8add rax, 1
    004019ccmov edx, 199
    004019d1mov rcx, rax
    004019d4call raiseIndexError2
    004019d9
    004019d9loc_4019d9:
    004019d9mov rax, [rbp-32]
    004019ddlea rdx, [rax+1]
    004019e1lea rax, [rip+0x2b618]
    004019e8movzx eax, [rdx+rax]
    004019eclea rcx, [rbp-64]
    004019f0mov rdx, [rbp-16]
    004019f4add rdx, rcx
    004019f7mov [rdx], al
    004019f9mov [rbp-112], 68
    00401a01lea rax, [rip+0x2b6d0]
    00401a08mov [rbp-104], rax
    00401a0cmov edx, 0
    00401a11mov rax, [rbp-16]
    00401a15sub rax, 1
    00401a19jno 0x401a20
    00401a1bmov edx, 1
    00401a20
    00401a20loc_401a20:
    00401a20mov rcx, rax
    00401a23lea rax, [rbp-136]
    00401a2amov [rax], rcx
    00401a2dmov rax, rdx
    00401a30and eax, 1
    00401a33test al, al
    00401a35je 0x401a3c
    00401a37call raiseOverflow
    00401a3c
    00401a3cloc_401a3c:
    00401a3cmov rax, [rbp-136]
    00401a43cmp rax, 23
    00401a47jbe 0x401a5d
    00401a49mov rax, [rbp-136]
    00401a50mov edx, 23
    00401a55mov rcx, rax
    00401a58call raiseIndexError2
    00401a5d
    00401a5dloc_401a5d:
    00401a5dcmp [rbp-32], 199
    00401a65jbe 0x401a78
    00401a67mov rax, [rbp-32]
    00401a6bmov edx, 199
    00401a70mov rcx, rax
    00401a73call raiseIndexError2
    00401a78
    00401a78loc_401a78:
    00401a78mov rax, [rbp-136]
    00401a7flea rcx, [rip+0x2b57a]
    00401a86mov rdx, [rbp-32]
    00401a8aadd rdx, rcx
    00401a8dmovzx edx, [rdx]
    00401a90mov [rbp+rax-64], dl
    00401a94mov [rbp-112], 69
    00401a9clea rax, [rip+0x2b635]
    00401aa3mov [rbp-104], rax
    00401aa7mov edx, 0
    00401aacmov rax, [rbp-16]
    00401ab0sub rax, 2
    00401ab4jno 0x401abb
    00401ab6mov edx, 1
    00401abb
    00401abbloc_401abb:
    00401abbmov rcx, rax
    00401abelea rax, [rbp-144]
    00401ac5mov [rax], rcx
    00401ac8mov rax, rdx
    00401acband eax, 1
    00401acetest al, al
    00401ad0je 0x401ad7
    00401ad2call raiseOverflow
    00401ad7
    00401ad7loc_401ad7:
    00401ad7mov rax, [rbp-144]
    00401ademov [rbp-16], rax
    00401ae2jmp 0x4018ec
    00401ae7
    00401ae7loc_401ae7:
    00401ae7nop
    00401ae8mov [rbp-112], 72
    00401af0lea rax, [rip+0x2b5e1]
    00401af7mov [rbp-104], rax
    00401afbcmp [rbp-8], 9
    00401b00ja 0x401b60
    00401b02mov rax, [rbp-16]
    00401b06cmp rax, 23
    00401b0ajbe 0x401b1d
    00401b0cmov rax, [rbp-16]
    00401b10mov edx, 23
    00401b15mov rcx, rax
    00401b18call raiseIndexError2
    00401b1d
    00401b1dloc_401b1d:
    00401b1dmov [rbp-112], 73
    00401b25lea rax, [rip+0x2b5ac]
    00401b2cmov [rbp-104], rax
    00401b30mov rax, [rbp-8]
    00401b34add rax, 48
    00401b38cmp rax, 255
    00401b3ejbe 0x401b45
    00401b40call raiseRangeErrorNoArgs
    00401b45
    00401b45loc_401b45:
    00401b45mov rax, [rbp-8]
    00401b49add eax, 48
    00401b4cmov edx, eax
    00401b4elea rcx, [rbp-64]
    00401b52mov rax, [rbp-16]
    00401b56add rax, rcx
    00401b59mov [rax], dl
    00401b5bjmp 0x401cdb
    00401b60
    00401b60loc_401b60:
    00401b60nop
    00401b61mov [rbp-112], 75
    00401b69lea rax, [rip+0x2b568]
    00401b70mov [rbp-104], rax
    00401b74mov rax, [rbp-8]
    00401b78add rax, rax
    00401b7bmov [rbp-40], rax
    00401b7fmov rax, [rbp-16]
    00401b83cmp rax, 23
    00401b87jbe 0x401b9a
    00401b89mov rax, [rbp-16]
    00401b8dmov edx, 23
    00401b92mov rcx, rax
    00401b95call raiseIndexError2
    00401b9a
    00401b9aloc_401b9a:
    00401b9amov [rbp-112], 76
    00401ba2lea rax, [rip+0x2b52f]
    00401ba9mov [rbp-104], rax
    00401badmov rax, [rbp-40]
    00401bb1add rax, 1
    00401bb5cmp rax, 199
    00401bbbjbe 0x401bd2
    00401bbdmov rax, [rbp-40]
    00401bc1add rax, 1
    00401bc5mov edx, 199
    00401bcamov rcx, rax
    00401bcdcall raiseIndexError2
    00401bd2
    00401bd2loc_401bd2:
    00401bd2mov rax, [rbp-40]
    00401bd6lea rdx, [rax+1]
    00401bdalea rax, [rip+0x2b41f]
    00401be1movzx eax, [rdx+rax]
    00401be5lea rcx, [rbp-64]
    00401be9mov rdx, [rbp-16]
    00401bedadd rdx, rcx
    00401bf0mov [rdx], al
    00401bf2mov [rbp-112], 77
    00401bfalea rax, [rip+0x2b4d7]
    00401c01mov [rbp-104], rax
    00401c05mov edx, 0
    00401c0amov rax, [rbp-16]
    00401c0esub rax, 1
    00401c12jno 0x401c19
    00401c14mov edx, 1
    00401c19
    00401c19loc_401c19:
    00401c19mov rcx, rax
    00401c1clea rax, [rbp-152]
    00401c23mov [rax], rcx
    00401c26mov rax, rdx
    00401c29and eax, 1
    00401c2ctest al, al
    00401c2eje 0x401c35
    00401c30call raiseOverflow
    00401c35
    00401c35loc_401c35:
    00401c35mov rax, [rbp-152]
    00401c3ccmp rax, 23
    00401c40jbe 0x401c56
    00401c42mov rax, [rbp-152]
    00401c49mov edx, 23
    00401c4emov rcx, rax
    00401c51call raiseIndexError2
    00401c56
    00401c56loc_401c56:
    00401c56cmp [rbp-40], 199
    00401c5ejbe 0x401c71
    00401c60mov rax, [rbp-40]
    00401c64mov edx, 199
    00401c69mov rcx, rax
    00401c6ccall raiseIndexError2
    00401c71
    00401c71loc_401c71:
    00401c71mov rax, [rbp-152]
    00401c78lea rcx, [rip+0x2b381]
    00401c7fmov rdx, [rbp-40]
    00401c83add rdx, rcx
    00401c86movzx edx, [rdx]
    00401c89mov [rbp+rax-64], dl
    00401c8dmov [rbp-112], 78
    00401c95lea rax, [rip+0x2b43c]
    00401c9cmov [rbp-104], rax
    00401ca0mov edx, 0
    00401ca5mov rax, [rbp-16]
    00401ca9sub rax, 1
    00401cadjno 0x401cb4
    00401cafmov edx, 1
    00401cb4
    00401cb4loc_401cb4:
    00401cb4mov rcx, rax
    00401cb7lea rax, [rbp-160]
    00401cbemov [rax], rcx
    00401cc1mov rax, rdx
    00401cc4and eax, 1
    00401cc7test al, al
    00401cc9je 0x401cd0
    00401ccbcall raiseOverflow
    00401cd0
    00401cd0loc_401cd0:
    00401cd0mov rax, [rbp-160]
    00401cd7mov [rbp-16], rax
    00401cdb
    00401cdbloc_401cdb:
    00401cdbmov [rbp-112], 79
    00401ce3lea rax, [rip+0x2b3ee]
    00401ceamov [rbp-104], rax
    00401ceemov edx, 0
    00401cf3mov eax, 24
    00401cf8sub rax, [rbp-16]
    00401cfcjno 0x401d03
    00401cfemov edx, 1
    00401d03
    00401d03loc_401d03:
    00401d03mov rcx, rax
    00401d06lea rax, [rbp-72]
    00401d0amov [rax], rcx
    00401d0dmov rax, rdx
    00401d10and eax, 1
    00401d13test al, al
    00401d15je 0x401d1c
    00401d17call raiseOverflow
    00401d1c
    00401d1cloc_401d1c:
    00401d1cmov rcx, [rbp-72]
    00401d20mov rdx, [rbp-16]
    00401d24lea rax, [rbp-64]
    00401d28mov r9, rcx
    00401d2bmov r8, rdx
    00401d2emov rdx, rax
    00401d31mov rcx, [rbp+16]
    00401d35call addChars__stdZprivateZdigitsutils_100
    00401d3acall popFrame
    00401d3fnop
    00401d40add rsp, 192
    00401d47pop rbp
    00401d48ret
    00401860
    00401d49
    00401d49addInt__stdZprivateZdigitsutils_164:
    00401d49push rbp
    00401d4amov rbp, rsp
    00401d4dsub rsp, 80
    00401d51mov [rbp+16], rcx
    00401d55mov [rbp+24], rdx
    00401d59lea rax, [rip+0x2b3d2]
    00401d60mov [rbp-40], rax
    00401d64lea rax, [rip+0x2b36d]
    00401d6bmov [rbp-24], rax
    00401d6fmov [rbp-32], 0
    00401d77mov [rbp-16], 0
    00401d7dlea rax, [rbp-48]
    00401d81mov rcx, rax
    00401d84call nimFrame
    00401d89mov [rbp-32], 87
    00401d91lea rax, [rip+0x2b340]
    00401d98mov [rbp-24], rax
    00401d9cmov rax, [rbp+24]
    00401da0mov rdx, rax
    00401da3mov rcx, [rbp+16]
    00401da7call addIntImpl__stdZprivateZdigitsutils_59
    00401daccall popFrame
    00401db1nop
    00401db2add rsp, 80
    00401db6pop rbp
    00401db7ret
    00401d49
    00401db8
    00401db8addInt__stdZprivateZdigitsutils_167:
    00401db8push rbp
    00401db9mov rbp, rsp
    00401dbcsub rsp, 112
    00401dc0mov [rbp+16], rcx
    00401dc4mov [rbp+24], rdx
    00401dc8lea rax, [rip+0x2b363]
    00401dcfmov [rbp-56], rax
    00401dd3lea rax, [rip+0x2b2fe]
    00401ddamov [rbp-40], rax
    00401ddemov [rbp-48], 0
    00401de6mov [rbp-32], 0
    00401declea rax, [rbp-64]
    00401df0mov rcx, rax
    00401df3call nimFrame
    00401df8mov [rbp-8], 0
    00401e00mov [rbp-48], 99
    00401e08lea rax, [rip+0x2b2c9]
    00401e0fmov [rbp-40], rax
    00401e13cmp [rbp+24], 0
    00401e18jns 0x401fcc
    00401e1emov [rbp-48], 100
    00401e26lea rax, [rip+0x2b2ab]
    00401e2dmov [rbp-40], rax
    00401e31mov rax, 0x8000000000000000
    00401e3bcmp [rbp+24], rax
    00401e3fjne 0x401e5e
    00401e41mov [rbp-48], 101
    00401e49lea rax, [rip+0x2b288]
    00401e50mov [rbp-40], rax
    00401e54mov rax, [rbp+24]
    00401e58mov [rbp-8], rax
    00401e5cjmp 0x401e92
    00401e5e
    00401e5eloc_401e5e:
    00401e5enop
    00401e5fmov [rbp-48], 103
    00401e67lea rax, [rip+0x2b26a]
    00401e6emov [rbp-40], rax
    00401e72mov rax, 0x8000000000000000
    00401e7ccmp [rbp+24], rax
    00401e80jne 0x401e87
    00401e82call raiseOverflow
    00401e87
    00401e87loc_401e87:
    00401e87mov rax, [rbp+24]
    00401e8bneg rax
    00401e8emov [rbp-8], rax
    00401e92
    00401e92loc_401e92:
    00401e92mov [rbp-48], 104
    00401e9alea rax, [rip+0x2b237]
    00401ea1mov [rbp-40], rax
    00401ea5mov rax, [rbp+16]
    00401ea9mov rax, [rax]
    00401eactest rax, rax
    00401eafje 0x401ebd
    00401eb1mov rax, [rbp+16]
    00401eb5mov rax, [rax]
    00401eb8mov rax, [rax]
    00401ebbjmp 0x401ec2
    00401ebd
    00401ebdloc_401ebd:
    00401ebdmov eax, 0
    00401ec2
    00401ec2loc_401ec2:
    00401ec2mov [rbp-16], rax
    00401ec6mov [rbp-48], 105
    00401ecelea rax, [rip+0x2b203]
    00401ed5mov [rbp-40], rax
    00401ed9mov edx, 0
    00401edemov rax, [rbp-16]
    00401ee2add rax, 1
    00401ee6jno 0x401eed
    00401ee8mov edx, 1
    00401eed
    00401eedloc_401eed:
    00401eedmov rcx, rax
    00401ef0lea rax, [rbp-72]
    00401ef4mov [rax], rcx
    00401ef7mov rax, rdx
    00401efaand eax, 1
    00401efdtest al, al
    00401effje 0x401f06
    00401f01call raiseOverflow
    00401f06
    00401f06loc_401f06:
    00401f06mov rax, [rbp-72]
    00401f0atest rax, rax
    00401f0djns 0x401f2a
    00401f0fmov rax, [rbp-72]
    00401f13mov r8, 0x7fffffffffffffff
    00401f1dmov edx, 0
    00401f22mov rcx, rax
    00401f25call raiseRangeErrorI
    00401f2a
    00401f2aloc_401f2a:
    00401f2amov rdx, [rbp-72]
    00401f2emov rax, [rbp+16]
    00401f32mov rax, [rax]
    00401f35mov rcx, rax
    00401f38call setLengthStr
    00401f3dmov rdx, rax
    00401f40mov rcx, [rbp+16]
    00401f44call unsureAsgnRef
    00401f49cmp [rbp-16], 0
    00401f4ejs 0x401f73
    00401f50mov rax, [rbp+16]
    00401f54mov rax, [rax]
    00401f57test rax, rax
    00401f5aje 0x401f68
    00401f5cmov rax, [rbp+16]
    00401f60mov rax, [rax]
    00401f63mov rax, [rax]
    00401f66jmp 0x401f6d
    00401f68
    00401f68loc_401f68:
    00401f68mov eax, 0
    00401f6d
    00401f6dloc_401f6d:
    00401f6dcmp rax, [rbp-16]
    00401f71jg 0x401fa2
    00401f73
    00401f73loc_401f73:
    00401f73mov rax, [rbp+16]
    00401f77mov rax, [rax]
    00401f7atest rax, rax
    00401f7dje 0x401f8f
    00401f7fmov rax, [rbp+16]
    00401f83mov rax, [rax]
    00401f86mov rax, [rax]
    00401f89lea rdx, [rax-1]
    00401f8djmp 0x401f96
    00401f8f
    00401f8floc_401f8f:
    00401f8fmov rdx, -1
    00401f96
    00401f96loc_401f96:
    00401f96mov rax, [rbp-16]
    00401f9amov rcx, rax
    00401f9dcall raiseIndexError2
    00401fa2
    00401fa2loc_401fa2:
    00401fa2mov [rbp-48], 106
    00401faalea rax, [rip+0x2b127]
    00401fb1mov [rbp-40], rax
    00401fb5mov rax, [rbp+16]
    00401fb9mov rdx, [rax]
    00401fbcmov rax, [rbp-16]
    00401fc0add rax, rdx
    00401fc3add rax, 16
    00401fc7mov [rax], 45
    00401fcajmp 0x401fe8
    00401fcc
    00401fccloc_401fcc:
    00401fccnop
    00401fcdmov [rbp-48], 108
    00401fd5lea rax, [rip+0x2b0fc]
    00401fdcmov [rbp-40], rax
    00401fe0mov rax, [rbp+24]
    00401fe4mov [rbp-8], rax
    00401fe8
    00401fe8loc_401fe8:
    00401fe8mov [rbp-48], 114
    00401ff0lea rax, [rip+0x2b0e1]
    00401ff7mov [rbp-40], rax
    00401ffbmov rax, [rbp-8]
    00401fffmov rdx, rax
    00402002mov rcx, [rbp+16]
    00402006call addInt__stdZprivateZdigitsutils_164
    0040200bcall popFrame
    00402010nop
    00402011add rsp, 112
    00402015pop rbp
    00402016ret
    00401db8
    00402017
    00402017 // align 0x10
    00402020
    00402020nimFrame:
    00402020push rbp
    00402021mov rbp, rsp
    00402024sub rsp, 32
    00402028mov [rbp+16], rcx
    0040202cmov rax, [rip+0x2f13d]
    00402033mov rax, [rax]
    00402036test rax, rax
    00402039jne 0x402047
    0040203bmov rax, [rbp+16]
    0040203fmov [rax+34], 0
    00402045jmp 0x402063
    00402047
    00402047loc_402047:
    00402047nop
    00402048mov rax, [rip+0x2f121]
    0040204fmov rax, [rax]
    00402052movzx eax, [rax+34]
    00402056add eax, 1
    00402059mov edx, eax
    0040205bmov rax, [rbp+16]
    0040205fmov [rax+34], dx
    00402063
    00402063loc_402063:
    00402063mov rax, [rip+0x2f106]
    0040206amov rdx, [rax]
    0040206dmov rax, [rbp+16]
    00402071mov [rax], rdx
    00402074mov rax, [rip+0x2f0f5]
    0040207bmov rdx, [rbp+16]
    0040207fmov [rax], rdx
    00402082mov rax, [rbp+16]
    00402086movzx eax, [rax+34]
    0040208acmp ax, 2000
    0040208ejne 0x402097
    00402090call callDepthLimitReached__system_2999
    00402095jmp 0x402098
    00402097
    00402097loc_402097:
    00402097nop
    00402098
    00402098loc_402098:
    00402098nop
    00402099add rsp, 32
    0040209dpop rbp
    0040209eret
    00402020
    0040209f
    0040209fpopFrame:
    0040209fpush rbp
    004020a0mov rbp, rsp
    004020a3mov rax, [rip+0x2f0c6]
    004020aamov rax, [rax]
    004020admov rdx, [rax]
    004020b0mov rax, [rip+0x2f0b9]
    004020b7mov [rax], rdx
    004020banop
    004020bbpop rbp
    004020bcret
    0040209f
    004020bd
    004020bdminuspercent___system_716:
    004020bdpush rbp
    004020bemov rbp, rsp
    004020c1sub rsp, 96
    004020c5mov [rbp+16], rcx
    004020c9mov [rbp+24], rdx
    004020cdlea rax, [rip+0x2b06c]
    004020d4mov [rbp-56], rax
    004020d8lea rax, [rip+0x2b069]
    004020dfmov [rbp-40], rax
    004020e3mov [rbp-48], 0
    004020ebmov [rbp-32], 0
    004020f1lea rax, [rbp-64]
    004020f5mov rcx, rax
    004020f8call nimFrame
    004020fdmov [rbp-8], 0
    00402105mov [rbp-48], 414
    0040210dlea rax, [rip+0x2b034]
    00402114mov [rbp-40], rax
    00402118mov [rbp-48], 418
    00402120lea rax, [rip+0x2b021]
    00402127mov [rbp-40], rax
    0040212bmov rax, [rbp+16]
    0040212fmov rdx, [rbp+24]
    00402133sub rax, rdx
    00402136mov [rbp-8], rax
    0040213acall popFrame
    0040213fmov rax, [rbp-8]
    00402143add rsp, 96
    00402147pop rbp
    00402148ret
    004020bd
    00402149
    00402149ltpercent___system_1005:
    00402149push rbp
    0040214amov rbp, rsp
    0040214dsub rsp, 96
    00402151mov [rbp+16], rcx
    00402155mov [rbp+24], rdx
    00402159lea rax, [rip+0x2b032]
    00402160mov [rbp-56], rax
    00402164lea rax, [rip+0x2b02d]
    0040216bmov [rbp-40], rax
    0040216fmov [rbp-48], 0
    00402177mov [rbp-32], 0
    0040217dlea rax, [rbp-64]
    00402181mov rcx, rax
    00402184call nimFrame
    00402189mov [rbp-1], 0
    0040218dmov [rbp-48], 186
    00402195lea rax, [rip+0x2affc]
    0040219cmov [rbp-40], rax
    004021a0mov [rbp-48], 188
    004021a8lea rax, [rip+0x2afe9]
    004021afmov [rbp-40], rax
    004021b3mov rdx, [rbp+16]
    004021b7mov rax, [rbp+24]
    004021bbcmp rdx, rax
    004021besetb al
    004021c1mov [rbp-1], al
    004021c4call popFrame
    004021c9movzx eax, [rbp-1]
    004021cdadd rsp, 96
    004021d1pop rbp
    004021d2ret
    00402149
    004021d3
    004021d3rtlAddZCT__system_5397:
    004021d3push rbp
    004021d4mov rbp, rsp
    004021d7sub rsp, 80
    004021dbmov [rbp+16], rcx
    004021dflea rax, [rip+0x2affc]
    004021e6mov [rbp-40], rax
    004021ealea rax, [rip+0x2afff]
    004021f1mov [rbp-24], rax
    004021f5mov [rbp-32], 0
    004021fdmov [rbp-16], 0
    00402203lea rax, [rbp-48]
    00402207mov rcx, rax
    0040220acall nimFrame
    0040220fmov [rbp-32], 243
    00402217lea rax, [rip+0x2afd2]
    0040221emov [rbp-24], rax
    00402222mov rdx, [rbp+16]
    00402226mov rax, [rip+0x2ef53]
    0040222dlea rcx, [rax+24]
    00402231call addZCT__system_5348
    00402236call popFrame
    0040223bnop
    0040223cadd rsp, 80
    00402240pop rbp
    00402241ret
    004021d3
    00402242
    00402242decRef__system_5399:
    00402242push rbp
    00402243mov rbp, rsp
    00402246sub rsp, 96
    0040224amov [rbp+16], rcx
    0040224elea rax, [rip+0x2afdc]
    00402255mov [rbp-56], rax
    00402259lea rax, [rip+0x2af90]
    00402260mov [rbp-40], rax
    00402264mov [rbp-48], 0
    0040226cmov [rbp-32], 0
    00402272lea rax, [rbp-64]
    00402276mov rcx, rax
    00402279call nimFrame
    0040227emov [rbp-48], 248
    00402286lea rax, [rip+0x2af63]
    0040228dmov [rbp-40], rax
    00402291mov rax, [rbp+16]
    00402295mov rax, [rax]
    00402298mov edx, 8
    0040229dmov rcx, rax
    004022a0call minuspercent___system_716
    004022a5mov rdx, [rbp+16]
    004022a9mov [rdx], rax
    004022acmov [rbp-48], 249
    004022b4lea rax, [rip+0x2af35]
    004022bbmov [rbp-40], rax
    004022bfmov [rbp-1], 0
    004022c3mov rax, [rbp+16]
    004022c7mov rax, [rax]
    004022camov edx, 8
    004022cfmov rcx, rax
    004022d2call ltpercent___system_1005
    004022d7mov [rbp-1], al
    004022damovzx eax, [rbp-1]
    004022dexor eax, 1
    004022e1test al, al
    004022e3jne 0x402303
    004022e5mov [rbp-48], 250
    004022edlea rax, [rip+0x2aefc]
    004022f4mov [rbp-40], rax
    004022f8mov rcx, [rbp+16]
    004022fccall rtlAddZCT__system_5397
    00402301jmp 0x402304
    00402303
    00402303loc_402303:
    00402303nop
    00402304
    00402304loc_402304:
    00402304call popFrame
    00402309nop
    0040230aadd rsp, 96
    0040230epop rbp
    0040230fret
    00402242
    00402310
    00402310usrToCell__system_5354:
    00402310push rbp
    00402311mov rbp, rsp
    00402314sub rsp, 96
    00402318mov [rbp+16], rcx
    0040231clea rax, [rip+0x2af15]
    00402323mov [rbp-56], rax
    00402327lea rax, [rip+0x2aec2]
    0040232emov [rbp-40], rax
    00402332mov [rbp-48], 0
    0040233amov [rbp-32], 0
    00402340lea rax, [rbp-64]
    00402344mov rcx, rax
    00402347call nimFrame
    0040234cmov [rbp-8], 0
    00402354mov [rbp-48], 177
    0040235clea rax, [rip+0x2ae8d]
    00402363mov [rbp-40], rax
    00402367mov [rbp-16], 0
    0040236fmov rax, [rbp+16]
    00402373mov edx, 16
    00402378mov rcx, rax
    0040237bcall minuspercent___system_716
    00402380mov [rbp-16], rax
    00402384mov rax, [rbp-16]
    00402388mov [rbp-8], rax
    0040238ccall popFrame
    00402391mov rax, [rbp-8]
    00402395add rsp, 96
    00402399pop rbp
    0040239aret
    00402310
    0040239b
    0040239bnimGCunrefNoCycle:
    0040239bpush rbp
    0040239cmov rbp, rsp
    0040239fsub rsp, 96
    004023a3mov [rbp+16], rcx
    004023a7lea rax, [rip+0x2ae94]
    004023aemov [rbp-56], rax
    004023b2lea rax, [rip+0x2ae37]
    004023b9mov [rbp-40], rax
    004023bdmov [rbp-48], 0
    004023c5mov [rbp-32], 0
    004023cblea rax, [rbp-64]
    004023cfmov rcx, rax
    004023d2call nimFrame
    004023d7mov [rbp-48], 276
    004023dflea rax, [rip+0x2ae0a]
    004023e6mov [rbp-40], rax
    004023eamov [rbp-8], 0
    004023f2mov rcx, [rbp+16]
    004023f6call usrToCell__system_5354
    004023fbmov [rbp-8], rax
    004023ffmov rax, [rbp-8]
    00402403mov rcx, rax
    00402406call decRef__system_5399
    0040240bcall popFrame
    00402410nop
    00402411add rsp, 96
    00402415pop rbp
    00402416ret
    0040239b
    00402417
    00402417sysFatal__systemZassertions_34:
    00402417push rbp
    00402418mov rbp, rsp
    0040241bsub rsp, 112
    0040241fmov [rbp+16], rcx
    00402423lea rax, [rip+0x2ae2a]
    0040242amov [rbp-56], rax
    0040242elea rax, [rip+0x2ae2b]
    00402435mov [rbp-40], rax
    00402439mov [rbp-48], 0
    00402441mov [rbp-32], 0
    00402447lea rax, [rbp-64]
    0040244bmov rcx, rax
    0040244ecall nimFrame
    00402453mov [rbp-8], 0
    0040245bmov edx, 48
    00402460mov rcx, [rip+0x2eac9]
    00402467call newObj
    0040246cmov [rbp-8], rax
    00402470mov rax, [rbp-8]
    00402474mov rdx, [rip+0x2ea25]
    0040247bmov [rax], rdx
    0040247emov rax, [rbp-8]
    00402482lea rdx, [rip+0x2ae1b]
    00402489mov [rax+16], rdx
    0040248dmov [rbp-16], 0
    00402495mov rax, [rbp-8]
    00402499mov rax, [rax+24]
    0040249dmov [rbp-16], rax
    004024a1mov rcx, [rbp+16]
    004024a5call copyStringRC1
    004024aamov rdx, [rbp-8]
    004024aemov [rdx+24], rax
    004024b2cmp [rbp-16], 0
    004024b7je 0x4024c5
    004024b9mov rax, [rbp-16]
    004024bdmov rcx, rax
    004024c0call nimGCunrefNoCycle
    004024c5
    004024c5loc_4024c5:
    004024c5mov [rbp-48], 53
    004024cdlea rax, [rip+0x2ad8c]
    004024d4mov [rbp-40], rax
    004024d8mov rax, [rbp-8]
    004024dcmov [rsp+32], 53
    004024e5lea r9, [rip+0x2ad74]
    004024eclea r8, [rip+0x2ad61]
    004024f3lea rdx, [rip+0x2adaa]
    004024famov rcx, rax
    004024fdcall raiseExceptionEx
    00402502call popFrame
    00402507nop
    00402508add rsp, 112
    0040250cpop rbp
    0040250dret
    00402417
    0040250e
    0040250eraiseAssert__systemZassertions_32:
    0040250epush rbp
    0040250fmov rbp, rsp
    00402512sub rsp, 80
    00402516mov [rbp+16], rcx
    0040251alea rax, [rip+0x2ad93]
    00402521mov [rbp-40], rax
    00402525lea rax, [rip+0x2ad94]
    0040252cmov [rbp-24], rax
    00402530mov [rbp-32], 0
    00402538mov [rbp-16], 0
    0040253elea rax, [rbp-48]
    00402542mov rcx, rax
    00402545call nimFrame
    0040254amov [rbp-32], 28
    00402552lea rax, [rip+0x2ad67]
    00402559mov [rbp-24], rax
    0040255dmov rcx, [rbp+16]
    00402561call sysFatal__systemZassertions_34
    00402566nop
    0040250e
    00402567
    00402567failedAssertImpl__systemZassertions_56:
    00402567push rbp
    00402568mov rbp, rsp
    0040256bsub rsp, 80
    0040256fmov [rbp+16], rcx
    00402573lea rax, [rip+0x2ad8f]
    0040257amov [rbp-40], rax
    0040257elea rax, [rip+0x2ad3b]
    00402585mov [rbp-24], rax
    00402589mov [rbp-32], 0
    00402591mov [rbp-16], 0
    00402597lea rax, [rbp-48]
    0040259bmov rcx, rax
    0040259ecall nimFrame
    004025a3mov [rbp-32], 38
    004025ablea rax, [rip+0x2ad0e]
    004025b2mov [rbp-24], rax
    004025b6mov rcx, [rbp+16]
    004025bacall raiseAssert__systemZassertions_32
    004025bfnop
    00402567
    004025c0
    004025c0nimFrame:
    004025c0push rbp
    004025c1mov rbp, rsp
    004025c4sub rsp, 32
    004025c8mov [rbp+16], rcx
    004025ccmov rax, [rip+0x2eb9d]
    004025d3mov rax, [rax]
    004025d6test rax, rax
    004025d9jne 0x4025e7
    004025dbmov rax, [rbp+16]
    004025dfmov [rax+34], 0
    004025e5jmp 0x402603
    004025e7
    004025e7loc_4025e7:
    004025e7nop
    004025e8mov rax, [rip+0x2eb81]
    004025efmov rax, [rax]
    004025f2movzx eax, [rax+34]
    004025f6add eax, 1
    004025f9mov edx, eax
    004025fbmov rax, [rbp+16]
    004025ffmov [rax+34], dx
    00402603
    00402603loc_402603:
    00402603mov rax, [rip+0x2eb66]
    0040260amov rdx, [rax]
    0040260dmov rax, [rbp+16]
    00402611mov [rax], rdx
    00402614mov rax, [rip+0x2eb55]
    0040261bmov rdx, [rbp+16]
    0040261fmov [rax], rdx
    00402622mov rax, [rbp+16]
    00402626movzx eax, [rax+34]
    0040262acmp ax, 2000
    0040262ejne 0x402637
    00402630call callDepthLimitReached__system_2999
    00402635jmp 0x402638
    00402637
    00402637loc_402637:
    00402637nop
    00402638
    00402638loc_402638:
    00402638nop
    00402639add rsp, 32
    0040263dpop rbp
    0040263eret
    004025c0
    0040263f
    0040263fpopFrame:
    0040263fpush rbp
    00402640mov rbp, rsp
    00402643mov rax, [rip+0x2eb26]
    0040264amov rax, [rax]
    0040264dmov rdx, [rax]
    00402650mov rax, [rip+0x2eb19]
    00402657mov [rax], rdx
    0040265anop
    0040265bpop rbp
    0040265cret
    0040263f
    0040265d
    0040265ddollar___systemZdollars_6:
    0040265dpush rbp
    0040265emov rbp, rsp
    00402661sub rsp, 96
    00402665mov [rbp+16], rcx
    00402669lea rax, [rip+0x2acb0]
    00402670mov [rbp-56], rax
    00402674lea rax, [rip+0x2acad]
    0040267bmov [rbp-40], rax
    0040267fmov [rbp-48], 0
    00402687mov [rbp-32], 0
    0040268dlea rax, [rbp-64]
    00402691mov rcx, rax
    00402694call nimFrame
    00402699mov [rbp-8], 0
    004026a1mov [rbp-48], 16
    004026a9lea rax, [rip+0x2ac78]
    004026b0mov [rbp-40], rax
    004026b4lea rax, [rbp-8]
    004026b8mov rdx, [rbp+16]
    004026bcmov rcx, rax
    004026bfcall addInt__stdZprivateZdigitsutils_167
    004026c4call popFrame
    004026c9mov rax, [rbp-8]
    004026cdadd rsp, 96
    004026d1pop rbp
    004026d2ret
    0040265d
    004026d3
    004026d3addInt__stdZprivateZdigitsutils_189:
    004026d3push rbp
    004026d4mov rbp, rsp
    004026d7sub rsp, 80
    004026dbmov [rbp+16], rcx
    004026dfmov [rbp+24], rdx
    004026e3lea rax, [rip+0x2ac84]
    004026eamov [rbp-40], rax
    004026eelea rax, [rip+0x2ac83]
    004026f5mov [rbp-24], rax
    004026f9mov [rbp-32], 0
    00402701mov [rbp-16], 0
    00402707lea rax, [rbp-48]
    0040270bmov rcx, rax
    0040270ecall nimFrame
    00402713mov [rbp-32], 117
    0040271blea rax, [rip+0x2ac56]
    00402722mov [rbp-24], rax
    00402726mov rax, [rbp+24]
    0040272amov rdx, rax
    0040272dmov rcx, [rbp+16]
    00402731call addInt__stdZprivateZdigitsutils_167
    00402736call popFrame
    0040273bnop
    0040273cadd rsp, 80
    00402740pop rbp
    00402741ret
    004026d3
    00402742
    00402742dollar___systemZdollars_3:
    00402742push rbp
    00402743mov rbp, rsp
    00402746sub rsp, 96
    0040274amov [rbp+16], rcx
    0040274elea rax, [rip+0x2abcb]
    00402755mov [rbp-56], rax
    00402759lea rax, [rip+0x2abc8]
    00402760mov [rbp-40], rax
    00402764mov [rbp-48], 0
    0040276cmov [rbp-32], 0
    00402772lea rax, [rbp-64]
    00402776mov rcx, rax
    00402779call nimFrame
    0040277emov [rbp-8], 0
    00402786mov [rbp-48], 12
    0040278elea rax, [rip+0x2ab93]
    00402795mov [rbp-40], rax
    00402799lea rax, [rbp-8]
    0040279dmov rdx, [rbp+16]
    004027a1mov rcx, rax
    004027a4call addInt__stdZprivateZdigitsutils_189
    004027a9call popFrame
    004027aemov rax, [rbp-8]
    004027b2add rsp, 96
    004027b6pop rbp
    004027b7ret
    00402742
    004027b8
    004027b8 // align 0x10
    004027c0
    004027c0nimFrame:
    004027c0push rbp
    004027c1mov rbp, rsp
    004027c4sub rsp, 32
    004027c8mov [rbp+16], rcx
    004027ccmov rax, [rip+0x2e99d]
    004027d3mov rax, [rax]
    004027d6test rax, rax
    004027d9jne 0x4027e7
    004027dbmov rax, [rbp+16]
    004027dfmov [rax+34], 0
    004027e5jmp 0x402803
    004027e7
    004027e7loc_4027e7:
    004027e7nop
    004027e8mov rax, [rip+0x2e981]
    004027efmov rax, [rax]
    004027f2movzx eax, [rax+34]
    004027f6add eax, 1
    004027f9mov edx, eax
    004027fbmov rax, [rbp+16]
    004027ffmov [rax+34], dx
    00402803
    00402803loc_402803:
    00402803mov rax, [rip+0x2e966]
    0040280amov rdx, [rax]
    0040280dmov rax, [rbp+16]
    00402811mov [rax], rdx
    00402814mov rax, [rip+0x2e955]
    0040281bmov rdx, [rbp+16]
    0040281fmov [rax], rdx
    00402822mov rax, [rbp+16]
    00402826movzx eax, [rax+34]
    0040282acmp ax, 2000
    0040282ejne 0x402837
    00402830call callDepthLimitReached__system_2999
    00402835jmp 0x402838
    00402837
    00402837loc_402837:
    00402837nop
    00402838
    00402838loc_402838:
    00402838nop
    00402839add rsp, 32
    0040283dpop rbp
    0040283eret
    004027c0
    0040283f
    0040283fpopFrame:
    0040283fpush rbp
    00402840mov rbp, rsp
    00402843mov rax, [rip+0x2e926]
    0040284amov rax, [rax]
    0040284dmov rdx, [rax]
    00402850mov rax, [rip+0x2e919]
    00402857mov [rax], rdx
    0040285anop
    0040285bpop rbp
    0040285cret
    0040283f
    0040285d
    0040285dord__systemZwidestrs_8:
    0040285dpush rbp
    0040285emov rbp, rsp
    00402861sub rsp, 96
    00402865mov eax, ecx
    00402867mov [rbp+16], ax
    0040286blea rax, [rip+0x2ab5e]
    00402872mov [rbp-56], rax
    00402876lea rax, [rip+0x2ab5b]
    0040287dmov [rbp-40], rax
    00402881mov [rbp-48], 0
    00402889mov [rbp-32], 0
    0040288flea rax, [rbp-64]
    00402893mov rcx, rax
    00402896call nimFrame
    0040289bmov [rbp-8], 0
    004028a3mov [rbp-48], 66
    004028ablea rax, [rip+0x2ab26]
    004028b2mov [rbp-40], rax
    004028b6movzx eax, [rbp+16]
    004028bamovzx eax, ax
    004028bdmov [rbp-8], rax
    004028c1call popFrame
    004028c6mov rax, [rbp-8]
    004028caadd rsp, 96
    004028cepop rbp
    004028cfret
    0040285d
    004028d0
    004028d0dollar___systemZwidestrs_260:
    004028d0push rbp
    004028d1mov rbp, rsp
    004028d4sub rsp, 160
    004028dbmov [rbp+16], rcx
    004028dfmov [rbp+24], rdx
    004028e3mov [rbp+32], r8
    004028e7lea rax, [rip+0x2ab31]
    004028eemov [rbp-88], rax
    004028f2lea rax, [rip+0x2aadf]
    004028f9mov [rbp-72], rax
    004028fdmov [rbp-80], 0
    00402905mov [rbp-64], 0
    0040290blea rax, [rbp-96]
    0040290fmov rcx, rax
    00402912call nimFrame
    00402917mov [rbp-8], 0
    0040291fmov [rbp-80], 177
    00402927lea rax, [rip+0x2aaaa]
    0040292emov [rbp-72], rax
    00402932mov rax, [rbp+24]
    00402936sar rax, 2
    0040293amov rdx, rax
    0040293dmov ecx, 0
    00402942mov rax, [rbp+24]
    00402946add rax, rdx
    00402949jno 0x402950
    0040294bmov ecx, 1
    00402950
    00402950loc_402950:
    00402950mov rdx, rax
    00402953lea rax, [rbp-48]
    00402957mov [rax], rdx
    0040295amov rax, rcx
    0040295dand eax, 1
    00402960test al, al
    00402962je 0x402969
    00402964call raiseOverflow
    00402969
    00402969loc_402969:
    00402969mov rax, [rbp-48]
    0040296dtest rax, rax
    00402970jns 0x40298d
    00402972mov rax, [rbp-48]
    00402976mov r8, 0x7fffffffffffffff
    00402980mov edx, 0
    00402985mov rcx, rax
    00402988call raiseRangeErrorI
    0040298d
    0040298dloc_40298d:
    0040298dmov rax, [rbp-48]
    00402991mov rcx, rax
    00402994call rawNewString
    00402999mov [rbp-8], rax
    0040299dmov [rbp-80], 179
    004029a5lea rax, [rip+0x2aa2c]
    004029acmov [rbp-72], rax
    004029b0mov [rbp-16], 0
    004029b8mov [rbp-80], 180
    004029c0lea rax, [rip+0x2aa11]
    004029c7mov [rbp-72], rax
    004029cb
    004029cbloc_4029cb:
    004029cbmov rax, [rbp-16]
    004029cflea rdx, [rax+rax]
    004029d3mov rax, [rbp+16]
    004029d7add rax, rdx
    004029damovzx eax, [rax]
    004029ddtest ax, ax
    004029e0je 0x403192
    004029e6mov [rbp-80], 181
    004029eelea rax, [rip+0x2a9e3]
    004029f5mov [rbp-72], rax
    004029f9mov rax, [rbp-16]
    004029fdlea rdx, [rax+rax]
    00402a01mov rax, [rbp+16]
    00402a05add rax, rdx
    00402a08movzx eax, [rax]
    00402a0bcwde
    00402a0cmov ecx, eax
    00402a0ecall ord__systemZwidestrs_8
    00402a13mov [rbp-24], rax
    00402a17mov [rbp-80], 182
    00402a1flea rax, [rip+0x2a9b2]
    00402a26mov [rbp-72], rax
    00402a2amov edx, 0
    00402a2fmov rax, [rbp-16]
    00402a33add rax, 1
    00402a37jno 0x402a3e
    00402a39mov edx, 1
    00402a3e
    00402a3eloc_402a3e:
    00402a3emov rcx, rax
    00402a41lea rax, [rbp-104]
    00402a45mov [rax], rcx
    00402a48mov rax, rdx
    00402a4band eax, 1
    00402a4etest al, al
    00402a50je 0x402a57
    00402a52call raiseOverflow
    00402a57
    00402a57loc_402a57:
    00402a57mov rax, [rbp-104]
    00402a5bmov [rbp-16], rax
    00402a5fmov [rbp-80], 183
    00402a67lea rax, [rip+0x2a96a]
    00402a6emov [rbp-72], rax
    00402a72mov [rbp-25], 0
    00402a76cmp [rbp-24], 55295
    00402a7esetg al
    00402a81mov [rbp-25], al
    00402a84movzx eax, [rbp-25]
    00402a88xor eax, 1
    00402a8btest al, al
    00402a8djne 0x402a9f
    00402a8fcmp [rbp-24], 56319
    00402a97setle al
    00402a9amov [rbp-25], al
    00402a9djmp 0x402aa0
    00402a9f
    00402a9floc_402a9f:
    00402a9fnop
    00402aa0
    00402aa0loc_402aa0:
    00402aa0movzx eax, [rbp-25]
    00402aa4xor eax, 1
    00402aa7test al, al
    00402aa9jne 0x402c27
    00402aafmov [rbp-80], 185
    00402ab7lea rax, [rip+0x2a91a]
    00402abemov [rbp-72], rax
    00402ac2mov rax, [rbp-16]
    00402ac6lea rdx, [rax+rax]
    00402acamov rax, [rbp+16]
    00402aceadd rax, rdx
    00402ad1movzx eax, [rax]
    00402ad4cwde
    00402ad5mov ecx, eax
    00402ad7call ord__systemZwidestrs_8
    00402adcmov [rbp-40], rax
    00402ae0mov [rbp-80], 188
    00402ae8lea rax, [rip+0x2a8e9]
    00402aefmov [rbp-72], rax
    00402af3mov [rbp-26], 0
    00402af7cmp [rbp-40], 56319
    00402affsetg al
    00402b02mov [rbp-26], al
    00402b05movzx eax, [rbp-26]
    00402b09xor eax, 1
    00402b0ctest al, al
    00402b0ejne 0x402b20
    00402b10cmp [rbp-40], 57343
    00402b18setle al
    00402b1bmov [rbp-26], al
    00402b1ejmp 0x402b21
    00402b20
    00402b20loc_402b20:
    00402b20nop
    00402b21
    00402b21loc_402b21:
    00402b21movzx eax, [rbp-26]
    00402b25xor eax, 1
    00402b28test al, al
    00402b2ajne 0x402c09
    00402b30mov [rbp-80], 189
    00402b38lea rax, [rip+0x2a899]
    00402b3fmov [rbp-72], rax
    00402b43mov rax, [rbp-24]
    00402b47shl rax, 10
    00402b4band eax, 0xffc00
    00402b50mov rdx, rax
    00402b53mov rax, [rbp-40]
    00402b57and eax, 1023
    00402b5cmov ecx, 0
    00402b61add rax, rdx
    00402b64jno 0x402b6b
    00402b66mov ecx, 1
    00402b6b
    00402b6bloc_402b6b:
    00402b6bmov rdx, rax
    00402b6elea rax, [rbp-112]
    00402b72mov [rax], rdx
    00402b75mov rax, rcx
    00402b78and eax, 1
    00402b7btest al, al
    00402b7dje 0x402b84
    00402b7fcall raiseOverflow
    00402b84
    00402b84loc_402b84:
    00402b84mov rax, [rbp-112]
    00402b88mov edx, 0
    00402b8dadd rax, 0x10000
    00402b93jno 0x402b9a
    00402b95mov edx, 1
    00402b9a
    00402b9aloc_402b9a:
    00402b9amov rcx, rax
    00402b9dlea rax, [rbp-120]
    00402ba1mov [rax], rcx
    00402ba4mov rax, rdx
    00402ba7and eax, 1
    00402baatest al, al
    00402bacje 0x402bb3
    00402baecall raiseOverflow
    00402bb3
    00402bb3loc_402bb3:
    00402bb3mov rax, [rbp-120]
    00402bb7mov [rbp-24], rax
    00402bbbmov [rbp-80], 190
    00402bc3lea rax, [rip+0x2a80e]
    00402bcamov [rbp-72], rax
    00402bcemov edx, 0
    00402bd3mov rax, [rbp-16]
    00402bd7add rax, 1
    00402bdbjno 0x402be2
    00402bddmov edx, 1
    00402be2
    00402be2loc_402be2:
    00402be2mov rcx, rax
    00402be5lea rax, [rbp-128]
    00402be9mov [rax], rcx
    00402becmov rax, rdx
    00402befand eax, 1
    00402bf2test al, al
    00402bf4je 0x402bfb
    00402bf6call raiseOverflow
    00402bfb
    00402bfbloc_402bfb:
    00402bfbmov rax, [rbp-128]
    00402bffmov [rbp-16], rax
    00402c03nop
    00402c04jmp 0x402c92
    00402c09
    00402c09loc_402c09:
    00402c09nop
    00402c0amov [rbp-80], 193
    00402c12lea rax, [rip+0x2a7bf]
    00402c19mov [rbp-72], rax
    00402c1dmov rax, [rbp+32]
    00402c21mov [rbp-24], rax
    00402c25jmp 0x402c92
    00402c27
    00402c27loc_402c27:
    00402c27nop
    00402c28mov [rbp-80], 194
    00402c30lea rax, [rip+0x2a7a1]
    00402c37mov [rbp-72], rax
    00402c3bmov [rbp-27], 0
    00402c3fcmp [rbp-24], 56319
    00402c47setg al
    00402c4amov [rbp-27], al
    00402c4dmovzx eax, [rbp-27]
    00402c51xor eax, 1
    00402c54test al, al
    00402c56jne 0x402c68
    00402c58cmp [rbp-24], 57343
    00402c60setle al
    00402c63mov [rbp-27], al
    00402c66jmp 0x402c69
    00402c68
    00402c68loc_402c68:
    00402c68nop
    00402c69
    00402c69loc_402c69:
    00402c69movzx eax, [rbp-27]
    00402c6dxor eax, 1
    00402c70test al, al
    00402c72jne 0x402c91
    00402c74mov [rbp-80], 196
    00402c7clea rax, [rip+0x2a755]
    00402c83mov [rbp-72], rax
    00402c87mov rax, [rbp+32]
    00402c8bmov [rbp-24], rax
    00402c8fjmp 0x402c92
    00402c91
    00402c91loc_402c91:
    00402c91nop
    00402c92
    00402c92loc_402c92:
    00402c92mov [rbp-80], 198
    00402c9alea rax, [rip+0x2a737]
    00402ca1mov [rbp-72], rax
    00402ca5cmp [rbp-24], 127
    00402caajg 0x402d03
    00402cacmov [rbp-80], 199
    00402cb4lea rax, [rip+0x2a71d]
    00402cbbmov [rbp-72], rax
    00402cbfcmp [rbp-24], 0
    00402cc4js 0x402cd0
    00402cc6cmp [rbp-24], 255
    00402ccejle 0x402ce7
    00402cd0
    00402cd0loc_402cd0:
    00402cd0mov rax, [rbp-24]
    00402cd4mov r8l, 255
    00402cdamov edx, 0
    00402cdfmov rcx, rax
    00402ce2call raiseRangeErrorI
    00402ce7
    00402ce7loc_402ce7:
    00402ce7mov rax, [rbp-24]
    00402cebmovsx edx, al
    00402ceemov rax, [rbp-8]
    00402cf2mov rcx, rax
    00402cf5call addChar
    00402cfamov [rbp-8], rax
    00402cfejmp 0x40318d
    00402d03
    00402d03loc_402d03:
    00402d03nop
    00402d04mov [rbp-80], 200
    00402d0clea rax, [rip+0x2a6c5]
    00402d13mov [rbp-72], rax
    00402d17cmp [rbp-24], 2047
    00402d1fjg 0x402df6
    00402d25mov [rbp-80], 201
    00402d2dlea rax, [rip+0x2a6a4]
    00402d34mov [rbp-72], rax
    00402d38mov rax, [rbp-24]
    00402d3csar rax, 6
    00402d40or al, 192
    00402d42test rax, rax
    00402d45js 0x402d59
    00402d47mov rax, [rbp-24]
    00402d4bsar rax, 6
    00402d4for al, 192
    00402d51cmp rax, 255
    00402d57jle 0x402d76
    00402d59
    00402d59loc_402d59:
    00402d59mov rax, [rbp-24]
    00402d5dsar rax, 6
    00402d61or al, 192
    00402d63mov r8l, 255
    00402d69mov edx, 0
    00402d6emov rcx, rax
    00402d71call raiseRangeErrorI
    00402d76
    00402d76loc_402d76:
    00402d76mov rax, [rbp-24]
    00402d7asar rax, 6
    00402d7eor eax, -64
    00402d81movsx edx, al
    00402d84mov rax, [rbp-8]
    00402d88mov rcx, rax
    00402d8bcall addChar
    00402d90mov [rbp-8], rax
    00402d94mov [rbp-80], 202
    00402d9clea rax, [rip+0x2a635]
    00402da3mov [rbp-72], rax
    00402da7mov rax, [rbp-24]
    00402daband eax, 63
    00402daeor al, 128
    00402db0cmp rax, 255
    00402db6jle 0x402dd4
    00402db8mov rax, [rbp-24]
    00402dbcand eax, 63
    00402dbfor al, 128
    00402dc1mov r8l, 255
    00402dc7mov edx, 0
    00402dccmov rcx, rax
    00402dcfcall raiseRangeErrorI
    00402dd4
    00402dd4loc_402dd4:
    00402dd4mov rax, [rbp-24]
    00402dd8and eax, 63
    00402ddbor eax, -128
    00402ddemovsx edx, al
    00402de1mov rax, [rbp-8]
    00402de5mov rcx, rax
    00402de8call addChar
    00402dedmov [rbp-8], rax
    00402df1jmp 0x40318d
    00402df6
    00402df6loc_402df6:
    00402df6nop
    00402df7mov [rbp-80], 203
    00402dfflea rax, [rip+0x2a5d2]
    00402e06mov [rbp-72], rax
    00402e0acmp [rbp-24], 65535
    00402e12jg 0x402f52
    00402e18mov [rbp-80], 204
    00402e20lea rax, [rip+0x2a5b1]
    00402e27mov [rbp-72], rax
    00402e2bmov rax, [rbp-24]
    00402e2fsar rax, 12
    00402e33or al, 224
    00402e35test rax, rax
    00402e38js 0x402e4c
    00402e3amov rax, [rbp-24]
    00402e3esar rax, 12
    00402e42or al, 224
    00402e44cmp rax, 255
    00402e4ajle 0x402e69
    00402e4c
    00402e4cloc_402e4c:
    00402e4cmov rax, [rbp-24]
    00402e50sar rax, 12
    00402e54or al, 224
    00402e56mov r8l, 255
    00402e5cmov edx, 0
    00402e61mov rcx, rax
    00402e64call raiseRangeErrorI
    00402e69
    00402e69loc_402e69:
    00402e69mov rax, [rbp-24]
    00402e6dsar rax, 12
    00402e71or eax, -32
    00402e74movsx edx, al
    00402e77mov rax, [rbp-8]
    00402e7bmov rcx, rax
    00402e7ecall addChar
    00402e83mov [rbp-8], rax
    00402e87mov [rbp-80], 205
    00402e8flea rax, [rip+0x2a542]
    00402e96mov [rbp-72], rax
    00402e9amov rax, [rbp-24]
    00402e9esar rax, 6
    00402ea2and eax, 63
    00402ea5or al, 128
    00402ea7cmp rax, 255
    00402eadjle 0x402ecf
    00402eafmov rax, [rbp-24]
    00402eb3sar rax, 6
    00402eb7and eax, 63
    00402ebaor al, 128
    00402ebcmov r8l, 255
    00402ec2mov edx, 0
    00402ec7mov rcx, rax
    00402ecacall raiseRangeErrorI
    00402ecf
    00402ecfloc_402ecf:
    00402ecfmov rax, [rbp-24]
    00402ed3sar rax, 6
    00402ed7and eax, 63
    00402edaor eax, -128
    00402eddmovsx edx, al
    00402ee0mov rax, [rbp-8]
    00402ee4mov rcx, rax
    00402ee7call addChar
    00402eecmov [rbp-8], rax
    00402ef0mov [rbp-80], 206
    00402ef8lea rax, [rip+0x2a4d9]
    00402effmov [rbp-72], rax
    00402f03mov rax, [rbp-24]
    00402f07and eax, 63
    00402f0aor al, 128
    00402f0ccmp rax, 255
    00402f12jle 0x402f30
    00402f14mov rax, [rbp-24]
    00402f18and eax, 63
    00402f1bor al, 128
    00402f1dmov r8l, 255
    00402f23mov edx, 0
    00402f28mov rcx, rax
    00402f2bcall raiseRangeErrorI
    00402f30
    00402f30loc_402f30:
    00402f30mov rax, [rbp-24]
    00402f34and eax, 63
    00402f37or eax, -128
    00402f3amovsx edx, al
    00402f3dmov rax, [rbp-8]
    00402f41mov rcx, rax
    00402f44call addChar
    00402f49mov [rbp-8], rax
    00402f4djmp 0x40318d
    00402f52
    00402f52loc_402f52:
    00402f52nop
    00402f53mov [rbp-80], 207
    00402f5blea rax, [rip+0x2a476]
    00402f62mov [rbp-72], rax
    00402f66cmp [rbp-24], 0x10ffff
    00402f6ejg 0x403114
    00402f74mov [rbp-80], 208
    00402f7clea rax, [rip+0x2a455]
    00402f83mov [rbp-72], rax
    00402f87mov rax, [rbp-24]
    00402f8bsar rax, 18
    00402f8for al, 240
    00402f91test rax, rax
    00402f94js 0x402fa8
    00402f96mov rax, [rbp-24]
    00402f9asar rax, 18
    00402f9eor al, 240
    00402fa0cmp rax, 255
    00402fa6jle 0x402fc5
    00402fa8
    00402fa8loc_402fa8:
    00402fa8mov rax, [rbp-24]
    00402facsar rax, 18
    00402fb0or al, 240
    00402fb2mov r8l, 255
    00402fb8mov edx, 0
    00402fbdmov rcx, rax
    00402fc0call raiseRangeErrorI
    00402fc5
    00402fc5loc_402fc5:
    00402fc5mov rax, [rbp-24]
    00402fc9sar rax, 18
    00402fcdor eax, -16
    00402fd0movsx edx, al
    00402fd3mov rax, [rbp-8]
    00402fd7mov rcx, rax
    00402fdacall addChar
    00402fdfmov [rbp-8], rax
    00402fe3mov [rbp-80], 209
    00402feblea rax, [rip+0x2a3e6]
    00402ff2mov [rbp-72], rax
    00402ff6mov rax, [rbp-24]
    00402ffasar rax, 12
    00402ffeand eax, 63
    00403001or al, 128
    00403003cmp rax, 255
    00403009jle 0x40302b
    0040300bmov rax, [rbp-24]
    0040300fsar rax, 12
    00403013and eax, 63
    00403016or al, 128
    00403018mov r8l, 255
    0040301emov edx, 0
    00403023mov rcx, rax
    00403026call raiseRangeErrorI
    0040302b
    0040302bloc_40302b:
    0040302bmov rax, [rbp-24]
    0040302fsar rax, 12
    00403033and eax, 63
    00403036or eax, -128
    00403039movsx edx, al
    0040303cmov rax, [rbp-8]
    00403040mov rcx, rax
    00403043call addChar
    00403048mov [rbp-8], rax
    0040304cmov [rbp-80], 210
    00403054lea rax, [rip+0x2a37d]
    0040305bmov [rbp-72], rax
    0040305fmov rax, [rbp-24]
    00403063sar rax, 6
    00403067and eax, 63
    0040306aor al, 128
    0040306ccmp rax, 255
    00403072jle 0x403094
    00403074mov rax, [rbp-24]
    00403078sar rax, 6
    0040307cand eax, 63
    0040307for al, 128
    00403081mov r8l, 255
    00403087mov edx, 0
    0040308cmov rcx, rax
    0040308fcall raiseRangeErrorI
    00403094
    00403094loc_403094:
    00403094mov rax, [rbp-24]
    00403098sar rax, 6
    0040309cand eax, 63
    0040309for eax, -128
    004030a2movsx edx, al
    004030a5mov rax, [rbp-8]
    004030a9mov rcx, rax
    004030accall addChar
    004030b1mov [rbp-8], rax
    004030b5mov [rbp-80], 211
    004030bdlea rax, [rip+0x2a314]
    004030c4mov [rbp-72], rax
    004030c8mov rax, [rbp-24]
    004030ccand eax, 63
    004030cfor al, 128
    004030d1cmp rax, 255
    004030d7jle 0x4030f5
    004030d9mov rax, [rbp-24]
    004030ddand eax, 63
    004030e0or al, 128
    004030e2mov r8l, 255
    004030e8mov edx, 0
    004030edmov rcx, rax
    004030f0call raiseRangeErrorI
    004030f5
    004030f5loc_4030f5:
    004030f5mov rax, [rbp-24]
    004030f9and eax, 63
    004030fcor eax, -128
    004030ffmovsx edx, al
    00403102mov rax, [rbp-8]
    00403106mov rcx, rax
    00403109call addChar
    0040310emov [rbp-8], rax
    00403112jmp 0x40318d
    00403114
    00403114loc_403114:
    00403114nop
    00403115mov [rbp-80], 214
    0040311dlea rax, [rip+0x2a2b4]
    00403124mov [rbp-72], rax
    00403128mov rax, [rbp-8]
    0040312cmov edx, -17
    00403131mov rcx, rax
    00403134call addChar
    00403139mov [rbp-8], rax
    0040313dmov [rbp-80], 215
    00403145lea rax, [rip+0x2a28c]
    0040314cmov [rbp-72], rax
    00403150mov rax, [rbp-8]
    00403154mov edx, -65
    00403159mov rcx, rax
    0040315ccall addChar
    00403161mov [rbp-8], rax
    00403165mov [rbp-80], 216
    0040316dlea rax, [rip+0x2a264]
    00403174mov [rbp-72], rax
    00403178mov rax, [rbp-8]
    0040317cmov edx, -67
    00403181mov rcx, rax
    00403184call addChar
    00403189mov [rbp-8], rax
    0040318d
    0040318dloc_40318d:
    0040318djmp 0x4029cb
    00403192
    00403192loc_403192:
    00403192nop
    00403193call popFrame
    00403198mov rax, [rbp-8]
    0040319cadd rsp, 160
    004031a3pop rbp
    004031a4ret
    004028d0
    004031a5
    004031a5dollar___systemZwidestrs_324:
    004031a5push rbp
    004031a6mov rbp, rsp
    004031a9sub rsp, 96
    004031admov [rbp+16], rcx
    004031b1lea rax, [rip+0x2a267]
    004031b8mov [rbp-56], rax
    004031bclea rax, [rip+0x2a215]
    004031c3mov [rbp-40], rax
    004031c7mov [rbp-48], 0
    004031cfmov [rbp-32], 0
    004031d5lea rax, [rbp-64]
    004031d9mov rcx, rax
    004031dccall nimFrame
    004031e1mov [rbp-8], 0
    004031e9mov [rbp-48], 219
    004031f1lea rax, [rip+0x2a1e0]
    004031f8mov [rbp-40], rax
    004031fcmov r8l, 65533
    00403202mov edx, 80
    00403207mov rcx, [rbp+16]
    0040320bcall dollar___systemZwidestrs_260
    00403210mov [rbp-8], rax
    00403214call popFrame
    00403219mov rax, [rbp-8]
    0040321dadd rsp, 96
    00403221pop rbp
    00403222ret
    004031a5
    00403223
    00403223Marker_tyRef.4HwedE75WPfqZSQ0Cq2OUg:
    00403223push rbp
    00403224mov rbp, rsp
    00403227sub rsp, 16
    0040322bmov [rbp+16], rcx
    0040322fmov [rbp+24], rdx
    00403233mov rax, [rbp+16]
    00403237mov [rbp-8], rax
    0040323bnop
    0040323cadd rsp, 16
    00403240pop rbp
    00403241ret
    00403223
    00403242
    00403242newWideCString__systemZwidestrs_231:
    00403242push rbp
    00403243sub rsp, 336
    0040324alea rbp, [rsp+128]
    00403252mov [rbp+224], rcx
    00403259mov [rbp+232], rdx
    00403260lea rax, [rip+0x2a1ba]
    00403267mov [rbp+88], rax
    0040326blea rax, [rip+0x2a166]
    00403272mov [rbp+104], rax
    00403276mov [rbp+96], 0
    0040327emov [rbp+112], 0
    00403284lea rax, [rbp+80]
    00403288mov rcx, rax
    0040328bcall nimFrame
    00403290mov [rbp+168], 0
    0040329bmov [rbp+96], 149
    004032a3lea rax, [rip+0x2a12e]
    004032aamov [rbp+104], rax
    004032aemov edx, 0
    004032b3mov rax, [rbp+232]
    004032baimul rax, rax, 2
    004032bejno 0x4032c5
    004032c0mov edx, 1
    004032c5
    004032c5loc_4032c5:
    004032c5mov rcx, rax
    004032c8lea rax, [rbp+144]
    004032cfmov [rax], rcx
    004032d2mov rax, rdx
    004032d5and eax, 1
    004032d8test al, al
    004032daje 0x4032e1
    004032dccall raiseOverflow
    004032e1
    004032e1loc_4032e1:
    004032e1mov rax, [rbp+144]
    004032e8mov edx, 0
    004032edadd rax, 2
    004032f1jno 0x4032f8
    004032f3mov edx, 1
    004032f8
    004032f8loc_4032f8:
    004032f8mov rcx, rax
    004032fblea rax, [rbp+136]
    00403302mov [rax], rcx
    00403305mov rax, rdx
    00403308and eax, 1
    0040330btest al, al
    0040330dje 0x403314
    0040330fcall raiseOverflow
    00403314
    00403314loc_403314:
    00403314mov rax, [rbp+136]
    0040331btest rax, rax
    0040331ejns 0x40333e
    00403320mov rax, [rbp+136]
    00403327mov r8, 0x7fffffffffffffff
    00403331mov edx, 0
    00403336mov rcx, rax
    00403339call raiseRangeErrorI
    0040333e
    0040333eloc_40333e:
    0040333emov rax, [rbp+136]
    00403345mov rdx, rax
    00403348lea rcx, [rip+0x32d31]
    0040334fcall newObj
    00403354mov [rbp+168], rax
    0040335bmov [rbp+96], 150
    00403363lea rax, [rip+0x2a06e]
    0040336amov [rbp+104], rax
    0040336emov [rbp+200], 0
    00403379mov [rbp+160], 0
    00403384mov [rbp+96], 139
    0040338clea rax, [rip+0x2a045]
    00403393mov [rbp+104], rax
    00403397mov [rbp+192], 0
    004033a2mov [rbp+184], 0
    004033admov [rbp+96], 141
    004033b5lea rax, [rip+0x2a01c]
    004033bcmov [rbp+104], rax
    004033c0
    004033c0loc_4033c0:
    004033c0mov rax, [rbp+192]
    004033c7cmp rax, [rbp+232]
    004033cejge 0x403f35
    004033d4mov [rbp+96], 142
    004033dclea rax, [rip+0x29ff5]
    004033e3mov [rbp+104], rax
    004033e7mov [rbp+96], 98
    004033eflea rax, [rip+0x29fe2]
    004033f6mov [rbp+104], rax
    004033famov rdx, [rbp+192]
    00403401mov rax, [rbp+224]
    00403408add rax, rdx
    0040340bmovzx eax, [rax]
    0040340etest al, al
    00403410js 0x40349a
    00403416mov [rbp+96], 99
    0040341elea rax, [rip+0x29fb3]
    00403425mov [rbp+104], rax
    00403429mov rdx, [rbp+192]
    00403430mov rax, [rbp+224]
    00403437add rax, rdx
    0040343amovzx eax, [rax]
    0040343dmovzx eax, al
    00403440mov [rbp+184], rax
    00403447mov [rbp+96], 100
    0040344flea rax, [rip+0x29f82]
    00403456mov [rbp+104], rax
    0040345amov edx, 0
    0040345fmov rax, [rbp+192]
    00403466add rax, 1
    0040346ajno 0x403471
    0040346cmov edx, 1
    00403471
    00403471loc_403471:
    00403471mov rcx, rax
    00403474lea rax, [rbp+64]
    00403478mov [rax], rcx
    0040347bmov rax, rdx
    0040347eand eax, 1
    00403481test al, al
    00403483je 0x40348a
    00403485call raiseOverflow
    0040348a
    0040348aloc_40348a:
    0040348amov rax, [rbp+64]
    0040348emov [rbp+192], rax
    00403495jmp 0x403c14
    0040349a
    0040349aloc_40349a:
    0040349anop
    0040349bmov [rbp+96], 101
    004034a3lea rax, [rip+0x29f2e]
    004034aamov [rbp+104], rax
    004034aemov rdx, [rbp+192]
    004034b5mov rax, [rbp+224]
    004034bcadd rax, rdx
    004034bfmovzx eax, [rax]
    004034c2shr al, 5
    004034c5cmp al, 6
    004034c7jne 0x403671
    004034cdmov [rbp+96], 103
    004034d5lea rax, [rip+0x29efc]
    004034dcmov [rbp+104], rax
    004034e0mov edx, 0
    004034e5mov rax, [rbp+232]
    004034ecsub rax, 2
    004034f0jno 0x4034f7
    004034f2mov edx, 1
    004034f7
    004034f7loc_4034f7:
    004034f7mov rcx, rax
    004034falea rax, [rbp+56]
    004034femov [rax], rcx
    00403501mov rax, rdx
    00403504and eax, 1
    00403507test al, al
    00403509je 0x403510
    0040350bcall raiseOverflow
    00403510
    00403510loc_403510:
    00403510mov rax, [rbp+56]
    00403514cmp [rbp+192], rax
    0040351bjg 0x4035ff
    00403521mov [rbp+96], 104
    00403529lea rax, [rip+0x29ea8]
    00403530mov [rbp+104], rax
    00403534mov edx, 0
    00403539mov rax, [rbp+192]
    00403540add rax, 1
    00403544jno 0x40354b
    00403546mov edx, 1
    0040354b
    0040354bloc_40354b:
    0040354bmov rcx, rax
    0040354elea rax, [rbp+48]
    00403552mov [rax], rcx
    00403555mov rax, rdx
    00403558and eax, 1
    0040355btest al, al
    0040355dje 0x403564
    0040355fcall raiseOverflow
    00403564
    00403564loc_403564:
    00403564mov rdx, [rbp+192]
    0040356bmov rax, [rbp+224]
    00403572add rax, rdx
    00403575movzx eax, [rax]
    00403578movzx eax, al
    0040357bshl rax, 6
    0040357fand eax, 1984
    00403584mov rdx, rax
    00403587mov rax, [rbp+48]
    0040358bmov rcx, rax
    0040358emov rax, [rbp+224]
    00403595add rax, rcx
    00403598movzx eax, [rax]
    0040359bmovzx eax, al
    0040359eand eax, 63
    004035a1or rax, rdx
    004035a4mov [rbp+184], rax
    004035abmov [rbp+96], 105
    004035b3lea rax, [rip+0x29e1e]
    004035bamov [rbp+104], rax
    004035bemov edx, 0
    004035c3mov rax, [rbp+192]
    004035caadd rax, 2
    004035cejno 0x4035d5
    004035d0mov edx, 1
    004035d5
    004035d5loc_4035d5:
    004035d5mov rcx, rax
    004035d8lea rax, [rbp+40]
    004035dcmov [rax], rcx
    004035dfmov rax, rdx
    004035e2and eax, 1
    004035e5test al, al
    004035e7je 0x4035ee
    004035e9call raiseOverflow
    004035ee
    004035eeloc_4035ee:
    004035eemov rax, [rbp+40]
    004035f2mov [rbp+192], rax
    004035f9nop
    004035fajmp 0x403c14
    004035ff
    004035ffloc_4035ff:
    004035ffnop
    00403600mov [rbp+96], 107
    00403608lea rax, [rip+0x29dc9]
    0040360fmov [rbp+104], rax
    00403613mov [rbp+184], 65533
    0040361emov [rbp+96], 108
    00403626lea rax, [rip+0x29dab]
    0040362dmov [rbp+104], rax
    00403631mov edx, 0
    00403636mov rax, [rbp+192]
    0040363dadd rax, 1
    00403641jno 0x403648
    00403643mov edx, 1
    00403648
    00403648loc_403648:
    00403648mov rcx, rax
    0040364blea rax, [rbp+32]
    0040364fmov [rax], rcx
    00403652mov rax, rdx
    00403655and eax, 1
    00403658test al, al
    0040365aje 0x403661
    0040365ccall raiseOverflow
    00403661
    00403661loc_403661:
    00403661mov rax, [rbp+32]
    00403665mov [rbp+192], rax
    0040366cjmp 0x403c14
    00403671
    00403671loc_403671:
    00403671nop
    00403672mov [rbp+96], 109
    0040367alea rax, [rip+0x29d57]
    00403681mov [rbp+104], rax
    00403685mov rdx, [rbp+192]
    0040368cmov rax, [rbp+224]
    00403693add rax, rdx
    00403696movzx eax, [rax]
    00403699shr al, 4
    0040369ccmp al, 14
    0040369ejne 0x4038ce
    004036a4mov [rbp+96], 110
    004036aclea rax, [rip+0x29d25]
    004036b3mov [rbp+104], rax
    004036b7mov edx, 0
    004036bcmov rax, [rbp+232]
    004036c3sub rax, 3
    004036c7jno 0x4036ce
    004036c9mov edx, 1
    004036ce
    004036celoc_4036ce:
    004036cemov rcx, rax
    004036d1lea rax, [rbp+24]
    004036d5mov [rax], rcx
    004036d8mov rax, rdx
    004036dband eax, 1
    004036detest al, al
    004036e0je 0x4036e7
    004036e2call raiseOverflow
    004036e7
    004036e7loc_4036e7:
    004036e7mov rax, [rbp+24]
    004036ebcmp [rbp+192], rax
    004036f2jg 0x40385c
    004036f8mov [rbp+96], 114
    00403700lea rax, [rip+0x29cd1]
    00403707mov [rbp+104], rax
    0040370bmov [rbp+96], 113
    00403713lea rax, [rip+0x29cbe]
    0040371amov [rbp+104], rax
    0040371emov [rbp+96], 114
    00403726lea rax, [rip+0x29cab]
    0040372dmov [rbp+104], rax
    00403731mov edx, 0
    00403736mov rax, [rbp+192]
    0040373dadd rax, 1
    00403741jno 0x403748
    00403743mov edx, 1
    00403748
    00403748loc_403748:
    00403748mov rcx, rax
    0040374blea rax, [rbp+16]
    0040374fmov [rax], rcx
    00403752mov rax, rdx
    00403755and eax, 1
    00403758test al, al
    0040375aje 0x403761
    0040375ccall raiseOverflow
    00403761
    00403761loc_403761:
    00403761mov [rbp+96], 115
    00403769lea rax, [rip+0x29c68]
    00403770mov [rbp+104], rax
    00403774mov edx, 0
    00403779mov rax, [rbp+192]
    00403780add rax, 2
    00403784jno 0x40378b
    00403786mov edx, 1
    0040378b
    0040378bloc_40378b:
    0040378bmov rcx, rax
    0040378elea rax, [rbp+8]
    00403792mov [rax], rcx
    00403795mov rax, rdx
    00403798and eax, 1
    0040379btest al, al
    0040379dje 0x4037a4
    0040379fcall raiseOverflow
    004037a4
    004037a4loc_4037a4:
    004037a4mov rdx, [rbp+192]
    004037abmov rax, [rbp+224]
    004037b2add rax, rdx
    004037b5movzx eax, [rax]
    004037b8movzx eax, al
    004037bbshl rax, 12
    004037bfmovzx edx, ax
    004037c2mov rax, [rbp+16]
    004037c6mov rcx, rax
    004037c9mov rax, [rbp+224]
    004037d0add rax, rcx
    004037d3movzx eax, [rax]
    004037d6movzx eax, al
    004037d9shl rax, 6
    004037ddand eax, 4032
    004037e2or rdx, rax
    004037e5mov rax, [rbp+8]
    004037e9mov rcx, rax
    004037ecmov rax, [rbp+224]
    004037f3add rax, rcx
    004037f6movzx eax, [rax]
    004037f9movzx eax, al
    004037fcand eax, 63
    004037ffor rax, rdx
    00403802mov [rbp+184], rax
    00403809mov [rbp+96], 116
    00403811lea rax, [rip+0x29bc0]
    00403818mov [rbp+104], rax
    0040381cmov edx, 0
    00403821mov rax, [rbp+192]
    00403828add rax, 3
    0040382cjno 0x403833
    0040382emov edx, 1
    00403833
    00403833loc_403833:
    00403833mov rcx, rax
    00403836mov rax, rbp
    00403839mov [rax], rcx
    0040383cmov rax, rdx
    0040383fand eax, 1
    00403842test al, al
    00403844je 0x40384b
    00403846call raiseOverflow
    0040384b
    0040384bloc_40384b:
    0040384bmov rax, [rbp]
    0040384fmov [rbp+192], rax
    00403856nop
    00403857jmp 0x403c14
    0040385c
    0040385cloc_40385c:
    0040385cnop
    0040385dmov [rbp+96], 118
    00403865lea rax, [rip+0x29b6c]
    0040386cmov [rbp+104], rax
    00403870mov [rbp+184], 65533
    0040387bmov [rbp+96], 119
    00403883lea rax, [rip+0x29b4e]
    0040388amov [rbp+104], rax
    0040388emov edx, 0
    00403893mov rax, [rbp+192]
    0040389aadd rax, 1
    0040389ejno 0x4038a5
    004038a0mov edx, 1
    004038a5
    004038a5loc_4038a5:
    004038a5mov rcx, rax
    004038a8lea rax, [rbp-8]
    004038acmov [rax], rcx
    004038afmov rax, rdx
    004038b2and eax, 1
    004038b5test al, al
    004038b7je 0x4038be
    004038b9call raiseOverflow
    004038be
    004038beloc_4038be:
    004038bemov rax, [rbp-8]
    004038c2mov [rbp+192], rax
    004038c9jmp 0x403c14
    004038ce
    004038celoc_4038ce:
    004038cenop
    004038cfmov [rbp+96], 120
    004038d7lea rax, [rip+0x29afa]
    004038demov [rbp+104], rax
    004038e2mov rdx, [rbp+192]
    004038e9mov rax, [rbp+224]
    004038f0add rax, rdx
    004038f3movzx eax, [rax]
    004038f6shr al, 3
    004038f9cmp al, 30
    004038fbjne 0x403ba7
    00403901mov [rbp+96], 121
    00403909lea rax, [rip+0x29ac8]
    00403910mov [rbp+104], rax
    00403914mov edx, 0
    00403919mov rax, [rbp+232]
    00403920sub rax, 4
    00403924jno 0x40392b
    00403926mov edx, 1
    0040392b
    0040392bloc_40392b:
    0040392bmov rcx, rax
    0040392elea rax, [rbp-16]
    00403932mov [rax], rcx
    00403935mov rax, rdx
    00403938and eax, 1
    0040393btest al, al
    0040393dje 0x403944
    0040393fcall raiseOverflow
    00403944
    00403944loc_403944:
    00403944mov rax, [rbp-16]
    00403948cmp [rbp+192], rax
    0040394fjg 0x403b38
    00403955mov [rbp+96], 127
    0040395dlea rax, [rip+0x29a74]
    00403964mov [rbp+104], rax
    00403968mov [rbp+96], 126
    00403970lea rax, [rip+0x29a61]
    00403977mov [rbp+104], rax
    0040397bmov [rbp+96], 125
    00403983lea rax, [rip+0x29a4e]
    0040398amov [rbp+104], rax
    0040398emov [rbp+96], 126
    00403996lea rax, [rip+0x29a3b]
    0040399dmov [rbp+104], rax
    004039a1mov edx, 0
    004039a6mov rax, [rbp+192]
    004039adadd rax, 1
    004039b1jno 0x4039b8
    004039b3mov edx, 1
    004039b8
    004039b8loc_4039b8:
    004039b8mov rcx, rax
    004039bblea rax, [rbp-24]
    004039bfmov [rax], rcx
    004039c2mov rax, rdx
    004039c5and eax, 1
    004039c8test al, al
    004039caje 0x4039d1
    004039cccall raiseOverflow
    004039d1
    004039d1loc_4039d1:
    004039d1mov [rbp+96], 127
    004039d9lea rax, [rip+0x299f8]
    004039e0mov [rbp+104], rax
    004039e4mov edx, 0
    004039e9mov rax, [rbp+192]
    004039f0add rax, 2
    004039f4jno 0x4039fb
    004039f6mov edx, 1
    004039fb
    004039fbloc_4039fb:
    004039fbmov rcx, rax
    004039felea rax, [rbp-32]
    00403a02mov [rax], rcx
    00403a05mov rax, rdx
    00403a08and eax, 1
    00403a0btest al, al
    00403a0dje 0x403a14
    00403a0fcall raiseOverflow
    00403a14
    00403a14loc_403a14:
    00403a14mov [rbp+96], 128
    00403a1clea rax, [rip+0x299b5]
    00403a23mov [rbp+104], rax
    00403a27mov edx, 0
    00403a2cmov rax, [rbp+192]
    00403a33add rax, 3
    00403a37jno 0x403a3e
    00403a39mov edx, 1
    00403a3e
    00403a3eloc_403a3e:
    00403a3emov rcx, rax
    00403a41lea rax, [rbp-40]
    00403a45mov [rax], rcx
    00403a48mov rax, rdx
    00403a4band eax, 1
    00403a4etest al, al
    00403a50je 0x403a57
    00403a52call raiseOverflow
    00403a57
    00403a57loc_403a57:
    00403a57mov rdx, [rbp+192]
    00403a5emov rax, [rbp+224]
    00403a65add rax, rdx
    00403a68movzx eax, [rax]
    00403a6bmovzx eax, al
    00403a6eshl rax, 18
    00403a72and eax, 0x1c0000
    00403a77mov rdx, rax
    00403a7amov rax, [rbp-24]
    00403a7emov rcx, rax
    00403a81mov rax, [rbp+224]
    00403a88add rax, rcx
    00403a8bmovzx eax, [rax]
    00403a8emovzx eax, al
    00403a91shl rax, 12
    00403a95and eax, 0x3f000
    00403a9aor rdx, rax
    00403a9dmov rax, [rbp-32]
    00403aa1mov rcx, rax
    00403aa4mov rax, [rbp+224]
    00403aabadd rax, rcx
    00403aaemovzx eax, [rax]
    00403ab1movzx eax, al
    00403ab4shl rax, 6
    00403ab8and eax, 4032
    00403abdor rdx, rax
    00403ac0mov rax, [rbp-40]
    00403ac4mov rcx, rax
    00403ac7mov rax, [rbp+224]
    00403aceadd rax, rcx
    00403ad1movzx eax, [rax]
    00403ad4movzx eax, al
    00403ad7and eax, 63
    00403adaor rax, rdx
    00403addmov [rbp+184], rax
    00403ae4mov [rbp+96], 129
    00403aeclea rax, [rip+0x298e5]
    00403af3mov [rbp+104], rax
    00403af7mov edx, 0
    00403afcmov rax, [rbp+192]
    00403b03add rax, 4
    00403b07jno 0x403b0e
    00403b09mov edx, 1
    00403b0e
    00403b0eloc_403b0e:
    00403b0emov rcx, rax
    00403b11lea rax, [rbp-48]
    00403b15mov [rax], rcx
    00403b18mov rax, rdx
    00403b1band eax, 1
    00403b1etest al, al
    00403b20je 0x403b27
    00403b22call raiseOverflow
    00403b27
    00403b27loc_403b27:
    00403b27mov rax, [rbp-48]
    00403b2bmov [rbp+192], rax
    00403b32nop
    00403b33jmp 0x403c14
    00403b38
    00403b38loc_403b38:
    00403b38nop
    00403b39mov [rbp+96], 131
    00403b41lea rax, [rip+0x29890]
    00403b48mov [rbp+104], rax
    00403b4cmov [rbp+184], 65533
    00403b57mov [rbp+96], 132
    00403b5flea rax, [rip+0x29872]
    00403b66mov [rbp+104], rax
    00403b6amov edx, 0
    00403b6fmov rax, [rbp+192]
    00403b76add rax, 1
    00403b7ajno 0x403b81
    00403b7cmov edx, 1
    00403b81
    00403b81loc_403b81:
    00403b81mov rcx, rax
    00403b84lea rax, [rbp-56]
    00403b88mov [rax], rcx
    00403b8bmov rax, rdx
    00403b8eand eax, 1
    00403b91test al, al
    00403b93je 0x403b9a
    00403b95call raiseOverflow
    00403b9a
    00403b9aloc_403b9a:
    00403b9amov rax, [rbp-56]
    00403b9emov [rbp+192], rax
    00403ba5jmp 0x403c14
    00403ba7
    00403ba7loc_403ba7:
    00403ba7nop
    00403ba8mov [rbp+96], 134
    00403bb0lea rax, [rip+0x29821]
    00403bb7mov [rbp+104], rax
    00403bbbmov [rbp+184], 65533
    00403bc6mov [rbp+96], 135
    00403bcelea rax, [rip+0x29803]
    00403bd5mov [rbp+104], rax
    00403bd9mov edx, 0
    00403bdemov rax, [rbp+192]
    00403be5add rax, 1
    00403be9jno 0x403bf0
    00403bebmov edx, 1
    00403bf0
    00403bf0loc_403bf0:
    00403bf0mov rcx, rax
    00403bf3lea rax, [rbp-64]
    00403bf7mov [rax], rcx
    00403bfamov rax, rdx
    00403bfdand eax, 1
    00403c00test al, al
    00403c02je 0x403c09
    00403c04call raiseOverflow
    00403c09
    00403c09loc_403c09:
    00403c09mov rax, [rbp-64]
    00403c0dmov [rbp+192], rax
    00403c14
    00403c14loc_403c14:
    00403c14mov [rbp+96], 151
    00403c1clea rax, [rip+0x297b5]
    00403c23mov [rbp+104], rax
    00403c27mov rax, [rbp+184]
    00403c2emov [rbp+160], rax
    00403c35mov [rbp+96], 153
    00403c3dlea rax, [rip+0x29794]
    00403c44mov [rbp+104], rax
    00403c48cmp [rbp+160], 65535
    00403c53jg 0x403d25
    00403c59mov [rbp+96], 154
    00403c61lea rax, [rip+0x29770]
    00403c68mov [rbp+104], rax
    00403c6cmov [rbp+183], 0
    00403c73cmp [rbp+160], 55295
    00403c7esetg al
    00403c81mov [rbp+183], al
    00403c87movzx eax, [rbp+183]
    00403c8exor eax, 1
    00403c91test al, al
    00403c93jne 0x403cab
    00403c95cmp [rbp+160], 57343
    00403ca0setle al
    00403ca3mov [rbp+183], al
    00403ca9jmp 0x403cac
    00403cab
    00403cabloc_403cab:
    00403cabnop
    00403cac
    00403cacloc_403cac:
    00403cacmovzx eax, [rbp+183]
    00403cb3xor eax, 1
    00403cb6test al, al
    00403cb8jne 0x403ced
    00403cbamov [rbp+96], 155
    00403cc2lea rax, [rip+0x2970f]
    00403cc9mov [rbp+104], rax
    00403ccdmov rax, [rbp+200]
    00403cd4lea rdx, [rax+rax]
    00403cd8mov rax, [rbp+168]
    00403cdfadd rax, rdx
    00403ce2mov [rax], -3
    00403ce7nop
    00403ce8jmp 0x403ee2
    00403ced
    00403cedloc_403ced:
    00403cednop
    00403ceemov [rbp+96], 157
    00403cf6lea rax, [rip+0x296db]
    00403cfdmov [rbp+104], rax
    00403d01mov rax, [rbp+200]
    00403d08lea rdx, [rax+rax]
    00403d0cmov rax, [rbp+168]
    00403d13add rax, rdx
    00403d16mov rdx, [rbp+160]
    00403d1dmov [rax], dx
    00403d20jmp 0x403ee2
    00403d25
    00403d25loc_403d25:
    00403d25nop
    00403d26mov [rbp+96], 158
    00403d2elea rax, [rip+0x296a3]
    00403d35mov [rbp+104], rax
    00403d39cmp [rbp+160], 0x10ffff
    00403d44jle 0x403d78
    00403d46mov [rbp+96], 159
    00403d4elea rax, [rip+0x29683]
    00403d55mov [rbp+104], rax
    00403d59mov rax, [rbp+200]
    00403d60lea rdx, [rax+rax]
    00403d64mov rax, [rbp+168]
    00403d6badd rax, rdx
    00403d6emov [rax], -3
    00403d73jmp 0x403ee2
    00403d78
    00403d78loc_403d78:
    00403d78nop
    00403d79mov [rbp+96], 161
    00403d81lea rax, [rip+0x29650]
    00403d88mov [rbp+104], rax
    00403d8cmov edx, 0
    00403d91mov rax, [rbp+160]
    00403d98sub rax, 0x10000
    00403d9ejno 0x403da5
    00403da0mov edx, 1
    00403da5
    00403da5loc_403da5:
    00403da5mov rcx, rax
    00403da8lea rax, [rbp-72]
    00403dacmov [rax], rcx
    00403dafmov rax, rdx
    00403db2and eax, 1
    00403db5test al, al
    00403db7je 0x403dbe
    00403db9call raiseOverflow
    00403dbe
    00403dbeloc_403dbe:
    00403dbemov rax, [rbp-72]
    00403dc2mov [rbp+152], rax
    00403dc9mov [rbp+96], 162
    00403dd1lea rax, [rip+0x29600]
    00403dd8mov [rbp+104], rax
    00403ddcmov rax, [rbp+152]
    00403de3sar rax, 10
    00403de7mov edx, 0
    00403decadd rax, 55296
    00403df2jno 0x403df9
    00403df4mov edx, 1
    00403df9
    00403df9loc_403df9:
    00403df9mov rcx, rax
    00403dfclea rax, [rbp-80]
    00403e00mov [rax], rcx
    00403e03mov rax, rdx
    00403e06and eax, 1
    00403e09test al, al
    00403e0bje 0x403e12
    00403e0dcall raiseOverflow
    00403e12
    00403e12loc_403e12:
    00403e12mov rdx, [rbp-80]
    00403e16mov rax, [rbp+200]
    00403e1dlea rcx, [rax+rax]
    00403e21mov rax, [rbp+168]
    00403e28add rax, rcx
    00403e2bmov [rax], dx
    00403e2emov [rbp+96], 163
    00403e36lea rax, [rip+0x2959b]
    00403e3dmov [rbp+104], rax
    00403e41mov edx, 0
    00403e46mov rax, [rbp+200]
    00403e4dadd rax, 1
    00403e51jno 0x403e58
    00403e53mov edx, 1
    00403e58
    00403e58loc_403e58:
    00403e58mov rcx, rax
    00403e5blea rax, [rbp-88]
    00403e5fmov [rax], rcx
    00403e62mov rax, rdx
    00403e65and eax, 1
    00403e68test al, al
    00403e6aje 0x403e71
    00403e6ccall raiseOverflow
    00403e71
    00403e71loc_403e71:
    00403e71mov rax, [rbp-88]
    00403e75mov [rbp+200], rax
    00403e7cmov [rbp+96], 164
    00403e84lea rax, [rip+0x2954d]
    00403e8bmov [rbp+104], rax
    00403e8fmov rax, [rbp+152]
    00403e96and eax, 1023
    00403e9bmov edx, 0
    00403ea0add rax, 56320
    00403ea6jno 0x403ead
    00403ea8mov edx, 1
    00403ead
    00403eadloc_403ead:
    00403eadmov rcx, rax
    00403eb0lea rax, [rbp-96]
    00403eb4mov [rax], rcx
    00403eb7mov rax, rdx
    00403ebaand eax, 1
    00403ebdtest al, al
    00403ebfje 0x403ec6
    00403ec1call raiseOverflow
    00403ec6
    00403ec6loc_403ec6:
    00403ec6mov rdx, [rbp-96]
    00403ecamov rax, [rbp+200]
    00403ed1lea rcx, [rax+rax]
    00403ed5mov rax, [rbp+168]
    00403edcadd rax, rcx
    00403edfmov [rax], dx
    00403ee2
    00403ee2loc_403ee2:
    00403ee2mov [rbp+96], 151
    00403eealea rax, [rip+0x294e7]
    00403ef1mov [rbp+104], rax
    00403ef5mov edx, 0
    00403efamov rax, [rbp+200]
    00403f01add rax, 1
    00403f05jno 0x403f0c
    00403f07mov edx, 1
    00403f0c
    00403f0cloc_403f0c:
    00403f0cmov rcx, rax
    00403f0flea rax, [rbp+72]
    00403f13mov [rax], rcx
    00403f16mov rax, rdx
    00403f19and eax, 1
    00403f1ctest al, al
    00403f1eje 0x403f25
    00403f20call raiseOverflow
    00403f25
    00403f25loc_403f25:
    00403f25mov rax, [rbp+72]
    00403f29mov [rbp+200], rax
    00403f30jmp 0x4033c0
    00403f35
    00403f35loc_403f35:
    00403f35nop
    00403f36mov [rbp+96], 166
    00403f3elea rax, [rip+0x29493]
    00403f45mov [rbp+104], rax
    00403f49mov rax, [rbp+200]
    00403f50lea rdx, [rax+rax]
    00403f54mov rax, [rbp+168]
    00403f5badd rax, rdx
    00403f5emov [rax], 0
    00403f63call popFrame
    00403f68mov rax, [rbp+168]
    00403f6fadd rsp, 336
    00403f76pop rbp
    00403f77ret
    00403242