File nimblackout_cdcb61a30a7792894fa45c1f0889c58ec8799e5c06ad9690f7fc38be12dea221.exe
Function:
    0040e7a0
    0040e7a0raiseIndexError2:
    0040e7a0push rbp
    0040e7a1mov rbp, rsp
    0040e7a4sub rsp, 64
    0040e7a8mov [rbp+16], rcx
    0040e7acmov [rbp+24], rdx
    0040e7b0mov [rbp-8], 0
    0040e7b8cmp [rbp+24], 0
    0040e7bdjns 0x40e7d4
    0040e7bflea rcx, [rip+0x1f17a]
    0040e7c6call copyString
    0040e7cbmov [rbp-8], rax
    0040e7cfjmp 0x40e895
    0040e7d4
    0040e7d4loc_40e7d4:
    0040e7d4nop
    0040e7d5mov [rbp-16], 0
    0040e7ddmov [rbp-24], 0
    0040e7e5mov rcx, [rbp+16]
    0040e7e9call dollar___systemZdollars_3
    0040e7eemov [rbp-24], rax
    0040e7f2mov [rbp-32], 0
    0040e7famov rax, [rbp+24]
    0040e7femov rcx, rax
    0040e801call dollar___systemZdollars_3
    0040e806mov [rbp-32], rax
    0040e80acmp [rbp-24], 0
    0040e80fje 0x40e81a
    0040e811mov rax, [rbp-24]
    0040e815mov rdx, [rax]
    0040e818jmp 0x40e81f
    0040e81a
    0040e81aloc_40e81a:
    0040e81amov edx, 0
    0040e81f
    0040e81floc_40e81f:
    0040e81fcmp [rbp-32], 0
    0040e824je 0x40e82f
    0040e826mov rax, [rbp-32]
    0040e82amov rax, [rax]
    0040e82djmp 0x40e834
    0040e82f
    0040e82floc_40e82f:
    0040e82fmov eax, 0
    0040e834
    0040e834loc_40e834:
    0040e834add rax, rdx
    0040e837add rax, 19
    0040e83bmov rcx, rax
    0040e83ecall rawNewString
    0040e843mov [rbp-16], rax
    0040e847mov rax, [rbp-16]
    0040e84blea rdx, [rip+0x1f12e]
    0040e852mov rcx, rax
    0040e855call appendString
    0040e85amov rdx, [rbp-24]
    0040e85emov rax, [rbp-16]
    0040e862mov rcx, rax
    0040e865call appendString
    0040e86amov rax, [rbp-16]
    0040e86elea rdx, [rip+0x1f12b]
    0040e875mov rcx, rax
    0040e878call appendString
    0040e87dmov rdx, [rbp-32]
    0040e881mov rax, [rbp-16]
    0040e885mov rcx, rax
    0040e888call appendString
    0040e88dmov rax, [rbp-16]
    0040e891mov [rbp-8], rax
    0040e895
    0040e895loc_40e895:
    0040e895mov rax, [rbp-8]
    0040e899mov rcx, rax
    0040e89ccall sysFatal__system_3075
    0040e8a1nop
    0040e7a0
    0040e8a2
    0040e8a2raiseRangeErrorNoArgs:
    0040e8a2push rbp
    0040e8a3mov rbp, rsp
    0040e8a6sub rsp, 32
    0040e8aalea rcx, [rip+0x1f10f]
    0040e8b1call sysFatal__system_3146
    0040e8b6nop
    0040e8a2
    0040e8b7
    0040e8b7addInt__stdZprivateZdigitsutils_189:
    0040e8b7push rbp
    0040e8b8mov rbp, rsp
    0040e8bbsub rsp, 80
    0040e8bfmov [rbp+16], rcx
    0040e8c3mov [rbp+24], rdx
    0040e8c7lea rax, [rip+0x1fed6]
    0040e8cemov [rbp-40], rax
    0040e8d2lea rax, [rip+0x1fed7]
    0040e8d9mov [rbp-24], rax
    0040e8ddmov [rbp-32], 0
    0040e8e5mov [rbp-16], 0
    0040e8eblea rax, [rbp-48]
    0040e8efmov rcx, rax
    0040e8f2call nimFrame
    0040e8f7mov [rbp-32], 117
    0040e8fflea rax, [rip+0x1feaa]
    0040e906mov [rbp-24], rax
    0040e90amov rax, [rbp+24]
    0040e90emov rdx, rax
    0040e911mov rcx, [rbp+16]
    0040e915call addInt__stdZprivateZdigitsutils_167
    0040e91acall popFrame
    0040e91fnop
    0040e920add rsp, 80
    0040e924pop rbp
    0040e925ret
    0040e8b7
    0040e926
    0040e926dollar___system_2726:
    0040e926push rbp
    0040e927mov rbp, rsp
    0040e92asub rsp, 112
    0040e92emov [rbp+16], rcx
    0040e932mov [rbp-80], 0
    0040e93amov rax, [rbp+16]
    0040e93emov [rbp-24], rax
    0040e942mov ecx, 2000
    0040e947call rawNewString
    0040e94cmov [rbp-80], rax
    0040e950mov [rbp-32], 0
    0040e958mov [rbp-40], 0
    0040e960cmp [rbp-24], 0
    0040e965je 0x40e970
    0040e967mov rax, [rbp-24]
    0040e96bmov rax, [rax]
    0040e96ejmp 0x40e975
    0040e970
    0040e970loc_40e970:
    0040e970mov eax, 0
    0040e975
    0040e975loc_40e975:
    0040e975mov [rbp-48], rax
    0040e979mov rax, [rbp-48]
    0040e97dsub rax, 1
    0040e981mov [rbp-40], rax
    0040e985mov [rbp-8], 0
    0040e98d
    0040e98dloc_40e98d:
    0040e98dmov rax, [rbp-8]
    0040e991cmp rax, [rbp-40]
    0040e995jg 0x40ec0c
    0040e99bmov rax, [rbp-8]
    0040e99fmov [rbp-32], rax
    0040e9a3mov rcx, [rbp-24]
    0040e9a7mov rdx, [rbp-32]
    0040e9abmov rax, rdx
    0040e9aeadd rax, rax
    0040e9b1add rax, rdx
    0040e9b4shl rax, 3
    0040e9b8add rax, rcx
    0040e9bbadd rax, 24
    0040e9bfmov rax, [rax]
    0040e9c2cmp rax, -10
    0040e9c6jne 0x40e9f5
    0040e9c8mov rax, [rbp-80]
    0040e9ccmov edx, 17
    0040e9d1mov rcx, rax
    0040e9d4call resizeString
    0040e9d9mov [rbp-80], rax
    0040e9ddmov rax, [rbp-80]
    0040e9e1lea rdx, [rip+0x1ee58]
    0040e9e8mov rcx, rax
    0040e9ebcall appendString
    0040e9f0jmp 0x40ec02
    0040e9f5
    0040e9f5loc_40e9f5:
    0040e9f5nop
    0040e9f6mov rcx, [rbp-24]
    0040e9famov rdx, [rbp-32]
    0040e9femov rax, rdx
    0040ea01add rax, rax
    0040ea04add rax, rdx
    0040ea07shl rax, 3
    0040ea0badd rax, rcx
    0040ea0eadd rax, 24
    0040ea12mov rax, [rax]
    0040ea15cmp rax, -100
    0040ea19jne 0x40ea48
    0040ea1bmov rax, [rbp-80]
    0040ea1fmov edx, 3
    0040ea24mov rcx, rax
    0040ea27call resizeString
    0040ea2cmov [rbp-80], rax
    0040ea30mov rax, [rbp-80]
    0040ea34lea rdx, [rip+0x1ee35]
    0040ea3bmov rcx, rax
    0040ea3ecall appendString
    0040ea43jmp 0x40ec02
    0040ea48
    0040ea48loc_40ea48:
    0040ea48nop
    0040ea49mov rax, [rbp-80]
    0040ea4dtest rax, rax
    0040ea50je 0x40ea5b
    0040ea52mov rax, [rbp-80]
    0040ea56mov rax, [rax]
    0040ea59jmp 0x40ea60
    0040ea5b
    0040ea5bloc_40ea5b:
    0040ea5bmov eax, 0
    0040ea60
    0040ea60loc_40ea60:
    0040ea60mov [rbp-56], rax
    0040ea64mov rcx, [rbp-24]
    0040ea68mov rdx, [rbp-32]
    0040ea6cmov rax, rdx
    0040ea6fadd rax, rax
    0040ea72add rax, rdx
    0040ea75shl rax, 3
    0040ea79add rax, rcx
    0040ea7cadd rax, 32
    0040ea80mov rdx, [rax]
    0040ea83lea rax, [rbp-80]
    0040ea87mov rcx, rax
    0040ea8acall add__system_2308
    0040ea8fmov rcx, [rbp-24]
    0040ea93mov rdx, [rbp-32]
    0040ea97mov rax, rdx
    0040ea9aadd rax, rax
    0040ea9dadd rax, rdx
    0040eaa0shl rax, 3
    0040eaa4add rax, rcx
    0040eaa7add rax, 24
    0040eaabmov rax, [rax]
    0040eaaetest rax, rax
    0040eab1jle 0x40eb31
    0040eab3mov rax, [rbp-80]
    0040eab7mov edx, 1
    0040eabcmov rcx, rax
    0040eabfcall resizeString
    0040eac4mov [rbp-80], rax
    0040eac8mov rax, [rbp-80]
    0040eacclea rdx, [rip+0x1edbd]
    0040ead3mov rcx, rax
    0040ead6call appendString
    0040eadbmov rcx, [rbp-24]
    0040eadfmov rdx, [rbp-32]
    0040eae3mov rax, rdx
    0040eae6add rax, rax
    0040eae9add rax, rdx
    0040eaecshl rax, 3
    0040eaf0add rax, rcx
    0040eaf3add rax, 24
    0040eaf7mov rdx, [rax]
    0040eafalea rax, [rbp-80]
    0040eafemov rcx, rax
    0040eb01call addInt__stdZprivateZdigitsutils_189
    0040eb06nop
    0040eb07mov rax, [rbp-80]
    0040eb0bmov edx, 1
    0040eb10mov rcx, rax
    0040eb13call resizeString
    0040eb18mov [rbp-80], rax
    0040eb1cmov rax, [rbp-80]
    0040eb20lea rdx, [rip+0x1eee9]
    0040eb27mov rcx, rax
    0040eb2acall appendString
    0040eb2fjmp 0x40eb32
    0040eb31
    0040eb31loc_40eb31:
    0040eb31nop
    0040eb32
    0040eb32loc_40eb32:
    0040eb32mov [rbp-64], 0
    0040eb3amov [rbp-72], 0
    0040eb42mov rax, [rbp-80]
    0040eb46test rax, rax
    0040eb49je 0x40eb54
    0040eb4bmov rax, [rbp-80]
    0040eb4fmov rax, [rax]
    0040eb52jmp 0x40eb59
    0040eb54
    0040eb54loc_40eb54:
    0040eb54mov eax, 0
    0040eb59
    0040eb59loc_40eb59:
    0040eb59sub rax, [rbp-56]
    0040eb5dmov rdx, rax
    0040eb60mov eax, 25
    0040eb65sub rax, rdx
    0040eb68mov edx, 1
    0040eb6dtest rax, rax
    0040eb70cmovle rax, rdx
    0040eb74mov [rbp-72], rax
    0040eb78mov [rbp-16], 1
    0040eb80
    0040eb80loc_40eb80:
    0040eb80mov rax, [rbp-16]
    0040eb84cmp rax, [rbp-72]
    0040eb88jg 0x40ebae
    0040eb8amov rax, [rbp-16]
    0040eb8emov [rbp-64], rax
    0040eb92mov rax, [rbp-80]
    0040eb96mov edx, 32
    0040eb9bmov rcx, rax
    0040eb9ecall addChar
    0040eba3mov [rbp-80], rax
    0040eba7add [rbp-16], 1
    0040ebacjmp 0x40eb80
    0040ebae
    0040ebaeloc_40ebae:
    0040ebaenop
    0040ebafmov rcx, [rbp-24]
    0040ebb3mov rdx, [rbp-32]
    0040ebb7mov rax, rdx
    0040ebbaadd rax, rax
    0040ebbdadd rax, rdx
    0040ebc0shl rax, 3
    0040ebc4add rax, rcx
    0040ebc7add rax, 16
    0040ebcbmov rdx, [rax]
    0040ebcelea rax, [rbp-80]
    0040ebd2mov rcx, rax
    0040ebd5call add__system_2308
    0040ebdamov rax, [rbp-80]
    0040ebdemov edx, 1
    0040ebe3mov rcx, rax
    0040ebe6call resizeString
    0040ebebmov [rbp-80], rax
    0040ebefmov rax, [rbp-80]
    0040ebf3lea rdx, [rip+0x1ee36]
    0040ebfamov rcx, rax
    0040ebfdcall appendString
    0040ec02
    0040ec02loc_40ec02:
    0040ec02add [rbp-8], 1
    0040ec07jmp 0x40e98d
    0040ec0c
    0040ec0cloc_40ec0c:
    0040ec0cnop
    0040ec0dmov rax, [rbp-80]
    0040ec11add rsp, 112
    0040ec15pop rbp
    0040ec16ret
    0040e926
    0040ec17
    0040ec17eqdestroy___systemZassertions_23:
    0040ec17push rbp
    0040ec18mov rbp, rsp
    0040ec1bmov [rbp+16], rcx
    0040ec1fnop
    0040ec20pop rbp
    0040ec21ret
    0040ec17
    0040ec22
    0040ec22toNimStr:
    0040ec22push rbp
    0040ec23mov rbp, rsp
    0040ec26sub rsp, 48
    0040ec2amov [rbp+16], rcx
    0040ec2emov [rbp+24], rdx
    0040ec32mov [rbp-8], 0
    0040ec3amov rax, [rbp+24]
    0040ec3emov rcx, rax
    0040ec41call rawNewStringNoInit
    0040ec46mov [rbp-8], rax
    0040ec4amov rax, [rbp-8]
    0040ec4emov rdx, [rbp+24]
    0040ec52mov [rax], rdx
    0040ec55mov rax, [rbp+24]
    0040ec59lea rdx, [rax+1]
    0040ec5dmov rax, [rbp-8]
    0040ec61add rax, 16
    0040ec65mov r8, rdx
    0040ec68mov rdx, [rbp+16]
    0040ec6cmov rcx, rax
    0040ec6fcall copyMem__system_1727
    0040ec74mov rax, [rbp-8]
    0040ec78add rsp, 48
    0040ec7cpop rbp
    0040ec7dret
    0040ec22
    0040ec7e
    0040ec7ecstrToNimstr:
    0040ec7epush rbp
    0040ec7fmov rbp, rsp
    0040ec82sub rsp, 48
    0040ec86mov [rbp+16], rcx
    0040ec8amov [rbp-8], 0
    0040ec92cmp [rbp+16], 0
    0040ec97jne 0x40eca3
    0040ec99mov [rbp-8], 0
    0040eca1jmp 0x40eccb
    0040eca3
    0040eca3loc_40eca3:
    0040eca3nop
    0040eca4cmp [rbp+16], 0
    0040eca9je 0x40ecb6
    0040ecabmov rcx, [rbp+16]
    0040ecafcall nimCStrLen
    0040ecb4jmp 0x40ecbb
    0040ecb6
    0040ecb6loc_40ecb6:
    0040ecb6mov eax, 0
    0040ecbb
    0040ecbbloc_40ecbb:
    0040ecbbmov rdx, rax
    0040ecbemov rcx, [rbp+16]
    0040ecc2call toNimStr
    0040ecc7mov [rbp-8], rax
    0040eccb
    0040eccbloc_40eccb:
    0040eccbmov rax, [rbp-8]
    0040eccfadd rsp, 48
    0040ecd3pop rbp
    0040ecd4ret
    0040ec7e
    0040ecd5
    0040ecd5pushSafePoint:
    0040ecd5push rbp
    0040ecd6mov rbp, rsp
    0040ecd9mov [rbp+16], rcx
    0040ecddmov rdx, [rip+0x27c74]
    0040ece4mov rax, [rbp+16]
    0040ece8mov [rax], rdx
    0040ecebmov rax, [rbp+16]
    0040ecefmov [rip+0x27c62], rax
    0040ecf6nop
    0040ecf7pop rbp
    0040ecf8ret
    0040ecd5
    0040ecf9
    0040ecf9popSafePoint:
    0040ecf9push rbp
    0040ecfamov rbp, rsp
    0040ecfdmov rax, [rip+0x27c54]
    0040ed04mov rax, [rax]
    0040ed07mov [rip+0x27c4a], rax
    0040ed0enop
    0040ed0fpop rbp
    0040ed10ret
    0040ecf9
    0040ed11
    0040ed11getFrame:
    0040ed11push rbp
    0040ed12mov rbp, rsp
    0040ed15sub rsp, 16
    0040ed19mov [rbp-8], 0
    0040ed21mov rax, [rip+0x27c28]
    0040ed28mov [rbp-8], rax
    0040ed2cmov rax, [rbp-8]
    0040ed30add rsp, 16
    0040ed34pop rbp
    0040ed35ret
    0040ed11
    0040ed36
    0040ed36setFrame:
    0040ed36push rbp
    0040ed37mov rbp, rsp
    0040ed3amov [rbp+16], rcx
    0040ed3emov rax, [rbp+16]
    0040ed42mov [rip+0x27c07], rax
    0040ed49nop
    0040ed4apop rbp
    0040ed4bret
    0040ed36
    0040ed4c
    0040ed4cpopCurrentException:
    0040ed4cpush rbp
    0040ed4dmov rbp, rsp
    0040ed50sub rsp, 32
    0040ed54mov rax, [rip+0x27c05]
    0040ed5bmov rax, [rax+40]
    0040ed5fmov rdx, rax
    0040ed62lea rcx, [rip+0x27bf7]
    0040ed69call asgnRef
    0040ed6enop
    0040ed6fadd rsp, 32
    0040ed73pop rbp
    0040ed74ret
    0040ed4c
    0040ed75
    0040ed75Marker_tyRef.uG62cfJZ15c2siK3CKLmnQ:
    0040ed75push rbp
    0040ed76mov rbp, rsp
    0040ed79sub rsp, 48
    0040ed7dmov [rbp+16], rcx
    0040ed81mov [rbp+24], rdx
    0040ed85mov rax, [rbp+16]
    0040ed89mov [rbp-8], rax
    0040ed8dmov rax, [rbp-8]
    0040ed91mov rax, [rax+8]
    0040ed95mov rdx, [rbp+24]
    0040ed99mov rcx, rax
    0040ed9ccall nimGCvisit
    0040eda1mov rax, [rbp-8]
    0040eda5mov rax, [rax+24]
    0040eda9mov rdx, [rbp+24]
    0040edadmov rcx, rax
    0040edb0call nimGCvisit
    0040edb5mov rax, [rbp-8]
    0040edb9mov rax, [rax+32]
    0040edbdmov rdx, [rbp+24]
    0040edc1mov rcx, rax
    0040edc4call nimGCvisit
    0040edc9mov rax, [rbp-8]
    0040edcdmov rax, [rax+40]
    0040edd1mov rdx, [rbp+24]
    0040edd5mov rcx, rax
    0040edd8call nimGCvisit
    0040edddnop
    0040eddeadd rsp, 48
    0040ede2pop rbp
    0040ede3ret
    0040ed75
    0040ede4
    0040ede4sysFatal__system_2936:
    0040ede4push rbp
    0040ede5mov rbp, rsp
    0040ede8sub rsp, 112
    0040edecmov [rbp+16], rcx
    0040edf0lea rax, [rip+0x1f946]
    0040edf7mov [rbp-56], rax
    0040edfblea rax, [rip+0x1f946]
    0040ee02mov [rbp-40], rax
    0040ee06mov [rbp-48], 0
    0040ee0emov [rbp-32], 0
    0040ee14lea rax, [rbp-64]
    0040ee18mov rcx, rax
    0040ee1bcall nimFrame
    0040ee20mov [rbp-8], 0
    0040ee28mov edx, 48
    0040ee2dlea rcx, [rip+0x276ec]
    0040ee34call newObj
    0040ee39mov [rbp-8], rax
    0040ee3dmov rax, [rbp-8]
    0040ee41lea rdx, [rip+0x27698]
    0040ee48mov [rax], rdx
    0040ee4bmov rax, [rbp-8]
    0040ee4flea rdx, [rip+0x1f9a9]
    0040ee56mov [rax+16], rdx
    0040ee5amov [rbp-16], 0
    0040ee62mov rax, [rbp-8]
    0040ee66mov rax, [rax+24]
    0040ee6amov [rbp-16], rax
    0040ee6emov rcx, [rbp+16]
    0040ee72call copyStringRC1
    0040ee77mov rdx, [rbp-8]
    0040ee7bmov [rdx+24], rax
    0040ee7fcmp [rbp-16], 0
    0040ee84je 0x40ee92
    0040ee86mov rax, [rbp-16]
    0040ee8amov rcx, rax
    0040ee8dcall nimGCunrefNoCycle
    0040ee92
    0040ee92loc_40ee92:
    0040ee92mov [rbp-48], 53
    0040ee9alea rax, [rip+0x1f8a7]
    0040eea1mov [rbp-40], rax
    0040eea5mov rax, [rbp-8]
    0040eea9mov [rsp+32], 53
    0040eeb2lea r9, [rip+0x1f88f]
    0040eeb9lea r8, [rip+0x1f87d]
    0040eec0lea rdx, [rip+0x1f938]
    0040eec7mov rcx, rax
    0040eecacall raiseExceptionEx
    0040eecfcall popFrame
    0040eed4nop
    0040eed5add rsp, 112
    0040eed9pop rbp
    0040eedaret
    0040ede4
    0040eedb
    0040eedbreraiseException:
    0040eedbpush rbp
    0040eedcmov rbp, rsp
    0040eedfsub rsp, 32
    0040eee3mov rax, [rip+0x27a76]
    0040eeeatest rax, rax
    0040eeedjne 0x40eefb
    0040eeeflea rcx, [rip+0x1ebea]
    0040eef6call sysFatal__system_2936
    0040eefb
    0040eefbloc_40eefb:
    0040eefbnop
    0040eefcmov rax, [rip+0x27a5d]
    0040ef03mov rcx, rax
    0040ef06call raiseExceptionAux__system_2893
    0040ef0bnop
    0040ef0cadd rsp, 32
    0040ef10pop rbp
    0040ef11ret
    0040eedb
    0040ef12
    0040ef12rawWriteString:
    0040ef12push rbp
    0040ef13mov rbp, rsp
    0040ef16sub rsp, 48
    0040ef1amov [rbp+16], rcx
    0040ef1emov [rbp+24], rdx
    0040ef22mov [rbp+32], r8
    0040ef26mov [rbp-4], 0
    0040ef2dmov rdx, [rbp+32]
    0040ef31mov rax, [rbp+24]
    0040ef35mov r9, [rbp+16]
    0040ef39mov r8, rdx
    0040ef3cmov edx, 1
    0040ef41mov rcx, rax
    0040ef44call fwrite
    0040ef49mov [rbp-4], eax
    0040ef4cmov [rbp-8], 0
    0040ef53mov rcx, [rbp+16]
    0040ef57call fflush
    0040ef5cmov [rbp-8], eax
    0040ef5fnop
    0040ef60add rsp, 48
    0040ef64pop rbp
    0040ef65ret
    0040ef12
    0040ef66
    0040ef66writeToStdErr__system_2533:
    0040ef66push rbp
    0040ef67mov rbp, rsp
    0040ef6asub rsp, 32
    0040ef6emov [rbp+16], rcx
    0040ef72mov [rbp+24], rdx
    0040ef76mov ecx, 2
    0040ef7bmov rax, [rip+0x1d18e]
    0040ef82call rax
    0040ef84mov rdx, [rbp+24]
    0040ef88mov r8, rdx
    0040ef8bmov rdx, [rbp+16]
    0040ef8fmov rcx, rax
    0040ef92call rawWriteString
    0040ef97nop
    0040ef98add rsp, 32
    0040ef9cpop rbp
    0040ef9dret
    0040ef66
    0040ef9e
    0040ef9eshowErrorMessage__system_2538:
    0040ef9epush rbp
    0040ef9fsub rsp, 336
    0040efa6lea rbp, [rsp+128]
    0040efaemov [rbp+224], rcx
    0040efb5mov [rbp+232], rdx
    0040efbccall getFrame
    0040efc1mov [rbp+200], rax
    0040efc8mov [rbp+191], 1
    0040efcfmov rax, [rip+0x27972]
    0040efd6test rax, rax
    0040efd9je 0x40f07f
    0040efdflea rax, [rbp-96]
    0040efe3mov rcx, rax
    0040efe6call pushSafePoint
    0040efeblea rax, [rbp-96]
    0040efefadd rax, 16
    0040eff3mov edx, 0
    0040eff8mov rcx, rax
    0040effbcall _setjmp
    0040f000cdqe
    0040f002mov [rbp-88], rax
    0040f006mov rax, [rbp-88]
    0040f00atest rax, rax
    0040f00djne 0x40f04e
    0040f00fmov [rbp+192], 0
    0040f01amov rcx, [rbp+224]
    0040f021call cstrToNimstr
    0040f026mov [rbp+192], rax
    0040f02dmov rdx, [rip+0x27914]
    0040f034mov rax, [rbp+192]
    0040f03bmov rcx, rax
    0040f03ecall rdx
    0040f040mov [rbp+191], 0
    0040f047call popSafePoint
    0040f04cjmp 0x40f06f
    0040f04e
    0040f04eloc_40f04e:
    0040f04ecall popSafePoint
    0040f053mov rax, [rbp+200]
    0040f05amov rcx, rax
    0040f05dcall setFrame
    0040f062mov [rbp-88], 0
    0040f06acall popCurrentException
    0040f06f
    0040f06floc_40f06f:
    0040f06fmov rax, [rbp-88]
    0040f073test rax, rax
    0040f076je 0x40f080
    0040f078call reraiseException
    0040f07djmp 0x40f080
    0040f07f
    0040f07floc_40f07f:
    0040f07fnop
    0040f080
    0040f080loc_40f080:
    0040f080movzx eax, [rbp+191]
    0040f087xor eax, 1
    0040f08atest al, al
    0040f08cjne 0x40f0a6
    0040f08emov rax, [rbp+232]
    0040f095mov rdx, rax
    0040f098mov rcx, [rbp+224]
    0040f09fcall writeToStdErr__system_2533
    0040f0a4jmp 0x40f0a7
    0040f0a6
    0040f0a6loc_40f0a6:
    0040f0a6nop
    0040f0a7
    0040f0a7loc_40f0a7:
    0040f0a7nop
    0040f0a8add rsp, 336
    0040f0afpop rbp
    0040f0b0ret
    0040ef9e
    0040f0b1
    0040f0b1nimToCStringConv:
    0040f0b1push rbp
    0040f0b2mov rbp, rsp
    0040f0b5sub rsp, 16
    0040f0b9mov [rbp+16], rcx
    0040f0bdmov [rbp-8], 0
    0040f0c5mov [rbp-9], 0
    0040f0c9cmp [rbp+16], 0
    0040f0cesete al
    0040f0d1mov [rbp-9], al
    0040f0d4cmp [rbp-9], 0
    0040f0d8jne 0x40f0ec
    0040f0damov rax, [rbp+16]
    0040f0demov rax, [rax]
    0040f0e1test rax, rax
    0040f0e4sete al
    0040f0e7mov [rbp-9], al
    0040f0eajmp 0x40f0ed
    0040f0ec
    0040f0ecloc_40f0ec:
    0040f0ecnop
    0040f0ed
    0040f0edloc_40f0ed:
    0040f0edmovzx eax, [rbp-9]
    0040f0f1xor eax, 1
    0040f0f4test al, al
    0040f0f6jne 0x40f105
    0040f0f8lea rax, [rip+0x1f70e]
    0040f0ffmov [rbp-8], rax
    0040f103jmp 0x40f112
    0040f105
    0040f105loc_40f105:
    0040f105nop
    0040f106mov rax, [rbp+16]
    0040f10aadd rax, 16
    0040f10emov [rbp-8], rax
    0040f112
    0040f112loc_40f112:
    0040f112mov rax, [rbp-8]
    0040f116add rsp, 16
    0040f11apop rbp
    0040f11bret
    0040f0b1
    0040f11c
    0040f11cshowErrorMessage2__system_2546:
    0040f11cpush rbp
    0040f11dpush rbx
    0040f11esub rsp, 40
    0040f122lea rbp, [rsp+128]
    0040f12amov [rbp-64], rcx
    0040f12ecmp [rbp-64], 0
    0040f133je 0x40f13e
    0040f135mov rax, [rbp-64]
    0040f139mov rbx, [rax]
    0040f13cjmp 0x40f143
    0040f13e
    0040f13eloc_40f13e:
    0040f13emov ebx, 0
    0040f143
    0040f143loc_40f143:
    0040f143mov rcx, [rbp-64]
    0040f147call nimToCStringConv
    0040f14cmov rdx, rbx
    0040f14fmov rcx, rax
    0040f152call showErrorMessage__system_2538
    0040f157nop
    0040f158add rsp, 40
    0040f15cpop rbx
    0040f15dpop rbp
    0040f15eret
    0040f11c
    0040f15f
    0040f15freportUnhandledErrorAux__system_2865:
    0040f15fpush rbp
    0040f160mov rbp, rsp
    0040f163sub rsp, 64
    0040f167mov [rbp+16], rcx
    0040f16bmov ecx, 2000
    0040f170call rawNewString
    0040f175mov [rbp-24], rax
    0040f179mov rax, [rbp+16]
    0040f17dmov rax, [rax+32]
    0040f181test rax, rax
    0040f184je 0x40f193
    0040f186mov rax, [rbp+16]
    0040f18amov rax, [rax+32]
    0040f18emov rax, [rax]
    0040f191jmp 0x40f198
    0040f193
    0040f193loc_40f193:
    0040f193mov eax, 0
    0040f198
    0040f198loc_40f198:
    0040f198mov [rbp-8], rax
    0040f19ccmp [rbp-8], 0
    0040f1a1jne 0x40f1b1
    0040f1a3lea rax, [rbp-24]
    0040f1a7mov rcx, rax
    0040f1aacall rawWriteStackTrace__system_2848
    0040f1afjmp 0x40f209
    0040f1b1
    0040f1b1loc_40f1b1:
    0040f1b1nop
    0040f1b2mov rax, [rbp+16]
    0040f1b6mov rax, [rax+32]
    0040f1bamov rcx, rax
    0040f1bdcall dollar___system_2726
    0040f1c2mov [rbp-32], rax
    0040f1c6mov rax, [rbp-32]
    0040f1catest rax, rax
    0040f1cdje 0x40f1d8
    0040f1cfmov rax, [rbp-32]
    0040f1d3mov rax, [rax]
    0040f1d6jmp 0x40f1dd
    0040f1d8
    0040f1d8loc_40f1d8:
    0040f1d8mov eax, 0
    0040f1dd
    0040f1ddloc_40f1dd:
    0040f1ddmov rcx, [rbp-24]
    0040f1e1mov rdx, rax
    0040f1e4call resizeString
    0040f1e9mov [rbp-24], rax
    0040f1edmov rdx, [rbp-32]
    0040f1f1mov rax, [rbp-24]
    0040f1f5mov rcx, rax
    0040f1f8call appendString
    0040f1fdlea rax, [rbp-32]
    0040f201mov rcx, rax
    0040f204call eqdestroy___systemZassertions_23
    0040f209
    0040f209loc_40f209:
    0040f209mov rax, [rbp-24]
    0040f20dmov edx, 28
    0040f212mov rcx, rax
    0040f215call resizeString
    0040f21amov [rbp-24], rax
    0040f21emov rax, [rbp-24]
    0040f222lea rdx, [rip+0x1e837]
    0040f229mov rcx, rax
    0040f22ccall appendString
    0040f231mov rax, [rbp+16]
    0040f235mov rax, [rax+24]
    0040f239test rax, rax
    0040f23cje 0x40f24b
    0040f23emov rax, [rbp+16]
    0040f242mov rax, [rax+24]
    0040f246mov rax, [rax]
    0040f249jmp 0x40f250
    0040f24b
    0040f24bloc_40f24b:
    0040f24bmov eax, 0
    0040f250
    0040f250loc_40f250:
    0040f250mov rcx, [rbp-24]
    0040f254mov rdx, rax
    0040f257call resizeString
    0040f25cmov [rbp-24], rax
    0040f260mov rax, [rbp+16]
    0040f264mov rdx, [rax+24]
    0040f268mov rax, [rbp-24]
    0040f26cmov rcx, rax
    0040f26fcall appendString
    0040f274mov rax, [rbp-24]
    0040f278mov edx, 2
    0040f27dmov rcx, rax
    0040f280call resizeString
    0040f285mov [rbp-24], rax
    0040f289mov rax, [rbp-24]
    0040f28dlea rdx, [rip+0x1e7fc]
    0040f294mov rcx, rax
    0040f297call appendString
    0040f29cmov [rbp-16], 0
    0040f2a4mov rax, [rbp+16]
    0040f2a8mov rax, [rax+16]
    0040f2acmov rcx, rax
    0040f2afcall cstrToNimstr
    0040f2b4mov [rbp-16], rax
    0040f2b8cmp [rbp-16], 0
    0040f2bdje 0x40f2c8
    0040f2bfmov rax, [rbp-16]
    0040f2c3mov rax, [rax]
    0040f2c6jmp 0x40f2cd
    0040f2c8
    0040f2c8loc_40f2c8:
    0040f2c8mov eax, 0
    0040f2cd
    0040f2cdloc_40f2cd:
    0040f2cdmov rcx, [rbp-24]
    0040f2d1mov rdx, rax
    0040f2d4call resizeString
    0040f2d9mov [rbp-24], rax
    0040f2ddmov rax, [rbp-24]
    0040f2e1mov rdx, [rbp-16]
    0040f2e5mov rcx, rax
    0040f2e8call appendString
    0040f2edmov rax, [rbp-24]
    0040f2f1mov edx, 2
    0040f2f6mov rcx, rax
    0040f2f9call resizeString
    0040f2femov [rbp-24], rax
    0040f302mov rax, [rbp-24]
    0040f306lea rdx, [rip+0x1e7a3]
    0040f30dmov rcx, rax
    0040f310call appendString
    0040f315mov rax, [rip+0x27a64]
    0040f31ctest rax, rax
    0040f31fje 0x40f333
    0040f321mov rdx, [rip+0x27a58]
    0040f328mov rax, [rbp-24]
    0040f32cmov rcx, rax
    0040f32fcall rdx
    0040f331jmp 0x40f340
    0040f333
    0040f333loc_40f333:
    0040f333nop
    0040f334mov rax, [rbp-24]
    0040f338mov rcx, rax
    0040f33bcall showErrorMessage2__system_2546
    0040f340
    0040f340loc_40f340:
    0040f340lea rax, [rbp-24]
    0040f344mov rcx, rax
    0040f347call eqdestroy___systemZassertions_23
    0040f34cnop
    0040f34dadd rsp, 64
    0040f351pop rbp
    0040f352ret
    0040f15f
    0040f353
    0040f353reportUnhandledError__system_2882:
    0040f353push rbp
    0040f354mov rbp, rsp
    0040f357sub rsp, 32
    0040f35bmov [rbp+16], rcx
    0040f35fmov rax, [rip+0x275da]
    0040f366test rax, rax
    0040f369je 0x40f37a
    0040f36bmov rax, [rip+0x275ce]
    0040f372mov rcx, [rbp+16]
    0040f376call rax
    0040f378jmp 0x40f37b
    0040f37a
    0040f37aloc_40f37a:
    0040f37anop
    0040f37b
    0040f37bloc_40f37b:
    0040f37bmov rcx, [rbp+16]
    0040f37fcall reportUnhandledErrorAux__system_2865
    0040f384nop
    0040f385add rsp, 32
    0040f389pop rbp
    0040f38aret
    0040f353
    0040f38b
    0040f38braiseExceptionAux__system_2893:
    0040f38bpush rbp
    0040f38cmov rbp, rsp
    0040f38fsub rsp, 48
    0040f393mov [rbp+16], rcx
    0040f397mov rax, [rip+0x27592]
    0040f39etest rax, rax
    0040f3a1je 0x40f3bf
    0040f3a3mov [rbp-1], 0
    0040f3a7mov rax, [rip+0x27582]
    0040f3aemov rcx, [rbp+16]
    0040f3b2call rax
    0040f3b4mov [rbp-1], al
    0040f3b7cmp [rbp-1], 0
    0040f3bbje 0x40f42e
    0040f3bdjmp 0x40f3c0
    0040f3bf
    0040f3bfloc_40f3bf:
    0040f3bfnop
    0040f3c0
    0040f3c0loc_40f3c0:
    0040f3c0mov rax, [rip+0x27561]
    0040f3c7test rax, rax
    0040f3caje 0x40f3e8
    0040f3ccmov [rbp-2], 0
    0040f3d0mov rax, [rip+0x27551]
    0040f3d7mov rcx, [rbp+16]
    0040f3dbcall rax
    0040f3ddmov [rbp-2], al
    0040f3e0cmp [rbp-2], 0
    0040f3e4je 0x40f431
    0040f3e6jmp 0x40f3e9
    0040f3e8
    0040f3e8loc_40f3e8:
    0040f3e8nop
    0040f3e9
    0040f3e9loc_40f3e9:
    0040f3e9mov rax, [rip+0x27568]
    0040f3f0test rax, rax
    0040f3f3je 0x40f41a
    0040f3f5mov rcx, [rbp+16]
    0040f3f9call pushCurrentException
    0040f3femov rax, [rip+0x27553]
    0040f405add rax, 16
    0040f409mov edx, 1
    0040f40emov rcx, rax
    0040f411mov rax, [rip+0x39ff4]
    0040f418call rax
    0040f41a
    0040f41aloc_40f41a:
    0040f41anop
    0040f41bmov rcx, [rbp+16]
    0040f41fcall reportUnhandledError__system_2882
    0040f424mov ecx, 1
    0040f429call exit
    0040f42e
    0040f42eloc_40f42e:
    0040f42enop
    0040f42fjmp 0x40f432
    0040f431
    0040f431loc_40f431:
    0040f431nop
    0040f432
    0040f432loc_40f432:
    0040f432nop
    0040f433add rsp, 48
    0040f437pop rbp
    0040f438ret
    0040f38b
    0040f439
    0040f439raiseExceptionEx:
    0040f439push rbp
    0040f43amov rbp, rsp
    0040f43dsub rsp, 64
    0040f441mov [rbp+16], rcx
    0040f445mov [rbp+24], rdx
    0040f449mov [rbp+32], r8
    0040f44dmov [rbp+40], r9
    0040f451mov rax, [rbp+16]
    0040f455mov rax, [rax+16]
    0040f459test rax, rax
    0040f45cjne 0x40f46c
    0040f45emov rax, [rbp+16]
    0040f462mov rdx, [rbp+24]
    0040f466mov [rax+16], rdx
    0040f46ajmp 0x40f46d
    0040f46c
    0040f46cloc_40f46c:
    0040f46cnop
    0040f46d
    0040f46dloc_40f46d:
    0040f46dmov rax, [rbp+16]
    0040f471mov rax, [rax+32]
    0040f475test rax, rax
    0040f478je 0x40f487
    0040f47amov rax, [rbp+16]
    0040f47emov rax, [rax+32]
    0040f482mov rax, [rax]
    0040f485jmp 0x40f48c
    0040f487
    0040f487loc_40f487:
    0040f487mov eax, 0
    0040f48c
    0040f48cloc_40f48c:
    0040f48cmov [rbp-8], rax
    0040f490cmp [rbp-8], 0
    0040f495jne 0x40f4ac
    0040f497mov rax, [rbp+16]
    0040f49badd rax, 32
    0040f49fmov rcx, rax
    0040f4a2call rawWriteStackTrace__system_2854
    0040f4a7jmp 0x40f621
    0040f4ac
    0040f4acloc_40f4ac:
    0040f4acnop
    0040f4admov rax, [rip+0x2749c]
    0040f4b4test rax, rax
    0040f4b7je 0x40f620
    0040f4bdmov rax, [rbp+16]
    0040f4c1mov rax, [rax+32]
    0040f4c5lea rdx, [rip+0x26dd4]
    0040f4ccmov rcx, rax
    0040f4cfcall incrSeqV3
    0040f4d4mov rdx, rax
    0040f4d7mov rax, [rbp+16]
    0040f4dbadd rax, 32
    0040f4dfmov rcx, rax
    0040f4e2call asgnRef
    0040f4e7mov rax, [rbp+16]
    0040f4ebmov rax, [rax+32]
    0040f4efmov rdx, [rax]
    0040f4f2lea rcx, [rdx+1]
    0040f4f6mov [rax], rcx
    0040f4f9mov [rbp-16], rdx
    0040f4fdmov rax, [rbp+16]
    0040f501mov rdx, [rax+32]
    0040f505mov rcx, [rbp-16]
    0040f509mov rax, rcx
    0040f50cadd rax, rax
    0040f50fadd rax, rcx
    0040f512shl rax, 3
    0040f516add rax, rdx
    0040f519add rax, 16
    0040f51dmov [rax], 0
    0040f524mov rcx, [rbp-16]
    0040f528mov rax, rcx
    0040f52badd rax, rax
    0040f52eadd rax, rcx
    0040f531shl rax, 3
    0040f535add rax, rdx
    0040f538add rax, 24
    0040f53cmov [rax], -10
    0040f543mov rcx, [rbp-16]
    0040f547mov rax, rcx
    0040f54aadd rax, rax
    0040f54dadd rax, rcx
    0040f550shl rax, 3
    0040f554add rax, rdx
    0040f557add rax, 32
    0040f55bmov [rax], 0
    0040f562mov rax, [rbp+16]
    0040f566lea rdx, [rax+32]
    0040f56amov rax, [rip+0x273df]
    0040f571mov rcx, rax
    0040f574call auxWriteStackTrace__system_2655
    0040f579mov rax, [rbp+16]
    0040f57dmov rax, [rax+32]
    0040f581lea rdx, [rip+0x26d18]
    0040f588mov rcx, rax
    0040f58bcall incrSeqV3
    0040f590mov rdx, rax
    0040f593mov rax, [rbp+16]
    0040f597add rax, 32
    0040f59bmov rcx, rax
    0040f59ecall asgnRef
    0040f5a3mov rax, [rbp+16]
    0040f5a7mov rax, [rax+32]
    0040f5abmov rdx, [rax]
    0040f5aelea rcx, [rdx+1]
    0040f5b2mov [rax], rcx
    0040f5b5mov [rbp-24], rdx
    0040f5b9mov rax, [rbp+16]
    0040f5bdmov rdx, [rax+32]
    0040f5c1mov rcx, [rbp-24]
    0040f5c5mov rax, rcx
    0040f5c8add rax, rax
    0040f5cbadd rax, rcx
    0040f5ceshl rax, 3
    0040f5d2add rax, rdx
    0040f5d5add rax, 16
    0040f5d9mov [rax], 0
    0040f5e0mov rcx, [rbp-24]
    0040f5e4mov rax, rcx
    0040f5e7add rax, rax
    0040f5eaadd rax, rcx
    0040f5edshl rax, 3
    0040f5f1add rax, rdx
    0040f5f4add rax, 24
    0040f5f8mov [rax], -100
    0040f5ffmov rcx, [rbp-24]
    0040f603mov rax, rcx
    0040f606add rax, rax
    0040f609add rax, rcx
    0040f60cshl rax, 3
    0040f610add rax, rdx
    0040f613add rax, 32
    0040f617mov [rax], 0
    0040f61ejmp 0x40f621
    0040f620
    0040f620loc_40f620:
    0040f620nop
    0040f621
    0040f621loc_40f621:
    0040f621mov rcx, [rbp+16]
    0040f625call raiseExceptionAux__system_2893
    0040f62anop
    0040f62badd rsp, 64
    0040f62fpop rbp
    0040f630ret
    0040f439
    0040f631
    0040f631sysFatal__system_3397:
    0040f631push rbp
    0040f632mov rbp, rsp
    0040f635sub rsp, 112
    0040f639mov [rbp+16], rcx
    0040f63dlea rax, [rip+0x1f0f9]
    0040f644mov [rbp-56], rax
    0040f648lea rax, [rip+0x1f0f9]
    0040f64fmov [rbp-40], rax
    0040f653mov [rbp-48], 0
    0040f65bmov [rbp-32], 0
    0040f661lea rax, [rbp-64]
    0040f665mov rcx, rax
    0040f668call nimFrame
    0040f66dmov [rbp-8], 0
    0040f675mov edx, 48
    0040f67alea rcx, [rip+0x26d1f]
    0040f681call newObj
    0040f686mov [rbp-8], rax
    0040f68amov rax, [rbp-8]
    0040f68elea rdx, [rip+0x26ccb]
    0040f695mov [rax], rdx
    0040f698mov rax, [rbp-8]
    0040f69clea rdx, [rip+0x1f16b]
    0040f6a3mov [rax+16], rdx
    0040f6a7mov [rbp-16], 0
    0040f6afmov rax, [rbp-8]
    0040f6b3mov rax, [rax+24]
    0040f6b7mov [rbp-16], rax
    0040f6bbmov rcx, [rbp+16]
    0040f6bfcall copyStringRC1
    0040f6c4mov rdx, [rbp-8]
    0040f6c8mov [rdx+24], rax
    0040f6cccmp [rbp-16], 0
    0040f6d1je 0x40f6df
    0040f6d3mov rax, [rbp-16]
    0040f6d7mov rcx, rax
    0040f6dacall nimGCunrefNoCycle
    0040f6df
    0040f6dfloc_40f6df:
    0040f6dfmov [rbp-48], 53
    0040f6e7lea rax, [rip+0x1f05a]
    0040f6eemov [rbp-40], rax
    0040f6f2mov rax, [rbp-8]
    0040f6f6mov [rsp+32], 53
    0040f6fflea r9, [rip+0x1f042]
    0040f706lea r8, [rip+0x1f030]
    0040f70dlea rdx, [rip+0x1f0fa]
    0040f714mov rcx, rax
    0040f717call raiseExceptionEx
    0040f71ccall popFrame
    0040f721nop
    0040f722add rsp, 112
    0040f726pop rbp
    0040f727ret
    0040f631
    0040f728
    0040f728raiseOverflow:
    0040f728push rbp
    0040f729mov rbp, rsp
    0040f72csub rsp, 32
    0040f730lea rcx, [rip+0x1e3e9]
    0040f737call sysFatal__system_3397
    0040f73cnop
    0040f728
    0040f73d
    0040f73dalign__system_1624:
    0040f73dpush rbp
    0040f73emov rbp, rsp
    0040f741add rsp, -128
    0040f745mov [rbp+16], rcx
    0040f749mov [rbp+24], rdx
    0040f74dlea rax, [rip+0x1f0c9]
    0040f754mov [rbp-56], rax
    0040f758lea rax, [rip+0x1eed1]
    0040f75fmov [rbp-40], rax
    0040f763mov [rbp-48], 0
    0040f76bmov [rbp-32], 0
    0040f771lea rax, [rbp-64]
    0040f775mov rcx, rax
    0040f778call nimFrame
    0040f77dmov [rbp-8], 0
    0040f785mov [rbp-48], 1186
    0040f78dlea rax, [rip+0x1ee9c]
    0040f794mov [rbp-40], rax
    0040f798cmp [rbp+24], 0
    0040f79djne 0x40f7bf
    0040f79fmov [rbp-48], 1188
    0040f7a7lea rax, [rip+0x1ee82]
    0040f7aemov [rbp-40], rax
    0040f7b2mov rax, [rbp+16]
    0040f7b6mov [rbp-8], rax
    0040f7bajmp 0x40f872
    0040f7bf
    0040f7bfloc_40f7bf:
    0040f7bfnop
    0040f7c0mov [rbp-48], 1190
    0040f7c8lea rax, [rip+0x1ee61]
    0040f7cfmov [rbp-40], rax
    0040f7d3mov edx, 0
    0040f7d8mov rax, [rbp+24]
    0040f7dcsub rax, 1
    0040f7e0jno 0x40f7e7
    0040f7e2mov edx, 1
    0040f7e7
    0040f7e7loc_40f7e7:
    0040f7e7mov rcx, rax
    0040f7ealea rax, [rbp-72]
    0040f7eemov [rax], rcx
    0040f7f1mov rax, rdx
    0040f7f4and eax, 1
    0040f7f7test al, al
    0040f7f9je 0x40f800
    0040f7fbcall raiseOverflow
    0040f800
    0040f800loc_40f800:
    0040f800mov rdx, [rbp-72]
    0040f804mov ecx, 0
    0040f809mov rax, [rbp+16]
    0040f80dadd rax, rdx
    0040f810jno 0x40f817
    0040f812mov ecx, 1
    0040f817
    0040f817loc_40f817:
    0040f817mov rdx, rax
    0040f81alea rax, [rbp-80]
    0040f81emov [rax], rdx
    0040f821mov rax, rcx
    0040f824and eax, 1
    0040f827test al, al
    0040f829je 0x40f830
    0040f82bcall raiseOverflow
    0040f830
    0040f830loc_40f830:
    0040f830mov edx, 0
    0040f835mov rax, [rbp+24]
    0040f839sub rax, 1
    0040f83djno 0x40f844
    0040f83fmov edx, 1
    0040f844
    0040f844loc_40f844:
    0040f844mov rcx, rax
    0040f847lea rax, [rbp-88]
    0040f84bmov [rax], rcx
    0040f84emov rax, rdx
    0040f851and eax, 1
    0040f854test al, al
    0040f856je 0x40f85d
    0040f858call raiseOverflow
    0040f85d
    0040f85dloc_40f85d:
    0040f85dmov rax, [rbp-88]
    0040f861not rax
    0040f864mov rdx, rax
    0040f867mov rax, [rbp-80]
    0040f86band rax, rdx
    0040f86emov [rbp-8], rax
    0040f872
    0040f872loc_40f872:
    0040f872call popFrame
    0040f877mov rax, [rbp-8]
    0040f87bsub rsp, -128
    0040f87fpop rbp
    0040f880ret
    0040f73d
    0040f881
    0040f881forAllChildren__system_5382:
    0040f881push rbp
    0040f882mov rbp, rsp
    0040f885sub rsp, 144
    0040f88cmov [rbp+16], rcx
    0040f890mov eax, edx
    0040f892mov [rbp+24], al
    0040f895mov rax, [rbp+16]
    0040f899mov rax, [rax+8]
    0040f89dmov rax, [rax+48]
    0040f8a1mov [rbp-16], rax
    0040f8a5cmp [rbp-16], 0
    0040f8aaje 0x40f8d8
    0040f8acmov [rbp-24], 0
    0040f8b4mov rcx, [rbp+16]
    0040f8b8call cellToUsr__system_5351
    0040f8bdmov [rbp-24], rax
    0040f8c1movzx edx, [rbp+24]
    0040f8c5mov rax, [rbp-24]
    0040f8c9mov r8, [rbp-16]
    0040f8cdmov rcx, rax
    0040f8d0call r8
    0040f8d3jmp 0x40fa53
    0040f8d8
    0040f8d8loc_40f8d8:
    0040f8d8nop
    0040f8d9mov rax, [rbp+16]
    0040f8ddmov rax, [rax+8]
    0040f8e1movzx eax, [rax+16]
    0040f8e5movzx eax, al
    0040f8e8cmp eax, 22
    0040f8ebje 0x40f8f7
    0040f8edcmp eax, 24
    0040f8f0je 0x40f930
    0040f8f2jmp 0x40fa53
    0040f8f7
    0040f8f7loc_40f8f7:
    0040f8f7mov [rbp-104], 0
    0040f8ffmov rcx, [rbp+16]
    0040f903call cellToUsr__system_5351
    0040f908mov [rbp-104], rax
    0040f90cmovzx ecx, [rbp+24]
    0040f910mov rax, [rbp+16]
    0040f914mov rax, [rax+8]
    0040f918mov rdx, [rax+24]
    0040f91cmov rax, [rbp-104]
    0040f920mov r8l, ecx
    0040f923mov rcx, rax
    0040f926call forAllChildrenAux__system_5388
    0040f92bjmp 0x40fa53
    0040f930
    0040f930loc_40f930:
    0040f930mov [rbp-32], 0
    0040f938mov rcx, [rbp+16]
    0040f93ccall cellToUsr__system_5351
    0040f941mov [rbp-32], rax
    0040f945mov rax, [rbp-32]
    0040f949mov [rbp-40], rax
    0040f94dmov rax, [rbp-40]
    0040f951mov [rbp-48], rax
    0040f955cmp [rbp-48], 0
    0040f95aje 0x40fa4e
    0040f960mov [rbp-56], 0
    0040f968mov [rbp-64], 0
    0040f970mov rax, [rbp-48]
    0040f974mov rax, [rax]
    0040f977sub rax, 1
    0040f97bmov [rbp-64], rax
    0040f97fmov [rbp-8], 0
    0040f987
    0040f987loc_40f987:
    0040f987mov rax, [rbp-8]
    0040f98bcmp rax, [rbp-64]
    0040f98fjg 0x40fa51
    0040f995mov rax, [rbp-8]
    0040f999mov [rbp-56], rax
    0040f99dmov [rbp-72], 0
    0040f9a5mov rax, [rbp+16]
    0040f9a9mov rax, [rax+8]
    0040f9admov rax, [rax+24]
    0040f9b1mov rax, [rax+8]
    0040f9b5mov rdx, rax
    0040f9b8mov ecx, 16
    0040f9bdcall align__system_1624
    0040f9c2mov [rbp-72], rax
    0040f9c6mov [rbp-80], 0
    0040f9cemov rdx, [rbp-72]
    0040f9d2mov rax, [rbp-40]
    0040f9d6mov rcx, rax
    0040f9d9call pluspercent___system_696
    0040f9demov [rbp-80], rax
    0040f9e2mov [rbp-88], 0
    0040f9eamov rax, [rbp+16]
    0040f9eemov rax, [rax+8]
    0040f9f2mov rax, [rax+24]
    0040f9f6mov rdx, [rax]
    0040f9f9mov rax, [rbp-56]
    0040f9fdmov rcx, rax
    0040fa00call starpercent___system_736
    0040fa05mov [rbp-88], rax
    0040fa09mov [rbp-96], 0
    0040fa11mov rdx, [rbp-88]
    0040fa15mov rax, [rbp-80]
    0040fa19mov rcx, rax
    0040fa1ccall pluspercent___system_696
    0040fa21mov [rbp-96], rax
    0040fa25movzx ecx, [rbp+24]
    0040fa29mov rax, [rbp+16]
    0040fa2dmov rax, [rax+8]
    0040fa31mov rdx, [rax+24]
    0040fa35mov rax, [rbp-96]
    0040fa39mov r8l, ecx
    0040fa3cmov rcx, rax
    0040fa3fcall forAllChildrenAux__system_5388
    0040fa44add [rbp-8], 1
    0040fa49jmp 0x40f987
    0040fa4e
    0040fa4eloc_40fa4e:
    0040fa4enop
    0040fa4fjmp 0x40fa52
    0040fa51
    0040fa51loc_40fa51:
    0040fa51nop
    0040fa52
    0040fa52loc_40fa52:
    0040fa52nop
    0040fa53
    0040fa53loc_40fa53:
    0040fa53nop
    0040fa54add rsp, 144
    0040fa5bpop rbp
    0040fa5cret
    0040f881
    0040fa5d
    0040fa5dcollectZCT__system_5842:
    0040fa5dpush rbp
    0040fa5emov rbp, rsp
    0040fa61sub rsp, 64
    0040fa65mov [rbp+16], rcx
    0040fa69mov [rbp-1], 0
    0040fa6dmov rax, [rbp+16]
    0040fa71add rax, 24
    0040fa75mov [rbp-16], rax
    0040fa79
    0040fa79loc_40fa79:
    0040fa79mov rax, [rbp-16]
    0040fa7dmov rax, [rax]
    0040fa80test rax, rax
    0040fa83jle 0x40fb49
    0040fa89mov rax, [rbp+16]
    0040fa8dmov rax, [rax+40]
    0040fa91mov rax, [rax]
    0040fa94mov [rbp-24], rax
    0040fa98mov rax, [rbp-24]
    0040fa9cmov rax, [rax]
    0040fa9fand rax, -5
    0040faa3mov rdx, rax
    0040faa6mov rax, [rbp-24]
    0040faaamov [rax], rdx
    0040faadmov rax, [rbp+16]
    0040fab1mov rdx, [rax+40]
    0040fab5mov rax, [rbp-16]
    0040fab9mov rax, [rax]
    0040fabcshl rax, 3
    0040fac0sub rax, 8
    0040fac4add rdx, rax
    0040fac7mov rax, [rbp+16]
    0040facbmov rax, [rax+40]
    0040facfmov rdx, [rdx]
    0040fad2mov [rax], rdx
    0040fad5mov rax, [rbp-16]
    0040fad9mov rax, [rax]
    0040fadclea rdx, [rax-1]
    0040fae0mov rax, [rbp-16]
    0040fae4mov [rax], rdx
    0040fae7mov [rbp-25], 0
    0040faebmov rax, [rbp-24]
    0040faefmov rax, [rax]
    0040faf2mov edx, 8
    0040faf7mov rcx, rax
    0040fafacall ltpercent___system_1005
    0040faffmov [rbp-25], al
    0040fb02movzx eax, [rbp-25]
    0040fb06xor eax, 1
    0040fb09test al, al
    0040fb0bjne 0x40fb43
    0040fb0dmov rax, [rbp-24]
    0040fb11mov rcx, rax
    0040fb14call prepareDealloc__system_5514
    0040fb19mov rax, [rbp-24]
    0040fb1dmov edx, 2
    0040fb22mov rcx, rax
    0040fb25call forAllChildren__system_5382
    0040fb2amov rax, [rbp+16]
    0040fb2elea rcx, [rax+104]
    0040fb32mov rax, [rbp-24]
    0040fb36mov rdx, rax
    0040fb39call rawDealloc__system_4772
    0040fb3ejmp 0x40fa79
    0040fb43
    0040fb43loc_40fb43:
    0040fb43nop
    0040fb44jmp 0x40fa79
    0040fb49
    0040fb49loc_40fb49:
    0040fb49nop
    0040fb4amov [rbp-1], 1
    0040fb4emovzx eax, [rbp-1]
    0040fb52add rsp, 64
    0040fb56pop rbp
    0040fb57ret
    0040fa5d
    0040fb58
    0040fb58deinit__system_4995:
    0040fb58push rbp
    0040fb59mov rbp, rsp
    0040fb5csub rsp, 96
    0040fb60mov [rbp+16], rcx
    0040fb64lea rax, [rip+0x1ecb8]
    0040fb6bmov [rbp-56], rax
    0040fb6flea rax, [rip+0x1e9ca]
    0040fb76mov [rbp-40], rax
    0040fb7amov [rbp-48], 0
    0040fb82mov [rbp-32], 0
    0040fb88lea rax, [rbp-64]
    0040fb8cmov rcx, rax
    0040fb8fcall nimFrame
    0040fb94mov [rbp-48], 98
    0040fb9clea rax, [rip+0x1e99d]
    0040fba3mov [rbp-40], rax
    0040fba7mov rax, [rbp+16]
    0040fbabmov rax, [rax+16]
    0040fbafmov [rbp-8], rax
    0040fbb3mov [rbp-48], 99
    0040fbbblea rax, [rip+0x1e97e]
    0040fbc2mov [rbp-40], rax
    0040fbc6
    0040fbc6loc_40fbc6:
    0040fbc6cmp [rbp-8], 0
    0040fbcbje 0x40fc27
    0040fbcdmov [rbp-48], 100
    0040fbd5lea rax, [rip+0x1e964]
    0040fbdcmov [rbp-40], rax
    0040fbe0mov rax, [rbp-8]
    0040fbe4mov rax, [rax]
    0040fbe7mov [rbp-16], rax
    0040fbebmov [rbp-48], 101
    0040fbf3lea rax, [rip+0x1e946]
    0040fbfamov [rbp-40], rax
    0040fbfemov rax, [rbp-8]
    0040fc02mov rcx, rax
    0040fc05call dealloc
    0040fc0amov [rbp-48], 102
    0040fc12lea rax, [rip+0x1e927]
    0040fc19mov [rbp-40], rax
    0040fc1dmov rax, [rbp-16]
    0040fc21mov [rbp-8], rax
    0040fc25jmp 0x40fbc6
    0040fc27
    0040fc27loc_40fc27:
    0040fc27nop
    0040fc28mov [rbp-48], 103
    0040fc30lea rax, [rip+0x1e909]
    0040fc37mov [rbp-40], rax
    0040fc3bmov rax, [rbp+16]
    0040fc3fmov [rax+16], 0
    0040fc47mov [rbp-48], 104
    0040fc4flea rax, [rip+0x1e8ea]
    0040fc56mov [rbp-40], rax
    0040fc5amov rax, [rbp+16]
    0040fc5emov rax, [rax+24]
    0040fc62mov rcx, rax
    0040fc65call dealloc
    0040fc6amov [rbp-48], 105
    0040fc72lea rax, [rip+0x1e8c7]
    0040fc79mov [rbp-40], rax
    0040fc7dmov rax, [rbp+16]
    0040fc81mov [rax+24], 0
    0040fc89mov [rbp-48], 106
    0040fc91lea rax, [rip+0x1e8a8]
    0040fc98mov [rbp-40], rax
    0040fc9cmov rax, [rbp+16]
    0040fca0mov [rax], 0
    0040fca7call popFrame
    0040fcacnop
    0040fcadadd rsp, 96
    0040fcb1pop rbp
    0040fcb2ret
    0040fb58
    0040fcb3
    0040fcb3init__system_4975:
    0040fcb3push rbp
    0040fcb4mov rbp, rsp
    0040fcb7sub rsp, 96
    0040fcbbmov [rbp+16], rcx
    0040fcbflea rax, [rip+0x1eb64]
    0040fcc6mov [rbp-56], rax
    0040fccalea rax, [rip+0x1e86f]
    0040fcd1mov [rbp-40], rax
    0040fcd5mov [rbp-48], 0
    0040fcddmov [rbp-32], 0
    0040fce3lea rax, [rbp-64]
    0040fce7mov rcx, rax
    0040fceacall nimFrame
    0040fcefmov [rbp-48], 92
    0040fcf7lea rax, [rip+0x1e842]
    0040fcfemov [rbp-40], rax
    0040fd02mov [rbp-8], 0
    0040fd0amov ecx, 8192
    0040fd0fcall alloc0Impl__system_1745
    0040fd14mov [rbp-8], rax
    0040fd18mov rax, [rbp+16]
    0040fd1cmov rdx, [rbp-8]
    0040fd20mov [rax+24], rdx
    0040fd24mov [rbp-48], 93
    0040fd2clea rax, [rip+0x1e80d]
    0040fd33mov [rbp-40], rax
    0040fd37mov rax, [rbp+16]
    0040fd3bmov [rax+8], 1023
    0040fd43mov [rbp-48], 94
    0040fd4blea rax, [rip+0x1e7ee]
    0040fd52mov [rbp-40], rax
    0040fd56mov rax, [rbp+16]
    0040fd5amov [rax], 0
    0040fd61mov [rbp-48], 95
    0040fd69lea rax, [rip+0x1e7d0]
    0040fd70mov [rbp-40], rax
    0040fd74mov rax, [rbp+16]
    0040fd78mov [rax+16], 0
    0040fd80call popFrame
    0040fd85nop
    0040fd86add rsp, 96
    0040fd8apop rbp
    0040fd8bret
    0040fcb3
    0040fd8c
    0040fd8ccellsetReset__system_5617:
    0040fd8cpush rbp
    0040fd8dmov rbp, rsp
    0040fd90sub rsp, 80
    0040fd94mov [rbp+16], rcx
    0040fd98lea rax, [rip+0x1ea90]
    0040fd9fmov [rbp-40], rax
    0040fda3lea rax, [rip+0x1e41e]
    0040fdaamov [rbp-24], rax
    0040fdaemov [rbp-32], 0
    0040fdb6mov [rbp-16], 0
    0040fdbclea rax, [rbp-48]
    0040fdc0mov rcx, rax
    0040fdc3call nimFrame
    0040fdc8mov [rbp-32], 333
    0040fdd0lea rax, [rip+0x1e3f1]
    0040fdd7mov [rbp-24], rax
    0040fddbmov rcx, [rbp+16]
    0040fddfcall deinit__system_4995
    0040fde4mov [rbp-32], 334
    0040fdeclea rax, [rip+0x1e3d5]
    0040fdf3mov [rbp-24], rax
    0040fdf7mov rcx, [rbp+16]
    0040fdfbcall init__system_4975
    0040fe00call popFrame
    0040fe05nop
    0040fe06add rsp, 80
    0040fe0apop rbp
    0040fe0bret
    0040fd8c
    0040fe0c
    0040fe0cmarkGlobals__system_5811:
    0040fe0cpush rbp
    0040fe0dmov rbp, rsp
    0040fe10sub rsp, 112
    0040fe14mov [rbp+16], rcx
    0040fe18mov rax, [rbp+16]
    0040fe1cmov rax, [rax+11208]
    0040fe23test rax, rax
    0040fe26jne 0x40fe81
    0040fe28mov [rbp-32], 0
    0040fe30mov [rbp-40], 0
    0040fe38mov rax, [rip+0x29b31]
    0040fe3fsub rax, 1
    0040fe43mov [rbp-40], rax
    0040fe47mov [rbp-8], 0
    0040fe4f
    0040fe4floc_40fe4f:
    0040fe4fmov rax, [rbp-8]
    0040fe53cmp rax, [rbp-40]
    0040fe57jg 0x40fe84
    0040fe59mov rax, [rbp-8]
    0040fe5dmov [rbp-32], rax
    0040fe61mov rax, [rbp-32]
    0040fe65lea rdx, [8*rax]
    0040fe6dlea rax, [rip+0x29b0c]
    0040fe74mov rax, [rdx+rax]
    0040fe78call rax
    0040fe7aadd [rbp-8], 1
    0040fe7fjmp 0x40fe4f
    0040fe81
    0040fe81loc_40fe81:
    0040fe81nop
    0040fe82jmp 0x40fe85
    0040fe84
    0040fe84loc_40fe84:
    0040fe84nop
    0040fe85
    0040fe85loc_40fe85:
    0040fe85mov [rbp-48], 0
    0040fe8dmov [rbp-56], 0
    0040fe95mov rax, [rip+0x30844]
    0040fe9csub rax, 1
    0040fea0mov [rbp-56], rax
    0040fea4mov [rbp-16], 0
    0040feac
    0040feacloc_40feac:
    0040feacmov rax, [rbp-16]
    0040feb0cmp rax, [rbp-56]
    0040feb4jg 0x40fede
    0040feb6mov rax, [rbp-16]
    0040febamov [rbp-48], rax
    0040febemov rax, [rbp-48]
    0040fec2lea rdx, [8*rax]
    0040fecalea rax, [rip+0x3082f]
    0040fed1mov rax, [rdx+rax]
    0040fed5call rax
    0040fed7add [rbp-16], 1
    0040fedcjmp 0x40feac
    0040fede
    0040fedeloc_40fede:
    0040fedenop
    0040fedfmov rax, [rbp+16]
    0040fee3mov rax, [rax+11200]
    0040feeamov [rbp-64], rax
    0040feeemov [rbp-72], 0
    0040fef6mov [rbp-80], 0
    0040fefemov rax, [rbp+16]
    0040ff02mov rax, [rax+11184]
    0040ff09sub rax, 1
    0040ff0dmov [rbp-80], rax
    0040ff11mov [rbp-24], 0
    0040ff19
    0040ff19loc_40ff19:
    0040ff19mov rax, [rbp-24]
    0040ff1dcmp rax, [rbp-80]
    0040ff21jg 0x40ff54
    0040ff23mov rax, [rbp-24]
    0040ff27mov [rbp-72], rax
    0040ff2bmov rax, [rbp-72]
    0040ff2flea rdx, [8*rax]
    0040ff37mov rax, [rbp-64]
    0040ff3badd rax, rdx
    0040ff3emov rax, [rax]
    0040ff41mov rdx, rax
    0040ff44mov rcx, [rbp+16]
    0040ff48call markS__system_5803
    0040ff4dadd [rbp-24], 1
    0040ff52jmp 0x40ff19
    0040ff54
    0040ff54loc_40ff54:
    0040ff54nop
    0040ff55nop
    0040ff56add rsp, 112
    0040ff5apop rbp
    0040ff5bret
    0040fe0c
    0040ff5c
    0040ff5cisCell__system_4492:
    0040ff5cpush rbp
    0040ff5dmov rbp, rsp
    0040ff60sub rsp, 96
    0040ff64mov [rbp+16], rcx
    0040ff68lea rax, [rip+0x1e8cd]
    0040ff6fmov [rbp-56], rax
    0040ff73lea rax, [rip+0x1dfe6]
    0040ff7amov [rbp-40], rax
    0040ff7emov [rbp-48], 0
    0040ff86mov [rbp-32], 0
    0040ff8clea rax, [rbp-64]
    0040ff90mov rcx, rax
    0040ff93call nimFrame
    0040ff98mov [rbp-1], 0
    0040ff9cmov [rbp-48], 407
    0040ffa4lea rax, [rip+0x1dfb5]
    0040ffabmov [rbp-40], rax
    0040ffafmov rax, [rbp+16]
    0040ffb3mov rax, [rax+8]
    0040ffb7mov rdx, rax
    0040ffbamov ecx, 1
    0040ffbfcall ltpercent___system_1005
    0040ffc4mov [rbp-1], al
    0040ffc7call popFrame
    0040ffccmovzx eax, [rbp-1]
    0040ffd0add rsp, 96
    0040ffd4pop rbp
    0040ffd5ret
    0040ff5c
    0040ffd6
    0040ffd6contains__system_5068:
    0040ffd6push rbp
    0040ffd7mov rbp, rsp
    0040ffdasub rsp, 112
    0040ffdemov [rbp+16], rcx
    0040ffe2mov [rbp+24], rdx
    0040ffe6lea rax, [rip+0x1e167]
    0040ffedmov [rbp-72], rax
    0040fff1lea rax, [rip+0x1e548]
    0040fff8mov [rbp-56], rax
    0040fffcmov [rbp-64], 0
    00410004mov [rbp-48], 0
    0041000alea rax, [rbp-80]
    0041000emov rcx, rax
    00410011call nimFrame
    00410016mov [rbp-1], 0
    0041001amov [rbp-64], 163
    00410022lea rax, [rip+0x1e517]
    00410029mov [rbp-56], rax
    0041002dmov rax, [rbp+24]
    00410031mov [rbp-16], rax
    00410035mov [rbp-64], 164
    0041003dlea rax, [rip+0x1e4fc]
    00410044mov [rbp-56], rax
    00410048mov rax, [rbp-16]
    0041004cshr rax, 12
    00410050mov rdx, rax
    00410053mov rcx, [rbp+16]
    00410057call cellSetGet__system_5007
    0041005cmov [rbp-24], rax
    00410060mov [rbp-64], 165
    00410068lea rax, [rip+0x1e4d1]
    0041006fmov [rbp-56], rax
    00410073cmp [rbp-24], 0
    00410078je 0x4100eb
    0041007amov [rbp-64], 166
    00410082lea rax, [rip+0x1e4b7]
    00410089mov [rbp-56], rax
    0041008dmov rax, [rbp-16]
    00410091and eax, 4095
    00410096shr rax, 4
    0041009amov [rbp-16], rax
    0041009emov [rbp-64], 167
    004100a6lea rax, [rip+0x1e493]
    004100admov [rbp-56], rax
    004100b1mov rax, [rbp-16]
    004100b5shr rax, 6
    004100b9mov rdx, rax
    004100bcmov rax, [rbp-24]
    004100c0add rdx, 2
    004100c4mov rdx, [rax+8*rdx]
    004100c8mov rax, [rbp-16]
    004100ccand eax, 63
    004100cfmov r8l, 1
    004100d5mov ecx, eax
    004100d7shl r8, cl
    004100damov rax, r8
    004100ddand rax, rdx
    004100e0test rax, rax
    004100e3setne al
    004100e6mov [rbp-1], al
    004100e9jmp 0x410103
    004100eb
    004100ebloc_4100eb:
    004100ebnop
    004100ecmov [rbp-64], 169
    004100f4lea rax, [rip+0x1e445]
    004100fbmov [rbp-56], rax
    004100ffmov [rbp-1], 0
    00410103
    00410103loc_410103:
    00410103call popFrame
    00410108movzx eax, [rbp-1]
    0041010cadd rsp, 112
    00410110pop rbp
    00410111ret
    0040ffd6
    00410112
    00410112freeCyclicCell__system_5795:
    00410112push rbp
    00410113mov rbp, rsp
    00410116sub rsp, 32
    0041011amov [rbp+16], rcx
    0041011emov [rbp+24], rdx
    00410122mov rax, [rbp+24]
    00410126mov rcx, rax
    00410129call prepareDealloc__system_5514
    0041012emov rax, [rbp+16]
    00410132lea rcx, [rax+104]
    00410136mov rax, [rbp+24]
    0041013amov rdx, rax
    0041013dcall rawDealloc__system_4772
    00410142nop
    00410143add rsp, 32
    00410147pop rbp
    00410148ret
    00410112
    00410149
    00410149sweep__system_5799:
    00410149push rbp
    0041014amov rbp, rsp
    0041014dsub rsp, 224
    00410154mov [rbp+16], rcx
    00410158mov [rbp-56], 0
    00410160mov rax, [rbp+16]
    00410164mov [rax+10544], 1
    0041016bmov [rbp-64], 0
    00410173mov [rbp-72], 0
    0041017bmov [rbp-8], 0
    00410183
    00410183loc_410183:
    00410183cmp [rbp-8], 255
    0041018bjg 0x41048d
    00410191mov rax, [rbp-8]
    00410195mov [rbp-72], rax
    00410199mov rax, [rbp+16]
    0041019dmov rdx, [rbp-72]
    004101a1add rdx, 1056
    004101a8mov rax, [rax+8*rdx+16]
    004101admov [rbp-16], rax
    004101b1
    004101b1loc_4101b1:
    004101b1cmp [rbp-16], 0
    004101b6je 0x410482
    004101bcmov [rbp-24], 0
    004101c4
    004101c4loc_4101c4:
    004101c4cmp [rbp-24], 7
    004101c9jg 0x410471
    004101cfmov rax, [rbp-16]
    004101d3mov rdx, [rbp-24]
    004101d7add rdx, 2
    004101dbmov rax, [rax+8*rdx]
    004101dfmov [rbp-32], rax
    004101e3mov [rbp-40], 0
    004101eb
    004101ebloc_4101eb:
    004101ebcmp [rbp-32], 0
    004101f0je 0x410466
    004101f6mov rax, [rbp-32]
    004101faand eax, 1
    004101fdtest rax, rax
    00410200je 0x41044b
    00410206mov [rbp-80], 0
    0041020emov rax, [rbp-24]
    00410212shl rax, 6
    00410216mov rcx, rax
    00410219mov rax, [rbp-40]
    0041021dmov rdx, rax
    00410220call pluspercent___system_696
    00410225mov [rbp-80], rax
    00410229mov rax, [rbp-16]
    0041022dmov rax, [rax+8]
    00410231shl rax, 9
    00410235or rax, [rbp-80]
    00410239mov [rbp-64], rax
    0041023dmov [rbp-81], 0
    00410241mov rax, [rbp+16]
    00410245lea rcx, [rax+8464]
    0041024cmov rax, [rbp-64]
    00410250mov rdx, rax
    00410253call contains__system_4308
    00410258mov [rbp-81], al
    0041025bmovzx eax, [rbp-81]
    0041025fxor eax, 1
    00410262test al, al
    00410264jne 0x41044e
    0041026amov rax, [rbp-64]
    0041026eshl rax, 12
    00410272mov [rbp-96], rax
    00410276mov [rbp-97], 0
    0041027amov rax, [rbp-96]
    0041027emov rcx, rax
    00410281call chunkUnused__system_4435
    00410286mov [rbp-97], al
    00410289cmp [rbp-97], 0
    0041028djne 0x410451
    00410293mov [rbp-98], 0
    00410297mov rax, [rbp-96]
    0041029bmov rcx, rax
    0041029ecall isSmallChunk__system_4429
    004102a3mov [rbp-98], al
    004102a6movzx eax, [rbp-98]
    004102aaxor eax, 1
    004102adtest al, al
    004102afjne 0x4103b9
    004102b5mov rax, [rbp-96]
    004102b9mov [rbp-112], rax
    004102bdmov rax, [rbp-112]
    004102c1mov rax, [rax+8]
    004102c5mov [rbp-120], rax
    004102c9mov rax, [rbp-112]
    004102cdadd rax, 64
    004102d1mov [rbp-48], rax
    004102d5mov rax, [rbp-112]
    004102d9mov rdx, [rax+48]
    004102ddmov rax, [rbp-48]
    004102e1add rax, rdx
    004102e4mov [rbp-128], rax
    004102e8
    004102e8loc_4102e8:
    004102e8mov [rbp-129], 0
    004102efmov rdx, [rbp-128]
    004102f3mov rax, [rbp-48]
    004102f7mov rcx, rax
    004102facall ltpercent___system_1005
    004102ffmov [rbp-129], al
    00410305movzx eax, [rbp-129]
    0041030cxor eax, 1
    0041030ftest al, al
    00410311jne 0x4103b3
    00410317mov rax, [rbp-48]
    0041031bmov [rbp-56], rax
    0041031fmov [rbp-130], 0
    00410326mov rax, [rbp-56]
    0041032amov rcx, rax
    0041032dcall isCell__system_4492
    00410332mov [rbp-130], al
    00410338movzx eax, [rbp-130]
    0041033fxor eax, 1
    00410342test al, al
    00410344jne 0x410396
    00410346mov rax, [rbp-56]
    0041034amov [rbp-144], rax
    00410351mov [rbp-145], 0
    00410358mov rax, [rbp+16]
    0041035clea rcx, [rax+11152]
    00410363mov rax, [rbp-144]
    0041036amov rdx, rax
    0041036dcall contains__system_5068
    00410372mov [rbp-145], al
    00410378cmp [rbp-145], 0
    0041037fjne 0x410399
    00410381mov rax, [rbp-144]
    00410388mov rdx, rax
    0041038bmov rcx, [rbp+16]
    0041038fcall freeCyclicCell__system_5795
    00410394jmp 0x41039a
    00410396
    00410396loc_410396:
    00410396nop
    00410397jmp 0x41039a
    00410399
    00410399loc_410399:
    00410399nop
    0041039a
    0041039aloc_41039a:
    0041039amov rdx, [rbp-120]
    0041039emov rax, [rbp-48]
    004103a2mov rcx, rax
    004103a5call pluspercent___system_696
    004103aamov [rbp-48], rax
    004103aejmp 0x4102e8
    004103b3
    004103b3loc_4103b3:
    004103b3nop
    004103b4jmp 0x410458
    004103b9
    004103b9loc_4103b9:
    004103b9nop
    004103bamov rax, [rbp-96]
    004103bemov [rbp-160], rax
    004103c5mov rax, [rbp-160]
    004103ccadd rax, 32
    004103d0mov [rbp-56], rax
    004103d4mov [rbp-161], 0
    004103dbmov rax, [rbp-56]
    004103dfmov rcx, rax
    004103e2call isCell__system_4492
    004103e7mov [rbp-161], al
    004103edmovzx eax, [rbp-161]
    004103f4xor eax, 1
    004103f7test al, al
    004103f9jne 0x410454
    004103fbmov rax, [rbp-56]
    004103ffmov [rbp-176], rax
    00410406mov [rbp-177], 0
    0041040dmov rax, [rbp+16]
    00410411lea rcx, [rax+11152]
    00410418mov rax, [rbp-176]
    0041041fmov rdx, rax
    00410422call contains__system_5068
    00410427mov [rbp-177], al
    0041042dcmp [rbp-177], 0
    00410434jne 0x410457
    00410436mov rax, [rbp-176]
    0041043dmov rdx, rax
    00410440mov rcx, [rbp+16]
    00410444call freeCyclicCell__system_5795
    00410449jmp 0x410458
    0041044b
    0041044bloc_41044b:
    0041044bnop
    0041044cjmp 0x410458
    0041044e
    0041044eloc_41044e:
    0041044enop
    0041044fjmp 0x410458
    00410451
    00410451loc_410451:
    00410451nop
    00410452jmp 0x410458
    00410454
    00410454loc_410454:
    00410454nop
    00410455jmp 0x410458
    00410457
    00410457loc_410457:
    00410457nop
    00410458
    00410458loc_410458:
    00410458add [rbp-40], 1
    0041045dshr [rbp-32], 1
    00410461jmp 0x4101eb
    00410466
    00410466loc_410466:
    00410466nop
    00410467add [rbp-24], 1
    0041046cjmp 0x4101c4
    00410471
    00410471loc_410471:
    00410471nop
    00410472mov rax, [rbp-16]
    00410476mov rax, [rax]
    00410479mov [rbp-16], rax
    0041047djmp 0x4101b1
    00410482
    00410482loc_410482:
    00410482nop
    00410483add [rbp-8], 1
    00410488jmp 0x410183
    0041048d
    0041048dloc_41048d:
    0041048dnop
    0041048emov rax, [rbp+16]
    00410492mov [rax+10544], 0
    00410499nop
    0041049aadd rsp, 224
    004104a1pop rbp
    004104a2ret
    00410149
    004104a3
    004104a3collectCycles__system_5844:
    004104a3push rbp
    004104a4mov rbp, rsp
    004104a7sub rsp, 80
    004104abmov [rbp+16], rcx
    004104af
    004104afloc_4104af:
    004104afmov rax, [rbp+16]
    004104b3mov rax, [rax+24]
    004104b7test rax, rax
    004104bajle 0x4104ce
    004104bcmov [rbp-9], 0
    004104c0mov rcx, [rbp+16]
    004104c4call collectZCT__system_5842
    004104c9mov [rbp-9], al
    004104ccjmp 0x4104af
    004104ce
    004104celoc_4104ce:
    004104cenop
    004104cfmov rax, [rbp+16]
    004104d3add rax, 11152
    004104d9mov rcx, rax
    004104dccall cellsetReset__system_5617
    004104e1mov rax, [rbp+16]
    004104e5mov rax, [rax+64]
    004104e9mov [rbp-24], rax
    004104edmov [rbp-32], 0
    004104f5mov [rbp-40], 0
    004104fdmov rax, [rbp+16]
    00410501mov rax, [rax+48]
    00410505sub rax, 1
    00410509mov [rbp-40], rax
    0041050dmov [rbp-8], 0
    00410515
    00410515loc_410515:
    00410515mov rax, [rbp-8]
    00410519cmp rax, [rbp-40]
    0041051djg 0x410550
    0041051fmov rax, [rbp-8]
    00410523mov [rbp-32], rax
    00410527mov rax, [rbp-32]
    0041052blea rdx, [8*rax]
    00410533mov rax, [rbp-24]
    00410537add rax, rdx
    0041053amov rax, [rax]
    0041053dmov rdx, rax
    00410540mov rcx, [rbp+16]
    00410544call markS__system_5803
    00410549add [rbp-8], 1
    0041054ejmp 0x410515
    00410550
    00410550loc_410550:
    00410550nop
    00410551mov rcx, [rbp+16]
    00410555call markGlobals__system_5811
    0041055amov rcx, [rbp+16]
    0041055ecall sweep__system_5799
    00410563nop
    00410564add rsp, 80
    00410568pop rbp
    00410569ret
    004104a3
    0041056a
    0041056agetOccupiedMem__system_1936:
    0041056apush rbp
    0041056bmov rbp, rsp
    0041056esub rsp, 16
    00410572mov [rbp-8], 0
    0041057amov rax, [rip+0x2891f]
    00410581mov [rbp-8], rax
    00410585mov rax, [rbp-8]
    00410589add rsp, 16
    0041058dpop rbp
    0041058eret
    0041056a
    0041058f
    0041058funmarkStackAndRegisters__system_5916:
    0041058fpush rbp
    00410590mov rbp, rsp
    00410593sub rsp, 64
    00410597mov [rbp+16], rcx
    0041059bmov rax, [rbp+16]
    0041059fmov rax, [rax+64]
    004105a3mov [rbp-16], rax
    004105a7mov [rbp-24], 0
    004105afmov [rbp-32], 0
    004105b7mov rax, [rbp+16]
    004105bbmov rax, [rax+48]
    004105bfsub rax, 1
    004105c3mov [rbp-32], rax
    004105c7mov [rbp-8], 0
    004105cf
    004105cfloc_4105cf:
    004105cfmov rax, [rbp-8]
    004105d3cmp rax, [rbp-32]
    004105d7jg 0x410606
    004105d9mov rax, [rbp-8]
    004105ddmov [rbp-24], rax
    004105e1mov rax, [rbp-24]
    004105e5lea rdx, [8*rax]
    004105edmov rax, [rbp-16]
    004105f1add rax, rdx
    004105f4mov rax, [rax]
    004105f7mov rcx, rax
    004105facall decRef__system_5399
    004105ffadd [rbp-8], 1
    00410604jmp 0x4105cf
    00410606
    00410606loc_410606:
    00410606nop
    00410607mov rax, [rbp+16]
    0041060bmov [rax+48], 0
    00410613nop
    00410614add rsp, 64
    00410618pop rbp
    00410619ret
    0041058f
    0041061a
    0041061acollectCTBody__system_5924:
    0041061apush rbp
    0041061bmov rbp, rsp
    0041061esub rsp, 80
    00410622mov [rbp+16], rcx
    00410626mov [rbp-16], 0
    0041062ecall stackSize__system_5472
    00410633mov [rbp-16], rax
    00410637mov rax, [rbp+16]
    0041063bmov rax, [rax+11120]
    00410642cmp [rbp-16], rax
    00410646cmovge rax, [rbp-16]
    0041064bmov rdx, rax
    0041064emov rax, [rbp+16]
    00410652mov [rax+11120], rdx
    00410659mov rax, [rbp+16]
    0041065dadd rax, 104
    00410661mov rcx, rax
    00410664call prepareForInteriorPointerChecking__system_4824
    00410669mov rcx, [rbp+16]
    0041066dcall markStackAndRegisters__system_5861
    00410672mov rax, [rbp+16]
    00410676mov rdx, [rax+11128]
    0041067dmov rax, [rbp+16]
    00410681mov rax, [rax+48]
    00410685cmp rdx, rax
    00410688cmovl rdx, rax
    0041068cmov rax, [rbp+16]
    00410690mov [rax+11128], rdx
    00410697mov rax, [rbp+16]
    0041069bmov rax, [rax+11096]
    004106a2lea rdx, [rax+1]
    004106a6mov rax, [rbp+16]
    004106aamov [rax+11096], rdx
    004106b1mov [rbp-17], 0
    004106b5mov rcx, [rbp+16]
    004106b9call collectZCT__system_5842
    004106bemov [rbp-17], al
    004106c1movzx eax, [rbp-17]
    004106c5xor eax, 1
    004106c8test al, al
    004106cajne 0x410793
    004106d0mov [rbp-1], 0
    004106d4mov [rbp-32], 0
    004106dcmov rax, [rbp+16]
    004106e0add rax, 104
    004106e4mov rcx, rax
    004106e7call getOccupiedMem__system_4903
    004106ecmov [rbp-32], rax
    004106f0mov rax, [rbp+16]
    004106f4mov rax, [rax+8]
    004106f8cmp [rbp-32], rax
    004106fcsetge al
    004106ffmov [rbp-1], al
    00410702cmp [rbp-1], 0
    00410706jne 0x41070e
    00410708mov [rbp-1], 0
    0041070cjmp 0x41070f
    0041070e
    0041070eloc_41070e:
    0041070enop
    0041070f
    0041070floc_41070f:
    0041070fmovzx eax, [rbp-1]
    00410713xor eax, 1
    00410716test al, al
    00410718jne 0x410796
    0041071amov rcx, [rbp+16]
    0041071ecall collectCycles__system_5844
    00410723mov rax, [rbp+16]
    00410727mov rax, [rax+11104]
    0041072elea rdx, [rax+1]
    00410732mov rax, [rbp+16]
    00410736mov [rax+11104], rdx
    0041073dmov [rbp-40], 0
    00410745call getOccupiedMem__system_1936
    0041074amov [rbp-40], rax
    0041074emov rax, [rbp-40]
    00410752add rax, rax
    00410755mov edx, 0x400000
    0041075acmp rax, 0x400000
    00410760cmovge rdx, rax
    00410764mov rax, [rbp+16]
    00410768mov [rax+8], rdx
    0041076cmov rax, [rbp+16]
    00410770mov rdx, [rax+11112]
    00410777mov rax, [rbp+16]
    0041077bmov rax, [rax+8]
    0041077fcmp rdx, rax
    00410782cmovl rdx, rax
    00410786mov rax, [rbp+16]
    0041078amov [rax+11112], rdx
    00410791jmp 0x410797
    00410793
    00410793loc_410793:
    00410793nop
    00410794jmp 0x410797
    00410796
    00410796loc_410796:
    00410796nop
    00410797
    00410797loc_410797:
    00410797mov rcx, [rbp+16]
    0041079bcall unmarkStackAndRegisters__system_5916
    004107a0nop
    004107a1add rsp, 80
    004107a5pop rbp
    004107a6ret
    0041061a
    004107a7
    004107a7collectCT__system_5378:
    004107a7push rbp
    004107a8mov rbp, rsp
    004107absub rsp, 48
    004107afmov [rbp+16], rcx
    004107b3mov [rbp-1], 0
    004107b7mov [rbp-2], 0
    004107bbmov [rbp-3], 0
    004107bfmov rax, [rbp+16]
    004107c3mov rdx, [rax+16]
    004107c7mov rax, [rbp+16]
    004107cbmov rax, [rax+24]
    004107cfcmp rdx, rax
    004107d2setle al
    004107d5mov [rbp-3], al
    004107d8cmp [rbp-3], 0
    004107dcjne 0x41082b
    004107demov [rbp-4], 0
    004107e2mov [rbp-4], 1
    004107e6movzx eax, [rbp-4]
    004107eaxor eax, 1
    004107edtest al, al
    004107efjne 0x410821
    004107f1mov [rbp-16], 0
    004107f9mov rax, [rbp+16]
    004107fdadd rax, 104
    00410801mov rcx, rax
    00410804call getOccupiedMem__system_4903
    00410809mov [rbp-16], rax
    0041080dmov rax, [rbp+16]
    00410811mov rax, [rax+8]
    00410815cmp [rbp-16], rax
    00410819setge al
    0041081cmov [rbp-4], al
    0041081fjmp 0x410822
    00410821
    00410821loc_410821:
    00410821nop
    00410822
    00410822loc_410822:
    00410822movzx eax, [rbp-4]
    00410826mov [rbp-3], al
    00410829jmp 0x41082c
    0041082b
    0041082bloc_41082b:
    0041082bnop
    0041082c
    0041082cloc_41082c:
    0041082cmovzx eax, [rbp-3]
    00410830mov [rbp-2], al
    00410833cmp [rbp-2], 0
    00410837jne 0x41083f
    00410839mov [rbp-2], 0
    0041083djmp 0x410840
    0041083f
    0041083floc_41083f:
    0041083fnop
    00410840
    00410840loc_410840:
    00410840movzx eax, [rbp-2]
    00410844mov [rbp-1], al
    00410847movzx eax, [rbp-1]
    0041084bxor eax, 1
    0041084etest al, al
    00410850jne 0x410865
    00410852mov rax, [rbp+16]
    00410856mov rax, [rax+96]
    0041085atest rax, rax
    0041085dsete al
    00410860mov [rbp-1], al
    00410863jmp 0x410866
    00410865
    00410865loc_410865:
    00410865nop
    00410866
    00410866loc_410866:
    00410866movzx eax, [rbp-1]
    0041086axor eax, 1
    0041086dtest al, al
    0041086fjne 0x41089e
    00410871mov rcx, [rbp+16]
    00410875call collectCTBody__system_5924
    0041087amov rax, [rbp+16]
    0041087emov rax, [rax+24]
    00410882add rax, rax
    00410885mov edx, 500
    0041088acmp rax, 500
    00410890cmovge rdx, rax
    00410894mov rax, [rbp+16]
    00410898mov [rax+16], rdx
    0041089cjmp 0x41089f
    0041089e
    0041089eloc_41089e:
    0041089enop
    0041089f
    0041089floc_41089f:
    0041089fnop
    004108a0add rsp, 48
    004108a4pop rbp
    004108a5ret
    004107a7