joyce8/EMBER2024-capa huggingface dataset:
Function at 0x140227830
Capabilities:
Encode data using xor

Disassembly:
push r14
push r13
push r12
push rbp
push rdi
push rsi
push rbx
sub rsp, 0x30
mov rbp, qword [rsp + 0x90]
test rcx, rcx
mov r12d, edx
mov rsi, r8
mov dword [rbp], 0
mov r13d, r9d
mov dword [rsp + 0x2c], 0
je 0x1402278fe
mov eax, r9d
sub eax, 1
js 0x140227968
movsxd rdi, r9d
movsxd rdx, eax
mov eax, eax
lea r9, [r8 + rdi - 2]
add rdx, r8
sub r9, rax
mov eax, 0xd
nop dword [rax + rax]
lea r8d, [rax*8]
sub rdx, 1
xor eax, r8d
movsx r8d, byte [rdx + 1]
xor eax, r8d
cmp rdx, r9
jne 0x140227890
lea edx, [rax*8]
xor eax, edx
xor eax, r12d
and eax, 0x1ff
lea r14, [rcx + rax*8]
mov rbx, qword [r14]
test rbx, rbx
jne 0x1402278d9
jmp 0x140227910
mov rbx, qword [rbx + 0x10]
test rbx, rbx
je 0x140227910
cmp dword [rbx + 0xc], r12d
jne 0x1402278d0
cmp dword [rbx + 8], r13d
jne 0x1402278d0
mov rcx, qword [rbx]
mov r8, rdi
mov rdx, rsi
call sub.msvcrt.dll_memcmp
test eax, eax
jne 0x1402278d0
mov dword [rbp], 1
xor eax, eax
add rsp, 0x30
pop rbx
pop rsi
pop rdi
pop rbp
pop r12
pop r13
pop r14
ret
lea rdx, [rdi + 0x18]
lea rcx, [rsp + 0x2c]
call sym.sqlite3Fts5MallocZero
test rax, rax
mov rbx, rax
je 0x140227955
lea rcx, [rax + 0x18]
movd xmm1, r12d
movd xmm0, r13d
punpckldq xmm0, xmm1
mov qword [rax], rcx
mov r8, rdi
mov rdx, rsi
movq qword [rax + 8], xmm0
call sym.memcpy
mov rax, qword [r14]
mov qword [rbx + 0x10], rax
mov qword [r14], rbx
mov eax, dword [rsp + 0x2c]
add rsp, 0x30
pop rbx
pop rsi
pop rdi
pop rbp
pop r12
pop r13
pop r14
ret
mov edx, 0x68
mov eax, 0xd
movsxd rdi, r9d
jmp 0x1402278b3

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

Disassembly:
movzx r9d, word [rcx + 0x14]
movzx r10d, word [rdx + 0x14]
mov eax, r9d
or eax, r10d
test al, 1
jne 0x140234bd0
test al, 0x2c
je 0x140234bb0
mov eax, r9d
and eax, r10d
test al, 0x24
jne 0x140234be0
test al, 8
je 0x140234bf0
movsd xmm1, qword [rcx]
movsd xmm0, qword [rdx]
comisd xmm0, xmm1
ja 0x140234c3c
xor eax, eax
comisd xmm1, xmm0
seta al
jmp 0x140234bad
fstp st(0)
fstp st(0)
jmp 0x140234bad
fstp st(0)
fstp st(0)
ret
test al, 2
je 0x140234bc9
and r9d, 2
je 0x140234c20
and r10d, 2
je 0x140234c3c
test r8, r8
jne 0x140234c48
jmp sym.sqlite3BlobCompare
and r10d, 1
and r9d, 1
mov eax, r10d
sub eax, r9d
ret
mov rax, qword [rdx]
cmp qword [rcx], rax
jl 0x140234c3c
setg al
movzx eax, al
ret
test r9b, 0x24
jne 0x140234c30
and r9d, 8
mov eax, 1
je 0x140234bad
and r10d, 0x24
je 0x140234c3c
fild qword [rdx]
fld qword [rcx]
fcomi st(1)
ja 0x140234ba3
fxch st(1)
xor eax, eax
fcompi st(1)
fstp st(0)
seta al
neg eax
ret
mov eax, 1
ret
test r10b, 8
jne 0x140234c50
and r10d, 0x24
jne 0x140234be0
mov eax, 0xffffffff
ret
xor r9d, r9d
jmp sym.vdbeCompareMemString
fild qword [rcx]
mov eax, 0xffffffff
fld qword [rdx]
fcomi st(1)
ja 0x140234ba9
fxch st(1)
xor eax, eax
fcompi st(1)
fstp st(0)
seta al
ret
Function at 0x140252a50
Capabilities:
Resolve function by parsing pe exports

Disassembly:
push rdi
push rsi
push rbx
sub rsp, 0x20
mov rbx, rdx
mov edx, dword [rcx + 0x90]
mov rsi, rcx
lea r9d, [rdx + 5]
cmp r9d, dword [rcx + 0x94]
jg 0x140252c68
movsxd rax, edx
lea rcx, [rax + rax*2]
mov rax, qword [rsi + 0x88]
lea rax, [rax + rcx*8]
movzx ecx, byte [rbx]
mov byte [rax], cl
movsx r11d, byte [rbx + 2]
movsx r8d, byte [rbx + 1]
movd xmm1, r11d
test r11b, r11b
movd xmm0, r8d
punpckldq xmm0, xmm1
lea r8, [0x140326560]
movq qword [rax + 4], xmm0
jle 0x140252abf
test byte [r8 + rcx], 1
jne 0x140252c58
movsx ecx, byte [rbx + 3]
xor edi, edi
mov byte [rax + 1], 0
mov qword [rax + 0x10], 0
mov word [rax + 2], di
mov dword [rax + 0xc], ecx
movzx ecx, byte [rbx + 4]
mov byte [rax + 0x18], cl
movsx r10d, byte [rbx + 6]
movsx edi, byte [rbx + 5]
test byte [r8 + rcx], 1
movd xmm2, r10d
movd xmm0, edi
punpckldq xmm0, xmm2
movq qword [rax + 0x1c], xmm0
je 0x140252b0a
test r10b, r10b
jg 0x140252c48
movsx ecx, byte [rbx + 7]
xor r11d, r11d
mov byte [rax + 0x19], 0
mov qword [rax + 0x28], 0
mov word [rax + 0x1a], r11w
mov dword [rax + 0x24], ecx
movzx ecx, byte [rbx + 8]
mov byte [rax + 0x30], cl
movsx r11d, byte [rbx + 0xa]
movsx edi, byte [rbx + 9]
movd xmm3, r11d
test r11b, r11b
movd xmm0, edi
punpckldq xmm0, xmm3
movq qword [rax + 0x34], xmm0
jle 0x140252b57
test byte [r8 + rcx], 1
jne 0x140252c38
movsx ecx, byte [rbx + 0xb]
xor r10d, r10d
mov byte [rax + 0x31], 0
mov qword [rax + 0x40], 0
mov word [rax + 0x32], r10w
mov dword [rax + 0x3c], ecx
movzx ecx, byte [rbx + 0xc]
mov byte [rax + 0x48], cl
movsx r11d, byte [rbx + 0xe]
movsx edi, byte [rbx + 0xd]
movd xmm4, r11d
test r11b, r11b
movd xmm0, edi
punpckldq xmm0, xmm4
movq qword [rax + 0x4c], xmm0
jle 0x140252ba4
test byte [r8 + rcx], 1
jne 0x140252c28
movsx ecx, byte [rbx + 0xf]
mov byte [rax + 0x49], 0
mov qword [rax + 0x58], 0
mov dword [rax + 0x54], ecx
xor ecx, ecx
mov word [rax + 0x4a], cx
movzx ecx, byte [rbx + 0x10]
mov byte [rax + 0x60], cl
movsx r10d, byte [rbx + 0x12]
movsx edi, byte [rbx + 0x11]
test byte [r8 + rcx], 1
movd xmm5, r10d
movd xmm0, edi
punpckldq xmm0, xmm5
movq qword [rax + 0x64], xmm0
je 0x140252beb
test r10b, r10b
jg 0x140252c18
movsx edx, byte [rbx + 0x13]
mov byte [rax + 0x61], 0
mov qword [rax + 0x70], 0
mov dword [rax + 0x6c], edx
xor edx, edx
mov word [rax + 0x62], dx
mov dword [rsi + 0x90], r9d
add rsp, 0x20
pop rbx
pop rsi
pop rdi
ret
add r10d, edx
mov dword [rax + 0x68], r10d
jmp 0x140252beb
add r11d, edx
mov dword [rax + 0x50], r11d
jmp 0x140252ba4
add r11d, edx
mov dword [rax + 0x38], r11d
jmp 0x140252b57
add r10d, edx
mov dword [rax + 0x20], r10d
jmp 0x140252b0a
add r11d, edx
mov dword [rax + 8], r11d
jmp 0x140252abf
call sym.growOpArray.isra.0
test eax, eax
jne 0x140252c80
mov edx, dword [rsi + 0x90]
lea r9d, [rdx + 5]
jmp 0x140252a74
xor eax, eax
jmp 0x140252c0b
Function at 0x140295980
Capabilities:
Resolve function by parsing pe exports

Disassembly:
push rdi
push rsi
push rbx
sub rsp, 0xc0
mov rsi, r8
movzx r8d, byte [r8 + 8]
mov rax, rcx
mov rdi, r9
cmp byte [rcx + 0x16], r8b
jne 0x1402959d0
mov r10d, dword [rcx + 0x10]
mov r8, qword [rdx + 8]
mov rcx, qword [rsi + 0x10]
mov qword [rsp + 0x20], r8
mov r9d, dword [rdx + 0x10]
mov edx, r10d
mov r8, qword [rax + 8]
call qword [rsi + 0x18]
add rsp, 0xc0
pop rbx
pop rsi
pop rdi
ret
mov rcx, qword [rcx + 0x18]
mov dword [rsp + 0x60], 0
mov dword [rsp + 0xa0], 0
mov qword [rsp + 0x58], rcx
mov qword [rsp + 0x98], rcx
mov rcx, qword [rax]
mov qword [rsp + 0x40], rcx
mov rcx, qword [rax + 8]
mov qword [rsp + 0x48], rcx
mov rcx, qword [rax + 0x10]
mov qword [rsp + 0x50], rcx
movzx ecx, word [rax + 0x14]
test ch, 0x20
jne 0x140295a22
and ch, 0x8f
or ch, 0x40
mov word [rsp + 0x54], cx
mov rax, qword [rdx]
mov qword [rsp + 0x80], rax
mov rax, qword [rdx + 8]
mov qword [rsp + 0x88], rax
mov rax, qword [rdx + 0x10]
mov qword [rsp + 0x90], rax
movzx eax, word [rdx + 0x14]
test ah, 0x20
jne 0x140295a5c
and ah, 0x8f
or ah, 0x40
mov word [rsp + 0x94], ax
xor ebx, ebx
and ecx, 1
jne 0x140295a79
lea rcx, [rsp + 0x40]
movzx edx, r8b
call sym.valueToText
movzx r8d, byte [rsi + 8]
mov rbx, rax
movzx eax, word [rsp + 0x94]
mov edx, eax
not edx
test dx, 0x202
je 0x140295b30
test al, 1
jne 0x140295b08
lea rcx, [rsp + 0x80]
movzx edx, r8b
call sym.valueToText
test rbx, rbx
je 0x140295b08
test rax, rax
je 0x140295b08
mov rcx, qword [rsi + 0x10]
mov r8, rbx
mov qword [rsp + 0x20], rax
mov r9d, dword [rsp + 0x90]
mov edx, dword [rsp + 0x50]
call qword [rsi + 0x18]
mov ecx, dword [rsp + 0x60]
test ecx, ecx
jne 0x140295b1a
mov edx, dword [rsp + 0xa0]
test edx, edx
je 0x1402959bd
lea rcx, [rsp + 0x80]
mov dword [rsp + 0x3c], eax
call sym.vdbeMemClear
mov eax, dword [rsp + 0x3c]
add rsp, 0xc0
pop rbx
pop rsi
pop rdi
ret
test rdi, rdi
je 0x140295b10
mov byte [rdi], 7
mov ecx, dword [rsp + 0x60]
xor eax, eax
test ecx, ecx
je 0x140295ad2
lea rcx, [rsp + 0x40]
mov dword [rsp + 0x3c], eax
call sym.vdbeMemClear
mov eax, dword [rsp + 0x3c]
jmp 0x140295ad2
cmp byte [rsp + 0x96], r8b
jne 0x140295a90
mov rax, qword [rsp + 0x88]
jmp 0x140295aa5
Function at 0x18001f550
Capabilities:
Terminate thread

Disassembly:
mov qword [rsp + 0x10], rbx
mov qword [rsp + 0x18], rsi
push rdi
sub rsp, 0x50
mov rax, qword [0x18028b040]
xor rax, rsp
mov qword [rsp + 0x40], rax
mov rdi, rcx
xor eax, eax
mov dword [rsp + 0x20], eax
cmp dword [rcx + 0x18], eax
je 0x18001f62c
mov qword [rsp + 0x38], rax
mov rcx, qword [rcx + 0x20]
mov qword [rsp + 0x38], rcx
test rcx, rcx
je 0x18001f59d
lock add dword [rcx + 4], 2
mov rcx, qword [rsp + 0x38]
mov ebx, 1
mov dword [rsp + 0x20], ebx
test rcx, rcx
je 0x18001f5b0
call fcn.18001a7a0
cmp dword [rdi + 0x18], 0
je 0x18001f5d5
mov rcx, qword [rdi + 0x10]
mov qword [rsp + 0x28], rcx
test rcx, rcx
je 0x18001f5cc
mov edx, ebx
call qword [sym.imp.KERNEL32.dll_TerminateThread]
lea rcx, [rdi + 0x10]
call fcn.18001a9a0
and ebx, 0xfffffffe
mov dword [rsp + 0x20], ebx
mov rax, qword [rsp + 0x38]
mov qword [rsp + 0x28], rax
test rax, rax
je 0x18001f62c
add rax, 4
mov qword [rsp + 0x30], rax
mov ecx, 0xfffffffe
lock xadd dword [rax], ecx
mov dword [rsp + 0x30], ecx
and ecx, 0xfffffffe
cmp ecx, 2
jne 0x18001f62c
mov ecx, 0xffffffff
mov rax, qword [rsp + 0x28]
lock xadd dword [rax], ecx
cmp ecx, 1
jne 0x18001f62c
mov edx, 0x20
mov rcx, qword [rsp + 0x28]
call fcn.1801a302c
nop
mov rcx, qword [rsp + 0x40]
xor rcx, rsp
call fcn.1801a2b40
mov rbx, qword [rsp + 0x68]
mov rsi, qword [rsp + 0x70]
add rsp, 0x50
pop rdi
ret

Function at 0x180023940
Capabilities:
Create thread

Disassembly:
mov qword [rsp + 0x10], rbx
mov qword [rsp + 0x18], rbp
mov qword [rsp + 0x20], rsi
push rdi
sub rsp, 0x70
mov rax, qword [0x18028b040]
xor rax, rsp
mov qword [rsp + 0x60], rax
mov rsi, rdx
mov rdi, rcx
mov qword [rsp + 0x40], rcx
xor ebp, ebp
mov dword [rsp + 0x30], ebp
xorps xmm0, xmm0
movups xmmword [rcx], xmm0
mov ecx, 0x20
call fcn.1801a2c80
mov dword [rax], 1
mov dword [rax + 4], 2
xor ecx, ecx
mov qword [rax + 8], rcx
mov qword [rax + 0x10], rbp
mov dword [rax + 0x18], ebp
mov qword [rdi + 0x10], rax
mov rbx, qword [rdi + 0x10]
test rbx, rbx
je 0x1800239ae
lock inc dword [rbx]
mov qword [rsp + 0x38], rbx
mov dword [rsp + 0x30], 1
mov qword [rsp + 0x58], rbp
mov ecx, 0x10
call fcn.1801a2c80
mov r9, rax
mov qword [rsp + 0x48], rax
mov qword [rsp + 0x50], rax
mov qword [rsp + 0x38], rbp
mov qword [rax], rbx
mov rax, qword [rsi]
mov qword [r9 + 8], rax
mov qword [rsp + 0x58], r9
mov ebx, 3
mov dword [rsp + 0x30], ebx
lea rsi, [rdi + 8]
mov qword [rsp + 0x28], rsi
mov dword [rsp + 0x20], ebp
lea r8, [0x18002ce30]
xor edx, edx
xor ecx, ecx
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__beginthreadex]
mov qword [rdi], rax
test rax, rax
je 0x180023a53
mov qword [rsp + 0x58], rbp
and ebx, 0xfffffffd
mov dword [rsp + 0x30], ebx
and ebx, 0xfffffffe
mov dword [rsp + 0x30], ebx
mov rax, rdi
mov rcx, qword [rsp + 0x60]
xor rcx, rsp
call fcn.1801a2b40
lea r11, [rsp + 0x70]
mov rbx, qword [r11 + 0x18]
mov rbp, qword [r11 + 0x20]
mov rsi, qword [r11 + 0x28]
mov rsp, r11
pop rdi
ret
mov dword [rsi], ebp
mov ecx, 6
call qword [sym.imp.MSVCP140.dll_void___cdecl_std::_Throw_Cpp_error_int_]
int3
Function at 0x180025ae0
Capabilities:
Hash data using fnv

Disassembly:
mov qword [rsp + 0x18], rbx
mov qword [rsp + 0x20], rbp
push rsi
push rdi
push r14
sub rsp, 0x30
mov rsi, rcx
movabs rax, 0xfffffffffffffff
bsr rcx, rax
mov edi, 1
mov eax, edi
shl rax, cl
cmp rdx, rax
jbe 0x180025b20
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]
or rax, rdi
bsr rcx, rax
inc ecx
shl rdi, cl
mov rbx, qword [rsi + 8]
lea rdx, [rdi + rdi]
mov r8, rbx
lea rcx, [rsi + 0x18]
call fcn.1800214d0
lea rax, [rdi - 1]
mov qword [rsi + 0x30], rax
mov qword [rsi + 0x38], rdi
mov qword [rsp + 0x20], rsi
mov rax, qword [rsi + 8]
mov rax, qword [rax]
mov rcx, rax
cmp rax, rbx
je 0x180025c7f
movabs rbp, 0xcbf29ce484222325
movabs rdi, 0x100000001b3
nop dword [rax]
mov rcx, qword [rcx]
movzx r11d, byte [rax + 0x10]
xor r11, rbp
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
movzx edx, byte [rax + 0x14]
xor r11, rdx
imul r11, rdi
movzx edx, byte [rax + 0x15]
xor r11, rdx
imul r11, rdi
movzx edx, byte [rax + 0x16]
xor r11, rdx
imul r11, rdi
movzx edx, byte [rax + 0x17]
xor r11, rdx
imul r11, rdi
and r11, qword [rsi + 0x30]
shl r11, 4
add r11, qword [rsi + 0x18]
mov r9, qword [r11]
cmp r9, rbx
jne 0x180025bf9
mov qword [r11], rax
mov qword [r11 + 8], rax
jmp 0x180025c73
mov rdx, qword [r11 + 8]
mov r8, qword [rax + 0x10]
cmp r8, qword [rdx + 0x10]
jne 0x180025c36
mov r10, qword [rdx]
cmp r10, rax
je 0x180025c30
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 0x180025c73
cmp r9, rdx
je 0x180025c4f
nop dword [rax + rax]
mov rdx, qword [rdx + 8]
cmp r8, qword [rdx + 0x10]
je 0x180025c9b
cmp r9, rdx
jne 0x180025c40
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 0x180025b80
mov qword [rsp + 0x20], 0
mov rbx, qword [rsp + 0x60]
mov rbp, qword [rsp + 0x68]
add rsp, 0x30
pop r14
pop rdi
pop rsi
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 0x180025c73
Function at 0x180025cd0
Capabilities:
Hash data using fnv

Disassembly:
mov qword [rsp + 0x18], rbx
mov qword [rsp + 0x20], rbp
push rsi
push rdi
push r14
sub rsp, 0x30
mov rsi, rcx
movabs rax, 0xfffffffffffffff
bsr rcx, rax
mov edi, 1
mov eax, edi
shl rax, cl
cmp rdx, rax
jbe 0x180025d10
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]
or rax, rdi
bsr rcx, rax
inc ecx
shl rdi, cl
mov rbx, qword [rsi + 8]
lea rdx, [rdi + rdi]
mov r8, rbx
lea rcx, [rsi + 0x18]
call fcn.1800214d0
lea rax, [rdi - 1]
mov qword [rsi + 0x30], rax
mov qword [rsi + 0x38], rdi
mov qword [rsp + 0x20], rsi
mov rax, qword [rsi + 8]
mov rax, qword [rax]
mov rcx, rax
cmp rax, rbx
je 0x180025e6f
movabs rbp, 0xcbf29ce484222325
movabs rdi, 0x100000001b3
nop dword [rax]
mov rcx, qword [rcx]
movzx r11d, byte [rax + 0x10]
xor r11, rbp
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
movzx edx, byte [rax + 0x14]
xor r11, rdx
imul r11, rdi
movzx edx, byte [rax + 0x15]
xor r11, rdx
imul r11, rdi
movzx edx, byte [rax + 0x16]
xor r11, rdx
imul r11, rdi
movzx edx, byte [rax + 0x17]
xor r11, rdx
imul r11, rdi
and r11, qword [rsi + 0x30]
shl r11, 4
add r11, qword [rsi + 0x18]
mov r9, qword [r11]
cmp r9, rbx
jne 0x180025de9
mov qword [r11], rax
mov qword [r11 + 8], rax
jmp 0x180025e63
mov rdx, qword [r11 + 8]
mov r8, qword [rax + 0x10]
cmp r8, qword [rdx + 0x10]
jne 0x180025e26
mov r10, qword [rdx]
cmp r10, rax
je 0x180025e20
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 0x180025e63
cmp r9, rdx
je 0x180025e3f
nop dword [rax + rax]
mov rdx, qword [rdx + 8]
cmp r8, qword [rdx + 0x10]
je 0x180025e8b
cmp r9, rdx
jne 0x180025e30
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 0x180025d70
mov qword [rsp + 0x20], 0
mov rbx, qword [rsp + 0x60]
mov rbp, qword [rsp + 0x68]
add rsp, 0x30
pop r14
pop rdi
pop rsi
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 0x180025e63
Function at 0x180025ec0
Capabilities:
Hash data using fnv

Disassembly:
mov qword [rsp + 0x18], rbx
mov qword [rsp + 0x20], rbp
push rsi
push rdi
push r14
sub rsp, 0x30
mov rsi, rcx
movabs rax, 0xfffffffffffffff
bsr rcx, rax
mov edi, 1
mov eax, edi
shl rax, cl
cmp rdx, rax
jbe 0x180025f00
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]
or rax, rdi
bsr rcx, rax
inc ecx
shl rdi, cl
mov rbx, qword [rsi + 8]
lea rdx, [rdi + rdi]
mov r8, rbx
lea rcx, [rsi + 0x18]
call fcn.1800214d0
lea rax, [rdi - 1]
mov qword [rsi + 0x30], rax
mov qword [rsi + 0x38], rdi
mov qword [rsp + 0x20], rsi
mov rax, qword [rsi + 8]
mov rax, qword [rax]
mov rcx, rax
cmp rax, rbx
je 0x18002605f
movabs rbp, 0xcbf29ce484222325
movabs rdi, 0x100000001b3
nop dword [rax]
mov rcx, qword [rcx]
movzx r9d, byte [rax + 0x10]
xor r9, rbp
imul r9, rdi
movzx edx, byte [rax + 0x11]
xor r9, rdx
imul r9, rdi
movzx edx, byte [rax + 0x12]
xor r9, rdx
imul r9, rdi
movzx edx, byte [rax + 0x13]
xor r9, rdx
imul r9, rdi
movzx edx, byte [rax + 0x14]
xor r9, rdx
imul r9, rdi
movzx edx, byte [rax + 0x15]
xor r9, rdx
imul r9, rdi
movzx edx, byte [rax + 0x16]
xor r9, rdx
imul r9, rdi
movzx edx, byte [rax + 0x17]
xor r9, rdx
imul r9, rdi
mov r11, qword [rsi + 0x30]
and r11, r9
shl r11, 4
add r11, qword [rsi + 0x18]
mov r9, qword [r11]
cmp r9, rbx
jne 0x180025fdc
mov qword [r11], rax
mov qword [r11 + 8], rax
jmp 0x180026053
mov rdx, qword [r11 + 8]
mov r8, qword [rax + 0x10]
cmp r8, qword [rdx + 0x10]
jne 0x180026019
mov r10, qword [rdx]
cmp r10, rax
je 0x180026013
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 0x180026053
cmp r9, rdx
je 0x18002602f
nop
mov rdx, qword [rdx + 8]
cmp r8, qword [rdx + 0x10]
je 0x18002607b
cmp r9, rdx
jne 0x180026020
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 0x180025f60
mov qword [rsp + 0x20], 0
mov rbx, qword [rsp + 0x60]
mov rbp, qword [rsp + 0x68]
add rsp, 0x30
pop r14
pop rdi
pop rsi
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 0x180026053
Function at 0x18002ecb0
Capabilities:
Hash data using fnv

Disassembly:
mov qword [rsp + 0x18], rbx
mov qword [rsp + 0x20], rbp
push rsi
push rdi
push r14
sub rsp, 0x30
mov rsi, rcx
movabs rax, 0xfffffffffffffff
bsr rcx, rax
mov ebx, 1
mov eax, ebx
shl rax, cl
cmp rdx, rax
jbe 0x18002ecf0
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]
or rax, rbx
bsr rcx, rax
inc ecx
shl rbx, cl
mov rdi, qword [rsi + 8]
lea rdx, [rbx + rbx]
mov r8, rdi
lea rcx, [rsi + 0x18]
call fcn.1800214d0
lea rax, [rbx - 1]
mov qword [rsi + 0x30], rax
mov qword [rsi + 0x38], rbx
mov qword [rsp + 0x20], rsi
mov rcx, qword [rsi + 8]
mov rcx, qword [rcx]
cmp rcx, rdi
je 0x18002ee21
mov rax, rcx
movabs rbp, 0xcbf29ce484222325
movabs rbx, 0x100000001b3
nop dword [rax]
mov rcx, qword [rcx]
movzx r9d, byte [rax + 0x10]
xor r9, rbp
imul r9, rbx
movzx edx, byte [rax + 0x11]
xor r9, rdx
imul r9, rbx
movzx edx, byte [rax + 0x12]
xor r9, rdx
imul r9, rbx
movzx edx, byte [rax + 0x13]
xor r9, rdx
imul r9, rbx
mov r11, qword [rsi + 0x30]
and r11, r9
shl r11, 4
add r11, qword [rsi + 0x18]
mov r9, qword [r11]
cmp r9, rdi
jne 0x18002eda0
mov qword [r11], rax
mov qword [r11 + 8], rax
jmp 0x18002ee15
mov rdx, qword [r11 + 8]
mov r8d, dword [rax + 0x10]
cmp r8d, dword [rdx + 0x10]
jne 0x18002eddd
mov r10, qword [rdx]
cmp r10, rax
je 0x18002edd7
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 0x18002ee15
cmp r9, rdx
je 0x18002edf1
mov rdx, qword [rdx + 8]
cmp r8d, dword [rdx + 0x10]
je 0x18002ee3d
cmp r9, rdx
jne 0x18002ede2
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, rdi
jne 0x18002ed50
mov qword [rsp + 0x20], 0
mov rbx, qword [rsp + 0x60]
mov rbp, qword [rsp + 0x68]
add rsp, 0x30
pop r14
pop rdi
pop rsi
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 0x18002ee15