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

Disassembly:
mov rax, rsp
mov qword [rax + 0x10], rbx
mov qword [rax + 0x18], rsi
mov qword [rax + 0x20], rdi
push rbp
push r12
push r13
push r14
push r15
lea rbp, [rax - 0x1f8]
sub rsp, 0x2d0
movaps xmmword [rax - 0x38], xmm6
mov rax, qword [0x1402a2cf8]
xor rax, rsp
mov qword [rbp + 0x1b0], rax
mov r13, rcx
cmp qword [rcx + 0x10], 0
jne 0x140018dd6
mov rax, qword gs:[0x30]
mov rdx, qword [rax + 0x60]
mov r14, qword [rdx + 0x68]
mov qword [rsp + 0x28], r14
xor r12d, r12d
mov eax, r12d
mov dword [rsp + 0x20], eax
cmp dword [r14 + 4], r12d
jbe 0x140018dd6
movss xmm6, dword [0x140120f78]
nop dword [rax + rax]
lea rsi, [rax + rax*2]
xorps xmm1, xmm1
movdqu xmmword [rsp + 0x60], xmm1
mov qword [rsp + 0x70], r12
xor edx, edx
mov r8d, 0x208
lea rcx, [rbp - 0x60]
call fcn.1400b6650
mov ebx, dword [r14 + rsi*4 + 0xc]
mov edx, dword [r14 + rsi*4 + 8]
add rdx, r14
mov r8d, ebx
lea rcx, [rbp - 0x60]
call fcn.1400b76e0
shr rbx, 1
lea rdi, [rbp - 0x60]
lea rdi, [rdi + rbx*2]
lea rbx, [rbp - 0x60]
lea rax, [rbp - 0x60]
cmp rax, rdi
je 0x1400188b8
movzx ecx, word [rbx]
call fcn.1400d49dc
mov word [rbx], ax
add rbx, 2
cmp rbx, rdi
jne 0x1400188a4
mov edi, dword [r14 + rsi*4 + 0x10]
add rdi, r14
mov ebx, r12d
cmp dword [rdi], 0
jbe 0x140018991
nop dword [rax]
mov eax, ebx
add rax, rax
mov r8d, dword [rdi + rax*8 + 0x10]
shr r8, 1
mov edx, dword [rdi + rax*8 + 0xc]
add rdx, r14
mov qword [rbp - 0x78], r12
mov qword [rbp - 0x70], 7
mov word [rsp + 0x78], r12w
lea rcx, [rsp + 0x78]
call fcn.1400098b0
nop
cmp qword [rbp - 0x78], 0
je 0x140018946
mov rdx, qword [rsp + 0x68]
cmp rdx, qword [rsp + 0x70]
je 0x140018937
movups xmm0, xmmword [rsp + 0x78]
movups xmmword [rdx], xmm0
movups xmm1, xmmword [rbp - 0x78]
movups xmmword [rdx + 0x10], xmm1
mov eax, 7
mov word [rsp + 0x78], r12w
add qword [rsp + 0x68], 0x20
jmp 0x14001894a
lea r8, [rsp + 0x78]
lea rcx, [rsp + 0x60]
call fcn.140019050
mov rax, qword [rbp - 0x70]
cmp rax, 8
jb 0x140018987
lea rdx, [rax*2 + 2]
mov rcx, qword [rsp + 0x78]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140018982
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140018e20
call fcn.14009aa1c
inc ebx
cmp ebx, dword [rdi]
jb 0x1400188d0
lea r12, [r13 + 8]
mov qword [rsp + 0x40], r12
xor esi, esi
mov qword [rsp + 0x48], rsi
lea ecx, [rsi + 0x48]
call fcn.14009a9e0
mov r15, rax
mov qword [rsp + 0x48], rax
mov qword [rax + 0x20], rsi
mov qword [rax + 0x28], 7
mov word [rax + 0x10], si
lea rax, [rbp - 0x60]
mov r8, 0xffffffffffffffff
nop dword [rax]
inc r8
cmp word [rax + r8*2], si
jne 0x1400189d0
lea rdx, [rbp - 0x60]
lea rcx, [r15 + 0x10]
call fcn.1400098b0
mov qword [r15 + 0x30], rsi
mov qword [r15 + 0x38], rsi
mov qword [r15 + 0x40], rsi
mov rax, qword [rsp + 0x60]
mov qword [r15 + 0x30], rax
mov rax, qword [rsp + 0x68]
mov qword [r15 + 0x38], rax
mov rax, qword [rsp + 0x70]
mov qword [r15 + 0x40], rax
xorps xmm0, xmm0
movdqu xmmword [rsp + 0x60], xmm0
mov qword [rsp + 0x70], rsi
mov rdx, qword [r15 + 0x20]
lea r8, [r15 + 0x10]
cmp qword [r15 + 0x28], 8
jb 0x140018a2f
mov r8, qword [r15 + 0x10]
movabs rsi, 0xcbf29ce484222325
xor ecx, ecx
add rdx, rdx
je 0x140018a69
movabs r14, 0x100000001b3
nop word [rax + rax]
movzx eax, byte [rcx + r8]
xor rsi, rax
imul rsi, r14
inc rcx
cmp rcx, rdx
jb 0x140018a50
mov r14, qword [rsp + 0x28]
mov r9, rsi
lea r8, [r15 + 0x10]
lea rdx, [rsp + 0x50]
mov rcx, r13
call fcn.14000b3f0
cmp qword [rsp + 0x58], 0
je 0x140018afd
test r15, r15
je 0x140018d15
lea rcx, [r15 + 0x30]
call fcn.140018f50
mov rdx, qword [r15 + 0x28]
cmp rdx, 8
jb 0x140018ad7
mov rcx, qword [r15 + 0x10]
lea rdx, [rdx*2 + 2]
cmp rdx, 0x1000
jb 0x140018ad2
add rdx, 0x27
mov r8, qword [rcx - 8]
sub rcx, r8
lea rax, [rcx - 8]
cmp rax, 0x1f
ja 0x140018e20
mov rcx, r8
call fcn.14009aa1c
xor r12d, r12d
mov qword [r15 + 0x20], r12
mov qword [r15 + 0x28], 7
mov word [r15 + 0x10], r12w
lea edx, [r12 + 0x48]
mov rcx, r15
call fcn.14009aa1c
jmp 0x140018d18
mov rdx, qword [r13 + 0x10]
movabs rax, 0x38e38e38e38e38e
cmp rdx, rax
je 0x140018e13
lea rcx, [rdx + 1]
movss xmm3, dword [r13]
xorps xmm0, xmm0
test rcx, rcx
js 0x140018b2d
cvtsi2ss xmm0, rcx
jmp 0x140018b42
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 0x140018b55
cvtsi2ss xmm2, rbx
jmp 0x140018b6d
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 0x140018cba
divss xmm0, xmm3
call fcn.1400d1a14
xor ecx, ecx
comiss xmm0, xmm6
jb 0x140018ba8
subss xmm0, xmm6
comiss xmm0, xmm6
jae 0x140018ba8
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 0x140018bda
cmp rbx, 0x200
jae 0x140018bd7
lea rbx, [rbx*8]
cmp rbx, rcx
jae 0x140018bda
mov rbx, rcx
mov rdx, rbx
mov rcx, r13
call fcn.14000b0b0
mov rax, qword [r13 + 0x30]
and rax, rsi
add rax, rax
mov rdx, qword [r13 + 0x18]
mov r10, qword [rdx + rax*8 + 8]
mov rcx, qword [r12]
cmp r10, rcx
jne 0x140018c0b
mov qword [rsp + 0x30], rcx
jmp 0x140018ca4
mov rbx, qword [rdx + rax*8]
mov r14, qword [r15 + 0x28]
mov r11, qword [r15 + 0x20]
nop word [rax + rax]
lea rax, [r10 + 0x10]
mov rcx, qword [rax + 0x10]
cmp qword [rax + 0x18], 8
jb 0x140018c32
mov rax, qword [rax]
lea r9, [r15 + 0x10]
cmp r14, 8
jb 0x140018c40
mov r9, qword [r15 + 0x10]
cmp r11, rcx
jne 0x140018c7b
mov r8, r11
test r11, r11
je 0x140018c86
movzx ecx, word [r9]
movzx edx, word [rax]
cmp cx, dx
jb 0x140018c7b
sub r9, rax
cmp cx, dx
ja 0x140018c7b
cmp r8, 1
je 0x140018c86
dec r8
add rax, 2
movzx ecx, word [r9 + rax]
movzx edx, word [rax]
cmp cx, dx
jae 0x140018c5f
cmp r10, rbx
je 0x140018c9a
mov r10, qword [r10 + 8]
jmp 0x140018c20
mov rax, qword [r10]
mov qword [rsp + 0x30], rax
mov qword [rsp + 0x38], r10
mov r14, qword [rsp + 0x28]
jmp 0x140018cab
mov qword [rsp + 0x30], r10
mov r14, qword [rsp + 0x28]
xor eax, eax
mov qword [rsp + 0x38], rax
movaps xmm0, xmmword [rsp + 0x30]
movdqa xmmword [rsp + 0x50], xmm0
mov rdx, qword [r13 + 0x10]
xor eax, eax
mov qword [rsp + 0x48], rax
mov r8, qword [rsp + 0x50]
mov r9, qword [r8 + 8]
lea rax, [rdx + 1]
mov qword [r13 + 0x10], rax
mov qword [r15], r8
mov qword [r15 + 8], r9
mov qword [r9], r15
mov qword [r8 + 8], r15
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 0x140018cfe
mov qword [rcx + rax*8], r15
jmp 0x140018d10
cmp rdx, r8
jne 0x140018d09
mov qword [rcx + rax*8], r15
jmp 0x140018d15
cmp qword [rcx + rax*8 + 8], r9
jne 0x140018d15
mov qword [rcx + rax*8 + 8], r15
xor r12d, r12d
mov rbx, qword [rsp + 0x60]
test rbx, rbx
je 0x140018dc2
mov rdi, qword [rsp + 0x68]
cmp rbx, rdi
je 0x140018d8d
mov rdx, qword [rbx + 0x18]
cmp rdx, 8
jb 0x140018d6f
lea rdx, [rdx*2 + 2]
mov rcx, qword [rbx]
cmp rdx, 0x1000
jb 0x140018d6a
add rdx, 0x27
mov r8, qword [rcx - 8]
sub rcx, r8
lea rax, [rcx - 8]
cmp rax, 0x1f
ja 0x140018e0d
mov rcx, r8
call fcn.14009aa1c
mov qword [rbx + 0x10], r12
mov qword [rbx + 0x18], 7
mov word [rbx], r12w
add rbx, 0x20
cmp rbx, rdi
jne 0x140018d30
mov rbx, qword [rsp + 0x60]
mov rdx, qword [rsp + 0x70]
sub rdx, rbx
and rdx, 0xffffffffffffffe0
mov rax, rbx
cmp rdx, 0x1000
jb 0x140018dba
add rdx, 0x27
mov rbx, qword [rbx - 8]
sub rax, rbx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140018e0d
mov rcx, rbx
call fcn.14009aa1c
mov eax, dword [rsp + 0x20]
inc eax
mov dword [rsp + 0x20], eax
cmp eax, dword [r14 + 4]
jb 0x140018850
mov al, 1
mov rcx, qword [rbp + 0x1b0]
xor rcx, rsp
call fcn.14009a9c0
lea r11, [rsp + 0x2d0]
mov rbx, qword [r11 + 0x38]
mov rsi, qword [r11 + 0x40]
mov rdi, qword [r11 + 0x48]
movaps xmm6, xmmword [r11 - 0x10]
mov rsp, r11
pop r15
pop r14
pop r13
pop r12
pop rbp
ret
call fcn.1400c88c8
nop
lea rcx, str.unordered_map_set_too_long
call fcn.140098bb4
nop
call fcn.1400c88c8
int3