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

Disassembly:
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbp
push rbx
sub rsp, 0x98
movdqa xmmword [rsp + 0x80], xmm7
movdqa xmmword [rsp + 0x70], xmm6
mov rsi, rcx
mov rax, qword [0x1400f5980]
xor rax, rsp
mov qword [rsp + 0x68], rax
cmp qword [rcx + 0x18], 8
mov rax, rcx
jb 0x1400162b1
mov rax, qword [rsi]
mov rdx, 0xffffffffffffffff
nop dword [rax + rax]
cmp word [rax + rdx*2 + 2], 0
lea rdx, [rdx + 1]
jne 0x1400162c0
movabs r10, 0xcbf29ce484222325
test rdx, rdx
je 0x14001630c
xor r8d, r8d
movabs r9, 0x100000001b3
nop dword [rax + rax]
movzx ecx, byte [rax + r8*2]
xor rcx, r10
imul rcx, r9
inc r8
mov r11d, r8d
mov r10, rcx
cmp rdx, r11
ja 0x1400162f0
jmp 0x14001630f
mov rcx, r10
call fcn.140016af0
mov rdi, rax
test rax, rax
jne 0x140016a57
movabs r15, 0xf000000000000
movabs r14, 0xf00000000000
movabs r12, 0xf0000000f00
movabs rbx, 0xf0000f000
movabs rax, 0xb531351e597fad8a
movabs rcx, 0xc0a309a3badccce7
movq xmm0, rcx
movq xmm1, rax
punpcklqdq xmm1, xmm0
movdqa xmm0, xmmword [0x1400f6af0]
pxor xmm1, xmm0
movq rax, xmm1
mov r9, rax
shl r9, 0xc
pshufd xmm1, xmm1, 0xee
movq rdx, xmm1
mov rcx, rdx
shr rcx, 8
mov r10d, r9d
and r10d, 0xf00f0000
and rcx, r12
mov r11d, eax
and r11d, 0xf00000
shl r11, 0x10
mov rdi, rdx
shl rdi, 8
and rdi, r15
mov r8, rax
shr r8, 0x38
and r9, r14
mov r13, rdx
shl r13, 0x3c
or r13, rcx
or r13, r10
or r13, r11
or r13, rdi
mov rcx, rdx
shr rcx, 0x14
mov r10, rax
shr r10, 0x28
and r10d, 0xf
and r8d, 0xfffffff0
or r8, r13
or r8, r9
mov r9d, edx
and r9d, 0xf00000
shl r9, 0x20
mov r11, rax
shr r11, 0x18
and r11d, 0xf000000
shr rax, 0x24
and eax, 0xf00000
and edx, 0xf00
shl rdx, 0x30
and rcx, rbx
or rcx, r10
or rcx, r9
or rcx, r11
or rcx, rax
or rcx, rdx
or rcx, r8
cmp rcx, 0xffffffffffffffff
je 0x140016925
cmp qword [0x1400f6af0], 0
je 0x140016925
pshufd xmm0, xmm0, 0xee
movq rax, xmm0
test rax, rax
je 0x140016925
movabs rbp, 0xf0000000000000
movabs r13, 0xf000000000
cmp qword [rsi + 0x18], 8
mov rdi, rsi
jb 0x140016481
mov rdi, qword [rsi]
not rcx
movabs rdx, 0x8e5777f11905ab62
call fcn.140017060
mov r8, rax
movabs rax, 0x5c4d12f947bd853
movabs rcx, 0xf14a21a5abe6d649
movq xmm0, rcx
movq xmm1, rax
punpcklqdq xmm1, xmm0
xor eax, eax
not rax
movq xmm0, rax
pshufd xmm0, xmm0, 0x44
movabs rax, 0x2556ed8b6b8427ac
movabs rcx, 0xeb51d01227c2986
movq xmm2, rcx
movq xmm3, rax
punpcklqdq xmm3, xmm2
pxor xmm3, xmm1
pandn xmm3, xmm0
pshufd xmm1, xmm3, 0xee
movq rax, xmm1
movd ecx, xmm3
shl ecx, 0x10
movzx eax, ax
mov r9, qword gs:[rcx + rax]
rdtsc
shl rdx, 0x20
or rdx, rax
movabs rax, 0xddf466968c7e60e2
movabs rcx, 0xc50a4a93f4987797
movq xmm1, rcx
movq xmm2, rax
punpcklqdq xmm2, xmm1
movabs rax, 0x279f4be973819f1d
movabs rcx, 0x3af567ec2cf2886a
movq xmm1, rcx
movq xmm3, rax
punpcklqdq xmm3, xmm1
pxor xmm3, xmm2
pandn xmm3, xmm0
pshufd xmm1, xmm3, 0xee
movq rcx, xmm1
movq rax, xmm3
mov r10d, eax
shl r10, 0x10
movabs rax, 0xffff00000000ffff
and rcx, rax
or rcx, r10
imul rcx, rdx
movq xmm1, rcx
movq xmm2, rdx
pshufd xmm3, xmm2, 0x44
punpcklqdq xmm2, xmm1
movabs rcx, 0xc89e012b9fea780f
movabs rdx, 0xafe1eb9d9ae15141
movq xmm1, rdx
movq xmm4, rcx
punpcklqdq xmm4, xmm1
movabs rcx, 0x3845cf9b601587f0
movabs rdx, 0x501e252dab5aaebd
movq xmm5, rdx
movq xmm1, rcx
punpcklqdq xmm1, xmm5
pxor xmm1, xmm4
pandn xmm1, xmm0
movabs rcx, 0x26725e642a0d8960
movabs rdx, 0x7b9be4ef1e6aa193
movq xmm4, rdx
movq xmm5, rcx
punpcklqdq xmm5, xmm4
movabs rcx, 0xb5b62281d5f2769f
movabs rdx, 0x8464980a047e5e68
movq xmm4, rdx
movq xmm6, rcx
punpcklqdq xmm6, xmm4
pxor xmm6, xmm5
pandn xmm6, xmm0
movabs rcx, 0xcad9f2f6a08e31c2
movabs rdx, 0x98efecd3c3e9fe57
movq xmm4, rdx
movq xmm5, rcx
punpcklqdq xmm5, xmm4
movabs rcx, 0x23a419295f7131c2
movabs rdx, 0x6710070c7923fe57
movq xmm4, rdx
movq xmm7, rcx
punpcklqdq xmm7, xmm4
pxor xmm7, xmm5
pandn xmm7, xmm0
pshufd xmm4, xmm7, 0xee
movq rcx, xmm4
movd edx, xmm7
shl edx, 0x10
movzx r10d, cx
or r10d, edx
movabs rcx, 0x4b315649de6168dd
movq xmm4, rcx
pshufd xmm4, xmm4, 0x44
movabs rcx, 0xb4ce880fd9d19702
movq xmm5, rcx
pshufd xmm5, xmm5, 0x44
pxor xmm5, xmm4
pandn xmm5, xmm0
pextrw ecx, xmm5, 4
movq xmm4, r8
shr r8, cl
movdqa xmm5, xmm1
punpcklqdq xmm5, xmm6
psllq xmm5, 0x10
punpckhqdq xmm1, xmm6
movdqa xmm6, xmmword [section..rdata]
pand xmm5, xmm6
pandn xmm6, xmm1
por xmm6, xmm5
movdqa xmm1, xmm3
psrlq xmm1, 0x20
pmuludq xmm1, xmm6
movdqa xmm5, xmm6
psrlq xmm5, 0x20
pmuludq xmm5, xmm3
paddq xmm5, xmm1
psllq xmm5, 0x20
pmuludq xmm6, xmm3
paddq xmm6, xmm5
movd xmm1, r10d
pshufd xmm1, xmm1, 0x44
movq xmm3, r8
punpcklqdq xmm4, xmm3
pand xmm6, xmmword [0x1400cc030]
pand xmm4, xmm1
por xmm6, xmm4
pxor xmm6, xmm2
movabs rcx, 0x79fef7bdfd9b1761
movabs rdx, 0x1e36a316e494885
movq xmm1, rdx
movq xmm3, rcx
punpcklqdq xmm3, xmm1
movabs rcx, 0xbe0247870264e89e
movabs rdx, 0xfe1cda0bb295b6fa
movq xmm1, rdx
movq xmm4, rcx
punpcklqdq xmm4, xmm1
pxor xmm4, xmm3
pandn xmm4, xmm0
pshufd xmm1, xmm4, 0xee
movq rcx, xmm1
movq rdx, xmm4
mov edx, edx
shl rdx, 0x10
and rcx, rax
add rcx, r9
movdqu xmmword [rdx + rcx], xmm6
movabs rcx, 0x134b7d0ee4527aba
movabs rdx, 0x28f5ea83f82d8ec7
movq xmm1, rdx
movq xmm3, rcx
punpcklqdq xmm3, xmm1
movabs rcx, 0xbe97e6d91bad8545
movabs rdx, 0xd70a7154e40b70a8
movq xmm1, rdx
movq xmm4, rcx
punpcklqdq xmm4, xmm1
pxor xmm4, xmm3
pandn xmm4, xmm0
pshufd xmm0, xmm4, 0xee
movq rcx, xmm0
movq rdx, xmm4
mov edx, edx
shl rdx, 0x10
and rcx, rax
add rcx, r9
movdqu xmmword [rdx + rcx], xmm2
movabs rax, 0xd4f682335f5a9e37
movabs rcx, 0x7fb30e6d5b090811
movq xmm0, rcx
movq xmm1, rax
punpcklqdq xmm1, xmm0
pxor xmm1, xmmword [0x1400f6b70]
movq rcx, xmm1
mov r8, rcx
shl r8, 0xc
pshufd xmm0, xmm1, 0xee
movq rax, xmm0
mov r9, rax
shr r9, 8
mov edx, r8d
and edx, 0xf00f0000
and r9, r12
mov r10, rcx
shl r10, 0x10
and r10, r13
or r10, rdx
mov r11, rax
shl r11, 8
and r11, r15
or r11, r10
mov rdx, rcx
shr rdx, 0x38
and r8, r14
mov r14, rax
shl r14, 0x3c
or r14, r9
or r14, r11
mov r9, rax
shr r9, 0x14
mov r10, rcx
shr r10, 0x28
and r10d, 0xf
and edx, 0xfffffff0
or rdx, r8
or rdx, r14
mov r8, rax
shl r8, 0x20
and r8, rbp
mov r11, rcx
shr r11, 0x18
and r11d, 0xf000000
or r11, r8
shr rcx, 0x24
and ecx, 0xf00000
shl rax, 0x30
movabs r8, 0xf00000000000000
and rax, r8
or rax, rcx
and r9, rbx
or r9, r10
or r9, r11
or r9, rax
or r9, rdx
not r9
mov rcx, rdi
xor edx, edx
xor r8d, r8d
call r9
mov rdi, rax
test rax, rax
jne 0x140016a57
movabs rax, 0xdb778700fb15161b
mov qword [rsp + 0x20], rax
movabs rax, 0x1d51a3f20a66e34b
mov qword [rsp + 0x28], rax
movabs rax, 0xc4fa432cef690040
mov qword [rsp + 0x30], rax
movabs rax, 0x6a1276842f106374
mov qword [rsp + 0x38], rax
movabs rax, 0xdb1b8769fb74167d
mov qword [rsp + 0x40], rax
movabs rax, 0x1d25a3d20a02e32e
mov qword [rsp + 0x48], rax
movabs rax, 0xc49f434bef49002f
mov qword [rsp + 0x50], rax
movabs rax, 0x6a1276842f306300
mov qword [rsp + 0x58], rax
lea rax, [rsp + 0x40]
movups xmm0, xmmword [rax]
xorps xmm0, xmmword [rsp + 0x20]
movaps xmmword [rsp + 0x20], xmm0
movdqu xmm0, xmmword [rax + 0x10]
pxor xmm0, xmmword [rsp + 0x30]
movdqa xmmword [rsp + 0x30], xmm0
lea rcx, [0x1400f7040]
lea rdx, [rsp + 0x20]
call fcn.140016db0
mov r8, qword [rsi + 0x10]
cmp qword [rsi + 0x18], 8
mov rdx, rsi
jb 0x1400169e2
mov rdx, qword [rsi]
mov rcx, rax
call fcn.140017e60
mov rdi, rax
mov rax, qword [rax]
movsxd rax, dword [rax + 4]
mov rax, qword [rdi + rax + 0x40]
mov rcx, qword [rax + 8]
mov qword [rsp + 0x48], rcx
mov rax, qword [rcx]
call qword [rax + 8]
lea rcx, [rsp + 0x40]
call fcn.140018290
mov r8, qword [rax]
mov rcx, rax
mov dl, 0xa
call qword [r8 + 0x60]
mov ebx, eax
mov rcx, qword [rsp + 0x48]
test rcx, rcx
je 0x140016a43
mov rax, qword [rcx]
call qword [rax + reloc.WS2_32.dll_recv]
test rax, rax
je 0x140016a43
mov r8, qword [rax]
mov rcx, rax
mov edx, 1
call qword [r8]
mov rcx, rdi
mov edx, ebx
call fcn.140018110
mov rcx, rdi
call fcn.140003130
xor edi, edi
mov rax, qword [rsi + 0x18]
cmp rax, 8
jb 0x140016a98
mov rcx, qword [rsi]
lea rdx, [rax*2 + 2]
cmp rdx, 0x1000
jb 0x140016a93
mov r8, qword [rcx - 8]
add rcx, 0xfffffffffffffff8
sub rcx, r8
cmp rcx, 0x20
jae 0x140016ade
add rax, rax
add rax, 0x29
mov rdx, rax
mov rcx, r8
call fcn.14009ad64
mov qword [rsi + 0x10], 0
mov qword [rsi + 0x18], 7
mov word [rsi], 0
mov rcx, qword [rsp + 0x68]
xor rcx, rsp
call fcn.14009adb0
mov rax, rdi
movaps xmm6, xmmword [rsp + 0x70]
movaps xmm7, xmmword [rsp + 0x80]
add rsp, 0x98
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
ret
call fcn.1400a96e8
int3