joyce8/EMBER2024-capa huggingface dataset:
Function at 0x14000bb60
Capabilities:
Create thread

Disassembly:
mov qword [rsp + 0x10], rdx
mov qword [rsp + 8], rcx
sub rsp, 0x58
mov rdx, qword [rsp + 0x68]
lea rcx, [rsp + 0x30]
call fcn.14000c0d0
nop
lea rax, [0x14000c150]
mov qword [rsp + 0x40], rax
mov rax, qword [rsp + 0x60]
add rax, 8
mov qword [rsp + 0x38], rax
lea rcx, [rsp + 0x30]
call fcn.140003f00
mov rcx, qword [rsp + 0x38]
mov qword [rsp + 0x28], rcx
mov dword [rsp + 0x20], 0
mov r9, rax
mov r8, qword [rsp + 0x40]
xor edx, edx
xor ecx, ecx
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__beginthreadex]
mov rcx, qword [rsp + 0x60]
mov qword [rcx], rax
mov rax, qword [rsp + 0x60]
cmp qword [rax], 0
je 0x14000bbe5
lea rcx, [rsp + 0x30]
call fcn.14000be00
jmp 0x14000bbfd
mov rax, qword [rsp + 0x60]
mov dword [rax + 8], 0
mov ecx, 6
call qword [sym.imp.MSVCP140.dll_void___cdecl_std::_Throw_Cpp_error_int_]
nop
lea rcx, [rsp + 0x30]
call fcn.14000be30
add rsp, 0x58
ret

Function at 0x14000dde0
Capabilities:
Access peb ldr_data
Get ntdll base address

Disassembly:
mov qword [rsp + 8], rcx
push rsi
push rdi
sub rsp, 0x78
mov qword [rsp + 0x30], 0
mov rax, qword gs:[0x60]
mov qword [rsp + 0x28], rax
mov rax, qword [rsp + 0x28]
mov rax, qword [rax + 0x18]
lea rcx, [rsp + 0x48]
mov rdi, rcx
lea rsi, [rax + 0x20]
mov ecx, 0x10
rep movsb byte [rdi], byte [rsi]
lea rax, [rsp + 0x58]
lea rcx, [rsp + 0x48]
mov rdi, rax
mov rsi, rcx
mov ecx, 0x10
rep movsb byte [rdi], byte [rsi]
lea rax, [rsp + 0x38]
lea rcx, [rsp + 0x48]
mov rdi, rax
mov rsi, rcx
mov ecx, 0x10
rep movsb byte [rdi], byte [rsi]
jmp 0x14000de62
lea rax, [rsp + 0x38]
mov rdi, rax
mov rsi, qword [rsp + 0x38]
mov ecx, 0x10
rep movsb byte [rdi], byte [rsi]
mov rax, qword [rsp + 0x28]
mov rax, qword [rax + 0x18]
add rax, 0x20
cmp qword [rsp + 0x38], rax
je 0x14000deb8
mov rax, qword [rsp + 0x38]
sub rax, 0x10
mov qword [rsp + 0x20], rax
mov rax, qword [rsp + 0x20]
cmp qword [rax + 0x60], 0
je 0x14000deb6
mov rax, qword [rsp + 0x20]
mov rdx, qword [rax + 0x60]
mov rcx, qword [rsp + 0x90]
call fcn.14000dd00
test eax, eax
je 0x14000deb6
mov rax, qword [rsp + 0x20]
mov qword [rsp + 0x30], rax
jmp 0x14000deb8
jmp 0x14000de4e
mov rax, qword [rsp + 0x30]
mov rax, qword [rax + 0x30]
add rsp, 0x78
pop rdi
pop rsi
ret

Function at 0x14000ded0
Capabilities:
Hash data with crc32

Disassembly:
mov dword [rsp + 0x10], edx
mov qword [rsp + 8], rcx
sub rsp, 0x18
mov dword [rsp], 0
mov dword [rsp + 4], 0xffffffff
mov dword [rsp], 0
jmp 0x14000defd
mov eax, dword [rsp]
inc eax
mov dword [rsp], eax
mov eax, dword [rsp + 0x28]
cmp dword [rsp], eax
jae 0x14000df39
mov eax, dword [rsp + 4]
shr eax, 8
mov ecx, dword [rsp]
mov rdx, qword [rsp + 0x20]
movzx ecx, byte [rdx + rcx]
mov edx, dword [rsp + 4]
xor edx, ecx
mov ecx, edx
and ecx, 0xff
mov ecx, ecx
lea rdx, [0x14001ebb0]
xor eax, dword [rdx + rcx*4]
mov dword [rsp + 4], eax
jmp 0x14000def5
mov eax, dword [rsp + 4]
not eax
add rsp, 0x18
ret
Function at 0x14000df50
Capabilities:
Enumerate pe sections

Disassembly:
mov qword [rsp + 8], rcx
sub rsp, 0x48
mov dword [rsp + 0x24], 0
mov rax, qword [rsp + 0x50]
movsxd rax, dword [rax + 0x3c]
mov rcx, qword [rsp + 0x50]
add rcx, rax
mov rax, rcx
mov qword [rsp + 0x30], rax
mov rax, qword [rsp + 0x30]
movzx eax, word [rax + 0x14]
mov rcx, qword [rsp + 0x30]
lea rax, [rcx + rax + 0x18]
mov qword [rsp + 0x38], rax
mov dword [rsp + 0x20], 0
jmp 0x14000dfa6
mov eax, dword [rsp + 0x20]
inc eax
mov dword [rsp + 0x20], eax
mov rax, qword [rsp + 0x30]
movzx eax, word [rax + 6]
cmp dword [rsp + 0x20], eax
jge 0x14000e02d
movsxd rax, dword [rsp + 0x20]
imul rax, rax, 0x28
mov rcx, qword [rsp + 0x38]
add rcx, rax
mov rax, rcx
mov qword [rsp + 0x28], rax
mov rax, qword [rsp + 0x28]
mov eax, dword [rax + 0x24]
and eax, 0x40000000
test eax, eax
je 0x14000e028
mov rax, qword [rsp + 0x28]
mov eax, dword [rax + 0x24]
and eax, 0x20000000
test eax, eax
je 0x14000e028
mov rax, qword [rsp + 0x28]
mov eax, dword [rax + 0x24]
and eax, 0x80000000
test eax, eax
jne 0x14000e028
mov rax, qword [rsp + 0x28]
mov eax, dword [rax + 0xc]
mov rcx, qword [rsp + 0x50]
add rcx, rax
mov rax, rcx
mov rcx, qword [rsp + 0x28]
mov edx, dword [rcx + 8]
mov rcx, rax
call fcn.14000ded0
mov dword [rsp + 0x24], eax
jmp 0x14000df9c
mov eax, dword [rsp + 0x24]
add rsp, 0x48
ret

Function at 0x14000e040
Capabilities:
Hash data using fnv

Disassembly:
mov byte [rsp + 0x10], dl
mov dword [rsp + 8], ecx
movsx eax, byte [rsp + 0x10]
mov ecx, dword [rsp + 8]
xor ecx, eax
mov eax, ecx
mov eax, eax
imul rax, rax, 0x1000193
ret

Function at 0x14000e3a0
Capabilities:
Check for peb beingdebugged flag

Disassembly:
sub rsp, 0x18
mov rax, qword gs:[0x60]
mov qword [rsp + 8], rax
mov rax, qword [rsp + 8]
movzx eax, byte [rax + 2]
cmp eax, 1
jne 0x14000e3c9
mov dword [rsp], 1
jmp 0x14000e3d0
mov dword [rsp], 0
mov eax, dword [rsp]
add rsp, 0x18
ret

Function at 0x14000e910
Capabilities:
Access peb ldr_data
Check for peb ntglobalflag flag

Disassembly:
sub rsp, 0x28
mov qword [rsp + 0x10], 0
mov qword [rsp + 0x18], 0
mov rax, qword gs:[0x60]
add rax, 0xbc
mov qword [rsp + 0x10], rax
cmp qword [rsp + 0x10], 0
je 0x14000e959
mov rax, qword [rsp + 0x10]
mov eax, dword [rax]
and eax, 0x70
test eax, eax
je 0x14000e959
mov dword [rsp], 1
jmp 0x14000e960
mov dword [rsp], 0
mov eax, dword [rsp]
mov dword [rsp + 8], eax
cmp qword [rsp + 0x18], 0
je 0x14000e987
mov rax, qword [rsp + 0x18]
mov eax, dword [rax]
and eax, 0x70
test eax, eax
je 0x14000e987
mov dword [rsp + 4], 1
jmp 0x14000e98f
mov dword [rsp + 4], 0
mov eax, dword [rsp + 4]
mov dword [rsp + 0xc], eax
cmp dword [rsp + 8], 0
jne 0x14000e9a5
cmp dword [rsp + 0xc], 0
je 0x14000e9ae
mov eax, 1
jmp 0x14000e9b0
xor eax, eax
add rsp, 0x28
ret

Function at 0x140011490
Capabilities:
Get explorer pid

Disassembly:
sub rsp, 0x38
mov dword [rsp + 0x20], 0
call qword [sym.imp.USER32.dll_GetShellWindow]
lea rdx, [rsp + 0x20]
mov rcx, rax
call qword [sym.imp.USER32.dll_GetWindowThreadProcessId]
mov eax, dword [rsp + 0x20]
add rsp, 0x38
ret
Function at 0x1400115b0
Capabilities:
Get process heap flags

Disassembly:
sub rsp, 0x38
mov qword [rsp + 0x20], 0
mov qword [rsp + 0x28], 0
call fcn.140010260
movzx eax, al
test eax, eax
je 0x1400115f7
mov rax, qword gs:[0x60]
add rax, 0x30
mov qword [rsp + 0x20], rax
mov rax, qword [rsp + 0x20]
mov rax, qword [rax]
add rax, 0x70
mov qword [rsp + 0x28], rax
jmp 0x14001161a
mov rax, qword gs:[0x60]
add rax, 0x30
mov qword [rsp + 0x20], rax
mov rax, qword [rsp + 0x20]
mov rax, qword [rax]
add rax, 0x14
mov qword [rsp + 0x28], rax
mov rax, qword [rsp + 0x28]
add rsp, 0x38
ret

Function at 0x140011670
Capabilities:
Access peb ldr_data
Get kernel32 base address
Get process heap force flags

Disassembly:
sub rsp, 0x38
mov qword [rsp + 0x20], 0
mov qword [rsp + 0x28], 0
call fcn.140010260
movzx eax, al
test eax, eax
je 0x1400116b7
mov rax, qword gs:[0x60]
add rax, 0x30
mov qword [rsp + 0x20], rax
mov rax, qword [rsp + 0x20]
mov rax, qword [rax]
add rax, 0x74
mov qword [rsp + 0x28], rax
jmp 0x1400116da
mov rax, qword gs:[0x60]
add rax, 0x30
mov qword [rsp + 0x20], rax
mov rax, qword [rsp + 0x20]
mov rax, qword [rax]
add rax, 0x18
mov qword [rsp + 0x28], rax
mov rax, qword [rsp + 0x28]
add rsp, 0x38
ret
Function at 0x140011730
Capabilities:
Get process image filename

Disassembly:
sub rsp, 0xc8
mov dword [rsp + 0x54], 0
mov dword [rsp + 0x48], 0x2010
mov eax, dword [rsp + 0x48]
mov ecx, eax
call qword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_malloc]
mov qword [rsp + 0x40], rax
cmp qword [rsp + 0x40], 0
je 0x140011952
mov eax, dword [rsp + 0x48]
mov edx, eax
mov rcx, qword [rsp + 0x40]
call fcn.14000e540
mov rax, qword [rsp + 0x40]
mov dword [rax + 4], 0x400
mov qword [rsp + 0x20], 0
mov r9d, dword [rsp + 0x48]
mov r8, qword [rsp + 0x40]
mov edx, 3
xor ecx, ecx
call fcn.140014fc0
test eax, eax
je 0x140011947
mov dword [rsp + 0x34], 0
mov dword [rsp + 0x38], 0
jmp 0x1400117c3
mov eax, dword [rsp + 0x38]
inc eax
mov dword [rsp + 0x38], eax
mov rax, qword [rsp + 0x40]
mov eax, dword [rax]
cmp dword [rsp + 0x38], eax
jae 0x140011920
mov eax, dword [rsp + 0x38]
mov rcx, qword [rsp + 0x40]
mov rax, qword [rcx + rax*8 + 8]
mov qword [rsp + 0x68], rax
call fcn.140014b80
mov eax, eax
cmp qword [rsp + 0x68], rax
jne 0x140011804
mov eax, dword [rsp + 0x34]
inc eax
mov dword [rsp + 0x34], eax
jmp 0x14001191b
mov r8d, dword [rsp + 0x68]
xor edx, edx
mov ecx, 0x400
call fcn.140014be0
mov qword [rsp + 0x60], rax
cmp qword [rsp + 0x60], 0
je 0x14001191b
mov dword [rsp + 0x70], 0x1000
mov ecx, 0x2000
call qword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_malloc]
mov qword [rsp + 0x58], rax
cmp qword [rsp + 0x58], 0
je 0x140011911
mov edx, 0x2000
mov rcx, qword [rsp + 0x58]
call fcn.14000e540
mov r8d, 0x1000
mov rdx, qword [rsp + 0x58]
mov rcx, qword [rsp + 0x60]
call qword [sym.imp.KERNEL32.dll_K32GetProcessImageFileNameW]
test eax, eax
jbe 0x140011906
mov rdx, qword [rsp + 0x58]
lea rcx, [rsp + 0x80]
call fcn.14000d790
nop
lea rdx, str.WindowsSystem32conhost.exe
lea rcx, [rsp + 0xa0]
call fcn.14000d790
mov qword [rsp + 0x78], rax
xor r8d, r8d
mov rdx, qword [rsp + 0x78]
lea rcx, [rsp + 0x80]
call fcn.140011960
cmp rax, 0xffffffffffffffff
je 0x1400118c8
mov dword [rsp + 0x4c], 1
jmp 0x1400118d0
mov dword [rsp + 0x4c], 0
movzx eax, byte [rsp + 0x4c]
mov byte [rsp + 0x30], al
lea rcx, [rsp + 0xa0]
call fcn.14000d210
movzx eax, byte [rsp + 0x30]
test eax, eax
je 0x1400118f9
mov eax, dword [rsp + 0x34]
inc eax
mov dword [rsp + 0x34], eax
lea rcx, [rsp + 0x80]
call fcn.14000d210
mov rcx, qword [rsp + 0x58]
call qword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_free]
mov rcx, qword [rsp + 0x60]
call fcn.140014e50
jmp 0x1400117b9
mov rax, qword [rsp + 0x40]
mov eax, dword [rax]
cmp dword [rsp + 0x34], eax
je 0x140011937
mov dword [rsp + 0x50], 1
jmp 0x14001193f
mov dword [rsp + 0x50], 0
mov eax, dword [rsp + 0x50]
mov dword [rsp + 0x54], eax
mov rcx, qword [rsp + 0x40]
call qword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_free]
mov eax, dword [rsp + 0x54]
add rsp, 0xc8
ret
Function at 0x140013280
Capabilities:
Hash data with crc32

Disassembly:
mov dword [rsp + 0x10], edx
mov qword [rsp + 8], rcx
sub rsp, 0x18
mov dword [rsp + 4], 0xffffffff
mov dword [rsp], 0
jmp 0x1400132a6
mov eax, dword [rsp]
inc eax
mov dword [rsp], eax
mov eax, dword [rsp + 0x28]
cmp dword [rsp], eax
jae 0x1400132e2
mov eax, dword [rsp + 4]
shr eax, 8
mov ecx, dword [rsp]
mov rdx, qword [rsp + 0x20]
movzx ecx, byte [rdx + rcx]
mov edx, dword [rsp + 4]
xor edx, ecx
mov ecx, edx
and ecx, 0xff
mov ecx, ecx
lea rdx, [0x140020710]
xor eax, dword [rdx + rcx*4]
mov dword [rsp + 4], eax
jmp 0x14001329e
mov eax, dword [rsp + 4]
not eax
add rsp, 0x18
ret

Function at 0x140013630
Capabilities:
Resolve function by parsing pe exports

Disassembly:
mov dword [rsp + 0x20], r9d
mov dword [rsp + 0x18], r8d
mov dword [rsp + 0x10], edx
mov qword [rsp + 8], rcx
sub rsp, 0x88
mov rax, qword [rsp + 0x90]
mov qword [rsp + 0x28], rax
mov rax, qword [rsp + 0x28]
movsxd rax, dword [rax + 0x3c]
mov rcx, qword [rsp + 0x28]
add rcx, rax
mov rax, rcx
mov qword [rsp + 0x48], rax
mov eax, 8
imul rax, rax, 0
mov rcx, qword [rsp + 0x48]
mov eax, dword [rcx + rax + 0x88]
mov rcx, qword [rsp + 0x28]
add rcx, rax
mov rax, rcx
mov qword [rsp + 0x38], rax
mov rax, qword [rsp + 0x38]
mov eax, dword [rax + 0x20]
mov rcx, qword [rsp + 0x28]
add rcx, rax
mov rax, rcx
mov qword [rsp + 0x50], rax
mov rax, qword [rsp + 0x38]
mov eax, dword [rax + 0x24]
mov rcx, qword [rsp + 0x28]
add rcx, rax
mov rax, rcx
mov qword [rsp + 0x60], rax
mov dword [rsp + 0x30], 0xffffffff
mov dword [rsp + 0x20], 0
jmp 0x1400136e1
mov eax, dword [rsp + 0x20]
inc eax
mov dword [rsp + 0x20], eax
mov rax, qword [rsp + 0x38]
mov eax, dword [rax + 0x18]
dec eax
cmp dword [rsp + 0x20], eax
jae 0x14001374c
mov eax, dword [rsp + 0x20]
mov rcx, qword [rsp + 0x50]
mov eax, dword [rcx + rax*4]
mov rcx, qword [rsp + 0x28]
add rcx, rax
mov rax, rcx
mov qword [rsp + 0x58], rax
mov r8d, dword [rsp + 0xa8]
mov edx, dword [rsp + 0xa0]
mov rcx, qword [rsp + 0x58]
call fcn.140015a20
mov dword [rsp + 0x40], eax
mov eax, dword [rsp + 0x40]
cmp dword [rsp + 0x98], eax
jne 0x14001374a
mov eax, dword [rsp + 0x20]
mov rcx, qword [rsp + 0x60]
movzx eax, word [rcx + rax*2]
mov dword [rsp + 0x30], eax
jmp 0x14001374c
jmp 0x1400136d7
mov rax, qword [rsp + 0x38]
mov eax, dword [rax + 0x1c]
mov rcx, qword [rsp + 0x28]
add rcx, rax
mov rax, rcx
mov qword [rsp + 0x68], rax
mov eax, dword [rsp + 0x30]
mov rcx, qword [rsp + 0x68]
mov eax, dword [rcx + rax*4]
mov rcx, qword [rsp + 0x28]
add rcx, rax
mov rax, rcx
mov qword [rsp + 0x70], rax
mov rax, qword [rsp + 0x70]
add rsp, 0x88
ret
Function at 0x140013790
Capabilities:
Access peb ldr_data
Get process filename

Disassembly:
mov dword [rsp + 0x20], r9d
mov dword [rsp + 0x18], r8d
mov qword [rsp + 0x10], rdx
mov dword [rsp + 8], ecx
sub rsp, 0xa8
mov dword [rsp + 0x40], 0x18
mov dword [rsp + 0x44], 0x18
mov dword [rsp + 0x48], 0x10
mov rax, qword gs:[0x60]
mov qword [rsp + 0x50], rax
mov rax, qword [rsp + 0x50]
mov rax, qword [rax + 0x18]
mov qword [rsp + 0x58], rax
mov rax, qword [rsp + 0x58]
mov rax, qword [rax + 0x18]
mov qword [rsp + 0x38], rax
mov rax, qword [rsp + 0x38]
mov rax, qword [rax + 0x10]
mov qword [rsp + 0x90], rax
mov rax, qword [rsp + 0x38]
mov qword [rsp + 0x20], rax
mov eax, 0x10
imul rax, rax, 0
mov rcx, qword [rsp + 0x20]
mov rax, qword [rcx + rax]
mov qword [rsp + 0x20], rax
mov rax, qword [rsp + 0x20]
cmp qword [rax + 0x30], 0
je 0x1400138a4
mov rax, qword [rsp + 0x20]
mov rax, qword [rax + 0x60]
mov qword [rsp + 0x60], rax
mov rdx, qword [rsp + 0x60]
lea rcx, [rsp + 0x30]
call fcn.1400132f0
nop
lea rcx, [rsp + 0x30]
call fcn.140013390
mov qword [rsp + 0x98], rax
call fcn.140013950
mov rcx, rax
call fcn.1400139e0
mov qword [rsp + 0x70], rax
mov rax, qword [rsp + 0x20]
mov rax, qword [rax + 0x60]
mov qword [rsp + 0x68], rax
lea rdx, [0x140020b10]
mov rcx, qword [rsp + 0x68]
call qword [rsp + 0x70]
test eax, eax
jne 0x14001389a
lea rcx, [rsp + 0x30]
call fcn.140013370
jmp 0x1400138b4
lea rcx, [rsp + 0x30]
call fcn.140013370
mov rax, qword [rsp + 0x20]
cmp qword [rsp + 0x38], rax
jne 0x140013807
mov rax, qword [rsp + 0x20]
mov rax, qword [rax + 0x30]
mov qword [rsp + 0x78], rax
mov r8d, 0xa
mov edx, 0xc
lea rcx, [0x140020b30]
call fcn.140015a20
mov dword [rsp + 0x28], eax
mov r9d, 0xa
mov r8d, 0xc
mov edx, dword [rsp + 0x28]
mov rcx, qword [rsp + 0x78]
call fcn.140013630
mov qword [0x140040968], rax
mov rcx, qword [rsp + 0xb8]
call fcn.140013600
mov qword [rsp + 0x80], rax
mov r9d, dword [rsp + 0xc8]
mov r8d, dword [rsp + 0xc0]
mov edx, dword [rsp + 0xb0]
mov rcx, qword [rsp + 0x80]
call fcn.140013630
mov qword [rsp + 0x88], rax
mov rax, qword [rsp + 0x88]
add rsp, 0xa8
ret
Function at 0x1400139e0
Capabilities:
Parse pe header
Resolve function by parsing pe exports

Disassembly:
mov qword [rsp + 8], rcx
sub rsp, 0x78
mov rax, qword [rsp + 0x80]
mov qword [rsp + 0x38], rax
mov qword [rsp + 0x30], 0
mov qword [rsp + 0x40], 0
mov qword [rsp + 0x20], 0
mov qword [rsp + 0x50], 0
mov qword [rsp + 0x48], 0
mov qword [rsp + 0x58], 0
mov rax, qword [rsp + 0x38]
movzx eax, word [rax]
cmp eax, 0x5a4d
je 0x140013a42
xor eax, eax
jmp 0x140013bc0
mov rax, qword [rsp + 0x38]
movsxd rax, dword [rax + 0x3c]
mov rcx, qword [rsp + 0x80]
add rcx, rax
mov rax, rcx
mov qword [rsp + 0x30], rax
mov rax, qword [rsp + 0x38]
movsxd rax, dword [rax + 0x3c]
mov rcx, qword [rsp + 0x80]
add rcx, rax
mov rax, rcx
mov qword [rsp + 0x40], rax
mov rax, qword [rsp + 0x30]
cmp dword [rax], 0x4550
je 0x140013a8e
xor eax, eax
jmp 0x140013bc0
mov rax, qword [rsp + 0x30]
movzx eax, word [rax + 0x18]
cmp eax, 0x20b
je 0x140013ac5
mov eax, 8
imul rax, rax, 0
mov rcx, qword [rsp + 0x30]
mov eax, dword [rcx + rax + 0x78]
mov rcx, qword [rsp + 0x80]
add rcx, rax
mov rax, rcx
mov qword [rsp + 0x20], rax
jmp 0x140013aed
mov eax, 8
imul rax, rax, 0
mov rcx, qword [rsp + 0x40]
mov eax, dword [rcx + rax + 0x88]
mov rcx, qword [rsp + 0x80]
add rcx, rax
mov rax, rcx
mov qword [rsp + 0x20], rax
mov rax, qword [rsp + 0x20]
mov eax, dword [rax + 0x1c]
mov rcx, qword [rsp + 0x80]
add rcx, rax
mov rax, rcx
mov qword [rsp + 0x58], rax
mov rax, qword [rsp + 0x20]
mov eax, dword [rax + 0x20]
mov rcx, qword [rsp + 0x80]
add rcx, rax
mov rax, rcx
mov qword [rsp + 0x48], rax
mov rax, qword [rsp + 0x20]
mov eax, dword [rax + 0x24]
mov rcx, qword [rsp + 0x80]
add rcx, rax
mov rax, rcx
mov qword [rsp + 0x50], rax
mov qword [rsp + 0x28], 0
jmp 0x140013b56
mov rax, qword [rsp + 0x28]
inc rax
mov qword [rsp + 0x28], rax
mov rax, qword [rsp + 0x20]
mov eax, dword [rax + 0x18]
cmp qword [rsp + 0x28], rax
jae 0x140013bbe
mov rax, qword [rsp + 0x48]
mov rcx, qword [rsp + 0x28]
mov eax, dword [rax + rcx*4]
mov rcx, qword [rsp + 0x80]
add rcx, rax
mov rax, rcx
mov qword [rsp + 0x60], rax
mov rcx, qword [rsp + 0x60]
call fcn.140013bd0
cmp eax, 0xb3c5b296
jne 0x140013bbc
mov rax, qword [rsp + 0x50]
mov rcx, qword [rsp + 0x28]
movzx eax, word [rax + rcx*2]
mov rcx, qword [rsp + 0x58]
mov eax, dword [rcx + rax*4]
mov rcx, qword [rsp + 0x80]
add rcx, rax
mov rax, rcx
jmp 0x140013bc0
jmp 0x140013b49
xor eax, eax
add rsp, 0x78
ret

Function at 0x140013c30
Capabilities:
Hash data using fnv

Disassembly:
mov byte [rsp + 0x10], dl
mov dword [rsp + 8], ecx
sub rsp, 0x18
movsx eax, byte [rsp + 0x28]
cmp eax, 0x41
jl 0x140013c5d
movsx eax, byte [rsp + 0x28]
cmp eax, 0x5a
jg 0x140013c5d
movsx eax, byte [rsp + 0x28]
or eax, 0x20
mov dword [rsp], eax
jmp 0x140013c65
movsx eax, byte [rsp + 0x28]
mov dword [rsp], eax
mov eax, dword [rsp]
mov ecx, dword [rsp + 0x20]
xor ecx, eax
mov eax, ecx
mov eax, eax
imul rax, rax, 0x1000193
add rsp, 0x18
ret
Function at 0x140015a20
Capabilities:
Hash data using murmur2

Disassembly:
mov dword [rsp + 0x18], r8d
mov dword [rsp + 0x10], edx
mov qword [rsp + 8], rcx
sub rsp, 0x38
mov dword [rsp + 0x14], 0x5bd1e995
mov dword [rsp + 0x18], 0x18
mov eax, dword [rsp + 0x48]
mov dword [rsp + 0xc], eax
mov rax, qword [rsp + 0x40]
mov qword [rsp + 0x20], rax
mov eax, dword [rsp + 0x50]
mov dword [rsp], eax
cmp dword [rsp + 0x48], 4
jl 0x140015acb
mov rax, qword [rsp + 0x20]
mov eax, dword [rax]
mov dword [rsp + 8], eax
imul eax, dword [rsp + 8], 0x5bd1e995
mov dword [rsp + 8], eax
mov eax, dword [rsp + 8]
shr eax, 0x18
mov ecx, dword [rsp + 8]
xor ecx, eax
mov eax, ecx
mov dword [rsp + 8], eax
imul eax, dword [rsp + 8], 0x5bd1e995
mov dword [rsp + 8], eax
imul eax, dword [rsp], 0x5bd1e995
mov dword [rsp], eax
mov eax, dword [rsp + 8]
mov ecx, dword [rsp]
xor ecx, eax
mov eax, ecx
mov dword [rsp], eax
mov rax, qword [rsp + 0x20]
add rax, 4
mov qword [rsp + 0x20], rax
mov eax, dword [rsp + 0x48]
sub eax, 4
mov dword [rsp + 0x48], eax
jmp 0x140015a5b
mov dword [rsp + 4], 0
mov eax, dword [rsp + 0x48]
mov dword [rsp + 0x10], eax
cmp dword [rsp + 0x10], 1
je 0x140015b34
cmp dword [rsp + 0x10], 2
je 0x140015b13
cmp dword [rsp + 0x10], 3
je 0x140015af2
jmp 0x140015b52
mov eax, 1
imul rax, rax, 2
mov rcx, qword [rsp + 0x20]
movzx eax, byte [rcx + rax]
shl eax, 0x10
mov ecx, dword [rsp + 4]
xor ecx, eax
mov eax, ecx
mov dword [rsp + 4], eax
mov eax, 1
imul rax, rax, 1
mov rcx, qword [rsp + 0x20]
movzx eax, byte [rcx + rax]
shl eax, 8
mov ecx, dword [rsp + 4]
xor ecx, eax
mov eax, ecx
mov dword [rsp + 4], eax
mov eax, 1
imul rax, rax, 0
mov rcx, qword [rsp + 0x20]
movzx eax, byte [rcx + rax]
mov ecx, dword [rsp + 4]
xor ecx, eax
mov eax, ecx
mov dword [rsp + 4], eax
imul eax, dword [rsp + 4], 0x5bd1e995
mov dword [rsp + 4], eax
mov eax, dword [rsp + 4]
shr eax, 0x18
mov ecx, dword [rsp + 4]
xor ecx, eax
mov eax, ecx
mov dword [rsp + 4], eax
imul eax, dword [rsp + 4], 0x5bd1e995
mov dword [rsp + 4], eax
imul eax, dword [rsp], 0x5bd1e995
mov dword [rsp], eax
mov eax, dword [rsp + 4]
mov ecx, dword [rsp]
xor ecx, eax
mov eax, ecx
mov dword [rsp], eax
imul eax, dword [rsp + 0xc], 0x5bd1e995
mov dword [rsp + 0xc], eax
mov eax, dword [rsp + 0xc]
shr eax, 0x18
mov ecx, dword [rsp + 0xc]
xor ecx, eax
mov eax, ecx
mov dword [rsp + 0xc], eax
imul eax, dword [rsp + 0xc], 0x5bd1e995
mov dword [rsp + 0xc], eax
imul eax, dword [rsp], 0x5bd1e995
mov dword [rsp], eax
mov eax, dword [rsp + 0xc]
mov ecx, dword [rsp]
xor ecx, eax
mov eax, ecx
mov dword [rsp], eax
mov eax, dword [rsp]
shr eax, 0xd
mov ecx, dword [rsp]
xor ecx, eax
mov eax, ecx
mov dword [rsp], eax
imul eax, dword [rsp], 0x5bd1e995
mov dword [rsp], eax
mov eax, dword [rsp]
shr eax, 0xf
mov ecx, dword [rsp]
xor ecx, eax
mov eax, ecx
mov dword [rsp], eax
mov eax, dword [rsp]
add rsp, 0x38
ret
Function at 0x1400178f0
Capabilities:
Parse pe header
Resolve function by parsing pe exports

Disassembly:
mov qword [rsp + 8], rcx
sub rsp, 0x78
mov rax, qword [rsp + 0x80]
mov qword [rsp + 0x38], rax
mov qword [rsp + 0x30], 0
mov qword [rsp + 0x40], 0
mov qword [rsp + 0x20], 0
mov qword [rsp + 0x50], 0
mov qword [rsp + 0x48], 0
mov qword [rsp + 0x58], 0
mov rax, qword [rsp + 0x38]
movzx eax, word [rax]
cmp eax, 0x5a4d
je 0x140017952
xor eax, eax
jmp 0x140017ad0
mov rax, qword [rsp + 0x38]
movsxd rax, dword [rax + 0x3c]
mov rcx, qword [rsp + 0x80]
add rcx, rax
mov rax, rcx
mov qword [rsp + 0x30], rax
mov rax, qword [rsp + 0x38]
movsxd rax, dword [rax + 0x3c]
mov rcx, qword [rsp + 0x80]
add rcx, rax
mov rax, rcx
mov qword [rsp + 0x40], rax
mov rax, qword [rsp + 0x30]
cmp dword [rax], 0x4550
je 0x14001799e
xor eax, eax
jmp 0x140017ad0
mov rax, qword [rsp + 0x30]
movzx eax, word [rax + 0x18]
cmp eax, 0x20b
je 0x1400179d5
mov eax, 8
imul rax, rax, 0
mov rcx, qword [rsp + 0x30]
mov eax, dword [rcx + rax + 0x78]
mov rcx, qword [rsp + 0x80]
add rcx, rax
mov rax, rcx
mov qword [rsp + 0x20], rax
jmp 0x1400179fd
mov eax, 8
imul rax, rax, 0
mov rcx, qword [rsp + 0x40]
mov eax, dword [rcx + rax + 0x88]
mov rcx, qword [rsp + 0x80]
add rcx, rax
mov rax, rcx
mov qword [rsp + 0x20], rax
mov rax, qword [rsp + 0x20]
mov eax, dword [rax + 0x1c]
mov rcx, qword [rsp + 0x80]
add rcx, rax
mov rax, rcx
mov qword [rsp + 0x58], rax
mov rax, qword [rsp + 0x20]
mov eax, dword [rax + 0x20]
mov rcx, qword [rsp + 0x80]
add rcx, rax
mov rax, rcx
mov qword [rsp + 0x48], rax
mov rax, qword [rsp + 0x20]
mov eax, dword [rax + 0x24]
mov rcx, qword [rsp + 0x80]
add rcx, rax
mov rax, rcx
mov qword [rsp + 0x50], rax
mov qword [rsp + 0x28], 0
jmp 0x140017a66
mov rax, qword [rsp + 0x28]
inc rax
mov qword [rsp + 0x28], rax
mov rax, qword [rsp + 0x20]
mov eax, dword [rax + 0x18]
cmp qword [rsp + 0x28], rax
jae 0x140017ace
mov rax, qword [rsp + 0x48]
mov rcx, qword [rsp + 0x28]
mov eax, dword [rax + rcx*4]
mov rcx, qword [rsp + 0x80]
add rcx, rax
mov rax, rcx
mov qword [rsp + 0x60], rax
mov rcx, qword [rsp + 0x60]
call fcn.140013bd0
cmp eax, 0xbf21a4fa
jne 0x140017acc
mov rax, qword [rsp + 0x50]
mov rcx, qword [rsp + 0x28]
movzx eax, word [rax + rcx*2]
mov rcx, qword [rsp + 0x58]
mov eax, dword [rcx + rax*4]
mov rcx, qword [rsp + 0x80]
add rcx, rax
mov rax, rcx
jmp 0x140017ad0
jmp 0x140017a59
xor eax, eax
add rsp, 0x78
ret