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

Disassembly:
mov rax, rsp
mov qword [rax + 0x20], rbx
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
lea rbp, [rax - 0x108]
sub rsp, 0x1d0
movaps xmmword [rax - 0x48], xmm6
movaps xmmword [rax - 0x58], xmm7
movaps xmmword [rax - 0x68], xmm8
movaps xmmword [rax - 0x78], xmm9
movaps xmmword [rax - 0x88], xmm10
movaps xmmword [rax - 0x98], xmm11
movaps xmmword [rax - 0xa8], xmm12
movaps xmmword [rax - 0xb8], xmm13
movaps xmmword [rax - 0xc8], xmm14
movaps xmmword [rax - 0xd8], xmm15
mov rax, qword [0x1401d60c0]
xor rax, rsp
mov qword [rbp + 0x20], rax
movaps xmm15, xmm3
mov r14, r8
mov rdi, rdx
mov rbx, rcx
mov r13, qword [rbp + 0x138]
mov qword [rbp - 0x40], r13
xor r15d, r15d
movss xmm8, dword [rcx + 0x140]
subss xmm8, dword [rcx + 0x254]
addss xmm8, dword [rcx + 0x148]
movss xmm10, dword [rcx + 0x144]
xorps xmm9, xmm9
addss xmm10, xmm9
movss xmm13, dword [rcx + 0x14c]
subss xmm13, dword [0x1401bbf7c]
lea rcx, [rbp - 0x60]
call fcn.140005cf0
mov rsi, rax
cmp qword [rax + 0x18], 0xf
jbe 0x140016740
mov rax, qword [rax]
mov rcx, qword [0x1401da268]
movss xmm11, dword [rcx + 0x3d80]
movss xmm0, dword [0x1401bc05c]
test rax, rax
je 0x140016794
mov qword [rsp + 0x38], r15
mov qword [rsp + 0x30], r15
mov qword [rsp + 0x28], rax
movss dword [rsp + 0x20], xmm0
movss xmm3, dword [0x1401bc04c]
movaps xmm2, xmm11
lea rdx, [rbp - 0x30]
mov rcx, qword [rcx + 0x3d78]
call fcn.140043e40
movss xmm11, dword [rbp - 0x2c]
mov rcx, rsi
call fcn.1400064a0
mov rcx, qword [rdi + 0x10]
mov rdx, qword [0x1401d70a8]
movabs r12, 0x7fffffffffffffff
mov rax, r12
sub rax, rcx
cmp rax, rdx
jb 0x140017126
mov r9, rdi
cmp qword [rdi + 0x18], 0xf
jbe 0x1400167cd
mov r9, qword [rdi]
lea rax, [0x1401d7098]
cmp qword [reloc.WS2_32.dll_ntohs], 0xf
cmova rax, qword [0x1401d7098]
mov qword [rsp + 0x30], rdx
mov qword [rsp + 0x28], rax
mov qword [rsp + 0x20], rcx
mov r8, rdi
movzx edx, byte [rsp + 0x50]
lea rcx, [rbp - 0x80]
call fcn.1400127c0
lea r8, [rbp - 0x80]
cmp qword [rbp - 0x68], 0xf
cmova r8, qword [rbp - 0x80]
movabs rcx, 0xcbf29ce484222325
mov rdx, r15
mov r9, qword [rbp - 0x70]
test r9, r9
je 0x140016854
movabs r10, 0x100000001b3
nop dword [rax]
nop word [rax + rax]
movzx eax, byte [r8 + rdx]
xor rcx, rax
imul rcx, r10
inc rdx
cmp rdx, r9
jb 0x140016840
mov qword [rbp - 0x38], rcx
lea rcx, [rbp - 0x80]
call fcn.1400064a0
movss xmm6, dword [rbx + 0x1fc]
movss xmm7, dword [rbx + 0x1f8]
movss xmm12, dword [rbx + 0x1f4]
movss dword [rbp - 0x10], xmm12
movss dword [rbp - 0xc], xmm7
movss dword [rbp - 8], xmm6
movss xmm14, dword [0x1401d64f0]
movss dword [rbp - 4], xmm14
mov rdx, r13
cmp qword [r13 + 0x18], 0xf
jbe 0x1400168a7
mov rdx, qword [r13]
mov r8, r14
lea rcx, [rbp]
call fcn.140018110
nop
mov rdx, rdi
lea rcx, [rsp + 0x58]
call fcn.140005cf0
mov rsi, rax
mov qword [rbp - 0x80], rax
movss dword [rbp - 0x60], xmm12
movss dword [rbp - 0x5c], xmm7
movss dword [rbp - 0x58], xmm6
movss dword [rbp - 0x54], xmm14
movaps xmm0, xmm10
unpcklps xmm0, xmm8
movsd qword [rbp - 0x30], xmm0
mov r8, rax
cmp qword [rax + 0x18], 0xf
jbe 0x1400168f8
mov r8, qword [rax]
lea rcx, [rbp - 0x60]
call fcn.14001c7e0
mov r9d, eax
test eax, 0xff000000
je 0x140016977
test r8, r8
je 0x140016977
cmp byte [r8], 0
je 0x140016977
mov rcx, 0xffffffffffffffff
nop dword [rax]
inc rcx
cmp byte [r8 + rcx], 0
jne 0x140016920
add rcx, r8
mov rdx, qword [0x1401da760]
mov rax, qword [rdx + 0x38]
movups xmm0, xmmword [rdx + 0x60]
movups xmmword [rbp - 0x60], xmm0
mov byte [rsp + 0x48], 0
movss dword [rsp + 0x40], xmm9
mov qword [rsp + 0x38], rcx
mov qword [rsp + 0x30], r8
lea rcx, [rbp - 0x60]
mov qword [rsp + 0x28], rcx
mov dword [rsp + 0x20], r9d
lea r9, [rbp - 0x30]
movss xmm2, dword [rax + 0x10]
mov rcx, qword [rax + 8]
call fcn.140044250
nop
mov rcx, rsi
call fcn.1400064a0
lea rax, [rsp + 0x58]
mov qword [rbp - 0x80], rax
lea rdx, [rbp]
lea rcx, [rsp + 0x58]
call fcn.140005cf0
mov r15, rax
lea rdx, [rbp]
lea rcx, [rbp - 0x60]
call fcn.140005cf0
mov rsi, rax
mov rdx, rax
cmp qword [rax + 0x18], 0xf
jbe 0x1400169b6
mov rdx, qword [rax]
mov rcx, qword [0x1401da268]
test rdx, rdx
jne 0x1400169c8
movaps xmm6, xmm9
jmp 0x140016a1f
xor eax, eax
mov qword [rsp + 0x38], rax
mov qword [rsp + 0x30], rax
mov qword [rsp + 0x28], rdx
movss xmm0, dword [0x1401bc05c]
movss dword [rsp + 0x20], xmm0
movss xmm3, dword [0x1401bc04c]
movss xmm2, dword [rcx + 0x3d80]
lea rdx, [rbp - 0x30]
mov rcx, qword [rcx + 0x3d78]
call fcn.140043e40
movss xmm0, dword [rbp - 0x30]
addss xmm0, dword [0x1401bbeb4]
cvttss2si eax, xmm0
movd xmm6, eax
cvtdq2ps xmm6, xmm6
mov rcx, rsi
call fcn.1400064a0
movaps xmm2, xmm8
addss xmm2, xmm9
movaps xmm1, xmm13
subss xmm1, xmm6
addss xmm1, xmm10
movups xmm0, xmmword [rbp - 0x10]
movdqa xmmword [rbp - 0x80], xmm0
lea r9, [rbp - 0x80]
mov r8, r15
unpcklps xmm1, xmm2
movq rdx, xmm1
call fcn.140019320
addss xmm8, xmm11
mov rax, qword [0x1401da268]
movss xmm5, dword [rax + 0x108]
movss xmm14, dword [rbp + 0x130]
mov r9, qword [0x1401d64f8]
movss xmm2, dword [0x1401bbf4c]
comiss xmm5, xmm10
jbe 0x140016b1d
movss xmm1, dword [rax + 0x10c]
comiss xmm1, xmm8
jbe 0x140016b1d
movaps xmm0, xmm10
addss xmm0, xmm13
comiss xmm0, xmm5
jbe 0x140016b1d
movaps xmm0, xmm8
addss xmm0, xmm2
comiss xmm0, xmm1
jbe 0x140016b1d
movss xmm2, dword [rbx + 0x14c]
movss xmm0, dword [rbx + 0x150]
movss xmm4, dword [rbx + 0x144]
movss xmm3, dword [rbx + 0x148]
comiss xmm5, xmm4
jbe 0x140016b1d
comiss xmm1, xmm3
jbe 0x140016b1d
addss xmm2, xmm4
comiss xmm2, xmm5
jbe 0x140016b1d
addss xmm0, xmm3
comiss xmm0, xmm1
jbe 0x140016b1d
test r9, r9
jne 0x140016b1d
mov r15b, 1
xor r8d, r8d
xor edx, edx
xor ecx, ecx
call fcn.14002a9e0
test al, al
je 0x140016b20
mov rax, qword [rbp - 0x38]
mov qword [0x1401d64f8], rax
jmp 0x140016bb9
xor r15b, r15b
test r9, r9
je 0x140016bb9
cmp r9, qword [rbp - 0x38]
jne 0x140016bb9
xor ecx, ecx
call fcn.14002a930
test al, al
je 0x140016bae
subss xmm5, xmm10
comiss xmm9, xmm5
jbe 0x140016b4f
movaps xmm1, xmm9
jmp 0x140016b57
movaps xmm1, xmm13
minss xmm1, xmm5
subss xmm1, xmm9
movaps xmm0, xmm13
subss xmm0, xmm9
divss xmm1, xmm0
movaps xmm0, xmm14
subss xmm0, xmm15
mulss xmm1, xmm0
addss xmm1, xmm15
comiss xmm15, xmm1
jbe 0x140016b87
movaps xmm6, xmm15
jmp 0x140016b8f
movaps xmm6, xmm14
minss xmm6, xmm1
movss dword [r14], xmm6
lea r8, [rbp - 0x38]
lea rdx, [rbp - 0x80]
mov rcx, rbx
call fcn.1400185d0
mov rcx, qword [rax]
movss dword [rcx + 0x18], xmm6
jmp 0x140016bb9
mov qword [0x1401d64f8], 0
lea r8, [rbp - 0x38]
lea rdx, [rbp - 0x80]
lea rcx, [rbx + 0x80]
call fcn.1400182f0
mov rcx, qword [rax]
movss xmm7, dword [0x1401bbf2c]
movss xmm6, dword [0x1401bbe74]
lea r8, [rbp - 0x38]
lea rdx, [rbp - 0x80]
cmp byte [rcx + 0x18], 0
mov rcx, rbx
je 0x140016c60
call fcn.1400185d0
mov rcx, qword [rax]
movss xmm2, dword [rcx + 0x18]
movss xmm0, dword [r14]
comiss xmm0, xmm2
jbe 0x140016c43
mov rax, qword [0x1401da268]
movss xmm1, dword [rax + 0x18]
mulss xmm1, xmm7
mulss xmm1, xmm6
movaps xmm0, xmm14
subss xmm0, xmm15
mulss xmm1, xmm0
addss xmm2, xmm1
movss dword [rcx + 0x18], xmm2
movss xmm0, dword [r14]
comiss xmm2, xmm0
jbe 0x140016c7a
movss dword [rcx + 0x18], xmm0
jmp 0x140016c7a
lea r8, [rbp - 0x38]
lea rdx, [rbp - 0x80]
lea rcx, [rbx + 0x80]
call fcn.1400182f0
mov rcx, qword [rax]
mov byte [rcx + 0x18], 0
jmp 0x140016c7a
movss xmm6, dword [r14]
call fcn.1400185d0
mov rcx, qword [rax]
movss dword [rcx + 0x18], xmm6
movss xmm6, dword [0x1401bbe74]
mov rdx, rdi
lea rcx, [rsp + 0x58]
call fcn.140005cf0
mov r8, rax
lea rdx, [rbp - 0x60]
call fcn.140012010
mov rax, qword [0x1401da268]
movss xmm0, dword [rax + 0x18]
mulss xmm0, xmm7
mulss xmm0, xmm6
movss xmm12, dword [0x1401bbf20]
mulss xmm0, xmm12
movss xmm1, dword [rbp - 0x60]
subss xmm1, xmm0
mov r8b, 1
lea rcx, [rbp - 0x60]
call fcn.140011ee0
mov rax, qword [rdi + 0x10]
sub r12, rax
cmp r12, 1
jb 0x140017120
mov r9, rdi
cmp qword [rdi + 0x18], 0xf
jbe 0x140016ce8
mov r9, qword [rdi]
mov qword [rsp + 0x30], 1
lea rcx, [0x1401b84b4]
mov qword [rsp + 0x28], rcx
mov qword [rsp + 0x20], rax
mov r8, rdi
movzx edx, byte [rsp + 0x50]
lea rcx, [rbp - 0x30]
call fcn.1400127c0
nop
cmp qword [reloc.WS2_32.dll_ntohs], 0xf
lea rdx, [0x1401d7098]
cmova rdx, qword [0x1401d7098]
mov r8, qword [0x1401d70a8]
lea rcx, [rbp - 0x30]
call fcn.140006500
xorps xmm0, xmm0
movups xmmword [rbp - 0x80], xmm0
xor edi, edi
mov qword [rbp - 0x70], rdi
mov qword [rbp - 0x68], rdi
movups xmm0, xmmword [rax]
movups xmmword [rbp - 0x80], xmm0
movups xmm1, xmmword [rax + 0x10]
movups xmmword [rbp - 0x70], xmm1
mov qword [rax + 0x10], rdi
mov qword [rax + 0x18], reloc.WS2_32.dll_ntohs
mov byte [rax], dil
lea r8, [rbp - 0x80]
lea rdx, [rbp - 0x60]
call fcn.140012010
nop
lea rcx, [rbp - 0x30]
call fcn.1400064a0
test r15b, r15b
jne 0x140016d9d
mov rax, qword [rbp - 0x38]
cmp qword [0x1401d64f8], rax
je 0x140016d9d
movss xmm0, dword [0x1401bc05c]
jmp 0x140016da5
movss xmm0, dword [0x1401bbebc]
mov rax, qword [0x1401da268]
movss xmm1, dword [rax + 0x18]
mulss xmm1, xmm7
mulss xmm1, xmm6
mulss xmm1, xmm12
mulss xmm1, xmm0
addss xmm1, dword [rbp - 0x60]
mov r8b, 1
lea rcx, [rbp - 0x60]
call fcn.140011ee0
movss xmm1, dword [rbx + 0x1bc]
movss xmm0, dword [rbx + 0x1b8]
movss xmm3, dword [rbx + 0x1b4]
movss xmm2, dword [0x1401d64f0]
movaps xmm6, xmm13
subss xmm6, dword [0x1401bbee0]
movaps xmm5, xmm8
addss xmm5, dword [0x1401bbebc]
movss dword [rsp + 0x54], xmm5
movaps xmm7, xmm10
addss xmm7, dword [0x1401bbebc]
shufps xmm3, xmm3, 0xe1
movss xmm3, xmm0
shufps xmm3, xmm3, 0xc6
movss xmm3, xmm1
shufps xmm3, xmm3, 0x27
movss xmm3, xmm2
shufps xmm3, xmm3, 0x39
movups xmmword [rbp - 0x80], xmm3
movdqa xmmword [rbp - 0x30], xmm3
movaps xmm0, xmm7
unpcklps xmm0, xmm5
movsd qword [rbp - 0x80], xmm0
lea rcx, [rbp - 0x30]
call fcn.14001c7e0
movss xmm1, dword [rsp + 0x54]
addss xmm1, dword [0x1401bbf48]
movss dword [rbp - 0x10], xmm1
movaps xmm0, xmm7
addss xmm0, xmm6
movss dword [rbp - 0x30], xmm0
movss dword [rbp - 0x2c], xmm1
mov dword [rsp + 0x28], edi
movss dword [rsp + 0x20], xmm12
mov r9d, eax
lea r8, [rbp - 0x30]
lea rdx, [rbp - 0x80]
mov rcx, qword [0x1401da760]
call fcn.1400400c0
lea r8, [rbp - 0x38]
lea rdx, [rbp - 0x80]
mov rcx, rbx
call fcn.1400185d0
mov rcx, qword [rax]
movss xmm6, dword [rcx + 0x18]
subss xmm6, xmm15
subss xmm14, xmm15
divss xmm6, xmm14
movaps xmm0, xmm13
subss xmm0, xmm9
mulss xmm6, xmm0
addss xmm6, xmm9
lea r8, [rbp - 0x38]
lea rdx, [rbp - 0x80]
mov rcx, rbx
call fcn.1400185d0
mov rcx, qword [rax]
movss xmm0, dword [rcx + 0x18]
ucomiss xmm0, xmm15
jp 0x140016ef9
je 0x140016f95
movss xmm1, dword [rbx + 0x20c]
movss xmm0, dword [rbx + 0x208]
movss xmm3, dword [rbx + 0x204]
movss xmm2, dword [0x1401d64f0]
subss xmm6, dword [0x1401bbee0]
shufps xmm3, xmm3, 0xe1
movss xmm3, xmm0
shufps xmm3, xmm3, 0xc6
movss xmm3, xmm1
shufps xmm3, xmm3, 0x27
movss xmm3, xmm2
shufps xmm3, xmm3, 0x39
movups xmmword [rbp - 0x80], xmm3
movdqa xmmword [rbp - 0x30], xmm3
movaps xmm0, xmm7
movss xmm1, dword [rsp + 0x54]
unpcklps xmm0, xmm1
movsd qword [rbp - 0x80], xmm0
lea rcx, [rbp - 0x30]
call fcn.14001c7e0
addss xmm7, xmm6
movss dword [rbp - 0x30], xmm7
movss xmm0, dword [rbp - 0x10]
movss dword [rbp - 0x2c], xmm0
mov dword [rsp + 0x28], edi
movss dword [rsp + 0x20], xmm12
mov r9d, eax
lea r8, [rbp - 0x30]
lea rdx, [rbp - 0x80]
mov rcx, qword [0x1401da760]
call fcn.1400400c0
movss xmm0, dword [rbx + 0x1c4]
movss dword [rbp - 0x80], xmm0
movss xmm1, dword [rbx + 0x1c8]
movss dword [rbp - 0x7c], xmm1
movss xmm0, dword [rbx + 0x1cc]
movss dword [rbp - 0x78], xmm0
movss xmm1, dword [0x1401d64f0]
movss dword [rbp - 0x74], xmm1
movss dword [rbp - 0x10], xmm10
movss dword [rbp - 0xc], xmm8
lea rcx, [rbp - 0x80]
call fcn.14001c7e0
movaps xmm7, xmm8
movss xmm14, dword [0x1401bbf4c]
addss xmm7, xmm14
movaps xmm6, xmm10
addss xmm6, xmm13
movss dword [rbp - 0x30], xmm6
movss dword [rbp - 0x2c], xmm7
movss dword [rsp + 0x30], xmm9
movss dword [rsp + 0x20], xmm12
mov r9d, eax
lea r8, [rbp - 0x30]
lea rdx, [rbp - 0x10]
mov rcx, qword [0x1401da760]
call fcn.14003ffc0
mov dword [rbp - 0x80], 0x3e48c8c9
mov dword [rbp - 0x7c], 0x3e48c8c9
mov dword [rbp - 0x78], 0x3e48c8c9
movss xmm0, dword [rbp - 0x60]
mulss xmm0, dword [0x1401d64f0]
movss dword [rbp - 0x74], xmm0
movss dword [rbp - 0x60], xmm10
movss dword [rbp - 0x5c], xmm8
lea rcx, [rbp - 0x80]
call fcn.14001c7e0
movss dword [rbp - 0x30], xmm6
movss dword [rbp - 0x2c], xmm7
movss dword [rsp + 0x30], xmm9
movss dword [rsp + 0x20], xmm12
mov r9d, eax
lea r8, [rbp - 0x30]
lea rdx, [rbp - 0x60]
mov rcx, qword [0x1401da760]
call fcn.14003ffc0
addss xmm11, xmm14
addss xmm11, xmm14
addss xmm11, dword [rbx + 0x140]
movss dword [rbx + 0x140], xmm11
lea rcx, [rbp]
call fcn.1400064a0
nop
mov rcx, r13
call fcn.1400064a0
mov rcx, qword [rbp + 0x20]
xor rcx, rsp
call fcn.1400f4b80
lea r11, [rsp + 0x1d0]
mov rbx, qword [r11 + 0x58]
movaps xmm6, xmmword [r11 - 0x10]
movaps xmm7, xmmword [r11 - 0x20]
movaps xmm8, xmmword [r11 - 0x30]
movaps xmm9, xmmword [r11 - 0x40]
movaps xmm10, xmmword [r11 - 0x50]
movaps xmm11, xmmword [r11 - 0x60]
movaps xmm12, xmmword [r11 - 0x70]
movaps xmm13, xmmword [r11 - 0x80]
movaps xmm14, xmmword [r11 - 0x90]
movaps xmm15, xmmword [r11 - 0xa0]
mov rsp, r11
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret
call fcn.140002720
nop
call fcn.140002720
int3