Function at 0x140039320
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 rsi, r8
mov qword [rsp + 0x40], rdx
mov r14, rcx
mov qword [rsp + 0x20], rcx
mov rbx, qword [r8 + 0x10]
mov rdx, r8
mov r12, qword [r8 + 0x18]
cmp r12, 0xf
jbe 0x140039358
mov rdx, qword [r8]
movabs rbp, 0xcbf29ce484222325
xor ecx, ecx
test rbx, rbx
je 0x140039393
movabs r8, 0x100000001b3
nop dword [rax]
nop word [rax + rax]
movzx eax, byte [rdx + rcx]
xor rbp, rax
imul rbp, r8
inc rcx
cmp rcx, rbx
jb 0x140039380
mov rax, qword [r14 + 0x30]
and rax, rbp
add rax, rax
mov r15, qword [r14 + 0x18]
mov rdi, qword [r15 + rax*8 + 8]
mov r13, qword [r14 + 8]
cmp rdi, r13
jne 0x1400393b7
mov rdi, r13
mov r15, r13
jmp 0x140039411
mov r15, qword [r15 + rax*8]
nop dword [rax + rax]
lea rdx, [rdi + 0x10]
mov rax, qword [rdx + 0x10]
cmp qword [rdx + 0x18], 0xf
jbe 0x1400393d2
mov rdx, qword [rdx]
mov rcx, rsi
cmp r12, 0xf
jbe 0x1400393de
mov rcx, qword [rsi]
cmp rbx, rax
jne 0x1400393ef
mov r8, rbx
call fcn.140093b70
test eax, eax
je 0x1400393fa
cmp rdi, r15
je 0x14003940b
mov rdi, qword [rdi + 8]
jmp 0x1400393c0
mov rax, qword [rsp + 0x40]
mov qword [rax], rdi
mov byte [rax + 8], 0
jmp 0x1400396a3
mov r13, rdi
mov r15, rdi
movabs rax, 0x147ae147ae147ae
cmp qword [r14 + 0x10], rax
je 0x1400396bb
lea rax, [r14 + 8]
mov qword [rsp + 0x48], rax
mov qword [rsp + 0x50], 0
mov ecx, 0xc8
call fcn.1400689c0
mov r12, rax
mov qword [rsp + 0x50], rax
lea r14, [rax + 0x10]
mov qword [rsp + 0x58], r14
mov rdx, rsi
mov rcx, r14
call fcn.1400168f0
nop
lea rbx, [r14 + 0x20]
xorps xmm0, xmm0
xor eax, eax
movups xmmword [rbx], xmm0
movups xmmword [rbx + 0x10], xmm0
movups xmmword [rbx + 0x20], xmm0
movups xmmword [rbx + 0x30], xmm0
movups xmmword [rbx + 0x40], xmm0
movups xmmword [rbx + 0x50], xmm0
movups xmmword [rbx + 0x60], xmm0
movups xmmword [rbx + 0x70], xmm0
movups xmmword [rbx + 0x80], xmm0
mov qword [rbx + 0x90], rax
mov qword [rsp + 0x30], rbx
xor esi, esi
mov qword [rbx], rsi
mov qword [rbx + 8], rsi
mov qword [rbx + 0x10], rsi
lea rcx, [rbx + 0x18]
call fcn.14002b970
mov qword [rbx + 0x58], rsi
mov qword [rbx + 0x60], rsi
mov qword [rbx + 0x68], rsi
mov qword [rbx + 0x80], rsi
mov qword [rbx + 0x88], rsi
mov qword [rbx + 0x90], rsi
mov rsi, qword [rsp + 0x20]
mov rcx, qword [rsi + 0x10]
movss xmm3, dword [rsi]
add rcx, 1
xorps xmm0, xmm0
js 0x1400394ed
cvtsi2ss xmm0, rcx
jmp 0x140039502
mov rax, rcx
shr rax, 1
and ecx, 1
or rax, rcx
cvtsi2ss xmm0, rax
addss xmm0, xmm0
mov rbx, qword [rsi + 0x38]
xorps xmm2, xmm2
test rbx, rbx
js 0x140039515
cvtsi2ss xmm2, rbx
jmp 0x14003952d
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 0x14003964a
divss xmm0, xmm3
call fcn.14009199c
xor ecx, ecx
movss xmm1, dword [0x1400af52c]
comiss xmm0, xmm1
jb 0x140039570
subss xmm0, xmm1
comiss xmm0, xmm1
jae 0x140039570
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 0x1400395a2
cmp rbx, 0x200
jae 0x14003959f
lea rbx, [rbx*8]
cmp rbx, rcx
jae 0x1400395a2
mov rbx, rcx
mov rdx, rbx
mov rcx, rsi
call fcn.14002b9f0
mov rax, qword [rsi + 0x30]
and rax, rbp
add rax, rax
mov r15, qword [rsi + 0x18]
mov rbx, qword [r15 + rax*8 + 8]
mov rdi, qword [rsi + 8]
cmp rbx, rdi
jne 0x1400395d3
mov qword [rsp + 0x30], rdi
mov r15, rdi
jmp 0x14003963c
mov r15, qword [r15 + rax*8]
mov r13, qword [r14 + 0x18]
mov rsi, qword [r14 + 0x10]
nop
mov rdi, rbx
lea rdx, [rbx + 0x10]
mov rax, qword [rdx + 0x10]
cmp qword [rdx + 0x18], 0xf
jbe 0x1400395f5
mov rdx, qword [rdx]
mov rcx, r14
cmp r13, 0xf
jbe 0x140039601
mov rcx, qword [r14]
cmp rsi, rax
jne 0x140039612
mov r8, rsi
call fcn.140093b70
test eax, eax
je 0x14003961d
cmp rbx, r15
je 0x14003962f
mov rbx, qword [rbx + 8]
jmp 0x1400395e0
mov rdi, qword [rbx]
mov qword [rsp + 0x30], rdi
mov r15, rdi
mov rsi, qword [rsp + 0x20]
jmp 0x140039645
mov qword [rsp + 0x30], rbx
mov r15, rbx
mov rsi, qword [rsp + 0x20]
mov qword [rsp + 0x38], 0
mov r13, qword [rsp + 0x30]
mov rdx, qword [rdi + 8]
inc qword [rsi + 0x10]
mov qword [r12], r13
mov qword [r12 + 8], rdx
mov qword [rdx], r12
mov qword [rdi + 8], r12
mov rcx, qword [rsi + 0x18]
mov rax, qword [rsi + 0x30]
and rax, rbp
add rax, rax
mov r8, qword [rcx + rax*8]
cmp r8, qword [rsi + 8]
jne 0x140039680
mov qword [rcx + rax*8], r12
jmp 0x140039692
cmp r8, r15
jne 0x14003968b
mov qword [rcx + rax*8], r12
jmp 0x140039697
cmp qword [rcx + rax*8 + 8], rdx
jne 0x140039697
mov qword [rcx + rax*8 + 8], r12
mov rax, qword [rsp + 0x40]
mov qword [rax], r12
mov byte [rax + 8], 1
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.140067640
int3