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

Disassembly:
push rbx
push rbp
push rdi
push r13
push r15
sub rsp, 0x30
cmp qword [r8 + 0x18], 0xf
mov rbx, r8
mov r9, qword [r8 + 0x10]
mov r15, rdx
mov r13, rcx
jbe 0x14004b1a3
mov r8, qword [r8]
xor ebp, ebp
movabs rdi, 0xcbf29ce484222325
mov edx, ebp
test r9, r9
je 0x14004b1d4
movabs rcx, 0x100000001b3
movzx eax, byte [r8 + rdx]
inc rdx
xor rdi, rax
imul rdi, rcx
cmp rdx, r9
jb 0x14004b1c0
mov r9, rdi
lea rdx, [rsp + 0x20]
mov r8, rbx
mov rcx, r13
call fcn.14004a5e0
mov rax, qword [rsp + 0x28]
test rax, rax
je 0x14004b207
mov qword [r15], rax
mov rax, r15
mov byte [r15 + 8], bpl
add rsp, 0x30
pop r15
pop r13
pop rdi
pop rbp
pop rbx
ret
movabs rax, 0x492492492492492
cmp qword [r13 + 0x10], rax
je 0x14004b42c
mov qword [rsp + 0x60], rsi
mov ecx, 0x38
mov qword [rsp + 0x70], r14
call fcn.1400d63b0
mov rdx, rbx
mov rsi, rax
lea rcx, [rax + 0x10]
call fcn.14004bff0
mov qword [rsi + 0x30], rbp
mov rcx, qword [r13 + 0x10]
add rcx, 1
mov rdx, qword [r13 + 0x38]
vmovss xmm2, dword [r13]
vxorps xmm1, xmm1, xmm1
js 0x14004b261
vcvtsi2ss xmm1, xmm1, rcx
jmp 0x14004b276
mov rax, rcx
and ecx, 1
shr rax, 1
or rax, rcx
vcvtsi2ss xmm1, xmm1, rax
vaddss xmm1, xmm1, xmm1
vxorps xmm0, xmm0, xmm0
test rdx, rdx
js 0x14004b286
vcvtsi2ss xmm0, xmm0, rdx
jmp 0x14004b29e
mov rax, rdx
mov rcx, rdx
shr rcx, 1
and eax, 1
or rcx, rax
vcvtsi2ss xmm0, xmm0, rcx
vaddss xmm0, xmm0, xmm0
vdivss xmm0, xmm1, xmm0
vcomiss xmm2, xmm0
jae 0x14004b3bb
vdivss xmm0, xmm1, xmm2
vxorps xmm1, xmm1, xmm1
vroundss xmm1, xmm1, xmm0, 2
vmovss xmm0, dword [0x14010f658]
xor ecx, ecx
vcomiss xmm1, xmm0
jb 0x14004b2e1
vsubss xmm1, xmm1, xmm0
vcomiss xmm1, xmm0
jae 0x14004b2e1
movabs rax, 0x8000000000000000
mov rcx, rax
vcvttss2si rax, xmm1
add rax, rcx
mov ecx, 8
cmp rax, rcx
cmova rcx, rax
cmp rdx, rcx
jae 0x14004b313
cmp rdx, 0x200
jae 0x14004b310
lea rdx, [rdx*8]
cmp rdx, rcx
jae 0x14004b313
mov rdx, rcx
mov rcx, r13
call fcn.140069870
mov rax, qword [r13 + 0x30]
mov rdx, qword [r13 + 0x18]
and rax, rdi
mov rcx, qword [r13 + 8]
add rax, rax
mov rbx, qword [rdx + rax*8 + 8]
cmp rbx, rcx
jne 0x14004b343
mov qword [rsp + 0x20], rcx
mov qword [rsp + 0x28], rbp
jmp 0x14004b3af
mov rbp, qword [rsi + 0x20]
mov qword [rsp + 0x68], r12
mov r12, qword [rdx + rax*8]
cmp qword [rbx + 0x28], 0xf
lea rdx, [rbx + 0x10]
mov rax, qword [rdx + 0x10]
jbe 0x14004b362
mov rdx, qword [rdx]
cmp qword [rsi + 0x28], 0xf
lea rcx, [rsi + 0x10]
jbe 0x14004b371
mov rcx, qword [rsi + 0x10]
cmp rbp, rax
jne 0x14004b382
mov r8, rbp
call fcn.140106c10
test eax, eax
je 0x14004b38d
cmp rbx, r12
je 0x14004b39c
mov rbx, qword [rbx + 8]
jmp 0x14004b350
mov rax, qword [rbx]
mov qword [rsp + 0x20], rax
mov qword [rsp + 0x28], rbx
jmp 0x14004b3aa
mov qword [rsp + 0x20], rbx
mov qword [rsp + 0x28], 0
mov r12, qword [rsp + 0x68]
vmovups xmm0, xmmword [rsp + 0x20]
vmovdqa xmmword [rsp + 0x20], xmm0
mov rdx, qword [rsp + 0x20]
mov r14, qword [rsp + 0x70]
mov r8, qword [rdx + 8]
inc qword [r13 + 0x10]
mov qword [rsi], rdx
mov qword [rsi + 8], r8
mov qword [r8], rsi
mov qword [rdx + 8], rsi
mov rax, qword [r13 + 0x30]
mov rcx, qword [r13 + 0x18]
and rax, rdi
add rax, rax
mov r9, qword [rcx + rax*8]
cmp r9, qword [r13 + 8]
jne 0x14004b3f9
mov qword [rcx + rax*8], rsi
jmp 0x14004b40b
cmp r9, rdx
jne 0x14004b404
mov qword [rcx + rax*8], rsi
jmp 0x14004b410
cmp qword [rcx + rax*8 + 8], r8
jne 0x14004b410
mov qword [rcx + rax*8 + 8], rsi
mov qword [r15], rsi
mov rax, r15
mov rsi, qword [rsp + 0x60]
mov byte [r15 + 8], 1
add rsp, 0x30
pop r15
pop r13
pop rdi
pop rbp
pop rbx
ret
lea rcx, str.unordered_map_set_too_long
call fcn.1400d80dc
int3