joyce8/EMBER2024-capa huggingface dataset:
Function at 0x1800232c0
Capabilities:
Hash data with crc32

Disassembly:
test r8d, r8d
jle 0x1800234cc
mov r11, rsp
push rbp
push rsi
sub rsp, 0x58
mov rax, qword [0x180117040]
xor rax, rsp
mov qword [rsp + 0x38], rax
mov qword [r11 - 0x18], rdi
mov rbp, rcx
mov qword [r11 - 0x20], r14
lea rdi, [rdx + 0x18]
mov qword [r11 - 0x28], r15
mov r14d, 0xffffffff
lea r15, [0x1800c9ea0]
mov qword [r11 + 0x18], rbx
movsxd rsi, r8d
nop dword [rax + rax]
mov edx, dword [rdi - 0x18]
test edx, edx
je 0x180023494
mov rcx, rbp
call fcn.180022b80
mov edx, dword [rdi - 0x14]
mov rbx, rax
test edx, edx
je 0x18002333e
lea rcx, [rbp + 0x6180]
call fcn.1800065e0
mov rcx, rax
jmp 0x180023340
xor ecx, ecx
mov qword [rbx + 0x18], rcx
movsx eax, word [rdi]
movd xmm1, eax
movsx eax, word [rdi + 2]
cvtdq2ps xmm1, xmm1
movd xmm0, eax
movss dword [rbx + 0x48], xmm1
cvtdq2ps xmm0, xmm0
movss dword [rbx + 0x4c], xmm0
movsx eax, word [rdi + 4]
movd xmm1, eax
movsx eax, word [rdi + 6]
cvtdq2ps xmm1, xmm1
movd xmm0, eax
movss dword [rbx + 0x50], xmm1
cvtdq2ps xmm0, xmm0
movss dword [rbx + 0x54], xmm0
movsx eax, word [rdi + 8]
movd xmm1, eax
movsx eax, word [rdi + 0xa]
cvtdq2ps xmm1, xmm1
movd xmm0, eax
mov eax, dword [rbx + 0xc8]
and eax, 0xfffffe49
movss dword [rbx + 0x58], xmm1
or eax, 0x49
mov dword [rbx + 0xc8], eax
cvtdq2ps xmm0, xmm0
movss dword [rbx + 0x5c], xmm0
test rcx, rcx
je 0x1800233d4
cmp qword [rcx + 0x20], 0
jne 0x1800233c9
mov qword [rcx + 0x20], rbx
jmp 0x1800233d4
cmp qword [rcx + 0x28], 0
jne 0x1800233d4
mov qword [rcx + 0x28], rbx
mov eax, dword [rdi - 0xc]
mov r9, rbx
mov dword [rbx + 0xbc], eax
movsx eax, byte [rdi - 8]
mov dword [rbx + 0x60], eax
mov ecx, dword [rdi - 4]
mov eax, dword [rbx + 0xc]
and ecx, 0x3fc20
or eax, dword [rbx + 4]
or eax, ecx
mov dword [rbx + 8], ecx
mov dword [rbx + 0x10], eax
mov rax, qword [rbx + 0x18]
test rax, rax
je 0x18002341c
nop word [rax + rax]
mov r9, rax
mov rax, qword [rax + 0x18]
test rax, rax
jne 0x180023410
mov r9d, dword [r9]
lea r8, str.DockNode__02X
mov edx, 0x14
lea rcx, [rsp + 0x20]
call fcn.1800059b0
movzx r9d, byte [rsp + 0x20]
lea r8, [rsp + 0x21]
mov edx, r14d
test r9b, r9b
je 0x180023478
cmp r9b, 0x23
jne 0x18002345b
cmp byte [r8], r9b
jne 0x18002345b
cmp byte [r8 + 1], r9b
cmove edx, r14d
movzx ecx, dl
movzx eax, r9b
movzx r9d, byte [r8]
xor rcx, rax
shr edx, 8
inc r8
xor edx, dword [r15 + rcx*4]
test r9b, r9b
jne 0x180023448
mov rcx, qword [0x180119de0]
not edx
add rcx, 0x4160
call fcn.1800065e0
mov qword [rbx + 0x88], rax
add rdi, 0x24
sub rsi, 1
jne 0x180023310
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.1800bbf40
add rsp, 0x58
pop rsi
pop rbp
ret
Function at 0x180064070
Capabilities:
Encode data using xor
Generate random numbers using a mersenne twister

Disassembly:
mov qword [rsp + 0x10], rbx
mov qword [rsp + 0x18], rbp
mov qword [rsp + 0x20], rsi
push rdi
push r12
push r13
push r14
push r15
sub rsp, 0x50
lea rsi, [rcx + 0x4f8]
lea rdi, [rcx + 0x198]
mov rcx, rsi
call fcn.180064c10
mov rbp, qword [0x1801175f8]
xor r12d, r12d
mov r13, qword [0x1801175f0]
mov r15, qword [rdi + 0x10]
test r15, r15
je 0x1800641a8
cmp r13, rbp
je 0x18006410e
mov r14, qword [rdi + 0x18]
mov rbx, r13
nop dword [rax]
cmp qword [rbx + 0x18], 0xf
mov r9, rbx
mov rax, qword [rbx + 0x10]
jbe 0x1800640e1
mov r9, qword [rbx]
mov rcx, rdi
cmp r14, 0xf
jbe 0x1800640ed
mov rcx, qword [rdi]
mov rdx, r15
mov qword [rsp + 0x20], rax
call fcn.180065480
cmp rax, 0xffffffffffffffff
jne 0x18006410e
add rbx, 0x20
cmp rbx, rbp
jne 0x1800640d0
jmp 0x1800641a8
mov rcx, qword [rsi + 0x20]
movzx eax, cl
add al, byte [rsi + 0x18]
test al, 3
jne 0x180064132
lea rax, [rcx + 4]
shr rax, 2
cmp qword [rsi + 0x10], rax
ja 0x180064132
mov rcx, rsi
call fcn.180065650
mov rdx, qword [rsi + 0x10]
lea rax, [rdx*4 - 1]
and qword [rsi + 0x18], rax
lea rax, [rdx - 1]
mov rbx, qword [rsi + 0x18]
add rbx, qword [rsi + 0x20]
mov rbp, rbx
shr rbp, 2
and rax, rbp
lea r14, [rax*8]
mov rax, qword [rsi + 8]
cmp qword [r14 + rax], 0
jne 0x18006417d
mov ecx, 0x10
call fcn.1800bc6bc
mov rcx, qword [rsi + 8]
mov qword [r14 + rcx], rax
mov rcx, qword [rsi + 0x10]
and ebx, 3
mov rax, qword [rsi + 8]
dec rcx
and rcx, rbp
mov rax, qword [rax + rcx*8]
mov dword [rax + rbx*4], r12d
inc qword [rsi + 0x20]
mov rbp, qword [0x1801175f8]
mov r13, qword [0x1801175f0]
inc r12d
add rdi, 0x20
cmp r12d, 0x1b
jb 0x1800640b3
mov ecx, dword [0x180119d7c]
mov rax, qword gs:[0x58]
mov edx, 4
mov rax, qword [rax + rcx*8]
mov ecx, dword [rdx + rax]
cmp dword [0x18011b8f0], ecx
jle 0x180064259
lea rcx, [0x18011b8f0]
call fcn.1800bc008
cmp dword [0x18011b8f0], 0xffffffff
jne 0x180064259
mov r8d, 0x1571
mov dword [0x18011cc84], 0xffffffff
mov dword [0x18011b904], r8d
lea r9, [0x18011b904]
mov edx, 1
nop dword [rax]
nop dword [rax + rax]
mov eax, r8d
shr eax, 0x1e
xor eax, r8d
imul r8d, eax, 0x6c078965
add r8d, edx
mov dword [r9 + rdx*4], r8d
inc rdx
cmp rdx, 0x270
jb 0x180064220
lea rcx, [0x18011b8f0]
mov dword [0x18011b900], 0x270
call fcn.1800bbf9c
mov r8, rsi
lea rdx, [rsp + 0x30]
call fcn.1800651c0
lea rdx, [rsp + 0x80]
mov dword [rsp + 0x80], 0xffffffff
mov rcx, rsi
call fcn.1800653b0
lea r11, [rsp + 0x50]
mov rbx, qword [r11 + 0x38]
mov rbp, qword [r11 + 0x40]
mov rsi, qword [r11 + 0x48]
mov rsp, r11
pop r15
pop r14
pop r13
pop r12
pop rdi
ret
Function at 0x1800659e0
Capabilities:
Hash data using fnv

Disassembly:
mov qword [rsp + 8], rbx
mov qword [rsp + 0x20], rbp
push rsi
push rdi
push r12
push r14
push r15
sub rsp, 0x30
mov r12, r8
mov rsi, rdx
movzx r15d, byte [r8]
movabs rax, 0xcbf29ce484222325
xor r15, rax
movabs rcx, 0x100000001b3
imul r15, rcx
movzx eax, byte [r8 + 1]
xor r15, rax
imul r15, rcx
movzx eax, byte [r8 + 2]
xor r15, rax
imul r15, rcx
movzx eax, byte [r8 + 3]
xor r15, rax
imul r15, rcx
mov rcx, qword [0x180117540]
and rcx, r15
add rcx, rcx
mov rax, qword [0x180117528]
mov rbx, qword [rax + rcx*8 + 8]
mov r14, qword [0x180117518]
cmp rbx, r14
jne 0x180065a6c
mov rbx, r14
mov rbp, r14
jmp 0x180065aad
mov rcx, qword [rax + rcx*8]
mov eax, dword [r8]
cmp eax, dword [rbx + 0x10]
je 0x180065a86
cmp rbx, rcx
je 0x180065aa7
mov rbx, qword [rbx + 8]
cmp eax, dword [rbx + 0x10]
jne 0x180065a78
mov qword [rdx], rbx
mov byte [rdx + 8], 0
mov rax, rsi
mov rbx, qword [rsp + 0x60]
mov rbp, qword [rsp + 0x78]
add rsp, 0x30
pop r15
pop r14
pop r12
pop rdi
pop rsi
ret
mov r14, rbx
mov rbp, rbx
movabs rax, 0x7ffffffffffffff
cmp qword [0x180117520], rax
jne 0x180065ace
lea rcx, str.unordered_map_set_too_long
call qword [sym.imp.MSVCP140.dll_void___cdecl_std::_Xlength_error_char_const____ptr64_]
int3
lea rax, [0x180117518]
mov qword [rsp + 0x20], rax
mov qword [rsp + 0x28], 0
mov ecx, 0x20
call fcn.1800bc6bc
mov rdi, rax
mov qword [rsp + 0x28], rax
movups xmm0, xmmword [r12]
movups xmmword [rax + 0x10], xmm0
mov rdx, qword [0x180117520]
lea rcx, [rdx + 1]
xorps xmm0, xmm0
test rcx, rcx
js 0x180065b18
cvtsi2ss xmm0, rcx
jmp 0x180065b2d
mov rax, rcx
shr rax, 1
and ecx, 1
or rax, rcx
cvtsi2ss xmm0, rax
addss xmm0, xmm0
mov rcx, qword [0x180117548]
xorps xmm1, xmm1
test rcx, rcx
js 0x180065b43
cvtsi2ss xmm1, rcx
jmp 0x180065b58
mov rax, rcx
shr rax, 1
and ecx, 1
or rax, rcx
cvtsi2ss xmm1, rax
addss xmm1, xmm1
divss xmm0, xmm1
comiss xmm0, dword [0x180117510]
jbe 0x180065bce
call fcn.180066150
mov rcx, qword [0x180117540]
and rcx, r15
add rcx, rcx
mov rdx, qword [0x180117528]
mov rax, qword [rdx + rcx*8 + 8]
mov rbx, qword [0x180117518]
cmp rax, rbx
jne 0x180065b9a
mov qword [rsp + 0x28], 0
jmp 0x180065bba
mov rdx, qword [rdx + rcx*8]
mov ecx, dword [rdi + 0x10]
cmp ecx, dword [rax + 0x10]
je 0x180065bb7
mov rbx, rax
cmp rax, rdx
je 0x180065c11
mov rax, qword [rax + 8]
cmp ecx, dword [rax + 0x10]
jne 0x180065ba6
mov rbx, qword [rax]
mov qword [rsp + 0x20], rbx
mov rbp, rbx
mov r14, qword [rsp + 0x20]
mov rdx, qword [0x180117520]
mov r8, qword [rbx + 8]
inc rdx
mov qword [0x180117520], rdx
mov qword [rdi], r14
mov qword [rdi + 8], r8
mov qword [r8], rdi
mov qword [rbx + 8], rdi
mov rcx, qword [0x180117528]
mov rax, qword [0x180117540]
and rax, r15
add rax, rax
mov rdx, qword [rcx + rax*8]
cmp rdx, qword [0x180117518]
jne 0x180065c21
mov qword [rcx + rax*8], rdi
jmp 0x180065c33
mov qword [rsp + 0x20], rax
mov qword [rsp + 0x28], 0
jmp 0x180065bbf
cmp rdx, rbp
jne 0x180065c2c
mov qword [rcx + rax*8], rdi
jmp 0x180065c38
cmp qword [rcx + rax*8 + 8], r8
jne 0x180065c38
mov qword [rcx + rax*8 + 8], rdi
mov qword [rsi], rdi
mov byte [rsi + 8], 1
jmp 0x180065a8d
Function at 0x180065c50
Capabilities:
Hash data using fnv

Disassembly:
mov qword [rsp + 8], rbx
mov qword [rsp + 0x20], rbp
push rsi
push rdi
push r12
push r14
push r15
sub rsp, 0x30
mov r12, r8
mov rsi, rdx
movzx r15d, byte [r8]
movabs rax, 0xcbf29ce484222325
xor r15, rax
movabs rcx, 0x100000001b3
imul r15, rcx
movzx eax, byte [r8 + 1]
xor r15, rax
imul r15, rcx
movzx eax, byte [r8 + 2]
xor r15, rax
imul r15, rcx
movzx eax, byte [r8 + 3]
xor r15, rax
imul r15, rcx
mov rcx, qword [0x180117500]
and rcx, r15
add rcx, rcx
mov rax, qword [0x1801174e8]
mov rbx, qword [rax + rcx*8 + 8]
mov r14, qword [0x1801174d8]
cmp rbx, r14
jne 0x180065cdc
mov rbx, r14
mov rbp, r14
jmp 0x180065d1d
mov rcx, qword [rax + rcx*8]
mov eax, dword [r8]
cmp eax, dword [rbx + 0x10]
je 0x180065cf6
cmp rbx, rcx
je 0x180065d17
mov rbx, qword [rbx + 8]
cmp eax, dword [rbx + 0x10]
jne 0x180065ce8
mov qword [rdx], rbx
mov byte [rdx + 8], 0
mov rax, rsi
mov rbx, qword [rsp + 0x60]
mov rbp, qword [rsp + 0x78]
add rsp, 0x30
pop r15
pop r14
pop r12
pop rdi
pop rsi
ret
mov r14, rbx
mov rbp, rbx
movabs rax, 0x7ffffffffffffff
cmp qword [0x1801174e0], rax
jne 0x180065d3e
lea rcx, str.unordered_map_set_too_long
call qword [sym.imp.MSVCP140.dll_void___cdecl_std::_Xlength_error_char_const____ptr64_]
int3
lea rax, [0x1801174d8]
mov qword [rsp + 0x20], rax
mov qword [rsp + 0x28], 0
mov ecx, 0x20
call fcn.1800bc6bc
mov rdi, rax
mov qword [rsp + 0x28], rax
movups xmm0, xmmword [r12]
movups xmmword [rax + 0x10], xmm0
mov rdx, qword [0x1801174e0]
lea rcx, [rdx + 1]
xorps xmm0, xmm0
test rcx, rcx
js 0x180065d88
cvtsi2ss xmm0, rcx
jmp 0x180065d9d
mov rax, rcx
shr rax, 1
and ecx, 1
or rax, rcx
cvtsi2ss xmm0, rax
addss xmm0, xmm0
mov rcx, qword [0x180117508]
xorps xmm1, xmm1
test rcx, rcx
js 0x180065db3
cvtsi2ss xmm1, rcx
jmp 0x180065dc8
mov rax, rcx
shr rax, 1
and ecx, 1
or rax, rcx
cvtsi2ss xmm1, rax
addss xmm1, xmm1
divss xmm0, xmm1
comiss xmm0, dword [0x1801174d0]
jbe 0x180065e3e
call fcn.180066200
mov rcx, qword [0x180117500]
and rcx, r15
add rcx, rcx
mov rdx, qword [0x1801174e8]
mov rax, qword [rdx + rcx*8 + 8]
mov rbx, qword [0x1801174d8]
cmp rax, rbx
jne 0x180065e0a
mov qword [rsp + 0x28], 0
jmp 0x180065e2a
mov rdx, qword [rdx + rcx*8]
mov ecx, dword [rdi + 0x10]
cmp ecx, dword [rax + 0x10]
je 0x180065e27
mov rbx, rax
cmp rax, rdx
je 0x180065e81
mov rax, qword [rax + 8]
cmp ecx, dword [rax + 0x10]
jne 0x180065e16
mov rbx, qword [rax]
mov qword [rsp + 0x20], rbx
mov rbp, rbx
mov r14, qword [rsp + 0x20]
mov rdx, qword [0x1801174e0]
mov r8, qword [rbx + 8]
inc rdx
mov qword [0x1801174e0], rdx
mov qword [rdi], r14
mov qword [rdi + 8], r8
mov qword [r8], rdi
mov qword [rbx + 8], rdi
mov rcx, qword [0x1801174e8]
mov rax, qword [0x180117500]
and rax, r15
add rax, rax
mov rdx, qword [rcx + rax*8]
cmp rdx, qword [0x1801174d8]
jne 0x180065e91
mov qword [rcx + rax*8], rdi
jmp 0x180065ea3
mov qword [rsp + 0x20], rax
mov qword [rsp + 0x28], 0
jmp 0x180065e2f
cmp rdx, rbp
jne 0x180065e9c
mov qword [rcx + rax*8], rdi
jmp 0x180065ea8
cmp qword [rcx + rax*8 + 8], r8
jne 0x180065ea8
mov qword [rcx + rax*8 + 8], rdi
mov qword [rsi], rdi
mov byte [rsi + 8], 1
jmp 0x180065cfd
Function at 0x180065ec0
Capabilities:
Hash data using fnv

Disassembly:
mov qword [rsp + 8], rbx
mov qword [rsp + 0x20], rbp
push rsi
push rdi
push r12
push r14
push r15
sub rsp, 0x30
mov r12, r8
mov rsi, rdx
movzx r15d, byte [r8]
movabs rax, 0xcbf29ce484222325
xor r15, rax
movabs rcx, 0x100000001b3
imul r15, rcx
movzx eax, byte [r8 + 1]
xor r15, rax
imul r15, rcx
movzx eax, byte [r8 + 2]
xor r15, rax
imul r15, rcx
movzx eax, byte [r8 + 3]
xor r15, rax
imul r15, rcx
mov rcx, qword [0x1801174c0]
and rcx, r15
add rcx, rcx
mov rax, qword [0x1801174a8]
mov rbx, qword [rax + rcx*8 + 8]
mov r14, qword [0x180117498]
cmp rbx, r14
jne 0x180065f4c
mov rbx, r14
mov rbp, r14
jmp 0x180065f8d
mov rcx, qword [rax + rcx*8]
mov eax, dword [r8]
cmp eax, dword [rbx + 0x10]
je 0x180065f66
cmp rbx, rcx
je 0x180065f87
mov rbx, qword [rbx + 8]
cmp eax, dword [rbx + 0x10]
jne 0x180065f58
mov qword [rdx], rbx
mov byte [rdx + 8], 0
mov rax, rsi
mov rbx, qword [rsp + 0x60]
mov rbp, qword [rsp + 0x78]
add rsp, 0x30
pop r15
pop r14
pop r12
pop rdi
pop rsi
ret
mov r14, rbx
mov rbp, rbx
movabs rax, 0x7ffffffffffffff
cmp qword [0x1801174a0], rax
jne 0x180065fae
lea rcx, str.unordered_map_set_too_long
call qword [sym.imp.MSVCP140.dll_void___cdecl_std::_Xlength_error_char_const____ptr64_]
int3
lea rax, [0x180117498]
mov qword [rsp + 0x20], rax
mov qword [rsp + 0x28], 0
mov ecx, 0x20
call fcn.1800bc6bc
mov rdi, rax
mov qword [rsp + 0x28], rax
movups xmm0, xmmword [r12]
movups xmmword [rax + 0x10], xmm0
mov rdx, qword [0x1801174a0]
lea rcx, [rdx + 1]
xorps xmm0, xmm0
test rcx, rcx
js 0x180065ff8
cvtsi2ss xmm0, rcx
jmp 0x18006600d
mov rax, rcx
shr rax, 1
and ecx, 1
or rax, rcx
cvtsi2ss xmm0, rax
addss xmm0, xmm0
mov rcx, qword [0x1801174c8]
xorps xmm1, xmm1
test rcx, rcx
js 0x180066023
cvtsi2ss xmm1, rcx
jmp 0x180066038
mov rax, rcx
shr rax, 1
and ecx, 1
or rax, rcx
cvtsi2ss xmm1, rax
addss xmm1, xmm1
divss xmm0, xmm1
comiss xmm0, dword [0x180117490]
jbe 0x1800660ae
call fcn.1800662b0
mov rcx, qword [0x1801174c0]
and rcx, r15
add rcx, rcx
mov rdx, qword [0x1801174a8]
mov rax, qword [rdx + rcx*8 + 8]
mov rbx, qword [0x180117498]
cmp rax, rbx
jne 0x18006607a
mov qword [rsp + 0x28], 0
jmp 0x18006609a
mov rdx, qword [rdx + rcx*8]
mov ecx, dword [rdi + 0x10]
cmp ecx, dword [rax + 0x10]
je 0x180066097
mov rbx, rax
cmp rax, rdx
je 0x1800660f1
mov rax, qword [rax + 8]
cmp ecx, dword [rax + 0x10]
jne 0x180066086
mov rbx, qword [rax]
mov qword [rsp + 0x20], rbx
mov rbp, rbx
mov r14, qword [rsp + 0x20]
mov rdx, qword [0x1801174a0]
mov r8, qword [rbx + 8]
inc rdx
mov qword [0x1801174a0], rdx
mov qword [rdi], r14
mov qword [rdi + 8], r8
mov qword [r8], rdi
mov qword [rbx + 8], rdi
mov rcx, qword [0x1801174a8]
mov rax, qword [0x1801174c0]
and rax, r15
add rax, rax
mov rdx, qword [rcx + rax*8]
cmp rdx, qword [0x180117498]
jne 0x180066101
mov qword [rcx + rax*8], rdi
jmp 0x180066113
mov qword [rsp + 0x20], rax
mov qword [rsp + 0x28], 0
jmp 0x18006609f
cmp rdx, rbp
jne 0x18006610c
mov qword [rcx + rax*8], rdi
jmp 0x180066118
cmp qword [rcx + rax*8 + 8], r8
jne 0x180066118
mov qword [rcx + rax*8 + 8], rdi
mov qword [rsi], rdi
mov byte [rsi + 8], 1
jmp 0x180065f6d
Function at 0x180066150
Capabilities:
Hash data using fnv

Disassembly:
push rbx
sub rsp, 0x20
mov rcx, qword [0x180117520]
xorps xmm0, xmm0
add rcx, 1
mov rbx, qword [0x180117548]
js 0x180066174
cvtsi2ss xmm0, rcx
jmp 0x180066189
mov rax, rcx
and ecx, 1
shr rax, 1
or rax, rcx
cvtsi2ss xmm0, rax
addss xmm0, xmm0
divss xmm0, dword [0x180117510]
call sub.api_ms_win_crt_math_l1_1_0.dll_ceilf
movss xmm1, dword [0x1800ffe68]
xor ecx, ecx
comiss xmm0, xmm1
jb 0x1800661bb
subss xmm0, xmm1
comiss xmm0, xmm1
jae 0x1800661bb
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 0x1800661ed
cmp rbx, 0x200
jae 0x1800661ea
lea rbx, [rbx*8]
cmp rbx, rcx
jae 0x1800661ed
mov rbx, rcx
mov rdx, rbx
add rsp, 0x20
pop rbx
jmp 0x180066360
push rdi
sub rsp, 0x20
movabs rax, 0xfffffffffffffff
mov edi, 1
bsr rcx, rax
mov eax, edi
shl rax, cl
cmp rdx, rax
jbe 0x180066391
lea rcx, str.invalid_hash_bucket_count
call qword [sym.imp.MSVCP140.dll_void___cdecl_std::_Xlength_error_char_const____ptr64_]
int3
lea rax, [rdx - 1]
mov qword [rsp + 0x30], rbx
mov rbx, qword [0x180117518]
or rax, rdi
bsr rcx, rax
mov r8, rbx
inc ecx
shl rdi, cl
lea rcx, [0x180117528]
lea rdx, [rdi + rdi]
call fcn.180064e30
mov rax, qword [0x180117518]
lea r9, [rdi - 1]
mov qword [0x180117540], r9
mov qword [0x180117548], rdi
mov rax, qword [rax]
mov rcx, rax
cmp rax, rbx
je 0x180066504
mov qword [rsp + 0x40], rsi
movabs rdi, 0x100000001b3
movabs rsi, 0xcbf29ce484222325
movzx edx, byte [rax + 0x11]
movzx r11d, byte [rax + 0x10]
mov rcx, qword [rcx]
xor r11, rsi
imul r11, rdi
xor r11, rdx
movzx edx, byte [rax + 0x12]
imul r11, rdi
xor r11, rdx
movzx edx, byte [rax + 0x13]
imul r11, rdi
xor r11, rdx
imul r11, rdi
and r11, r9
shl r11, 4
add r11, qword [0x180117528]
mov r9, qword [r11]
cmp r9, rbx
jne 0x180066450
mov qword [r11], rax
mov qword [r11 + 8], rax
jmp 0x1800664c5
mov rdx, qword [r11 + 8]
mov r8d, dword [rax + 0x10]
cmp r8d, dword [rdx + 0x10]
jne 0x18006648d
mov r10, qword [rdx]
cmp r10, rax
je 0x180066487
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 0x1800664c5
cmp r9, rdx
je 0x1800664a1
mov rdx, qword [rdx + 8]
cmp r8d, dword [rdx + 0x10]
je 0x1800664d9
cmp r9, rdx
jne 0x180066492
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
je 0x1800664ff
mov r9, qword [0x180117540]
jmp 0x180066401
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 0x1800664c5
mov rsi, qword [rsp + 0x40]
mov rbx, qword [rsp + 0x30]
add rsp, 0x20
pop rdi
ret
Function at 0x180066200
Capabilities:
Hash data using fnv

Disassembly:
push rbx
sub rsp, 0x20
mov rcx, qword [0x1801174e0]
xorps xmm0, xmm0
add rcx, 1
mov rbx, qword [0x180117508]
js 0x180066224
cvtsi2ss xmm0, rcx
jmp 0x180066239
mov rax, rcx
and ecx, 1
shr rax, 1
or rax, rcx
cvtsi2ss xmm0, rax
addss xmm0, xmm0
divss xmm0, dword [0x1801174d0]
call sub.api_ms_win_crt_math_l1_1_0.dll_ceilf
movss xmm1, dword [0x1800ffe68]
xor ecx, ecx
comiss xmm0, xmm1
jb 0x18006626b
subss xmm0, xmm1
comiss xmm0, xmm1
jae 0x18006626b
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 0x18006629d
cmp rbx, 0x200
jae 0x18006629a
lea rbx, [rbx*8]
cmp rbx, rcx
jae 0x18006629d
mov rbx, rcx
mov rdx, rbx
add rsp, 0x20
pop rbx
jmp 0x180066510
push rdi
sub rsp, 0x20
movabs rax, 0xfffffffffffffff
mov edi, 1
bsr rcx, rax
mov eax, edi
shl rax, cl
cmp rdx, rax
jbe 0x180066541
lea rcx, str.invalid_hash_bucket_count
call qword [sym.imp.MSVCP140.dll_void___cdecl_std::_Xlength_error_char_const____ptr64_]
int3
lea rax, [rdx - 1]
mov qword [rsp + 0x30], rbx
mov rbx, qword [0x1801174d8]
or rax, rdi
bsr rcx, rax
mov r8, rbx
inc ecx
shl rdi, cl
lea rcx, [0x1801174e8]
lea rdx, [rdi + rdi]
call fcn.180064e30
mov rax, qword [0x1801174d8]
lea r9, [rdi - 1]
mov qword [0x180117500], r9
mov qword [0x180117508], rdi
mov rax, qword [rax]
mov rcx, rax
cmp rax, rbx
je 0x1800666b4
mov qword [rsp + 0x40], rsi
movabs rdi, 0x100000001b3
movabs rsi, 0xcbf29ce484222325
movzx edx, byte [rax + 0x11]
movzx r11d, byte [rax + 0x10]
mov rcx, qword [rcx]
xor r11, rsi
imul r11, rdi
xor r11, rdx
movzx edx, byte [rax + 0x12]
imul r11, rdi
xor r11, rdx
movzx edx, byte [rax + 0x13]
imul r11, rdi
xor r11, rdx
imul r11, rdi
and r11, r9
shl r11, 4
add r11, qword [0x1801174e8]
mov r9, qword [r11]
cmp r9, rbx
jne 0x180066600
mov qword [r11], rax
mov qword [r11 + 8], rax
jmp 0x180066675
mov rdx, qword [r11 + 8]
mov r8d, dword [rax + 0x10]
cmp r8d, dword [rdx + 0x10]
jne 0x18006663d
mov r10, qword [rdx]
cmp r10, rax
je 0x180066637
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 0x180066675
cmp r9, rdx
je 0x180066651
mov rdx, qword [rdx + 8]
cmp r8d, dword [rdx + 0x10]
je 0x180066689
cmp r9, rdx
jne 0x180066642
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
je 0x1800666af
mov r9, qword [0x180117500]
jmp 0x1800665b1
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 0x180066675
mov rsi, qword [rsp + 0x40]
mov rbx, qword [rsp + 0x30]
add rsp, 0x20
pop rdi
ret
Function at 0x1800662b0
Capabilities:
Hash data using fnv

Disassembly:
push rbx
sub rsp, 0x20
mov rcx, qword [0x1801174a0]
xorps xmm0, xmm0
add rcx, 1
mov rbx, qword [0x1801174c8]
js 0x1800662d4
cvtsi2ss xmm0, rcx
jmp 0x1800662e9
mov rax, rcx
and ecx, 1
shr rax, 1
or rax, rcx
cvtsi2ss xmm0, rax
addss xmm0, xmm0
divss xmm0, dword [0x180117490]
call sub.api_ms_win_crt_math_l1_1_0.dll_ceilf
movss xmm1, dword [0x1800ffe68]
xor ecx, ecx
comiss xmm0, xmm1
jb 0x18006631b
subss xmm0, xmm1
comiss xmm0, xmm1
jae 0x18006631b
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 0x18006634d
cmp rbx, 0x200
jae 0x18006634a
lea rbx, [rbx*8]
cmp rbx, rcx
jae 0x18006634d
mov rbx, rcx
mov rdx, rbx
add rsp, 0x20
pop rbx
jmp 0x1800666c0
push rdi
sub rsp, 0x20
movabs rax, 0xfffffffffffffff
mov edi, 1
bsr rcx, rax
mov eax, edi
shl rax, cl
cmp rdx, rax
jbe 0x1800666f1
lea rcx, str.invalid_hash_bucket_count
call qword [sym.imp.MSVCP140.dll_void___cdecl_std::_Xlength_error_char_const____ptr64_]
int3
lea rax, [rdx - 1]
mov qword [rsp + 0x30], rbx
mov rbx, qword [0x180117498]
or rax, rdi
bsr rcx, rax
mov r8, rbx
inc ecx
shl rdi, cl
lea rcx, [0x1801174a8]
lea rdx, [rdi + rdi]
call fcn.180064e30
mov rax, qword [0x180117498]
lea r9, [rdi - 1]
mov qword [0x1801174c0], r9
mov qword [0x1801174c8], rdi
mov rax, qword [rax]
mov rcx, rax
cmp rax, rbx
je 0x180066864
mov qword [rsp + 0x40], rsi
movabs rdi, 0x100000001b3
movabs rsi, 0xcbf29ce484222325
movzx edx, byte [rax + 0x11]
movzx r11d, byte [rax + 0x10]
mov rcx, qword [rcx]
xor r11, rsi
imul r11, rdi
xor r11, rdx
movzx edx, byte [rax + 0x12]
imul r11, rdi
xor r11, rdx
movzx edx, byte [rax + 0x13]
imul r11, rdi
xor r11, rdx
imul r11, rdi
and r11, r9
shl r11, 4
add r11, qword [0x1801174a8]
mov r9, qword [r11]
cmp r9, rbx
jne 0x1800667b0
mov qword [r11], rax
mov qword [r11 + 8], rax
jmp 0x180066825
mov rdx, qword [r11 + 8]
mov r8d, dword [rax + 0x10]
cmp r8d, dword [rdx + 0x10]
jne 0x1800667ed
mov r10, qword [rdx]
cmp r10, rax
je 0x1800667e7
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 0x180066825
cmp r9, rdx
je 0x180066801
mov rdx, qword [rdx + 8]
cmp r8d, dword [rdx + 0x10]
je 0x180066839
cmp r9, rdx
jne 0x1800667f2
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
je 0x18006685f
mov r9, qword [0x1801174c0]
jmp 0x180066761
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 0x180066825
mov rsi, qword [rsp + 0x40]
mov rbx, qword [rsp + 0x30]
add rsp, 0x20
pop rdi
ret