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

Disassembly:
push r14
push r13
push r12
push rbp
push rdi
push rsi
push rbx
sub rsp, 0x30
mov r12, qword [r8]
mov r13, qword [r8 + 8]
mov rbx, rcx
mov rbp, rdx
test r12, r12
jle 0x140028c28
mov rdi, qword [0x14012c5f0]
movzx r14d, byte [r13 + r12 + 7]
mov rcx, rdi
call dbg.__emutls_get_address
cmp byte [rax], 0
jne 0x140028c90
cmp r14b, 0x5c
sete sil
cmp r14b, 0x2f
sete al
or esi, eax
xor edx, edx
mov rcx, rbx
call sym.normalizePathEnd__stdZprivateZospaths50_u19
mov rcx, rdi
call dbg.__emutls_get_address
cmp byte [rax], 0
mov rdi, rax
jne 0x140028c90
lea rcx, [rsp + 0x20]
mov r8, rbp
mov rdx, rbx
mov qword [rsp + 0x20], r12
mov r9d, 0x5c
mov qword [rsp + 0x28], r13
call sym.addNormalizePath__pureZpathnorm_u87
cmp byte [rdi], 0
jne 0x140028c90
movzx edx, sil
mov rcx, rbx
add rsp, 0x30
pop rbx
pop rsi
pop rdi
pop rbp
pop r12
pop r13
pop r14
jmp sym.normalizePathEnd__stdZprivateZospaths50_u19
jne 0x140028ca0
mov rdx, qword [rcx]
test rdx, rdx
jle 0x140028ca0
mov rax, qword [rcx + 8]
test rax, rax
je 0x140028c49
test byte [rax + 7], 0x40
je 0x140028c49
call sym.nimPrepareStrMutationImpl__system_u2390
mov rdx, qword [rbx]
mov rcx, rdx
sub rcx, 1
jo 0x140028cbd
cmp rdx, rcx
jle 0x140028cb0
test rcx, rcx
js 0x140028cb0
mov rax, qword [rbx + 8]
lea rsi, [rax + rcx + 8]
mov rdi, qword [0x14012c5f0]
mov rcx, rdi
call dbg.__emutls_get_address
cmp byte [rax], 0
jne 0x140028c90
movzx eax, byte [rsi]
cmp al, 0x5c
sete sil
cmp al, 0x2f
sete al
or esi, eax
jmp 0x140028bc3
add rsp, 0x30
pop rbx
pop rsi
pop rdi
pop rbp
pop r12
pop r13
pop r14
ret
mov rdi, qword [0x14012c5f0]
xor esi, esi
jmp 0x140028bc3
sub rdx, 1
xor esi, esi
call sym.raiseIndexError2
jmp 0x140028c65
call sym.raiseOverflow
xor esi, esi
jmp 0x140028c65

Function at 0x140029470
Capabilities:
Terminate process

Disassembly:
push rbx
sub rsp, 0x20
mov rbx, rcx
mov rcx, qword [rcx + 8]
test rcx, rcx
je 0x140029487
test byte [rcx + 7], 0x40
je 0x1400294d0
mov rcx, qword [rbx + 0x18]
test rcx, rcx
je 0x140029496
test byte [rcx + 7], 0x40
je 0x1400294c0
mov rcx, qword [rbx + 0x28]
test rcx, rcx
je 0x1400294a5
test byte [rcx + 7], 0x40
je 0x1400294b0
add rsp, 0x20
pop rbx
ret
add rsp, 0x20
pop rbx
jmp sym.deallocShared
call sym.deallocShared
jmp 0x140029496
call sym.deallocShared
jmp 0x140029487

Function at 0x14002b760
Capabilities:
Execute command

Disassembly:
push rbx
sub rsp, 0x20
lea rdx, [0x140113ba0]
mov rax, qword [rcx + 8]
add rax, 8
cmp qword [rcx], 0
cmovne rdx, rax
mov rcx, rdx
call sym.system
mov rcx, qword [0x14012c5f0]
mov ebx, eax
call dbg.__emutls_get_address
cmp byte [rax], 0
mov eax, 0
cmovne ebx, eax
movsxd rax, ebx
add rsp, 0x20
pop rbx
ret

Function at 0x14002ba90
Capabilities:
Terminate process

Disassembly:
mov eax, 0x80000000
add rax, rcx
shr rax, 0x20
jne 0x14002bab0
mov rax, qword [0x14012bf40]
jmp qword [rax]
mov r8d, 0x7fffffff
mov rdx, 0xffffffff80000000
jmp sym.raiseRangeErrorI
Function at 0x14002bad0
Capabilities:
Hash data using murmur3

Disassembly:
push r15
push r14
push r13
push r12
push rbp
push rdi
push rsi
push rbx
sub rsp, 0x28
mov rsi, rdx
sar rdx, 0x3f
mov rbx, rcx
shr rdx, 0x3e
mov r12, rsi
lea rax, [rsi + rdx]
and eax, 3
sub rax, rdx
sub r12, rax
cmp rsi, 3
jle 0x14002bb77
lea rdi, [rsi + 3]
mov rbp, qword [0x14012c5f0]
xor r13d, r13d
xor r14d, r14d
and rdi, 0xfffffffffffffffc
jmp 0x14002bb43
imul eax, r15d, 0x1b873593
xor eax, r13d
rol eax, 0xd
lea r13d, [rax + rax*4 - 0x19ab949c]
cmp r14, r12
jge 0x14002bb80
cmp r14, rdi
je 0x14002bc50
mov eax, dword [rbx + r14]
mov rcx, rbp
add r14, 4
imul eax, eax, 0xcc9e2d51
rol eax, 0xf
mov r15d, eax
call dbg.__emutls_get_address
cmp byte [rax], 0
je 0x14002bb20
xor eax, eax
add rsp, 0x28
pop rbx
pop rsi
pop rdi
pop rbp
pop r12
pop r13
pop r14
pop r15
ret
xor r14d, r14d
xor r13d, r13d
nop dword [rax]
mov rdx, rsi
sar rdx, 0x3f
shr rdx, 0x3e
lea rax, [rsi + rdx]
and eax, 3
sub rax, rdx
test rax, rax
jle 0x14002bc72
lea r8, [rax - 1]
lea rcx, [r14 + r8]
cmp rcx, rsi
jge 0x14002bc64
test rcx, rcx
js 0x14002bc64
movzx edx, byte [rbx + rcx]
test r8, r8
je 0x14002bbfc
sub rax, 2
mov rcx, rax
add rcx, r14
js 0x14002bc64
cmp rsi, rcx
jle 0x14002bc64
movzx ecx, byte [rbx + rcx]
shl edx, 8
or edx, ecx
test rax, rax
je 0x14002bbfc
test r14, r14
js 0x14002bc61
cmp r14, rsi
jge 0x14002bc61
movzx eax, byte [rbx + r14]
shl edx, 8
or edx, eax
imul ebx, edx, 0xcc9e2d51
rol ebx, 0xf
mov rcx, qword [0x14012c5f0]
call dbg.__emutls_get_address
cmp byte [rax], 0
jne 0x14002bb64
imul eax, ebx, 0x1b873593
xor r13d, esi
xor eax, r13d
mov edx, eax
shr edx, 0x10
xor eax, edx
imul eax, eax, 0x85ebca6b
mov edx, eax
shr edx, 0xd
xor edx, eax
imul edx, edx, 0xc2b2ae35
mov eax, edx
shr eax, 0x10
xor eax, edx
jmp 0x14002bb66
lea rdx, [rsi - 1]
mov rcx, r14
call sym.raiseIndexError2
jmp 0x14002bb64
mov rcx, r14
lea rdx, [rsi - 1]
call sym.raiseIndexError2
jmp 0x14002bb64
xor ebx, ebx
jmp 0x14002bc05

Function at 0x14002bc80
Capabilities:
Hash data using murmur3

Disassembly:
sub rsp, 0x28
mov rdx, qword [rcx]
mov rax, qword [rcx + 8]
test rdx, rdx
js 0x14002bca8
lea rcx, [rax + 8]
test rax, rax
cmove rcx, rax
add rsp, 0x28
jmp sym.murmurHash__pureZhashes_u194
lea rax, [rdx - 1]
mov r8, rdx
xor ecx, ecx
mov rdx, rax
call sym.raiseIndexError4
xor eax, eax
add rsp, 0x28
ret
Function at 0x14002be50
Capabilities:
Terminate process

Disassembly:
push rbx
sub rsp, 0x30
mov rbx, qword [rcx]
test rdx, rdx
je 0x14002be6b
mov rax, qword [rdx - 0x10]
add rax, 0x10
jo 0x14002bec6
mov qword [rdx - 0x10], rax
mov qword [rcx], rdx
test rbx, rbx
je 0x14002bec0
mov rax, qword [rbx - 0x10]
lea rdx, [rbx - 0x10]
cmp rax, 0xf
jbe 0x14002bea0
sub rax, 0x10
jo 0x14002bee1
mov r8, qword [rbx]
xor ecx, ecx
mov qword [rbx - 0x10], rax
add rsp, 0x30
pop rbx
jmp sym.rememberCycle__system_u3375
mov r8, qword [rbx]
mov ecx, 1
call sym.rememberCycle__system_u3375
mov rcx, rbx
add rsp, 0x30
pop rbx
jmp sym.nimDestroyAndDispose
add rsp, 0x30
pop rbx
ret
mov qword [rsp + 0x28], rdx
mov qword [rsp + 0x20], rcx
call sym.raiseOverflow
mov rdx, qword [rsp + 0x28]
mov rcx, qword [rsp + 0x20]
jmp 0x14002be6b
add rsp, 0x30
pop rbx
jmp sym.raiseOverflow

Function at 0x14002bef0
Capabilities:
Terminate process

Disassembly:
push rbp
push rdi
push rsi
push rbx
sub rsp, 0x28
xor esi, esi
mov rbp, qword [rcx + 8]
mov rdi, qword [rcx]
lea rbx, [rbp + 0x10]
test rdi, rdi
jg 0x14002bf2c
jmp 0x14002bf5a
mov rcx, qword [rbx + 0x10]
test rcx, rcx
je 0x14002bf1f
test byte [rcx + 7], 0x40
je 0x14002bf48
add rsi, 1
add rbx, 0x28
cmp rdi, rsi
je 0x14002bf5a
mov rcx, qword [rbx]
test rcx, rcx
je 0x14002bf10
test byte [rcx + 7], 0x40
jne 0x14002bf10
call sym.deallocShared
jmp 0x14002bf10
call sym.deallocShared
add rsi, 1
add rbx, 0x28
cmp rdi, rsi
jne 0x14002bf2c
test rbp, rbp
je 0x14002bf65
test byte [rbp + 7], 0x40
je 0x14002bf70
add rsp, 0x28
pop rbx
pop rsi
pop rdi
pop rbp
ret
mov edx, 8
mov rcx, rbp
add rsp, 0x28
pop rbx
pop rsi
pop rdi
pop rbp
jmp sym.alignedDealloc

Function at 0x14002bfd0
Capabilities:
Terminate process

Disassembly:
push rbx
sub rsp, 0x20
mov rbx, rcx
mov rcx, qword [rcx + 8]
test rcx, rcx
je 0x14002bfe7
test byte [rcx + 7], 0x40
je 0x14002c010
mov rcx, qword [rbx + 0x18]
test rcx, rcx
je 0x14002bff6
test byte [rcx + 7], 0x40
je 0x14002c000
add rsp, 0x20
pop rbx
ret
add rsp, 0x20
pop rbx
jmp sym.deallocShared
call sym.deallocShared
jmp 0x14002bfe7

Function at 0x14002cbb0
Capabilities:
Terminate process

Disassembly:
push rbx
sub rsp, 0x20
mov rbx, rcx
test rcx, rcx
je 0x14002cc08
mov rax, qword [rcx - 0x10]
lea rdx, [rcx - 0x10]
cmp rax, 0xf
jbe 0x14002cbe8
sub rax, 0x10
jo 0x14002cc0e
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 0x14002e020
Capabilities:
Terminate process

Disassembly:
mov rcx, qword [rcx + 0x10]
test rcx, rcx
je 0x14002e02f
test byte [rcx + 7], 0x40
je 0x14002e030
ret
jmp sym.deallocShared
Function at 0x14002e2a0
Capabilities:
Terminate process

Disassembly:
push rbx
sub rsp, 0x30
mov rax, qword [rcx + 8]
mov rbx, rcx
test rax, rax
je 0x14002e2de
mov rdx, qword [rax - 0x10]
lea rcx, [rax - 0x10]
cmp rdx, 0xf
jbe 0x14002e360
sub rdx, 0x10
jo 0x14002e396
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 0x14002e2f1
test byte [rcx + 7], 0x40
je 0x14002e380
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 0x14002e390
mov rdx, qword [rax - 0x10]
lea rcx, [rax - 0x10]
cmp rdx, 0xf
jbe 0x14002e340
sub rdx, 0x10
jo 0x14002e3a0
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 0x14002e2de
call sym.deallocShared
jmp 0x14002e2f1
add rsp, 0x30
pop rbx
ret
call sym.raiseOverflow
jmp 0x14002e2de
add rsp, 0x30
pop rbx
jmp sym.raiseOverflow

Function at 0x14002e3b0
Capabilities:
Terminate process

Disassembly:
push rbx
sub rsp, 0x20
mov rbx, rcx
test rcx, rcx
je 0x14002e408
mov rax, qword [rcx - 0x10]
lea rdx, [rcx - 0x10]
cmp rax, 0xf
jbe 0x14002e3e8
sub rax, 0x10
jo 0x14002e40e
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 0x14002e420
Capabilities:
Terminate process

Disassembly:
push rbx
sub rsp, 0x30
mov rax, qword [rcx + 8]
mov rbx, rcx
test rax, rax
je 0x14002e45e
mov rdx, qword [rax - 0x10]
lea rcx, [rax - 0x10]
cmp rdx, 0xf
jbe 0x14002e4e0
sub rdx, 0x10
jo 0x14002e516
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 0x14002e471
test byte [rcx + 7], 0x40
je 0x14002e500
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 0x14002e510
mov rdx, qword [rax - 0x10]
lea rcx, [rax - 0x10]
cmp rdx, 0xf
jbe 0x14002e4c0
sub rdx, 0x10
jo 0x14002e520
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 0x14002e45e
call sym.deallocShared
jmp 0x14002e471
add rsp, 0x30
pop rbx
ret
call sym.raiseOverflow
jmp 0x14002e45e
add rsp, 0x30
pop rbx
jmp sym.raiseOverflow
Function at 0x14002ed10
Capabilities:
Terminate process

Disassembly:
push r15
push r14
push r13
push r12
push rbp
push rdi
push rsi
push rbx
sub rsp, 0x28
movsxd rax, r8d
mov r12, rcx
mov rbp, rdx
mov r14, rax
add rax, 0x7fffffff
shr rax, 0x20
jne 0x14002eea0
sub r14d, 1
js 0x14002ee6c
xor ebx, ebx
jmp 0x14002edae
mov rax, qword [rbp]
cmp rbx, rax
jge 0x14002eeb8
mov rcx, qword [rbp + 8]
xor edx, edx
add rcx, rdi
call sym.setLengthStrV2
mov rax, qword [0x14012c0e0]
mov edx, ebx
mov rcx, r12
call qword [rax]
mov rdx, rax
test rax, rax
je 0x14002ee5c
mov rax, qword [rbp]
cmp rbx, rax
jge 0x14002eeb8
add rdi, qword [rbp + 8]
lea esi, [rbx + 1]
add rbx, 1
mov rcx, rdi
call sym.add__system_u3523
cmp r14d, esi
jl 0x14002ee6c
mov rax, qword [0x14012c0d0]
mov edx, ebx
mov rcx, r12
mov esi, ebx
call qword [rax]
mov rdx, qword [rbp]
mov r15d, eax
cmp rbx, rdx
jge 0x14002ee80
movsxd r13, eax
test eax, eax
js 0x14002eec0
mov rdi, rbx
mov rcx, qword [rbp + 8]
mov rdx, r13
shl rdi, 4
add rdi, 8
add rcx, rdi
call sym.setLengthStrV2
mov rax, qword [0x14012c0f0]
mov edx, ebx
mov rcx, r12
call qword [rax]
cmp eax, 4
jne 0x14002ed50
test r15d, r15d
je 0x14002ee5c
mov rax, qword [rbp]
cmp rbx, rax
jge 0x14002eeb8
mov rax, qword [rbp + 8]
movsxd rdi, ebx
shl rdi, 4
add rax, rdi
mov rax, qword [rax + 8]
test rax, rax
jle 0x14002eee4
mov rax, qword [0x14012c0c0]
mov edx, ebx
mov rcx, r12
call qword [rax]
add rdi, qword [rbp + 8]
mov r8, r13
mov rcx, qword [rdi + 0x10]
mov rdx, rax
add rcx, 8
call sym.memcpy
add esi, 1
add rbx, 1
cmp r14d, esi
jge 0x14002edae
add rsp, 0x28
pop rbx
pop rsi
pop rdi
pop rbp
pop r12
pop r13
pop r14
pop r15
ret
sub rdx, 1
mov rcx, rbx
add rsp, 0x28
pop rbx
pop rsi
pop rdi
pop rbp
pop r12
pop r13
pop r14
pop r15
jmp sym.raiseIndexError2
add rsp, 0x28
pop rbx
pop rsi
pop rdi
pop rbp
pop r12
pop r13
pop r14
pop r15
jmp sym.raiseOverflow
lea rdx, [rax - 1]
jmp 0x14002ee84
movabs r8, 0x7fffffffffffffff
xor edx, edx
mov rcx, r13
add rsp, 0x28
pop rbx
pop rsi
pop rdi
pop rbp
pop r12
pop r13
pop r14
pop r15
jmp sym.raiseRangeErrorI
lea rdx, [rax - 1]
xor ecx, ecx
jmp 0x14002ee87

Function at 0x14002f440
Capabilities:
Terminate process

Disassembly:
mov rcx, qword [rcx + 8]
test rcx, rcx
je 0x14002f44f
test byte [rcx + 7], 0x40
je 0x14002f450
ret
mov edx, 4
jmp sym.alignedDealloc

Function at 0x14002f460
Capabilities:
Terminate process

Disassembly:
push rbx
sub rsp, 0x30
movdqu xmm0, xmmword [rcx + 0x10]
mov rbx, rcx
lea rcx, [rsp + 0x20]
movaps xmmword [rsp + 0x20], xmm0
call sym.eqdestroy___pureZtimes_u2534
mov rcx, qword [rbx + 0x28]
test rcx, rcx
je 0x14002f48b
test byte [rcx + 7], 0x40
je 0x14002f498
add rsp, 0x30
pop rbx
ret
mov edx, 4
add rsp, 0x30
pop rbx
jmp sym.alignedDealloc
Function at 0x14002f4b0
Capabilities:
Terminate process

Disassembly:
push rbx
sub rsp, 0x30
mov rbx, rcx
test rcx, rcx
je 0x14002f4d4
mov rax, qword [rcx - 0x10]
mov rdx, rax
shr rdx, 4
je 0x14002f4e0
sub rax, 0x10
jo 0x14002f524
mov qword [rcx - 0x10], rax
add rsp, 0x30
pop rbx
ret
movdqu xmm0, xmmword [rcx + 0x10]
lea rcx, [rsp + 0x20]
movaps xmmword [rsp + 0x20], xmm0
call sym.eqdestroy___pureZtimes_u2534
mov rcx, qword [rbx + 0x28]
test rcx, rcx
je 0x14002f503
test byte [rcx + 7], 0x40
je 0x14002f518
mov edx, 8
mov rcx, rbx
add rsp, 0x30
pop rbx
jmp sym.nimRawDispose
mov edx, 4
call sym.alignedDealloc
jmp 0x14002f503
add rsp, 0x30
pop rbx
jmp sym.raiseOverflow

Function at 0x14002f650
Capabilities:
Encrypt data using aes
Reference aes constants

Disassembly:
push r13
push r12
push rbp
push rdi
push rsi
push rbx
sub rsp, 0x48
movaps xmmword [rsp + 0x30], xmm6
xor ebx, ebx
lea rbp, str.cw
mov rdi, qword [rcx]
mov rsi, rcx
test rdi, rdi
jle 0x14002f6d2
movdqa xmm6, xmmword [0x140114340]
mov r12, qword [0x14012c5f0]
lea r13, [rsp + 0x20]
jmp 0x14002f69d
cmp rdi, rbx
je 0x14002f6d2
mov rdx, qword [rsi]
cmp rdx, rbx
jle 0x14002f6e8
mov rax, qword [rsi + 8]
movzx edx, byte [rax + rbx + 8]
movzx edx, byte [rbp + rdx]
mov byte [rax + rbx + 8], dl
add rbx, 1
cmp rdi, qword [rsi]
je 0x14002f690
mov rcx, r13
movaps xmmword [rsp + 0x20], xmm6
call sym.failedAssertImpl__stdZassertions_u310
mov rcx, r12
call dbg.__emutls_get_address
cmp byte [rax], 0
je 0x14002f690
movaps xmm6, xmmword [rsp + 0x30]
add rsp, 0x48
pop rbx
pop rsi
pop rdi
pop rbp
pop r12
pop r13
ret
movaps xmm6, xmmword [rsp + 0x30]
sub rdx, 1
mov rcx, rbx
add rsp, 0x48
pop rbx
pop rsi
pop rdi
pop rbp
pop r12
pop r13
jmp sym.raiseIndexError2
Function at 0x140030510
Capabilities:
Encode data using xor

Disassembly:
push rdi
push rsi
push rbx
sub rsp, 0x20
mov edi, ecx
mov rsi, rdx
mov ebx, ecx
test rdx, rdx
jle 0x140030574
mov rcx, qword [0x14012c5f0]
call dbg.__emutls_get_address
cmp byte [rax], 0
jne 0x140030560
xor ecx, ecx
nop word cs:[rax + rax]
mov eax, ebx
add rcx, 1
add ebx, ebx
sar al, 7
and eax, 0x1b
xor ebx, eax
cmp rsi, rcx
jne 0x140030540
mov eax, ebx
add rsp, 0x20
pop rbx
pop rsi
pop rdi
ret
mov eax, edi
add edi, edi
sar al, 7
and eax, 0x1b
xor eax, edi
add rsp, 0x20
pop rbx
pop rsi
pop rdi
ret
mov eax, ecx
jmp 0x14003056c
Function at 0x140031450
Capabilities:
Terminate process

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

Function at 0x140031470
Capabilities:
Terminate process

Disassembly:
push rsi
push rbx
sub rsp, 0x28
mov rbx, qword [rdx]
mov rdx, qword [rdx + 8]
mov rsi, rcx
test rbx, rbx
jle 0x1400314b6
mov rcx, rbx
add rcx, 1
jo 0x1400314bd
test rcx, rcx
js 0x1400314d0
mov r8, qword [rsi + 8]
mov rax, qword [rsi]
add rdx, 8
lea rax, [r8 + rax + 8]
mov r8, rcx
mov rcx, rax
call sym.memcpy
add rbx, qword [rsi]
jo 0x1400314bd
mov qword [rsi], rbx
add rsp, 0x28
pop rbx
pop rsi
ret
add rsp, 0x28
pop rbx
pop rsi
jmp sym.raiseOverflow
movabs r8, 0x7fffffffffffffff
xor edx, edx
add rsp, 0x28
pop rbx
pop rsi
jmp sym.raiseRangeErrorI
Function at 0x1400335a0
Capabilities:
Terminate process

Disassembly:
push rbp
push rdi
push rsi
push rbx
sub rsp, 0x28
xor esi, esi
mov rbp, qword [rcx + 8]
mov rdi, qword [rcx]
lea rbx, [rbp + 0x20]
test rdi, rdi
jg 0x1400335dc
jmp 0x14003360a
mov rcx, qword [rbx + 0x10]
test rcx, rcx
je 0x1400335cf
test byte [rcx + 7], 0x40
je 0x1400335f8
add rsi, 1
add rbx, 0x30
cmp rdi, rsi
je 0x14003360a
mov rcx, qword [rbx]
test rcx, rcx
je 0x1400335c0
test byte [rcx + 7], 0x40
jne 0x1400335c0
call sym.deallocShared
jmp 0x1400335c0
call sym.deallocShared
add rsi, 1
add rbx, 0x30
cmp rdi, rsi
jne 0x1400335dc
test rbp, rbp
je 0x140033615
test byte [rbp + 7], 0x40
je 0x140033620
add rsp, 0x28
pop rbx
pop rsi
pop rdi
pop rbp
ret
mov edx, 8
mov rcx, rbp
add rsp, 0x28
pop rbx
pop rsi
pop rdi
pop rbp
jmp sym.alignedDealloc

Function at 0x140033660
Capabilities:
Terminate process

Disassembly:
push r13
push r12
push rbp
push rdi
push rsi
push rbx
sub rsp, 0x38
mov rdi, qword [0x14012c5f0]
xor r13d, r13d
mov r12, qword [rcx + 8]
mov rsi, qword [rcx]
lea rbx, [r12 + 0x28]
lea rbp, [rsp + 0x20]
test rsi, rsi
jg 0x1400336ab
jmp 0x140033707
sub rdx, 0x10
jo 0x140033749
mov qword [rax - 0x10], rdx
add r13, 1
add rbx, 0x28
cmp rsi, r13
je 0x140033707
mov rcx, qword [rbx - 8]
test rcx, rcx
je 0x1400336ba
test byte [rcx + 7], 0x40
je 0x140033728
mov rax, qword [rbx]
test rax, rax
je 0x14003369e
mov rdx, qword [rax - 0x10]
mov rcx, rdx
shr rcx, 4
jne 0x140033690
movdqu xmm0, xmmword [rax]
mov rcx, rbp
movaps xmmword [rsp + 0x20], xmm0
call sym.eqdestroy___pureZmimetypes_u194
mov rcx, rdi
call dbg.__emutls_get_address
cmp byte [rax], 0
jne 0x140033714
mov rcx, qword [rbx]
mov edx, 8
add r13, 1
add rbx, 0x28
call sym.nimRawDispose
cmp rsi, r13
jne 0x1400336ab
test r12, r12
je 0x140033714
test byte [r12 + 7], 0x40
je 0x140033730
add rsp, 0x38
pop rbx
pop rsi
pop rdi
pop rbp
pop r12
pop r13
ret
call sym.deallocShared
jmp 0x1400336ba
mov edx, 8
mov rcx, r12
add rsp, 0x38
pop rbx
pop rsi
pop rdi
pop rbp
pop r12
pop r13
jmp sym.alignedDealloc
call sym.raiseOverflow
jmp 0x14003369e

Function at 0x140033800
Capabilities:
Terminate process

Disassembly:
push rbx
sub rsp, 0x30
mov rbx, rcx
test rcx, rcx
je 0x140033824
mov rax, qword [rcx - 0x10]
mov rdx, rax
shr rdx, 4
je 0x140033830
sub rax, 0x10
jo 0x140033866
mov qword [rcx - 0x10], rax
add rsp, 0x30
pop rbx
ret
movdqu xmm0, xmmword [rcx]
lea rcx, [rsp + 0x20]
movaps xmmword [rsp + 0x20], xmm0
call sym.eqdestroy___pureZparsecfg_u663
mov rcx, qword [0x14012c5f0]
call dbg.__emutls_get_address
cmp byte [rax], 0
jne 0x140033824
mov edx, 8
mov rcx, rbx
add rsp, 0x30
pop rbx
jmp sym.nimRawDispose
add rsp, 0x30
pop rbx
jmp sym.raiseOverflow
Function at 0x1400338e0
Capabilities:
Terminate process

Disassembly:
push rbx
sub rsp, 0x30
mov rbx, rcx
mov rcx, qword [rcx + 0x18]
test rcx, rcx
je 0x1400338f7
test byte [rcx + 7], 0x40
je 0x140033960
mov rax, qword [rbx + 0x20]
test rax, rax
je 0x140033917
mov rdx, qword [rax - 0x10]
mov rcx, rdx
shr rcx, 4
je 0x140033920
sub rdx, 0x10
jo 0x140033967
mov qword [rax - 0x10], rdx
add rsp, 0x30
pop rbx
ret
movdqu xmm0, xmmword [rax]
lea rcx, [rsp + 0x20]
movaps xmmword [rsp + 0x20], xmm0
call sym.eqdestroy___pureZmimetypes_u194
mov rcx, qword [0x14012c5f0]
call dbg.__emutls_get_address
cmp byte [rax], 0
jne 0x140033917
mov rcx, qword [rbx + 0x20]
mov edx, 8
add rsp, 0x30
pop rbx
jmp sym.nimRawDispose
call sym.deallocShared
jmp 0x1400338f7
add rsp, 0x30
pop rbx
jmp sym.raiseOverflow

Function at 0x140033a60
Capabilities:
Terminate process

Disassembly:
push rsi
push rbx
sub rsp, 0x28
pxor xmm0, xmm0
movabs r8, 0x7fffffffffffffff
mov qword [rdx + 0x20], 0
mov rbx, rdx
movups xmmword [rdx], xmm0
movups xmmword [rdx + 0x10], xmm0
xor edx, edx
test rcx, rcx
js 0x140033af7
imul rcx, rcx, 3
jo 0x140033b02
mov rax, rcx
shr rax, 0x3f
add rcx, rax
sar rcx, 1
add rcx, 4
call sym.nextPowerOfTwo__pureZmath_u222
mov rcx, qword [0x14012c5f0]
mov rsi, rax
call dbg.__emutls_get_address
cmp byte [rax], 0
jne 0x140033add
mov qword [rbx + 0x10], 0
test rsi, rsi
js 0x140033ae8
mov rdx, rsi
mov rcx, rbx
call sym.newSeq__pureZparsecfg_u494
pcmpeqd xmm0, xmm0
movups xmmword [rbx + 0x18], xmm0
add rsp, 0x28
pop rbx
pop rsi
ret
movabs r8, 0x7fffffffffffffff
xor edx, edx
mov rcx, rsi
add rsp, 0x28
pop rbx
pop rsi
jmp sym.raiseRangeErrorI
call sym.raiseOverflow
mov rcx, qword [0x14012c5f0]
call dbg.__emutls_get_address
cmp byte [rax], 0
jne 0x140033add
mov qword [rbx + 0x10], 0
xor esi, esi
jmp 0x140033aca

Function at 0x140033ca0
Capabilities:
Terminate process

Disassembly:
push rbx
sub rsp, 0x30
mov rbx, rcx
test rcx, rcx
je 0x140033cc4
mov rax, qword [rcx - 0x10]
mov rdx, rax
shr rdx, 4
je 0x140033cd0
sub rax, 0x10
jo 0x140033d06
mov qword [rcx - 0x10], rax
add rsp, 0x30
pop rbx
ret
movdqu xmm0, xmmword [rcx]
lea rcx, [rsp + 0x20]
movaps xmmword [rsp + 0x20], xmm0
call sym.eqdestroy___pureZmimetypes_u194
mov rcx, qword [0x14012c5f0]
call dbg.__emutls_get_address
cmp byte [rax], 0
jne 0x140033cc4
mov edx, 8
mov rcx, rbx
add rsp, 0x30
pop rbx
jmp sym.nimRawDispose
add rsp, 0x30
pop rbx
jmp sym.raiseOverflow

Function at 0x140033d80
Capabilities:
Terminate process

Disassembly:
push rbx
sub rsp, 0x20
mov rbx, rcx
mov rcx, qword [rcx + 0x18]
test rcx, rcx
je 0x140033d97
test byte [rcx + 7], 0x40
je 0x140033dc0
mov rcx, qword [rbx + 0x28]
test rcx, rcx
je 0x140033da6
test byte [rcx + 7], 0x40
je 0x140033db0
add rsp, 0x20
pop rbx
ret
add rsp, 0x20
pop rbx
jmp sym.deallocShared
call sym.deallocShared
jmp 0x140033d97
Function at 0x140033e90
Capabilities:
Terminate process

Disassembly:
push rsi
push rbx
sub rsp, 0x28
pxor xmm0, xmm0
movabs r8, 0x7fffffffffffffff
mov qword [rdx + 0x20], 0
mov rbx, rdx
movups xmmword [rdx], xmm0
movups xmmword [rdx + 0x10], xmm0
xor edx, edx
test rcx, rcx
js 0x140033f27
imul rcx, rcx, 3
jo 0x140033f32
mov rax, rcx
shr rax, 0x3f
add rcx, rax
sar rcx, 1
add rcx, 4
call sym.nextPowerOfTwo__pureZmath_u222
mov rcx, qword [0x14012c5f0]
mov rsi, rax
call dbg.__emutls_get_address
cmp byte [rax], 0
jne 0x140033f0d
mov qword [rbx + 0x10], 0
test rsi, rsi
js 0x140033f18
mov rdx, rsi
mov rcx, rbx
call sym.newSeq__pureZmimetypes_u30
pcmpeqd xmm0, xmm0
movups xmmword [rbx + 0x18], xmm0
add rsp, 0x28
pop rbx
pop rsi
ret
movabs r8, 0x7fffffffffffffff
xor edx, edx
mov rcx, rsi
add rsp, 0x28
pop rbx
pop rsi
jmp sym.raiseRangeErrorI
call sym.raiseOverflow
mov rcx, qword [0x14012c5f0]
call dbg.__emutls_get_address
cmp byte [rax], 0
jne 0x140033f0d
mov qword [rbx + 0x10], 0
xor esi, esi
jmp 0x140033efa