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

Disassembly:
cmp rdx, r8
je 0x180694d0b
mov rax, rsp
mov qword [rax + 0x18], r8
mov qword [rax + 8], rcx
push rbp
push r14
push r15
sub rsp, 0x70
mov qword [rax + 0x10], rbx
mov r15, r8
mov qword [rax - 0x20], rsi
mov r14, rdx
mov qword [rax - 0x28], rdi
mov rbp, rcx
mov qword [rax - 0x30], r12
movabs rbx, 0x492492492492492
movaps xmmword [rax - 0x48], xmm6
movabs r12, 0x8000000000000000
movss xmm6, dword [0x180742278]
mov qword [rax - 0x38], r13
cmp qword [r14 + 0x18], 0xf
movabs r9, 0x100000001b3
mov r8, qword [r14 + 0x10]
movabs rax, 0xcbf29ce484222325
mov rdx, r14
jbe 0x180694a7f
mov rdx, qword [r14]
xor ecx, ecx
mov rdi, rax
test r8, r8
je 0x180694aa3
nop dword [rax]
movzx eax, byte [rcx + rdx]
inc rcx
xor rdi, rax
imul rdi, r9
cmp rcx, r8
jb 0x180694a90
mov r9, rdi
lea rdx, [rsp + 0x30]
mov r8, r14
mov rcx, rbp
call fcn.1806944a0
cmp qword [rsp + 0x38], 0
jne 0x180694cd4
cmp qword [rbp + 0x10], rbx
je 0x180694d0c
mov ecx, 0x38
call fcn.180704600
mov rdx, r14
mov r13, rax
lea rcx, [rax + 0x10]
call fcn.180648de0
mov ecx, dword [r14 + 0x20]
xorps xmm0, xmm0
mov dword [r13 + 0x30], ecx
mov rcx, qword [rbp + 0x10]
add rcx, 1
movss xmm3, dword [rbp]
js 0x180694b06
cvtsi2ss xmm0, rcx
jmp 0x180694b1b
mov rax, rcx
and ecx, 1
shr rax, 1
or rax, rcx
cvtsi2ss xmm0, rax
addss xmm0, xmm0
mov rbx, qword [rbp + 0x38]
xorps xmm2, xmm2
test rbx, rbx
js 0x180694b2e
cvtsi2ss xmm2, rbx
jmp 0x180694b46
mov rax, rbx
mov rcx, rbx
shr rcx, 1
and eax, 1
or rcx, rax
cvtsi2ss xmm2, rcx
addss xmm2, xmm2
movaps xmm1, xmm0
divss xmm1, xmm2
comiss xmm1, xmm3
jbe 0x180694c79
divss xmm0, xmm3
call fcn.18071b114
xor ecx, ecx
comiss xmm0, xmm6
jb 0x180694b72
subss xmm0, xmm6
comiss xmm0, xmm6
jae 0x180694b72
mov rcx, r12
cvttss2si rax, xmm0
add rax, rcx
mov ecx, 8
cmp rax, rcx
cmova rcx, rax
cmp rbx, rcx
jae 0x180694ba4
cmp rbx, 0x200
jae 0x180694ba1
lea rbx, [rbx*8]
cmp rbx, rcx
jae 0x180694ba4
mov rbx, rcx
mov rdx, rbx
mov rcx, rbp
call fcn.180695910
mov rax, qword [rbp + 0x30]
mov rdx, qword [rbp + 0x18]
and rax, rdi
mov rcx, qword [rbp + 8]
add rax, rax
mov rbx, qword [rdx + rax*8 + 8]
cmp rbx, rcx
jne 0x180694bd5
mov qword [rsp + 0x20], rcx
jmp 0x180694c65
mov r15, qword [rdx + rax*8]
mov r12, qword [r13 + 0x28]
mov rbp, qword [r13 + 0x20]
cmp qword [rbx + 0x28], 0xf
lea rdx, [rbx + 0x10]
mov rax, qword [rdx + 0x10]
jbe 0x180694bf3
mov rdx, qword [rdx]
lea rcx, [r13 + 0x10]
cmp r12, 0xf
jbe 0x180694c01
mov rcx, qword [r13 + 0x10]
cmp rbp, rax
jne 0x180694c12
mov r8, rbp
call fcn.180738c10
test eax, eax
je 0x180694c1d
cmp rbx, r15
je 0x180694c46
mov rbx, qword [rbx + 8]
jmp 0x180694be1
mov rax, qword [rbx]
movabs r12, 0x8000000000000000
mov rbp, qword [rsp + 0x90]
mov r15, qword [rsp + 0xa0]
mov qword [rsp + 0x20], rax
mov qword [rsp + 0x28], rbx
jmp 0x180694c6e
mov rbp, qword [rsp + 0x90]
movabs r12, 0x8000000000000000
mov r15, qword [rsp + 0xa0]
mov qword [rsp + 0x20], rbx
mov qword [rsp + 0x28], 0
movaps xmm0, xmmword [rsp + 0x20]
movdqa xmmword [rsp + 0x30], xmm0
mov rdx, qword [rsp + 0x30]
mov r8, qword [rdx + 8]
inc qword [rbp + 0x10]
mov qword [r13], rdx
mov qword [r13 + 8], r8
mov qword [r8], r13
mov qword [rdx + 8], r13
mov rax, qword [rbp + 0x30]
mov rcx, qword [rbp + 0x18]
and rax, rdi
add rax, rax
mov r9, qword [rcx + rax*8]
cmp r9, qword [rbp + 8]
jne 0x180694cb3
mov qword [rcx + rax*8], r13
jmp 0x180694cc5
cmp r9, rdx
jne 0x180694cbe
mov qword [rcx + rax*8], r13
jmp 0x180694cca
cmp qword [rcx + rax*8 + 8], r8
jne 0x180694cca
mov qword [rcx + rax*8 + 8], r13
movabs rbx, 0x492492492492492
add r14, 0x28
cmp r14, r15
jne 0x180694a5a
mov r13, qword [rsp + 0x50]
mov r12, qword [rsp + 0x58]
mov rdi, qword [rsp + 0x60]
mov rsi, qword [rsp + 0x68]
mov rbx, qword [rsp + 0x98]
movaps xmm6, xmmword [rsp + 0x40]
add rsp, 0x70
pop r15
pop r14
pop rbp
ret
lea rcx, str.unordered_map_set_too_long
call fcn.180705be4
int3