joyce8/EMBER2024-capa huggingface dataset:
Function at 0x1400021aa
Capabilities:
Terminate process

Disassembly:
push rsi
push rbx
sub rsp, 0x28
test rdx, rdx
mov rbx, rcx
mov rsi, rdx
jns 0x1400021fa
mov eax, 1
shl rax, 0x3f
cmp rdx, rax
je 0x1400021cc
neg rsi
mov edx, 1
mov rcx, rbx
call sym.prepareAdd
mov rax, qword [rbx]
mov rdx, qword [rbx + 8]
mov byte [rdx + rax + 8], 0x2d
add rax, 1
jo 0x1400021f5
mov byte [rdx + rax + 8], 0
mov qword [rbx], rax
jmp 0x1400021fa
call sym.raiseOverflow
mov rdx, rsi
mov rcx, rbx
add rsp, 0x28
pop rbx
pop rsi
jmp sym.addIntImpl__stdZprivateZdigitsutils_u61

Function at 0x1400027e5
Capabilities:
Terminate process

Disassembly:
push rbx
sub rsp, 0x20
mov rbx, rcx
test rdx, rdx
mov rcx, rdx
mov qword [rbx], rdx
jns 0x14000280e
movabs r8, 0x7fffffffffffffff
xor edx, edx
add rsp, 0x20
pop rbx
jmp sym.raiseRangeErrorI
call sym.allocShared0Impl__system_u1776
mov qword [rbx + 8], rax
add rsp, 0x20
pop rbx
ret

Function at 0x140002ac1
Capabilities:
Terminate process

Disassembly:
mov rcx, qword [rcx + 8]
test rcx, rcx
je 0x140002acf
jmp sym.deallocShared
ret

Function at 0x140002b9c
Capabilities:
Terminate process

Disassembly:
push r13
push r12
push rbp
push rdi
push rsi
push rbx
sub rsp, 0x28
xor eax, eax
mov r12b, byte [rcx]
mov rbp, qword [rcx + 0x10]
mov r13, qword [rdx + 8]
mov rsi, qword [rdx + 0x10]
lea r8, [rcx + 1]
mov rbx, rcx
mov ecx, 0x17
mov rdi, r8
rep stosb byte [rdi], al
mov al, byte [rdx]
test al, al
mov byte [rbx], al
je 0x140002bdc
dec al
jne 0x140002c10
mov qword [rbx + 8], r13
jmp 0x140002c10
test rsi, rsi
je 0x140002bf6
mov rax, qword [rsi - 0x10]
add rax, 0x10
jo 0x140002bf1
mov qword [rsi - 0x10], rax
jmp 0x140002bf6
call sym.raiseOverflow
xor ecx, ecx
mov qword [rbx + 0x10], rsi
mov qword [rbx + 8], r13
call sym.nimDecRefIsLastCyclicDyn_1
test al, al
je 0x140002c10
xor ecx, ecx
call sym.nimDestroyAndDispose
test r12b, r12b
jne 0x140002c35
mov rcx, rbp
call sym.nimDecRefIsLastCyclicDyn_1
test al, al
je 0x140002c35
mov rcx, rbp
add rsp, 0x28
pop rbx
pop rsi
pop rdi
pop rbp
pop r12
pop r13
jmp sym.nimDestroyAndDispose
add rsp, 0x28
pop rbx
pop rsi
pop rdi
pop rbp
pop r12
pop r13
ret

Function at 0x140002c78
Capabilities:
Terminate process

Disassembly:
push rbx
sub rsp, 0x20
cmp byte [rcx], 0
mov rbx, rcx
jne 0x140002ca0
mov rcx, qword [rcx + 0x10]
call sym.nimDecRefIsLastCyclicDyn_1
test al, al
je 0x140002ca0
mov rcx, qword [rbx + 0x10]
add rsp, 0x20
pop rbx
jmp sym.nimDestroyAndDispose
add rsp, 0x20
pop rbx
ret

Function at 0x140002ee9
Capabilities:
Terminate process

Disassembly:
push rbp
push rdi
push rsi
push rbx
sub rsp, 0x28
xor edi, edi
mov rsi, qword [rcx + 8]
mov rbp, qword [rcx]
lea rbx, [rsi + 0x18]
cmp rdi, rbp
jl 0x140002f0a
test rsi, rsi
jne 0x140002f2d
jmp 0x140002f48
cmp byte [rbx - 0x10], 0
jne 0x140002f24
mov rcx, qword [rbx]
call sym.nimDecRefIsLastCyclicDyn_1
test al, al
je 0x140002f24
mov rcx, qword [rbx]
call sym.nimDestroyAndDispose
inc rdi
add rbx, 0x18
jmp 0x140002efe
test byte [rsi + 7], 0x40
jne 0x140002f48
mov edx, 8
mov rcx, rsi
add rsp, 0x28
pop rbx
pop rsi
pop rdi
pop rbp
jmp sym.alignedDealloc
add rsp, 0x28
pop rbx
pop rsi
pop rdi
pop rbp
ret
Function at 0x140002f7a
Capabilities:
Terminate process

Disassembly:
push rdi
push rsi
mov rax, qword [rdx]
mov rsi, qword [rdx + 8]
test rax, rax
mov r8, rcx
jle 0x140002fd9
mov rcx, rax
add rcx, 1
jo 0x140002fb5
test rcx, rcx
jns 0x140002fbc
mov ecx, 1
xor edx, edx
movabs r8, 0x7fffffffffffffff
shl rcx, 0x3f
pop rsi
pop rdi
jmp sym.raiseRangeErrorI
pop rsi
pop rdi
jmp sym.raiseOverflow
mov rdx, qword [r8]
add rsi, 8
mov r9, qword [r8 + 8]
lea rdx, [r9 + rdx + 8]
mov rdi, rdx
rep movsb byte [rdi], byte [rsi]
add rax, qword [r8]
jo 0x140002fb5
mov qword [r8], rax
pop rsi
pop rdi
ret

Function at 0x1400034f4
Capabilities:
Read file on windows

Disassembly:
push rdi
push rsi
sub rsp, 0x38
mov rsi, rcx
mov rcx, rdx
mov edx, 1
mov r9, rsi
mov rdi, r8
call sym.fread
cmp rdi, rax
je 0x140003527
mov rcx, rsi
mov qword [rsp + 0x28], rax
call sym.checkErr__stdZsyncio_u165
mov rax, qword [rsp + 0x28]
add rsp, 0x38
pop rsi
pop rdi
ret

Function at 0x140004321
Capabilities:
Write file on windows

Disassembly:
push rbx
sub rsp, 0x30
mov rbx, rcx
mov rcx, rdx
mov edx, 1
mov r9, rbx
call sym.fwrite
mov rcx, rbx
mov qword [rsp + 0x28], rax
call sym.checkErr__stdZsyncio_u165
mov rax, qword [rsp + 0x28]
add rsp, 0x30
pop rbx
ret

Function at 0x140004672
Capabilities:
Write file on windows

Disassembly:
push rsi
push rbx
sub rsp, 0x28
xor r8d, r8d
test rdx, rdx
mov rsi, rcx
mov rbx, rdx
je 0x140004691
mov rcx, rdx
call sym.strlen
mov r8, rax
mov rcx, rbx
mov r9, rsi
mov edx, 1
call sym.fwrite
mov rcx, rsi
add rsp, 0x28
pop rbx
pop rsi
jmp sym.fflush

Function at 0x1400047f2
Capabilities:
Terminate process

Disassembly:
push rbp
push rdi
push rsi
push rbx
sub rsp, 0x28
mov rbx, qword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll___acrt_iob_func]
lea rsi, [0x14003d618]
mov rbp, qword [rcx]
mov rdi, qword [rcx + 8]
mov ecx, 2
call rbx
lea rdx, str.could_not_load:
mov rcx, rax
call sym.rawWrite
test rbp, rbp
je 0x14000482e
lea rsi, [rdi + 8]
mov ecx, 2
call rbx
mov rdx, rsi
mov rcx, rax
call sym.rawWrite
call qword [sym.imp.KERNEL32.dll_GetLastError]
cmp eax, 0xc1
jne 0x140004863
mov ecx, 2
call rbx
lea rdx, str._n_bad_format__library_may_be_wrong_architecture_
mov rcx, rax
call sym.rawWrite
mov ecx, 2
call rbx
lea rdx, [0x14003d65b]
mov rcx, rax
call sym.rawWrite
mov ecx, 1
call sym.exit
nop

Function at 0x140004884
Capabilities:
Terminate process

Disassembly:
push rsi
push rbx
sub rsp, 0x28
mov rbx, qword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll___acrt_iob_func]
mov rsi, rcx
mov ecx, 2
call rbx
lea rdx, str.could_not_import:
mov rcx, rax
call sym.rawWrite
mov ecx, 2
call rbx
mov rdx, rsi
mov rcx, rax
call sym.rawWrite
mov ecx, 2
call rbx
lea rdx, [0x14003d65b]
mov rcx, rax
call sym.rawWrite
mov ecx, 1
call sym.exit
nop

Function at 0x1400049cf
Capabilities:
Terminate process

Disassembly:
sub rsp, 0x28
mov rax, qword [0x14004bb80]
test rax, rax
je 0x1400049e1
call rax
mov ecx, 2
call qword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll___acrt_iob_func]
lea rdx, str.out_of_memory_n
mov rcx, rax
call sym.rawWrite
mov ecx, 1
call sym.exit
nop
Function at 0x1400054f0
Capabilities:
Terminate process

Disassembly:
sub rsp, 0x28
mov r11, qword [rdx + 8]
mov r9, rcx
mov r10, rdx
sar rdx, 0xc
lea rcx, [rcx + 0x20a0]
call sym.excl__system_u6291
mov rax, qword [r9 + 0x2070]
mov r8d, 0x8000
mov rcx, r10
mov rdx, qword [r9 + 0x2078]
cmp rdx, rax
cmovl rdx, rax
sub rax, r11
mov qword [r9 + 0x2070], rax
mov qword [r9 + 0x2078], rdx
xor edx, edx
call qword [sym.imp.KERNEL32.dll_VirtualFree]
test eax, eax
jne 0x140005560
lea rcx, str.virtualFree_failing_
call sym.printf.constprop.0
mov ecx, 1
call sym.exit
nop
add rsp, 0x28
ret

Function at 0x140005565
Capabilities:
Terminate process

Disassembly:
mov rax, qword [rdx + 8]
sub qword [rcx + 0x2088], rax
cmp rax, 0x3f000000
jg 0x14000557d
jmp sym.freeBigChunk__system_u6557
jmp sym.freeHugeChunk__system_u6605

Function at 0x140005582
Capabilities:
Terminate process

Disassembly:
sub rsp, 0x28
mov r8, rdx
mov r9, rcx
and r8, 0xfffffffffffff000
mov rax, qword [r8 + 8]
mov rcx, qword [r8 + 0x10]
cmp rax, 0xfb0
jle 0x1400055b8
cmp r9, rcx
je 0x140005645
mov rdx, r8
add rsp, 0x28
jmp sym.addToSharedFreeListBigChunks__system_u6638
cmp r9, rcx
je 0x1400055c9
mov rcx, r8
add rsp, 0x28
jmp sym.addToSharedFreeList__system_u6681
mov r10, qword [r8 + 0x28]
sub qword [r9 + 0x2088], rax
mov qword [rdx], r10
mov qword [r8 + 0x28], rdx
mov rdx, qword [r8 + 0x30]
lea r10, [rdx + rax]
cmp rdx, rax
jl 0x14000561f
cmp r10, 0xfb0
mov qword [r8 + 0x30], r10
jne 0x140005654
mov ecx, 0x10
cqo
idiv rcx
lea rcx, [r9 + rax*8]
mov rdx, r8
call sym.listRemove__system_u6901
mov rcx, r9
mov qword [r8 + 8], 0x1000
add rsp, 0x28
jmp sym.freeBigChunk__system_u6557
cqo
mov r9d, 0x10
idiv r9
mov rdx, qword [rcx + rax*8]
test rdx, rdx
mov qword [r8 + 0x18], rdx
je 0x14000563b
mov qword [rdx + 0x20], r8
mov qword [rcx + rax*8], r8
mov qword [r8 + 0x30], r10
jmp 0x140005654
mov rdx, r8
mov rcx, r9
add rsp, 0x28
jmp sym.deallocBigChunk__system_u6627
add rsp, 0x28
ret

Function at 0x1400056fc
Capabilities:
Terminate process

Disassembly:
push rbx
sub rsp, 0x20
mov rbx, rcx
lea rcx, [0x14003c4c0]
call dbg.__emutls_get_address
mov rdx, rbx
mov rcx, rax
add rsp, 0x20
pop rbx
jmp sym.rawDealloc__system_u6968

Function at 0x140005724
Capabilities:
Terminate process

Disassembly:
cmp rdx, 0x10
jle 0x140005731
movzx eax, word [rcx - 2]
sub rcx, rax
jmp sym.deallocImpl__system_u1765

Function at 0x140005789
Capabilities:
Terminate process

Disassembly:
mov rcx, qword [rcx + 8]
test rcx, rcx
je 0x14000579d
test byte [rcx + 7], 0x40
jne 0x14000579d
jmp sym.deallocImpl__system_u1765
ret

Function at 0x140005885
Capabilities:
Terminate process

Disassembly:
push rbx
sub rsp, 0x30
mov rbx, rcx
mov ecx, 0x10
mov qword [rsp + 0x28], rdx
call sym.align__system_u1636
mov rdx, qword [rsp + 0x28]
sub rbx, rax
mov rcx, rbx
add rsp, 0x30
pop rbx
jmp sym.alignedDealloc
Function at 0x1400058b1
Capabilities:
Terminate process

Disassembly:
push rbx
sub rsp, 0x20
mov rax, qword [rcx]
mov rax, qword [rax]
mov rbx, rcx
test rax, rax
jne 0x1400058d6
mov rax, qword [rbx]
mov rcx, rbx
movsx rdx, word [rax + 0x10]
add rsp, 0x20
pop rbx
jmp sym.nimRawDispose
call rax
lea rcx, [0x14003c4a0]
call dbg.__emutls_get_address
cmp byte [rax], 0
je 0x1400058c4
add rsp, 0x20
pop rbx
ret

Function at 0x140005c61
Capabilities:
Terminate process

Disassembly:
push rdi
push rsi
push rbx
sub rsp, 0x20
mov rdi, qword [rcx]
test rdx, rdx
mov rsi, rcx
mov rbx, rdx
je 0x140005c8b
mov rax, qword [rdx - 0x10]
add rax, 0x10
jo 0x140005c86
mov qword [rdx - 0x10], rax
jmp 0x140005c8b
call sym.raiseOverflow
mov qword [rsi], rbx
mov rcx, rdi
call sym.nimDecRefIsLastCyclicDyn_2
test al, al
je 0x140005ca9
mov rcx, rdi
add rsp, 0x20
pop rbx
pop rsi
pop rdi
jmp sym.nimDestroyAndDispose
add rsp, 0x20
pop rbx
pop rsi
pop rdi
ret

Function at 0x140005e9e
Capabilities:
Terminate process

Disassembly:
push r15
push r14
push r13
push r12
push rbp
push rdi
push rsi
push rbx
sub rsp, 0x48
xor eax, eax
lea rbx, [rsp + 0x20]
mov rbp, rdx
mov rdx, rcx
mov qword [rsp + 0x30], rax
mov rcx, rbx
mov r12, r8
mov qword [rsp + 0x38], rax
call sym.dollar___systemZdollars_u11
lea rcx, [0x14003c4a0]
mov r13, qword [rsp + 0x20]
call dbg.__emutls_get_address
mov rdi, qword [rsp + 0x28]
cmp byte [rax], 0
mov rsi, rax
jne 0x140006026
mov rdx, rbp
mov rcx, rbx
call sym.dollar___systemZdollars_u11
cmp byte [rsi], 0
mov r14, qword [rsp + 0x20]
mov rbp, qword [rsp + 0x28]
jne 0x140006026
mov rdx, r12
mov rcx, rbx
call sym.dollar___systemZdollars_u11
cmp byte [rsi], 0
mov r15, qword [rsp + 0x20]
mov r12, qword [rsp + 0x28]
jne 0x140006026
lea rax, [r13 + r14]
lea rsi, [rsp + 0x30]
lea rdx, [rax + r15 + 0x1f]
mov rcx, rsi
call sym.rawNewString
movaps xmm0, xmmword [0x14003dde0]
mov rdx, rbx
mov rcx, rsi
movaps xmmword [rsp + 0x20], xmm0
call sym.appendString_1
mov rdx, rbx
mov rcx, rsi
mov qword [rsp + 0x20], r13
mov qword [rsp + 0x28], rdi
call sym.appendString_1
movaps xmm1, xmmword [0x14003dd20]
mov rdx, rbx
mov rcx, rsi
movaps xmmword [rsp + 0x20], xmm1
call sym.appendString_1
mov rdx, rbx
mov rcx, rsi
mov qword [rsp + 0x20], r14
mov qword [rsp + 0x28], rbp
call sym.appendString_1
movaps xmm2, xmmword [0x14003dd00]
mov rdx, rbx
mov rcx, rsi
movaps xmmword [rsp + 0x20], xmm2
call sym.appendString_1
mov rdx, rbx
mov rcx, rsi
mov qword [rsp + 0x20], r15
mov qword [rsp + 0x28], r12
call sym.appendString_1
movaps xmm3, xmmword [rsp + 0x30]
mov rcx, rbx
movaps xmmword [rsp + 0x20], xmm3
call sym.sysFatal__system_u4811
test r12, r12
je 0x140005ff0
test byte [r12 + 7], 0x40
jne 0x140005ff0
mov rcx, r12
call sym.deallocImpl__system_u1765
test rbp, rbp
je 0x140006003
test byte [rbp + 7], 0x40
jne 0x140006003
mov rcx, rbp
call sym.deallocImpl__system_u1765
test rdi, rdi
je 0x140006026
test byte [rdi + 7], 0x40
jne 0x140006026
mov rcx, rdi
add rsp, 0x48
pop rbx
pop rsi
pop rdi
pop rbp
pop r12
pop r13
pop r14
pop r15
jmp sym.deallocImpl__system_u1765
add rsp, 0x48
pop rbx
pop rsi
pop rdi
pop rbp
pop r12
pop r13
pop r14
pop r15
ret
Function at 0x140006037
Capabilities:
Terminate process

Disassembly:
push rbx
sub rsp, 0x20
imul rax, qword [rcx + 8], 3
mov rbx, rcx
jo 0x14000605a
mov ecx, 2
cqo
idiv rcx
imul rcx, rax, 0x10
mov qword [rbx + 8], rax
jno 0x140006064
add rsp, 0x20
pop rbx
jmp sym.raiseOverflow
test rcx, rcx
jns 0x14000607f
movabs r8, 0x7fffffffffffffff
xor edx, edx
add rsp, 0x20
pop rbx
jmp sym.raiseRangeErrorI
mov rdx, rcx
mov rcx, qword [rbx + 0x10]
call sym.reallocImpl__system_u1767
mov qword [rbx + 0x10], rax
add rsp, 0x20
pop rbx
ret

Function at 0x14000656e
Capabilities:
Terminate process

Disassembly:
push rbx
sub rsp, 0x30
mov rbx, rcx
mov rcx, qword [rcx + 8]
call sym.nimDecRefIsLastCyclicDyn_2
test al, al
je 0x14000658c
mov rcx, qword [rbx + 8]
call sym.nimDestroyAndDispose
mov rcx, qword [rbx + 0x20]
test rcx, rcx
je 0x1400065a0
test byte [rcx + 7], 0x40
jne 0x1400065a0
call sym.deallocImpl__system_u1765
movups xmm0, xmmword [rbx + 0x28]
lea rcx, [rsp + 0x20]
movaps xmmword [rsp + 0x20], xmm0
call sym.eqdestroy___stdZassertions_u91
mov rcx, qword [rbx + 0x38]
call sym.nimDecRefIsLastCyclicDyn_2
test al, al
je 0x1400065ce
mov rcx, qword [rbx + 0x38]
add rsp, 0x30
pop rbx
jmp sym.nimDestroyAndDispose
add rsp, 0x30
pop rbx
ret

Function at 0x1400065d6
Capabilities:
Terminate process

Disassembly:
push rbx
sub rsp, 0x20
mov rbx, qword [rcx]
mov qword [rcx], rdx
mov rcx, rbx
call sym.nimDecRefIsLastCyclicDyn_2
test al, al
je 0x1400065fa
mov rcx, rbx
add rsp, 0x20
pop rbx
jmp sym.nimDestroyAndDispose
add rsp, 0x20
pop rbx
ret

Function at 0x140006600
Capabilities:
Terminate process

Disassembly:
push rbx
sub rsp, 0x20
imul rax, qword [rcx + 8], 3
mov rbx, rcx
jo 0x140006623
mov ecx, 2
cqo
idiv rcx
imul rcx, rax, 0x10
mov qword [rbx + 8], rax
jno 0x14000662d
add rsp, 0x20
pop rbx
jmp sym.raiseOverflow
test rcx, rcx
jns 0x140006648
movabs r8, 0x7fffffffffffffff
xor edx, edx
add rsp, 0x20
pop rbx
jmp sym.raiseRangeErrorI
mov rdx, rcx
mov rcx, qword [rbx + 0x10]
call sym.reallocImpl__system_u1767
mov qword [rbx + 0x10], rax
add rsp, 0x20
pop rbx
ret
Function at 0x1400067e8
Capabilities:
Terminate process

Disassembly:
push rbp
push rdi
push rsi
push rbx
sub rsp, 0x28
mov rbx, rdx
add rbx, qword [rcx]
mov rbp, rcx
jo 0x140006817
mov rdi, qword [rcx + 8]
test rdi, rdi
je 0x14000680e
mov rsi, qword [rdi]
bt rsi, 0x3e
jae 0x140006824
mov rcx, rbx
add rcx, 1
jno 0x140006834
add rsp, 0x28
pop rbx
pop rsi
pop rdi
pop rbp
jmp sym.raiseOverflow
btr rsi, 0x3e
cmp rbx, rsi
jle 0x1400068e7
jmp 0x140006876
add rcx, 8
jo 0x140006817
test rcx, rcx
js 0x1400068b8
call sym.allocShared0Impl__system_u1776
mov rdx, qword [rbp]
mov qword [rbp + 8], rax
mov qword [rax], rbx
test rdx, rdx
jle 0x1400068e7
cmp rbx, rdx
cmovle rdx, rbx
test rdx, rdx
mov rcx, rdx
js 0x1400068b8
lea rsi, [rdi + 8]
add rax, 8
mov rdi, rax
rep movsb byte [rdi], byte [rsi]
jmp 0x1400068e7
mov rcx, rsi
call sym.resize__system_u2201
add rsi, 9
jns 0x140006895
movabs r8, 0x7fffffffffffffff
xor edx, edx
mov rcx, rsi
jmp 0x1400068c4
cmp rbx, rax
cmovl rbx, rax
mov rcx, rbx
add rcx, 1
jo 0x140006817
add rcx, 8
jo 0x140006817
test rcx, rcx
jns 0x1400068d1
movabs r8, 0x7fffffffffffffff
xor edx, edx
add rsp, 0x28
pop rbx
pop rsi
pop rdi
pop rbp
jmp sym.raiseRangeErrorI
mov r8, rcx
mov rcx, qword [rbp + 8]
mov rdx, rsi
call sym.realloc0Impl__system_u1770
mov qword [rbp + 8], rax
mov qword [rax], rbx
add rsp, 0x28
pop rbx
pop rsi
pop rdi
pop rbp
ret

Function at 0x140006a2f
Capabilities:
Terminate process

Disassembly:
push rdi
push rsi
mov rax, qword [rdx]
mov rsi, qword [rdx + 8]
test rax, rax
mov r8, rcx
jle 0x140006a8e
mov rcx, rax
add rcx, 1
jo 0x140006a6a
test rcx, rcx
jns 0x140006a71
mov ecx, 1
xor edx, edx
movabs r8, 0x7fffffffffffffff
shl rcx, 0x3f
pop rsi
pop rdi
jmp sym.raiseRangeErrorI
pop rsi
pop rdi
jmp sym.raiseOverflow
mov rdx, qword [r8]
add rsi, 8
mov r9, qword [r8 + 8]
lea rdx, [r9 + rdx + 8]
mov rdi, rdx
rep movsb byte [rdi], byte [rsi]
add rax, qword [r8]
jo 0x140006a6a
mov qword [r8], rax
pop rsi
pop rdi
ret

Function at 0x140007282
Capabilities:
Terminate process

Disassembly:
push rbx
sub rsp, 0x20
mov rbx, rcx
mov rcx, qword [rcx + 8]
call sym.nimDecRefIsLastCyclicDyn_2
test al, al
je 0x1400072a5
mov rcx, qword [rbx + 8]
add rsp, 0x20
pop rbx
jmp sym.nimDestroyAndDispose
add rsp, 0x20
pop rbx
ret

Function at 0x1400073ec
Capabilities:
Write file on windows

Disassembly:
push rsi
push rbx
sub rsp, 0x38
mov rsi, rcx
mov qword [rsp + 0x28], rdx
mov ecx, 2
call qword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll___acrt_iob_func]
mov r8, qword [rsp + 0x28]
mov rcx, rsi
mov edx, 1
mov rbx, rax
mov r9, rax
call sym.fwrite
mov rcx, rbx
add rsp, 0x38
pop rbx
pop rsi
jmp sym.fflush
Function at 0x14000742b
Capabilities:
Terminate process
Write file on windows

Disassembly:
push rsi
push rbx
sub rsp, 0x38
cmp qword [0x14004bb70], 0
jne 0x140007443
add rsp, 0x38
pop rbx
pop rsi
jmp sym.writeToStdErr__system_u3947
lea rsi, [rsp + 0x20]
mov rdx, rcx
mov rcx, rsi
call sym.cstrToNimstr
mov rbx, qword [rsp + 0x28]
mov rcx, rsi
call qword [0x14004bb70]
test rbx, rbx
je 0x140007474
test byte [rbx + 7], 0x40
jne 0x140007474
mov rcx, rbx
call sym.deallocImpl__system_u1765
lea rcx, [0x14003c4a0]
call dbg.__emutls_get_address
cmp byte [rax], 0
je 0x1400074ac
lea rcx, [0x14003c3a0]
mov byte [rax], 0
call dbg.__emutls_get_address
xor r8d, r8d
mov rcx, rax
mov rax, qword [rax]
mov rdx, qword [rax + 0x38]
add rsp, 0x38
pop rbx
pop rsi
jmp sym.eqcopy___stdZtypedthreads_u171
add rsp, 0x38
pop rbx
pop rsi
ret

Function at 0x1400074b3
Capabilities:
Terminate process

Disassembly:
push rbx
sub rsp, 0x20
lea rbx, str.SIGINT:_Interrupted_by_Ctrl_C._n
cmp ecx, 2
je 0x1400074fd
lea rbx, str.SIGSEGV:_Illegal_storage_access.__Attempt_to_read_from_nil___n
cmp ecx, 0xb
je 0x1400074fd
lea rbx, str.SIGABRT:_Abnormal_termination._n
cmp ecx, 0x16
je 0x1400074fd
lea rbx, str.SIGFPE:_Arithmetic_error._n
cmp ecx, 8
je 0x1400074fd
lea rbx, str.SIGILL:_Illegal_operation._n
cmp ecx, 4
lea rax, str.unknown_signal_n
cmovne rbx, rax
mov rcx, rbx
call sym.strlen
mov rcx, rbx
mov rdx, rax
call sym.showErrorMessage__system_u3952
mov ecx, 1
call sym.exit
nop

Function at 0x140007643
Capabilities:
Terminate process

Disassembly:
push rdi
push rsi
push rbx
sub rsp, 0x20
mov rsi, qword [rcx + 8]
mov rbx, rcx
mov rcx, qword [rcx]
add rcx, 1
jo 0x140007660
add rcx, 8
jno 0x14000766c
add rsp, 0x20
pop rbx
pop rsi
pop rdi
jmp sym.raiseOverflow
test rcx, rcx
js 0x14000768b
call sym.allocShared0Impl__system_u1776
mov rcx, qword [rbx]
mov qword [rbx + 8], rax
mov qword [rax], rcx
add rcx, 1
jo 0x140007660
test rcx, rcx
jns 0x1400076a3
movabs r8, 0x7fffffffffffffff
xor edx, edx
add rsp, 0x20
pop rbx
pop rsi
pop rdi
jmp sym.raiseRangeErrorI
add rax, 8
add rsi, 8
mov rdi, rax
rep movsb byte [rdi], byte [rsi]
add rsp, 0x20
pop rbx
pop rsi
pop rdi
ret

Function at 0x1400076b8
Capabilities:
Terminate process

Disassembly:
mov rax, qword [rcx + 8]
test rax, rax
je 0x1400076cc
test byte [rax + 7], 0x40
je 0x1400076cc
jmp sym.nimPrepareStrMutationImpl__system_u2390
ret

Function at 0x140007838
Capabilities:
Terminate process

Disassembly:
push rdi
push rsi
push rbx
sub rsp, 0x20
xor esi, esi
mov rdi, qword [rcx]
mov rbx, qword [rcx + 8]
cmp rsi, rdi
jl 0x140007854
test rbx, rbx
jne 0x140007875
jmp 0x14000788a
mov rax, rsi
shl rax, 4
mov rcx, qword [rbx + rax + 0x10]
test rcx, rcx
je 0x140007870
test byte [rcx + 7], 0x40
jne 0x140007870
call sym.deallocImpl__system_u1765
inc rsi
jmp 0x140007848
test byte [rbx + 7], 0x40
jne 0x14000788a
mov rcx, rbx
add rsp, 0x20
pop rbx
pop rsi
pop rdi
jmp sym.deallocImpl__system_u1765
add rsp, 0x20
pop rbx
pop rsi
pop rdi
ret
Function at 0x140007a67
Capabilities:
Terminate process

Disassembly:
push rdi
push rsi
push rbx
sub rsp, 0x20
mov rsi, qword [rdx + 8]
mov rbx, qword [rdx]
mov rdi, rcx
mov rcx, qword [rcx + 8]
cmp rcx, rsi
je 0x140007b39
test rsi, rsi
je 0x140007a97
test byte [rsi + 7], 0x40
jne 0x140007a97
test rcx, rcx
jne 0x140007ab3
jmp 0x140007ad3
test rcx, rcx
je 0x140007aa7
test byte [rcx + 7], 0x40
jne 0x140007aa7
call sym.deallocImpl__system_u1765
mov qword [rdi], rbx
mov qword [rdi + 8], rsi
jmp 0x140007b39
mov rax, qword [rcx]
mov edx, 1
shl rdx, 0x3e
test rax, rdx
jne 0x140007ad3
btr rax, 0x3e
cmp rax, rbx
jge 0x140007aff
call sym.deallocImpl__system_u1765
mov rcx, rbx
add rcx, 1
jo 0x140007ae2
add rcx, 8
jno 0x140007aee
add rsp, 0x20
pop rbx
pop rsi
pop rdi
jmp sym.raiseOverflow
test rcx, rcx
js 0x140007b10
call sym.allocShared0Impl__system_u1776
mov qword [rdi + 8], rax
mov qword [rax], rbx
mov qword [rdi], rbx
add rbx, 1
mov rcx, rbx
jo 0x140007ae2
test rbx, rbx
jns 0x140007b28
movabs r8, 0x7fffffffffffffff
xor edx, edx
add rsp, 0x20
pop rbx
pop rsi
pop rdi
jmp sym.raiseRangeErrorI
mov rax, qword [rdi + 8]
add rsi, 8
add rax, 8
mov rdi, rax
rep movsb byte [rdi], byte [rsi]
add rsp, 0x20
pop rbx
pop rsi
pop rdi
ret

Function at 0x140007d8f
Capabilities:
Write file on windows

Disassembly:
push r14
push r13
push r12
push rbp
push rdi
push rsi
push rbx
sub rsp, 0x30
lea r12, [0x14004bb40]
xor ebx, ebx
lea r14, [0x14003c4a0]
lea r13, [rsp + 0x20]
mov rsi, rcx
mov rdi, rdx
mov rcx, r12
call qword [sym.imp.KERNEL32.dll_EnterCriticalSection]
mov rbp, qword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll___acrt_iob_func]
cmp rbx, rdi
mov ecx, 1
jl 0x140007e15
call rbp
mov r8d, 1
mov edx, 1
lea rcx, [0x14003d65b]
mov r9, rax
call sym.fwrite
mov ecx, 1
call rbp
mov rcx, rax
call sym.fflush
mov rcx, r12
add rsp, 0x30
pop rbx
pop rsi
pop rdi
pop rbp
pop r12
pop r13
pop r14
jmp qword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
call rbp
xor r8d, r8d
mov rdx, r13
mov rcx, rax
mov rax, rbx
shl rax, 4
movups xmm0, xmmword [rsi + rax]
movaps xmmword [rsp + 0x20], xmm0
call sym.writeWindows__system_u8954
mov rcx, r14
call dbg.__emutls_get_address
cmp byte [rax], 0
jne 0x140007e47
inc rbx
jmp 0x140007dc8
add rsp, 0x30
pop rbx
pop rsi
pop rdi
pop rbp
pop r12
pop r13
pop r14
ret
Function at 0x140008077
Capabilities:
Terminate process

Disassembly:
push r13
push r12
push rbp
push rdi
push rsi
push rbx
sub rsp, 0x48
mov r12, qword [rcx]
mov r13, qword [rcx + 8]
lea rbx, [rsp + 0x20]
mov rcx, rbx
call sym.dollar___systemZdollars_u8
lea rcx, [0x14003c4a0]
mov rbp, qword [rsp + 0x20]
call dbg.__emutls_get_address
mov rsi, qword [rsp + 0x28]
cmp byte [rax], 0
jne 0x14000813a
lea rdi, [rsp + 0x30]
lea rdx, [rbp + r12 + 1]
mov rcx, rdi
call sym.rawNewString
mov rdx, rbx
mov rcx, rdi
mov qword [rsp + 0x20], r12
mov qword [rsp + 0x28], r13
call sym.appendString_1
mov rdx, rbx
mov rcx, rdi
mov qword [rsp + 0x20], rbp
mov qword [rsp + 0x28], rsi
call sym.appendString_1
movaps xmm0, xmmword [0x14003dcb0]
mov rdx, rbx
mov rcx, rdi
movaps xmmword [rsp + 0x20], xmm0
call sym.appendString_1
movaps xmm1, xmmword [rsp + 0x30]
mov rcx, rbx
movaps xmmword [rsp + 0x20], xmm1
call sym.sysFatal__system_u4728
test rsi, rsi
je 0x14000813a
test byte [rsi + 7], 0x40
jne 0x14000813a
mov rcx, rsi
add rsp, 0x48
pop rbx
pop rsi
pop rdi
pop rbp
pop r12
pop r13
jmp sym.deallocImpl__system_u1765
add rsp, 0x48
pop rbx
pop rsi
pop rdi
pop rbp
pop r12
pop r13
ret