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

Disassembly:
push rbx
sub rsp, 0x20
mov rbx, rcx
test rcx, rcx
je 0x140012a98
mov rax, qword [rcx - 0x10]
lea rdx, [rcx - 0x10]
cmp rax, 0xf
jbe 0x140012a78
sub rax, 0x10
jo 0x140012a9e
mov r8, qword [rcx]
mov qword [rcx - 0x10], rax
xor ecx, ecx
add rsp, 0x20
pop rbx
jmp sym.rememberCycle__system_u3375
mov r8, qword [rcx]
mov ecx, 1
call sym.rememberCycle__system_u3375
mov rcx, rbx
add rsp, 0x20
pop rbx
jmp sym.nimDestroyAndDispose
add rsp, 0x20
pop rbx
ret
add rsp, 0x20
pop rbx
jmp sym.raiseOverflow
Function at 0x140012ab0
Capabilities:
Terminate process

Disassembly:
push r14
push r13
push r12
push rbp
push rdi
push rsi
push rbx
sub rsp, 0x40
mov rdi, qword [rcx]
mov r13, qword [rcx + 8]
lea rbx, [rsp + 0x30]
mov rcx, rbx
call sym.dollar___systemZdollars_u8
mov rsi, qword [rsp + 0x30]
mov r12, qword [rsp + 0x38]
lea rcx, [0x1400de4a0]
call dbg.__emutls_get_address
cmp byte [rax], 0
jne 0x140012c49
mov rcx, rbx
lea rdx, [rsi + rdi + 1]
call sym.rawNewString
mov rbp, qword [rsp + 0x38]
mov rbx, qword [rsp + 0x30]
lea r14, [rbx + rbp + 8]
test rdi, rdi
jle 0x140012b48
mov rcx, rdi
add rcx, 1
jo 0x140012d27
test rcx, rcx
js 0x140012cd0
mov r8, rcx
lea rdx, [r13 + 8]
mov rcx, r14
call sym.memcpy
add rdi, rbx
jo 0x140012d27
lea r14, [rdi + rbp + 8]
mov rbx, rdi
test rsi, rsi
jle 0x140012b84
mov rcx, rsi
add rcx, 1
jo 0x140012d1d
test rcx, rcx
js 0x140012cf0
mov r8, rcx
lea rdx, [r12 + 8]
mov rcx, r14
call sym.memcpy
add rsi, rbx
jo 0x140012d1d
lea r14, [rsi + rbp + 8]
mov rbx, rsi
mov r13, rbx
mov eax, 0x27
add r13, 1
mov word [r14], ax
jo 0x140012d10
lea rcx, [0x1400de4c0]
call dbg.__emutls_get_address
mov edx, 0x50
mov rcx, rax
mov rsi, rax
call sym.rawAlloc__system_u6816
mov rdx, qword [0x1400f8060]
pxor xmm0, xmm0
xor ecx, ecx
movups xmmword [rax], xmm0
lea rdi, [rax + 0x10]
mov rbx, rcx
mov r9d, 0x18
movups xmmword [rax + 0x10], xmm0
mov r8d, 1
mov qword [rax + 0x10], rdx
xor edx, edx
movups xmmword [rax + 0x30], xmm0
movups xmmword [rax + 0x40], xmm0
lea rax, str.FieldDefect
mov qword [rdi + 0x10], rax
mov qword [rdi + 0x18], r13
mov qword [rdi + 0x20], rbp
mov qword [rsp + 0x20], 8
call sym.prepareSeqAdd
add rbx, 1
mov qword [rdi + 0x30], rax
jno 0x140012ca0
call sym.raiseOverflow
lea rcx, [0x1400de420]
call dbg.__emutls_get_address
mov rax, qword [rax]
test rax, rax
je 0x140012c60
mov rcx, rdi
call rax
test al, al
jne 0x140012c60
test r12, r12
je 0x140012c49
test byte [r12 + 7], 0x40
je 0x140012c80
add rsp, 0x40
pop rbx
pop rsi
pop rdi
pop rbp
pop r12
pop r13
pop r14
ret
mov rax, qword [0x140109128]
test rax, rax
je 0x140012c75
mov rcx, rdi
call rax
test al, al
je 0x140012c3c
mov rcx, rdi
call sym.raiseExceptionAux__system_u4328.part.0
jmp 0x140012c3c
mov rdx, r12
mov rcx, rsi
add rsp, 0x40
pop rbx
pop rsi
pop rdi
pop rbp
pop r12
pop r13
pop r14
jmp sym.rawDealloc__system_u6968
mov qword [rdi + 0x28], rbx
lea rbx, str.sysFatal
mov qword [rax + 8], rbx
lea rbx, str.fatal.nim
mov qword [rax + 0x10], 0x35
mov qword [rax + 0x18], rbx
jmp 0x140012c1f
movabs r8, 0x7fffffffffffffff
xor edx, edx
call sym.raiseRangeErrorI
jmp 0x140012b48
movabs r8, 0x7fffffffffffffff
xor edx, edx
call sym.raiseRangeErrorI
jmp 0x140012b84
call sym.raiseOverflow
mov r13, rbx
jmp 0x140012b9a
call sym.raiseOverflow
jmp 0x140012b84
call sym.raiseOverflow
jmp 0x140012b48
Function at 0x140013930
Capabilities:
Write file on windows

Disassembly:
push r14
push r13
push r12
push rbp
push rdi
push rsi
push rbx
sub rsp, 0x30
lea r13, [0x1401090e0]
mov rsi, rdx
mov rbx, rcx
mov rcx, r13
call qword [sym.imp.KERNEL32.dll_EnterCriticalSection]
test rsi, rsi
jle 0x1400139bf
mov rdi, qword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll___acrt_iob_func]
xor r14d, r14d
lea r12, [rsp + 0x20]
lea rbp, [0x1400de4a0]
jmp 0x140013985
add r14, 1
add rbx, 0x10
cmp rsi, r14
je 0x1400139c6
mov ecx, 1
call rdi
movdqu xmm0, xmmword [rbx]
xor r8d, r8d
mov rdx, r12
mov rcx, rax
movaps xmmword [rsp + 0x20], xmm0
call sym.writeWindows__system_u8954
mov rcx, rbp
call dbg.__emutls_get_address
cmp byte [rax], 0
je 0x140013978
add rsp, 0x30
pop rbx
pop rsi
pop rdi
pop rbp
pop r12
pop r13
pop r14
ret
mov rdi, qword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll___acrt_iob_func]
mov ecx, 1
call rdi
mov r8d, 1
mov edx, 1
lea rcx, [0x1400e1561]
mov r9, rax
call sym.fwrite
mov ecx, 1
call rdi
mov rcx, rax
call sym.fflush
mov rcx, r13
add rsp, 0x30
pop rbx
pop rsi
pop rdi
pop rbp
pop r12
pop r13
pop r14
jmp qword [sym.imp.KERNEL32.dll_LeaveCriticalSection]

Function at 0x140014630
Capabilities:
Terminate process

Disassembly:
push rdi
push rsi
push rbx
sub rsp, 0x20
mov rdi, qword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll___acrt_iob_func]
mov rax, qword [rcx + 8]
cmp qword [rcx], 0
mov ecx, 2
lea rbx, [rax + 8]
lea rax, [0x1400e1518]
cmove rbx, rax
mov rsi, rdx
call rdi
mov rdx, rbx
mov rcx, rax
call sym.rawWrite
mov ecx, 2
call rdi
lea rdx, [0x1400e1561]
mov rcx, rax
call sym.rawWrite
cmp rsi, 0xffffffff80000000
jl 0x14001469c
cmp rsi, 0x7fffffff
jle 0x1400146a6
mov ecx, 0x7fffffff
call sym.exit
mov ecx, 0x80000000
call sym.exit
mov ecx, esi
call sym.exit
nop
nop

Function at 0x140014780
Capabilities:
Terminate process

Disassembly:
push r15
push r14
push r13
push r12
push rbp
push rdi
push rsi
push rbx
sub rsp, 0x38
xor ebp, ebp
lea r12, [0x1400de4c0]
mov rax, qword [rcx + 8]
mov r13, qword [rcx]
lea rdi, [rax + 8]
mov qword [rsp + 0x28], rax
test r13, r13
jle 0x140014810
nop
mov r14, qword [rdi]
mov r15, qword [rdi + 8]
xor ebx, ebx
test r14, r14
jg 0x1400147c9
jmp 0x140014838
add rbx, 1
cmp r14, rbx
je 0x1400147fc
mov rax, rbx
shl rax, 4
mov rsi, qword [r15 + rax + 0x10]
test rsi, rsi
je 0x1400147c0
test byte [rsi + 7], 0x40
jne 0x1400147c0
mov rcx, r12
add rbx, 1
call dbg.__emutls_get_address
mov rdx, rsi
mov rcx, rax
call sym.rawDealloc__system_u6968
cmp r14, rbx
jne 0x1400147c9
test byte [r15 + 7], 0x40
je 0x140014840
add rbp, 1
add rdi, 0x10
cmp r13, rbp
jne 0x1400147b0
cmp qword [rsp + 0x28], 0
je 0x140014823
mov rax, qword [rsp + 0x28]
test byte [rax + 7], 0x40
je 0x140014855
add rsp, 0x38
pop rbx
pop rsi
pop rdi
pop rbp
pop r12
pop r13
pop r14
pop r15
ret
test r15, r15
je 0x140014803
jmp 0x1400147fc
mov rcx, r12
call dbg.__emutls_get_address
mov rdx, r15
mov rcx, rax
call sym.rawDealloc__system_u6968
jmp 0x140014803
lea rcx, [0x1400de4c0]
call dbg.__emutls_get_address
mov rdx, qword [rsp + 0x28]
mov rcx, rax
add rsp, 0x38
pop rbx
pop rsi
pop rdi
pop rbp
pop r12
pop r13
pop r14
pop r15
jmp sym.rawDealloc__system_u6968
Function at 0x140014a40
Capabilities:
Terminate process

Disassembly:
push rbx
sub rsp, 0x20
mov rbx, qword [rcx + 8]
test rbx, rbx
je 0x140014a54
test byte [rbx + 7], 0x40
je 0x140014a60
add rsp, 0x20
pop rbx
ret
lea rcx, [0x1400de4c0]
call dbg.__emutls_get_address
mov rdx, rbx
mov rcx, rax
add rsp, 0x20
pop rbx
jmp sym.rawDealloc__system_u6968

Function at 0x140016140
Capabilities:
Terminate process

Disassembly:
push r12
push rbp
push rdi
push rsi
push rbx
sub rsp, 0x20
xor ebx, ebx
lea r12, [0x1400de4c0]
mov rbp, qword [rcx]
mov rdi, qword [rcx + 8]
test rbp, rbp
jg 0x140016171
jmp 0x1400161b8
add rbx, 1
cmp rbp, rbx
je 0x1400161a4
mov rax, rbx
shl rax, 5
mov rsi, qword [rdi + rax + 0x10]
test rsi, rsi
je 0x140016168
test byte [rsi + 7], 0x40
jne 0x140016168
mov rcx, r12
add rbx, 1
call dbg.__emutls_get_address
mov rdx, rsi
mov rcx, rax
call sym.rawDealloc__system_u6968
cmp rbp, rbx
jne 0x140016171
test byte [rdi + 7], 0x40
je 0x1400161d0
add rsp, 0x20
pop rbx
pop rsi
pop rdi
pop rbp
pop r12
ret
test rdi, rdi
jne 0x1400161a4
add rsp, 0x20
pop rbx
pop rsi
pop rdi
pop rbp
pop r12
ret
lea rcx, [0x1400de4c0]
call dbg.__emutls_get_address
mov rdx, rdi
mov rcx, rax
add rsp, 0x20
pop rbx
pop rsi
pop rdi
pop rbp
pop r12
jmp sym.rawDealloc__system_u6968

Function at 0x140016300
Capabilities:
Terminate process

Disassembly:
push r13
push r12
push rbp
push rdi
push rsi
push rbx
sub rsp, 0x28
xor esi, esi
lea r12, [0x1400de4c0]
mov r13, qword [rcx + 8]
mov rbp, qword [rcx]
lea rbx, [r13 + 0x18]
test rbp, rbp
jg 0x14001634c
jmp 0x140016390
mov rdi, qword [rbx + 0x18]
test rdi, rdi
je 0x14001633f
test byte [rdi + 7], 0x40
je 0x140016370
add rsi, 1
add rbx, 0x30
cmp rbp, rsi
je 0x140016390
mov rdi, qword [rbx]
test rdi, rdi
je 0x140016330
test byte [rdi + 7], 0x40
jne 0x140016330
mov rcx, r12
call dbg.__emutls_get_address
mov rdx, rdi
mov rcx, rax
call sym.rawDealloc__system_u6968
jmp 0x140016330
mov rcx, r12
add rsi, 1
add rbx, 0x30
call dbg.__emutls_get_address
mov rdx, rdi
mov rcx, rax
call sym.rawDealloc__system_u6968
cmp rbp, rsi
jne 0x14001634c
test r13, r13
je 0x14001639c
test byte [r13 + 7], 0x40
je 0x1400163b0
add rsp, 0x28
pop rbx
pop rsi
pop rdi
pop rbp
pop r12
pop r13
ret
lea rcx, [0x1400de4c0]
call dbg.__emutls_get_address
mov rdx, r13
mov rcx, rax
add rsp, 0x28
pop rbx
pop rsi
pop rdi
pop rbp
pop r12
pop r13
jmp sym.rawDealloc__system_u6968

Function at 0x140016be0
Capabilities:
Encode data using xor

Disassembly:
mov rax, qword [rcx]
mov rdx, qword [rcx + 8]
test rax, rax
jle 0x140016c40
lea r8, [rax + rdx + 8]
lea rcx, [rdx + 8]
xor eax, eax
nop word [rax + rax]
movzx edx, byte [rcx]
add rcx, 1
add rdx, rax
mov rax, rdx
shl rax, 0xa
add rax, rdx
mov rdx, rax
shr rdx, 6
xor rax, rdx
cmp r8, rcx
jne 0x140016c00
lea rax, [rax + rax*8]
mov rdx, rax
shr rdx, 0xb
xor rdx, rax
mov rax, rdx
shl rax, 0xf
add rax, rdx
ret
xor eax, eax
ret
Function at 0x140016c50
Capabilities:
Terminate process

Disassembly:
push r12
push rbp
push rdi
push rsi
push rbx
sub rsp, 0x20
mov rbp, qword [0x1400f80b0]
xor ebx, ebx
lea r12, [0x1400de4c0]
mov rdi, qword [rcx]
mov rsi, qword [rcx + 8]
test rdi, rdi
jg 0x140016ca4
jmp 0x140016d10
sub rdx, 0x10
jo 0x140016d41
mov qword [rax - 0x10], rdx
mov r8, rbp
mov rdx, rcx
xor ecx, ecx
call sym.rememberCycle__system_u3375
add rbx, 1
cmp rdi, rbx
je 0x140016cf8
mov rax, qword [rsi + rbx*8 + 8]
test rax, rax
je 0x140016c9b
mov rdx, qword [rax - 0x10]
lea rcx, [rax - 0x10]
cmp rdx, 0xf
ja 0x140016c80
mov rdx, rcx
mov r8, rbp
mov ecx, 1
call sym.rememberCycle__system_u3375
mov rcx, qword [rsi + rbx*8 + 8]
call fcn.14009e260
mov rcx, r12
call dbg.__emutls_get_address
mov rcx, rax
mov rax, qword [rsi + rbx*8 + 8]
add rbx, 1
lea rdx, [rax - 0x10]
call sym.rawDealloc__system_u6968
cmp rdi, rbx
jne 0x140016ca4
test byte [rsi + 7], 0x40
je 0x140016d20
add rsp, 0x20
pop rbx
pop rsi
pop rdi
pop rbp
pop r12
ret
test rsi, rsi
jne 0x140016cf8
add rsp, 0x20
pop rbx
pop rsi
pop rdi
pop rbp
pop r12
ret
lea rcx, [0x1400de4c0]
call dbg.__emutls_get_address
mov rdx, rsi
mov rcx, rax
add rsp, 0x20
pop rbx
pop rsi
pop rdi
pop rbp
pop r12
jmp sym.rawDealloc__system_u6968
call sym.raiseOverflow
jmp 0x140016c9b

Function at 0x140017870
Capabilities:
Terminate process

Disassembly:
sub rsp, 0x38
lea rcx, [0x1400de4a0]
call dbg.__emutls_get_address
cmp byte [rax], 0
je 0x140017899
lea rcx, [0x1400de3a0]
call dbg.__emutls_get_address
mov rcx, qword [rax]
test rcx, rcx
jne 0x14001789e
add rsp, 0x38
ret
mov rdx, qword [0x140109118]
test rdx, rdx
je 0x1400178c0
mov qword [rsp + 0x28], rax
mov qword [rsp + 0x20], rcx
call rdx
mov rax, qword [rsp + 0x28]
mov rcx, qword [rsp + 0x20]
mov qword [rsp + 0x20], rax
call sym.reportUnhandledErrorAux__system_u4196
mov rcx, qword [rsp + 0x20]
xor edx, edx
call sym.eqsink___stdZtypedthreads_u179
mov ecx, 1
call sym.exit
nop
nop word cs:[rax + rax]
nop dword [rax]

Function at 0x140018080
Capabilities:
Terminate process

Disassembly:
push r12
push rbp
push rdi
push rsi
push rbx
sub rsp, 0x20
mov r12, rcx
mov rdi, rdx
mov rsi, r8
mov rbp, r9
test r9, r9
js 0x140018100
mov rdx, r9
mov rcx, r8
call sym.setLengthStrV2
test rbp, rbp
je 0x140018120
xor ebx, ebx
jmp 0x1400180e2
mov rax, qword [rsi + 8]
test rax, rax
je 0x1400180c7
test byte [rax + 7], 0x40
je 0x1400180c7
mov rcx, rsi
call sym.nimPrepareStrMutationImpl__system_u2390
cmp rdi, rbx
jle 0x140018130
movzx edx, byte [r12 + rbx]
mov rax, qword [rsi + 8]
mov byte [rax + rbx + 8], dl
add rbx, 1
cmp rbp, rbx
jle 0x140018120
mov rdx, qword [rsi]
cmp rdx, rbx
jg 0x1400180b0
sub rdx, 1
mov rcx, rbx
add rsp, 0x20
pop rbx
pop rsi
pop rdi
pop rbp
pop r12
jmp sym.raiseIndexError2
movabs r8, 0x7fffffffffffffff
xor edx, edx
mov rcx, r9
add rsp, 0x20
pop rbx
pop rsi
pop rdi
pop rbp
pop r12
jmp sym.raiseRangeErrorI
add rsp, 0x20
pop rbx
pop rsi
pop rdi
pop rbp
pop r12
ret
lea rdx, [rdi - 1]
jmp 0x1400180ee
Function at 0x140019fd0
Capabilities:
Terminate process

Disassembly:
push r15
push r14
push r13
push r12
push rbp
push rdi
push rsi
push rbx
sub rsp, 0x98
movaps xmmword [rsp + 0x80], xmm6
movdqu xmm6, xmmword [r8]
mov rax, rdx
mov byte [rsp + 0x5f], r9b
mov rdi, rcx
mov r14, rdx
shr rax, 0x3f
add rax, rdx
sar rax, 1
cmp rdx, 0xffffffffffffffff
jl 0x14001a150
lea r12, [rsp + 0x70]
mov rdx, rax
mov esi, 1
mov rcx, r12
call sym.newSeq__subcmdZstart_u347
mov rbx, qword [rsp + 0x78]
xor ecx, ecx
mov r15, qword [rsp + 0x70]
lea rbp, [rbx + 8]
test rbx, rbx
mov qword [rsp + 0x68], rbx
mov rbx, r14
cmove rbp, rcx
lea rcx, [r14 - 1]
mov r14, rdi
cmp rsi, rbx
jge 0x14001a17f
mov r13, rcx
sub r13, rsi
jo 0x14001a127
mov qword [rsp + 0x60], rcx
movzx edi, byte [rsp + 0x5f]
jmp 0x14001a083
imul rax, rsi, 2
jo 0x14001a127
sub r13, rax
jo 0x14001a127
test r13, r13
js 0x14001a118
mov rax, r13
sub rax, rsi
jo 0x14001a127
add rax, 1
jo 0x14001a127
mov rdx, rsi
add rdx, r13
jo 0x14001a127
mov qword [rsp + 0x30], rdx
xor edx, edx
test rax, rax
mov r9, r15
cmovs rax, rdx
mov dword [rsp + 0x40], edi
mov r8, rbp
mov rdx, rbx
mov qword [rsp + 0x38], r12
mov rcx, r14
mov qword [rsp + 0x20], rax
mov qword [rsp + 0x28], r13
movaps xmmword [rsp + 0x70], xmm6
call sym.mergeAlt__subcmdZstart_u645
mov rcx, qword [0x1400f8300]
call dbg.__emutls_get_address
cmp byte [rax], 0
je 0x14001a070
movaps xmm6, xmmword [rsp + 0x80]
add rsp, 0x98
pop rbx
pop rsi
pop rdi
pop rbp
pop r12
pop r13
pop r14
pop r15
ret
imul rsi, rsi, 2
mov rcx, qword [rsp + 0x60]
jno 0x14001a04d
movaps xmm6, xmmword [rsp + 0x80]
add rsp, 0x98
pop rbx
pop rsi
pop rdi
pop rbp
pop r12
pop r13
pop r14
pop r15
jmp sym.raiseOverflow
movaps xmm6, xmmword [rsp + 0x80]
xor edx, edx
mov rcx, rax
movabs r8, 0x7fffffffffffffff
add rsp, 0x98
pop rbx
pop rsi
pop rdi
pop rbp
pop r12
pop r13
pop r14
pop r15
jmp sym.raiseRangeErrorI
mov rbx, qword [rsp + 0x68]
mov rcx, r12
mov qword [rsp + 0x70], r15
mov qword [rsp + 0x78], rbx
call sym.eqdestroy___subcmdZstart_u491
jmp 0x14001a0f6
Function at 0x1400207d0
Capabilities:
Terminate process

Disassembly:
push rdi
push rsi
push rbx
sub rsp, 0x50
movaps xmmword [rsp + 0x40], xmm6
movdqu xmm6, xmmword [r8]
lea rsi, [rsp + 0x30]
mov rdi, rcx
mov rcx, rsi
call sym.dollar___pureZuri_u409
mov rcx, qword [0x1400f8300]
mov rbx, qword [rsp + 0x38]
call dbg.__emutls_get_address
cmp byte [rax], 0
jne 0x14002081c
lea r8, [rsp + 0x20]
mov rdx, rsi
mov rcx, rdi
movaps xmmword [rsp + 0x20], xmm6
call sym.formatValue__pureZstrformat_u171
test rbx, rbx
je 0x140020827
test byte [rbx + 7], 0x40
je 0x140020838
movaps xmm6, xmmword [rsp + 0x40]
add rsp, 0x50
pop rbx
pop rsi
pop rdi
ret
movaps xmm6, xmmword [rsp + 0x40]
mov rcx, rbx
add rsp, 0x50
pop rbx
pop rsi
pop rdi
jmp sym.deallocShared

Function at 0x140020930
Capabilities:
Terminate process

Disassembly:
push rbx
sub rsp, 0x30
mov rax, qword [rcx + 8]
mov rbx, rcx
test rax, rax
je 0x14002096e
mov rdx, qword [rax - 0x10]
lea rcx, [rax - 0x10]
cmp rdx, 0xf
jbe 0x1400209f0
sub rdx, 0x10
jo 0x140020a26
mov qword [rax - 0x10], rdx
mov r8, qword [rax]
mov rdx, rcx
xor ecx, ecx
call sym.rememberCycle__system_u3375
mov rcx, qword [rbx + 0x20]
test rcx, rcx
je 0x140020981
test byte [rcx + 7], 0x40
je 0x140020a10
movdqu xmm0, xmmword [rbx + 0x28]
lea rcx, [rsp + 0x20]
movaps xmmword [rsp + 0x20], xmm0
call sym.eqdestroy___stdZassertions_u91
mov rax, qword [rbx + 0x38]
test rax, rax
je 0x140020a20
mov rdx, qword [rax - 0x10]
lea rcx, [rax - 0x10]
cmp rdx, 0xf
jbe 0x1400209d0
sub rdx, 0x10
jo 0x140020a30
mov r8, qword [rax]
mov qword [rax - 0x10], rdx
mov rdx, rcx
xor ecx, ecx
add rsp, 0x30
pop rbx
jmp sym.rememberCycle__system_u3375
mov r8, qword [rax]
mov rdx, rcx
mov ecx, 1
call sym.rememberCycle__system_u3375
mov rcx, qword [rbx + 0x38]
add rsp, 0x30
pop rbx
jmp sym.nimDestroyAndDispose
mov r8, qword [rax]
mov rdx, rcx
mov ecx, 1
call sym.rememberCycle__system_u3375
mov rcx, qword [rbx + 8]
call sym.nimDestroyAndDispose
jmp 0x14002096e
call sym.deallocShared
jmp 0x140020981
add rsp, 0x30
pop rbx
ret
call sym.raiseOverflow
jmp 0x14002096e
add rsp, 0x30
pop rbx
jmp sym.raiseOverflow
Function at 0x140020a40
Capabilities:
Terminate process

Disassembly:
push rbx
sub rsp, 0x30
mov rax, qword [rcx + 8]
mov rbx, rcx
test rax, rax
je 0x140020a7e
mov rdx, qword [rax - 0x10]
lea rcx, [rax - 0x10]
cmp rdx, 0xf
jbe 0x140020b00
sub rdx, 0x10
jo 0x140020b36
mov qword [rax - 0x10], rdx
mov r8, qword [rax]
mov rdx, rcx
xor ecx, ecx
call sym.rememberCycle__system_u3375
mov rcx, qword [rbx + 0x20]
test rcx, rcx
je 0x140020a91
test byte [rcx + 7], 0x40
je 0x140020b20
movdqu xmm0, xmmword [rbx + 0x28]
lea rcx, [rsp + 0x20]
movaps xmmword [rsp + 0x20], xmm0
call sym.eqdestroy___stdZassertions_u91
mov rax, qword [rbx + 0x38]
test rax, rax
je 0x140020b30
mov rdx, qword [rax - 0x10]
lea rcx, [rax - 0x10]
cmp rdx, 0xf
jbe 0x140020ae0
sub rdx, 0x10
jo 0x140020b40
mov r8, qword [rax]
mov qword [rax - 0x10], rdx
mov rdx, rcx
xor ecx, ecx
add rsp, 0x30
pop rbx
jmp sym.rememberCycle__system_u3375
mov r8, qword [rax]
mov rdx, rcx
mov ecx, 1
call sym.rememberCycle__system_u3375
mov rcx, qword [rbx + 0x38]
add rsp, 0x30
pop rbx
jmp sym.nimDestroyAndDispose
mov r8, qword [rax]
mov rdx, rcx
mov ecx, 1
call sym.rememberCycle__system_u3375
mov rcx, qword [rbx + 8]
call sym.nimDestroyAndDispose
jmp 0x140020a7e
call sym.deallocShared
jmp 0x140020a91
add rsp, 0x30
pop rbx
ret
call sym.raiseOverflow
jmp 0x140020a7e
add rsp, 0x30
pop rbx
jmp sym.raiseOverflow
Function at 0x1400212b0
Capabilities:
Terminate process

Disassembly:
push r13
push r12
push rbp
push rdi
push rsi
push rbx
sub rsp, 0x48
mov edx, 8
lea r12, [0x1400e99c1]
mov rbx, rcx
mov ecx, 0x48
lea rdi, [rsp + 0x30]
call sym.nimNewObj
mov rdx, rbx
mov rcx, rdi
mov rsi, rax
mov rax, qword [0x1400f8200]
mov qword [rsi + 0x10], r12
mov qword [rsi], rax
call sym.cstrToNimstr
mov rbx, qword [rsp + 0x30]
mov rcx, rdi
mov r13, qword [rsp + 0x38]
lea rdx, [rbx + 0x17]
call sym.rawNewString
mov rdi, qword [rsp + 0x30]
mov rbp, qword [rsp + 0x38]
movabs rdx, 0x6f6e20646c756f63
movabs rcx, 0x7320646e69662074
lea rax, [rdi + rbp + 8]
mov qword [rax], rdx
movabs rdx, 0x203a6c6f626d79
mov qword [rax + 8], rcx
mov qword [rax + 0x10], rdx
mov rax, rdi
add rax, 0x17
jo 0x14002141f
mov rdi, rax
test rbx, rbx
jle 0x140021409
mov rcx, rbx
add rcx, 1
jo 0x140021418
test rcx, rcx
js 0x1400213f8
lea rax, [rdi + rbp + 8]
mov r8, rcx
lea rdx, [r13 + 8]
mov rcx, rax
call sym.memcpy
add rbx, rdi
jo 0x140021418
mov qword [rsi + 0x18], rbx
mov rdx, r12
mov rcx, rsi
lea r9, str.dynlib.nim
mov qword [rsi + 0x20], rbp
lea r8, str.raiseInvalidLibrary
mov qword [rsi + 8], 0
mov qword [rsp + 0x20], 0x40
call sym.raiseExceptionEx
test r13, r13
je 0x1400213ce
test byte [r13 + 7], 0x40
je 0x1400213e0
add rsp, 0x48
pop rbx
pop rsi
pop rdi
pop rbp
pop r12
pop r13
ret
mov rcx, r13
add rsp, 0x48
pop rbx
pop rsi
pop rdi
pop rbp
pop r12
pop r13
jmp sym.deallocShared
movabs r8, 0x7fffffffffffffff
xor edx, edx
call sym.raiseRangeErrorI
mov rbx, rdi
jmp 0x140021390
call sym.raiseOverflow
jmp 0x140021409
call sym.raiseOverflow
jmp 0x140021354

Function at 0x140021a40
Capabilities:
Terminate process

Disassembly:
push rbx
sub rsp, 0x20
mov rax, qword [rcx + 8]
mov rbx, rcx
test rax, rax
je 0x140021a7e
mov rdx, qword [rax - 0x10]
lea rcx, [rax - 0x10]
cmp rdx, 0xf
jbe 0x140021ae8
sub rdx, 0x10
jo 0x140021b21
mov qword [rax - 0x10], rdx
mov r8, qword [rax]
mov rdx, rcx
xor ecx, ecx
call sym.rememberCycle__system_u3375
mov rax, qword [rbx + 0x18]
test rax, rax
je 0x140021aac
mov rdx, qword [rax - 0x10]
lea rcx, [rax - 0x10]
cmp rdx, 0xf
jbe 0x140021ac8
sub rdx, 0x10
jo 0x140021b1a
mov qword [rax - 0x10], rdx
mov r8, qword [rax]
mov rdx, rcx
xor ecx, ecx
call sym.rememberCycle__system_u3375
mov rcx, qword [rbx + 0x28]
test rcx, rcx
je 0x140021abb
test byte [rcx + 7], 0x40
je 0x140021b10
add rsp, 0x20
pop rbx
ret
mov r8, qword [rax]
mov rdx, rcx
mov ecx, 1
call sym.rememberCycle__system_u3375
mov rcx, qword [rbx + 0x18]
call sym.nimDestroyAndDispose
jmp 0x140021aac
mov r8, qword [rax]
mov rdx, rcx
mov ecx, 1
call sym.rememberCycle__system_u3375
mov rcx, qword [rbx + 8]
call sym.nimDestroyAndDispose
jmp 0x140021a7e
add rsp, 0x20
pop rbx
jmp sym.deallocShared
call sym.raiseOverflow
jmp 0x140021aac
call sym.raiseOverflow
jmp 0x140021a7e
Function at 0x140022570
Capabilities:
Terminate process

Disassembly:
push rbx
sub rsp, 0x20
mov rax, qword [rcx + 8]
mov rbx, rcx
test rax, rax
je 0x1400225ae
mov rdx, qword [rax - 0x10]
lea rcx, [rax - 0x10]
cmp rdx, 0xf
jbe 0x140022618
sub rdx, 0x10
jo 0x140022651
mov qword [rax - 0x10], rdx
mov r8, qword [rax]
mov rdx, rcx
xor ecx, ecx
call sym.rememberCycle__system_u3375
mov rax, qword [rbx + 0x18]
test rax, rax
je 0x1400225dc
mov rdx, qword [rax - 0x10]
lea rcx, [rax - 0x10]
cmp rdx, 0xf
jbe 0x1400225f8
sub rdx, 0x10
jo 0x14002264a
mov qword [rax - 0x10], rdx
mov r8, qword [rax]
mov rdx, rcx
xor ecx, ecx
call sym.rememberCycle__system_u3375
mov rcx, qword [rbx + 0x28]
test rcx, rcx
je 0x1400225eb
test byte [rcx + 7], 0x40
je 0x140022640
add rsp, 0x20
pop rbx
ret
mov r8, qword [rax]
mov rdx, rcx
mov ecx, 1
call sym.rememberCycle__system_u3375
mov rcx, qword [rbx + 0x18]
call sym.nimDestroyAndDispose
jmp 0x1400225dc
mov r8, qword [rax]
mov rdx, rcx
mov ecx, 1
call sym.rememberCycle__system_u3375
mov rcx, qword [rbx + 8]
call sym.nimDestroyAndDispose
jmp 0x1400225ae
add rsp, 0x20
pop rbx
jmp sym.deallocShared
call sym.raiseOverflow
jmp 0x1400225dc
call sym.raiseOverflow
jmp 0x1400225ae

Function at 0x140022660
Capabilities:
Terminate process

Disassembly:
push rbx
sub rsp, 0x20
mov rax, qword [rcx + 0x58]
mov rbx, rcx
test rax, rax
je 0x1400226e8
mov rdx, qword [rax - 0x10]
lea rcx, [rax - 0x10]
cmp rdx, 0xf
jbe 0x1400226a0
sub rdx, 0x10
jo 0x1400226ee
mov qword [rax - 0x10], rdx
lea r8, sym.rttiDestroy__pureZtimes_u5397
mov rdx, rcx
xor ecx, ecx
add rsp, 0x20
pop rbx
jmp sym.rememberCycle__system_u3375
mov rdx, rcx
lea r8, sym.rttiDestroy__pureZtimes_u5397
mov ecx, 1
call sym.rememberCycle__system_u3375
mov rcx, qword [rbx + 0x58]
call sym.eqdestroy___pureZtimes_u1436
mov rcx, qword [0x1400f8300]
call dbg.__emutls_get_address
cmp byte [rax], 0
jne 0x1400226e8
mov rcx, qword [rbx + 0x58]
mov edx, 8
add rsp, 0x20
pop rbx
jmp sym.nimRawDispose
add rsp, 0x20
pop rbx
ret
add rsp, 0x20
pop rbx
jmp sym.raiseOverflow

Function at 0x140022700
Capabilities:
Terminate process

Disassembly:
push rbx
sub rsp, 0x20
mov rax, qword [rcx + 0x58]
mov rbx, rcx
test rax, rax
je 0x140022788
mov rdx, qword [rax - 0x10]
lea rcx, [rax - 0x10]
cmp rdx, 0xf
jbe 0x140022740
sub rdx, 0x10
jo 0x14002278e
mov qword [rax - 0x10], rdx
lea r8, sym.rttiDestroy__pureZtimes_u5397
mov rdx, rcx
xor ecx, ecx
add rsp, 0x20
pop rbx
jmp sym.rememberCycle__system_u3375
mov rdx, rcx
lea r8, sym.rttiDestroy__pureZtimes_u5397
mov ecx, 1
call sym.rememberCycle__system_u3375
mov rcx, qword [rbx + 0x58]
call sym.eqdestroy___pureZtimes_u1436
mov rcx, qword [0x1400f8300]
call dbg.__emutls_get_address
cmp byte [rax], 0
jne 0x140022788
mov rcx, qword [rbx + 0x58]
mov edx, 8
add rsp, 0x20
pop rbx
jmp sym.nimRawDispose
add rsp, 0x20
pop rbx
ret
add rsp, 0x20
pop rbx
jmp sym.raiseOverflow