joyce8/EMBER2024-capa huggingface dataset:
Function at 0x18005b100
Capabilities:
Enumerate threads
Suspend thread

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, 0x40
xor esi, esi
mov r14d, edx
mov qword [rcx], rsi
mov rbx, rcx
mov qword [rcx + 8], rsi
xor edx, edx
mov ecx, 4
mov ebp, r8d
call qword [sym.imp.KERNEL32.dll_CreateToolhelp32Snapshot]
mov rdi, rax
cmp rax, 0xffffffffffffffff
je 0x18005b226
lea rdx, [rsp + 0x20]
mov dword [rsp + 0x20], 0x1c
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_Thread32First]
test eax, eax
je 0x18005b21d
cmp dword [rsp + 0x20], 0x10
jb 0x18005b1ff
call qword [sym.imp.KERNEL32.dll_GetCurrentProcessId]
cmp dword [rsp + 0x2c], eax
jne 0x18005b1ff
call qword [sym.imp.KERNEL32.dll_GetCurrentThreadId]
cmp dword [rsp + 0x28], eax
je 0x18005b1ff
mov rdx, qword [rbx]
test rdx, rdx
jne 0x18005b1ba
mov rcx, qword [0x180188ca8]
mov r8d, 0x200
mov dword [rbx + 8], 0x80
call qword [sym.imp.KERNEL32.dll_HeapAlloc]
mov qword [rbx], rax
mov rdx, rax
test rax, rax
je 0x18005b21d
jmp 0x18005b1ef
mov eax, dword [rbx + 8]
cmp dword [rbx + 0xc], eax
jb 0x18005b1ef
mov rcx, qword [0x180188ca8]
lea r9d, [rax + rax]
mov r8, rdx
shl r9, 2
xor edx, edx
call qword [sym.imp.KERNEL32.dll_HeapReAlloc]
mov rdx, rax
test rax, rax
je 0x18005b21d
mov eax, dword [rbx + 8]
add eax, eax
mov qword [rbx], rdx
mov dword [rbx + 8], eax
mov ecx, dword [rbx + 0xc]
mov eax, dword [rsp + 0x28]
mov dword [rdx + rcx*4], eax
lea eax, [rcx + 1]
mov dword [rbx + 0xc], eax
lea rdx, [rsp + 0x20]
mov dword [rsp + 0x20], 0x1c
mov rcx, rdi
call qword [sym.imp.KERNEL32.dll_Thread32Next]
test eax, eax
jne 0x18005b164
mov rcx, rdi
call qword [sym.imp.KERNEL32.dll_CloseHandle]
cmp qword [rbx], rsi
je 0x18005b275
cmp dword [rbx + 0xc], esi
jbe 0x18005b275
mov r8, qword [rbx]
xor edx, edx
mov eax, esi
mov ecx, 0x5a
mov r8d, dword [r8 + rax*4]
call qword [sym.imp.KERNEL32.dll_OpenThread]
mov rdi, rax
test rax, rax
je 0x18005b26e
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_SuspendThread]
mov r8d, ebp
mov edx, r14d
mov rcx, rdi
call fcn.18005af70
mov rcx, rdi
call qword [sym.imp.KERNEL32.dll_CloseHandle]
inc esi
cmp esi, dword [rbx + 0xc]
jb 0x18005b230
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 0x18005b290
Capabilities:
Resume thread

Disassembly:
push rdi
sub rsp, 0x20
cmp qword [rcx], 0
mov rdi, rcx
je 0x18005b301
mov qword [rsp + 0x30], rbx
xor ebx, ebx
cmp dword [rcx + 0xc], ebx
jbe 0x18005b2ea
mov qword [rsp + 0x38], rsi
mov r8, qword [rdi]
xor edx, edx
mov ecx, 0x5a
mov r8d, dword [r8 + rbx*4]
call qword [sym.imp.KERNEL32.dll_OpenThread]
mov rsi, rax
test rax, rax
je 0x18005b2de
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_ResumeThread]
mov rcx, rsi
call qword [sym.imp.KERNEL32.dll_CloseHandle]
inc ebx
cmp ebx, dword [rdi + 0xc]
jb 0x18005b2b0
mov rsi, qword [rsp + 0x38]
mov r8, qword [rdi]
xor edx, edx
mov rcx, qword [0x180188ca8]
call qword [sym.imp.KERNEL32.dll_HeapFree]
mov rbx, qword [rsp + 0x30]
add rsp, 0x20
pop rdi
ret
Function at 0x18005b310
Capabilities:
Allocate or change rwx memory

Disassembly:
mov qword [rsp + 0x10], rbx
mov qword [rsp + 0x18], rbp
mov qword [rsp + 0x20], rsi
push rdi
sub rsp, 0x20
mov eax, ecx
lea r9, [rsp + 0x30]
imul rbx, rax, 0x38
mov esi, edx
add rbx, qword [0x18018a720]
mov r8, qword [rbx]
movzx eax, byte [rbx + 0x20]
and al, 1
movzx ecx, al
lea rdi, [r8 - 5]
cmove rdi, r8
mov r8d, 0x40
lea rbp, [rcx*2 + 5]
mov rcx, rdi
mov rdx, rbp
call qword [sym.imp.KERNEL32.dll_VirtualProtect]
test eax, eax
jne 0x18005b374
mov eax, 0xa
jmp 0x18005b407
test esi, esi
je 0x18005b396
mov byte [rdi], 0xe9
mov eax, dword [rbx + 8]
sub eax, edi
sub eax, 5
mov dword [rdi + 1], eax
test byte [rbx + 0x20], 1
je 0x18005b3b9
mov rax, qword [rbx]
mov word [rax], 0xf9eb
jmp 0x18005b3b9
mov eax, dword [rbx + 0x18]
test byte [rbx + 0x20], 1
mov dword [rdi], eax
je 0x18005b3b2
movzx eax, word [rbx + 0x1c]
mov word [rdi + 4], ax
movzx eax, byte [rbx + 0x1e]
mov byte [rdi + 6], al
jmp 0x18005b3b9
movzx eax, byte [rbx + 0x1c]
mov byte [rdi + 4], al
mov r8d, dword [rsp + 0x30]
lea r9, [rsp + 0x30]
mov rdx, rbp
mov rcx, rdi
call qword [sym.imp.KERNEL32.dll_VirtualProtect]
call qword [sym.imp.KERNEL32.dll_GetCurrentProcess]
mov r8, rbp
mov rdx, rdi
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_FlushInstructionCache]
movzx ecx, sil
shl sil, 2
add cl, cl
xor cl, byte [rbx + 0x20]
and cl, 2
xor cl, byte [rbx + 0x20]
xor sil, cl
and sil, 4
xor sil, cl
mov byte [rbx + 0x20], sil
xor eax, eax
mov rbx, qword [rsp + 0x38]
mov rbp, qword [rsp + 0x40]
mov rsi, qword [rsp + 0x48]
add rsp, 0x20
pop rdi
ret
Function at 0x18005b420
Capabilities:
Resume thread

Disassembly:
mov qword [rsp + 0x10], rbx
mov qword [rsp + 0x18], rsi
push rdi
sub rsp, 0x30
xor edi, edi
mov esi, ecx
mov ecx, dword [0x18018a72c]
mov ebx, edi
test ecx, ecx
je 0x18005b55d
mov rax, qword [0x18018a720]
add rax, 0x20
nop
movzx edx, byte [rax]
shr edx, 1
and edx, 1
cmp edx, esi
jne 0x18005b478
inc ebx
add rax, 0x38
cmp ebx, ecx
jb 0x18005b450
mov eax, edi
mov rbx, qword [rsp + 0x48]
mov rsi, qword [rsp + 0x50]
add rsp, 0x30
pop rdi
ret
cmp ebx, 0xffffffff
je 0x18005b55d
mov r8d, edi
lea rcx, [rsp + 0x20]
test esi, esi
mov edx, 0xffffffff
setne r8b
call fcn.18005b100
mov r8d, dword [0x18018a72c]
cmp ebx, r8d
jae 0x18005b4e8
nop word [rax + rax]
mov eax, ebx
imul rcx, rax, 0x38
mov rax, qword [0x18018a720]
movzx edx, byte [rcx + rax + 0x20]
shr edx, 1
and edx, 1
cmp edx, esi
je 0x18005b4e1
mov edx, esi
mov ecx, ebx
call fcn.18005b310
mov edi, eax
test eax, eax
jne 0x18005b4e8
mov r8d, dword [0x18018a72c]
inc ebx
cmp ebx, r8d
jb 0x18005b4b0
cmp qword [rsp + 0x20], 0
je 0x18005b55d
mov eax, dword [rsp + 0x2c]
test eax, eax
je 0x18005b549
mov rbx, qword [rsp + 0x20]
mov qword [rsp + 0x40], rbp
mov ebp, eax
nop dword [rax]
nop dword [rax + rax]
mov r8d, dword [rbx]
xor edx, edx
mov ecx, 0x5a
call qword [sym.imp.KERNEL32.dll_OpenThread]
mov rsi, rax
test rax, rax
je 0x18005b53a
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_ResumeThread]
mov rcx, rsi
call qword [sym.imp.KERNEL32.dll_CloseHandle]
add rbx, 4
sub rbp, 1
jne 0x18005b510
mov rbp, qword [rsp + 0x40]
mov r8, qword [rsp + 0x20]
xor edx, edx
mov rcx, qword [0x180188ca8]
call qword [sym.imp.KERNEL32.dll_HeapFree]
mov rbx, qword [rsp + 0x48]
mov eax, edi
mov rsi, qword [rsp + 0x50]
add rsp, 0x30
pop rdi
ret
Function at 0x18005f770
Capabilities:
Hash data using fnv

Disassembly:
mov rax, rdx
movsx rdx, byte [rcx]
test dl, dl
je 0x18005f794
xor rdx, rax
movabs rax, 0x100000001b3
imul rdx, rax
inc rcx
jmp fcn.18005f770
ret

Function at 0x1800624d0
Capabilities:
Encode data using xor
Hash data using fnv

Disassembly:
cmp byte [rcx], 0
mov r9, rcx
mov rax, rcx
je 0x1800624e8
nop dword [rax + rax]
inc rax
cmp byte [rax], 0
jne 0x1800624e0
mov r8d, 0
sub rax, r9
je 0x180062514
movabs r10, 0x100000001b3
nop dword [rax]
movsx rcx, byte [r9 + r8]
inc r8
xor rdx, rcx
imul rdx, r10
cmp r8, rax
jb 0x180062500
mov rax, rdx
ret

Function at 0x180062950
Capabilities:
Encode data using xor
Hash data using fnv

Disassembly:
sub rsp, 0x38
mov r10, rcx
mov r9, qword [rdx]
mov r8d, 0x31415926
mov rax, r9
cmp byte [r9], 0
je 0x180062978
nop dword [rax]
inc rax
cmp byte [rax], 0
jne 0x180062970
sub rax, r9
mov edx, 0
je 0x1800629a4
movabs r11, 0x100000001b3
nop dword [rax]
movsx rcx, byte [r9 + rdx]
xor r8, rcx
imul r8, r11
inc rdx
cmp rdx, rax
jb 0x180062990
mov qword [rsp + 0x20], r8
mov qword [rsp + 0x28], r9
mov rax, qword [r10]
lea rdx, [rsp + 0x20]
mov rcx, r10
mov rax, qword [rax + 0x80]
call qword [0x1800da508]
nop
add rsp, 0x38
ret
Function at 0x1800639f0
Capabilities:
Access peb ldr_data
Encode data using xor
Hash data using fnv
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 r13
push r14
push r15
sub rsp, 0x30
mov rsi, rdx
mov r14, rcx
call fcn.1800abd48
cmp byte [r14 + 0x3c], 0
je 0x180063bc9
cmp qword [0x1801892e0], 0
je 0x180063bc9
mov rcx, qword [rsp + 0x70]
call fcn.1800a37b0
test rax, rax
je 0x180063bc9
mov rcx, rax
call fcn.1800628b0
mov r13, rax
test rax, rax
je 0x180063bc9
test rsi, rsi
je 0x180063bc9
mov r15, qword [rsi + 0x40]
test r15, r15
je 0x180063bc9
mov rcx, qword [0x18018a148]
lea rdx, [rcx + rcx*4]
mov rcx, qword [0x180186ec0]
lea rax, [rcx + 0x20]
lea rax, [rax + rdx*8]
cmp qword [rcx + rdx*8 + 0x18], 8
jbe 0x180063a94
mov rax, qword [rax]
cmp byte [rax], 0
je 0x180063b5e
mov rax, qword gs:[0x60]
mov rcx, qword [rax + 0x18]
mov rax, qword [rcx + 0x10]
mov rbp, qword [rax]
mov rbx, rbp
nop dword [rax]
nop dword [rax + rax]
mov r9, qword [rbx + 0x30]
movsxd rax, dword [r9 + 0x3c]
mov r11d, dword [rax + r9 + 0x88]
add r11, r9
cmp r11, r9
je 0x180063b37
mov r8d, dword [r11 + 0x18]
test r8d, r8d
je 0x180063b37
mov edi, dword [r11 + 0x20]
nop word [rax + rax]
dec r8d
lea rax, [rdi + r8*4]
mov ecx, dword [rax + r9]
add rcx, r9
mov edx, 0x48c72031
movzx eax, byte [rcx]
inc rcx
test al, al
je 0x180063b32
nop dword [rax]
movsx eax, al
xor eax, edx
imul edx, eax, 0x1000193
movzx eax, byte [rcx]
lea rcx, [rcx + 1]
test al, al
jne 0x180063b10
cmp edx, 0xb1eb6a31
je 0x180063be8
test r8d, r8d
jne 0x180063af0
mov rax, qword [rbx]
mov rbx, rax
cmp rax, rbp
je 0x180063b4d
cmp qword [rax + 0x30], 0
jne 0x180063ac0
xor eax, eax
mov ecx, dword [r14 + 4]
call qword [0x1800da508]
test ax, ax
je 0x180063bc9
mov rcx, qword gs:[0x58]
mov eax, dword [0x18018768c]
mov edx, 4
mov rax, qword [rcx + rax*8]
mov eax, dword [rdx + rax]
cmp dword [0x18018930c], eax
jg 0x180063c06
mov eax, dword [0x18018937c]
mov rcx, qword [r15 + 0x40]
movsd xmm0, qword [rcx + 0x18]
movsd qword [rsp + 0x20], xmm0
mov ecx, dword [rcx + 0x20]
mov dword [rsp + 0x28], ecx
movss xmm3, dword [rax + r13]
lea r8, [rsp + 0x20]
mov rdx, qword [rsp + 0x70]
mov rcx, qword [rsp + 0x78]
call fcn.1800a4620
test al, al
je 0x180063bc4
or qword [rsi + 0x60], 1
call fcn.1800abd62
mov rbx, qword [rsp + 0x50]
mov rbp, qword [rsp + 0x58]
mov rsi, qword [rsp + 0x60]
mov rdi, qword [rsp + 0x68]
add rsp, 0x30
pop r15
pop r14
pop r13
ret
mov ecx, dword [r11 + 0x1c]
add rcx, r9
mov eax, dword [r11 + 0x24]
add rax, r9
movzx eax, word [rax + r8*2]
mov eax, dword [rcx + rax*4]
add rax, r9
jmp 0x180063b4f
lea rcx, [0x18018930c]
call fcn.1800abe2c
cmp dword [0x18018930c], 0xffffffff
jne 0x180063b85
movabs rdx, 0xaf63fe4c86022652
lea rcx, [0x18010c679]
call fcn.18005f770
mov rcx, rax
call fcn.180097d70
mov dword [0x18018937c], eax
lea rcx, [0x18018930c]
call fcn.1800abdc0
jmp 0x180063b85
Function at 0x180068990
Capabilities:
Encode data using xor
Hash data using fnv

Disassembly:
mov qword [rsp + 8], rbx
mov qword [rsp + 0x10], rbp
mov qword [rsp + 0x18], rsi
mov qword [rsp + 0x20], rdi
mov rcx, qword [0x1801893c8]
mov rbx, rdx
movzx eax, word [rcx + 0x50]
cmp eax, 0xffff
je 0x180068a36
mov rdi, qword [rcx + 0x40]
movabs rbp, 0xcbf29ce484222325
movabs rsi, 0x100000001b3
mov r11d, eax
add r11, r11
mov r10, qword [rdi + r11*8]
test r10, r10
je 0x180068a29
mov r9, qword [r10]
mov r8, rbp
mov rax, r9
cmp byte [r9], 0
je 0x1800689f8
nop
inc rax
cmp byte [rax], 0
jne 0x1800689f0
mov edx, 0
sub rax, r9
je 0x180068a24
nop dword [rax]
nop word [rax + rax]
movsx rcx, byte [r9 + rdx]
inc rdx
xor r8, rcx
imul r8, rsi
cmp rdx, rax
jb 0x180068a10
cmp r8, rbx
je 0x180068a4d
movzx eax, word [rdi + r11*8 + 0xa]
cmp eax, 0xffff
jne 0x1800689d1
xor eax, eax
mov rbx, qword [rsp + 8]
mov rbp, qword [rsp + 0x10]
mov rsi, qword [rsp + 0x18]
mov rdi, qword [rsp + 0x20]
ret
mov rax, r10
jmp 0x180068a38
Function at 0x18006d370
Capabilities:
Encode data using xor
Hash data using fnv

Disassembly:
mov qword [rsp + 0x20], rbx
push rdi
sub rsp, 0x30
movaps xmmword [rsp + 0x20], xmm6
movabs rdx, 0xcbf29ce484222325
lea r9, str.sv_maxunlag
mov rcx, r9
inc rcx
cmp byte [rcx], 0
jne 0x18006d393
sub rcx, r9
mov r8d, 0
je 0x18006d3c4
movabs r10, 0x100000001b3
movsx rax, byte [r8 + r9]
xor rdx, rax
imul rdx, r10
inc r8
cmp r8, rcx
jb 0x18006d3b0
call fcn.180068990
movss xmm6, dword [rax + 0x40]
movss dword [rsp + 0x50], xmm6
mov rcx, qword [0x1801892c8]
mov rax, qword [rcx]
xor edx, edx
mov rax, qword [rax + 0x128]
call qword [0x1800da508]
mov rdi, rax
test rax, rax
jne 0x18006d40d
movss xmm0, dword [0x18011133c]
mov rbx, qword [rsp + 0x58]
movaps xmm6, xmmword [rsp + 0x20]
add rsp, 0x30
pop rdi
ret
mov rax, qword [rax]
xor edx, edx
mov rcx, rdi
mov rax, qword [rax + 0x50]
call qword [0x1800da508]
mov ebx, eax
mov rcx, qword [rdi]
mov rax, qword [rcx + 0x50]
mov edx, 1
mov rcx, rdi
call qword [0x1800da508]
movd xmm1, eax
cvtdq2ps xmm1, xmm1
movd xmm0, ebx
cvtdq2ps xmm0, xmm0
addss xmm1, xmm0
movss dword [rsp + 0x48], xmm1
xorps xmm0, xmm0
mov dword [rsp + 0x40], 0
lea rcx, [rsp + 0x40]
lea rax, [rsp + 0x48]
comiss xmm0, xmm1
cmovbe rcx, rax
lea rax, [rsp + 0x50]
comiss xmm1, xmm6
cmovbe rax, rcx
subss xmm6, dword [rax]
movss xmm1, dword [0x1801110a8]
minss xmm1, xmm6
divss xmm1, dword [0x180111318]
mov rax, qword [0x180189340]
movss xmm0, dword [rax + 0x34]
subss xmm0, xmm1
mov rbx, qword [rsp + 0x58]
movaps xmm6, xmmword [rsp + 0x20]
add rsp, 0x30
pop rdi
ret
Function at 0x18006d4b0
Capabilities:
Encode data using xor
Hash data using fnv

Disassembly:
mov qword [rsp + 0x10], rbx
mov qword [rsp + 8], rcx
push rbp
push rsi
push rdi
push r14
push r15
sub rsp, 0x40
mov r14, rcx
mov dword [rcx], edx
xor ebp, ebp
mov qword [rcx + 8], rbp
mov qword [rcx + 0x10], rbp
mov qword [rcx + 0x18], rbp
mov byte [rcx + 0x20], bpl
xor eax, eax
mov qword [rcx + 0x28], rax
mov dword [rcx + 0x30], ebp
movabs rax, 0x8f7c24fdfedca478
mov qword [rsp + 0x80], rax
mov rax, qword [rsp + 0x80]
mov qword [rsp + 0x20], rax
movabs rax, 0x492b8cadbd342878
mov qword [rsp + 0x80], rax
mov rax, qword [rsp + 0x80]
mov qword [rsp + 0x28], rax
movabs rax, 0xe1095c9c9383d20b
mov qword [rsp + 0x80], rax
mov rax, qword [rsp + 0x80]
mov qword [rsp + 0x30], rax
movabs rax, 0x492b8cadbd534914
mov qword [rsp + 0x80], rax
mov rax, qword [rsp + 0x80]
mov qword [rsp + 0x38], rax
movdqa xmm0, xmmword [rsp + 0x20]
xorps xmm0, xmmword [rsp + 0x30]
movdqa xmmword [rsp + 0x20], xmm0
movabs rdx, 0xcbf29ce484222325
lea rcx, [rsp + 0x20]
movq rax, xmm0
test al, al
je 0x18006d598
nop word [rax + rax]
inc rcx
cmp byte [rcx], 0
jne 0x18006d590
lea rax, [rsp + 0x20]
sub rcx, rax
mov r8, rbp
je 0x18006d5c5
movabs r9, 0x100000001b3
nop
movsx rax, byte [rsp + r8 + 0x20]
xor rdx, rax
imul rdx, r9
inc r8
cmp r8, rcx
jb 0x18006d5b0
call fcn.180068990
movss xmm0, dword [rax + 0x40]
mov rax, qword [0x180189340]
divss xmm0, dword [rax + 0x14]
cvttss2si ecx, xmm0
mov eax, ebp
test ecx, ecx
cmovns eax, ecx
movsxd rdx, eax
lea rcx, [r14 + 8]
call fcn.180076ab0
mov rcx, qword [r14 + 8]
mov rsi, qword [r14 + 0x18]
sub rsi, rcx
sar rsi, 5
movabs rdx, 0xffc00ffc00ffc01
imul rsi, rdx
mov rdi, qword [r14 + 0x10]
mov rax, rdi
sub rax, rcx
sar rax, 5
imul rax, rdx
cmp rsi, rax
jae 0x18006d639
imul rax, rsi, 0x8020
add rax, rcx
mov qword [r14 + 0x10], rax
jmp 0x18006d6c8
jbe 0x18006d6c8
sub rsi, rax
je 0x18006d6c4
lea rbx, [rdi + 0x8014]
nop
lea rcx, [rdi + 1]
xor edx, edx
mov r8d, 0x801f
call fcn.1800d3230
mov byte [rdi], 0
mov dword [rbx - 0x8010], ebp
lea rcx, [rbx - 0x8004]
xor edx, edx
mov r8d, 0x8000
call fcn.1800d3230
lea rax, [rbx - 0x7fec]
mov ecx, 0x400
nop word [rax + rax]
mov qword [rax - 0x18], rbp
mov qword [rax - 0x10], rbp
mov qword [rax - 8], rbp
mov qword [rax], rbp
lea rax, [rax + 0x20]
sub rcx, 1
jne 0x18006d690
mov qword [rbx - 4], rbp
mov dword [rbx + 4], ebp
add rdi, 0x8020
add rbx, 0x8020
sub rsi, 1
jne 0x18006d650
mov qword [r14 + 0x10], rdi
mov rax, r14
mov rbx, qword [rsp + 0x78]
add rsp, 0x40
pop r15
pop r14
pop rdi
pop rsi
pop rbp
ret
Function at 0x180076ed0
Capabilities:
Hash data using fnv

Disassembly:
push rbx
sub rsp, 0x20
mov rcx, qword [0x180188e10]
xorps xmm0, xmm0
add rcx, 1
mov rbx, qword [0x180188e38]
js 0x180076ef4
cvtsi2ss xmm0, rcx
jmp 0x180076f09
mov rax, rcx
and ecx, 1
shr rax, 1
or rax, rcx
cvtsi2ss xmm0, rax
addss xmm0, xmm0
divss xmm0, dword [0x180188e00]
call fcn.1800cd2b4
movss xmm1, dword [0x180111338]
xor ecx, ecx
comiss xmm0, xmm1
jb 0x180076f3b
subss xmm0, xmm1
comiss xmm0, xmm1
jae 0x180076f3b
movabs rax, 0x8000000000000000
mov rcx, rax
cvttss2si rax, xmm0
add rax, rcx
mov ecx, 8
cmp rax, rcx
cmova rcx, rax
cmp rbx, rcx
jae 0x180076f6d
cmp rbx, 0x200
jae 0x180076f6a
lea rbx, [rbx*8]
cmp rbx, rcx
jae 0x180076f6d
mov rbx, rcx
mov rdx, rbx
add rsp, 0x20
pop rbx
jmp 0x180076fa0
mov qword [rsp + 0x10], rbx
mov qword [rsp + 0x18], rsi
mov qword [rsp + 8], rcx
push rdi
sub rsp, 0x20
movabs rax, 0xfffffffffffffff
bsr rcx, rax
mov edi, 1
mov eax, edi
shl rax, cl
cmp rdx, rax
ja 0x180077163
lea rax, [rdx - 1]
or rax, rdi
bsr rcx, rax
inc ecx
shl rdi, cl
mov rbx, qword [0x180188e08]
lea rdx, [rdi + rdi]
mov r8, rbx
lea rcx, [0x180188e18]
call fcn.1800755d0
lea rax, [rdi - 1]
mov qword [0x180188e30], rax
mov qword [0x180188e38], rdi
lea rax, [0x180188e00]
mov qword [rsp + 0x30], rax
mov rax, qword [0x180188e08]
mov rax, qword [rax]
mov rcx, rax
cmp rax, rbx
je 0x180077124
movabs rsi, 0xcbf29ce484222325
movabs rdi, 0x100000001b3
nop word [rax + rax]
mov rcx, qword [rcx]
movzx r11d, byte [rax + 0x10]
xor r11, rsi
imul r11, rdi
movzx edx, byte [rax + 0x11]
xor r11, rdx
imul r11, rdi
movzx edx, byte [rax + 0x12]
xor r11, rdx
imul r11, rdi
movzx edx, byte [rax + 0x13]
xor r11, rdx
imul r11, rdi
and r11, qword [0x180188e30]
shl r11, 4
add r11, qword [0x180188e18]
mov r9, qword [r11]
cmp r9, rbx
jne 0x1800770a3
mov qword [r11], rax
mov qword [r11 + 8], rax
jmp 0x180077118
mov rdx, qword [r11 + 8]
mov r8d, dword [rax + 0x10]
cmp r8d, dword [rdx + 0x10]
jne 0x1800770e0
mov r10, qword [rdx]
cmp r10, rax
je 0x1800770da
mov r9, qword [rax + 8]
mov qword [r9], rcx
mov r8, qword [rcx + 8]
mov qword [r8], r10
mov rdx, qword [r10 + 8]
mov qword [rdx], rax
mov qword [r10 + 8], r8
mov qword [rcx + 8], r9
mov qword [rax + 8], rdx
mov qword [r11 + 8], rax
jmp 0x180077118
cmp r9, rdx
je 0x1800770f4
mov rdx, qword [rdx + 8]
cmp r8d, dword [rdx + 0x10]
je 0x18007713d
cmp r9, rdx
jne 0x1800770e5
mov r10, qword [rax + 8]
mov qword [r10], rcx
mov r9, qword [rcx + 8]
mov qword [r9], rdx
mov r8, qword [rdx + 8]
mov qword [r8], rax
mov qword [rdx + 8], r9
mov qword [rcx + 8], r10
mov qword [rax + 8], r8
mov qword [r11], rax
mov rax, rcx
cmp rcx, rbx
jne 0x180077050
mov qword [rsp + 0x30], 0
mov rbx, qword [rsp + 0x38]
mov rsi, qword [rsp + 0x40]
add rsp, 0x20
pop rdi
ret
mov r10, qword [rdx]
mov r9, qword [rax + 8]
mov qword [r9], rcx
mov r8, qword [rcx + 8]
mov qword [r8], r10
mov rdx, qword [r10 + 8]
mov qword [rdx], rax
mov qword [r10 + 8], r8
mov qword [rcx + 8], r9
mov qword [rax + 8], rdx
jmp 0x180077118
lea rcx, str.invalid_hash_bucket_count
call fcn.1800acea4
int3
Function at 0x180076fa0
Capabilities:
Hash data using fnv

Disassembly:
push rbx
sub rsp, 0x20
mov rcx, qword [0x180188e10]
xorps xmm0, xmm0
add rcx, 1
mov rbx, qword [0x180188e38]
js 0x180076ef4
cvtsi2ss xmm0, rcx
jmp 0x180076f09
mov rax, rcx
and ecx, 1
shr rax, 1
or rax, rcx
cvtsi2ss xmm0, rax
addss xmm0, xmm0
divss xmm0, dword [0x180188e00]
call fcn.1800cd2b4
movss xmm1, dword [0x180111338]
xor ecx, ecx
comiss xmm0, xmm1
jb 0x180076f3b
subss xmm0, xmm1
comiss xmm0, xmm1
jae 0x180076f3b
movabs rax, 0x8000000000000000
mov rcx, rax
cvttss2si rax, xmm0
add rax, rcx
mov ecx, 8
cmp rax, rcx
cmova rcx, rax
cmp rbx, rcx
jae 0x180076f6d
cmp rbx, 0x200
jae 0x180076f6a
lea rbx, [rbx*8]
cmp rbx, rcx
jae 0x180076f6d
mov rbx, rcx
mov rdx, rbx
add rsp, 0x20
pop rbx
jmp 0x180076fa0
mov qword [rsp + 0x10], rbx
mov qword [rsp + 0x18], rsi
mov qword [rsp + 8], rcx
push rdi
sub rsp, 0x20
movabs rax, 0xfffffffffffffff
bsr rcx, rax
mov edi, 1
mov eax, edi
shl rax, cl
cmp rdx, rax
ja 0x180077163
lea rax, [rdx - 1]
or rax, rdi
bsr rcx, rax
inc ecx
shl rdi, cl
mov rbx, qword [0x180188e08]
lea rdx, [rdi + rdi]
mov r8, rbx
lea rcx, [0x180188e18]
call fcn.1800755d0
lea rax, [rdi - 1]
mov qword [0x180188e30], rax
mov qword [0x180188e38], rdi
lea rax, [0x180188e00]
mov qword [rsp + 0x30], rax
mov rax, qword [0x180188e08]
mov rax, qword [rax]
mov rcx, rax
cmp rax, rbx
je 0x180077124
movabs rsi, 0xcbf29ce484222325
movabs rdi, 0x100000001b3
nop word [rax + rax]
mov rcx, qword [rcx]
movzx r11d, byte [rax + 0x10]
xor r11, rsi
imul r11, rdi
movzx edx, byte [rax + 0x11]
xor r11, rdx
imul r11, rdi
movzx edx, byte [rax + 0x12]
xor r11, rdx
imul r11, rdi
movzx edx, byte [rax + 0x13]
xor r11, rdx
imul r11, rdi
and r11, qword [0x180188e30]
shl r11, 4
add r11, qword [0x180188e18]
mov r9, qword [r11]
cmp r9, rbx
jne 0x1800770a3
mov qword [r11], rax
mov qword [r11 + 8], rax
jmp 0x180077118
mov rdx, qword [r11 + 8]
mov r8d, dword [rax + 0x10]
cmp r8d, dword [rdx + 0x10]
jne 0x1800770e0
mov r10, qword [rdx]
cmp r10, rax
je 0x1800770da
mov r9, qword [rax + 8]
mov qword [r9], rcx
mov r8, qword [rcx + 8]
mov qword [r8], r10
mov rdx, qword [r10 + 8]
mov qword [rdx], rax
mov qword [r10 + 8], r8
mov qword [rcx + 8], r9
mov qword [rax + 8], rdx
mov qword [r11 + 8], rax
jmp 0x180077118
cmp r9, rdx
je 0x1800770f4
mov rdx, qword [rdx + 8]
cmp r8d, dword [rdx + 0x10]
je 0x18007713d
cmp r9, rdx
jne 0x1800770e5
mov r10, qword [rax + 8]
mov qword [r10], rcx
mov r9, qword [rcx + 8]
mov qword [r9], rdx
mov r8, qword [rdx + 8]
mov qword [r8], rax
mov qword [rdx + 8], r9
mov qword [rcx + 8], r10
mov qword [rax + 8], r8
mov qword [r11], rax
mov rax, rcx
cmp rcx, rbx
jne 0x180077050
mov qword [rsp + 0x30], 0
mov rbx, qword [rsp + 0x38]
mov rsi, qword [rsp + 0x40]
add rsp, 0x20
pop rdi
ret
mov r10, qword [rdx]
mov r9, qword [rax + 8]
mov qword [r9], rcx
mov r8, qword [rcx + 8]
mov qword [r8], r10
mov rdx, qword [r10 + 8]
mov qword [rdx], rax
mov qword [r10 + 8], r8
mov qword [rcx + 8], r9
mov qword [rax + 8], rdx
jmp 0x180077118
lea rcx, str.invalid_hash_bucket_count
call fcn.1800acea4
int3
Function at 0x1800839a0
Capabilities:
Create thread

Disassembly:
mov qword [rsp + 8], rbx
push rdi
sub rsp, 0x70
mov edi, edx
mov rbx, rcx
call qword [sym.imp.KERNEL32.dll_DisableThreadLibraryCalls]
test edi, edi
jne 0x1800839d1
call fcn.180083460
mov eax, 1
mov rbx, qword [rsp + 0x80]
add rsp, 0x70
pop rdi
ret
cmp edi, 1
jne 0x180083b61
mov rax, qword gs:[0x60]
mov rcx, qword [rax + 0x10]
mov qword [0x180189518], rcx
test rcx, rcx
je 0x180083b24
movabs rax, 0xe17a5cea93e2d265
lea rcx, [rsp + 0x30]
mov qword [rsp + 0x98], rax
mov rax, qword [rsp + 0x98]
mov qword [rsp + 0x30], rax
movabs rax, 0x494e8cd9bd20496d
mov qword [rsp + 0x98], rax
mov rax, qword [rsp + 0x98]
mov qword [rsp + 0x38], rax
movabs rax, 0x5008fdba1fb14098
mov qword [rsp + 0x98], rax
mov rax, qword [rsp + 0x98]
mov qword [rsp + 0x40], rax
movabs rax, 0x48307d37848b3d42
mov qword [rsp + 0x98], rax
mov rax, qword [rsp + 0x98]
mov qword [rsp + 0x48], rax
movabs rax, 0xe1095c9c9383d20b
mov qword [rsp + 0x98], rax
mov rax, qword [rsp + 0x98]
mov qword [rsp + 0x50], rax
movabs rax, 0x492b8cadbd534914
mov qword [rsp + 0x98], rax
mov rax, qword [rsp + 0x98]
mov qword [rsp + 0x58], rax
movabs rax, 0x5064fdde1f9f40f5
mov qword [rsp + 0x98], rax
mov rax, qword [rsp + 0x98]
mov qword [rsp + 0x60], rax
movabs rax, 0x48307d37848b3d2e
mov qword [rsp + 0x98], rax
mov rax, qword [rsp + 0x98]
mov qword [rsp + 0x68], rax
vmovdqu ymm0, ymmword [rsp + 0x50]
vpxor ymm1, ymm0, ymmword [rsp + 0x30]
vmovdqu ymmword [rsp + 0x30], ymm1
vzeroupper
call fcn.1800a9d80
test rax, rax
je 0x180083b24
mov rcx, rbx
call fcn.180081e70
test al, al
jne 0x180083b34
call fcn.180083460
xor eax, eax
mov rbx, qword [rsp + 0x80]
add rsp, 0x70
pop rdi
ret
xor eax, eax
lea r8, [0x180083940]
mov qword [rsp + 0x28], rax
mov r9, rbx
xor edx, edx
mov dword [rsp + 0x20], eax
xor ecx, ecx
call qword [sym.imp.KERNEL32.dll_CreateThread]
test rax, rax
je 0x180083b61
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_CloseHandle]
mov rbx, qword [rsp + 0x80]
mov eax, 1
add rsp, 0x70
pop rdi
ret