joyce8/EMBER2024-capa huggingface dataset:
Function at 0x1400c9850
Capabilities:
Get file size
Read file on windows
Read file via mapping

Disassembly:
push rbx
push rbp
sub rsp, 0x48
mov rbp, rdx
mov rbx, rcx
test rcx, rcx
jne 0x1400c986c
lea eax, [rcx + 0x28]
add rsp, 0x48
pop rbp
pop rbx
ret
mov qword [rsp + 0x68], rsi
xor r9d, r9d
mov qword [rsp + 0x40], r14
mov edx, 0x80000000
xor r14d, r14d
mov rcx, rbp
mov qword [rsp + 0x30], r14
mov dword [rsp + 0x28], 0x80
mov dword [rsp + 0x20], 3
lea r8d, [r14 + 1]
call qword [sym.imp.KERNEL32.dll_CreateFileA]
mov rsi, rax
cmp rax, 0xffffffffffffffff
jne 0x1400c98c0
mov r14, qword [rsp + 0x40]
lea eax, [rsi + 2]
mov rsi, qword [rsp + 0x68]
add rsp, 0x48
pop rbp
pop rbx
ret
lea rdx, [rsp + 0x70]
mov qword [rsp + 0x78], rdi
mov rcx, rsi
call qword [sym.imp.KERNEL32.dll_GetFileSizeEx]
test eax, eax
je 0x1400c99e5
mov rax, qword [rsp + 0x70]
cmp rax, 0x7fffffff
jg 0x1400c99e5
test rax, rax
je 0x1400c99e5
xor r9d, r9d
mov qword [rsp + 0x28], r14
xor edx, edx
mov dword [rsp + 0x20], r14d
mov rcx, rsi
lea r8d, [r9 + 2]
call qword [sym.imp.KERNEL32.dll_CreateFileMappingA]
mov rdi, rax
test rax, rax
je 0x1400c99e5
mov ecx, dword [rsp + 0x70]
xor r9d, r9d
mov dword [rbx + 8], ecx
xor r8d, r8d
mov rcx, rax
mov dword [rbx + 0xc], r14d
mov qword [rsp + 0x20], r14
lea edx, [r9 + 4]
call qword [sym.imp.KERNEL32.dll_MapViewOfFile]
mov rcx, rdi
mov qword [rbx], rax
call qword [sym.imp.KERNEL32.dll_CloseHandle]
cmp qword [rbx], r14
je 0x1400c995a
lea rax, [0x1400c9a40]
jmp 0x1400c99b3
mov rcx, qword [rbx + 0x30]
xor edx, edx
movsxd r8, dword [rbx + 8]
mov rcx, qword [rcx]
call qword [sym.imp.KERNEL32.dll_HeapAlloc]
mov qword [rbx], rax
test rax, rax
je 0x1400c99e5
mov edi, r14d
nop dword [rax + rax]
mov r8d, dword [rbx + 8]
lea r9, [rsp + 0x60]
mov edx, edi
sub r8d, edi
add rdx, qword [rbx]
mov rcx, rsi
mov qword [rsp + 0x20], r14
call qword [sym.imp.KERNEL32.dll_ReadFile]
test eax, eax
je 0x1400c99d3
add edi, dword [rsp + 0x60]
cmp edi, dword [rbx + 8]
jne 0x1400c9980
lea rax, [0x1400c9a10]
mov rcx, rsi
mov qword [rbx + 0x28], rax
call qword [sym.imp.KERNEL32.dll_CloseHandle]
mov rax, qword [rbx]
mov qword [rbx + 0x10], rax
xor eax, eax
mov qword [rbx + 0x18], rbp
mov qword [rbx + 0x20], r14
jmp 0x1400c99fa
mov rcx, qword [rbx + 0x30]
xor edx, edx
mov r8, qword [rbx]
mov rcx, qword [rcx]
call qword [sym.imp.KERNEL32.dll_HeapFree]
mov rcx, rsi
call qword [sym.imp.KERNEL32.dll_CloseHandle]
mov eax, 0x51
mov qword [rbx], r14
mov qword [rbx + 8], r14
mov rdi, qword [rsp + 0x78]
mov rsi, qword [rsp + 0x68]
mov r14, qword [rsp + 0x40]
add rsp, 0x48
pop rbp
pop rbx
ret
Function at 0x1400cafd0
Capabilities:
Encode data using xor
Hash data with crc32

Disassembly:
mov r9, rdx
test rdx, rdx
jne 0x1400cafdb
xor eax, eax
ret
lea r11, [0x1400f0500]
not ecx
cmp r8d, 8
jb 0x1400cb0b1
mov r10d, r8d
shr r10, 3
nop word [rax + rax]
movzx edx, byte [r9]
mov eax, ecx
xor rdx, rax
shr ecx, 8
movzx eax, dl
add r8d, 0xfffffff8
movzx edx, byte [r9 + 1]
xor ecx, dword [r11 + rax*4]
mov eax, ecx
shr ecx, 8
xor rdx, rax
movzx eax, dl
movzx edx, byte [r9 + 2]
xor ecx, dword [r11 + rax*4]
mov eax, ecx
shr ecx, 8
xor rdx, rax
movzx eax, dl
movzx edx, byte [r9 + 3]
xor ecx, dword [r11 + rax*4]
mov eax, ecx
shr ecx, 8
xor rdx, rax
movzx eax, dl
movzx edx, byte [r9 + 4]
xor ecx, dword [r11 + rax*4]
mov eax, ecx
shr ecx, 8
xor rdx, rax
movzx eax, dl
movzx edx, byte [r9 + 5]
xor ecx, dword [r11 + rax*4]
mov eax, ecx
shr ecx, 8
xor rdx, rax
movzx eax, dl
movzx edx, byte [r9 + 6]
xor ecx, dword [r11 + rax*4]
mov eax, ecx
shr ecx, 8
xor rdx, rax
movzx eax, dl
movzx edx, byte [r9 + 7]
add r9, 8
xor ecx, dword [r11 + rax*4]
mov eax, ecx
shr ecx, 8
xor rdx, rax
movzx eax, dl
xor ecx, dword [r11 + rax*4]
sub r10, 1
jne 0x1400cb000
test r8d, r8d
je 0x1400cb0dd
nop word [rax + rax]
movzx edx, byte [r9]
lea r9, [r9 + 1]
mov eax, ecx
shr ecx, 8
xor rdx, rax
movzx eax, dl
xor ecx, dword [r11 + rax*4]
add r8d, 0xffffffff
jne 0x1400cb0c0
not ecx
mov eax, ecx
ret
Function at 0x1400cecac
Capabilities:
Get geographical location

Disassembly:
mov qword [rsp + 8], rbx
push rdi
sub rsp, 0x40
mov rbx, rdx
lea r8, [rsp + 0x60]
mov edi, ecx
mov edx, 0x20000001
lea rcx, str._x_sys_default_locale
mov r9d, 2
call qword [sym.imp.KERNEL32.dll_GetLocaleInfoEx]
test eax, eax
jne 0x1400cece6
xor r9d, r9d
mov dword [rsp + 0x60], r9d
jmp 0x1400ceceb
mov r9d, dword [rsp + 0x60]
and qword [rsp + 0x30], 0
mov r8d, edi
and dword [rsp + 0x28], 0
xor edx, edx
mov ecx, 0x1300
mov qword [rsp + 0x20], rbx
call qword [sym.imp.KERNEL32.dll_FormatMessageA]
mov edx, eax
test eax, eax
je 0x1400ced34
mov r8, qword [rbx]
dec r8
add r8, rdx
movzx ecx, byte [r8]
lea rax, [0x1400f0c50]
cmp byte [rcx + rax], 0
je 0x1400ced34
dec r8
sub rdx, 1
jne 0x1400ced1a
mov rbx, qword [rsp + 0x50]
mov rax, rdx
add rsp, 0x40
pop rdi
ret

Function at 0x1400d0450
Capabilities:
Parse pe header

Disassembly:
sub rsp, 0x28
xor ecx, ecx
call qword [sym.imp.KERNEL32.dll_GetModuleHandleW]
test rax, rax
je 0x1400d049a
mov ecx, 0x5a4d
cmp word [rax], cx
jne 0x1400d049a
movsxd rcx, dword [rax + 0x3c]
add rcx, rax
cmp dword [rcx], 0x4550
jne 0x1400d049a
mov eax, 0x20b
cmp word [rcx + 0x18], ax
jne 0x1400d049a
cmp dword [rcx + 0x84], 0xe
jbe 0x1400d049a
cmp dword [rcx + 0xf8], 0
setne al
jmp 0x1400d049c
xor al, al
add rsp, 0x28
ret
Function at 0x1400111f4
Capabilities:
Terminate process

Disassembly:
jmp 0x140013110
mov qword [rsp + 8], rcx
sub rsp, 0x28
xor ecx, ecx
call qword [sym.imp.KERNEL32.dll_SetUnhandledExceptionFilter]
mov rcx, qword [rsp + 0x30]
call qword [sym.imp.KERNEL32.dll_UnhandledExceptionFilter]
call qword [sym.imp.KERNEL32.dll_GetCurrentProcess]
mov edx, 0xc0000409
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_TerminateProcess]
add rsp, 0x28
ret

Function at 0x140011280
Capabilities:
Parse pe header

Disassembly:
jmp 0x140014460
sub rsp, 0x38
xor ecx, ecx
call qword [sym.imp.KERNEL32.dll_GetModuleHandleW]
mov qword [rsp + 0x20], rax
cmp qword [rsp + 0x20], 0
jne 0x140014480
xor al, al
jmp 0x140014501
mov rax, qword [rsp + 0x20]
movzx eax, word [rax]
cmp eax, 0x5a4d
je 0x140014493
xor al, al
jmp 0x140014501
mov rax, qword [rsp + 0x20]
movsxd rax, dword [rax + 0x3c]
mov rcx, qword [rsp + 0x20]
add rcx, rax
mov rax, rcx
mov qword [rsp + 0x28], rax
mov rax, qword [rsp + 0x28]
cmp dword [rax], 0x4550
je 0x1400144bd
xor al, al
jmp 0x140014501
mov rax, qword [rsp + 0x28]
movzx eax, word [rax + 0x18]
cmp eax, 0x20b
je 0x1400144d1
xor al, al
jmp 0x140014501
mov rax, qword [rsp + 0x28]
cmp dword [rax + 0x84], 0xe
ja 0x1400144e3
xor al, al
jmp 0x140014501
mov eax, 8
imul rax, rax, 0xe
mov rcx, qword [rsp + 0x28]
cmp dword [rcx + rax + 0x88], 0
jne 0x1400144ff
xor al, al
jmp 0x140014501
mov al, 1
add rsp, 0x38
ret
Function at 0x140002dbc
Capabilities:
Parse pe header

Disassembly:
sub rsp, 0x28
xor ecx, ecx
call qword [sym.imp.KERNEL32.dll_GetModuleHandleW]
test rax, rax
je 0x140002e06
mov ecx, 0x5a4d
cmp word [rax], cx
jne 0x140002e06
movsxd rcx, dword [rax + 0x3c]
add rcx, rax
cmp dword [rcx], 0x4550
jne 0x140002e06
mov eax, 0x20b
cmp word [rcx + 0x18], ax
jne 0x140002e06
cmp dword [rcx + 0x84], 0xe
jbe 0x140002e06
cmp dword [rcx + 0xf8], 0
setne al
jmp 0x140002e08
xor al, al
add rsp, 0x28
ret
Function at 0x140001010
Capabilities:
Parse pe header

Disassembly:
sub rsp, 0x28
mov rax, qword [0x140043a60]
xor ecx, ecx
mov dword [rax], 1
mov rax, qword [0x140043a70]
mov dword [rax], 1
mov rax, qword [0x140043a80]
mov dword [rax], 1
mov rax, qword [0x140043990]
cmp word [rax], 0x5a4d
jne 0x14000105a
movsxd rdx, dword [rax + 0x3c]
add rax, rdx
cmp dword [rax], 0x4550
je 0x1400010c0
mov rax, qword [0x140043a50]
mov dword [0x14004b00c], ecx
mov eax, dword [rax]
test eax, eax
je 0x1400010b0
mov ecx, 2
call sym.__set_app_type
call sym.__p__fmode
mov rdx, qword [0x140043b50]
mov edx, dword [rdx]
mov dword [rax], edx
call sym.__p__commode
mov rdx, qword [0x140043b30]
mov edx, dword [rdx]
mov dword [rax], edx
call sym._setargv
mov rax, qword [0x140043970]
cmp dword [rax], 1
je 0x1400010f8
xor eax, eax
add rsp, 0x28
ret
mov ecx, 1
call sym.__set_app_type
jmp 0x140001077
movzx edx, word [rax + 0x18]
cmp dx, 0x10b
je 0x140001110
cmp dx, 0x20b
jne 0x14000105a
cmp dword [rax + 0x84], 0xe
jbe 0x14000105a
mov edx, dword [rax + 0xf8]
xor ecx, ecx
test edx, edx
setne cl
jmp 0x14000105a
mov rcx, qword [sym._matherr]
call sym.__mingw_setusermatherr
xor eax, eax
add rsp, 0x28
ret
cmp dword [rax + 0x74], 0xe
jbe 0x14000105a
mov r8d, dword [rax + 0xe8]
xor ecx, ecx
test r8d, r8d
setne cl
jmp 0x14000105a
Function at 0x140001180
Capabilities:
Terminate process

Disassembly:
push r12
push rbp
push rdi
push rsi
push rbx
sub rsp, 0x20
mov rbx, qword [0x140043ab0]
xor edi, edi
mov rax, qword gs:[0x30]
mov rbp, qword [sym.imp.KERNEL32.dll_Sleep]
mov rsi, qword [rax + 8]
jmp 0x1400011c0
cmp rsi, rax
je 0x140001320
mov ecx, 0x3e8
call rbp
mov rax, rdi
lock cmpxchg qword [rbx], rsi
test rax, rax
jne 0x1400011b0
mov rsi, qword [0x140043ac0]
xor edi, edi
mov eax, dword [rsi]
cmp eax, 1
je 0x140001337
mov eax, dword [rsi]
test eax, eax
je 0x1400013a0
mov dword [0x14004b008], 1
mov eax, dword [rsi]
cmp eax, 1
je 0x14000134c
test edi, edi
je 0x14000136d
mov rax, qword [0x1400439d0]
mov rax, qword [rax]
test rax, rax
je 0x140001223
xor r8d, r8d
mov edx, 2
xor ecx, ecx
call rax
call sym._pei386_runtime_relocator
mov rcx, qword [sym._gnu_exception_handler]
call qword [sym.imp.KERNEL32.dll_SetUnhandledExceptionFilter]
mov rdx, qword [0x140043aa0]
lea rcx, [sym.__mingw_invalidParameterHandler]
mov qword [rdx], rax
call sym._set_invalid_parameter_handler
call sym._fpreset
mov ebx, dword [0x14004b028]
lea edi, [rbx + 1]
movsxd rdi, edi
shl rdi, 3
mov rcx, rdi
call sym.malloc
test ebx, ebx
mov rbp, qword [0x14004b020]
mov r12, rax
jle 0x1400013c0
sub rdi, 8
xor ebx, ebx
mov rcx, qword [rbp + rbx]
call sym.strlen
lea rsi, [rax + 1]
mov rcx, rsi
call sym.malloc
mov r8, rsi
mov qword [r12 + rbx], rax
mov rdx, qword [rbp + rbx]
mov rcx, rax
add rbx, 8
call sym.memcpy
cmp rdi, rbx
jne 0x140001280
add rdi, r12
mov qword [rdi], 0
mov qword [0x14004b020], r12
call sym.__main
mov rax, qword [0x140043a30]
mov r8, qword [0x14004b018]
mov ecx, dword [0x14004b028]
mov rax, qword [rax]
mov qword [rax], r8
mov rdx, qword [0x14004b020]
call sym.main
mov ecx, dword [0x14004b00c]
mov dword [0x14004b010], eax
test ecx, ecx
je 0x1400013c8
mov edx, dword [0x14004b008]
test edx, edx
je 0x140001380
add rsp, 0x20
pop rbx
pop rsi
pop rdi
pop rbp
pop r12
ret
mov rsi, qword [0x140043ac0]
mov edi, 1
mov eax, dword [rsi]
cmp eax, 1
jne 0x1400011e1
mov ecx, 0x1f
call sym._amsg_exit
mov eax, dword [rsi]
cmp eax, 1
jne 0x140001200
mov rdx, qword [0x140043b00]
mov rcx, qword [0x140043af0]
call sym._initterm
test edi, edi
mov dword [rsi], 2
jne 0x140001208
xor eax, eax
xchg qword [rbx], rax
jmp 0x140001208
call sym._cexit
mov eax, dword [0x14004b010]
add rsp, 0x20
pop rbx
pop rsi
pop rdi
pop rbp
pop r12
ret
mov rdx, qword [0x140043b20]
mov dword [rsi], 1
mov rcx, qword [0x140043b10]
call sym._initterm
jmp 0x1400011f5
mov rdi, rax
jmp 0x1400012b6
mov ecx, eax
call sym.exit
nop
Function at 0x140001561
Capabilities:
Terminate process

Disassembly:
push rbx
sub rsp, 0x30
mov rbx, rcx
mov rcx, qword [rcx + 8]
call sym.nimDecRefIsLastCyclicDyn
test al, al
je 0x14000157f
mov rcx, qword [rbx + 8]
call sym.nimDestroyAndDispose
mov rcx, qword [rbx + 0x20]
test rcx, rcx
je 0x140001593
test byte [rcx + 7], 0x40
jne 0x140001593
call sym.deallocShared
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
test al, al
je 0x1400015c1
mov rcx, qword [rbx + 0x38]
add rsp, 0x30
pop rbx
jmp sym.nimDestroyAndDispose
add rsp, 0x30
pop rbx
ret

Function at 0x1400015c9
Capabilities:
Terminate process

Disassembly:
push rbx
sub rsp, 0x30
mov rbx, rcx
mov rcx, qword [rcx + 8]
call sym.nimDecRefIsLastCyclicDyn
test al, al
je 0x1400015e7
mov rcx, qword [rbx + 8]
call sym.nimDestroyAndDispose
mov rcx, qword [rbx + 0x20]
test rcx, rcx
je 0x1400015fb
test byte [rcx + 7], 0x40
jne 0x1400015fb
call sym.deallocShared
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
test al, al
je 0x140001629
mov rcx, qword [rbx + 0x38]
add rsp, 0x30
pop rbx
jmp sym.nimDestroyAndDispose
add rsp, 0x30
pop rbx
ret

Function at 0x140001631
Capabilities:
Terminate process

Disassembly:
push rbx
sub rsp, 0x30
mov rbx, rcx
mov rcx, qword [rcx + 8]
call sym.nimDecRefIsLastCyclicDyn
test al, al
je 0x14000164f
mov rcx, qword [rbx + 8]
call sym.nimDestroyAndDispose
mov rcx, qword [rbx + 0x20]
test rcx, rcx
je 0x140001663
test byte [rcx + 7], 0x40
jne 0x140001663
call sym.deallocShared
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
test al, al
je 0x140001691
mov rcx, qword [rbx + 0x38]
add rsp, 0x30
pop rbx
jmp sym.nimDestroyAndDispose
add rsp, 0x30
pop rbx
ret

Function at 0x140001699
Capabilities:
Terminate process

Disassembly:
push rbx
sub rsp, 0x30
mov rbx, rcx
mov rcx, qword [rcx + 8]
call sym.nimDecRefIsLastCyclicDyn
test al, al
je 0x1400016b7
mov rcx, qword [rbx + 8]
call sym.nimDestroyAndDispose
mov rcx, qword [rbx + 0x20]
test rcx, rcx
je 0x1400016cb
test byte [rcx + 7], 0x40
jne 0x1400016cb
call sym.deallocShared
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
test al, al
je 0x1400016f9
mov rcx, qword [rbx + 0x38]
add rsp, 0x30
pop rbx
jmp sym.nimDestroyAndDispose
add rsp, 0x30
pop rbx
ret
Function at 0x140001701
Capabilities:
Terminate process

Disassembly:
push rbx
sub rsp, 0x30
mov rbx, rcx
mov rcx, qword [rcx + 8]
call sym.nimDecRefIsLastCyclicDyn
test al, al
je 0x14000171f
mov rcx, qword [rbx + 8]
call sym.nimDestroyAndDispose
mov rcx, qword [rbx + 0x20]
test rcx, rcx
je 0x140001733
test byte [rcx + 7], 0x40
jne 0x140001733
call sym.deallocShared
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
test al, al
je 0x140001761
mov rcx, qword [rbx + 0x38]
add rsp, 0x30
pop rbx
jmp sym.nimDestroyAndDispose
add rsp, 0x30
pop rbx
ret

Function at 0x140001769
Capabilities:
Terminate process

Disassembly:
push rbx
sub rsp, 0x30
mov rbx, rcx
mov rcx, qword [rcx + 8]
call sym.nimDecRefIsLastCyclicDyn
test al, al
je 0x140001787
mov rcx, qword [rbx + 8]
call sym.nimDestroyAndDispose
mov rcx, qword [rbx + 0x20]
test rcx, rcx
je 0x14000179b
test byte [rcx + 7], 0x40
jne 0x14000179b
call sym.deallocShared
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
test al, al
je 0x1400017c9
mov rcx, qword [rbx + 0x38]
add rsp, 0x30
pop rbx
jmp sym.nimDestroyAndDispose
add rsp, 0x30
pop rbx
ret

Function at 0x1400017d1
Capabilities:
Terminate process

Disassembly:
push rbx
sub rsp, 0x30
mov rbx, rcx
mov rcx, qword [rcx + 8]
call sym.nimDecRefIsLastCyclicDyn
test al, al
je 0x1400017ef
mov rcx, qword [rbx + 8]
call sym.nimDestroyAndDispose
mov rcx, qword [rbx + 0x20]
test rcx, rcx
je 0x140001803
test byte [rcx + 7], 0x40
jne 0x140001803
call sym.deallocShared
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
test al, al
je 0x140001831
mov rcx, qword [rbx + 0x38]
add rsp, 0x30
pop rbx
jmp sym.nimDestroyAndDispose
add rsp, 0x30
pop rbx
ret

Function at 0x140001839
Capabilities:
Terminate process

Disassembly:
push rbx
sub rsp, 0x30
mov rbx, rcx
mov rcx, qword [rcx + 8]
call sym.nimDecRefIsLastCyclicDyn
test al, al
je 0x140001857
mov rcx, qword [rbx + 8]
call sym.nimDestroyAndDispose
mov rcx, qword [rbx + 0x20]
test rcx, rcx
je 0x14000186b
test byte [rcx + 7], 0x40
jne 0x14000186b
call sym.deallocShared
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
test al, al
je 0x140001899
mov rcx, qword [rbx + 0x38]
add rsp, 0x30
pop rbx
jmp sym.nimDestroyAndDispose
add rsp, 0x30
pop rbx
ret
Function at 0x1400018a1
Capabilities:
Terminate process

Disassembly:
push rbx
sub rsp, 0x30
mov rbx, rcx
mov rcx, qword [rcx + 8]
call sym.nimDecRefIsLastCyclicDyn
test al, al
je 0x1400018bf
mov rcx, qword [rbx + 8]
call sym.nimDestroyAndDispose
mov rcx, qword [rbx + 0x20]
test rcx, rcx
je 0x1400018d3
test byte [rcx + 7], 0x40
jne 0x1400018d3
call sym.deallocShared
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
test al, al
je 0x140001901
mov rcx, qword [rbx + 0x38]
add rsp, 0x30
pop rbx
jmp sym.nimDestroyAndDispose
add rsp, 0x30
pop rbx
ret

Function at 0x140001909
Capabilities:
Terminate process

Disassembly:
push rbx
sub rsp, 0x30
mov rbx, rcx
mov rcx, qword [rcx + 8]
call sym.nimDecRefIsLastCyclicDyn
test al, al
je 0x140001927
mov rcx, qword [rbx + 8]
call sym.nimDestroyAndDispose
mov rcx, qword [rbx + 0x20]
test rcx, rcx
je 0x14000193b
test byte [rcx + 7], 0x40
jne 0x14000193b
call sym.deallocShared
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
test al, al
je 0x140001969
mov rcx, qword [rbx + 0x38]
add rsp, 0x30
pop rbx
jmp sym.nimDestroyAndDispose
add rsp, 0x30
pop rbx
ret

Function at 0x140001971
Capabilities:
Terminate process

Disassembly:
push rbx
sub rsp, 0x30
mov rbx, rcx
mov rcx, qword [rcx + 8]
call sym.nimDecRefIsLastCyclicDyn
test al, al
je 0x14000198f
mov rcx, qword [rbx + 8]
call sym.nimDestroyAndDispose
mov rcx, qword [rbx + 0x20]
test rcx, rcx
je 0x1400019a3
test byte [rcx + 7], 0x40
jne 0x1400019a3
call sym.deallocShared
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
test al, al
je 0x1400019d1
mov rcx, qword [rbx + 0x38]
add rsp, 0x30
pop rbx
jmp sym.nimDestroyAndDispose
add rsp, 0x30
pop rbx
ret

Function at 0x1400019d9
Capabilities:
Terminate process

Disassembly:
push rbx
sub rsp, 0x30
mov rbx, rcx
mov rcx, qword [rcx + 8]
call sym.nimDecRefIsLastCyclicDyn
test al, al
je 0x1400019f7
mov rcx, qword [rbx + 8]
call sym.nimDestroyAndDispose
mov rcx, qword [rbx + 0x20]
test rcx, rcx
je 0x140001a0b
test byte [rcx + 7], 0x40
jne 0x140001a0b
call sym.deallocShared
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
test al, al
je 0x140001a39
mov rcx, qword [rbx + 0x38]
add rsp, 0x30
pop rbx
jmp sym.nimDestroyAndDispose
add rsp, 0x30
pop rbx
ret
Function at 0x140001a41
Capabilities:
Terminate process

Disassembly:
push rbx
sub rsp, 0x30
mov rbx, rcx
mov rcx, qword [rcx + 8]
call sym.nimDecRefIsLastCyclicDyn
test al, al
je 0x140001a5f
mov rcx, qword [rbx + 8]
call sym.nimDestroyAndDispose
mov rcx, qword [rbx + 0x20]
test rcx, rcx
je 0x140001a73
test byte [rcx + 7], 0x40
jne 0x140001a73
call sym.deallocShared
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
test al, al
je 0x140001aa1
mov rcx, qword [rbx + 0x38]
add rsp, 0x30
pop rbx
jmp sym.nimDestroyAndDispose
add rsp, 0x30
pop rbx
ret

Function at 0x140002080
Capabilities:
Terminate process

Disassembly:
push rbp
push rdi
push rsi
push rbx
sub rsp, 0x48
mov ebx, 0x17
mov r8d, 0x64
lea r9, [rsp + 0x27]
mov rbp, rcx
mov rax, rdx
lea rcx, str.00010203040506070809101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899
cmp rax, 0x63
ja 0x1400020b3
cmp rax, 9
jbe 0x1400020f1
jmp 0x1400020e6
xor edx, edx
div r8
add rdx, rdx
cmp rbx, 0xffffffffffffffff
jne 0x1400020cf
mov edx, 0x17
or rcx, 0xffffffffffffffff
jmp 0x14000217a
mov r10b, byte [rcx + rdx + 1]
mov dl, byte [rcx + rdx]
mov byte [rsp + rbx + 0x28], r10b
mov byte [r9 + rbx], dl
sub rbx, 2
jmp 0x1400020a5
add rax, rax
cmp rbx, 0x17
jbe 0x1400020fc
jmp 0x1400020c1
add eax, 0x30
cmp rbx, 0x17
jbe 0x140002117
jmp 0x1400020c1
lea rdx, str.00010203040506070809101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899
mov cl, byte [rdx + rax + 1]
mov byte [rsp + rbx + 0x28], cl
dec rbx
cmp rbx, 0x17
ja 0x1400020c1
mov al, byte [rdx + rax]
mov byte [rsp + rbx + 0x28], al
mov rsi, qword [rbp]
mov edi, 0x18
sub rdi, rbx
mov rcx, rdi
add rcx, rsi
jo 0x14000214d
test rcx, rcx
jns 0x14000215a
movabs r8, 0x7fffffffffffffff
xor edx, edx
add rsp, 0x48
pop rbx
pop rsi
pop rdi
pop rbp
jmp sym.raiseRangeErrorI
add rsp, 0x48
pop rbx
pop rsi
pop rdi
pop rbp
jmp sym.raiseOverflow
mov rdx, rcx
mov rcx, rbp
call sym.setLengthStrV2
test rsi, rsi
js 0x140002170
cmp rsi, qword [rbp]
jl 0x140002187
mov rdx, qword [rbp]
mov rcx, rsi
dec rdx
add rsp, 0x48
pop rbx
pop rsi
pop rdi
pop rbp
jmp sym.raiseIndexError2
mov rax, qword [rbp + 8]
mov ecx, edi
lea rax, [rax + rsi + 8]
lea rsi, [rsp + rbx + 0x28]
mov rdi, rax
rep movsb byte [rdi], byte [rsi]
add rsp, 0x48
pop rbx
pop rsi
pop rdi
pop rbp
ret