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

Disassembly:
mov qword [rsp + 8], rbx
mov qword [rsp + 0x10], rbp
mov qword [rsp + 0x18], rsi
push rdi
push r12
push r13
push r14
push r15
sub rsp, 0x30
mov r12, r8
mov rsi, rdx
mov r14, rcx
xor edx, edx
movabs r15, 0xcbf29ce484222325
movzx eax, byte [rdx + r8]
xor r15, rax
movabs rcx, 0x100000001b3
imul r15, rcx
inc rdx
cmp rdx, 8
jb 0x18002a0b5
mov rax, qword [r14 + 0x30]
and rax, r15
add rax, rax
mov rcx, qword [r14 + 0x18]
mov rbx, qword [rcx + rax*8 + 8]
lea r13, [r14 + 8]
mov rbp, qword [r13]
cmp rbx, rbp
jne 0x18002a14b
mov rbx, rbp
movabs rax, 0x7ffffffffffffff
cmp qword [r14 + 0x10], rax
je 0x18002a2b2
mov qword [rsp + 0x20], r13
and qword [rsp + 0x28], 0
mov ecx, 0x20
call fcn.1800017b8
mov rdi, rax
mov qword [rsp + 0x28], rax
mov rcx, qword [r12]
mov qword [rax + 0x10], rcx
xor r12d, r12d
mov qword [rax + 0x18], r12
mov rcx, qword [r14 + 0x10]
add rcx, 1
xorps xmm0, xmm0
js 0x18002a184
cvtsi2ss xmm0, rcx
jmp 0x18002a199
mov rdx, qword [rcx + rax*8]
mov rax, qword [r8]
jmp 0x18002a15d
cmp rbx, rdx
je 0x18002a17d
mov rbx, qword [rbx + 8]
cmp rax, qword [rbx + 0x10]
jne 0x18002a154
mov rbp, qword [rbx]
mov rax, rbx
mov rbx, rbp
test rax, rax
je 0x18002a0f7
mov qword [rsi], rax
mov byte [rsi + 8], 0
jmp 0x18002a292
mov rbp, rbx
xor eax, eax
jmp 0x18002a16c
mov rax, rcx
shr rax, 1
and ecx, 1
or rax, rcx
cvtsi2ss xmm0, rax
addss xmm0, xmm0
mov rcx, qword [r14 + 0x38]
xorps xmm1, xmm1
test rcx, rcx
js 0x18002a1ac
cvtsi2ss xmm1, rcx
jmp 0x18002a1c1
mov rax, rcx
shr rax, 1
and ecx, 1
or rax, rcx
cvtsi2ss xmm1, rax
addss xmm1, xmm1
divss xmm0, xmm1
comiss xmm0, dword [r14]
seta al
test al, al
je 0x18002a234
mov rcx, r14
call fcn.18002af40
mov rcx, qword [r14 + 0x30]
and rcx, r15
add rcx, rcx
mov rdx, qword [r14 + 0x18]
mov rax, qword [rdx + rcx*8 + 8]
mov rbx, qword [r13]
cmp rax, rbx
jne 0x18002a1fb
mov qword [rsp + 0x28], r12
jmp 0x18002a21f
mov r8, qword [rdx + rcx*8]
mov rcx, qword [rdi + 0x10]
jmp 0x18002a211
mov rbx, rax
cmp rax, r8
je 0x18002a268
mov rax, qword [rax + 8]
cmp rcx, qword [rax + 0x10]
jne 0x18002a205
mov rbx, qword [rax]
mov qword [rsp + 0x28], rax
mov qword [rsp + 0x20], rbx
movaps xmm0, xmmword [rsp + 0x20]
movdqa xmmword [rsp + 0x20], xmm0
mov rbp, qword [rsp + 0x20]
mov rdx, qword [rbx + 8]
inc qword [r14 + 0x10]
mov qword [rdi], rbp
mov qword [rdi + 8], rdx
mov qword [rdx], rdi
mov qword [rbx + 8], rdi
mov rcx, qword [r14 + 0x18]
mov rax, qword [r14 + 0x30]
and rax, r15
add rax, rax
mov r8, qword [rcx + rax*8]
cmp r8, qword [r13]
jne 0x18002a274
mov qword [rcx + rax*8], rdi
jmp 0x18002a286
mov qword [rsp + 0x20], rax
mov qword [rsp + 0x28], r12
jmp 0x18002a224
cmp r8, rbp
jne 0x18002a27f
mov qword [rcx + rax*8], rdi
jmp 0x18002a28b
cmp qword [rcx + rax*8 + 8], rdx
jne 0x18002a28b
mov qword [rcx + rax*8 + 8], rdi
mov qword [rsi], rdi
mov byte [rsi + 8], 1
mov rax, rsi
mov rbx, qword [rsp + 0x60]
mov rbp, qword [rsp + 0x68]
mov rsi, qword [rsp + 0x70]
add rsp, 0x30
pop r15
pop r14
pop r13
pop r12
pop rdi
ret
lea rcx, str.unordered_map_set_too_long
call fcn.18003e5e4
int3
Function at 0x18002a2c8
Capabilities:
Encode data using xor
Hash data using fnv

Disassembly:
mov qword [rsp + 8], rbx
mov qword [rsp + 0x10], rbp
mov qword [rsp + 0x18], rsi
push rdi
push r12
push r13
push r14
push r15
sub rsp, 0x30
mov r12, r8
mov rsi, rdx
mov r14, rcx
xor edx, edx
movabs r15, 0xcbf29ce484222325
movzx eax, byte [rdx + r8]
xor r15, rax
movabs rcx, 0x100000001b3
imul r15, rcx
inc rdx
cmp rdx, 8
jb 0x18002a2f9
mov rax, qword [r14 + 0x30]
and rax, r15
add rax, rax
mov rcx, qword [r14 + 0x18]
mov rbx, qword [rcx + rax*8 + 8]
lea r13, [r14 + 8]
mov rbp, qword [r13]
cmp rbx, rbp
jne 0x18002a38f
mov rbx, rbp
movabs rax, 0x7ffffffffffffff
cmp qword [r14 + 0x10], rax
je 0x18002a4f6
mov qword [rsp + 0x20], r13
and qword [rsp + 0x28], 0
mov ecx, 0x20
call fcn.1800017b8
mov rdi, rax
mov qword [rsp + 0x28], rax
mov rcx, qword [r12]
mov qword [rax + 0x10], rcx
xor r12d, r12d
mov dword [rax + 0x18], r12d
mov rcx, qword [r14 + 0x10]
add rcx, 1
xorps xmm0, xmm0
js 0x18002a3c8
cvtsi2ss xmm0, rcx
jmp 0x18002a3dd
mov rdx, qword [rcx + rax*8]
mov rax, qword [r8]
jmp 0x18002a3a1
cmp rbx, rdx
je 0x18002a3c1
mov rbx, qword [rbx + 8]
cmp rax, qword [rbx + 0x10]
jne 0x18002a398
mov rbp, qword [rbx]
mov rax, rbx
mov rbx, rbp
test rax, rax
je 0x18002a33b
mov qword [rsi], rax
mov byte [rsi + 8], 0
jmp 0x18002a4d6
mov rbp, rbx
xor eax, eax
jmp 0x18002a3b0
mov rax, rcx
shr rax, 1
and ecx, 1
or rax, rcx
cvtsi2ss xmm0, rax
addss xmm0, xmm0
mov rcx, qword [r14 + 0x38]
xorps xmm1, xmm1
test rcx, rcx
js 0x18002a3f0
cvtsi2ss xmm1, rcx
jmp 0x18002a405
mov rax, rcx
shr rax, 1
and ecx, 1
or rax, rcx
cvtsi2ss xmm1, rax
addss xmm1, xmm1
divss xmm0, xmm1
comiss xmm0, dword [r14]
seta al
test al, al
je 0x18002a478
mov rcx, r14
call fcn.18002af40
mov rcx, qword [r14 + 0x30]
and rcx, r15
add rcx, rcx
mov rdx, qword [r14 + 0x18]
mov rax, qword [rdx + rcx*8 + 8]
mov rbx, qword [r13]
cmp rax, rbx
jne 0x18002a43f
mov qword [rsp + 0x28], r12
jmp 0x18002a463
mov rdx, qword [rdx + rcx*8]
mov rcx, qword [rdi + 0x10]
jmp 0x18002a455
mov rbx, rax
cmp rax, rdx
je 0x18002a4ac
mov rax, qword [rax + 8]
cmp rcx, qword [rax + 0x10]
jne 0x18002a449
mov rbx, qword [rax]
mov qword [rsp + 0x28], rax
mov qword [rsp + 0x20], rbx
movaps xmm0, xmmword [rsp + 0x20]
movdqa xmmword [rsp + 0x20], xmm0
mov rbp, qword [rsp + 0x20]
mov rdx, qword [rbx + 8]
inc qword [r14 + 0x10]
mov qword [rdi], rbp
mov qword [rdi + 8], rdx
mov qword [rdx], rdi
mov qword [rbx + 8], rdi
mov rcx, qword [r14 + 0x18]
mov rax, qword [r14 + 0x30]
and rax, r15
add rax, rax
mov r8, qword [rcx + rax*8]
cmp r8, qword [r13]
jne 0x18002a4b8
mov qword [rcx + rax*8], rdi
jmp 0x18002a4ca
mov qword [rsp + 0x20], rax
mov qword [rsp + 0x28], r12
jmp 0x18002a468
cmp r8, rbp
jne 0x18002a4c3
mov qword [rcx + rax*8], rdi
jmp 0x18002a4cf
cmp qword [rcx + rax*8 + 8], rdx
jne 0x18002a4cf
mov qword [rcx + rax*8 + 8], rdi
mov qword [rsi], rdi
mov byte [rsi + 8], 1
mov rax, rsi
mov rbx, qword [rsp + 0x60]
mov rbp, qword [rsp + 0x68]
mov rsi, qword [rsp + 0x70]
add rsp, 0x30
pop r15
pop r14
pop r13
pop r12
pop rdi
ret
lea rcx, str.unordered_map_set_too_long
call fcn.18003e5e4
int3
Function at 0x18002a50c
Capabilities:
Encode data using xor
Hash data using fnv

Disassembly:
mov qword [rsp + 8], rbx
mov qword [rsp + 0x10], rbp
mov qword [rsp + 0x18], rsi
push rdi
push r12
push r13
push r14
push r15
sub rsp, 0x30
mov r12, r8
mov rsi, rdx
mov r14, rcx
xor edx, edx
movabs r15, 0xcbf29ce484222325
movzx eax, byte [rdx + r8]
xor r15, rax
movabs rcx, 0x100000001b3
imul r15, rcx
inc rdx
cmp rdx, 4
jb 0x18002a53d
mov rax, qword [r14 + 0x30]
and rax, r15
add rax, rax
mov rcx, qword [r14 + 0x18]
mov rbx, qword [rcx + rax*8 + 8]
lea r13, [r14 + 8]
mov rbp, qword [r13]
cmp rbx, rbp
jne 0x18002a5d2
mov rbx, rbp
movabs rax, 0xaaaaaaaaaaaaaaa
cmp qword [r14 + 0x10], rax
je 0x18002a736
mov qword [rsp + 0x20], r13
and qword [rsp + 0x28], 0
mov ecx, 0x18
call fcn.1800017b8
mov rdi, rax
mov qword [rsp + 0x28], rax
mov ecx, dword [r12]
mov dword [rax + 0x10], ecx
xor r12d, r12d
mov byte [rax + 0x14], r12b
mov rcx, qword [r14 + 0x10]
add rcx, 1
xorps xmm0, xmm0
js 0x18002a60a
cvtsi2ss xmm0, rcx
jmp 0x18002a61f
mov rdx, qword [rcx + rax*8]
mov eax, dword [r8]
jmp 0x18002a5e4
cmp rbx, rdx
je 0x18002a603
mov rbx, qword [rbx + 8]
cmp eax, dword [rbx + 0x10]
jne 0x18002a5db
mov rbp, qword [rbx]
mov rax, rbx
mov rbx, rbp
test rax, rax
je 0x18002a57f
mov qword [rsi], rax
mov byte [rsi + 8], 0
jmp 0x18002a716
mov rbp, rbx
xor eax, eax
jmp 0x18002a5f2
mov rax, rcx
shr rax, 1
and ecx, 1
or rax, rcx
cvtsi2ss xmm0, rax
addss xmm0, xmm0
mov rcx, qword [r14 + 0x38]
xorps xmm1, xmm1
test rcx, rcx
js 0x18002a632
cvtsi2ss xmm1, rcx
jmp 0x18002a647
mov rax, rcx
shr rax, 1
and ecx, 1
or rax, rcx
cvtsi2ss xmm1, rax
addss xmm1, xmm1
divss xmm0, xmm1
comiss xmm0, dword [r14]
seta al
test al, al
je 0x18002a6b8
mov rcx, r14
call fcn.18002b894
mov rcx, qword [r14 + 0x30]
and rcx, r15
add rcx, rcx
mov rdx, qword [r14 + 0x18]
mov rax, qword [rdx + rcx*8 + 8]
mov rbx, qword [r13]
cmp rax, rbx
jne 0x18002a681
mov qword [rsp + 0x28], r12
jmp 0x18002a6a3
mov rdx, qword [rdx + rcx*8]
mov ecx, dword [rdi + 0x10]
jmp 0x18002a696
mov rbx, rax
cmp rax, rdx
je 0x18002a6ec
mov rax, qword [rax + 8]
cmp ecx, dword [rax + 0x10]
jne 0x18002a68a
mov rbx, qword [rax]
mov qword [rsp + 0x28], rax
mov qword [rsp + 0x20], rbx
movaps xmm0, xmmword [rsp + 0x20]
movdqa xmmword [rsp + 0x20], xmm0
mov rbp, qword [rsp + 0x20]
mov rdx, qword [rbx + 8]
inc qword [r14 + 0x10]
mov qword [rdi], rbp
mov qword [rdi + 8], rdx
mov qword [rdx], rdi
mov qword [rbx + 8], rdi
mov rcx, qword [r14 + 0x18]
mov rax, qword [r14 + 0x30]
and rax, r15
add rax, rax
mov r8, qword [rcx + rax*8]
cmp r8, qword [r13]
jne 0x18002a6f8
mov qword [rcx + rax*8], rdi
jmp 0x18002a70a
mov qword [rsp + 0x20], rax
mov qword [rsp + 0x28], r12
jmp 0x18002a6a8
cmp r8, rbp
jne 0x18002a703
mov qword [rcx + rax*8], rdi
jmp 0x18002a70f
cmp qword [rcx + rax*8 + 8], rdx
jne 0x18002a70f
mov qword [rcx + rax*8 + 8], rdi
mov qword [rsi], rdi
mov byte [rsi + 8], 1
mov rax, rsi
mov rbx, qword [rsp + 0x60]
mov rbp, qword [rsp + 0x68]
mov rsi, qword [rsp + 0x70]
add rsp, 0x30
pop r15
pop r14
pop r13
pop r12
pop rdi
ret
lea rcx, str.unordered_map_set_too_long
call fcn.18003e5e4
int3
Function at 0x18002a74c
Capabilities:
Encode data using xor
Hash data using fnv

Disassembly:
mov qword [rsp + 8], rbx
mov qword [rsp + 0x10], rbp
mov qword [rsp + 0x18], rsi
push rdi
push r12
push r13
push r14
push r15
sub rsp, 0x30
mov r12, r8
mov rsi, rdx
mov r14, rcx
xor edx, edx
movabs r15, 0xcbf29ce484222325
movzx eax, byte [rdx + r8]
xor r15, rax
movabs rcx, 0x100000001b3
imul r15, rcx
inc rdx
cmp rdx, 8
jb 0x18002a77d
mov rax, qword [r14 + 0x30]
and rax, r15
add rax, rax
mov rcx, qword [r14 + 0x18]
mov rbx, qword [rcx + rax*8 + 8]
lea r13, [r14 + 8]
mov rbp, qword [r13]
cmp rbx, rbp
jne 0x18002a80c
mov rbx, rbp
movabs rax, 0xaaaaaaaaaaaaaaa
cmp qword [r14 + 0x10], rax
je 0x18002a975
mov qword [rsp + 0x20], r13
and qword [rsp + 0x28], 0
mov ecx, 0x18
call fcn.1800017b8
mov rdi, rax
mov qword [rsp + 0x28], rax
mov rcx, qword [r12]
mov qword [rax + 0x10], rcx
mov rcx, qword [r14 + 0x10]
add rcx, 1
xorps xmm0, xmm0
js 0x18002a845
cvtsi2ss xmm0, rcx
jmp 0x18002a85a
mov rdx, qword [rcx + rax*8]
mov rax, qword [r8]
jmp 0x18002a81e
cmp rbx, rdx
je 0x18002a83e
mov rbx, qword [rbx + 8]
cmp rax, qword [rbx + 0x10]
jne 0x18002a815
mov rbp, qword [rbx]
mov rax, rbx
mov rbx, rbp
test rax, rax
je 0x18002a7bf
mov qword [rsi], rax
mov byte [rsi + 8], 0
jmp 0x18002a955
mov rbp, rbx
xor eax, eax
jmp 0x18002a82d
mov rax, rcx
shr rax, 1
and ecx, 1
or rax, rcx
cvtsi2ss xmm0, rax
addss xmm0, xmm0
mov rcx, qword [r14 + 0x38]
xorps xmm1, xmm1
test rcx, rcx
js 0x18002a86d
cvtsi2ss xmm1, rcx
jmp 0x18002a882
mov rax, rcx
shr rax, 1
and ecx, 1
or rax, rcx
cvtsi2ss xmm1, rax
addss xmm1, xmm1
divss xmm0, xmm1
comiss xmm0, dword [r14]
seta al
test al, al
je 0x18002a8f6
mov rcx, r14
call fcn.18002bac4
mov rcx, qword [r14 + 0x30]
and rcx, r15
add rcx, rcx
mov rdx, qword [r14 + 0x18]
mov rax, qword [rdx + rcx*8 + 8]
mov rbx, qword [r13]
cmp rax, rbx
jne 0x18002a8bd
and qword [rsp + 0x28], 0
jmp 0x18002a8e1
mov rdx, qword [rdx + rcx*8]
mov rcx, qword [rdi + 0x10]
jmp 0x18002a8d3
mov rbx, rax
cmp rax, rdx
je 0x18002a92a
mov rax, qword [rax + 8]
cmp rcx, qword [rax + 0x10]
jne 0x18002a8c7
mov rbx, qword [rax]
mov qword [rsp + 0x28], rax
mov qword [rsp + 0x20], rbx
movaps xmm0, xmmword [rsp + 0x20]
movdqa xmmword [rsp + 0x20], xmm0
mov rbp, qword [rsp + 0x20]
mov rdx, qword [rbx + 8]
inc qword [r14 + 0x10]
mov qword [rdi], rbp
mov qword [rdi + 8], rdx
mov qword [rdx], rdi
mov qword [rbx + 8], rdi
mov rcx, qword [r14 + 0x18]
mov rax, qword [r14 + 0x30]
and rax, r15
add rax, rax
mov r8, qword [rcx + rax*8]
cmp r8, qword [r13]
jne 0x18002a937
mov qword [rcx + rax*8], rdi
jmp 0x18002a949
mov qword [rsp + 0x20], rax
and qword [rsp + 0x28], 0
jmp 0x18002a8e6
cmp r8, rbp
jne 0x18002a942
mov qword [rcx + rax*8], rdi
jmp 0x18002a94e
cmp qword [rcx + rax*8 + 8], rdx
jne 0x18002a94e
mov qword [rcx + rax*8 + 8], rdi
mov qword [rsi], rdi
mov byte [rsi + 8], 1
mov rax, rsi
mov rbx, qword [rsp + 0x60]
mov rbp, qword [rsp + 0x68]
mov rsi, qword [rsp + 0x70]
add rsp, 0x30
pop r15
pop r14
pop r13
pop r12
pop rdi
ret
lea rcx, str.unordered_map_set_too_long
call fcn.18003e5e4
int3
Function at 0x18002af40
Capabilities:
Encode data using xor
Hash data using fnv

Disassembly:
mov qword [rsp + 0x10], rbx
mov qword [rsp + 0x18], rsi
mov qword [rsp + 0x20], rdi
push r14
sub rsp, 0x20
mov rdx, qword [rcx + 0x10]
mov rsi, rcx
add rdx, 1
mov rbx, qword [rcx + 0x38]
xorps xmm0, xmm0
js 0x18002af70
cvtsi2ss xmm0, rdx
jmp 0x18002af85
mov rax, rdx
and edx, 1
shr rax, 1
or rax, rdx
cvtsi2ss xmm0, rax
addss xmm0, xmm0
divss xmm0, dword [rcx]
call fcn.180118e70
movss xmm1, dword [0x1801459e8]
xor ecx, ecx
comiss xmm0, xmm1
jb 0x18002afb3
subss xmm0, xmm1
comiss xmm0, xmm1
jae 0x18002afb3
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 0x18002afe1
cmp rbx, 0x200
jae 0x18002afde
shl rbx, 3
cmp rbx, rcx
jae 0x18002afe1
mov rbx, rcx
movabs rax, 0xfffffffffffffff
bsr rcx, rax
mov eax, 1
shl rax, cl
cmp rbx, rax
ja 0x18002b15c
lea rax, [rbx - 1]
mov edi, 1
mov rbx, qword [rsi + 8]
or rax, 1
bsr rcx, rax
mov r8, rbx
inc ecx
shl rdi, cl
lea rcx, [rsi + 0x18]
lea rdx, [rdi + rdi]
call fcn.180027d3c
lea rax, [rdi - 1]
mov qword [rsi + 0x38], rdi
mov qword [rsi + 0x30], rax
mov rax, qword [rsi + 8]
mov rax, qword [rax]
mov rcx, rax
cmp rax, rbx
je 0x18002b110
mov rcx, qword [rcx]
movabs r11, 0xcbf29ce484222325
xor r8d, r8d
movzx edx, byte [r8 + rax + 0x10]
movabs r9, 0x100000001b3
xor r11, rdx
inc r8
imul r11, r9
cmp r8, 8
jb 0x18002b059
and r11, qword [rsi + 0x30]
mov rdi, qword [rsi + 0x18]
add r11, r11
cmp qword [rdi + r11*8], rbx
jne 0x18002b095
mov qword [rdi + r11*8], rax
mov qword [rdi + r11*8 + 8], rax
jmp 0x18002b104
mov r10, qword [rdi + r11*8 + 8]
mov rdx, qword [rax + 0x10]
cmp rdx, qword [r10 + 0x10]
jne 0x18002b0d9
mov r10, qword [r10]
cmp r10, rax
je 0x18002b08e
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 0x18002b08e
mov r10, qword [r10 + 8]
cmp rdx, qword [r10 + 0x10]
je 0x18002b136
cmp qword [rdi + r11*8], r10
jne 0x18002b0cf
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 [rdi + r11*8], rax
mov rax, rcx
cmp rcx, rbx
jne 0x18002b049
and qword [rsp + 0x30], 0
lea rcx, [rsp + 0x30]
call fcn.18002bfcc
mov rbx, qword [rsp + 0x38]
mov rsi, qword [rsp + 0x40]
mov rdi, qword [rsp + 0x48]
add rsp, 0x20
pop r14
ret
mov r10, qword [r10]
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 0x18002b104
lea rcx, str.invalid_hash_bucket_count
call fcn.18003e5e4
int3
Function at 0x18002b170
Capabilities:
Encode data using xor
Hash data using fnv

Disassembly:
mov qword [rsp + 8], rbx
mov qword [rsp + 0x10], rsi
mov qword [rsp + 0x18], rdi
push r14
sub rsp, 0x20
mov rdx, qword [rcx + 0x10]
mov rdi, rcx
add rdx, 1
mov rbx, qword [rcx + 0x38]
xorps xmm0, xmm0
js 0x18002b1a0
cvtsi2ss xmm0, rdx
jmp 0x18002b1b5
mov rax, rdx
and edx, 1
shr rax, 1
or rax, rdx
cvtsi2ss xmm0, rax
addss xmm0, xmm0
divss xmm0, dword [rcx]
call fcn.180118e70
movss xmm1, dword [0x1801459e8]
xor ecx, ecx
comiss xmm0, xmm1
jb 0x18002b1e3
subss xmm0, xmm1
comiss xmm0, xmm1
jae 0x18002b1e3
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 0x18002b211
cmp rbx, 0x200
jae 0x18002b20e
shl rbx, 3
cmp rbx, rcx
jae 0x18002b211
mov rbx, rcx
movabs rax, 0xfffffffffffffff
bsr rcx, rax
mov eax, 1
shl rax, cl
cmp rbx, rax
ja 0x18002b37f
mov rsi, qword [rdi + 8]
lea rax, [rbx - 1]
or rax, 1
mov ebx, 1
bsr rcx, rax
mov r8, rsi
inc ecx
shl rbx, cl
lea rcx, [rdi + 0x18]
lea rdx, [rbx + rbx]
call fcn.180027e78
mov rcx, qword [rdi + 8]
lea rax, [rbx - 1]
mov qword [rdi + 0x30], rax
mov qword [rdi + 0x38], rbx
mov rcx, qword [rcx]
cmp rcx, rsi
je 0x18002b343
mov rax, rcx
mov rcx, qword [rcx]
movabs r8, 0xcbf29ce484222325
xor r9d, r9d
movzx edx, byte [r9 + rax + 0x10]
movabs r10, 0x100000001b3
xor r8, rdx
inc r9
imul r8, r10
cmp r9, 8
jb 0x18002b289
mov r11, qword [rdi + 0x30]
mov rbx, qword [rdi + 0x18]
and r11, r8
add r11, r11
cmp qword [rbx + r11*8], rsi
jne 0x18002b2c8
mov qword [rbx + r11*8], rax
mov qword [rbx + r11*8 + 8], rax
jmp 0x18002b337
mov r10, qword [rbx + r11*8 + 8]
mov rdx, qword [rax + 0x10]
cmp rdx, qword [r10 + 0x10]
jne 0x18002b30c
mov r10, qword [r10]
cmp r10, rax
je 0x18002b2c1
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 0x18002b2c1
mov r10, qword [r10 + 8]
cmp rdx, qword [r10 + 0x10]
je 0x18002b359
cmp qword [rbx + r11*8], r10
jne 0x18002b302
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 [rbx + r11*8], rax
mov rax, rcx
cmp rcx, rsi
jne 0x18002b279
mov rbx, qword [rsp + 0x30]
mov rsi, qword [rsp + 0x38]
mov rdi, qword [rsp + 0x40]
add rsp, 0x20
pop r14
ret
mov r10, qword [r10]
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 0x18002b337
lea rcx, str.invalid_hash_bucket_count
call fcn.18003e5e4
int3
Function at 0x18002b394
Capabilities:
Encode data using xor
Hash data using fnv

Disassembly:
mov qword [rsp + 0x10], rbx
mov qword [rsp + 0x18], rsi
mov qword [rsp + 0x20], rdi
push r14
sub rsp, 0x20
mov rdx, qword [rcx + 0x10]
mov rdi, rcx
add rdx, 1
mov rbx, qword [rcx + 0x38]
xorps xmm0, xmm0
js 0x18002b3c4
cvtsi2ss xmm0, rdx
jmp 0x18002b3d9
mov rax, rdx
and edx, 1
shr rax, 1
or rax, rdx
cvtsi2ss xmm0, rax
addss xmm0, xmm0
divss xmm0, dword [rcx]
call fcn.180118e70
movss xmm1, dword [0x1801459e8]
xor ecx, ecx
comiss xmm0, xmm1
jb 0x18002b407
subss xmm0, xmm1
comiss xmm0, xmm1
jae 0x18002b407
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 0x18002b435
cmp rbx, 0x200
jae 0x18002b432
shl rbx, 3
cmp rbx, rcx
jae 0x18002b435
mov rbx, rcx
movabs rax, 0xfffffffffffffff
bsr rcx, rax
mov eax, 1
shl rax, cl
cmp rbx, rax
ja 0x18002b5b2
mov rsi, qword [rdi + 8]
lea rax, [rbx - 1]
or rax, 1
mov ebx, 1
bsr rcx, rax
mov r8, rsi
inc ecx
shl rbx, cl
lea rcx, [rdi + 0x18]
lea rdx, [rbx + rbx]
call fcn.180027e78
mov rcx, qword [rdi + 8]
lea rax, [rbx - 1]
mov qword [rdi + 0x30], rax
mov qword [rdi + 0x38], rbx
mov rcx, qword [rcx]
cmp rcx, rsi
je 0x18002b566
mov rax, rcx
mov rcx, qword [rcx]
movabs r8, 0xcbf29ce484222325
xor r9d, r9d
movzx edx, byte [r9 + rax + 0x10]
movabs r10, 0x100000001b3
xor r8, rdx
inc r9
imul r8, r10
cmp r9, 4
jb 0x18002b4ad
mov r11, qword [rdi + 0x30]
mov rbx, qword [rdi + 0x18]
and r11, r8
add r11, r11
cmp qword [rbx + r11*8], rsi
jne 0x18002b4ec
mov qword [rbx + r11*8], rax
mov qword [rbx + r11*8 + 8], rax
jmp 0x18002b55a
mov r10, qword [rbx + r11*8 + 8]
mov edx, dword [rax + 0x10]
cmp edx, dword [r10 + 0x10]
jne 0x18002b52f
mov r10, qword [r10]
cmp r10, rax
je 0x18002b4e5
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 0x18002b4e5
mov r10, qword [r10 + 8]
cmp edx, dword [r10 + 0x10]
je 0x18002b58c
cmp qword [rbx + r11*8], r10
jne 0x18002b525
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 [rbx + r11*8], rax
mov rax, rcx
cmp rcx, rsi
jne 0x18002b49d
and qword [rsp + 0x30], 0
lea rcx, [rsp + 0x30]
call fcn.18002bf08
mov rbx, qword [rsp + 0x38]
mov rsi, qword [rsp + 0x40]
mov rdi, qword [rsp + 0x48]
add rsp, 0x20
pop r14
ret
mov r10, qword [r10]
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 0x18002b55a
lea rcx, str.invalid_hash_bucket_count
call fcn.18003e5e4
int3
Function at 0x18002b670
Capabilities:
Encode data using xor
Hash data using fnv

Disassembly:
mov qword [rsp + 8], rbx
mov qword [rsp + 0x10], rsi
mov qword [rsp + 0x18], rdi
push r14
sub rsp, 0x20
mov rdx, qword [rcx + 0x10]
mov rsi, rcx
add rdx, 1
mov rbx, qword [rcx + 0x38]
xorps xmm0, xmm0
js 0x18002b6a0
cvtsi2ss xmm0, rdx
jmp 0x18002b6b5
mov rax, rdx
and edx, 1
shr rax, 1
or rax, rdx
cvtsi2ss xmm0, rax
addss xmm0, xmm0
divss xmm0, dword [rcx]
call fcn.180118e70
movss xmm1, dword [0x1801459e8]
xor ecx, ecx
comiss xmm0, xmm1
jb 0x18002b6e3
subss xmm0, xmm1
comiss xmm0, xmm1
jae 0x18002b6e3
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 0x18002b711
cmp rbx, 0x200
jae 0x18002b70e
shl rbx, 3
cmp rbx, rcx
jae 0x18002b711
mov rbx, rcx
movabs rax, 0xfffffffffffffff
bsr rcx, rax
mov eax, 1
shl rax, cl
cmp rbx, rax
ja 0x18002b87f
lea rax, [rbx - 1]
mov edi, 1
mov rbx, qword [rsi + 8]
or rax, 1
bsr rcx, rax
mov r8, rbx
inc ecx
shl rdi, cl
lea rcx, [rsi + 0x18]
lea rdx, [rdi + rdi]
call fcn.180027d3c
lea rax, [rdi - 1]
mov qword [rsi + 0x38], rdi
mov qword [rsi + 0x30], rax
mov rax, qword [rsi + 8]
mov rax, qword [rax]
mov rcx, rax
cmp rax, rbx
je 0x18002b843
mov rcx, qword [rcx]
movabs r8, 0xcbf29ce484222325
xor r9d, r9d
movzx edx, byte [r9 + rax + 0x10]
movabs r10, 0x100000001b3
xor r8, rdx
inc r9
imul r8, r10
cmp r9, 8
jb 0x18002b789
mov r11, qword [rsi + 0x30]
mov rdi, qword [rsi + 0x18]
and r11, r8
add r11, r11
cmp qword [rdi + r11*8], rbx
jne 0x18002b7c8
mov qword [rdi + r11*8], rax
mov qword [rdi + r11*8 + 8], rax
jmp 0x18002b837
mov r10, qword [rdi + r11*8 + 8]
mov rdx, qword [rax + 0x10]
cmp rdx, qword [r10 + 0x10]
jne 0x18002b80c
mov r10, qword [r10]
cmp r10, rax
je 0x18002b7c1
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 0x18002b7c1
mov r10, qword [r10 + 8]
cmp rdx, qword [r10 + 0x10]
je 0x18002b859
cmp qword [rdi + r11*8], r10
jne 0x18002b802
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 [rdi + r11*8], rax
mov rax, rcx
cmp rcx, rbx
jne 0x18002b779
mov rbx, qword [rsp + 0x30]
mov rsi, qword [rsp + 0x38]
mov rdi, qword [rsp + 0x40]
add rsp, 0x20
pop r14
ret
mov r10, qword [r10]
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 0x18002b837
lea rcx, str.invalid_hash_bucket_count
call fcn.18003e5e4
int3