joyce8/EMBER2024-capa huggingface dataset:
Function at 0x41f380
Capabilities:
Parse pe header

Disassembly:
cmp word [rcx], 0x5a4d
je 0x41f390
xor eax, eax
ret
jmp sym._ValidateImageBase.part.0

Function at 0x41f3a0
Capabilities:
Enumerate pe sections

Disassembly:
movsxd rax, dword [rcx + 0x3c]
add rcx, rax
movzx eax, word [rcx + 0x14]
lea rax, [rcx + rax + 0x18]
movzx ecx, word [rcx + 6]
test ecx, ecx
je 0x41f3e1
sub ecx, 1
lea rcx, [rcx + rcx*4]
lea r9, [rax + rcx*8 + 0x28]
mov r8d, dword [rax + 0xc]
cmp r8, rdx
mov rcx, r8
ja 0x41f3d8
add ecx, dword [rax + 8]
cmp rcx, rdx
ja 0x41f3e3
add rax, 0x28
cmp rax, r9
jne 0x41f3c4
xor eax, eax
ret

Function at 0x41f480
Capabilities:
Enumerate pe sections

Disassembly:
sub rsp, 0x28
mov r8, qword [0x00435fa0]
cmp word [r8], 0x5a4d
mov rdx, rcx
jne 0x41f4ed
mov rcx, r8
call sym._ValidateImageBase.part.0
test eax, eax
je 0x41f4ed
movsxd rax, dword [r8 + 0x3c]
mov rcx, rdx
sub rcx, r8
add r8, rax
movzx edx, word [r8 + 6]
movzx eax, word [r8 + 0x14]
test edx, edx
lea rax, [r8 + rax + 0x18]
je 0x41f4ed
sub edx, 1
lea rdx, [rdx + rdx*4]
lea r9, [rax + rdx*8 + 0x28]
nop
mov r8d, dword [rax + 0xc]
cmp rcx, r8
mov rdx, r8
jb 0x41f4e4
add edx, dword [rax + 8]
cmp rcx, rdx
jb 0x41f4ef
add rax, 0x28
cmp rax, r9
jne 0x41f4d0
xor eax, eax
add rsp, 0x28
ret

Function at 0x41f5f0
Capabilities:
Enumerate pe sections

Disassembly:
sub rsp, 0x28
mov r8, qword [0x00435fa0]
xor eax, eax
cmp word [r8], 0x5a4d
mov rdx, rcx
je 0x41f610
add rsp, 0x28
ret
mov rcx, r8
call sym._ValidateImageBase.part.0
test eax, eax
je 0x41f608
movsxd rax, dword [r8 + 0x3c]
mov rcx, rdx
sub rcx, r8
add r8, rax
movzx edx, word [r8 + 6]
movzx eax, word [r8 + 0x14]
test edx, edx
lea rax, [r8 + rax + 0x18]
je 0x41f66d
sub edx, 1
lea rdx, [rdx + rdx*4]
lea r9, [rax + rdx*8 + 0x28]
nop dword [rax + rax]
mov r8d, dword [rax + 0xc]
cmp rcx, r8
mov rdx, r8
jb 0x41f664
add edx, dword [rax + 8]
cmp rcx, rdx
jb 0x41f674
add rax, 0x28
cmp rax, r9
jne 0x41f650
xor eax, eax
add rsp, 0x28
ret
mov eax, dword [rax + 0x24]
not eax
shr eax, 0x1f
add rsp, 0x28
ret

Function at 0x41f690
Capabilities:
Enumerate pe sections

Disassembly:
sub rsp, 0x28
mov r11, qword [0x00435fa0]
cmp word [r11], 0x5a4d
mov r9d, ecx
jne 0x41f6fe
mov rcx, r11
call sym._ValidateImageBase.part.0
test eax, eax
je 0x41f6fe
movsxd rax, dword [r11 + 0x3c]
add rax, r11
mov edx, dword [rax + 0x90]
test edx, edx
je 0x41f6fe
movzx ecx, word [rax + 0x14]
lea rcx, [rax + rcx + 0x18]
movzx eax, word [rax + 6]
test eax, eax
je 0x41f6fe
sub eax, 1
lea rax, [rax + rax*4]
lea rax, [rcx + rax*8 + 0x28]
mov r10d, dword [rcx + 0xc]
cmp rdx, r10
mov r8, r10
jb 0x41f6f5
add r8d, dword [rcx + 8]
cmp rdx, r8
jb 0x41f705
add rcx, 0x28
cmp rcx, rax
jne 0x41f6e0
xor eax, eax
add rsp, 0x28
ret
add rdx, r11
jne 0x41f718
jmp 0x41f6fe
sub r9d, 1
add rdx, 0x14
mov ecx, dword [rdx + 4]
test ecx, ecx
jne 0x41f726
mov eax, dword [rdx + 0xc]
test eax, eax
je 0x41f6fe
test r9d, r9d
jg 0x41f710
mov eax, dword [rdx + 0xc]
add rax, r11
add rsp, 0x28
ret
Function at 0x423cc0
Capabilities:
Write file on windows

Disassembly:
push rsi
push rbx
sub rsp, 0x38
lea rax, [rsp + 0x58]
mov rbx, rcx
mov ecx, 2
mov qword [rsp + 0x58], rdx
mov qword [rsp + 0x60], r8
mov qword [rsp + 0x68], r9
mov qword [rsp + 0x28], rax
call sym.__acrt_iob_func
mov r8d, 0x1b
mov edx, 1
lea rcx, str.Mingw_w64_runtime_failure:_n
mov r9, rax
call sym.fwrite
mov rsi, qword [rsp + 0x28]
mov ecx, 2
call sym.__acrt_iob_func
mov rdx, rbx
mov rcx, rax
mov r8, rsi
call sym.vfprintf
call sym.abort
nop
nop
nop
nop
nop
nop
nop
nop
Function at 0x14000147f
Capabilities:
Parse pe header

Disassembly:
push rbp
mov rbp, rsp
sub rsp, 0x20
mov rax, qword [0x14002cbb0]
mov dword [rax], 1
mov rax, qword [0x14002cbc0]
mov dword [rax], 1
mov rax, qword [0x14002cbd0]
mov dword [rax], 1
mov rax, qword [0x14002cb70]
mov qword [rbp - 8], rax
mov rax, qword [rbp - 8]
movzx eax, word [rax]
cmp ax, 0x5a4d
je 0x1400014d0
mov eax, 0
jmp 0x14000157d
mov rax, qword [rbp - 8]
mov eax, dword [rax + 0x3c]
movsxd rdx, eax
mov rax, qword [rbp - 8]
add rax, rdx
mov qword [rbp - 0x10], rax
mov rax, qword [rbp - 0x10]
mov eax, dword [rax]
cmp eax, 0x4550
je 0x1400014fc
mov eax, 0
jmp 0x14000157d
mov rax, qword [rbp - 0x10]
add rax, 0x18
mov qword [rbp - 0x18], rax
mov rax, qword [rbp - 0x18]
movzx eax, word [rax]
movzx eax, ax
cmp eax, 0x10b
je 0x140001522
cmp eax, 0x20b
je 0x140001549
jmp 0x140001578
mov rax, qword [rbp - 0x18]
mov eax, dword [rax + 0x5c]
cmp eax, 0xe
ja 0x140001535
mov eax, 0
jmp 0x14000157d
mov rax, qword [rbp - 0x18]
mov eax, dword [rax + 0xd0]
test eax, eax
setne al
movzx eax, al
jmp 0x14000157d
mov rax, qword [rbp - 0x18]
mov qword [rbp - 0x20], rax
mov rax, qword [rbp - 0x20]
mov eax, dword [rax + 0x6c]
cmp eax, 0xe
ja 0x140001564
mov eax, 0
jmp 0x14000157d
mov rax, qword [rbp - 0x20]
mov eax, dword [rax + 0xe0]
test eax, eax
setne al
movzx eax, al
jmp 0x14000157d
mov eax, 0
add rsp, 0x20
pop rbp
ret

Function at 0x1400017f1
Capabilities:
Terminate process

Disassembly:
mov rdx, qword [0x14002cd10]
mov r8, qword [rdx]
test r8, r8
jne 0x140001810
xor eax, eax
mov word [rcx + 0x22], 0
mov qword [rcx], rax
mov qword [rdx], rcx
jmp 0x14000182c
mov ax, word [r8 + 0x22]
mov qword [rcx], r8
mov qword [rdx], rcx
inc eax
mov word [rcx + 0x22], ax
cmp ax, 0x7d0
jne 0x14000182c
jmp sym.callDepthLimitReached__system_2999
ret

Function at 0x140001ce1
Capabilities:
Terminate process

Disassembly:
mov rdx, qword [0x14002cd10]
mov r8, qword [rdx]
test r8, r8
jne 0x140001d00
xor eax, eax
mov word [rcx + 0x22], 0
mov qword [rcx], rax
mov qword [rdx], rcx
jmp 0x140001d1c
mov ax, word [r8 + 0x22]
mov qword [rcx], r8
mov qword [rdx], rcx
inc eax
mov word [rcx + 0x22], ax
cmp ax, 0x7d0
jne 0x140001d1c
jmp sym.callDepthLimitReached__system_2999
ret

Function at 0x1400020e0
Capabilities:
Terminate process

Disassembly:
mov rdx, qword [0x14002cd10]
mov r8, qword [rdx]
test r8, r8
jne 0x1400020ff
xor eax, eax
mov word [rcx + 0x22], 0
mov qword [rcx], rax
mov qword [rdx], rcx
jmp 0x14000211b
mov ax, word [r8 + 0x22]
mov qword [rcx], r8
mov qword [rdx], rcx
inc eax
mov word [rcx + 0x22], ax
cmp ax, 0x7d0
jne 0x14000211b
jmp sym.callDepthLimitReached__system_2999
ret

Function at 0x140002272
Capabilities:
Terminate process

Disassembly:
mov rdx, qword [0x14002cd10]
mov r8, qword [rdx]
test r8, r8
jne 0x140002291
xor eax, eax
mov word [rcx + 0x22], 0
mov qword [rcx], rax
mov qword [rdx], rcx
jmp 0x1400022ad
mov ax, word [r8 + 0x22]
mov qword [rcx], r8
mov qword [rdx], rcx
inc eax
mov word [rcx + 0x22], ax
cmp ax, 0x7d0
jne 0x1400022ad
jmp sym.callDepthLimitReached__system_2999
ret
Function at 0x140002b6f
Capabilities:
Terminate process

Disassembly:
mov rdx, qword [0x14002cd10]
mov r8, qword [rdx]
test r8, r8
jne 0x140002b8e
xor eax, eax
mov word [rcx + 0x22], 0
mov qword [rcx], rax
mov qword [rdx], rcx
jmp 0x140002baa
mov ax, word [r8 + 0x22]
mov qword [rcx], r8
mov qword [rdx], rcx
inc eax
mov word [rcx + 0x22], ax
cmp ax, 0x7d0
jne 0x140002baa
jmp sym.callDepthLimitReached__system_2999
ret

Function at 0x14000314a
Capabilities:
Write file on windows

Disassembly:
push r13
push r12
push rbp
push rdi
push rsi
push rbx
sub rsp, 0x58
lea rax, str.echoBinSafe
lea rsi, str.C:_toolsNim_nim_1.6.8lib_systemio.nim
xor ebx, ebx
mov qword [rsp + 0x28], rax
mov rbp, rcx
xor eax, eax
mov r12, rdx
lea rcx, [rsp + 0x20]
mov qword [rsp + 0x38], rsi
mov qword [rsp + 0x30], rax
mov word [rsp + 0x40], 0
call sym.nimFrame.constprop.0_4
mov rdi, qword [sym.imp.ucrtbase.dll___acrt_iob_func]
cmp rbx, r12
jl 0x1400031f9
mov qword [rsp + 0x30], 0x338
mov ecx, 1
mov qword [rsp + 0x38], rsi
call rdi
mov edx, 1
mov r8d, 1
lea rcx, [0x14002750c]
mov r9, rax
call sym.fwrite
mov qword [rsp + 0x38], rsi
mov ecx, 1
mov qword [rsp + 0x30], 0x339
call rdi
mov rcx, rax
call sym.fflush
call sym.popFrame_3
nop
add rsp, 0x58
pop rbx
pop rsi
pop rdi
pop rbp
pop r12
pop r13
ret
mov r13, qword [rbp + rbx*8]
mov ecx, 1
mov qword [rsp + 0x38], rsi
inc rbx
mov qword [rsp + 0x30], 0x332
call rdi
xor r8d, r8d
mov rdx, r13
mov rcx, rax
call sym.writeWindows__systemZio_205
jmp 0x140003195

Function at 0x1400036d2
Capabilities:
Read file on windows

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

Function at 0x140003ce4
Capabilities:
Write file on windows

Disassembly:
push rsi
push rbx
sub rsp, 0x28
xor r8d, r8d
mov rsi, rcx
mov rbx, rdx
test rdx, rdx
je 0x140003d03
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 0x140003da6
Capabilities:
Write file on windows

Disassembly:
push rsi
push rbx
sub rsp, 0x38
mov qword [rsp + 0x28], rdx
mov rsi, rcx
mov ecx, 2
call qword [sym.imp.ucrtbase.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 0x1400045b2
Capabilities:
Terminate process

Disassembly:
push rdi
push rsi
push rbx
sub rsp, 0x20
cmp qword [rcx + 0x10], 0
mov rbx, rcx
jne 0x1400045c7
mov qword [rcx + 0x10], rdx
mov rcx, qword [rbx + 0x20]
test rcx, rcx
je 0x140004686
cmp qword [rcx], 0
je 0x140004686
cmp qword [0x140043c58], 0
je 0x14000468f
lea rdi, [0x140044160]
lea rsi, [rbx + 0x20]
mov rdx, rdi
call sym.incrSeqV3
mov rcx, rsi
mov rdx, rax
call sym.asgnRef_1
mov rax, qword [rbx + 0x20]
mov rdx, qword [rax]
lea rcx, [rdx + 1]
imul rdx, rdx, 0x18
mov qword [rax], rcx
xor ecx, ecx
add rax, rdx
xor edx, edx
mov qword [rax + 0x10], rdx
mov rdx, rsi
mov qword [rax + 0x20], rcx
mov rcx, qword [0x140043c58]
mov qword [rax + 0x18], 0xfffffffffffffff6
call sym.auxWriteStackTrace__system_2655
mov rcx, qword [rbx + 0x20]
mov rdx, rdi
call sym.incrSeqV3
mov rcx, rsi
mov rdx, rax
call sym.asgnRef_1
mov rax, qword [rbx + 0x20]
xor r8d, r8d
xor r9d, r9d
mov rdx, qword [rax]
lea rcx, [rdx + 1]
imul rdx, rdx, 0x18
mov qword [rax], rcx
add rax, rdx
mov qword [rax + 0x10], r8
mov qword [rax + 0x18], 0xffffffffffffff9c
mov qword [rax + 0x20], r9
jmp 0x14000468f
lea rcx, [rbx + 0x20]
call sym.rawWriteStackTrace__system_2854
mov rcx, rbx
add rsp, 0x20
pop rbx
pop rsi
pop rdi
jmp sym.raiseExceptionAux__system_2893

Function at 0x1400048b8
Capabilities:
Terminate process

Disassembly:
push rbx
sub rsp, 0x20
call sym.writeStackTrace__system_2161
mov ecx, 0x7d0
call sym.dollar___systemZdollars_3
mov ecx, 0xa7
mov rbx, rax
test rax, rax
je 0x1400048e3
mov rax, qword [rax]
lea rcx, [rax + 0xa7]
call sym.rawNewString
lea rdx, [0x140028220]
mov r9, rax
mov rcx, rax
call sym.appendString.part.0_1
mov rcx, r9
mov rdx, rbx
call sym.appendString_1
mov rcx, r9
lea rdx, [0x140028180]
call sym.appendString.part.0_1
mov rcx, r9
call sym.showErrorMessage2__system_2546
mov ecx, 1
call sym.exit
nop

Function at 0x1400058f5
Capabilities:
Terminate process

Disassembly:
push rbx
sub rsp, 0x50
lea rax, str.raiseOutOfMem
lea rbx, str.C:_toolsNim_nim_1.6.8lib_systemmmdisp.nim
mov qword [rsp + 0x28], rax
lea rcx, [rsp + 0x20]
xor eax, eax
mov qword [rsp + 0x30], rax
mov qword [rsp + 0x38], rbx
mov word [rsp + 0x40], 0
call sym.nimFrame.constprop.0_5
mov rax, qword [0x140043c70]
mov qword [rsp + 0x38], rbx
mov qword [rsp + 0x30], 0x2f
test rax, rax
je 0x140005946
call rax
mov ecx, 2
mov qword [rsp + 0x38], rbx
mov qword [rsp + 0x30], 0x30
call qword [sym.imp.ucrtbase.dll___acrt_iob_func]
lea rdx, str.out_of_memory_n
mov rcx, rax
call sym.rawWrite
mov ecx, 1
mov qword [rsp + 0x38], rbx
mov qword [rsp + 0x30], 0x31
call sym.exit
nop
Function at 0x1400075b8
Capabilities:
Terminate process

Disassembly:
push r12
push rbp
push rdi
push rsi
push rbx
add rsp, 0xffffffffffffff80
lea rax, str.freeHugeChunk
lea rdi, str.C:_toolsNim_nim_1.6.8lib_system_alloc.nim
mov rbx, rcx
mov rsi, rdx
mov qword [rsp + 0x28], rax
lea rcx, [rsp + 0x20]
xor eax, eax
mov qword [rsp + 0x38], rdi
lea rbp, [rsp + 0x50]
mov qword [rsp + 0x30], rax
mov word [rsp + 0x40], 0
call sym.nimFrame.constprop.0_5
mov rcx, rsi
mov r12, qword [rsi + 8]
mov qword [rsp + 0x38], rdi
mov qword [rsp + 0x30], 0x276
call sym.pageIndex__system_4511
lea rcx, [rbx + 0x20a8]
mov rdx, rax
call sym.excl__system_4361
xor edx, edx
mov rcx, rbp
mov qword [rsp + 0x38], rdi
lea rax, str.decCurrMem
mov qword [rsp + 0x60], rdx
mov qword [rsp + 0x58], rax
mov qword [rsp + 0x30], 0x277
mov qword [rsp + 0x68], rdi
mov word [rsp + 0x70], 0
call sym.nimFrame.constprop.0_5
mov rax, qword [rbx + 0x2080]
mov rdx, qword [rbx + 0x2088]
cmp rdx, rax
cmovl rdx, rax
sub rax, r12
xor ecx, ecx
mov qword [rbx + 0x2080], rax
mov qword [rbx + 0x2088], rdx
lea rbx, str.C:_toolsNim_nim_1.6.8lib_systemosalloc.nim
call sym.popFrame_4
mov qword [rsp + 0x60], rcx
mov rcx, rbp
lea rax, str.osDeallocPages
mov qword [rsp + 0x30], 0x278
mov qword [rsp + 0x38], rdi
mov qword [rsp + 0x58], rax
mov qword [rsp + 0x68], rbx
mov word [rsp + 0x70], 0
call sym.nimFrame.constprop.0_5
xor edx, edx
mov qword [rsp + 0x68], rbx
mov rcx, rsi
mov qword [rsp + 0x60], 0xbe
mov r8d, 0x8000
call qword [sym.imp.KERNEL32.dll_VirtualFree]
test eax, eax
je 0x1400076fb
call sym.popFrame_4
call sym.popFrame_4
nop
sub rsp, 0xffffffffffffff80
pop rbx
pop rsi
pop rdi
pop rbp
pop r12
ret
lea rcx, str.virtualFree_failing_
mov qword [rsp + 0x68], rbx
mov qword [rsp + 0x60], 0xbf
call sym.printf.constprop.0
mov ecx, 1
mov qword [rsp + 0x68], rbx
mov qword [rsp + 0x60], 0xc0
call sym.exit
nop

Function at 0x140008bec
Capabilities:
Terminate process

Disassembly:
push rbx
sub rsp, 0x20
mov rax, qword [0x140043c78]
mov rbx, rcx
test rax, rax
jne 0x140008c0e
mov rax, qword [0x140043c80]
test rax, rax
jne 0x140008c16
jmp 0x140008c1f
call rax
test al, al
jne 0x140008c00
jmp 0x140008c71
mov rcx, rbx
call rax
test al, al
je 0x140008c71
cmp qword [0x140043c50], 0
jne 0x140008c3b
mov rcx, rbx
call sym.reportUnhandledError__system_2882
mov ecx, 1
call sym.exit
mov rdx, qword [0x140043c48]
lea rcx, [rbx + 0x28]
call sym.asgnRef_1
mov rdx, rbx
lea rcx, [0x140043c48]
call sym.asgnRef_1
mov rax, qword [0x140043c50]
mov edx, 1
lea rcx, [rax + 0x10]
call qword [sym.imp.ucrtbase.dll_longjmp]
nop
add rsp, 0x20
pop rbx
ret
Function at 0x140009cbb
Capabilities:
Terminate process

Disassembly:
push r12
push rbp
push rdi
push rsi
push rbx
sub rsp, 0x60
lea rax, str.sysFatal
lea rbp, str.C:_toolsNim_nim_1.6.8lib_system_fatal.nim
lea rdi, [0x140027dda]
mov qword [rsp + 0x38], rax
mov rsi, rcx
xor eax, eax
lea rcx, [rsp + 0x30]
mov qword [rsp + 0x40], rax
mov qword [rsp + 0x48], rbp
mov word [rsp + 0x50], 0
call sym.nimFrame.constprop.0_5
mov edx, 0x30
lea rcx, [0x140043f60]
call sym.newObj
mov rcx, rsi
mov rbx, rax
lea rax, [0x140043fa0]
mov qword [rbx], rax
mov r12, qword [rbx + 0x18]
mov qword [rbx + 0x10], rdi
call sym.copyStringRC1
mov qword [rbx + 0x18], rax
test r12, r12
je 0x140009d3e
mov rcx, r12
call sym.nimGCunrefNoCycle
mov qword [rsp + 0x20], 0x35
lea r9, str.C:_toolsNim_nim_1.6.8lib_system_fatal.nim
mov rdx, rdi
mov rcx, rbx
lea r8, str.sysFatal
mov qword [rsp + 0x48], rbp
mov qword [rsp + 0x40], 0x35
call sym.raiseExceptionEx
call sym.popFrame_4
nop

Function at 0x140009d74
Capabilities:
Terminate process

Disassembly:
push rsi
push rbx
sub rsp, 0x28
mov rbx, rdx
test rdx, rdx
js 0x140009da1
call sym.dollar___systemZdollars_3
mov rcx, rbx
mov rsi, rax
call sym.dollar___systemZdollars_3
xor edx, edx
mov rbx, rax
test rsi, rsi
je 0x140009db2
mov rdx, qword [rsi]
jmp 0x140009db2
lea rcx, [0x1400284c0]
call sym.copyString
mov r9, rax
jmp 0x140009dfd
xor eax, eax
test rbx, rbx
je 0x140009dbc
mov rax, qword [rbx]
lea rcx, [rdx + rax + 0x13]
call sym.rawNewString
lea rdx, [0x1400284a0]
mov r9, rax
mov rcx, rax
call sym.appendString.part.0_1
mov rdx, rsi
mov rcx, r9
call sym.appendString_1
lea rdx, [0x140028480]
mov rcx, r9
call sym.appendString.part.0_1
mov rdx, rbx
mov rcx, r9
call sym.appendString_1
mov rcx, r9
call sym.sysFatal__system_3075
nop
Function at 0x140009e06
Capabilities:
Terminate process

Disassembly:
push rdi
push rsi
push rbx
sub rsp, 0x40
inc qword [0x140040cc0]
mov ebx, ecx
mov ecx, 0x7d0
call sym.rawNewString
lea rcx, [rsp + 0x38]
mov qword [rsp + 0x38], rax
call sym.rawWriteStackTrace__system_2848
cmp ebx, 2
mov rcx, qword [rsp + 0x38]
je 0x140009e40
cmp ebx, 0xb
jne 0x140009e5e
jmp 0x140009e65
mov edx, 0x1f
call sym.resizeString
lea rdx, [0x140028140]
mov qword [rsp + 0x38], rax
mov rcx, rax
jmp 0x140009ef6
cmp ebx, 0x16
jne 0x140009e80
jmp 0x140009e87
mov edx, 0x3d
call sym.resizeString
lea rdx, [0x1400280e0]
mov qword [rsp + 0x38], rax
mov rcx, rax
jmp 0x140009ef6
cmp ebx, 8
jne 0x140009ea2
jmp 0x140009ec2
mov edx, 0x1f
call sym.resizeString
lea rdx, [0x1400280a0]
mov qword [rsp + 0x38], rax
mov rcx, rax
jmp 0x140009ef6
cmp ebx, 4
je 0x140009edd
mov edx, 0xf
call sym.resizeString
lea rdx, [0x140028000]
mov qword [rsp + 0x38], rax
mov rcx, rax
jmp 0x140009ef6
mov edx, 0x1a
call sym.resizeString
lea rdx, [0x140028060]
mov qword [rsp + 0x38], rax
mov rcx, rax
jmp 0x140009ef6
mov edx, 0x1b
call sym.resizeString
lea rdx, [0x140028020]
mov qword [rsp + 0x38], rax
mov rcx, rax
call sym.appendString.part.0_1
mov rcx, qword [rsp + 0x38]
call sym.showErrorMessage2__system_2546
cmp qword [0x140040cc0], 0
jg 0x140009f86
mov edx, 0x30
lea rcx, [0x140043e60]
lea rsi, str.AssertionDefect
call sym.newObj
lea rcx, [0x140027fa0]
mov rbx, rax
lea rax, [0x140043ea0]
mov qword [rbx], rax
mov rdi, qword [rbx + 0x18]
mov qword [rbx + 0x10], rsi
call sym.copyStringRC1
mov qword [rbx + 0x18], rax
test rdi, rdi
je 0x140009f59
mov rcx, rdi
call sym.nimGCunrefNoCycle
lea rcx, [rbx + 8]
xor edx, edx
call sym.asgnRef_1
lea r9, [0x1400277b5]
mov rdx, rsi
mov rcx, rbx
mov qword [rsp + 0x20], 0x37f
lea r8, str.GC_enable
call sym.raiseExceptionEx
mov ecx, 1
dec qword [0x140040cc0]
call sym.exit
nop

Function at 0x14000a191
Capabilities:
Terminate process

Disassembly:
push rsi
push rbx
sub rsp, 0x58
lea rax, str.nimRegisterThreadLocalMarker
lea rsi, str.C:_toolsNim_nim_1.6.8lib_systemgc_common.nim
mov qword [rsp + 0x28], rax
mov rbx, rcx
xor eax, eax
lea rcx, [rsp + 0x20]
mov qword [rsp + 0x30], rax
mov qword [rsp + 0x38], rsi
mov word [rsp + 0x40], 0
call sym.nimFrame.constprop.0_5
mov rax, qword [0x140039ec0]
mov qword [rsp + 0x38], rsi
cmp rax, 0xdab
jle 0x14000a219
mov qword [rsp + 0x30], 0x1e2
mov ecx, 2
call qword [sym.imp.ucrtbase.dll___acrt_iob_func]
lea rdx, str._GC__cannot_register_thread_local_variable__too_many_thread_local_variables
mov rcx, rax
call sym.rawWrite
mov ecx, 1
mov qword [rsp + 0x38], rsi
mov qword [rsp + 0x30], 0x1e3
call sym.exit
lea rdx, [0x140033160]
mov qword [rdx + rax*8], rbx
inc rax
mov qword [0x140039ec0], rax
call sym.popFrame_4
nop
add rsp, 0x58
pop rbx
pop rsi
ret
Function at 0x14000dcd1
Capabilities:
Terminate process

Disassembly:
mov rdx, qword [0x14002cd10]
mov r8, qword [rdx]
test r8, r8
jne 0x14000dcf0
xor eax, eax
mov word [rcx + 0x22], 0
mov qword [rcx], rax
mov qword [rdx], rcx
jmp 0x14000dd0c
mov ax, word [r8 + 0x22]
mov qword [rcx], r8
mov qword [rdx], rcx
inc eax
mov word [rcx + 0x22], ax
cmp ax, 0x7d0
jne 0x14000dd0c
jmp sym.callDepthLimitReached__system_2999
ret

Function at 0x14000f3d1
Capabilities:
Terminate process

Disassembly:
mov rdx, qword [0x14002cd10]
mov r8, qword [rdx]
test r8, r8
jne 0x14000f3f0
xor eax, eax
mov word [rcx + 0x22], 0
mov qword [rcx], rax
mov qword [rdx], rcx
jmp 0x14000f40c
mov ax, word [r8 + 0x22]
mov qword [rcx], r8
mov qword [rdx], rcx
inc eax
mov word [rcx + 0x22], ax
cmp ax, 0x7d0
jne 0x14000f40c
jmp sym.callDepthLimitReached__system_2999
ret

Function at 0x14000fa81
Capabilities:
Terminate process

Disassembly:
mov rdx, qword [0x14002cd10]
mov r8, qword [rdx]
test r8, r8
jne 0x14000faa0
xor eax, eax
mov word [rcx + 0x22], 0
mov qword [rcx], rax
mov qword [rdx], rcx
jmp 0x14000fabc
mov ax, word [r8 + 0x22]
mov qword [rcx], r8
mov qword [rdx], rcx
inc eax
mov word [rcx + 0x22], ax
cmp ax, 0x7d0
jne 0x14000fabc
jmp sym.callDepthLimitReached__system_2999
ret

Function at 0x140010631
Capabilities:
Terminate process

Disassembly:
mov rdx, qword [0x14002cd10]
mov r8, qword [rdx]
test r8, r8
jne 0x140010650
xor eax, eax
mov word [rcx + 0x22], 0
mov qword [rcx], rax
mov qword [rdx], rcx
jmp 0x14001066c
mov ax, word [r8 + 0x22]
mov qword [rcx], r8
mov qword [rdx], rcx
inc eax
mov word [rcx + 0x22], ax
cmp ax, 0x7d0
jne 0x14001066c
jmp sym.callDepthLimitReached__system_2999
ret

Function at 0x1400119d7
Capabilities:
Terminate process

Disassembly:
mov rdx, qword [0x14002cd10]
mov r8, qword [rdx]
test r8, r8
jne 0x1400119f6
xor eax, eax
mov word [rcx + 0x22], 0
mov qword [rcx], rax
mov qword [rdx], rcx
jmp 0x140011a12
mov ax, word [r8 + 0x22]
mov qword [rcx], r8
mov qword [rdx], rcx
inc eax
mov word [rcx + 0x22], ax
cmp ax, 0x7d0
jne 0x140011a12
jmp sym.callDepthLimitReached__system_2999
ret

Function at 0x14001544f
Capabilities:
Terminate process

Disassembly:
mov rdx, qword [0x14002cd10]
mov r8, qword [rdx]
test r8, r8
jne 0x14001546e
xor eax, eax
mov word [rcx + 0x22], 0
mov qword [rcx], rax
mov qword [rdx], rcx
jmp 0x14001548a
mov ax, word [r8 + 0x22]
mov qword [rcx], r8
mov qword [rdx], rcx
inc eax
mov word [rcx + 0x22], ax
cmp ax, 0x7d0
jne 0x14001548a
jmp sym.callDepthLimitReached__system_2999
ret

Function at 0x1400164e1
Capabilities:
Terminate process

Disassembly:
mov rdx, qword [0x14002cd10]
mov r8, qword [rdx]
test r8, r8
jne 0x140016500
xor eax, eax
mov word [rcx + 0x22], 0
mov qword [rcx], rax
mov qword [rdx], rcx
jmp 0x14001651c
mov ax, word [r8 + 0x22]
mov qword [rcx], r8
mov qword [rdx], rcx
inc eax
mov word [rcx + 0x22], ax
cmp ax, 0x7d0
jne 0x14001651c
jmp sym.callDepthLimitReached__system_2999
ret