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

Disassembly:
mov qword [rsp + 0x20], rbx
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
sub rsp, 0x30
mov r13, r8
mov rsi, rdx
mov rbp, 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 0x14004c6e9
mov rax, qword [rbp + 0x30]
and rax, r12
add rax, rax
mov rcx, qword [rbp + 0x18]
mov rbx, qword [rcx + rax*8 + 8]
lea rdx, [rbp + 8]
mov r15, qword [rdx]
cmp rbx, r15
jne 0x14004c72f
mov rbx, r15
mov r14, r15
jmp 0x14004c772
mov rdx, qword [rcx + rax*8]
mov eax, dword [r8]
jmp 0x14004c741
cmp rbx, rdx
je 0x14004c768
mov rbx, qword [rbx + 8]
cmp eax, dword [rbx + 0x10]
jne 0x14004c738
mov qword [rsi], rbx
mov byte [rsi + 8], 0
mov rax, rsi
mov rbx, qword [rsp + 0x88]
add rsp, 0x30
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret
mov r15, rbx
mov r14, rbx
lea rdx, [rbp + 8]
movabs rax, 0x555555555555555
cmp qword [rbp + 0x10], rax
je 0x14004c8c0
mov qword [rsp + 0x20], rdx
and qword [rsp + 0x28], 0
mov ecx, 0x30
call fcn.1400c8ac8
mov rdi, rax
mov qword [rsp + 0x28], rax
mov eax, dword [r13]
mov dword [rdi + 0x10], eax
xor r13d, r13d
mov qword [rdi + 0x18], r13
mov qword [rdi + 0x20], r13
mov qword [rdi + 0x28], r13
mov rcx, qword [rbp + 0x10]
add rcx, 1
xorps xmm0, xmm0
js 0x14004c7cd
cvtsi2ss xmm0, rcx
jmp 0x14004c7e2
mov rax, rcx
shr rax, 1
and ecx, 1
or rax, rcx
cvtsi2ss xmm0, rax
addss xmm0, xmm0
mov rcx, qword [rbp + 0x38]
xorps xmm1, xmm1
test rcx, rcx
js 0x14004c7f5
cvtsi2ss xmm1, rcx
jmp 0x14004c80a
mov rax, rcx
shr rax, 1
and ecx, 1
or rax, rcx
cvtsi2ss xmm1, rax
addss xmm1, xmm1
divss xmm0, xmm1
comiss xmm0, dword [rbp]
jbe 0x14004c862
mov rcx, rbp
call fcn.14004dedc
mov rcx, qword [rbp + 0x30]
and rcx, r12
add rcx, rcx
mov rdx, qword [rbp + 0x18]
mov rax, qword [rdx + rcx*8 + 8]
mov rbx, qword [rbp + 8]
cmp rax, rbx
je 0x14004c855
mov r8, qword [rdx + rcx*8]
mov ecx, dword [rdi + 0x10]
jmp 0x14004c84d
mov rbx, rax
cmp rax, r8
je 0x14004c896
mov rax, qword [rax + 8]
cmp ecx, dword [rax + 0x10]
jne 0x14004c841
mov rbx, qword [rax]
mov qword [rsp + 0x20], rbx
mov r14, rbx
mov r15, qword [rsp + 0x20]
mov rdx, qword [rbx + 8]
inc qword [rbp + 0x10]
mov qword [rdi], r15
mov qword [rdi + 8], rdx
mov qword [rdx], rdi
mov qword [rbx + 8], rdi
mov rcx, qword [rbp + 0x18]
mov rax, qword [rbp + 0x30]
and rax, r12
add rax, rax
mov r8, qword [rcx + rax*8]
cmp r8, qword [rbp + 8]
jne 0x14004c89d
mov qword [rcx + rax*8], rdi
jmp 0x14004c8af
mov qword [rsp + 0x20], rax
jmp 0x14004c85a
cmp r8, r14
jne 0x14004c8a8
mov qword [rcx + rax*8], rdi
jmp 0x14004c8b4
cmp qword [rcx + rax*8 + 8], rdx
jne 0x14004c8b4
mov qword [rcx + rax*8 + 8], rdi
mov qword [rsi], rdi
mov byte [rsi + 8], 1
jmp 0x14004c74d
lea rcx, str.unordered_map_set_too_long
call fcn.1400c9af8
int3
Function at 0x14004caec
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, 0x40
mov r13, r8
mov rsi, rdx
mov rbp, rcx
xor ecx, ecx
movabs r15, 0xcbf29ce484222325
movzx eax, byte [rcx + r8]
xor r15, rax
movabs rdx, 0x100000001b3
imul r15, rdx
inc rcx
cmp rcx, 4
jb 0x14004cb1d
mov rax, qword [rbp + 0x30]
and rax, r15
add rax, rax
mov rcx, qword [rbp + 0x18]
mov rbx, qword [rcx + rax*8 + 8]
lea rdx, [rbp + 8]
mov r12, qword [rdx]
cmp rbx, r12
jne 0x14004cb63
mov rbx, r12
mov r14, r12
jmp 0x14004cbac
mov rdx, qword [rcx + rax*8]
mov eax, dword [r8]
jmp 0x14004cb75
cmp rbx, rdx
je 0x14004cba2
mov rbx, qword [rbx + 8]
cmp eax, dword [rbx + 0x10]
jne 0x14004cb6c
mov qword [rsi], rbx
mov byte [rsi + 8], 0
mov rax, rsi
lea r11, [rsp + 0x40]
mov rbx, qword [r11 + 0x30]
mov rbp, qword [r11 + 0x38]
mov rsi, qword [r11 + 0x40]
mov rsp, r11
pop r15
pop r14
pop r13
pop r12
pop rdi
ret
mov r12, rbx
mov r14, rbx
lea rdx, [rbp + 8]
movabs rax, 0x492492492492492
cmp qword [rbp + 0x10], rax
je 0x14004cd14
mov qword [rsp + 0x30], rdx
and qword [rsp + 0x38], 0
mov ecx, 0x38
call fcn.1400c8ac8
mov rdi, rax
mov qword [rsp + 0x38], rax
mov ecx, dword [r13]
mov dword [rax + 0x10], ecx
xorps xmm0, xmm0
movups xmmword [rax + 0x18], xmm0
xor r13d, r13d
mov qword [rax + 0x28], r13
mov qword [rax + 0x30], send
mov byte [rax + 0x18], r13b
mov rcx, qword [rbp + 0x10]
add rcx, 1
xorps xmm0, xmm0
js 0x14004cc12
cvtsi2ss xmm0, rcx
jmp 0x14004cc27
mov rax, rcx
shr rax, 1
and ecx, 1
or rax, rcx
cvtsi2ss xmm0, rax
addss xmm0, xmm0
mov rcx, qword [rbp + 0x38]
xorps xmm1, xmm1
test rcx, rcx
js 0x14004cc3a
cvtsi2ss xmm1, rcx
jmp 0x14004cc4f
mov rax, rcx
shr rax, 1
and ecx, 1
or rax, rcx
cvtsi2ss xmm1, rax
addss xmm1, xmm1
divss xmm0, xmm1
comiss xmm0, dword [rbp]
jbe 0x14004cca7
mov rcx, rbp
call fcn.14004e128
mov rcx, qword [rbp + 0x30]
and rcx, r15
add rcx, rcx
mov rdx, qword [rbp + 0x18]
mov rax, qword [rdx + rcx*8 + 8]
mov rbx, qword [rbp + 8]
cmp rax, rbx
je 0x14004cc9a
mov r8, qword [rdx + rcx*8]
mov ecx, dword [rdi + 0x10]
jmp 0x14004cc92
mov rbx, rax
cmp rax, r8
je 0x14004cce0
mov rax, qword [rax + 8]
cmp ecx, dword [rax + 0x10]
jne 0x14004cc86
mov rbx, qword [rax]
mov qword [rsp + 0x20], rbx
mov r14, rbx
mov r12, qword [rsp + 0x20]
mov qword [rsp + 0x38], r13
mov rdx, qword [rbx + 8]
inc qword [rbp + 0x10]
mov qword [rdi], r12
mov qword [rdi + 8], rdx
mov qword [rdx], rdi
mov qword [rbx + 8], rdi
mov rcx, qword [rbp + 0x18]
mov rax, qword [rbp + 0x30]
and rax, r15
add rax, rax
mov r8, qword [rcx + rax*8]
cmp r8, qword [rbp + 8]
jne 0x14004cce7
mov qword [rcx + rax*8], rdi
jmp 0x14004ccf9
mov qword [rsp + 0x20], rax
jmp 0x14004cc9f
cmp r8, r14
jne 0x14004ccf2
mov qword [rcx + rax*8], rdi
jmp 0x14004ccfe
cmp qword [rcx + rax*8 + 8], rdx
jne 0x14004ccfe
mov qword [rcx + rax*8 + 8], rdi
mov qword [rsi], rdi
mov byte [rsi + 8], 1
lea rcx, [rsp + 0x30]
call fcn.14004dbd0
jmp 0x14004cb81
lea rcx, str.unordered_map_set_too_long
call fcn.1400c9af8
int3
Function at 0x14004dedc
Capabilities:
Encode data using xor
Hash data using fnv

Disassembly:
mov qword [rsp + 0x10], rbx
mov qword [rsp + 0x18], rbp
push rsi
push rdi
push r14
sub rsp, 0x30
mov rdx, qword [rcx + 0x10]
mov ebp, 1
add rdx, rbp
mov r8, qword [rcx + 0x38]
mov rsi, rcx
xorps xmm1, xmm1
js 0x14004df0d
cvtsi2ss xmm1, rdx
jmp 0x14004df22
mov rax, rdx
and rdx, rbp
shr rax, 1
or rax, rdx
cvtsi2ss xmm1, rax
addss xmm1, xmm1
divss xmm1, dword [rcx]
cvttss2si ecx, xmm1
cmp ecx, 0x80000000
je 0x14004df51
movd xmm0, ecx
cvtdq2ps xmm0, xmm0
ucomiss xmm0, xmm1
je 0x14004df51
unpcklps xmm1, xmm1
movmskps eax, xmm1
and eax, ebp
xor eax, ebp
add ecx, eax
movd xmm1, ecx
cvtdq2ps xmm1, xmm1
movss xmm0, dword [0x14014a104]
xor ecx, ecx
comiss xmm1, xmm0
jb 0x14004df76
subss xmm1, xmm0
comiss xmm1, xmm0
jae 0x14004df76
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 0x14004dfa4
cmp r8, 0x200
jae 0x14004dfa1
shl r8, 3
cmp r8, rcx
jae 0x14004dfa4
mov r8, rcx
movabs rax, 0xfffffffffffffff
bsr rcx, rax
mov rax, rbp
shl rax, cl
cmp r8, rax
ja 0x14004e119
mov rbx, qword [rsi + 8]
lea rax, [r8 - 1]
or rax, rbp
mov rdi, rbp
bsr rcx, rax
mov r8, rbx
inc ecx
shl rdi, cl
lea rcx, [rsi + 0x18]
lea rdx, [rdi + rdi]
call fcn.14004b434
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 0x14004e0d0
mov rcx, qword [rcx]
movabs r8, 0xcbf29ce484222325
xor r9d, r9d
movzx edx, byte [r9 + rax + 0x10]
movabs r10, 0x100000001b3
xor r8, rdx
add r9, rbp
imul r8, r10
cmp r9, 4
jb 0x14004e017
mov r11, qword [rsi + 0x30]
mov rdi, qword [rsi + 0x18]
and r11, r8
add r11, r11
cmp qword [rdi + r11*8], rbx
jne 0x14004e056
mov qword [rdi + r11*8], rax
mov qword [rdi + r11*8 + 8], rax
jmp 0x14004e0c4
mov r10, qword [rdi + r11*8 + 8]
mov edx, dword [rax + 0x10]
cmp edx, dword [r10 + 0x10]
jne 0x14004e099
mov r10, qword [r10]
cmp r10, rax
je 0x14004e04f
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 0x14004e04f
mov r10, qword [r10 + 8]
cmp edx, dword [r10 + 0x10]
je 0x14004e0f3
cmp qword [rdi + r11*8], r10
jne 0x14004e08f
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 0x14004e007
and qword [rsp + 0x20], 0
lea rcx, [rsp + 0x20]
call fcn.14004e914
mov rbx, qword [rsp + 0x58]
mov rbp, qword [rsp + 0x60]
add rsp, 0x30
pop r14
pop rdi
pop rsi
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 0x14004e0c4
lea rcx, str.invalid_hash_bucket_count
call fcn.1400c9af8
int3
Function at 0x14004e128
Capabilities:
Encode data using xor
Hash data using fnv

Disassembly:
mov qword [rsp + 0x10], rbx
mov qword [rsp + 0x18], rbp
push rsi
push rdi
push r14
sub rsp, 0x20
mov rdx, qword [rcx + 0x10]
mov ebp, 1
add rdx, rbp
mov r8, qword [rcx + 0x38]
mov rsi, rcx
xorps xmm1, xmm1
js 0x14004e159
cvtsi2ss xmm1, rdx
jmp 0x14004e16e
mov rax, rdx
and rdx, rbp
shr rax, 1
or rax, rdx
cvtsi2ss xmm1, rax
addss xmm1, xmm1
divss xmm1, dword [rcx]
cvttss2si ecx, xmm1
cmp ecx, 0x80000000
je 0x14004e19d
movd xmm0, ecx
cvtdq2ps xmm0, xmm0
ucomiss xmm0, xmm1
je 0x14004e19d
unpcklps xmm1, xmm1
movmskps eax, xmm1
and eax, ebp
xor eax, ebp
add ecx, eax
movd xmm1, ecx
cvtdq2ps xmm1, xmm1
movss xmm0, dword [0x14014a104]
xor ecx, ecx
comiss xmm1, xmm0
jb 0x14004e1c2
subss xmm1, xmm0
comiss xmm1, xmm0
jae 0x14004e1c2
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 0x14004e1f0
cmp r8, 0x200
jae 0x14004e1ed
shl r8, 3
cmp r8, rcx
jae 0x14004e1f0
mov r8, rcx
movabs rax, 0xfffffffffffffff
bsr rcx, rax
mov rax, rbp
shl rax, cl
cmp r8, rax
ja 0x14004e355
mov rbx, qword [rsi + 8]
lea rax, [r8 - 1]
or rax, rbp
mov rdi, rbp
bsr rcx, rax
mov r8, rbx
inc ecx
shl rdi, cl
lea rcx, [rsi + 0x18]
lea rdx, [rdi + rdi]
call fcn.14004b434
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 0x14004e31c
mov rcx, qword [rcx]
movabs r8, 0xcbf29ce484222325
xor r9d, r9d
movzx edx, byte [rax + r9 + 0x10]
movabs r10, 0x100000001b3
xor r8, rdx
add r9, rbp
imul r8, r10
cmp r9, 4
jb 0x14004e263
mov r11, qword [rsi + 0x30]
mov rdi, qword [rsi + 0x18]
and r11, r8
add r11, r11
cmp qword [rdi + r11*8], rbx
jne 0x14004e2a2
mov qword [rdi + r11*8], rax
mov qword [rdi + r11*8 + 8], rax
jmp 0x14004e310
mov r10, qword [rdi + r11*8 + 8]
mov edx, dword [rax + 0x10]
cmp edx, dword [r10 + 0x10]
jne 0x14004e2e5
mov r10, qword [r10]
cmp r10, rax
je 0x14004e29b
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 0x14004e29b
mov r10, qword [r10 + 8]
cmp edx, dword [r10 + 0x10]
je 0x14004e32f
cmp qword [rdi + r11*8], r10
jne 0x14004e2db
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 0x14004e253
mov rbx, qword [rsp + 0x48]
mov rbp, qword [rsp + 0x50]
add rsp, 0x20
pop r14
pop rdi
pop rsi
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 0x14004e310
lea rcx, str.invalid_hash_bucket_count
call fcn.1400c9af8
int3
Function at 0x14004eab0
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, 0x40
mov qword [rsp + 0x38], rcx
mov rbp, r8
mov r13, rdx
cmp rdx, r8
je 0x14004eb80
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 + 0x20], rax
movabs r8, 0x100000001b3
movzx eax, byte [rdx + r13 + 0x10]
inc rdx
xor r15, rax
imul r15, r8
cmp rdx, 4
jb 0x14004eb0a
and r15, qword [rcx + 0x30]
add r15, r15
mov rax, qword [r12 + r15*8]
mov qword [rsp + 0x30], rax
mov rax, qword [r12 + r15*8 + 8]
mov qword [rsp + 0x28], rax
mov rbx, rsi
mov rdi, rsi
mov rsi, qword [rsi]
lea rcx, [rbx + 0x18]
call fcn.140052868
mov edx, 0x30
mov rcx, rbx
call fcn.1400c8ac0
mov rdx, qword [rsp + 0x38]
dec qword [rdx + 0x10]
cmp rbx, qword [rsp + 0x28]
je 0x14004eba1
cmp rsi, rbp
jne 0x14004eb3a
cmp qword [rsp + 0x30], r13
jne 0x14004eb79
mov qword [r12 + r15*8], rsi
mov qword [r14], rsi
mov qword [rsi + 8], r14
lea r11, [rsp + 0x40]
mov rax, rbp
mov rbx, qword [r11 + 0x38]
mov rbp, qword [r11 + 0x40]
mov rsi, qword [r11 + 0x48]
mov rsp, r11
pop r15
pop r14
pop r13
pop r12
pop rdi
ret
cmp qword [rsp + 0x30], r13
jne 0x14004ebb6
mov r13, qword [rsp + 0x20]
mov qword [r12 + r15*8], r13
mov rax, r13
jmp 0x14004ebb9
mov rax, r14
mov qword [r12 + r15*8 + 8], rax
jmp 0x14004ec4b
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 0x14004ebda
mov r15, qword [rdx + 0x30]
mov r13, qword [rsp + 0x20]
and r15, rcx
add r15, r15
mov rax, qword [r12 + r15*8 + 8]
mov qword [rsp + 0x28], rax
mov rbx, rsi
mov rdi, rsi
mov rsi, qword [rsi]
lea rcx, [rbx + 0x18]
call fcn.140052868
mov edx, 0x30
mov rcx, rbx
call fcn.1400c8ac0
mov rdx, qword [rsp + 0x38]
dec qword [rdx + 0x10]
cmp rbx, qword [rsp + 0x28]
je 0x14004ec42
cmp rsi, rbp
jne 0x14004ec09
jmp 0x14004eb75
mov qword [r12 + r15*8], r13
mov qword [r12 + r15*8 + 8], r13
cmp rsi, rbp
jne 0x14004ebc3
jmp 0x14004eb79
Function at 0x140050bac
Capabilities:
Hash data using fnv

Disassembly:
mov qword [rsp + 0x20], rbx
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
sub rsp, 0x30
mov r12, r8
mov rsi, rdx
mov rbp, rcx
movzx eax, byte [r8]
mov r13d, eax
movabs rcx, 0xcbf29ce484222325
xor r13, rcx
movabs rcx, 0x100000001b3
imul r13, rcx
mov rcx, qword [rbp + 0x30]
and rcx, r13
add rcx, rcx
mov rdx, qword [rbp + 0x18]
mov rbx, qword [rdx + rcx*8 + 8]
lea r8, [rbp + 8]
mov r15, qword [r8]
cmp rbx, r15
jne 0x140050c12
mov rbx, r15
mov r14, r15
jmp 0x140050c4e
mov rdx, qword [rdx + rcx*8]
jmp 0x140050c21
cmp rbx, rdx
je 0x140050c48
mov rbx, qword [rbx + 8]
cmp al, byte [rbx + 0x10]
jne 0x140050c18
mov qword [rsi], rbx
mov byte [rsi + 8], 0
mov rax, rsi
mov rbx, qword [rsp + 0x88]
add rsp, 0x30
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret
mov r15, rbx
mov r14, rbx
movabs rax, 0x666666666666666
cmp qword [rbp + 0x10], rax
je 0x140050d9b
mov qword [rsp + 0x20], r8
and qword [rsp + 0x28], 0
mov ecx, 0x28
call fcn.1400c8ac8
mov rdi, rax
mov qword [rsp + 0x28], rax
movups xmm0, xmmword [r12]
movups xmmword [rax + 0x10], xmm0
movsd xmm1, qword [r12 + 0x10]
movsd qword [rax + 0x20], xmm1
mov rcx, qword [rbp + 0x10]
add rcx, 1
xorps xmm0, xmm0
js 0x140050ca8
cvtsi2ss xmm0, rcx
jmp 0x140050cbd
mov rax, rcx
shr rax, 1
and ecx, 1
or rax, rcx
cvtsi2ss xmm0, rax
addss xmm0, xmm0
mov rcx, qword [rbp + 0x38]
xorps xmm1, xmm1
test rcx, rcx
js 0x140050cd0
cvtsi2ss xmm1, rcx
jmp 0x140050ce5
mov rax, rcx
shr rax, 1
and ecx, 1
or rax, rcx
cvtsi2ss xmm1, rax
addss xmm1, xmm1
divss xmm0, xmm1
comiss xmm0, dword [rbp]
jbe 0x140050d3d
mov rcx, rbp
call fcn.14005144c
mov rcx, qword [rbp + 0x30]
and rcx, r13
add rcx, rcx
mov rdx, qword [rbp + 0x18]
mov rax, qword [rdx + rcx*8 + 8]
mov rbx, qword [rbp + 8]
cmp rax, rbx
je 0x140050d30
mov r8, qword [rdx + rcx*8]
mov cl, byte [rdi + 0x10]
jmp 0x140050d28
mov rbx, rax
cmp rax, r8
je 0x140050d71
mov rax, qword [rax + 8]
cmp cl, byte [rax + 0x10]
jne 0x140050d1c
mov rbx, qword [rax]
mov qword [rsp + 0x20], rbx
mov r14, rbx
mov r15, qword [rsp + 0x20]
mov rdx, qword [rbx + 8]
inc qword [rbp + 0x10]
mov qword [rdi], r15
mov qword [rdi + 8], rdx
mov qword [rdx], rdi
mov qword [rbx + 8], rdi
mov rcx, qword [rbp + 0x18]
mov rax, qword [rbp + 0x30]
and rax, r13
add rax, rax
mov r8, qword [rcx + rax*8]
cmp r8, qword [rbp + 8]
jne 0x140050d78
mov qword [rcx + rax*8], rdi
jmp 0x140050d8a
mov qword [rsp + 0x20], rax
jmp 0x140050d35
cmp r8, r14
jne 0x140050d83
mov qword [rcx + rax*8], rdi
jmp 0x140050d8f
cmp qword [rcx + rax*8 + 8], rdx
jne 0x140050d8f
mov qword [rcx + rax*8 + 8], rdi
mov qword [rsi], rdi
mov byte [rsi + 8], 1
jmp 0x140050c2d
lea rcx, str.unordered_map_set_too_long
call fcn.1400c9af8
int3

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

Disassembly:
xor r9d, r9d
movabs r8, 0xcbf29ce484222325
test rdx, rdx
je 0x140050e90
movzx eax, byte [rcx + r9]
movabs r10, 0x100000001b3
xor r8, rax
inc r9
imul r8, r10
cmp r9, rdx
jb 0x140050e72
mov rax, r8
ret
Function at 0x14005144c
Capabilities:
Hash data using fnv

Disassembly:
mov qword [rsp + 0x10], rbx
mov qword [rsp + 0x18], rsi
mov qword [rsp + 0x20], rdi
push r14
sub rsp, 0x30
mov rdx, qword [rcx + 0x10]
mov edi, 1
add rdx, rdi
mov r8, qword [rcx + 0x38]
mov rsi, rcx
xorps xmm1, xmm1
js 0x140051480
cvtsi2ss xmm1, rdx
jmp 0x140051495
mov rax, rdx
and rdx, rdi
shr rax, 1
or rax, rdx
cvtsi2ss xmm1, rax
addss xmm1, xmm1
divss xmm1, dword [rcx]
cvttss2si ecx, xmm1
cmp ecx, 0x80000000
je 0x1400514c4
movd xmm0, ecx
cvtdq2ps xmm0, xmm0
ucomiss xmm0, xmm1
je 0x1400514c4
unpcklps xmm1, xmm1
movmskps eax, xmm1
and eax, edi
xor eax, edi
add ecx, eax
movd xmm1, ecx
cvtdq2ps xmm1, xmm1
movss xmm0, dword [0x14014a104]
xor ecx, ecx
comiss xmm1, xmm0
jb 0x1400514e9
subss xmm1, xmm0
comiss xmm1, xmm0
jae 0x1400514e9
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 0x140051517
cmp r8, 0x200
jae 0x140051514
shl r8, 3
cmp r8, rcx
jae 0x140051517
mov r8, rcx
movabs rax, 0xfffffffffffffff
bsr rcx, rax
mov rax, rdi
shl rax, cl
cmp r8, rax
ja 0x14005167f
mov rbx, qword [rsi + 8]
lea rax, [r8 - 1]
or rax, rdi
mov r8, rbx
bsr rcx, rax
inc ecx
shl rdi, cl
lea rcx, [rsi + 0x18]
lea rdx, [rdi + rdi]
call fcn.14004b434
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 0x140051633
movzx r8d, byte [rax + 0x10]
movabs r9, 0xcbf29ce484222325
mov r11, qword [rsi + 0x30]
mov edx, r8d
mov rdi, qword [rsi + 0x18]
xor rdx, r9
mov rcx, qword [rcx]
movabs r9, 0x100000001b3
imul rdx, r9
and r11, rdx
add r11, r11
cmp qword [rdi + r11*8], rbx
jne 0x1400515bc
mov qword [rdi + r11*8], rax
mov qword [rdi + r11*8 + 8], rax
jmp 0x140051627
mov r10, qword [rdi + r11*8 + 8]
cmp r8b, byte [r10 + 0x10]
jne 0x1400515fc
mov r10, qword [r10]
cmp r10, rax
je 0x1400515b5
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 0x1400515b5
mov r10, qword [r10 + 8]
cmp r8b, byte [r10 + 0x10]
je 0x140051659
cmp qword [rdi + r11*8], r10
jne 0x1400515f2
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 0x140051577
and qword [rsp + 0x20], 0
lea rcx, [rsp + 0x20]
call fcn.14005168c
mov rbx, qword [rsp + 0x48]
mov rsi, qword [rsp + 0x50]
mov rdi, qword [rsp + 0x58]
add rsp, 0x30
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 0x140051627
lea rcx, str.invalid_hash_bucket_count
call fcn.1400c9af8
int3
Function at 0x14005183c
Capabilities:
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, 0x40
mov rsi, r8
mov r14, rdx
mov r13, rcx
cmp rdx, r8
je 0x140051963
mov rax, qword [rcx + 8]
mov rdi, rdx
mov rbp, qword [rcx + 0x18]
movzx r12d, byte [rdx + 0x10]
mov r15, qword [rdx + 8]
mov qword [rsp + 0x28], rax
movabs rax, 0xcbf29ce484222325
xor r12, rax
movabs rax, 0x100000001b3
imul r12, rax
and r12, qword [rcx + 0x30]
add r12, r12
mov rax, qword [rbp + r12*8]
mov qword [rsp + 0x20], rax
mov rax, qword [rbp + r12*8 + 8]
mov qword [rsp + 0x30], rax
mov rcx, rdi
mov rbx, rdi
mov rdi, qword [rdi]
mov edx, 0x28
call fcn.1400c8ac0
dec qword [r13 + 0x10]
cmp rbx, qword [rsp + 0x30]
je 0x1400518ea
cmp rdi, rsi
jne 0x1400518b9
cmp qword [rsp + 0x20], r14
jne 0x14005195c
mov qword [rbp + r12*8], rdi
jmp 0x14005195c
cmp qword [rsp + 0x20], r14
jne 0x1400518fd
mov rax, qword [rsp + 0x28]
mov qword [rbp + r12*8], rax
jmp 0x140051900
mov rax, r15
mov qword [rbp + r12*8 + 8], rax
jmp 0x140051993
movzx r14d, byte [rdi + 0x10]
movabs rax, 0xcbf29ce484222325
xor r14, rax
movabs rax, 0x100000001b3
imul r14, rax
and r14, qword [r13 + 0x30]
add r14, r14
mov r12, qword [rbp + r14*8 + 8]
mov rcx, rdi
mov rbx, rdi
mov rdi, qword [rdi]
mov edx, 0x28
call fcn.1400c8ac0
dec qword [r13 + 0x10]
cmp rbx, r12
je 0x140051984
cmp rdi, rsi
jne 0x140051936
mov qword [rbp + r14*8], rdi
mov qword [r15], rdi
mov qword [rdi + 8], r15
lea r11, [rsp + 0x40]
mov rax, rsi
mov rbx, qword [r11 + 0x38]
mov rbp, qword [r11 + 0x40]
mov rsi, qword [r11 + 0x48]
mov rsp, r11
pop r15
pop r14
pop r13
pop r12
pop rdi
ret
mov rax, qword [rsp + 0x28]
mov qword [rbp + r14*8], rax
mov qword [rbp + r14*8 + 8], rax
cmp rdi, rsi
jne 0x14005190a
jmp 0x14005195c