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

Disassembly:
mov qword [rsp + 0x10], rbx
mov qword [rsp + 0x18], r8
mov qword [rsp + 8], rcx
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
sub rsp, 0x20
movzx edi, byte [r8]
mov r12, rdx
movabs rdx, 0x100000001b3
mov r9, rcx
mov rcx, qword [rcx + 0x50]
movabs rax, 0xcbf29ce484222325
xor rdi, rax
dec rcx
movzx eax, byte [r8 + 1]
xor r13d, r13d
mov r15, qword [r9 + 0x38]
imul rdi, rdx
mov qword [rsp + 0x78], rcx
lea r14, [r13 - 1]
xor rdi, rax
movzx eax, byte [r8 + 2]
imul rdi, rdx
xor rdi, rax
movzx eax, byte [r8 + 3]
imul rdi, rdx
xor rdi, rax
movzx eax, byte [r8 + 4]
imul rdi, rdx
xor rdi, rax
movzx eax, byte [r8 + 5]
imul rdi, rdx
xor rdi, rax
movzx eax, byte [r8 + 6]
imul rdi, rdx
xor rdi, rax
movzx eax, byte [r8 + 7]
imul rdi, rdx
xor rdi, rax
movabs rax, 0xaaaaaaaaaaaaaaab
imul rdi, rdx
and rdi, rcx
mul rdi
movzx r8d, di
mov rbx, rdx
mov edx, 1
shr rbx, 5
movzx eax, bx
mov rsi, rbx
add ax, ax
shl rsi, 4
lea ecx, [rax + rbx]
shl cx, 4
sub r8w, cx
movzx eax, r8w
mov ecx, r8d
shr rax, 3
and ecx, 7
add rax, r15
shl dx, cl
movzx eax, byte [rax + rsi + 0xa]
and dx, ax
je 0x140155a58
movzx ebp, di
nop dword [rax + rax]
cmp qword [r9 + 0x30], 0
je 0x1401559b6
test dx, dx
je 0x1401559b6
lea rcx, [r15 + 0xa]
movzx edx, r8w
add rcx, rsi
call fcn.140160200
mov r9, qword [rsp + 0x60]
movzx ecx, ax
mov rax, qword [r15 + rsi]
shl rcx, 5
mov rcx, qword [rcx + rax]
cmp qword [r9 + 0x28], rcx
jne 0x1401559b6
cmp r14, 0xffffffffffffffff
mov rax, rdi
cmovne rax, r14
mov r14, rax
jmp 0x1401559f3
movzx eax, bx
lea rcx, [r15 + 0xa]
add bx, bx
add rcx, rsi
add ax, bx
shl ax, 4
sub bp, ax
movzx edx, bp
call fcn.140160200
movzx ecx, ax
mov rax, qword [r15 + rsi]
shl rcx, 5
mov rcx, qword [rcx + rax]
mov rax, qword [rsp + 0x70]
cmp qword [rax], rcx
je 0x140155a6d
mov r9, qword [rsp + 0x60]
inc r13
movabs rax, 0xaaaaaaaaaaaaaaab
add rdi, r13
and rdi, qword [rsp + 0x78]
mul rdi
movzx r8d, di
movzx ebp, di
mov rbx, rdx
mov edx, 1
shr rbx, 5
movzx eax, bx
mov rsi, rbx
add ax, ax
shl rsi, 4
lea ecx, [rax + rbx]
shl cx, 4
sub r8w, cx
movzx eax, r8w
mov ecx, r8d
shr rax, 3
and ecx, 7
add rax, r15
shl dx, cl
movzx eax, byte [rax + rsi + 0xa]
and dx, ax
jne 0x140155970
mov qword [r12], 0xffffffffffffffff
cmp r14, 0xffffffffffffffff
jne 0x140155a7c
mov qword [r12 + 8], rdi
jmp 0x140155a81
mov qword [r12], rdi
mov qword [r12 + 8], 0xffffffffffffffff
jmp 0x140155a81
mov qword [r12 + 8], r14
mov rbx, qword [rsp + 0x68]
mov rax, r12
add rsp, 0x20
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret
Function at 0x140165cc0
Capabilities:
Terminate process

Disassembly:
mov qword [rsp + 8], rbx
mov qword [rsp + 0x10], rbp
mov qword [rsp + 0x20], rsi
mov qword [rsp + 0x18], r8
push rdi
push r12
push r13
push r14
push r15
sub rsp, 0x30
movzx ebx, dx
mov rsi, rcx
add rcx, 0xa
movzx edx, bx
call fcn.14012da50
movzx edi, ax
mov r13d, ebx
and r13d, 7
mov r12d, ebx
shr r12, 3
mov edx, 1
mov ecx, r13d
shl dx, cl
test byte [r12 + rsi + 0xa], dl
je 0x140165d31
mov r14d, edi
shl r14, 5
mov rcx, qword [rsi]
add rcx, 8
add rcx, r14
call fcn.14014f820
jmp 0x140165e1f
movzx ebx, word [rsi + 8]
inc bx
movzx ecx, bx
shl rcx, 5
call qword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_malloc]
mov r15, rax
test rax, rax
jne 0x140165d76
movzx ebx, bx
lea ecx, [rax + 2]
call qword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll___acrt_iob_func]
mov rcx, rax
mov r8d, ebx
lea rdx, [0x140272a50]
call fcn.1401693b0
lea ecx, [r15 + 1]
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll_exit]
int3
mov r14, rdi
shl r14, 5
mov rbx, qword [rsi]
lea rbp, [rbx + r14]
mov qword [rsp + 0x20], r15
mov rdi, r15
mov qword [rsp + 0x28], r15
cmp rbx, rbp
je 0x140165dc0
nop word [rax + rax]
mov rdx, rbx
mov rcx, rdi
call fcn.14014d340
add rdi, 0x20
mov qword [rsp + 0x28], rdi
add rbx, 0x20
cmp rbx, rbp
jne 0x140165da0
mov rbx, qword [rsi]
lea rdi, [r15 + 0x20]
add rdi, r14
movzx ebp, word [rsi + 8]
shl rbp, 5
add rbp, rbx
add rbx, r14
mov qword [rsp + 0x20], rdi
mov qword [rsp + 0x28], rdi
cmp rbx, rbp
je 0x140165e01
mov rdx, rbx
mov rcx, rdi
call fcn.14014d340
add rdi, 0x20
mov qword [rsp + 0x28], rdi
add rbx, 0x20
cmp rbx, rbp
jne 0x140165de4
mov rcx, rsi
call fcn.140155aa0
mov qword [rsi], r15
inc word [rsi + 8]
movzx eax, byte [r12 + rsi + 0xa]
bts eax, r13d
mov byte [r12 + rsi + 0xa], al
mov rcx, qword [rsi]
add rcx, r14
mov rdx, qword [rsp + 0x70]
call fcn.14014d340
mov rax, qword [rsi]
add rax, r14
mov rbx, qword [rsp + 0x60]
mov rbp, qword [rsp + 0x68]
mov rsi, qword [rsp + 0x78]
add rsp, 0x30
pop r15
pop r14
pop r13
pop r12
pop rdi
ret
Function at 0x140165e60
Capabilities:
Terminate process

Disassembly:
mov qword [rsp + 8], rbx
mov qword [rsp + 0x10], rbp
mov qword [rsp + 0x20], rsi
mov qword [rsp + 0x18], r8
push rdi
push r12
push r13
push r14
push r15
sub rsp, 0x30
movzx ebx, dx
mov rsi, rcx
add rcx, 0xa
movzx edx, bx
call fcn.140160200
movzx edi, ax
mov r13d, ebx
and r13d, 7
mov r12d, ebx
shr r12, 3
mov edx, 1
mov ecx, r13d
shl dx, cl
test byte [r12 + rsi + 0xa], dl
je 0x140165ed1
mov r14d, edi
shl r14, 5
mov rcx, qword [rsi]
add rcx, 8
add rcx, r14
call fcn.14014f820
jmp 0x140165fbf
movzx ebx, word [rsi + 8]
inc bx
movzx ecx, bx
shl rcx, 5
call qword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_malloc]
mov r15, rax
test rax, rax
jne 0x140165f16
movzx ebx, bx
lea ecx, [rax + 2]
call qword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll___acrt_iob_func]
mov rcx, rax
mov r8d, ebx
lea rdx, [0x140272a50]
call fcn.1401693b0
lea ecx, [r15 + 1]
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll_exit]
int3
mov r14, rdi
shl r14, 5
mov rbx, qword [rsi]
lea rbp, [rbx + r14]
mov qword [rsp + 0x20], r15
mov rdi, r15
mov qword [rsp + 0x28], r15
cmp rbx, rbp
je 0x140165f60
nop word [rax + rax]
mov rdx, rbx
mov rcx, rdi
call fcn.14014d410
add rdi, 0x20
mov qword [rsp + 0x28], rdi
add rbx, 0x20
cmp rbx, rbp
jne 0x140165f40
mov rbx, qword [rsi]
lea rdi, [r15 + 0x20]
add rdi, r14
movzx ebp, word [rsi + 8]
shl rbp, 5
add rbp, rbx
add rbx, r14
mov qword [rsp + 0x20], rdi
mov qword [rsp + 0x28], rdi
cmp rbx, rbp
je 0x140165fa1
mov rdx, rbx
mov rcx, rdi
call fcn.14014d410
add rdi, 0x20
mov qword [rsp + 0x28], rdi
add rbx, 0x20
cmp rbx, rbp
jne 0x140165f84
mov rcx, rsi
call fcn.140155aa0
mov qword [rsi], r15
inc word [rsi + 8]
movzx eax, byte [r12 + rsi + 0xa]
bts eax, r13d
mov byte [r12 + rsi + 0xa], al
mov rcx, qword [rsi]
add rcx, r14
mov rdx, qword [rsp + 0x70]
call fcn.14014d410
mov rax, qword [rsi]
add rax, r14
mov rbx, qword [rsp + 0x60]
mov rbp, qword [rsp + 0x68]
mov rsi, qword [rsp + 0x78]
add rsp, 0x30
pop r15
pop r14
pop r13
pop r12
pop rdi
ret
Function at 0x14016a080
Capabilities:
Hash data using fnv

Disassembly:
mov qword [rsp + 8], rbx
mov qword [rsp + 0x10], rbp
mov qword [rsp + 0x18], rsi
push rdi
push r14
push r15
sub rsp, 0x30
mov rbp, r9
mov r14, r8
mov rsi, rdx
mov rdi, rcx
movabs rax, 0x492492492492492
cmp qword [rcx + 0x10], rax
je 0x14016a2b4
lea r15, [rcx + 8]
mov qword [rsp + 0x20], r15
mov qword [rsp + 0x28], 0
mov ecx, 0x38
call fcn.1401daf30
mov rbx, rax
mov qword [rsp + 0x28], rax
mov edx, dword [r14]
mov dword [rax + 0x10], edx
movups xmm0, xmmword [rbp]
movups xmmword [rax + 0x14], xmm0
movups xmm1, xmmword [rbp + 0x10]
movups xmmword [rax + 0x24], xmm1
mov eax, edx
shr eax, 8
movzx ebp, al
movzx eax, dl
movabs rcx, 0xcbf29ce484222325
xor rax, rcx
movabs r8, 0x100000001b3
imul rax, r8
xor rbp, rax
imul rbp, r8
mov eax, edx
shr eax, 0x10
movzx ecx, al
xor rbp, rcx
imul rbp, r8
shr rdx, 0x18
xor rbp, rdx
imul rbp, r8
mov rcx, qword [rdi + 0x10]
movss xmm3, dword [rdi]
add rcx, 1
xorps xmm1, xmm1
js 0x14016a151
cvtsi2ss xmm1, rcx
jmp 0x14016a166
mov rax, rcx
shr rax, 1
and ecx, 1
or rax, rcx
cvtsi2ss xmm1, rax
addss xmm1, xmm1
mov rdx, qword [rdi + 0x38]
xorps xmm2, xmm2
test rdx, rdx
js 0x14016a179
cvtsi2ss xmm2, rdx
jmp 0x14016a191
mov rcx, rdx
shr rcx, 1
mov rax, rdx
and eax, 1
or rcx, rax
cvtsi2ss xmm2, rcx
addss xmm2, xmm2
movaps xmm0, xmm1
divss xmm0, xmm2
comiss xmm0, xmm3
seta al
test al, al
je 0x14016a20e
divss xmm1, xmm3
xorps xmm0, xmm0
roundss xmm0, xmm1, 2
xor ecx, ecx
movss xmm1, dword [0x140235648]
comiss xmm0, xmm1
jb 0x14016a1d4
subss xmm0, xmm1
comiss xmm0, xmm1
jae 0x14016a1d4
movabs rax, 0x8000000000000000
mov rcx, rax
cvttss2si rax, xmm0
add rax, rcx
mov ecx, 8
cmp rax, rcx
cmova rcx, rax
cmp rdx, rcx
jae 0x14016a206
cmp rdx, 0x200
jae 0x14016a203
lea rdx, [rdx*8]
cmp rdx, rcx
jae 0x14016a206
mov rdx, rcx
mov rcx, rdi
call fcn.14016bec0
mov rcx, qword [rdi + 0x30]
and rcx, rbp
add rcx, rcx
mov r8, qword [rdi + 0x18]
mov rax, qword [r8 + rcx*8 + 8]
mov rdx, qword [r15]
cmp rax, rdx
je 0x14016a246
mov rdx, qword [r8 + rcx*8]
mov ecx, dword [rbx + 0x10]
cmp ecx, dword [rax + 0x10]
je 0x14016a243
cmp rax, rdx
je 0x14016a279
mov rax, qword [rax + 8]
cmp ecx, dword [rax + 0x10]
jne 0x14016a235
mov rdx, qword [rax]
mov r8, qword [rdx + 8]
inc qword [rdi + 0x10]
mov qword [rbx], rdx
mov qword [rbx + 8], r8
mov qword [r8], rbx
mov qword [rdx + 8], rbx
mov rcx, qword [rdi + 0x18]
mov rax, qword [rdi + 0x30]
and rax, rbp
add rax, rax
mov r9, qword [rcx + rax*8]
cmp r9, qword [r15]
jne 0x14016a27e
mov qword [rcx + rax*8], rbx
jmp 0x14016a290
mov rdx, rax
jmp 0x14016a246
cmp r9, rdx
jne 0x14016a289
mov qword [rcx + rax*8], rbx
jmp 0x14016a295
cmp qword [rcx + rax*8 + 8], r8
jne 0x14016a295
mov qword [rcx + rax*8 + 8], rbx
mov qword [rsi], rbx
mov rax, rsi
mov rbx, qword [rsp + 0x50]
mov rbp, qword [rsp + 0x58]
mov rsi, qword [rsp + 0x60]
add rsp, 0x30
pop r15
pop r14
pop rdi
ret
lea rcx, str.unordered_map_set_too_long
call sub.MSVCP140.dll_void___cdecl_std::_Xlength_error_char_const____ptr64_
int3
Function at 0x14016aae0
Capabilities:
Hash data using fnv

Disassembly:
movzx r9d, byte [r8]
mov r10, rcx
movabs rcx, 0x100000001b3
movabs rax, 0xcbf29ce484222325
xor r9, rax
mov r11, rdx
movzx eax, byte [r8 + 1]
imul r9, rcx
xor r9, rax
movzx eax, byte [r8 + 2]
imul r9, rcx
xor r9, rax
movzx eax, byte [r8 + 3]
imul r9, rcx
xor r9, rax
mov rax, qword [r10 + 0x18]
imul r9, rcx
mov rcx, qword [r10 + 0x30]
and rcx, r9
shl rcx, 4
add rax, rcx
mov rcx, qword [r10 + 8]
mov rdx, qword [rax]
cmp rdx, rcx
jne 0x14016ab55
mov rdx, rcx
mov qword [r11], rcx
mov qword [r11 + 8], rcx
mov rax, r11
ret
mov r8d, dword [r8]
mov rax, qword [rax + 8]
cmp dword [rdx + 0x10], r8d
je 0x14016ab70
cmp rdx, rax
je 0x14016ab47
mov rdx, qword [rdx]
cmp dword [rdx + 0x10], r8d
jne 0x14016ab62
mov rcx, qword [rdx]
cmp rdx, rax
je 0x14016ab91
nop dword [rax + rax]
mov r9, rcx
cmp r8d, dword [rcx + 0x10]
jne 0x14016ab91
mov rcx, qword [rcx]
cmp r9, rax
jne 0x14016ab80
mov qword [r11], rdx
mov rax, r11
mov qword [r11 + 8], rcx
ret
Function at 0x14016bec0
Capabilities:
Hash data using fnv

Disassembly:
mov qword [rsp + 0x20], rsi
push rdi
sub rsp, 0x20
movabs rax, 0xfffffffffffffff
mov rsi, rcx
bsr rcx, rax
mov edi, 1
mov eax, edi
shl rax, cl
cmp rdx, rax
ja 0x14016c082
lea rax, [rdx - 1]
mov qword [rsp + 0x30], rbx
mov rbx, qword [rsi + 8]
or rax, rdi
bsr rcx, rax
mov r8, rbx
mov qword [rsp + 0x40], r14
inc ecx
shl rdi, cl
lea rcx, [rsi + 0x18]
lea rdx, [rdi + rdi]
call fcn.1400525d0
mov qword [rsi + 0x38], rdi
lea rax, [rdi - 1]
mov qword [rsi + 0x30], rax
mov rcx, qword [rsi + 8]
mov rcx, qword [rcx]
mov rdx, rcx
cmp rcx, rbx
je 0x14016c047
mov qword [rsp + 0x38], rbp
movabs rdi, 0x100000001b3
movabs rbp, 0xcbf29ce484222325
nop dword [rax]
nop dword [rax + rax]
movzx eax, byte [rcx + 0x11]
movzx r9d, byte [rcx + 0x10]
mov r11, qword [rsi + 0x30]
xor r9, rbp
mov rdx, qword [rdx]
imul r9, rdi
xor r9, rax
movzx eax, byte [rcx + 0x12]
imul r9, rdi
xor r9, rax
movzx eax, byte [rcx + 0x13]
imul r9, rdi
xor r9, rax
imul r9, rdi
and r11, r9
shl r11, 4
add r11, qword [rsi + 0x18]
mov r10, qword [r11]
cmp r10, rbx
jne 0x14016bfb3
mov qword [r11], rcx
mov qword [r11 + 8], rcx
jmp 0x14016c036
mov rax, qword [r11 + 8]
mov r9d, dword [rcx + 0x10]
cmp r9d, dword [rax + 0x10]
jne 0x14016bff0
mov r10, qword [rax]
cmp r10, rcx
je 0x14016bfea
mov r9, qword [rcx + 8]
mov qword [r9], rdx
mov r8, qword [rdx + 8]
mov qword [r8], r10
mov rax, qword [r10 + 8]
mov qword [rax], rcx
mov qword [r10 + 8], r8
mov qword [rdx + 8], r9
mov qword [rcx + 8], rax
mov qword [r11 + 8], rcx
jmp 0x14016c036
mov r8, rax
cmp r10, rax
je 0x14016c012
nop dword [rax + rax]
mov rax, qword [rax + 8]
mov r8, rax
cmp r9d, dword [rax + 0x10]
je 0x14016c05c
cmp r10, rax
jne 0x14016c000
mov r10, qword [rcx + 8]
mov qword [r10], rdx
mov r9, qword [rdx + 8]
mov qword [r9], r8
mov rax, qword [r8 + 8]
mov qword [rax], rcx
mov qword [r8 + 8], r9
mov qword [rdx + 8], r10
mov qword [rcx + 8], rax
mov qword [r11], rcx
mov rcx, rdx
cmp rdx, rbx
jne 0x14016bf60
mov rbp, qword [rsp + 0x38]
mov rbx, qword [rsp + 0x30]
mov r14, qword [rsp + 0x40]
mov rsi, qword [rsp + 0x48]
add rsp, 0x20
pop rdi
ret
mov r10, qword [rax]
mov r9, qword [rcx + 8]
mov qword [r9], rdx
mov r8, qword [rdx + 8]
mov qword [r8], r10
mov rax, qword [r10 + 8]
mov qword [rax], rcx
mov qword [r10 + 8], r8
mov qword [rdx + 8], r9
mov qword [rcx + 8], rax
jmp 0x14016c036
lea rcx, str.invalid_hash_bucket_count
call sub.MSVCP140.dll_void___cdecl_std::_Xlength_error_char_const____ptr64_
int3
Function at 0x14016c260
Capabilities:
Hash data using fnv

Disassembly:
mov rdx, qword [rcx + 0x10]
mov r9, rcx
add rdx, 1
mov r8, qword [rcx + 0x38]
xorps xmm0, xmm0
js 0x14016c27b
cvtsi2ss xmm0, rdx
jmp 0x14016c290
mov rax, rdx
and edx, 1
shr rax, 1
or rax, rdx
cvtsi2ss xmm0, rax
addss xmm0, xmm0
divss xmm0, dword [rcx]
xor ecx, ecx
xorps xmm1, xmm1
roundss xmm1, xmm0, 2
movss xmm0, dword [0x140235648]
comiss xmm1, xmm0
jb 0x14016c2c2
subss xmm1, xmm0
comiss xmm1, xmm0
jae 0x14016c2c2
movabs rax, 0x8000000000000000
mov rcx, rax
cvttss2si rax, xmm1
add rax, rcx
mov ecx, 8
cmp rax, rcx
cmova rcx, rax
cmp r8, rcx
jae 0x14016c2f4
cmp r8, 0x200
jae 0x14016c2f1
lea r8, [r8*8]
cmp r8, rcx
jae 0x14016c2f4
mov r8, rcx
mov rdx, r8
mov rcx, r9
jmp fcn.14016bec0
Function at 0x14016c310
Capabilities:
Hash data using fnv

Disassembly:
push rbp
push rsi
push r14
sub rsp, 0x40
mov rbp, r8
mov r14, rdx
mov rsi, rcx
cmp rdx, r8
je 0x14016c40e
mov rdx, qword [rcx + 0x18]
movabs r8, 0x100000001b3
mov qword [rsp + 0x60], rbx
movabs rax, 0xcbf29ce484222325
mov qword [rsp + 0x38], rdi
mov rbx, r14
mov qword [rsp + 0x30], r12
mov r12, qword [rcx + 8]
movzx ecx, byte [r14 + 0x10]
xor rcx, rax
mov qword [rsp + 0x28], r13
movzx eax, byte [r14 + 0x11]
mov r13, qword [r14 + 8]
imul rcx, r8
mov qword [rsp + 0x20], r15
mov r15, qword [rsi + 0x30]
xor rcx, rax
movzx eax, byte [r14 + 0x12]
imul rcx, r8
mov qword [rsp + 0x78], rdx
xor rcx, rax
movzx eax, byte [r14 + 0x13]
imul rcx, r8
xor rcx, rax
imul rcx, r8
and r15, rcx
shl r15, 4
add r15, rdx
mov rax, qword [r15]
mov qword [rsp + 0x68], rax
mov rax, qword [r15 + 8]
mov qword [rsp + 0x70], rax
nop dword [rax + rax]
mov rcx, rbx
mov rdi, rbx
mov rbx, qword [rbx]
mov edx, 0x20
call fcn.1401daefc
dec qword [rsi + 0x10]
cmp rdi, qword [rsp + 0x70]
je 0x14016c41a
cmp rbx, rbp
jne 0x14016c3c0
cmp qword [rsp + 0x68], r14
jne 0x14016c3ed
mov qword [r15], rbx
mov r12, qword [rsp + 0x30]
mov rdi, qword [rsp + 0x38]
mov r15, qword [rsp + 0x20]
mov qword [r13], rbx
mov qword [rbx + 8], r13
mov r13, qword [rsp + 0x28]
mov rbx, qword [rsp + 0x60]
mov rax, rbp
add rsp, 0x40
pop r14
pop rsi
pop rbp
ret
cmp qword [rsp + 0x68], r14
jne 0x14016c429
mov qword [r15], r12
mov rax, r12
jmp 0x14016c42c
mov rax, r13
mov qword [r15 + 8], rax
cmp rbx, rbp
je 0x14016c3ed
nop word [rax + rax]
movzx ecx, byte [rbx + 0x10]
movabs rdx, 0x100000001b3
mov r15, qword [rsi + 0x30]
movabs rax, 0xcbf29ce484222325
xor rcx, rax
movzx eax, byte [rbx + 0x11]
imul rcx, rdx
xor rcx, rax
movzx eax, byte [rbx + 0x12]
imul rcx, rdx
xor rcx, rax
movzx eax, byte [rbx + 0x13]
imul rcx, rdx
xor rcx, rax
imul rcx, rdx
and r15, rcx
shl r15, 4
add r15, qword [rsp + 0x78]
mov r14, qword [r15 + 8]
nop dword [rax]
nop dword [rax + rax]
mov rcx, rbx
mov rdi, rbx
mov rbx, qword [rbx]
mov edx, 0x20
call fcn.1401daefc
dec qword [rsi + 0x10]
cmp rdi, r14
je 0x14016c4c6
cmp rbx, rbp
jne 0x14016c4a0
jmp 0x14016c3ea
mov qword [r15], r12
mov qword [r15 + 8], r12
cmp rbx, rbp
jne 0x14016c440
jmp 0x14016c3ed
push rdi
sub rsp, 0x20
mov rdi, rcx
mov rcx, qword [rcx + 0x10]
test rcx, rcx
je 0x14016caac
mov rax, qword [rdi + 0x38]
shr rax, 3
cmp rax, rcx
jbe 0x14016ca3a
mov rdx, qword [rdi + 8]
mov rcx, rdi
mov r8, rdx
mov rdx, qword [rdx]
add rsp, 0x20
pop rdi
jmp 0x14016c310
mov rcx, qword [rdi + 8]
mov rax, qword [rcx + 8]
mov qword [rax], 0
mov rcx, qword [rcx]
test rcx, rcx
je 0x14016ca7a
mov qword [rsp + 0x38], rbx
nop word [rax + rax]
mov rbx, qword [rcx]
mov edx, 0x20
call fcn.1401daefc
mov rcx, rbx
test rbx, rbx
jne 0x14016ca60
mov rbx, qword [rsp + 0x38]
mov rax, qword [rdi + 8]
lea r8, [rsp + 0x30]
mov qword [rax], rax
mov rax, qword [rdi + 8]
mov qword [rax + 8], rax
mov qword [rdi + 0x10], 0
mov rax, qword [rdi + 8]
mov rdx, qword [rdi + 0x20]
mov rcx, qword [rdi + 0x18]
mov qword [rsp + 0x30], rax
call fcn.14004f0b0
add rsp, 0x20
pop rdi
ret
Function at 0x14016ca00
Capabilities:
Hash data using fnv

Disassembly:
push rbp
push rsi
push r14
sub rsp, 0x40
mov rbp, r8
mov r14, rdx
mov rsi, rcx
cmp rdx, r8
je 0x14016c40e
mov rdx, qword [rcx + 0x18]
movabs r8, 0x100000001b3
mov qword [rsp + 0x60], rbx
movabs rax, 0xcbf29ce484222325
mov qword [rsp + 0x38], rdi
mov rbx, r14
mov qword [rsp + 0x30], r12
mov r12, qword [rcx + 8]
movzx ecx, byte [r14 + 0x10]
xor rcx, rax
mov qword [rsp + 0x28], r13
movzx eax, byte [r14 + 0x11]
mov r13, qword [r14 + 8]
imul rcx, r8
mov qword [rsp + 0x20], r15
mov r15, qword [rsi + 0x30]
xor rcx, rax
movzx eax, byte [r14 + 0x12]
imul rcx, r8
mov qword [rsp + 0x78], rdx
xor rcx, rax
movzx eax, byte [r14 + 0x13]
imul rcx, r8
xor rcx, rax
imul rcx, r8
and r15, rcx
shl r15, 4
add r15, rdx
mov rax, qword [r15]
mov qword [rsp + 0x68], rax
mov rax, qword [r15 + 8]
mov qword [rsp + 0x70], rax
nop dword [rax + rax]
mov rcx, rbx
mov rdi, rbx
mov rbx, qword [rbx]
mov edx, 0x20
call fcn.1401daefc
dec qword [rsi + 0x10]
cmp rdi, qword [rsp + 0x70]
je 0x14016c41a
cmp rbx, rbp
jne 0x14016c3c0
cmp qword [rsp + 0x68], r14
jne 0x14016c3ed
mov qword [r15], rbx
mov r12, qword [rsp + 0x30]
mov rdi, qword [rsp + 0x38]
mov r15, qword [rsp + 0x20]
mov qword [r13], rbx
mov qword [rbx + 8], r13
mov r13, qword [rsp + 0x28]
mov rbx, qword [rsp + 0x60]
mov rax, rbp
add rsp, 0x40
pop r14
pop rsi
pop rbp
ret
cmp qword [rsp + 0x68], r14
jne 0x14016c429
mov qword [r15], r12
mov rax, r12
jmp 0x14016c42c
mov rax, r13
mov qword [r15 + 8], rax
cmp rbx, rbp
je 0x14016c3ed
nop word [rax + rax]
movzx ecx, byte [rbx + 0x10]
movabs rdx, 0x100000001b3
mov r15, qword [rsi + 0x30]
movabs rax, 0xcbf29ce484222325
xor rcx, rax
movzx eax, byte [rbx + 0x11]
imul rcx, rdx
xor rcx, rax
movzx eax, byte [rbx + 0x12]
imul rcx, rdx
xor rcx, rax
movzx eax, byte [rbx + 0x13]
imul rcx, rdx
xor rcx, rax
imul rcx, rdx
and r15, rcx
shl r15, 4
add r15, qword [rsp + 0x78]
mov r14, qword [r15 + 8]
nop dword [rax]
nop dword [rax + rax]
mov rcx, rbx
mov rdi, rbx
mov rbx, qword [rbx]
mov edx, 0x20
call fcn.1401daefc
dec qword [rsi + 0x10]
cmp rdi, r14
je 0x14016c4c6
cmp rbx, rbp
jne 0x14016c4a0
jmp 0x14016c3ea
mov qword [r15], r12
mov qword [r15 + 8], r12
cmp rbx, rbp
jne 0x14016c440
jmp 0x14016c3ed
push rdi
sub rsp, 0x20
mov rdi, rcx
mov rcx, qword [rcx + 0x10]
test rcx, rcx
je 0x14016caac
mov rax, qword [rdi + 0x38]
shr rax, 3
cmp rax, rcx
jbe 0x14016ca3a
mov rdx, qword [rdi + 8]
mov rcx, rdi
mov r8, rdx
mov rdx, qword [rdx]
add rsp, 0x20
pop rdi
jmp 0x14016c310
mov rcx, qword [rdi + 8]
mov rax, qword [rcx + 8]
mov qword [rax], 0
mov rcx, qword [rcx]
test rcx, rcx
je 0x14016ca7a
mov qword [rsp + 0x38], rbx
nop word [rax + rax]
mov rbx, qword [rcx]
mov edx, 0x20
call fcn.1401daefc
mov rcx, rbx
test rbx, rbx
jne 0x14016ca60
mov rbx, qword [rsp + 0x38]
mov rax, qword [rdi + 8]
lea r8, [rsp + 0x30]
mov qword [rax], rax
mov rax, qword [rdi + 8]
mov qword [rax + 8], rax
mov qword [rdi + 0x10], 0
mov rax, qword [rdi + 8]
mov rdx, qword [rdi + 0x20]
mov rcx, qword [rdi + 0x18]
mov qword [rsp + 0x30], rax
call fcn.14004f0b0
add rsp, 0x20
pop rdi
ret
Function at 0x14016cc10
Capabilities:
Hash data using fnv

Disassembly:
cmp byte [rcx + 0x48], 0
jne fcn.14016ca00
ret

Function at 0x14016cd60
Capabilities:
Hash data using fnv

Disassembly:
sub rsp, 8
cmp byte [rcx + 0x48], 0
mov r11, r8
mov r10, rcx
je 0x14016ce18
movabs rax, 0xcbf29ce484222325
mov qword [rsp], rbx
movabs rbx, 0x100000001b3
movzx r9d, dl
xor r9, rax
mov eax, edx
imul r9, rbx
shr eax, 8
movzx r8d, al
mov eax, edx
xor r9, r8
shr eax, 0x10
mov r8, qword [r10 + 8]
imul r9, rbx
movzx ecx, al
xor r9, rcx
mov eax, edx
mov rcx, qword [r10 + 0x30]
imul r9, rbx
shr rax, 0x18
xor r9, rax
imul r9, rbx
mov rbx, qword [rsp]
and rcx, r9
shl rcx, 4
add rcx, qword [r10 + 0x18]
mov rax, qword [rcx + 8]
cmp rax, r8
je 0x14016ce18
mov rcx, qword [rcx]
cmp edx, dword [rax + 0x10]
je 0x14016cdfe
nop dword [rax + rax]
cmp rax, rcx
je 0x14016ce18
mov rax, qword [rax + 8]
cmp edx, dword [rax + 0x10]
jne 0x14016cdf0
test rax, rax
cmove rax, r8
cmp rax, r8
je 0x14016ce18
mov rcx, qword [rax + 0x18]
mov al, 1
mov qword [r11], rcx
add rsp, 8
ret
xor al, al
add rsp, 8
ret
Function at 0x14016d690
Capabilities:
Hash data using fnv

Disassembly:
mov qword [rsp + 0x10], rbx
mov qword [rsp + 0x18], rbp
push rsi
push rdi
push r14
sub rsp, 0x40
mov rsi, rcx
cmp byte [rcx + 0x48], 0
je 0x14016d888
mov rcx, qword [rdx + 0x108]
test rcx, rcx
je 0x14016d89d
lea rdx, [rsp + 0x60]
call fcn.140137140
test rax, rax
je 0x14016d89d
mov edi, dword [rax]
mov rax, qword [rsi + 0x10]
dec rax
cmp rdi, rax
jne 0x14016d888
movzx edx, dil
movabs r14, 0xcbf29ce484222325
xor rdx, r14
movabs rbp, 0x100000001b3
imul rdx, rbp
mov eax, edi
shr eax, 8
movzx ecx, al
xor rdx, rcx
imul rdx, rbp
mov eax, edi
shr eax, 0x10
movzx ecx, al
xor rdx, rcx
imul rdx, rbp
mov eax, edi
shr rax, 0x18
xor rdx, rax
imul rdx, rbp
mov r9, qword [rsi + 0x30]
mov rax, r9
and rax, rdx
mov r10, qword [rsi + 0x18]
add rax, rax
mov rcx, qword [r10 + rax*8 + 8]
mov r8, qword [rsi + 8]
xor ebx, ebx
cmp rcx, r8
je 0x14016d768
mov rax, qword [r10 + rax*8]
cmp edi, dword [rcx + 0x10]
je 0x14016d76b
cmp rcx, rax
je 0x14016d768
mov rcx, qword [rcx + 8]
cmp edi, dword [rcx + 0x10]
jne 0x14016d758
jmp 0x14016d76b
mov rcx, rbx
test rcx, rcx
cmove rcx, r8
movzx edx, byte [rcx + 0x10]
xor rdx, r14
imul rdx, rbp
movzx eax, byte [rcx + 0x11]
xor rdx, rax
imul rdx, rbp
movzx eax, byte [rcx + 0x12]
xor rdx, rax
imul rdx, rbp
movzx eax, byte [rcx + 0x13]
xor rdx, rax
imul rdx, rbp
and rdx, r9
add rdx, rdx
mov rax, qword [r10 + rdx*8]
cmp qword [r10 + rdx*8 + 8], rcx
jne 0x14016d7ca
cmp rax, rcx
jne 0x14016d7bf
mov qword [r10 + rdx*8], r8
mov qword [r10 + rdx*8 + 8], r8
jmp 0x14016d7d6
mov r8, qword [rcx + 8]
mov qword [r10 + rdx*8 + 8], r8
jmp 0x14016d7d6
cmp rax, rcx
jne 0x14016d7d6
mov rax, qword [rcx]
mov qword [r10 + rdx*8], rax
mov rdx, qword [rcx]
dec qword [rsi + 0x10]
mov rax, qword [rcx + 8]
mov qword [rax], rdx
mov rax, qword [rcx + 8]
mov qword [rdx + 8], rax
mov edx, 0x20
call fcn.1401daefc
test edi, edi
je 0x14016d880
lea r8d, [rdi - 1]
mov r9d, r8d
movzx edx, r8b
xor rdx, r14
imul rdx, rbp
mov eax, r8d
shr eax, 8
movzx ecx, al
xor rdx, rcx
imul rdx, rbp
mov eax, r8d
shr eax, 0x10
movzx ecx, al
xor rdx, rcx
imul rdx, rbp
mov eax, r8d
shr rax, 0x18
xor rdx, rax
imul rdx, rbp
mov rcx, qword [rsi + 0x30]
and rcx, rdx
shl rcx, 4
add rcx, qword [rsi + 0x18]
mov rax, qword [rcx + 8]
mov rdx, qword [rsi + 8]
cmp rax, rdx
je 0x14016d875
mov rcx, qword [rcx]
cmp r9d, dword [rax + 0x10]
je 0x14016d872
cmp rax, rcx
je 0x14016d875
mov rax, qword [rax + 8]
cmp r8d, dword [rax + 0x10]
jne 0x14016d863
mov rbx, rax
test rbx, rbx
cmove rbx, rdx
mov rbx, qword [rbx + 0x18]
mov qword [rsi + 0x40], rbx
mov al, 1
jmp 0x14016d88a
xor al, al
mov rbx, qword [rsp + 0x68]
mov rbp, qword [rsp + 0x70]
add rsp, 0x40
pop r14
pop rdi
pop rsi
ret
xorps xmm0, xmm0
xor eax, eax
movups xmmword [rsp + 0x20], xmm0
mov qword [rsp + 0x30], rax
lea rcx, [rsp + 0x20]
call fcn.1400102c0
nop
mov rcx, rax
call fcn.14000f8f0
int3