joyce8/EMBER2024-capa huggingface dataset:
Function at 0x18001d76c
Capabilities:
Query environment variable

Disassembly:
mov rax, rsp
mov qword [rax + 8], rbx
mov qword [rax + 0x10], rbp
mov qword [rax + 0x18], rsi
mov qword [rax + 0x20], rdi
push r14
sub rsp, 0x40
call qword [sym.imp.KERNEL32.dll_GetEnvironmentStringsW]
xor esi, esi
mov rbx, rax
test rax, rax
jne 0x18001d79c
xor eax, eax
jmp 0x18001d85f
mov rbp, rbx
cmp word [rax], si
je 0x18001d7c1
or rax, 0xffffffffffffffff
inc rax
cmp word [rbp + rax*2], si
jne 0x18001d7a8
lea rbp, [rbp + rax*2]
add rbp, 2
cmp word [rbp], si
jne 0x18001d7a4
mov qword [rsp + 0x38], rsi
sub rbp, rbx
mov qword [rsp + 0x30], rsi
add rbp, 2
sar rbp, 1
mov r8, rbx
mov r9d, ebp
mov dword [rsp + 0x28], esi
xor edx, edx
mov qword [rsp + 0x20], rsi
xor ecx, ecx
call fcn.18001be54
movsxd r14, eax
test eax, eax
jne 0x18001d7ff
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_FreeEnvironmentStringsW]
jmp 0x18001d795
mov rcx, r14
call fcn.180018588
mov rdi, rax
test rax, rax
jne 0x18001d818
xor ecx, ecx
call fcn.180018094
jmp 0x18001d7f4
mov qword [rsp + 0x38], rsi
mov r9d, ebp
mov qword [rsp + 0x30], rsi
mov r8, rbx
mov dword [rsp + 0x28], r14d
xor edx, edx
xor ecx, ecx
mov qword [rsp + 0x20], rdi
call fcn.18001be54
test eax, eax
jne 0x18001d849
mov rcx, rdi
call fcn.180018094
jmp 0x18001d853
xor ecx, ecx
call fcn.180018094
mov rsi, rdi
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_FreeEnvironmentStringsW]
mov rax, rsi
mov rbx, qword [rsp + 0x50]
mov rbp, qword [rsp + 0x58]
mov rsi, qword [rsp + 0x60]
mov rdi, qword [rsp + 0x68]
add rsp, 0x40
pop r14
ret

Function at 0x1800203d4
Capabilities:
Get geographical location

Disassembly:
mov qword [rsp + 0x10], rbx
mov qword [rsp + 0x18], rsi
push rdi
sub rsp, 0x20
mov esi, edx
mov ebx, ecx
call fcn.180015474
mov ecx, ebx
lea r8, [rsp + 0x30]
and ecx, 0x3ff
mov r9d, 2
bts ecx, 0xa
mov edx, 0x20000001
mov rdi, rax
call qword [sym.imp.KERNEL32.dll_GetLocaleInfoW]
xor edx, edx
test eax, eax
je 0x180020475
cmp ebx, dword [rsp + 0x30]
je 0x18002046e
test esi, esi
je 0x18002046e
mov r10, qword [rdi + 0x98]
mov r9d, edx
movzx r8d, word [r10]
lea rcx, [r10 + 2]
lea eax, [r8 - 0x41]
cmp ax, 0x19
jbe 0x180020449
sub r8w, 0x61
cmp r8w, 0x19
ja 0x180020456
movzx r8d, word [rcx]
inc r9d
add rcx, 2
jmp 0x180020433
or rax, 0xffffffffffffffff
inc rax
cmp word [r10 + rax*2], dx
jne 0x18002045a
cmp r9d, eax
setne dl
mov eax, edx
jmp 0x180020477
mov eax, 1
jmp 0x180020477
xor eax, eax
mov rbx, qword [rsp + 0x38]
mov rsi, qword [rsp + 0x40]
add rsp, 0x20
pop rdi
ret

Function at 0x180022b30
Capabilities:
Parse pe header

Disassembly:
mov eax, 0x5a4d
cmp word [rcx], ax
jne 0x180022b58
movsxd rdx, dword [rcx + 0x3c]
add rdx, rcx
cmp dword [rdx], 0x4550
jne 0x180022b58
xor eax, eax
mov ecx, 0x20b
cmp word [rdx + 0x18], cx
sete al
ret
xor eax, eax
ret
Function at 0x1800028c0
Capabilities:
Resume thread

Disassembly:
mov qword [rsp + 0x10], rbx
mov qword [rsp + 0x18], rdi
push r14
sub rsp, 0x30
xor r14d, r14d
mov edi, 1
mov ebx, r14d
xor eax, eax
lock cmpxchg dword [0x1800c5bfc], edi
je 0x180002908
cmp rbx, 0x20
jae 0x1800028f1
xor ecx, ecx
jmp 0x1800028f3
mov ecx, edi
call qword [sym.imp.KERNEL32.dll_Sleep]
inc rbx
xor eax, eax
lock cmpxchg dword [0x1800c5bfc], edi
jne 0x1800028e7
cmp qword [0x1800c5c38], r14
je 0x180002a0b
cmp qword [sym.imp.OPENGL32.dll_glDrawElements], r14
jne 0x18000292a
xor ecx, ecx
call fcn.18007031c
jmp 0x180002a0b
mov edx, dword [0x1800c5fbc]
mov ebx, r14d
test edx, edx
je 0x180002a0b
mov r8, qword [0x1800c5fb0]
mov rcx, r8
nop word [rax + rax]
mov rax, qword [rcx]
cmp qword [sym.imp.OPENGL32.dll_glDrawElements], rax
je 0x18000296b
inc ebx
add rcx, 0x38
cmp ebx, edx
jb 0x180002950
jmp 0x180002a0b
cmp ebx, 0xffffffff
je 0x180002a0b
mov eax, ebx
imul rdx, rax, 0x38
test byte [rdx + r8 + 0x20], 2
je 0x180002a0b
mov r8d, edi
lea rcx, [rsp + 0x20]
mov edx, ebx
call fcn.18006fe64
test eax, eax
jne 0x180002a0b
xor edx, edx
mov ecx, ebx
call fcn.180070210
cmp qword [rsp + 0x20], r14
je 0x180002a0b
mov eax, dword [rsp + 0x2c]
test eax, eax
je 0x1800029f7
mov rbx, qword [rsp + 0x20]
mov qword [rsp + 0x40], rsi
mov esi, eax
nop dword [rax]
mov r8d, dword [rbx]
xor edx, edx
lea ecx, [rdx + 0x5a]
call qword [sym.imp.KERNEL32.dll_OpenThread]
mov rdi, rax
test rax, rax
je 0x1800029e8
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_ResumeThread]
mov rcx, rdi
call qword [sym.imp.KERNEL32.dll_CloseHandle]
add rbx, 4
sub rsi, 1
jne 0x1800029c0
mov rsi, qword [rsp + 0x40]
mov r8, qword [rsp + 0x20]
xor edx, edx
mov rcx, qword [0x1800c5c38]
call qword [sym.imp.KERNEL32.dll_HeapFree]
xchg dword [0x1800c5bfc], r14d
mov rbx, qword [rsp + 0x48]
mov rdi, qword [rsp + 0x50]
add rsp, 0x30
pop r14
ret
Function at 0x180002c90
Capabilities:
Resume thread

Disassembly:
mov qword [rsp + 0x10], rbx
mov qword [rsp + 0x18], rbp
push rdi
sub rsp, 0x30
xor ebp, ebp
mov edi, 1
mov ebx, ebp
xor eax, eax
lock cmpxchg dword [0x1800c5bfc], edi
je 0x180002cd5
cmp rbx, 0x20
jae 0x180002cbe
xor ecx, ecx
jmp 0x180002cc0
mov ecx, edi
call qword [sym.imp.KERNEL32.dll_Sleep]
inc rbx
xor eax, eax
lock cmpxchg dword [0x1800c5bfc], edi
jne 0x180002cb4
cmp qword [0x1800c5c38], rbp
jne 0x180002e83
xor r8d, r8d
xor edx, edx
xor ecx, ecx
call qword [sym.imp.KERNEL32.dll_HeapCreate]
mov qword [0x1800c5c38], rax
mov ecx, ebp
test rax, rax
mov edx, 9
mov eax, ebp
xchg dword [0x1800c5bfc], eax
cmove ecx, edx
test ecx, ecx
jne 0x180002e89
mov rcx, qword [sym.imp.OPENGL32.dll_glDrawElements]
call fcn.1800704d0
xor eax, eax
mov rbx, rbp
lock cmpxchg dword [0x1800c5bfc], edi
je 0x180002d51
nop
cmp rbx, 0x20
jae 0x180002d3a
xor ecx, ecx
jmp 0x180002d3c
mov ecx, edi
call qword [sym.imp.KERNEL32.dll_Sleep]
inc rbx
xor eax, eax
lock cmpxchg dword [0x1800c5bfc], edi
jne 0x180002d30
cmp qword [0x1800c5c38], rbp
je 0x180002e6b
cmp qword [sym.imp.OPENGL32.dll_glDrawElements], rbp
jne 0x180002d86
mov ecx, edi
call fcn.18007031c
xchg dword [0x1800c5bfc], ebp
mov al, 1
mov rbx, qword [rsp + 0x48]
mov rbp, qword [rsp + 0x50]
add rsp, 0x30
pop rdi
ret
mov edx, dword [0x1800c5fbc]
mov ebx, ebp
test edx, edx
je 0x180002e6b
mov r8, qword [0x1800c5fb0]
mov rcx, r8
mov rax, qword [rcx]
cmp qword [sym.imp.OPENGL32.dll_glDrawElements], rax
je 0x180002dce
inc ebx
add rcx, 0x38
cmp ebx, edx
jb 0x180002da0
xchg dword [0x1800c5bfc], ebp
mov al, 1
mov rbx, qword [rsp + 0x48]
mov rbp, qword [rsp + 0x50]
add rsp, 0x30
pop rdi
ret
cmp ebx, 0xffffffff
je 0x180002e6b
mov eax, ebx
imul rdx, rax, 0x38
test byte [rdx + r8 + 0x20], 2
jne 0x180002e6b
mov r8d, edi
lea rcx, [rsp + 0x20]
mov edx, ebx
call fcn.18006fe64
test eax, eax
jne 0x180002e6b
mov edx, edi
mov ecx, ebx
call fcn.180070210
cmp qword [rsp + 0x20], rbp
je 0x180002e6b
mov eax, dword [rsp + 0x2c]
test eax, eax
je 0x180002e57
mov rbx, qword [rsp + 0x20]
mov qword [rsp + 0x40], rsi
mov esi, eax
mov r8d, dword [rbx]
xor edx, edx
lea ecx, [rdx + 0x5a]
call qword [sym.imp.KERNEL32.dll_OpenThread]
mov rdi, rax
test rax, rax
je 0x180002e48
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_ResumeThread]
mov rcx, rdi
call qword [sym.imp.KERNEL32.dll_CloseHandle]
add rbx, 4
sub rsi, 1
jne 0x180002e20
mov rsi, qword [rsp + 0x40]
mov r8, qword [rsp + 0x20]
xor edx, edx
mov rcx, qword [0x1800c5c38]
call qword [sym.imp.KERNEL32.dll_HeapFree]
xchg dword [0x1800c5bfc], ebp
mov al, 1
mov rbx, qword [rsp + 0x48]
mov rbp, qword [rsp + 0x50]
add rsp, 0x30
pop rdi
ret
xchg dword [0x1800c5bfc], ebp
mov rbx, qword [rsp + 0x48]
xor al, al
mov rbp, qword [rsp + 0x50]
add rsp, 0x30
pop rdi
ret
Function at 0x180016190
Capabilities:
Hash data with crc32

Disassembly:
mov qword [rsp + 8], rbx
mov r11d, r8d
mov r10, rdx
not r11d
mov r9, rcx
mov eax, r11d
test rdx, rdx
je 0x1800161ed
lea rbx, [0x1800a9b10]
movzx r8d, byte [r9]
lea r9, [r9 + 1]
dec r10
cmp r8b, 0x23
jne 0x1800161d4
cmp r10, 2
jb 0x1800161d4
cmp byte [r9], r8b
jne 0x1800161d4
cmp byte [r9 + 1], r8b
cmove eax, r11d
movzx edx, al
xor rdx, r8
shr eax, 8
xor eax, dword [rbx + rdx*4]
test r10, r10
jne 0x1800161b0
not eax
mov rbx, qword [rsp + 8]
ret
movzx r8d, byte [rcx]
inc r9
test r8b, r8b
je 0x18001622f
lea rbx, [0x1800a9b10]
cmp r8b, 0x23
jne 0x180016213
cmp byte [r9], r8b
jne 0x180016213
cmp byte [r9 + 1], r8b
cmove eax, r11d
movzx edx, al
movzx ecx, r8b
movzx r8d, byte [r9]
xor rdx, rcx
shr eax, 8
inc r9
xor eax, dword [rbx + rdx*4]
test r8b, r8b
jne 0x180016200
mov rbx, qword [rsp + 8]
not eax
ret

Function at 0x180016370
Capabilities:
Read file on windows

Disassembly:
mov qword [rsp + 0x18], rbx
push r14
sub rsp, 0x20
mov r14, r8
test r8, r8
je 0x18001638a
mov qword [r8], 0
lea rdx, [0x1800adf8c]
call fcn.180016240
mov rbx, rax
test rax, rax
jne 0x1800163aa
mov rbx, qword [rsp + 0x40]
add rsp, 0x20
pop r14
ret
mov qword [rsp + 0x30], rsi
mov rcx, rbx
mov qword [rsp + 0x38], rdi
call qword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll_ftell]
mov esi, eax
cmp eax, 0xffffffff
je 0x180016481
xor edx, edx
mov rcx, rbx
lea r8d, [rdx + 2]
call qword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll_fseek]
test eax, eax
jne 0x180016481
mov rcx, rbx
call qword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll_ftell]
movsxd rdi, eax
cmp edi, 0xffffffff
je 0x180016481
xor r8d, r8d
mov edx, esi
mov rcx, rbx
call qword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll_fseek]
test eax, eax
jne 0x180016481
cmp rdi, 0xffffffffffffffff
je 0x180016481
mov rax, qword [0x1800c5c08]
test rax, rax
je 0x18001641e
inc dword [rax + 0xf4]
mov rcx, rdi
call qword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_malloc]
mov rsi, rax
test rax, rax
je 0x180016481
mov r9, rbx
mov r8, rdi
mov edx, 1
mov rcx, rax
call qword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll_fread]
mov rcx, rbx
cmp rax, rdi
je 0x18001646e
call qword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll_fclose]
mov rax, qword [0x1800c5c08]
test rax, rax
je 0x180016463
dec dword [rax + 0xf4]
mov rcx, rsi
call qword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_free]
jmp 0x18001648a
call qword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll_fclose]
test r14, r14
je 0x18001647c
mov qword [r14], rdi
mov rax, rsi
jmp 0x18001648c
mov rcx, rbx
call qword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll_fclose]
xor eax, eax
mov rsi, qword [rsp + 0x30]
mov rdi, qword [rsp + 0x38]
mov rbx, qword [rsp + 0x40]
add rsp, 0x20
pop r14
ret
Function at 0x180019730
Capabilities:
Hash data with crc32

Disassembly:
push rbx
sub rsp, 0x20
movsxd r8, dword [rcx + 0x108]
mov rax, qword [rcx + 0x110]
movsxd r9, edx
mov ebx, dword [rax + r8*4 - 4]
lea r8, [0x1800a9b10]
not ebx
movzx eax, r9b
movzx ecx, bl
xor rcx, rax
shr ebx, 8
mov eax, r9d
shr eax, 8
movzx edx, al
mov eax, r9d
xor ebx, dword [r8 + rcx*4]
movzx ecx, bl
xor rdx, rcx
shr ebx, 8
shr eax, 0x10
xor ebx, dword [r8 + rdx*4]
movzx ecx, bl
shr ebx, 8
movzx edx, al
xor rdx, rcx
xor ebx, dword [r8 + rdx*4]
movzx ecx, bl
shr ebx, 8
mov edx, r9d
shr rdx, 0x18
xor rdx, rcx
mov rcx, qword [0x1800c5c08]
xor ebx, dword [r8 + rdx*4]
not ebx
cmp dword [rcx + 0x401c], ebx
jne 0x1800197c6
mov r8, r9
mov edx, 4
mov ecx, ebx
call fcn.1800395e0
mov eax, ebx
add rsp, 0x20
pop rbx
ret

Function at 0x1800197d0
Capabilities:
Hash data with crc32

Disassembly:
sub rsp, 0x18
mov rax, qword [rcx + 0x110]
lea r9, [0x1800a9b10]
movss xmm2, dword [rcx + 0x128]
movss xmm3, dword [rcx + 0x12c]
movsxd rcx, dword [rcx + 0x108]
movss xmm0, dword [rdx]
movss xmm1, dword [rdx + 4]
subss xmm0, xmm2
subss xmm1, xmm3
mov r8d, dword [rax + rcx*4 - 4]
not r8d
movzx ecx, r8b
shr r8d, 8
movss dword [rsp], xmm0
movzx eax, byte [rsp]
xor rcx, rax
movss xmm0, dword [rdx + 8]
movzx eax, byte [rsp + 1]
subss xmm0, xmm2
movss dword [rsp + 4], xmm1
movss xmm1, dword [rdx + 0xc]
xor r8d, dword [r9 + rcx*4]
subss xmm1, xmm3
movzx ecx, r8b
xor rcx, rax
shr r8d, 8
movzx eax, byte [rsp + 2]
movss dword [rsp + 8], xmm0
movss dword [rsp + 0xc], xmm1
xor r8d, dword [r9 + rcx*4]
movzx ecx, r8b
xor rcx, rax
shr r8d, 8
movzx eax, byte [rsp + 3]
xor r8d, dword [r9 + rcx*4]
movzx ecx, r8b
xor rcx, rax
shr r8d, 8
movzx eax, byte [rsp + 4]
xor r8d, dword [r9 + rcx*4]
movzx ecx, r8b
xor rcx, rax
shr r8d, 8
movzx eax, byte [rsp + 5]
xor r8d, dword [r9 + rcx*4]
movzx ecx, r8b
xor rcx, rax
shr r8d, 8
movzx eax, byte [rsp + 6]
xor r8d, dword [r9 + rcx*4]
movzx ecx, r8b
xor rcx, rax
shr r8d, 8
movzx eax, byte [rsp + 7]
xor r8d, dword [r9 + rcx*4]
movzx ecx, r8b
xor rcx, rax
shr r8d, 8
movzx eax, byte [rsp + 8]
xor r8d, dword [r9 + rcx*4]
movzx ecx, r8b
xor rcx, rax
shr r8d, 8
movzx eax, byte [rsp + 9]
xor r8d, dword [r9 + rcx*4]
movzx ecx, r8b
xor rcx, rax
shr r8d, 8
movzx eax, byte [rsp + 0xa]
xor r8d, dword [r9 + rcx*4]
movzx ecx, r8b
xor rcx, rax
shr r8d, 8
movzx eax, byte [rsp + 0xb]
xor r8d, dword [r9 + rcx*4]
movzx ecx, r8b
xor rcx, rax
shr r8d, 8
movzx eax, byte [rsp + 0xc]
xor r8d, dword [r9 + rcx*4]
movzx ecx, r8b
xor rcx, rax
shr r8d, 8
movzx eax, byte [rsp + 0xd]
xor r8d, dword [r9 + rcx*4]
movzx ecx, r8b
xor rcx, rax
shr r8d, 8
movzx eax, byte [rsp + 0xe]
xor r8d, dword [r9 + rcx*4]
movzx ecx, r8b
xor rcx, rax
shr r8d, 8
xor r8d, dword [r9 + rcx*4]
movzx ecx, byte [rsp + 0xf]
movzx edx, r8b
shr r8d, 8
xor rdx, rcx
xor r8d, dword [r9 + rdx*4]
not r8d
mov eax, r8d
add rsp, 0x18
ret
Function at 0x180027ab0
Capabilities:
Hash data with crc32

Disassembly:
mov qword [rsp + 8], rbx
push rdi
sub rsp, 0x40
mov rax, qword [0x1800bf280]
xor rax, rsp
mov qword [rsp + 0x30], rax
mov rbx, qword [0x1800c5c08]
mov edi, ecx
cmp byte [rbx + 0x43fd], 0
jne 0x180027b11
cmp byte [rbx + 0x43fe], 0
jne 0x180027b11
movsx r9d, word [rbx + 0x54de]
lea r8, [0x1800adee8]
mov edx, 0x10
lea rcx, [rsp + 0x20]
call fcn.180016110
test dil, 1
je 0x180027c39
jmp 0x180027ba1
movss xmm1, dword [rbx + 0x39c0]
lea r8, [0x1800adee8]
movsx r9d, word [rbx + 0x54de]
lea rcx, [rsp + 0x20]
movaps xmm0, xmm1
xor eax, eax
mulss xmm0, dword [0x1800af920]
mulss xmm1, dword [0x1800af90c]
lea edx, [rax + 0x10]
addss xmm0, dword [rbx + 0xd9c]
addss xmm1, dword [rbx + 0xda0]
mov qword [rbx + 0x410c], rax
mov dword [rbx + 0x40f4], 1
movss dword [rbx + 0x4104], xmm0
mov byte [rbx + 0x412c], 1
movss dword [rbx + 0x4108], xmm1
movss xmm0, dword [rbx + 0x3a1c]
mulss xmm0, dword [0x1800af858]
or dword [rbx + 0x40f0], 0x41
movss dword [rbx + 0x4150], xmm0
call fcn.180016110
movzx r9d, byte [rsp + 0x20]
lea r8, [rsp + 0x21]
mov r10d, 0xffffffff
mov ecx, r10d
test r9b, r9b
je 0x180027bf1
lea r11, [0x1800a9b10]
cmp r9b, 0x23
jne 0x180027bd4
cmp byte [r8], r9b
jne 0x180027bd4
cmp byte [r8 + 1], r9b
cmove ecx, r10d
movzx edx, cl
movzx eax, r9b
movzx r9d, byte [r8]
xor rdx, rax
shr ecx, 8
inc r8
xor ecx, dword [r11 + rdx*4]
test r9b, r9b
jne 0x180027bc1
not ecx
call fcn.18001f7f0
test rax, rax
je 0x180027c39
cmp byte [rax + 0xcb], 0
je 0x180027c39
mov byte [rax + 0xd2], 1
lea r8, [0x1800adee8]
mov byte [rax + 0xec], 1
lea rcx, [rsp + 0x20]
inc word [rbx + 0x54de]
mov edx, 0x10
movsx r9d, word [rbx + 0x54de]
call fcn.180016110
xor edx, edx
lea rcx, [rsp + 0x20]
mov r8d, 0x22c0347
call fcn.1800226a0
mov rcx, qword [rsp + 0x30]
xor rcx, rsp
call fcn.18008b900
mov rbx, qword [rsp + 0x50]
add rsp, 0x40
pop rdi
ret
Function at 0x18002d5e0
Capabilities:
Write file on windows

Disassembly:
mov qword [rsp + 0x10], rbx
mov qword [rsp + 0x18], rbp
mov qword [rsp + 0x20], rsi
push rdi
sub rsp, 0x20
cmp qword [rcx + 0x55d0], 0
lea rbx, [rcx + 0x55d8]
mov rsi, r8
mov rbp, rdx
mov rdi, rcx
je 0x18002d683
mov ecx, dword [rbx + 4]
mov qword [rsp + 0x30], r14
xor r14d, r14d
test ecx, ecx
jns 0x18002d636
mov eax, ecx
cdq
sub eax, edx
mov edx, r14d
sar eax, 1
add eax, ecx
mov rcx, rbx
test eax, eax
cmovg edx, eax
call fcn.18003a4e0
mov r8, rsi
mov dword [rbx], r14d
mov rdx, rbp
mov rcx, rbx
call fcn.180016e80
mov eax, dword [rbx]
lea rcx, [0x1800c5ba2]
mov r9, qword [rdi + 0x55d0]
test eax, eax
lea edx, [rax - 1]
mov rax, qword [rdi + 0x55e0]
cmove edx, r14d
test rax, rax
movsxd r8, edx
mov edx, 1
cmovne rcx, rax
call qword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll_fwrite]
mov r14, qword [rsp + 0x30]
jmp 0x18002d68b
mov rcx, rbx
call fcn.180016e80
mov rbx, qword [rsp + 0x38]
mov rbp, qword [rsp + 0x40]
mov rsi, qword [rsp + 0x48]
add rsp, 0x20
pop rdi
ret

Function at 0x18002dac0
Capabilities:
Hash data with crc32

Disassembly:
push rbx
movzx r9d, byte [rcx]
lea r8, [rcx + 1]
mov r10d, 0xffffffff
mov rbx, rcx
mov eax, r10d
test r9b, r9b
je 0x18002db12
lea r11, [0x1800a9b10]
cmp r9b, 0x23
jne 0x18002daf5
cmp byte [r8], r9b
jne 0x18002daf5
cmp byte [r8 + 1], r9b
cmove eax, r10d
movzx edx, al
movzx ecx, r9b
movzx r9d, byte [r8]
xor rdx, rcx
shr eax, 8
inc r8
xor eax, dword [r11 + rdx*4]
test r9b, r9b
jne 0x18002dae2
mov r11, qword [0x1800c5c08]
mov r10, qword [r11 + 0x5598]
test r10, r10
je 0x18002db59
lea r9, [r10 + 4]
test r9, r9
je 0x18002db59
not eax
cmp dword [r9], eax
je 0x18002db62
movsxd r8, dword [r9 - 4]
movsxd rdx, dword [r11 + 0x5590]
add r8, r9
add rdx, 4
xor r9d, r9d
add rdx, r10
cmp r8, rdx
cmovne r9, r8
test r9, r9
jne 0x18002db30
mov rcx, rbx
pop rbx
jmp fcn.18002d9d0
mov rax, r9
pop rbx
ret

Function at 0x18002db70
Capabilities:
Hash data with crc32

Disassembly:
sub rsp, 8
movzx r9d, byte [rcx]
lea r8, [rcx + 1]
mov r10, qword [0x1800c5c08]
mov r11d, 0xffffffff
mov eax, r11d
test r9b, r9b
je 0x18002dbd3
mov qword [rsp], rbx
lea rbx, [0x1800a9b10]
nop dword [rax]
cmp r9b, 0x23
jne 0x18002dbb3
cmp byte [r8], r9b
jne 0x18002dbb3
cmp byte [r8 + 1], r9b
cmove eax, r11d
movzx edx, al
movzx ecx, r9b
movzx r9d, byte [r8]
xor rdx, rcx
shr eax, 8
inc r8
xor eax, dword [rbx + rdx*4]
test r9b, r9b
jne 0x18002dba0
mov rbx, qword [rsp]
movsxd rcx, dword [r10 + 0x5580]
xor r8d, r8d
not eax
test ecx, ecx
jle 0x18002dc07
mov r10, qword [r10 + 0x5588]
mov r9, rcx
mov edx, r8d
lea rcx, [r10 + 8]
cmp dword [rcx], eax
je 0x18002dc0e
inc r8d
inc rdx
add rcx, 0x48
cmp rdx, r9
jl 0x18002dbf4
xor eax, eax
add rsp, 8
ret
movsxd rax, r8d
lea rcx, [rax + rax*8]
lea rax, [r10 + rcx*8]
add rsp, 8
ret
Function at 0x180031610
Capabilities:
Hash data with crc32

Disassembly:
test r8d, r8d
jle 0x18003185e
mov r11, rsp
push rbp
push rsi
sub rsp, 0x58
mov rax, qword [0x1800bf280]
xor rax, rsp
mov qword [rsp + 0x38], rax
mov qword [r11 - 0x18], rdi
mov rbp, rcx
mov qword [r11 - 0x20], r14
lea rdi, [rdx + 0x1a]
mov qword [r11 - 0x28], r15
mov r14d, 0xffffffff
lea r15, [0x1800a9b10]
mov qword [r11 + 0x18], rbx
movsxd rsi, r8d
nop dword [rax + rax]
mov edx, dword [rdi - 0x1a]
test edx, edx
je 0x180031826
mov rcx, rbp
call fcn.180030c30
mov r9d, dword [rdi - 0x16]
mov rbx, rax
test r9d, r9d
je 0x1800316e1
movsxd rdx, dword [rbp + 0x5530]
mov r8, qword [rbp + 0x5538]
mov r10, rdx
shl r10, 4
add r10, r8
test rdx, rdx
je 0x1800316d1
nop dword [rax]
mov rcx, rdx
shr rcx, 1
mov rax, rcx
add rax, rax
cmp dword [r8 + rax*8], r9d
jae 0x1800316c9
lea r8, [r8 + rax*8]
mov rax, 0xffffffffffffffff
sub rax, rcx
add r8, 0x10
add rdx, rax
jmp 0x1800316cc
mov rdx, rcx
test rdx, rdx
jne 0x1800316a0
cmp r8, r10
je 0x1800316e1
cmp dword [r8], r9d
jne 0x1800316e1
mov rcx, qword [r8 + 8]
jmp 0x1800316e3
xor ecx, ecx
mov qword [rbx + 0x18], rcx
movsx eax, word [rdi - 2]
movd xmm1, eax
movsx eax, word [rdi]
cvtdq2ps xmm1, xmm1
movd xmm0, eax
movss dword [rbx + 0x48], xmm1
cvtdq2ps xmm0, xmm0
movss dword [rbx + 0x4c], xmm0
movsx eax, word [rdi + 2]
movd xmm1, eax
movsx eax, word [rdi + 4]
cvtdq2ps xmm1, xmm1
movd xmm0, eax
movss dword [rbx + 0x50], xmm1
cvtdq2ps xmm0, xmm0
movss dword [rbx + 0x54], xmm0
movsx eax, word [rdi + 6]
movd xmm1, eax
movsx eax, word [rdi + 8]
cvtdq2ps xmm1, xmm1
movd xmm0, eax
mov eax, dword [rbx + 0xc4]
and eax, 0xfffffe49
movss dword [rbx + 0x58], xmm1
or eax, 0x49
mov dword [rbx + 0xc4], eax
cvtdq2ps xmm0, xmm0
movss dword [rbx + 0x5c], xmm0
test rcx, rcx
je 0x180031777
cmp qword [rcx + 0x20], 0
jne 0x18003176c
mov qword [rcx + 0x20], rbx
jmp 0x180031777
cmp qword [rcx + 0x28], 0
jne 0x180031777
mov qword [rcx + 0x28], rbx
mov eax, dword [rdi - 0xe]
mov dword [rbx + 0xbc], eax
movsx eax, byte [rdi - 0xa]
mov dword [rbx + 0x60], eax
mov ecx, dword [rdi - 6]
mov eax, dword [rbx + 0xc]
and ecx, 0xc1fc20
or eax, dword [rbx + 4]
or eax, ecx
mov dword [rbx + 8], ecx
mov dword [rbx + 0x10], eax
mov rcx, rbx
mov rax, qword [rbx + 0x18]
test rax, rax
je 0x1800317bc
nop word [rax + rax]
mov rcx, rax
mov rax, qword [rax + 0x18]
test rax, rax
jne 0x1800317b0
mov r9d, dword [rcx]
lea r8, str.DockNode__02X
lea rcx, [rsp + 0x20]
mov edx, 0x14
call fcn.180016110
movzx r9d, byte [rsp + 0x20]
lea r8, [rsp + 0x21]
mov ecx, r14d
test r9b, r9b
je 0x180031818
cmp r9b, 0x23
jne 0x1800317fb
cmp byte [r8], r9b
jne 0x1800317fb
cmp byte [r8 + 1], r9b
cmove ecx, r14d
movzx edx, cl
movzx eax, r9b
movzx r9d, byte [r8]
xor rdx, rax
shr ecx, 8
inc r8
xor ecx, dword [r15 + rdx*4]
test r9b, r9b
jne 0x1800317e8
not ecx
call fcn.18001f7f0
mov qword [rbx + 0x88], rax
add rdi, 0x24
sub rsi, 1
jne 0x180031660
mov r15, qword [rsp + 0x40]
mov r14, qword [rsp + 0x48]
mov rdi, qword [rsp + 0x50]
mov rbx, qword [rsp + 0x80]
mov rcx, qword [rsp + 0x38]
xor rcx, rsp
call fcn.18008b900
add rsp, 0x58
pop rsi
pop rbp
ret
Function at 0x180038de0
Capabilities:
Resolve function by parsing pe exports

Disassembly:
mov qword [rsp + 8], rbx
mov qword [rsp + 0x10], rbp
mov qword [rsp + 0x18], rsi
mov qword [rsp + 0x20], rdi
push r14
sub rsp, 0x50
mov edi, r8d
mov rbx, rdx
mov rbp, rcx
xor r14d, r14d
nop word [rax + rax]
mov eax, dword [rbx]
mov dword [rsp + 0x20], eax
mov rax, qword [rbx + 0x18]
mov word [rsp + 0x32], r14w
test rax, rax
je 0x180038e2d
mov eax, dword [rax]
mov dword [rsp + 0x24], eax
jmp 0x180038e32
mov dword [rsp + 0x24], r14d
mov eax, dword [rbx + 0x10]
shr eax, 0xa
test al, 1
je 0x180038e5d
mov rax, qword [rbx + 0x88]
test rax, rax
je 0x180038e5d
mov rcx, qword [rax + 0x390]
test rcx, rcx
je 0x180038e5d
mov eax, dword [rcx + 8]
mov dword [rsp + 0x28], eax
jmp 0x180038e62
mov dword [rsp + 0x28], r14d
mov eax, dword [rbx + 0xbc]
mov dword [rsp + 0x2c], eax
cmp qword [rbx + 0x20], r14
je 0x180038e7c
movzx eax, byte [rbx + 0x60]
mov byte [rsp + 0x30], al
jmp 0x180038e81
mov byte [rsp + 0x30], 0xff
cvttss2si ecx, dword [rbx + 0x48]
mov eax, dword [rbx + 8]
mov r8d, dword [rbp + 0x24]
and eax, 0xc1fc20
mov dword [rsp + 0x34], eax
mov byte [rsp + 0x31], dil
cvttss2si eax, dword [rbx + 0x4c]
mov word [rsp + 0x38], cx
cvttss2si ecx, dword [rbx + 0x50]
mov word [rsp + 0x3a], ax
cvttss2si eax, dword [rbx + 0x54]
mov word [rsp + 0x3c], cx
cvttss2si ecx, dword [rbx + 0x58]
mov word [rsp + 0x3e], ax
cvttss2si eax, dword [rbx + 0x5c]
mov word [rsp + 0x40], cx
mov ecx, dword [rbp + 0x20]
mov word [rsp + 0x42], ax
cmp ecx, r8d
jne 0x180038f03
inc ecx
test r8d, r8d
je 0x180038eee
mov eax, r8d
cdq
sub eax, edx
sar eax, 1
add eax, r8d
jmp 0x180038ef3
mov eax, 8
cmp eax, ecx
cmovg ecx, eax
mov edx, ecx
lea rcx, [rbp + 0x20]
call fcn.18003a170
movsxd rax, dword [rbp + 0x20]
mov rcx, qword [rbp + 0x28]
movups xmm0, xmmword [rsp + 0x20]
movups xmm1, xmmword [rsp + 0x30]
lea rdx, [rax + rax*8]
mov eax, dword [rsp + 0x40]
movups xmmword [rcx + rdx*4], xmm0
movups xmmword [rcx + rdx*4 + 0x10], xmm1
mov dword [rcx + rdx*4 + 0x20], eax
inc dword [rbp + 0x20]
mov rdx, qword [rbx + 0x20]
inc edi
test rdx, rdx
je 0x180038f43
mov r8d, edi
mov rcx, rbp
call fcn.180038de0
mov rbx, qword [rbx + 0x28]
test rbx, rbx
jne 0x180038e10
mov rbx, qword [rsp + 0x60]
mov rbp, qword [rsp + 0x68]
mov rsi, qword [rsp + 0x70]
mov rdi, qword [rsp + 0x78]
add rsp, 0x50
pop r14
ret
Function at 0x1800644d0
Capabilities:
Create thread

Disassembly:
sub rsp, 0x38
cmp edx, 1
jne 0x1800644fe
call qword [sym.imp.KERNEL32.dll_DisableThreadLibraryCalls]
xor eax, eax
lea r8, [0x180064810]
mov qword [rsp + 0x28], rax
xor r9d, r9d
xor edx, edx
mov dword [rsp + 0x20], eax
xor ecx, ecx
call qword [sym.imp.KERNEL32.dll_CreateThread]
mov eax, 1
add rsp, 0x38
ret