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

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 r12
push r14
push r15
sub rsp, 0x30
mov r12, r8
mov r14, rdx
xor ecx, ecx
movabs r15, 0xcbf29ce484222325
movzx eax, byte [r8 + rcx]
xor r15, rax
movabs rdx, 0x100000001b3
imul r15, rdx
inc rcx
cmp rcx, 4
jb 0x18002cc1b
mov rax, qword [0x180190960]
and rax, r15
add rax, rax
mov rcx, qword [0x180190948]
mov rbx, qword [rcx + rax*8 + 8]
mov rbp, qword [0x180190938]
cmp rbx, rbp
jne 0x18002ccc6
mov rbx, rbp
mov rsi, rbp
movabs rax, 0x7ffffffffffffff
cmp qword [0x180190940], rax
je 0x18002ce41
lea rax, [0x180190938]
mov qword [rsp + 0x20], rax
and qword [rsp + 0x28], 0
mov ecx, 0x20
call fcn.1800bd464
mov rdi, rax
mov qword [rsp + 0x28], rax
mov ecx, dword [r12]
mov dword [rax + 0x10], ecx
and qword [rax + 0x18], 0
mov r8, qword [0x180190940]
lea rcx, [r8 + 1]
xorps xmm0, xmm0
test rcx, rcx
js 0x18002cd09
cvtsi2ss xmm0, rcx
jmp 0x18002cd1e
mov rdx, qword [rcx + rax*8]
mov eax, dword [r8]
jmp 0x18002ccd8
cmp rbx, rdx
je 0x18002ccff
mov rbx, qword [rbx + 8]
cmp eax, dword [rbx + 0x10]
jne 0x18002cccf
mov rbp, qword [rbx]
mov rsi, rbp
mov rax, rbx
mov rbx, rbp
test rax, rax
je 0x18002cc65
mov qword [r14], rax
mov byte [r14 + 8], 0
jmp 0x18002ce1f
mov rbp, rbx
xor eax, eax
mov rsi, rbx
jmp 0x18002cce9
mov rax, rcx
shr rax, 1
and ecx, 1
or rax, rcx
cvtsi2ss xmm0, rax
addss xmm0, xmm0
mov rcx, qword [0x180190968]
xorps xmm1, xmm1
test rcx, rcx
js 0x18002cd34
cvtsi2ss xmm1, rcx
jmp 0x18002cd49
mov rax, rcx
shr rax, 1
and ecx, 1
or rax, rcx
cvtsi2ss xmm1, rax
addss xmm1, xmm1
divss xmm0, xmm1
comiss xmm0, dword [0x180190930]
seta al
test al, al
je 0x18002cdb6
call fcn.18002d988
mov rcx, qword [0x180190960]
and rcx, r15
add rcx, rcx
mov rdx, qword [0x180190948]
mov rax, qword [rdx + rcx*8 + 8]
mov rbx, qword [0x180190938]
cmp rax, rbx
je 0x18002cda2
mov r8, qword [rdx + rcx*8]
mov ecx, dword [rdi + 0x10]
jmp 0x18002cd9a
mov rbx, rax
cmp rax, r8
je 0x18002cdf9
mov rax, qword [rax + 8]
cmp ecx, dword [rax + 0x10]
jne 0x18002cd8e
mov rbx, qword [rax]
mov qword [rsp + 0x20], rbx
mov rsi, rbx
mov rbp, qword [rsp + 0x20]
mov r8, qword [0x180190940]
mov rdx, qword [rbx + 8]
inc r8
mov qword [0x180190940], r8
mov qword [rdi], rbp
mov qword [rdi + 8], rdx
mov qword [rdx], rdi
mov qword [rbx + 8], rdi
mov rax, qword [0x180190960]
and rax, r15
add rax, rax
mov rcx, qword [0x180190948]
mov r8, qword [rcx + rax*8]
cmp r8, qword [0x180190938]
jne 0x18002ce00
mov qword [rcx + rax*8], rdi
jmp 0x18002ce12
mov qword [rsp + 0x20], rax
jmp 0x18002cda7
cmp r8, rsi
jne 0x18002ce0b
mov qword [rcx + rax*8], rdi
jmp 0x18002ce17
cmp qword [rcx + rax*8 + 8], rdx
jne 0x18002ce17
mov qword [rcx + rax*8 + 8], rdi
mov qword [r14], rdi
mov byte [r14 + 8], 1
mov rax, r14
mov rbx, qword [rsp + 0x50]
mov rbp, qword [rsp + 0x58]
mov rsi, qword [rsp + 0x60]
mov rdi, qword [rsp + 0x68]
add rsp, 0x30
pop r15
pop r14
pop r12
ret
lea rcx, str.unordered_map_set_too_long
call fcn.1800ba680
int3
Function at 0x18002ce50
Capabilities:
Encode data using xor
Hash data using fnv

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 r12
push r14
push r15
sub rsp, 0x30
mov r12, r8
mov r14, rdx
xor ecx, ecx
movabs r15, 0xcbf29ce484222325
movzx eax, byte [r8 + rcx]
xor r15, rax
movabs rdx, 0x100000001b3
imul r15, rdx
inc rcx
cmp rcx, 4
jb 0x18002ce7f
mov rax, qword [0x180190920]
and rax, r15
add rax, rax
mov rcx, qword [0x180190908]
mov rbx, qword [rcx + rax*8 + 8]
mov rbp, qword [0x1801908f8]
cmp rbx, rbp
jne 0x18002cf2a
mov rbx, rbp
mov rsi, rbp
movabs rax, 0x7ffffffffffffff
cmp qword [0x180190900], rax
je 0x18002d0a5
lea rax, [0x1801908f8]
mov qword [rsp + 0x20], rax
and qword [rsp + 0x28], 0
mov ecx, 0x20
call fcn.1800bd464
mov rdi, rax
mov qword [rsp + 0x28], rax
mov ecx, dword [r12]
mov dword [rax + 0x10], ecx
and qword [rax + 0x18], 0
mov r8, qword [0x180190900]
lea rcx, [r8 + 1]
xorps xmm0, xmm0
test rcx, rcx
js 0x18002cf6d
cvtsi2ss xmm0, rcx
jmp 0x18002cf82
mov rdx, qword [rcx + rax*8]
mov eax, dword [r8]
jmp 0x18002cf3c
cmp rbx, rdx
je 0x18002cf63
mov rbx, qword [rbx + 8]
cmp eax, dword [rbx + 0x10]
jne 0x18002cf33
mov rbp, qword [rbx]
mov rsi, rbp
mov rax, rbx
mov rbx, rbp
test rax, rax
je 0x18002cec9
mov qword [r14], rax
mov byte [r14 + 8], 0
jmp 0x18002d083
mov rbp, rbx
xor eax, eax
mov rsi, rbx
jmp 0x18002cf4d
mov rax, rcx
shr rax, 1
and ecx, 1
or rax, rcx
cvtsi2ss xmm0, rax
addss xmm0, xmm0
mov rcx, qword [0x180190928]
xorps xmm1, xmm1
test rcx, rcx
js 0x18002cf98
cvtsi2ss xmm1, rcx
jmp 0x18002cfad
mov rax, rcx
shr rax, 1
and ecx, 1
or rax, rcx
cvtsi2ss xmm1, rax
addss xmm1, xmm1
divss xmm0, xmm1
comiss xmm0, dword [0x1801908f0]
seta al
test al, al
je 0x18002d01a
call fcn.18002dbac
mov rcx, qword [0x180190920]
and rcx, r15
add rcx, rcx
mov rdx, qword [0x180190908]
mov rax, qword [rdx + rcx*8 + 8]
mov rbx, qword [0x1801908f8]
cmp rax, rbx
je 0x18002d006
mov r8, qword [rdx + rcx*8]
mov ecx, dword [rdi + 0x10]
jmp 0x18002cffe
mov rbx, rax
cmp rax, r8
je 0x18002d05d
mov rax, qword [rax + 8]
cmp ecx, dword [rax + 0x10]
jne 0x18002cff2
mov rbx, qword [rax]
mov qword [rsp + 0x20], rbx
mov rsi, rbx
mov rbp, qword [rsp + 0x20]
mov r8, qword [0x180190900]
mov rdx, qword [rbx + 8]
inc r8
mov qword [0x180190900], r8
mov qword [rdi], rbp
mov qword [rdi + 8], rdx
mov qword [rdx], rdi
mov qword [rbx + 8], rdi
mov rax, qword [0x180190920]
and rax, r15
add rax, rax
mov rcx, qword [0x180190908]
mov r8, qword [rcx + rax*8]
cmp r8, qword [0x1801908f8]
jne 0x18002d064
mov qword [rcx + rax*8], rdi
jmp 0x18002d076
mov qword [rsp + 0x20], rax
jmp 0x18002d00b
cmp r8, rsi
jne 0x18002d06f
mov qword [rcx + rax*8], rdi
jmp 0x18002d07b
cmp qword [rcx + rax*8 + 8], rdx
jne 0x18002d07b
mov qword [rcx + rax*8 + 8], rdi
mov qword [r14], rdi
mov byte [r14 + 8], 1
mov rax, r14
mov rbx, qword [rsp + 0x50]
mov rbp, qword [rsp + 0x58]
mov rsi, qword [rsp + 0x60]
mov rdi, qword [rsp + 0x68]
add rsp, 0x30
pop r15
pop r14
pop r12
ret
lea rcx, str.unordered_map_set_too_long
call fcn.1800ba680
int3
Function at 0x18002d7ac
Capabilities:
Encode data using xor
Hash data using fnv

Disassembly:
push rbp
push rbx
push rsi
push rdi
push r14
push r15
mov rbp, rsp
sub rsp, 0x58
mov rax, qword [rcx + 8]
lea rbx, [rdx + 0xa8]
mov r14, rcx
mov rsi, rdx
mov rcx, rbx
mov rdi, qword [rax]
mov qword [rbp + 0x38], rdi
call fcn.1800bbc20
test eax, eax
jne 0x18002d937
mov eax, dword [rbx + 0x4c]
cmp eax, 0x7fffffff
je 0x18002d942
movabs rcx, 0xcbf29ce484222325
xor edx, edx
movzx eax, byte [rbp + rdx + 0x38]
movabs r8, 0x100000001b3
xor rcx, rax
inc rdx
imul rcx, r8
cmp rdx, 8
jb 0x18002d7fe
mov rdx, qword [rsi + 0x128]
mov r8, qword [rsi + 0x110]
and rdx, rcx
mov rcx, qword [rsi + 0x100]
add rdx, rdx
mov rax, qword [r8 + rdx*8 + 8]
cmp rax, rcx
je 0x18002d859
mov r9, qword [r8 + rdx*8]
jmp 0x18002d851
cmp rax, r9
je 0x18002d859
mov rax, qword [rax + 8]
cmp rdi, qword [rax + 0x10]
jne 0x18002d848
jmp 0x18002d85b
xor eax, eax
test rax, rax
cmove rax, rcx
cmp rax, rcx
jne 0x18002d86c
xor dil, dil
jmp 0x18002d875
cmp qword [rax + 0x38], 0
setne dil
mov rcx, rbx
call fcn.1800bbc28
test dil, dil
je 0x18002d91a
mov rax, qword [r14 + 0x30]
mov rcx, qword [rax]
mov rax, qword [r14 + 0x28]
mov qword [rbp - 0x38], rcx
mov rcx, qword [rax]
mov rax, qword [r14 + 0x20]
mov qword [rbp + 0x50], rcx
movsxd rcx, dword [rax]
mov rax, qword [r14 + 0x18]
mov qword [rbp + 0x40], rcx
mov rcx, qword [rax]
mov rax, qword [r14 + 8]
mov qword [rbp + 0x48], rcx
mov rcx, qword [rax]
lea rax, [rbp + 0x38]
mov qword [rbp - 0x30], rax
lea rax, [rbp + 0x40]
mov qword [rbp - 0x28], rax
lea rax, [rbp + 0x48]
mov qword [rbp - 0x20], rax
lea rax, [rbp + 0x50]
mov qword [rbp - 0x18], rax
lea rax, [rbp - 0x38]
mov qword [rbp + 0x38], rcx
mov rcx, rbx
mov qword [rbp - 0x10], rax
call fcn.1800bbc20
test eax, eax
jne 0x18002d952
mov eax, dword [rbx + 0x4c]
cmp eax, 0x7fffffff
je 0x18002d927
lea rdx, [rbx + 0x50]
lea rcx, [rbp - 0x30]
call fcn.18006bbf8
mov rcx, rbx
mov rdi, rax
call fcn.1800bbc28
mov rcx, qword [r14 + 0x10]
mov qword [rcx], rdi
add rsp, 0x58
pop r15
pop r14
pop rdi
pop rsi
pop rbx
pop rbp
ret
dec eax
mov ecx, 6
mov dword [rbx + 0x4c], eax
call fcn.1800bbbc4
int3
mov ecx, 5
call fcn.1800bbbc4
int3
dec eax
mov ecx, 6
mov dword [rbx + 0x4c], eax
call fcn.1800bbbc4
int3
mov ecx, 5
call fcn.1800bbbc4
int3
Function at 0x18002d988
Capabilities:
Encode data using xor
Hash data using fnv

Disassembly:
mov qword [rsp + 8], rbx
push rdi
sub rsp, 0x20
mov rcx, qword [0x180190940]
xorps xmm0, xmm0
add rcx, 1
js 0x18002d9a9
cvtsi2ss xmm0, rcx
jmp 0x18002d9be
mov rax, rcx
and ecx, 1
shr rax, 1
or rax, rcx
cvtsi2ss xmm0, rax
addss xmm0, xmm0
divss xmm0, dword [0x180190930]
call fcn.1800e86b8
movss xmm1, dword [0x18016bfc8]
xor ecx, ecx
comiss xmm0, xmm1
jb 0x18002d9f0
subss xmm0, xmm1
comiss xmm0, xmm1
jae 0x18002d9f0
movabs rax, 0x8000000000000000
mov rcx, rax
mov rdx, qword [0x180190968]
cvttss2si rax, xmm0
add rax, rcx
mov ecx, 8
cmp rax, rcx
cmova rcx, rax
cmp rdx, rcx
jae 0x18002da25
cmp rdx, 0x200
jae 0x18002da22
shl rdx, 3
cmp rdx, rcx
jae 0x18002da25
mov rdx, rcx
movabs rax, 0xfffffffffffffff
bsr rcx, rax
mov eax, 1
shl rax, cl
cmp rdx, rax
ja 0x18002db9d
mov rbx, qword [0x180190938]
lea rax, [rdx - 1]
or rax, 1
mov edi, 1
bsr rcx, rax
mov r8, rbx
inc ecx
shl rdi, cl
lea rcx, [0x180190948]
lea rdx, [rdi + rdi]
call fcn.18001c8fc
mov rax, qword [0x180190938]
lea r9, [rdi - 1]
mov qword [0x180190960], r9
mov qword [0x180190968], rdi
mov rax, qword [rax]
mov rcx, rax
cmp rax, rbx
je 0x18002db92
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, 4
jb 0x18002daac
mov rdi, qword [0x180190948]
and r11, r9
add r11, r11
cmp qword [rdi + r11*8], rbx
jne 0x18002daea
mov qword [rdi + r11*8], rax
mov qword [rdi + r11*8 + 8], rax
jmp 0x18002db58
mov r10, qword [rdi + r11*8 + 8]
mov edx, dword [rax + 0x10]
cmp edx, dword [r10 + 0x10]
jne 0x18002db2d
mov r10, qword [r10]
cmp r10, rax
je 0x18002dae3
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 0x18002dae3
mov r10, qword [r10 + 8]
cmp edx, dword [r10 + 0x10]
je 0x18002db6c
cmp qword [rdi + r11*8], r10
jne 0x18002db23
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 0x18002db92
mov r9, qword [0x180190960]
jmp 0x18002da9c
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 0x18002db58
mov rbx, qword [rsp + 0x30]
add rsp, 0x20
pop rdi
ret
lea rcx, str.invalid_hash_bucket_count
call fcn.1800ba680
int3
Function at 0x18002dbac
Capabilities:
Encode data using xor
Hash data using fnv

Disassembly:
mov qword [rsp + 8], rbx
push rdi
sub rsp, 0x20
mov rcx, qword [0x180190900]
xorps xmm0, xmm0
add rcx, 1
js 0x18002dbcd
cvtsi2ss xmm0, rcx
jmp 0x18002dbe2
mov rax, rcx
and ecx, 1
shr rax, 1
or rax, rcx
cvtsi2ss xmm0, rax
addss xmm0, xmm0
divss xmm0, dword [0x1801908f0]
call fcn.1800e86b8
movss xmm1, dword [0x18016bfc8]
xor ecx, ecx
comiss xmm0, xmm1
jb 0x18002dc14
subss xmm0, xmm1
comiss xmm0, xmm1
jae 0x18002dc14
movabs rax, 0x8000000000000000
mov rcx, rax
mov rdx, qword [0x180190928]
cvttss2si rax, xmm0
add rax, rcx
mov ecx, 8
cmp rax, rcx
cmova rcx, rax
cmp rdx, rcx
jae 0x18002dc49
cmp rdx, 0x200
jae 0x18002dc46
shl rdx, 3
cmp rdx, rcx
jae 0x18002dc49
mov rdx, rcx
movabs rax, 0xfffffffffffffff
bsr rcx, rax
mov eax, 1
shl rax, cl
cmp rdx, rax
ja 0x18002ddc1
mov rbx, qword [0x1801908f8]
lea rax, [rdx - 1]
or rax, 1
mov edi, 1
bsr rcx, rax
mov r8, rbx
inc ecx
shl rdi, cl
lea rcx, [0x180190908]
lea rdx, [rdi + rdi]
call fcn.18001c8fc
mov rax, qword [0x1801908f8]
lea r9, [rdi - 1]
mov qword [0x180190920], r9
mov qword [0x180190928], rdi
mov rax, qword [rax]
mov rcx, rax
cmp rax, rbx
je 0x18002ddb6
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, 4
jb 0x18002dcd0
mov rdi, qword [0x180190908]
and r11, r9
add r11, r11
cmp qword [rdi + r11*8], rbx
jne 0x18002dd0e
mov qword [rdi + r11*8], rax
mov qword [rdi + r11*8 + 8], rax
jmp 0x18002dd7c
mov r10, qword [rdi + r11*8 + 8]
mov edx, dword [rax + 0x10]
cmp edx, dword [r10 + 0x10]
jne 0x18002dd51
mov r10, qword [r10]
cmp r10, rax
je 0x18002dd07
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 0x18002dd07
mov r10, qword [r10 + 8]
cmp edx, dword [r10 + 0x10]
je 0x18002dd90
cmp qword [rdi + r11*8], r10
jne 0x18002dd47
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 0x18002ddb6
mov r9, qword [0x180190920]
jmp 0x18002dcc0
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 0x18002dd7c
mov rbx, qword [rsp + 0x30]
add rsp, 0x20
pop rdi
ret
lea rcx, str.invalid_hash_bucket_count
call fcn.1800ba680
int3
Function at 0x180038734
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 0x180038822
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 0x180038793
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.1800388b4
mov rax, qword [rbp + 0x48]
cmp r15, rax
je 0x1800387f7
mov rcx, qword [rbp - 0x10]
cmp rcx, rdi
je 0x18003880d
cmp rcx, rax
lea rcx, [rbp - 0x20]
sete bl
call fcn.1800388b4
mov rax, qword [rbp + 0x48]
test bl, bl
je 0x1800387d3
mov rbx, qword [rbp + 0x50]
cmp rbx, r15
jne 0x180038803
mov qword [r14 + rsi*8], r12
mov r13, r12
mov qword [r14 + rsi*8 + 8], r13
jmp 0x1800388a4
cmp qword [rbp + 0x50], r15
jne 0x180038817
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 0x180038854
mov r13, qword [rbp + 0x40]
mov rsi, qword [r13 + 0x30]
and rsi, rdx
add rsi, rsi
mov r15, qword [r14 + rsi*8 + 8]
jmp 0x180038888
mov rcx, qword [rbp - 0x10]
cmp rcx, rdi
je 0x180038813
cmp rcx, r15
lea rcx, [rbp - 0x20]
sete bl
call fcn.1800388b4
test bl, bl
je 0x18003887f
mov qword [r14 + rsi*8], r12
mov qword [r14 + rsi*8 + 8], r12
mov rcx, qword [rbp - 0x10]
cmp rcx, rdi
jne 0x18003883d
jmp 0x180038817

Function at 0x180038cbc
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 0x180038ccc
mov rdx, qword [0x180190c20]
mov r9, qword [0x180190c08]
and rdx, rcx
mov rcx, qword [0x180190bf8]
add rdx, rdx
mov rax, qword [r9 + rdx*8 + 8]
cmp rax, rcx
je 0x180038d2a
mov r9, qword [r9 + rdx*8]
mov rdx, qword [r8]
jmp 0x180038d22
cmp rax, r9
je 0x180038d2a
mov rax, qword [rax + 8]
cmp rdx, qword [rax + 0x10]
jne 0x180038d19
jmp 0x180038d2c
xor eax, eax
test rax, rax
cmovne rcx, rax
mov rax, r10
mov qword [r10], rcx
ret
Function at 0x180039f94
Capabilities:
Encode data using xor
Hash data using fnv

Disassembly:
mov qword [rsp + 8], rbx
push rdi
sub rsp, 0x20
mov rcx, qword [0x180190c00]
xorps xmm0, xmm0
add rcx, 1
js 0x180039fb5
cvtsi2ss xmm0, rcx
jmp 0x180039fca
mov rax, rcx
and ecx, 1
shr rax, 1
or rax, rcx
cvtsi2ss xmm0, rax
addss xmm0, xmm0
divss xmm0, dword [0x180190bf0]
call fcn.1800e86b8
movss xmm1, dword [0x18016bfc8]
xor ecx, ecx
comiss xmm0, xmm1
jb 0x180039ffc
subss xmm0, xmm1
comiss xmm0, xmm1
jae 0x180039ffc
movabs rax, 0x8000000000000000
mov rcx, rax
mov rdx, qword [0x180190c28]
cvttss2si rax, xmm0
add rax, rcx
mov ecx, 8
cmp rax, rcx
cmova rcx, rax
cmp rdx, rcx
jae 0x18003a031
cmp rdx, 0x200
jae 0x18003a02e
shl rdx, 3
cmp rdx, rcx
jae 0x18003a031
mov rdx, rcx
movabs rax, 0xfffffffffffffff
bsr rcx, rax
mov eax, 1
shl rax, cl
cmp rdx, rax
ja 0x18003a1aa
mov rbx, qword [0x180190bf8]
lea rax, [rdx - 1]
or rax, 1
mov edi, 1
bsr rcx, rax
mov r8, rbx
inc ecx
shl rdi, cl
lea rcx, [0x180190c08]
lea rdx, [rdi + rdi]
call fcn.180038a60
mov rax, qword [0x180190bf8]
lea r9, [rdi - 1]
mov qword [0x180190c20], r9
mov qword [0x180190c28], rdi
mov rax, qword [rax]
mov rcx, rax
cmp rax, rbx
je 0x18003a19f
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 0x18003a0b8
mov rdi, qword [0x180190c08]
and r11, r9
add r11, r11
cmp qword [rdi + r11*8], rbx
jne 0x18003a0f6
mov qword [rdi + r11*8], rax
mov qword [rdi + r11*8 + 8], rax
jmp 0x18003a165
mov r10, qword [rdi + r11*8 + 8]
mov rdx, qword [rax + 0x10]
cmp rdx, qword [r10 + 0x10]
jne 0x18003a13a
mov r10, qword [r10]
cmp r10, rax
je 0x18003a0ef
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 0x18003a0ef
mov r10, qword [r10 + 8]
cmp rdx, qword [r10 + 0x10]
je 0x18003a179
cmp qword [rdi + r11*8], r10
jne 0x18003a130
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 0x18003a19f
mov r9, qword [0x180190c20]
jmp 0x18003a0a8
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 0x18003a165
mov rbx, qword [rsp + 0x30]
add rsp, 0x20
pop rdi
ret
lea rcx, str.invalid_hash_bucket_count
call fcn.1800ba680
int3
Function at 0x180041290
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.180041160
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 0x1800412b2
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 0x180041302
mov rdx, qword [rdx + rcx*8]
jmp 0x1800412fa
cmp rax, rdx
je 0x180041302
mov rax, qword [rax + 8]
cmp rbx, qword [rax + 0x10]
jne 0x1800412f1
jmp 0x180041304
xor eax, eax
test rax, rax
cmove rax, qword [r10 + 8]
cmp rax, qword [r10 + 8]
jne 0x180041316
xor eax, eax
jmp 0x180041324
add rax, 0x18
cmp qword [rax + 0x18], 0xf
jbe 0x180041324
mov rax, qword [rax]
add rsp, 0x20
pop rbx
ret
Function at 0x180042488
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 0x1800424b8
cvtsi2ss xmm0, rdx
jmp 0x1800424cd
mov rax, rdx
and edx, 1
shr rax, 1
or rax, rdx
cvtsi2ss xmm0, rax
addss xmm0, xmm0
divss xmm0, dword [rcx]
call fcn.1800e86b8
movss xmm1, dword [0x18016bfc8]
xor ecx, ecx
comiss xmm0, xmm1
jb 0x1800424fb
subss xmm0, xmm1
comiss xmm0, xmm1
jae 0x1800424fb
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 0x180042529
cmp rbx, 0x200
jae 0x180042526
shl rbx, 3
cmp rbx, rcx
jae 0x180042529
mov rbx, rcx
movabs rax, 0xfffffffffffffff
bsr rcx, rax
mov eax, 1
shl rax, cl
cmp rbx, rax
ja 0x180042697
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.18001c8fc
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 0x18004265b
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 0x1800425a1
mov r11, qword [rsi + 0x30]
mov rdi, qword [rsi + 0x18]
and r11, r8
add r11, r11
cmp qword [rdi + r11*8], rbx
jne 0x1800425e0
mov qword [rdi + r11*8], rax
mov qword [rdi + r11*8 + 8], rax
jmp 0x18004264f
mov r10, qword [rdi + r11*8 + 8]
mov rdx, qword [rax + 0x10]
cmp rdx, qword [r10 + 0x10]
jne 0x180042624
mov r10, qword [r10]
cmp r10, rax
je 0x1800425d9
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 0x1800425d9
mov r10, qword [r10 + 8]
cmp rdx, qword [r10 + 0x10]
je 0x180042671
cmp qword [rdi + r11*8], r10
jne 0x18004261a
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 0x180042591
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 0x18004264f
lea rcx, str.invalid_hash_bucket_count
call fcn.1800ba680
int3