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

Disassembly:
mov qword [rsp + 8], rcx
push rbx
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
sub rsp, 0x28
mov rbp, r8
mov r13, rdx
cmp rdx, r8
je 0x18002e1e8
mov rax, qword [rcx + 8]
mov rsi, rdx
mov r14, qword [rdx + 8]
movabs r15, 0xcbf29ce484222325
mov r12, qword [rcx + 0x18]
xor edx, edx
mov qword [rsp + 0x78], rax
movabs r8, 0x100000001b3
movzx eax, byte [rdx + r13 + 0x10]
inc rdx
xor r15, rax
imul r15, r8
cmp rdx, 4
jb 0x18002e166
and r15, qword [rcx + 0x30]
add r15, r15
mov rax, qword [r12 + r15*8]
mov qword [rsp + 0x80], rax
mov rax, qword [r12 + r15*8 + 8]
mov qword [rsp + 0x88], rax
mov rbx, rsi
mov rdi, rsi
mov rsi, qword [rsi]
lea rcx, [rbx + 0x18]
call fcn.18002efb8
mov edx, 0x58
mov rcx, rbx
call fcn.1800a0de0
mov rdx, qword [rsp + 0x70]
dec qword [rdx + 0x10]
cmp rbx, qword [rsp + 0x88]
je 0x18002e1fc
cmp rsi, rbp
jne 0x18002e19c
cmp qword [rsp + 0x80], r13
jne 0x18002e1e1
mov qword [r12 + r15*8], rsi
mov qword [r14], rsi
mov qword [rsi + 8], r14
mov rax, rbp
add rsp, 0x28
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
pop rbx
ret
cmp qword [rsp + 0x80], r13
jne 0x18002e214
mov r13, qword [rsp + 0x78]
mov qword [r12 + r15*8], r13
mov rax, r13
jmp 0x18002e217
mov rax, r14
mov qword [r12 + r15*8 + 8], rax
jmp 0x18002e2af
movabs rcx, 0xcbf29ce484222325
xor r8d, r8d
movabs r13, 0x100000001b3
movzx eax, byte [rsi + r8 + 0x10]
inc r8
xor rcx, rax
imul rcx, r13
cmp r8, 4
jb 0x18002e238
mov r15, qword [rdx + 0x30]
mov r13, qword [rsp + 0x78]
and r15, rcx
add r15, r15
mov rax, qword [r12 + r15*8 + 8]
mov qword [rsp + 0x80], rax
mov rbx, rsi
mov rdi, rsi
mov rsi, qword [rsi]
lea rcx, [rbx + 0x18]
call fcn.18002efb8
mov edx, 0x58
mov rcx, rbx
call fcn.1800a0de0
mov rdx, qword [rsp + 0x70]
dec qword [rdx + 0x10]
cmp rbx, qword [rsp + 0x80]
je 0x18002e2a6
cmp rsi, rbp
jne 0x18002e26a
jmp 0x18002e1dd
mov qword [r12 + r15*8], r13
mov qword [r12 + r15*8 + 8], r13
cmp rsi, rbp
jne 0x18002e221
jmp 0x18002e1e1
Function at 0x18002e2c0
Capabilities:
Encode data using xor
Hash data using fnv

Disassembly:
mov qword [rsp + 0x10], rbx
mov qword [rsp + 0x18], rbp
mov qword [rsp + 0x20], rsi
push rdi
push r12
push r13
push r14
push r15
sub rsp, 0x30
mov r13, r8
mov r15, rdx
mov rsi, rcx
xor ecx, ecx
movabs r12, 0xcbf29ce484222325
movzx eax, byte [rcx + r8]
xor r12, rax
movabs rdx, 0x100000001b3
imul r12, rdx
inc rcx
cmp rcx, 4
jb 0x18002e2f1
mov rax, qword [rsi + 0x30]
and rax, r12
add rax, rax
mov rcx, qword [rsi + 0x18]
mov rbx, qword [rcx + rax*8 + 8]
lea r8, [rsi + 8]
mov rbp, qword [r8]
cmp rbx, rbp
jne 0x18002e339
mov qword [rsp + 0x60], r8
mov rbx, rbp
jmp 0x18002e37c
mov rdx, qword [rcx + rax*8]
mov eax, dword [r13]
jmp 0x18002e34c
cmp rbx, rdx
je 0x18002e36c
mov rbx, qword [rbx + 8]
cmp eax, dword [rbx + 0x10]
jne 0x18002e343
mov rbp, qword [rbx]
mov rax, rbx
mov rbx, rbp
test rax, rax
je 0x18002e373
mov qword [r15], rax
mov byte [r15 + 8], 0
jmp 0x18002e4cf
mov rbp, rbx
xor eax, eax
jmp 0x18002e35a
lea rax, [rsi + 8]
mov qword [rsp + 0x60], rax
lea r14, [rsi + 0x10]
movabs rax, 0xaaaaaaaaaaaaaaa
cmp qword [r14], rax
je 0x18002e4ef
mov qword [rsp + 0x20], r8
and qword [rsp + 0x28], 0
mov ecx, 0x18
call fcn.1800a0de8
mov rdi, rax
mov qword [rsp + 0x28], rax
mov ecx, dword [r13]
mov dword [rax + 0x10], ecx
mov rcx, qword [r14]
add rcx, 1
xorps xmm0, xmm0
js 0x18002e3ca
cvtsi2ss xmm0, rcx
jmp 0x18002e3df
mov rax, rcx
shr rax, 1
and ecx, 1
or rax, rcx
cvtsi2ss xmm0, rax
addss xmm0, xmm0
mov rcx, qword [rsi + 0x38]
xorps xmm1, xmm1
test rcx, rcx
js 0x18002e3f2
cvtsi2ss xmm1, rcx
jmp 0x18002e407
mov rax, rcx
shr rax, 1
and ecx, 1
or rax, rcx
cvtsi2ss xmm1, rax
addss xmm1, xmm1
divss xmm0, xmm1
comiss xmm0, dword [rsi]
seta al
test al, al
je 0x18002e46b
mov rcx, rsi
call fcn.18002e7dc
mov rcx, qword [rsi + 0x30]
and rcx, r12
add rcx, rcx
mov rdx, qword [rsi + 0x18]
mov rax, qword [rdx + rcx*8 + 8]
mov rbx, qword [rsp + 0x60]
mov rbx, qword [rbx]
cmp rax, rbx
je 0x18002e461
mov rdx, qword [rdx + rcx*8]
mov ecx, dword [rdi + 0x10]
cmp ecx, dword [rax + 0x10]
je 0x18002e45e
mov rbx, rax
cmp rax, rdx
je 0x18002e4a5
mov rax, qword [rax + 8]
cmp ecx, dword [rax + 0x10]
jne 0x18002e449
lea r14, [rsi + 0x10]
mov rbx, qword [rax]
mov qword [rsp + 0x20], rbx
mov rbp, qword [rsp + 0x20]
mov rdx, qword [rbx + 8]
mov rax, qword [rsi + 0x10]
inc rax
mov qword [r14], rax
mov qword [rdi], rbp
mov qword [rdi + 8], rdx
mov qword [rdx], rdi
mov qword [rbx + 8], rdi
mov rcx, qword [rsi + 0x18]
mov rax, qword [rsi + 0x30]
and rax, r12
add rax, rax
mov r8, qword [rcx + rax*8]
cmp r8, qword [rsi + 8]
jne 0x18002e4b0
mov qword [rcx + rax*8], rdi
jmp 0x18002e4c2
mov qword [rsp + 0x20], rax
lea r14, [rsi + 0x10]
jmp 0x18002e466
cmp r8, rbp
jne 0x18002e4bb
mov qword [rcx + rax*8], rdi
jmp 0x18002e4c7
cmp qword [rcx + rax*8 + 8], rdx
jne 0x18002e4c7
mov qword [rcx + rax*8 + 8], rdi
mov qword [r15], rdi
mov byte [r15 + 8], 1
mov rax, r15
mov rbx, qword [rsp + 0x68]
mov rbp, qword [rsp + 0x70]
mov rsi, qword [rsp + 0x78]
add rsp, 0x30
pop r15
pop r14
pop r13
pop r12
pop rdi
ret
lea rcx, str.unordered_map_set_too_long
call fcn.18009e38c
int3
Function at 0x18002e7dc
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 0x18002e80c
cvtsi2ss xmm0, rdx
jmp 0x18002e821
mov rax, rdx
and edx, 1
shr rax, 1
or rax, rdx
cvtsi2ss xmm0, rax
addss xmm0, xmm0
divss xmm0, dword [rcx]
call fcn.1800cbc78
movss xmm1, dword [0x18014cb10]
xor ecx, ecx
comiss xmm0, xmm1
jb 0x18002e84f
subss xmm0, xmm1
comiss xmm0, xmm1
jae 0x18002e84f
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 0x18002e87d
cmp rbx, 0x200
jae 0x18002e87a
shl rbx, 3
cmp rbx, rcx
jae 0x18002e87d
mov rbx, rcx
movabs rax, 0xfffffffffffffff
bsr rcx, rax
mov eax, 1
shl rax, cl
cmp rbx, rax
ja 0x18002e9ea
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.180012af8
mov qword [rdi + 0x38], rbx
lea rax, [rbx - 1]
mov qword [rdi + 0x30], rax
mov rcx, qword [rdi + 8]
mov rcx, qword [rcx]
cmp rcx, rsi
je 0x18002e9ae
mov rax, rcx
mov rcx, qword [rcx]
movabs r8, 0xcbf29ce484222325
xor r9d, r9d
movzx edx, byte [rax + r9 + 0x10]
movabs r10, 0x100000001b3
xor r8, rdx
inc r9
imul r8, r10
cmp r9, 4
jb 0x18002e8f5
mov r11, qword [rdi + 0x30]
mov rbx, qword [rdi + 0x18]
and r11, r8
add r11, r11
cmp qword [rbx + r11*8], rsi
jne 0x18002e934
mov qword [rbx + r11*8], rax
mov qword [rbx + r11*8 + 8], rax
jmp 0x18002e9a2
mov r10, qword [rbx + r11*8 + 8]
mov edx, dword [rax + 0x10]
cmp edx, dword [r10 + 0x10]
jne 0x18002e977
mov r10, qword [r10]
cmp r10, rax
je 0x18002e92d
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 0x18002e92d
mov r10, qword [r10 + 8]
cmp edx, dword [r10 + 0x10]
je 0x18002e9c4
cmp qword [rbx + r11*8], r10
jne 0x18002e96d
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 0x18002e8e5
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 0x18002e9a2
lea rcx, str.invalid_hash_bucket_count
call fcn.18009e38c
int3
Function at 0x18002e9f8
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 0x18002ea28
cvtsi2ss xmm0, rdx
jmp 0x18002ea3d
mov rax, rdx
and edx, 1
shr rax, 1
or rax, rdx
cvtsi2ss xmm0, rax
addss xmm0, xmm0
divss xmm0, dword [rcx]
call fcn.1800cbc78
movss xmm1, dword [0x18014cb10]
xor ecx, ecx
comiss xmm0, xmm1
jb 0x18002ea6b
subss xmm0, xmm1
comiss xmm0, xmm1
jae 0x18002ea6b
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 0x18002ea99
cmp rbx, 0x200
jae 0x18002ea96
shl rbx, 3
cmp rbx, rcx
jae 0x18002ea99
mov rbx, rcx
movabs rax, 0xfffffffffffffff
bsr rcx, rax
mov eax, 1
shl rax, cl
cmp rbx, rax
ja 0x18002ec06
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.180012af8
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 0x18002ebca
mov rcx, qword [rcx]
movabs r8, 0xcbf29ce484222325
xor r9d, r9d
movzx edx, byte [rax + r9 + 0x10]
movabs r10, 0x100000001b3
xor r8, rdx
inc r9
imul r8, r10
cmp r9, 4
jb 0x18002eb11
mov r11, qword [rsi + 0x30]
mov rdi, qword [rsi + 0x18]
and r11, r8
add r11, r11
cmp qword [rdi + r11*8], rbx
jne 0x18002eb50
mov qword [rdi + r11*8], rax
mov qword [rdi + r11*8 + 8], rax
jmp 0x18002ebbe
mov r10, qword [rdi + r11*8 + 8]
mov edx, dword [rax + 0x10]
cmp edx, dword [r10 + 0x10]
jne 0x18002eb93
mov r10, qword [r10]
cmp r10, rax
je 0x18002eb49
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 0x18002eb49
mov r10, qword [r10 + 8]
cmp edx, dword [r10 + 0x10]
je 0x18002ebe0
cmp qword [rdi + r11*8], r10
jne 0x18002eb89
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 0x18002eb01
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 0x18002ebbe
lea rcx, str.invalid_hash_bucket_count
call fcn.18009e38c
int3
Function at 0x180033ed8
Capabilities:
Encode data using xor
Hash data using fnv

Disassembly:
mov qword [rsp + 0x20], rbx
mov qword [rsp + 8], rcx
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
mov rbp, rsp
sub rsp, 0x40
mov r15, rdx
mov rdi, r8
mov rdx, rcx
cmp r15, r8
je 0x180033fc6
mov r13, qword [r15 + 8]
lea rax, [rcx + 8]
mov r14, qword [rcx + 0x18]
movabs rsi, 0xcbf29ce484222325
mov r12, qword [rax]
xor ecx, ecx
mov qword [rbp - 0x20], rax
movabs r8, 0x100000001b3
mov qword [rbp - 0x18], r13
mov qword [rbp - 0x10], r15
movzx eax, byte [r15 + rcx + 0x10]
inc rcx
xor rsi, rax
imul rsi, r8
cmp rcx, 8
jb 0x180033f37
and rsi, qword [rdx + 0x30]
lea rcx, [rbp - 0x20]
add rsi, rsi
mov rbx, qword [r14 + rsi*8]
mov rax, qword [r14 + rsi*8 + 8]
mov qword [rbp + 0x50], rbx
mov qword [rbp + 0x48], rax
call fcn.180034058
mov rax, qword [rbp + 0x48]
cmp r15, rax
je 0x180033f9b
mov rcx, qword [rbp - 0x10]
cmp rcx, rdi
je 0x180033fb1
cmp rcx, rax
lea rcx, [rbp - 0x20]
sete bl
call fcn.180034058
mov rax, qword [rbp + 0x48]
test bl, bl
je 0x180033f77
mov rbx, qword [rbp + 0x50]
cmp rbx, r15
jne 0x180033fa7
mov qword [r14 + rsi*8], r12
mov r13, r12
mov qword [r14 + rsi*8 + 8], r13
jmp 0x180034048
cmp qword [rbp + 0x50], r15
jne 0x180033fbb
mov qword [r14 + rsi*8], rcx
mov rax, qword [rbp - 0x18]
mov qword [rax], rcx
mov qword [rcx + 8], rax
mov rbx, qword [rsp + 0x98]
mov rax, rdi
add rsp, 0x40
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret
movabs rdx, 0xcbf29ce484222325
xor r8d, r8d
movabs r13, 0x100000001b3
movzx eax, byte [rcx + r8 + 0x10]
inc r8
xor rdx, rax
imul rdx, r13
cmp r8, 8
jb 0x180033ff8
mov r13, qword [rbp + 0x40]
mov rsi, qword [r13 + 0x30]
and rsi, rdx
add rsi, rsi
mov r15, qword [r14 + rsi*8 + 8]
jmp 0x18003402c
mov rcx, qword [rbp - 0x10]
cmp rcx, rdi
je 0x180033fb7
cmp rcx, r15
lea rcx, [rbp - 0x20]
sete bl
call fcn.180034058
test bl, bl
je 0x180034023
mov qword [r14 + rsi*8], r12
mov qword [r14 + rsi*8 + 8], r12
mov rcx, qword [rbp - 0x10]
cmp rcx, rdi
jne 0x180033fe1
jmp 0x180033fbb

Function at 0x18003440c
Capabilities:
Encode data using xor
Hash data using fnv

Disassembly:
mov r10, rdx
movabs rcx, 0xcbf29ce484222325
xor r9d, r9d
movzx eax, byte [r8 + r9]
movabs rdx, 0x100000001b3
xor rcx, rax
inc r9
imul rcx, rdx
cmp r9, 8
jb 0x18003441c
mov rdx, qword [0x1801763a0]
mov r9, qword [0x180176388]
and rdx, rcx
mov rcx, qword [0x180176378]
add rdx, rdx
mov rax, qword [r9 + rdx*8 + 8]
cmp rax, rcx
je 0x18003447a
mov r9, qword [r9 + rdx*8]
mov rdx, qword [r8]
jmp 0x180034472
cmp rax, r9
je 0x18003447a
mov rax, qword [rax + 8]
cmp rdx, qword [rax + 0x10]
jne 0x180034469
jmp 0x18003447c
xor eax, eax
test rax, rax
cmovne rcx, rax
mov rax, r10
mov qword [r10], rcx
ret
Function at 0x180035764
Capabilities:
Encode data using xor
Hash data using fnv

Disassembly:
mov qword [rsp + 8], rbx
push rdi
sub rsp, 0x20
mov rcx, qword [0x180176380]
xorps xmm0, xmm0
add rcx, 1
js 0x180035785
cvtsi2ss xmm0, rcx
jmp 0x18003579a
mov rax, rcx
and ecx, 1
shr rax, 1
or rax, rcx
cvtsi2ss xmm0, rax
addss xmm0, xmm0
divss xmm0, dword [0x180176370]
call fcn.1800cbc78
movss xmm1, dword [0x18014cb10]
xor ecx, ecx
comiss xmm0, xmm1
jb 0x1800357cc
subss xmm0, xmm1
comiss xmm0, xmm1
jae 0x1800357cc
movabs rax, 0x8000000000000000
mov rcx, rax
mov rdx, qword [0x1801763a8]
cvttss2si rax, xmm0
add rax, rcx
mov ecx, 8
cmp rax, rcx
cmova rcx, rax
cmp rdx, rcx
jae 0x180035801
cmp rdx, 0x200
jae 0x1800357fe
shl rdx, 3
cmp rdx, rcx
jae 0x180035801
mov rdx, rcx
movabs rax, 0xfffffffffffffff
bsr rcx, rax
mov eax, 1
shl rax, cl
cmp rdx, rax
ja 0x18003597a
mov rbx, qword [0x180176378]
lea rax, [rdx - 1]
or rax, 1
mov edi, 1
bsr rcx, rax
mov r8, rbx
inc ecx
shl rdi, cl
lea rcx, [0x180176388]
lea rdx, [rdi + rdi]
call fcn.180034204
mov rax, qword [0x180176378]
lea r9, [rdi - 1]
mov qword [0x1801763a0], r9
mov qword [0x1801763a8], rdi
mov rax, qword [rax]
mov rcx, rax
cmp rax, rbx
je 0x18003596f
mov rcx, qword [rcx]
movabs r11, 0xcbf29ce484222325
xor r8d, r8d
movzx edx, byte [rax + r8 + 0x10]
movabs r10, 0x100000001b3
xor r11, rdx
inc r8
imul r11, r10
cmp r8, 8
jb 0x180035888
mov rdi, qword [0x180176388]
and r11, r9
add r11, r11
cmp qword [rdi + r11*8], rbx
jne 0x1800358c6
mov qword [rdi + r11*8], rax
mov qword [rdi + r11*8 + 8], rax
jmp 0x180035935
mov r10, qword [rdi + r11*8 + 8]
mov rdx, qword [rax + 0x10]
cmp rdx, qword [r10 + 0x10]
jne 0x18003590a
mov r10, qword [r10]
cmp r10, rax
je 0x1800358bf
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 0x1800358bf
mov r10, qword [r10 + 8]
cmp rdx, qword [r10 + 0x10]
je 0x180035949
cmp qword [rdi + r11*8], r10
jne 0x180035900
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
je 0x18003596f
mov r9, qword [0x1801763a0]
jmp 0x180035878
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 0x180035935
mov rbx, qword [rsp + 0x30]
add rsp, 0x20
pop rdi
ret
lea rcx, str.invalid_hash_bucket_count
call fcn.18009e38c
int3
Function at 0x18003c968
Capabilities:
Encode data using xor
Hash data using fnv

Disassembly:
mov qword [rsp + 8], rcx
push rbx
sub rsp, 0x20
mov rbx, rcx
call fcn.18003c838
mov r10, rax
movabs r8, 0xcbf29ce484222325
xor r9d, r9d
movzx edx, byte [rsp + r9 + 0x30]
movabs rax, 0x100000001b3
xor r8, rdx
inc r9
imul r8, rax
cmp r9, 8
jb 0x18003c98a
mov rcx, qword [r10 + 0x30]
mov rdx, qword [r10 + 0x18]
and rcx, r8
add rcx, rcx
mov rax, qword [rdx + rcx*8 + 8]
cmp rax, qword [r10 + 8]
je 0x18003c9da
mov rdx, qword [rdx + rcx*8]
jmp 0x18003c9d2
cmp rax, rdx
je 0x18003c9da
mov rax, qword [rax + 8]
cmp rbx, qword [rax + 0x10]
jne 0x18003c9c9
jmp 0x18003c9dc
xor eax, eax
test rax, rax
cmove rax, qword [r10 + 8]
cmp rax, qword [r10 + 8]
jne 0x18003c9ee
xor eax, eax
jmp 0x18003c9fc
add rax, 0x18
cmp qword [rax + 0x18], 0xf
jbe 0x18003c9fc
mov rax, qword [rax]
add rsp, 0x20
pop rbx
ret
Function at 0x18003dbac
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 0x18003dbdc
cvtsi2ss xmm0, rdx
jmp 0x18003dbf1
mov rax, rdx
and edx, 1
shr rax, 1
or rax, rdx
cvtsi2ss xmm0, rax
addss xmm0, xmm0
divss xmm0, dword [rcx]
call fcn.1800cbc78
movss xmm1, dword [0x18014cb10]
xor ecx, ecx
comiss xmm0, xmm1
jb 0x18003dc1f
subss xmm0, xmm1
comiss xmm0, xmm1
jae 0x18003dc1f
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 0x18003dc4d
cmp rbx, 0x200
jae 0x18003dc4a
shl rbx, 3
cmp rbx, rcx
jae 0x18003dc4d
mov rbx, rcx
movabs rax, 0xfffffffffffffff
bsr rcx, rax
mov eax, 1
shl rax, cl
cmp rbx, rax
ja 0x18003ddbb
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.180012af8
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 0x18003dd7f
mov rcx, qword [rcx]
movabs r8, 0xcbf29ce484222325
xor r9d, r9d
movzx edx, byte [rax + r9 + 0x10]
movabs r10, 0x100000001b3
xor r8, rdx
inc r9
imul r8, r10
cmp r9, 8
jb 0x18003dcc5
mov r11, qword [rsi + 0x30]
mov rdi, qword [rsi + 0x18]
and r11, r8
add r11, r11
cmp qword [rdi + r11*8], rbx
jne 0x18003dd04
mov qword [rdi + r11*8], rax
mov qword [rdi + r11*8 + 8], rax
jmp 0x18003dd73
mov r10, qword [rdi + r11*8 + 8]
mov rdx, qword [rax + 0x10]
cmp rdx, qword [r10 + 0x10]
jne 0x18003dd48
mov r10, qword [r10]
cmp r10, rax
je 0x18003dcfd
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 0x18003dcfd
mov r10, qword [r10 + 8]
cmp rdx, qword [r10 + 0x10]
je 0x18003dd95
cmp qword [rdi + r11*8], r10
jne 0x18003dd3e
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 0x18003dcb5
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 0x18003dd73
lea rcx, str.invalid_hash_bucket_count
call fcn.18009e38c
int3
Function at 0x18003f644
Capabilities:
Read file on windows

Disassembly:
mov rax, rsp
mov qword [rax + 8], rbx
mov qword [rax + 0x10], rbp
mov qword [rax + 0x18], rsi
mov qword [rax + 0x20], rdi
push r14
sub rsp, 0x20
mov rbp, r8
mov r14, rdx
mov rdi, rcx
test r8, r8
jg 0x18003f672
xor eax, eax
jmp 0x18003f758
cmp qword [rcx + 0x68], 0
je 0x18003f683
call fcn.18003fdd8
jmp 0x18003f758
mov rax, qword [rcx + 0x38]
mov rsi, rbp
mov rdx, qword [rax]
test rdx, rdx
je 0x18003f69a
mov rax, qword [rcx + 0x50]
mov ecx, dword [rax]
jmp 0x18003f69c
xor ecx, ecx
movsxd rax, ecx
test ecx, ecx
je 0x18003f6ce
cmp rax, rbp
mov rbx, rbp
mov rcx, r14
cmovb rbx, rax
mov r8, rbx
call fcn.1800cbdf0
mov rax, qword [rdi + 0x50]
add r14, rbx
sub rsi, rbx
sub dword [rax], ebx
mov rcx, qword [rdi + 0x38]
movsxd rax, ebx
add qword [rcx], rax
cmp qword [rdi + 0x80], 0
je 0x18003f752
mov r8, qword [rdi + 0x18]
lea rax, [rdi + 0x70]
cmp qword [r8], rax
jne 0x18003f705
mov rcx, qword [rdi + 0x88]
mov rdx, qword [rdi + 0x90]
mov qword [r8], rcx
sub edx, ecx
mov rax, qword [rdi + 0x38]
mov qword [rax], rcx
mov rax, qword [rdi + 0x50]
mov dword [rax], edx
mov ebx, 0xfff
jmp 0x18003f72e
mov r9, qword [rdi + 0x80]
mov r8, rbx
mov edx, 1
mov rcx, r14
call fcn.1800aed84
add r14, rax
sub rsi, rax
cmp rax, rbx
jne 0x18003f752
cmp rsi, rbx
ja 0x18003f70c
test rsi, rsi
je 0x18003f752
mov r9, qword [rdi + 0x80]
mov r8, rsi
mov edx, 1
mov rcx, r14
call fcn.1800aed84
sub rsi, rax
sub rbp, rsi
mov rax, rbp
mov rbx, qword [rsp + 0x30]
mov rbp, qword [rsp + 0x38]
mov rsi, qword [rsp + 0x40]
mov rdi, qword [rsp + 0x48]
add rsp, 0x20
pop r14
ret
Function at 0x180049d1c
Capabilities:
Encode data using xor
Hash data using fnv

Disassembly:
mov qword [rsp + 0x10], rbx
mov r10, qword [r8]
movabs rax, 0x7fffffffffffffff
movzx r11d, dl
and r10, rax
shl r11, 6
mov rbx, rcx
mov qword [rsp + 8], r10
xor r9d, r9d
movabs rdx, 0xcbf29ce484222325
movzx eax, byte [rsp + r9 + 8]
movabs rcx, 0x100000001b3
xor rdx, rax
inc r9
imul rdx, rcx
cmp r9, 8
jb 0x180049d4e
mov rcx, qword [r11 + rbx + 0x160]
mov r9, qword [r11 + rbx + 0x148]
and rcx, rdx
mov rdx, qword [r11 + rbx + 0x138]
add rcx, rcx
mov rax, qword [r9 + rcx*8 + 8]
cmp rax, rdx
je 0x180049dad
mov r9, qword [r9 + rcx*8]
jmp 0x180049da5
cmp rax, r9
je 0x180049dad
mov rax, qword [rax + 8]
cmp r10, qword [rax + 0x10]
jne 0x180049d9c
jmp 0x180049daf
xor eax, eax
test rax, rax
cmove rax, rdx
cmp rax, rdx
je 0x180049dc7
mov rcx, qword [rax + 0x18]
and qword [r8 + 8], 0
mov qword [r8], rcx
mov rbx, qword [rsp + 0x10]
ret