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

Disassembly:
push rbx
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
sub rsp, 0x78
mov rdi, r9
mov rsi, r8
mov r14, rdx
mov qword [rsp + 0x20], rdx
mov r13, rcx
lea r12, [rcx + 8]
mov qword [rsp + 0x60], r12
mov qword [rsp + 0x68], 0
mov ecx, 0x48
call fcn.140005400
mov rbp, rax
mov qword [rsp + 0x68], rax
call fcn.140001130
lea rdx, [rbp + 0x10]
mov ecx, 0x38
test al, al
je 0x14001c59d
call fcn.140001120
mov rbx, rax
mov rdx, rsi
mov rcx, rax
call fcn.140002e30
mov r9, qword [rdi + 0x10]
xor ecx, ecx
mov qword [rdi + 0x10], rcx
mov r8, qword [rdi + 8]
mov qword [rdi + 8], rcx
mov rax, qword [rdi]
mov qword [rdi], rcx
mov qword [rbx + 0x28], r8
mov qword [rbx + 0x30], r9
jmp 0x14001c5d0
call fcn.140001120
mov rbx, rax
mov rdx, rsi
mov rcx, rax
call fcn.140002e30
mov r8, qword [rdi + 0x10]
xor ecx, ecx
mov qword [rdi + 0x10], rcx
mov rdx, qword [rdi + 8]
mov qword [rdi + 8], rcx
mov rax, qword [rdi]
mov qword [rdi], rcx
mov qword [rbx + 0x28], rdx
mov qword [rbx + 0x30], r8
mov qword [rbx + 0x20], rax
lea rdx, [0x140085c58]
lea rcx, [rbx + 0x20]
call fcn.140001650
mov rdx, rdi
lea rcx, [rbx + 0x20]
call fcn.140001650
nop
lea rcx, [rbp + 0x10]
call fcn.140002bf0
mov rbx, rax
lea rcx, [rbp + 0x10]
call fcn.140002c00
mov rdx, rax
movabs rsi, 0xcbf29ce484222325
xor ecx, ecx
add rbx, rbx
je 0x14001c643
movabs r8, 0x100000001b3
nop dword [rax]
nop dword [rax + rax]
movzx eax, byte [rdx + rcx]
xor rsi, rax
imul rsi, r8
inc rcx
cmp rcx, rbx
jb 0x14001c630
mov r9, rsi
lea r8, [rbp + 0x10]
lea rdx, [rsp + 0x50]
mov rcx, r13
call fcn.140011cc0
mov rax, qword [rsp + 0x58]
test rax, rax
je 0x14001c6ad
mov qword [rsp + 0x20], rax
mov rdx, r12
lea rcx, [rsp + 0x20]
call fcn.140001650
mov rax, qword [rsp + 0x20]
mov qword [r14], rax
mov byte [r14 + 8], 0
test rbp, rbp
je 0x14001c916
lea rcx, [rbp + 0x30]
call fcn.14001c060
lea rcx, [rbp + 0x10]
call fcn.140002d40
mov edx, 0x48
mov rcx, rbp
call fcn.140005450
jmp 0x14001c916
mov rbx, qword [r13 + 0x10]
movabs rax, 0x38e38e38e38e38e
mov qword [rsp + 0x40], rax
call fcn.1400011a0
mov qword [rsp + 0x30], rax
lea rdx, [rsp + 0x40]
lea rcx, [rsp + 0x30]
call fcn.140002a20
cmp rbx, qword [rax]
je 0x14001c92a
mov rdx, qword [r13 + 0x10]
lea rcx, [rdx + 1]
movss xmm3, dword [r13]
xorps xmm0, xmm0
test rcx, rcx
js 0x14001c6ff
cvtsi2ss xmm0, rcx
jmp 0x14001c714
mov rax, rcx
shr rax, 1
and ecx, 1
or rax, rcx
cvtsi2ss xmm0, rax
addss xmm0, xmm0
mov rbx, qword [r13 + 0x38]
xorps xmm2, xmm2
test rbx, rbx
js 0x14001c727
cvtsi2ss xmm2, rbx
jmp 0x14001c73f
mov rcx, rbx
shr rcx, 1
mov rax, rbx
and eax, 1
or rcx, rax
cvtsi2ss xmm2, rcx
addss xmm2, xmm2
movaps xmm1, xmm0
divss xmm1, xmm2
comiss xmm1, xmm3
seta al
test al, al
je 0x14001c87f
divss xmm0, xmm3
call fcn.140063ef0
xor ecx, ecx
movss xmm1, dword [0x14008742c]
comiss xmm0, xmm1
jb 0x14001c782
subss xmm0, xmm1
comiss xmm0, xmm1
jae 0x14001c782
movabs rax, 0x8000000000000000
mov rcx, rax
cvttss2si rax, xmm0
add rax, rcx
mov qword [rsp + 0x30], rax
lea rdx, [rsp + 0x30]
lea rcx, [0x140085c60]
call fcn.140002910
mov rcx, qword [rax]
cmp rbx, rcx
jae 0x14001c7c1
cmp rbx, 0x200
jae 0x14001c7be
lea rbx, [rbx*8]
cmp rbx, rcx
jae 0x14001c7c1
mov rbx, rcx
mov rdx, rbx
mov rcx, r13
call fcn.1400119b0
mov rax, qword [r13 + 0x30]
and rax, rsi
add rax, rax
mov rdx, qword [r13 + 0x18]
mov rdi, qword [rdx + rax*8 + 8]
mov rcx, qword [r12]
cmp rdi, rcx
jne 0x14001c7ef
mov qword [rsp + 0x30], rcx
jmp 0x14001c867
mov rax, qword [rdx + rax*8]
mov qword [rsp + 0x30], rax
nop dword [rax + rax]
lea rcx, [rdi + 0x10]
mov rbx, qword [rcx + 0x10]
call fcn.140002960
mov r12, rax
mov r14, qword [rbp + 0x20]
lea rcx, [rbp + 0x10]
call fcn.140002960
cmp r14, rbx
jne 0x14001c834
mov r8, r14
mov rdx, r12
mov rcx, rax
call fcn.1400040e0
test eax, eax
je 0x14001c841
cmp rdi, qword [rsp + 0x30]
je 0x14001c859
mov rdi, qword [rdi + 8]
jmp 0x14001c800
mov rax, qword [rdi]
mov qword [rsp + 0x30], rax
mov qword [rsp + 0x38], rdi
mov r14, qword [rsp + 0x20]
lea r12, [r13 + 8]
jmp 0x14001c870
mov qword [rsp + 0x30], rdi
mov r14, qword [rsp + 0x20]
lea r12, [r13 + 8]
mov qword [rsp + 0x38], 0
movaps xmm0, xmmword [rsp + 0x30]
movdqa xmmword [rsp + 0x50], xmm0
mov rdx, qword [r13 + 0x10]
mov rbx, qword [rsp + 0x50]
mov rdi, qword [rbx + 8]
lea rax, [rdx + 1]
mov qword [r13 + 0x10], rax
call fcn.140001130
mov rdx, rbp
mov ecx, 8
call fcn.140001120
mov qword [rax], rbx
call fcn.140001130
lea rdx, [rbp + 8]
mov ecx, 8
call fcn.140001120
mov qword [rax], rdi
mov qword [rdi], rbp
mov qword [rbx + 8], rbp
mov rcx, qword [r13 + 0x18]
mov rax, qword [r13 + 0x30]
and rax, rsi
add rax, rax
mov rdx, qword [rcx + rax*8]
cmp rdx, qword [r12]
jne 0x14001c8e0
mov qword [rcx + rax*8], rbp
jmp 0x14001c8f2
cmp rdx, rbx
jne 0x14001c8eb
mov qword [rcx + rax*8], rbp
jmp 0x14001c8f7
cmp qword [rcx + rax*8 + 8], rdi
jne 0x14001c8f7
mov qword [rcx + rax*8 + 8], rbp
mov qword [rsp + 0x20], rbp
mov rdx, r12
lea rcx, [rsp + 0x20]
call fcn.140001650
mov rax, qword [rsp + 0x20]
mov qword [r14], rax
mov byte [r14 + 8], 1
mov rax, r14
add rsp, 0x78
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
pop rbx
ret
lea rcx, str.unordered_map_set_too_long
call fcn.1400426dc
int3