joyce8/EMBER2024-capa huggingface dataset:
Function at 0x180032aa0
Capabilities:
Hash data using fnv

Disassembly:
push rdi
sub rsp, 0x20
movabs rax, 0xfffffffffffffff
mov edi, 1
bsr rcx, rax
mov eax, edi
shl rax, cl
cmp rdx, rax
jbe 0x180032ad1
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 [0x180682118]
or rax, rdi
bsr rcx, rax
mov r8, rbx
inc ecx
shl rdi, cl
lea rcx, [0x180682128]
lea rdx, [rdi + rdi]
call fcn.180031ee0
mov rax, qword [0x180682118]
lea r9, [rdi - 1]
mov qword [0x180682140], r9
mov qword [0x180682148], rdi
mov rax, qword [rax]
mov rcx, rax
cmp rax, rbx
je 0x180032c44
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 [0x180682128]
mov r9, qword [r11]
cmp r9, rbx
jne 0x180032b90
mov qword [r11], rax
mov qword [r11 + 8], rax
jmp 0x180032c05
mov rdx, qword [r11 + 8]
mov r8d, dword [rax + 0x10]
cmp r8d, dword [rdx + 0x10]
jne 0x180032bcd
mov r10, qword [rdx]
cmp r10, rax
je 0x180032bc7
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 0x180032c05
cmp r9, rdx
je 0x180032be1
mov rdx, qword [rdx + 8]
cmp r8d, dword [rdx + 0x10]
je 0x180032c19
cmp r9, rdx
jne 0x180032bd2
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 0x180032c3f
mov r9, qword [0x180682140]
jmp 0x180032b41
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 0x180032c05
mov rsi, qword [rsp + 0x40]
mov rbx, qword [rsp + 0x30]
add rsp, 0x20
pop rdi
ret
Function at 0x180032c50
Capabilities:
Hash data using fnv

Disassembly:
push rdi
sub rsp, 0x20
movabs rax, 0xfffffffffffffff
mov edi, 1
bsr rcx, rax
mov eax, edi
shl rax, cl
cmp rdx, rax
jbe 0x180032c81
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 [0x180682158]
or rax, rdi
bsr rcx, rax
mov r8, rbx
inc ecx
shl rdi, cl
lea rcx, [0x180682168]
lea rdx, [rdi + rdi]
call fcn.180031ee0
mov rax, qword [0x180682158]
lea r9, [rdi - 1]
mov qword [0x180682180], r9
mov qword [0x180682188], rdi
mov rax, qword [rax]
mov rcx, rax
cmp rax, rbx
je 0x180032df4
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 [0x180682168]
mov r9, qword [r11]
cmp r9, rbx
jne 0x180032d40
mov qword [r11], rax
mov qword [r11 + 8], rax
jmp 0x180032db5
mov rdx, qword [r11 + 8]
mov r8d, dword [rax + 0x10]
cmp r8d, dword [rdx + 0x10]
jne 0x180032d7d
mov r10, qword [rdx]
cmp r10, rax
je 0x180032d77
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 0x180032db5
cmp r9, rdx
je 0x180032d91
mov rdx, qword [rdx + 8]
cmp r8d, dword [rdx + 0x10]
je 0x180032dc9
cmp r9, rdx
jne 0x180032d82
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 0x180032def
mov r9, qword [0x180682180]
jmp 0x180032cf1
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 0x180032db5
mov rsi, qword [rsp + 0x40]
mov rbx, qword [rsp + 0x30]
add rsp, 0x20
pop rdi
ret
Function at 0x180032e00
Capabilities:
Hash data using fnv

Disassembly:
push rdi
sub rsp, 0x20
movabs rax, 0xfffffffffffffff
mov edi, 1
bsr rcx, rax
mov eax, edi
shl rax, cl
cmp rdx, rax
jbe 0x180032e31
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 [0x1806821a8]
or rax, rdi
bsr rcx, rax
mov r8, rbx
inc ecx
shl rdi, cl
lea rcx, [0x1806821b8]
lea rdx, [rdi + rdi]
call fcn.180031ee0
mov rax, qword [0x1806821a8]
lea r9, [rdi - 1]
mov qword [0x1806821d0], r9
mov qword [0x1806821d8], rdi
mov rax, qword [rax]
mov rcx, rax
cmp rax, rbx
je 0x180032fa4
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 [0x1806821b8]
mov r9, qword [r11]
cmp r9, rbx
jne 0x180032ef0
mov qword [r11], rax
mov qword [r11 + 8], rax
jmp 0x180032f65
mov rdx, qword [r11 + 8]
mov r8d, dword [rax + 0x10]
cmp r8d, dword [rdx + 0x10]
jne 0x180032f2d
mov r10, qword [rdx]
cmp r10, rax
je 0x180032f27
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 0x180032f65
cmp r9, rdx
je 0x180032f41
mov rdx, qword [rdx + 8]
cmp r8d, dword [rdx + 0x10]
je 0x180032f79
cmp r9, rdx
jne 0x180032f32
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 0x180032f9f
mov r9, qword [0x1806821d0]
jmp 0x180032ea1
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 0x180032f65
mov rsi, qword [rsp + 0x40]
mov rbx, qword [rsp + 0x30]
add rsp, 0x20
pop rdi
ret
Function at 0x180033610
Capabilities:
Create http request
Read data from internet
Receive data

Disassembly:
mov qword [rsp + 0x18], rbx
push rbp
push rsi
push rdi
mov eax, 0x1070
call fcn.1800ab820
sub rsp, rax
mov rax, qword [0x180427040]
xor rax, rsp
mov qword [rsp + 0x1060], rax
mov rdi, rdx
mov rbx, rcx
mov qword [rsp + 0x38], rcx
xor ebp, ebp
mov dword [rsp + 0x20], ebp
xor r9d, r9d
xor r8d, r8d
mov edx, 1
lea rcx, str.FuckSociety
call qword [sym.imp.WININET.dll_InternetOpenW]
mov rsi, rax
test rax, rax
je 0x1800336a2
cmp qword [rdi + 0x18], 7
jbe 0x180033672
mov rdi, qword [rdi]
mov qword [rsp + 0x28], rbp
mov dword [rsp + 0x20], 0x84000000
xor r9d, r9d
xor r8d, r8d
mov rdx, rdi
mov rcx, rsi
call qword [sym.imp.WININET.dll_InternetOpenUrlW]
mov rdi, rax
test rax, rax
jne 0x1800336dd
mov rcx, rsi
call qword [sym.imp.WININET.dll_InternetCloseHandle]
mov byte [rsp + 0x30], bpl
mov qword [rbx], rbp
mov qword [rbx + 8], rbp
mov qword [rbx + 0x10], rbp
mov ecx, 1
call fcn.180047b4c
mov rcx, rax
mov qword [rbx], rax
inc rax
mov qword [rbx + 0x10], rax
movzx eax, byte [rsp + 0x30]
mov byte [rcx], al
lea rax, [rcx + 1]
mov qword [rbx + 8], rax
jmp 0x1800337e2
xorps xmm1, xmm1
movdqu xmmword [rsp + 0x40], xmm1
mov qword [rsp + 0x50], rbp
mov dword [rsp + 0x38], ebp
nop
lea r9, [rsp + 0x38]
mov r8d, 0x1000
lea rdx, [rsp + 0x60]
mov rcx, rdi
call qword [sym.imp.WININET.dll_InternetReadFile]
test eax, eax
je 0x18003375e
mov r9d, dword [rsp + 0x38]
lea r8, [rsp + 0x60]
mov rdx, qword [rsp + 0x48]
lea rcx, [rsp + 0x40]
call fcn.1800383c0
cmp dword [rsp + 0x38], 0
ja 0x1800336f0
mov rcx, rdi
call qword [sym.imp.WININET.dll_InternetCloseHandle]
mov rcx, rsi
call qword [sym.imp.WININET.dll_InternetCloseHandle]
mov rcx, qword [rsp + 0x40]
mov qword [rbx], rcx
mov rcx, qword [rsp + 0x48]
mov qword [rbx + 8], rcx
mov rcx, qword [rsp + 0x50]
mov qword [rbx + 0x10], rcx
jmp 0x1800337e2
mov rcx, rdi
call qword [sym.imp.WININET.dll_InternetCloseHandle]
mov rcx, rsi
call qword [sym.imp.WININET.dll_InternetCloseHandle]
mov byte [rsp + 0x30], 0
mov qword [rbx], rbp
mov qword [rbx + 8], rbp
mov qword [rbx + 0x10], rbp
mov ecx, 1
call fcn.180047b4c
mov qword [rbx], rax
lea rcx, [rax + 1]
mov qword [rbx + 0x10], rcx
movzx ecx, byte [rsp + 0x30]
mov byte [rax], cl
inc rax
mov qword [rbx + 8], rax
mov rcx, qword [rsp + 0x40]
test rcx, rcx
je 0x1800337e2
mov rdx, qword [rsp + 0x50]
sub rdx, rcx
mov rax, rcx
cmp rdx, 0x1000
jb 0x1800337dd
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x1800337dd
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
call fcn.180047fc8
mov rax, rbx
mov rcx, qword [rsp + 0x1060]
xor rcx, rsp
call fcn.180047890
mov rbx, qword [rsp + 0x10a0]
add rsp, 0x1070
pop rdi
pop rsi
pop rbp
ret
Function at 0x180033810
Capabilities:
Encode data using xor
Generate random numbers using a mersenne twister

Disassembly:
mov qword [rsp + 0x10], rbx
mov qword [rsp + 0x18], rdi
mov qword [rsp + 0x20], r14
push rbp
lea rbp, [rsp - 0x1340]
mov eax, 0x1440
call fcn.1800ab820
sub rsp, rax
mov rax, qword [0x180427040]
xor rax, rsp
mov qword [rbp + 0x1330], rax
mov r14, rcx
mov qword [rsp + 0x28], rcx
xor ebx, ebx
xorps xmm0, xmm0
xor eax, eax
movups xmmword [rsp + 0x70], xmm0
mov qword [rbp - 0x80], rax
movups xmmword [rsp + 0x30], xmm0
xorps xmm1, xmm1
movdqa xmmword [rsp + 0x40], xmm1
mov r8d, 0x35
lea rdx, str.C:Program_FilesGoogleChromeApplicationchrome.exe
lea rcx, [rsp + 0x30]
call fcn.180037d00
nop
xorps xmm0, xmm0
movups xmmword [rsp + 0x50], xmm0
xorps xmm1, xmm1
movdqa xmmword [rsp + 0x60], xmm1
mov r8d, 0x3c
lea rdx, str.C:Program_Files__x86_MicrosoftEdgeApplicationmsedge.exe
lea rcx, [rsp + 0x50]
call fcn.180037d00
nop
xorps xmm0, xmm0
movdqu xmmword [rsp + 0x70], xmm0
mov qword [rbp - 0x80], rbx
mov ecx, 0x40
call fcn.180047b4c
mov rbx, rax
mov qword [rsp + 0x70], rax
mov qword [rsp + 0x78], rax
add rax, 0x40
mov qword [rbp - 0x80], rax
lea rax, [rsp + 0x70]
mov qword [rsp + 0x28], rax
lea rdi, [rsp + 0x30]
xorps xmm0, xmm0
movups xmmword [rbp - 0x78], xmm0
mov qword [rbp - 0x78], rbx
mov qword [rbp - 0x70], rbx
lea rax, [rsp + 0x70]
mov qword [rbp - 0x68], rax
mov rdx, rdi
mov rcx, rbx
call fcn.180036f10
add rbx, 0x20
mov qword [rbp - 0x70], rbx
add rdi, 0x20
lea rax, [rsp + 0x70]
cmp rdi, rax
jne 0x180033900
mov rdx, rbx
mov rcx, rbx
call fcn.180037e00
mov qword [rsp + 0x78], rbx
lea r9, [fcn.180036e70]
mov edx, 0x20
mov r8d, 2
lea rcx, [rsp + 0x30]
call fcn.180047b88
call qword [sym.imp.MSVCP140.dll_unsigned_int___cdecl_std::_Random_device_void_]
mov edx, eax
mov dword [rbp + 0x1324], 0xffffffff
mov dword [rbp - 0x5c], eax
mov ecx, 1
nop word [rax + rax]
mov eax, edx
shr eax, 0x1e
xor eax, edx
imul edx, eax, 0x6c078965
add edx, ecx
mov dword [rbp + rcx*4 - 0x5c], edx
inc rcx
cmp rcx, 0x270
jb 0x180033970
mov dword [rbp - 0x60], 0x270
mov rax, qword [rsp + 0x78]
sub rax, qword [rsp + 0x70]
sar rax, 5
dec eax
btc eax, 0x1f
lea rcx, [rbp - 0x60]
cmp eax, 0x7fffffff
jne 0x1800339be
call fcn.180039400
mov ecx, eax
jmp 0x1800339fa
lea ebx, [rax - 0x7fffffff]
call fcn.180039400
mov edi, ebx
mov ecx, eax
imul rcx, rdi
cmp ecx, ebx
jae 0x1800339f6
mov eax, ebx
neg eax
xor edx, edx
div ebx
mov ebx, edx
cmp ecx, edx
jae 0x1800339f6
lea rcx, [rbp - 0x60]
call fcn.180039400
mov ecx, eax
imul rcx, rdi
cmp ecx, ebx
jb 0x1800339e3
shr rcx, 0x20
add ecx, 0x80000000
movsxd rdx, ecx
xor rdx, 0xffffffff80000000
shl rdx, 5
add rdx, qword [rsp + 0x70]
mov rcx, r14
call fcn.180036f10
nop
lea rcx, [rsp + 0x70]
call fcn.180037070
mov rax, r14
mov rcx, qword [rbp + 0x1330]
xor rcx, rsp
call fcn.180047890
lea r11, [rsp + 0x1440]
mov rbx, qword [r11 + 0x18]
mov rdi, qword [r11 + 0x20]
mov r14, qword [r11 + 0x28]
mov rsp, r11
pop rbp
ret
Function at 0x180037670
Capabilities:
Hash data using fnv
Hash data with crc32

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, 0x40
mov r13, r8
mov r8d, 0xffffff65
mov ebx, r8d
movzx r9d, byte [rcx]
lea rdx, [rcx + 1]
test r9b, r9b
je 0x1800376e0
lea r10, [0x1800cbf70]
nop
cmp r9b, 0x23
jne 0x1800376c3
cmp byte [rdx], r9b
jne 0x1800376c3
cmp byte [rdx + 1], r9b
cmove ebx, r8d
movzx ecx, bl
movzx eax, r9b
xor rcx, rax
shr ebx, 8
xor ebx, dword [r10 + rcx*4]
movzx r9d, byte [rdx]
inc rdx
test r9b, r9b
jne 0x1800376b0
not ebx
mov ebp, ebx
shr ebp, 0x18
mov r14d, ebx
shr r14d, 0x10
mov r15d, ebx
shr r15d, 8
mov ecx, dword [0x18068109c]
mov rax, qword gs:[0x58]
mov edx, 4
mov rax, qword [rax + rcx*8]
xor edi, edi
mov eax, dword [rdx + rax]
cmp dword [0x1806821e4], eax
jle 0x1800377e2
lea rcx, [0x1806821e4]
call fcn.180047958
cmp dword [0x1806821e4], 0xffffffff
jne 0x1800377e2
xorps xmm0, xmm0
movups xmmword [0x180682270], xmm0
movups xmmword [0x180682280], xmm0
movups xmmword [0x180682290], xmm0
movups xmmword [0x1806822a0], xmm0
mov dword [0x180682270], edi
mov qword [0x180682278], rdi
mov qword [0x180682280], rdi
mov ecx, 0x20
call fcn.180047b4c
mov qword [rax], rax
mov qword [rax + 8], rax
mov qword [0x180682278], rax
mov qword [0x180682288], rdi
xorps xmm0, xmm0
movdqa xmmword [0x180682290], xmm0
mov qword [0x1806822a0], 7
mov qword [0x1806822a8], 8
mov dword [0x180682270], 0x3f800000
mov r8, rax
mov edx, 0x10
lea rcx, [0x180682288]
call fcn.180031ee0
nop
lea rcx, [0x1800aceb0]
call fcn.180047fb0
nop
lea rcx, [0x1806821e4]
call fcn.1800478ec
movzx esi, bl
movabs rax, 0xcbf29ce484222325
xor rsi, rax
movabs rcx, 0x100000001b3
imul rsi, rcx
movzx eax, r15b
xor rsi, rax
imul rsi, rcx
movzx eax, r14b
xor rsi, rax
imul rsi, rcx
mov eax, ebp
xor rsi, rax
imul rsi, rcx
mov rax, rsi
and rax, qword [0x1806822a0]
add rax, rax
mov r8, qword [0x180682288]
mov rcx, qword [r8 + rax*8 + 8]
mov rdx, qword [0x180682278]
cmp rcx, rdx
je 0x180037860
mov rax, qword [r8 + rax*8]
cmp ebx, dword [rcx + 0x10]
je 0x180037863
nop dword [rax]
cmp rcx, rax
je 0x180037860
mov rcx, qword [rcx + 8]
cmp ebx, dword [rcx + 0x10]
jne 0x180037850
jmp 0x180037863
mov rcx, rdi
mov rax, rdx
test rcx, rcx
cmovne rax, rcx
cmp rax, rdx
jne 0x1800378dc
mov dword [rsp + 0x20], ebx
movsd xmm0, qword [r13]
movsd qword [rsp + 0x24], xmm0
mov eax, dword [r13 + 8]
mov dword [rsp + 0x2c], eax
lea r8, [rsp + 0x20]
lea rdx, [rsp + 0x30]
call fcn.1800388e0
and rsi, qword [0x1806822a0]
add rsi, rsi
mov rdx, qword [0x180682288]
mov rcx, qword [rdx + rsi*8 + 8]
mov rax, qword [0x180682278]
cmp rcx, rax
je 0x1800378d5
mov rdx, qword [rdx + rsi*8]
cmp ebx, dword [rcx + 0x10]
je 0x1800378d2
cmp rcx, rdx
je 0x1800378d5
mov rcx, qword [rcx + 8]
cmp ebx, dword [rcx + 0x10]
jne 0x1800378c4
mov rdi, rcx
test rdi, rdi
cmovne rax, rdi
add rax, 0x14
mov rbx, qword [rsp + 0x60]
mov rbp, qword [rsp + 0x68]
mov rsi, qword [rsp + 0x70]
mov rdi, qword [rsp + 0x78]
add rsp, 0x40
pop r15
pop r14
pop r13
ret
Function at 0x180038ef0
Capabilities:
Hash data using fnv

Disassembly:
push rdi
sub rsp, 0x20
movabs rax, 0xfffffffffffffff
mov edi, 1
bsr rcx, rax
mov eax, edi
shl rax, cl
cmp rdx, rax
jbe 0x180038f21
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 [0x180682238]
or rax, rdi
bsr rcx, rax
mov r8, rbx
inc ecx
shl rdi, cl
lea rcx, [0x180682248]
lea rdx, [rdi + rdi]
call fcn.180031ee0
mov rax, qword [0x180682238]
lea r9, [rdi - 1]
mov qword [0x180682260], r9
mov qword [0x180682268], rdi
mov rax, qword [rax]
mov rcx, rax
cmp rax, rbx
je 0x180039094
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 [0x180682248]
mov r9, qword [r11]
cmp r9, rbx
jne 0x180038fe0
mov qword [r11], rax
mov qword [r11 + 8], rax
jmp 0x180039055
mov rdx, qword [r11 + 8]
mov r8d, dword [rax + 0x10]
cmp r8d, dword [rdx + 0x10]
jne 0x18003901d
mov r10, qword [rdx]
cmp r10, rax
je 0x180039017
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 0x180039055
cmp r9, rdx
je 0x180039031
mov rdx, qword [rdx + 8]
cmp r8d, dword [rdx + 0x10]
je 0x180039069
cmp r9, rdx
jne 0x180039022
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 0x18003908f
mov r9, qword [0x180682260]
jmp 0x180038f91
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 0x180039055
mov rsi, qword [rsp + 0x40]
mov rbx, qword [rsp + 0x30]
add rsp, 0x20
pop rdi
ret
Function at 0x1800390a0
Capabilities:
Hash data using fnv

Disassembly:
push rdi
sub rsp, 0x20
movabs rax, 0xfffffffffffffff
mov edi, 1
bsr rcx, rax
mov eax, edi
shl rax, cl
cmp rdx, rax
jbe 0x1800390d1
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 [0x180682278]
or rax, rdi
bsr rcx, rax
mov r8, rbx
inc ecx
shl rdi, cl
lea rcx, [0x180682288]
lea rdx, [rdi + rdi]
call fcn.180031ee0
mov rax, qword [0x180682278]
lea r9, [rdi - 1]
mov qword [0x1806822a0], r9
mov qword [0x1806822a8], rdi
mov rax, qword [rax]
mov rcx, rax
cmp rax, rbx
je 0x180039244
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 [0x180682288]
mov r9, qword [r11]
cmp r9, rbx
jne 0x180039190
mov qword [r11], rax
mov qword [r11 + 8], rax
jmp 0x180039205
mov rdx, qword [r11 + 8]
mov r8d, dword [rax + 0x10]
cmp r8d, dword [rdx + 0x10]
jne 0x1800391cd
mov r10, qword [rdx]
cmp r10, rax
je 0x1800391c7
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 0x180039205
cmp r9, rdx
je 0x1800391e1
mov rdx, qword [rdx + 8]
cmp r8d, dword [rdx + 0x10]
je 0x180039219
cmp r9, rdx
jne 0x1800391d2
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 0x18003923f
mov r9, qword [0x1806822a0]
jmp 0x180039141
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 0x180039205
mov rsi, qword [rsp + 0x40]
mov rbx, qword [rsp + 0x30]
add rsp, 0x20
pop rdi
ret
Function at 0x180039250
Capabilities:
Hash data using fnv

Disassembly:
push rdi
sub rsp, 0x20
movabs rax, 0xfffffffffffffff
mov edi, 1
bsr rcx, rax
mov eax, edi
shl rax, cl
cmp rdx, rax
jbe 0x180039281
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 [0x1806821f8]
or rax, rdi
bsr rcx, rax
mov r8, rbx
inc ecx
shl rdi, cl
lea rcx, [0x180682208]
lea rdx, [rdi + rdi]
call fcn.180031ee0
mov rax, qword [0x1806821f8]
lea r9, [rdi - 1]
mov qword [0x180682220], r9
mov qword [0x180682228], rdi
mov rax, qword [rax]
mov rcx, rax
cmp rax, rbx
je 0x1800393f4
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 [0x180682208]
mov r9, qword [r11]
cmp r9, rbx
jne 0x180039340
mov qword [r11], rax
mov qword [r11 + 8], rax
jmp 0x1800393b5
mov rdx, qword [r11 + 8]
mov r8d, dword [rax + 0x10]
cmp r8d, dword [rdx + 0x10]
jne 0x18003937d
mov r10, qword [rdx]
cmp r10, rax
je 0x180039377
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 0x1800393b5
cmp r9, rdx
je 0x180039391
mov rdx, qword [rdx + 8]
cmp r8d, dword [rdx + 0x10]
je 0x1800393c9
cmp r9, rdx
jne 0x180039382
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 0x1800393ef
mov r9, qword [0x180682220]
jmp 0x1800392f1
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 0x1800393b5
mov rsi, qword [rsp + 0x40]
mov rbx, qword [rsp + 0x30]
add rsp, 0x20
pop rdi
ret