Function at 0x14003ea80
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, 0x60
mov rdi, r8
mov r13, rdx
mov r15, rcx
mov qword [rsp + 0x20], rcx
mov rdx, r8
mov r11, qword [r8 + 0x18]
cmp r11, 8
jb 0x14003eab2
mov rdx, qword [r8]
movabs r14, 0xcbf29ce484222325
mov r9, qword [r8 + 0x10]
lea r8, [r9 + r9]
xor ecx, ecx
test r8, r8
je 0x14003eaf3
movabs r10, 0x100000001b3
nop word [rax + rax]
movzx eax, byte [rcx + rdx]
xor r14, rax
imul r14, r10
inc rcx
cmp rcx, r8
jb 0x14003eae0
mov rax, qword [r15 + 0x30]
and rax, r14
add rax, rax
mov rcx, qword [r15 + 0x18]
mov rbx, qword [rcx + rax*8 + 8]
lea rdx, [r15 + 8]
mov qword [rsp + 0x40], rdx
mov rbp, qword [rdx]
cmp rbx, rbp
jne 0x14003eb1f
mov rbx, rbp
mov rsi, rbp
jmp 0x14003eb87
mov r10, qword [rcx + rax*8]
lea rcx, [rbx + 0x10]
cmp qword [rbx + 0x28], 8
jb 0x14003eb32
mov rcx, qword [rbx + 0x10]
mov r8, rdi
cmp r11, 8
jb 0x14003eb3e
mov r8, qword [rdi]
cmp r9, qword [rbx + 0x20]
jne 0x14003eb72
mov rdx, r9
test r9, r9
je 0x14003eb64
sub r8, rcx
nop
movzx eax, word [rcx]
cmp word [r8 + rcx], ax
jne 0x14003eb72
add rcx, 2
sub rdx, 1
jne 0x14003eb50
mov qword [r13], rbx
mov byte [r13 + 8], 0
jmp 0x14003edc0
cmp rbx, r10
je 0x14003eb7d
mov rbx, qword [rbx + 8]
jmp 0x14003eb23
mov rbp, rbx
mov rsi, rbx
lea rdx, [r15 + 8]
movabs rax, 0x333333333333333
cmp qword [r15 + 0x10], rax
je 0x14003eddb
mov qword [rsp + 0x48], rdx
mov qword [rsp + 0x50], 0
mov ecx, 0x50
call fcn.140065290
mov r12, rax
mov qword [rsp + 0x50], rax
lea r15, [rax + 0x10]
mov qword [rsp + 0x30], r15
mov rdx, rdi
mov rcx, r15
call fcn.14002c560
nop
lea rdx, [rdi + 0x20]
lea rcx, [r15 + 0x20]
call fcn.14002c560
nop
mov rdx, qword [rsp + 0x20]
mov rcx, qword [rdx + 0x10]
movss xmm3, dword [rdx]
add rcx, 1
xorps xmm0, xmm0
js 0x14003ebfb
cvtsi2ss xmm0, rcx
jmp 0x14003ec10
mov rax, rcx
shr rax, 1
and ecx, 1
or rax, rcx
cvtsi2ss xmm0, rax
addss xmm0, xmm0
mov rdi, qword [rdx + 0x38]
xorps xmm2, xmm2
test rdi, rdi
js 0x14003ec23
cvtsi2ss xmm2, rdi
jmp 0x14003ec3b
mov rcx, rdi
shr rcx, 1
mov rax, rdi
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 0x14003ed69
divss xmm0, xmm3
call fcn.1400bcae0
xor ecx, ecx
movss xmm1, dword [0x1400da2dc]
comiss xmm0, xmm1
jb 0x14003ec7e
subss xmm0, xmm1
comiss xmm0, xmm1
jae 0x14003ec7e
movabs rax, 0x8000000000000000
mov rcx, rax
cvttss2si rax, xmm0
add rax, rcx
mov ecx, 8
cmp rax, rcx
cmova rcx, rax
cmp rdi, rcx
jae 0x14003ecb0
cmp rdi, 0x200
jae 0x14003ecad
lea rdi, [rdi*8]
cmp rdi, rcx
jae 0x14003ecb0
mov rdi, rcx
mov rdx, rdi
mov rcx, qword [rsp + 0x20]
call fcn.14003ef40
mov rax, r14
mov rdx, qword [rsp + 0x20]
and rax, qword [rdx + 0x30]
add rax, rax
mov rcx, qword [rdx + 0x18]
mov r9, qword [rcx + rax*8 + 8]
mov rbx, qword [rdx + 8]
cmp r9, rbx
jne 0x14003ece5
mov qword [rsp + 0x30], rbx
jmp 0x14003ed58
mov r11, qword [rcx + rax*8]
mov rdi, qword [r15 + 0x18]
mov r10, qword [r15 + 0x10]
mov rbx, r9
lea rcx, [r9 + 0x10]
cmp qword [r9 + 0x28], 8
jb 0x14003ed03
mov rcx, qword [r9 + 0x10]
mov r8, r15
cmp rdi, 8
jb 0x14003ed0f
mov r8, qword [r15]
cmp r10, qword [r9 + 0x20]
jne 0x14003ed43
mov rdx, r10
test r10, r10
je 0x14003ed34
sub r8, rcx
movzx eax, word [rcx]
cmp word [r8 + rcx], ax
jne 0x14003ed43
add rcx, 2
sub rdx, 1
jne 0x14003ed20
mov rbx, qword [r9]
mov qword [rsp + 0x30], rbx
mov rdx, qword [rsp + 0x20]
jmp 0x14003ed61
cmp r9, r11
je 0x14003ed4e
mov r9, qword [r9 + 8]
jmp 0x14003ecf1
mov qword [rsp + 0x30], r9
mov rdx, qword [rsp + 0x20]
mov qword [rsp + 0x38], 0
mov rsi, rbx
mov rbp, qword [rsp + 0x30]
mov rcx, qword [rbx + 8]
inc qword [rdx + 0x10]
mov qword [r12], rbp
mov qword [r12 + 8], rcx
mov qword [rcx], r12
mov qword [rbx + 8], r12
mov rax, qword [rdx + 0x18]
and r14, qword [rdx + 0x30]
add r14, r14
mov rdx, qword [rax + r14*8]
mov r8, qword [rsp + 0x40]
cmp rdx, qword [r8]
jne 0x14003eda0
mov qword [rax + r14*8], r12
jmp 0x14003edb2
cmp rdx, rsi
jne 0x14003edab
mov qword [rax + r14*8], r12
jmp 0x14003edb7
cmp qword [rax + r14*8 + 8], rcx
jne 0x14003edb7
mov qword [rax + r14*8 + 8], r12
mov qword [r13], r12
mov byte [r13 + 8], 1
mov rax, r13
mov rbx, qword [rsp + 0xb8]
add rsp, 0x60
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret
lea rcx, str.unordered_map_set_too_long
call fcn.140066584
int3