File nimblackout_cdcb61a30a7792894fa45c1f0889c58ec8799e5c06ad9690f7fc38be12dea221.exe
Function:
    00401190
    00401190__tmainCRTStartup:
    00401190push r13
    00401192push r12
    00401194push rbp
    00401195push rdi
    00401196push rsi
    00401197push rbx
    00401198sub rsp, 152
    0040119fmov ecx, 13
    004011a4xor eax, eax
    004011a6lea r8, [rsp+32]
    004011abmov rdi, r8
    004011aerep stosq [rdi], rax
    004011b1mov rdi, [rip+0x2ffd8]
    004011b8mov r9l, [rdi]
    004011bbtest r9l, r9l
    004011bejne 0x401460
    004011c4
    004011c4loc_4011c4:
    004011c4mov rax, [0x30]
    004011cdmov rbx, [rip+0x2feac]
    004011d4mov rsi, [rax+8]
    004011d8xor ebp, ebp
    004011damov r12, [rip+0x480a3]
    004011e1jmp 0x4011f9
    004011e3
    004011e3 0f 1f 44 00 00 ..D..
    004011e8
    004011e8loc_4011e8:
    004011e8cmp rsi, rax
    004011ebje 0x401408
    004011f1mov ecx, 1000
    004011f6call r12
    004011f9
    004011f9loc_4011f9:
    004011f9mov rax, rbp
    004011fclock cmpxchg [rbx], rsi
    00401201test rax, rax
    00401204jne 0x4011e8
    00401206mov rsi, [rip+0x2fe83]
    0040120dxor ebp, ebp
    0040120fmov eax, [rsi]
    00401211cmp eax, 1
    00401214je 0x40141f
    0040121a
    0040121aloc_40121a:
    0040121amov eax, [rsi]
    0040121ctest eax, eax
    0040121eje 0x401490
    00401224mov [rip+0x34dee], 1
    0040122e
    0040122eloc_40122e:
    0040122emov eax, [rsi]
    00401230cmp eax, 1
    00401233je 0x401434
    00401239
    00401239loc_401239:
    00401239test ebp, ebp
    0040123bje 0x401455
    00401241
    00401241loc_401241:
    00401241mov rax, [rip+0x2fdc8]
    00401248mov rax, [rax]
    0040124btest rax, rax
    0040124eje 0x40125c
    00401250xor r8l, r8l
    00401253mov edx, 2
    00401258xor ecx, ecx
    0040125acall rax
    0040125c
    0040125cloc_40125c:
    0040125ccall _pei386_runtime_relocator
    00401261lea rcx, [rip+0x240c8]
    00401268call [rip+0x4800e]
    0040126emov rdx, [rip+0x2fdfb]
    00401275lea rcx, [rip-636]
    0040127cmov [rdx], rax
    0040127fcall _set_invalid_parameter_handler
    00401284call fpreset
    00401289mov rax, [rip+0x2fd90]
    00401290mov [rip+0x34d79], rax
    00401297call __p__acmdln
    0040129cxor ecx, ecx
    0040129emov rax, [rax]
    004012a1test rax, rax
    004012a4jne 0x4012c2
    004012a6jmp 0x401300
    004012a8
    004012a8 0f 1f 84 00 00 00 00 00 ........
    004012b0
    004012b0loc_4012b0:
    004012b0test dl, dl
    004012b2je 0x4012f9
    004012b4and ecx, 1
    004012b7je 0x4012e0
    004012b9mov ecx, 1
    004012be
    004012beloc_4012be:
    004012beadd rax, 1
    004012c2
    004012c2loc_4012c2:
    004012c2movzx edx, [rax]
    004012c5cmp dl, 32
    004012c8jle 0x4012b0
    004012camov r8l, ecx
    004012cdxor r8l, 1
    004012d1cmp dl, 34
    004012d4cmove ecx, r8l
    004012d8jmp 0x4012be
    004012da
    004012da 66 0f 1f 44 00 00 f..D..
    004012e0
    004012e0loc_4012e0:
    004012e0test dl, dl
    004012e2je 0x4012f9
    004012e4nop [rax]
    004012e8
    004012e8loc_4012e8:
    004012e8movzx edx, [rax+1]
    004012ecadd rax, 1
    004012f0test dl, dl
    004012f2je 0x4012f9
    004012f4cmp dl, 32
    004012f7jle 0x4012e8
    004012f9
    004012f9loc_4012f9:
    004012f9mov [rip+0x34d08], rax
    00401300
    00401300loc_401300:
    00401300mov r8l, [rdi]
    00401303test r8l, r8l
    00401306je 0x40131e
    00401308mov eax, 10
    0040130dtest [rsp+92], 1
    00401312jne 0x4013f8
    00401318
    00401318loc_401318:
    00401318mov [rip+0x2ace2], eax
    0040131e
    0040131eloc_40131e:
    0040131emovsxd rbp, [rip+0x34d13]
    00401325lea r12l, [rbp+1]
    00401329movsxd r12, r12l
    0040132cshl r12, 3
    00401330mov rcx, r12
    00401333call malloc
    00401338mov r13, [rip+0x34cf1]
    0040133fmov rdi, rax
    00401342test ebp, ebp
    00401344jle 0x401388
    00401346xor ebx, ebx
    00401348nop [rax+rax]
    00401350
    00401350loc_401350:
    00401350mov rcx, [r13+8*rbx]
    00401355call strlen
    0040135alea rsi, [rax+1]
    0040135emov rcx, rsi
    00401361call malloc
    00401366mov r8, rsi
    00401369mov [rdi+8*rbx], rax
    0040136dmov rdx, [r13+8*rbx]
    00401372mov rcx, rax
    00401375add rbx, 1
    00401379call memcpy
    0040137ecmp rbp, rbx
    00401381jne 0x401350
    00401383lea rax, [rdi+r12-8]
    00401388
    00401388loc_401388:
    00401388mov [rax], 0
    0040138fmov [rip+0x34c9a], rdi
    00401396call __main
    0040139bmov rax, [rip+0x2fc8e]
    004013a2mov r8, [rip+0x34c7f]
    004013a9mov ecx, [rip+0x34c89]
    004013afmov rax, [rax]
    004013b2mov [rax], r8
    004013b5mov rdx, [rip+0x34c74]
    004013bccall main
    004013c1mov ecx, [rip+0x34c59]
    004013c7mov [rip+0x34c57], eax
    004013cdtest ecx, ecx
    004013cfje 0x4014ae
    004013d5mov edx, [rip+0x34c41]
    004013dbtest edx, edx
    004013ddje 0x401470
    004013e3add rsp, 152
    004013eapop rbx
    004013ebpop rsi
    004013ecpop rdi
    004013edpop rbp
    004013eepop r12
    004013f0pop r13
    004013f2ret
    004013f3
    004013f3 0f 1f 44 00 00 ..D..
    004013f8
    004013f8loc_4013f8:
    004013f8movzx eax, [rsp+96]
    004013fdjmp 0x401318
    00401402
    00401402 66 0f 1f 44 00 00 f..D..
    00401408
    00401408loc_401408:
    00401408mov rsi, [rip+0x2fc81]
    0040140fmov ebp, 1
    00401414mov eax, [rsi]
    00401416cmp eax, 1
    00401419jne 0x40121a
    0040141f
    0040141floc_40141f:
    0040141fmov ecx, 31
    00401424call _amsg_exit
    00401429mov eax, [rsi]
    0040142bcmp eax, 1
    0040142ejne 0x401239
    00401434
    00401434loc_401434:
    00401434mov rdx, [rip+0x2fc85]
    0040143bmov rcx, [rip+0x2fc6e]
    00401442call _initterm
    00401447mov [rsi], 2
    0040144dtest ebp, ebp
    0040144fjne 0x401241
    00401455
    00401455loc_401455:
    00401455xor eax, eax
    00401457xchg [rbx], rax
    0040145ajmp 0x401241
    0040145f
    0040145f 90 .
    00401460
    00401460loc_401460:
    00401460mov rcx, r8
    00401463call [rip+0x47de3]
    00401469jmp 0x4011c4
    0040146e
    0040146e 66 90 f.
    00401470
    00401470loc_401470:
    00401470call _cexit
    00401475mov eax, [rip+0x34ba9]
    0040147badd rsp, 152
    00401482pop rbx
    00401483pop rsi
    00401484pop rdi
    00401485pop rbp
    00401486pop r12
    00401488pop r13
    0040148aret
    0040148b
    0040148b 0f 1f 44 00 00 ..D..
    00401490
    00401490loc_401490:
    00401490mov rdx, [rip+0x2fc49]
    00401497mov rcx, [rip+0x2fc32]
    0040149emov [rsi], 1
    004014a4call _initterm
    004014a9jmp 0x40122e
    004014ae
    004014aeloc_4014ae:
    004014aemov ecx, eax
    004014b0call exit
    004014b5nop
    00401190
    004014b6
    004014b6 // align 0x10
    004014c0
    004014c0WinMainCRTStartup:
    004014c0sub rsp, 40
    004014c4mov rax, [rip+0x2fcc5]
    004014cbmov [rax], 1
    004014d1call __tmainCRTStartup
    004014d6nop
    004014d7nop
    004014d8add rsp, 40
    004014dcret
    004014c0
    004014dd
    004014dd // align 0x10
    004014e0
    004014e0mainCRTStartup:
    004014e0sub rsp, 40
    004014e4mov rax, [rip+0x2fca5]
    004014ebmov [rax], 0
    004014f1call __tmainCRTStartup
    004014f6nop
    004014f7nop
    004014f8add rsp, 40
    004014fcret
    004014e0
    004014fd
    004014fd // align 0x10
    00401500
    00401500atexit:
    00401500sub rsp, 40
    00401504call _onexit
    00401509test rax, rax
    0040150csete al
    0040150fmovzx eax, al
    00401512neg eax
    00401514add rsp, 40
    00401518ret
    00401500
    00401519
    00401519 // align 0x10
    00401520
    00401520__gcc_register_frame:
    00401520lea rcx, [rip+9]
    00401527jmp 0x401500
    00401520
    0040152c
    0040152c // align 0x10
    00401530
    00401530__gcc_deregister_frame:
    00401530ret
    00401530
    00401531
    00401531 // align 0x10
    00401540
    00401540c_setjmp__systemZansi95c_42:
    00401540push rbp
    00401541mov rbp, rsp
    00401544sub rsp, 48
    00401548mov [rbp+16], rcx
    0040154cmov [rbp-4], 0
    00401553mov edx, 0
    00401558mov rcx, [rbp+16]
    0040155ccall _setjmp
    00401561mov [rbp-4], eax
    00401564mov eax, [rbp-4]
    00401567add rsp, 48
    0040156bpop rbp
    0040156cret
    00401540
    0040156d
    0040156d // align 0x10
    00401570
    00401570nimCopyMem:
    00401570push rbp
    00401571mov rbp, rsp
    00401574sub rsp, 48
    00401578mov [rbp+16], rcx
    0040157cmov [rbp+24], rdx
    00401580mov [rbp+32], r8
    00401584mov [rbp-8], 0
    0040158cmov rdx, [rbp+32]
    00401590mov rax, [rbp+24]
    00401594mov r8, rdx
    00401597mov rdx, rax
    0040159amov rcx, [rbp+16]
    0040159ecall memcpy
    004015a3mov [rbp-8], rax
    004015a7nop
    004015a8add rsp, 48
    004015acpop rbp
    004015adret
    00401570
    004015ae
    004015aecopyMem__system_1727:
    004015aepush rbp
    004015afmov rbp, rsp
    004015b2sub rsp, 32
    004015b6mov [rbp+16], rcx
    004015bamov [rbp+24], rdx
    004015bemov [rbp+32], r8
    004015c2mov rdx, [rbp+32]
    004015c6mov rax, [rbp+24]
    004015camov r8, rdx
    004015cdmov rdx, rax
    004015d0mov rcx, [rbp+16]
    004015d4call nimCopyMem
    004015d9nop
    004015daadd rsp, 32
    004015depop rbp
    004015dfret
    004015ae
    004015e0
    004015e0nimFrame:
    004015e0push rbp
    004015e1mov rbp, rsp
    004015e4sub rsp, 32
    004015e8mov [rbp+16], rcx
    004015ecmov rax, [rip+0x2fb7d]
    004015f3mov rax, [rax]
    004015f6test rax, rax
    004015f9jne 0x401607
    004015fbmov rax, [rbp+16]
    004015ffmov [rax+34], 0
    00401605jmp 0x401623
    00401607
    00401607loc_401607:
    00401607nop
    00401608mov rax, [rip+0x2fb61]
    0040160fmov rax, [rax]
    00401612movzx eax, [rax+34]
    00401616add eax, 1
    00401619mov edx, eax
    0040161bmov rax, [rbp+16]
    0040161fmov [rax+34], dx
    00401623
    00401623loc_401623:
    00401623mov rax, [rip+0x2fb46]
    0040162amov rdx, [rax]
    0040162dmov rax, [rbp+16]
    00401631mov [rax], rdx
    00401634mov rax, [rip+0x2fb35]
    0040163bmov rdx, [rbp+16]
    0040163fmov [rax], rdx
    00401642mov rax, [rbp+16]
    00401646movzx eax, [rax+34]
    0040164acmp ax, 2000
    0040164ejne 0x401657
    00401650call callDepthLimitReached__system_2999
    00401655jmp 0x401658
    00401657
    00401657loc_401657:
    00401657nop
    00401658
    00401658loc_401658:
    00401658nop
    00401659add rsp, 32
    0040165dpop rbp
    0040165eret
    004015e0
    0040165f
    0040165fpopFrame:
    0040165fpush rbp
    00401660mov rbp, rsp
    00401663mov rax, [rip+0x2fb06]
    0040166amov rax, [rax]
    0040166dmov rdx, [rax]
    00401670mov rax, [rip+0x2faf9]
    00401677mov [rax], rdx
    0040167anop
    0040167bpop rbp
    0040167cret
    0040165f
    0040167d
    0040167daddChars__stdZprivateZdigitsutils_100:
    0040167dpush rbp
    0040167emov rbp, rsp
    00401681sub rsp, 96
    00401685mov [rbp+16], rcx
    00401689mov [rbp+24], rdx
    0040168dmov [rbp+32], r8
    00401691mov [rbp+40], r9
    00401695lea rax, [rip+0x2ba2c]
    0040169cmov [rbp-56], rax
    004016a0lea rax, [rip+0x2ba31]
    004016a7mov [rbp-40], rax
    004016abmov [rbp-48], 0
    004016b3mov [rbp-32], 0
    004016b9lea rax, [rbp-64]
    004016bdmov rcx, rax
    004016c0call nimFrame
    004016c5mov [rbp-48], 43
    004016cdlea rax, [rip+0x2ba04]
    004016d4mov [rbp-40], rax
    004016d8mov rax, [rbp+16]
    004016dcmov rax, [rax]
    004016dftest rax, rax
    004016e2je 0x4016f0
    004016e4mov rax, [rbp+16]
    004016e8mov rax, [rax]
    004016ebmov rax, [rax]
    004016eejmp 0x4016f5
    004016f0
    004016f0loc_4016f0:
    004016f0mov eax, 0
    004016f5
    004016f5loc_4016f5:
    004016f5mov [rbp-8], rax
    004016f9mov [rbp-48], 44
    00401701lea rax, [rip+0x2b9d0]
    00401708mov [rbp-40], rax
    0040170cmov ecx, 0
    00401711mov rdx, [rbp-8]
    00401715mov rax, [rbp+40]
    00401719add rax, rdx
    0040171cjno 0x401723
    0040171emov ecx, 1
    00401723
    00401723loc_401723:
    00401723mov rdx, rax
    00401726lea rax, [rbp-16]
    0040172amov [rax], rdx
    0040172dmov rax, rcx
    00401730and eax, 1
    00401733test al, al
    00401735je 0x40173c
    00401737call raiseOverflow
    0040173c
    0040173cloc_40173c:
    0040173cmov rax, [rbp-16]
    00401740test rax, rax
    00401743jns 0x401760
    00401745mov rax, [rbp-16]
    00401749mov r8, 0x7fffffffffffffff
    00401753mov edx, 0
    00401758mov rcx, rax
    0040175bcall raiseRangeErrorI
    00401760
    00401760loc_401760:
    00401760mov rdx, [rbp-16]
    00401764mov rax, [rbp+16]
    00401768mov rax, [rax]
    0040176bmov rcx, rax
    0040176ecall setLengthStr
    00401773mov rdx, rax
    00401776mov rcx, [rbp+16]
    0040177acall unsureAsgnRef
    0040177fmov [rbp-48], 52
    00401787lea rax, [rip+0x2b94a]
    0040178emov [rbp-40], rax
    00401792cmp [rbp-8], 0
    00401797js 0x4017bc
    00401799mov rax, [rbp+16]
    0040179dmov rax, [rax]
    004017a0test rax, rax
    004017a3je 0x4017b1
    004017a5mov rax, [rbp+16]
    004017a9mov rax, [rax]
    004017acmov rax, [rax]
    004017afjmp 0x4017b6
    004017b1
    004017b1loc_4017b1:
    004017b1mov eax, 0
    004017b6
    004017b6loc_4017b6:
    004017b6cmp rax, [rbp-8]
    004017bajg 0x4017eb
    004017bc
    004017bcloc_4017bc:
    004017bcmov rax, [rbp+16]
    004017c0mov rax, [rax]
    004017c3test rax, rax
    004017c6je 0x4017d8
    004017c8mov rax, [rbp+16]
    004017ccmov rax, [rax]
    004017cfmov rax, [rax]
    004017d2lea rdx, [rax-1]
    004017d6jmp 0x4017df
    004017d8
    004017d8loc_4017d8:
    004017d8mov rdx, -1
    004017df
    004017dfloc_4017df:
    004017dfmov rax, [rbp-8]
    004017e3mov rcx, rax
    004017e6call raiseIndexError2
    004017eb
    004017ebloc_4017eb:
    004017ebmov rax, [rbp+32]
    004017efcmp rax, 23
    004017f3jbe 0x401806
    004017f5mov rax, [rbp+32]
    004017f9mov edx, 23
    004017femov rcx, rax
    00401801call raiseIndexError2
    00401806
    00401806loc_401806:
    00401806cmp [rbp+40], 0
    0040180bjns 0x401828
    0040180dmov rax, [rbp+40]
    00401811mov r8, 0x7fffffffffffffff
    0040181bmov edx, 0
    00401820mov rcx, rax
    00401823call raiseRangeErrorI
    00401828
    00401828loc_401828:
    00401828mov rdx, [rbp+32]
    0040182cmov rax, [rbp+24]
    00401830add rdx, rax
    00401833mov rax, [rbp+16]
    00401837mov rcx, [rax]
    0040183amov rax, [rbp-8]
    0040183eadd rax, 16
    00401842add rax, rcx
    00401845mov rcx, [rbp+40]
    00401849mov r8, rcx
    0040184cmov rcx, rax
    0040184fcall copyMem__system_1727
    00401854call popFrame
    00401859nop
    0040185aadd rsp, 96
    0040185epop rbp
    0040185fret
    0040167d
    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