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

Disassembly:
push rbx
sub rsp, 0x10
mov r8, rcx
xor r9d, r9d
mov qword [rcx], r9
mov qword [rcx + 8], r9
mov qword [rcx + 0x10], r9
mov qword [rcx + 0x98], r9
mov eax, dword [rdx]
xor eax, 0x811c9dc5
imul ecx, eax, 0x1000193
mov eax, ecx
mov qword [rsp], rax
mov eax, dword [rdx + 4]
xor eax, ecx
imul ecx, eax, 0x1000193
mov qword [rsp + 8], rcx
movups xmm0, xmmword [rsp]
movups xmmword [r8], xmm0
mov dword [r8 + 0x18], r9d
mov dword [r8 + 0xa0], r9d
mov dword [r8 + 0x1c], 1
mov dword [r8 + 0xa4], 1
mov dword [r8 + 0x20], 2
mov dword [r8 + 0xa8], 2
mov dword [r8 + 0x24], 3
mov dword [r8 + 0xac], 3
mov dword [r8 + 0x28], 4
mov dword [r8 + 0xb0], 4
mov dword [r8 + 0x2c], 5
mov dword [r8 + 0xb4], 5
mov dword [r8 + 0x30], 6
mov dword [r8 + 0xb8], 6
mov dword [r8 + 0x34], 7
mov dword [r8 + 0xbc], 7
mov dword [r8 + 0x38], 8
mov dword [r8 + 0xc0], 8
mov dword [r8 + 0x3c], 9
mov dword [r8 + 0xc4], 9
mov dword [r8 + 0x40], 0xa
mov dword [r8 + 0xc8], 0xa
mov dword [r8 + 0x44], ntohs
mov dword [r8 + 0xcc], ntohs
mov dword [r8 + 0x48], ntohs
mov dword [r8 + 0xd0], ntohs
mov dword [r8 + 0x4c], reloc.WS2_32.dll_listen
mov dword [r8 + reloc.WS2_32.dll_listen4], 0xd
mov dword [r8 + 0x50], reloc.WS2_32.dll_ntohl
mov dword [r8 + 0xd8], reloc.WS2_32.dll_ntohl
mov dword [r8 + 0x54], reloc.WS2_32.dll_ntohs
mov dword [r8 + 0xdc], reloc.WS2_32.dll_ntohs
mov dword [r8 + 0x58], reloc.WS2_32.dll_recv
mov dword [r8 + 0xe0], reloc.WS2_32.dll_recv
mov dword [r8 + 0x5c], shutdown
mov dword [r8 + 0xe4], shutdown
mov dword [r8 + 0x60], reloc.WS2_32.dll_select
mov dword [r8 + 0xe8], reloc.WS2_32.dll_select
mov dword [r8 + 0x64], reloc.WS2_32.dll_send
mov dword [r8 + 0xec], reloc.WS2_32.dll_send
mov dword [r8 + 0x68], shutdown
mov dword [r8 + 0xf0], shutdown
mov dword [r8 + 0x6c], reloc.WS2_32.dll_setsockopt
mov dword [r8 + 0xf4], reloc.WS2_32.dll_setsockopt
mov dword [r8 + 0x70], reloc.WS2_32.dll_shutdown
mov dword [r8 + 0xf8], reloc.WS2_32.dll_shutdown
mov dword [r8 + 0x74], 0x17
mov dword [r8 + 0xfc], 0x17
mov dword [r8 + 0x78], 0x18
mov dword [r8 + 0x100], 0x18
mov dword [r8 + 0x7c], 0x19
mov dword [r8 + 0x104], 0x19
mov dword [r8 + 0x80], 0x1a
mov dword [r8 + 0x108], 0x1a
mov dword [r8 + 0x84], 0x1b
mov dword [r8 + 0x10c], 0x1b
mov dword [r8 + 0x88], 0x1c
mov dword [r8 + 0x110], 0x1c
mov dword [r8 + 0x8c], 0x1d
mov dword [r8 + 0x114], 0x1d
mov dword [r8 + 0x90], 0x1e
mov dword [r8 + 0x118], 0x1e
mov dword [r8 + 0x94], 0x1f
mov dword [r8 + 0x11c], 0x1f
movabs rbx, 0x5851f42d4c957f2d
lea r10d, [r9 + 0x20]
mov r11d, 0x11c
nop word [rax + rax]
mov r9, qword [r8]
lea r11, [r11 - 4]
mov rax, qword [r8 + 8]
mov rcx, r9
or rax, 1
mov rdx, r9
imul rcx, rbx
shr rdx, 0x2d
add rcx, rax
mov rax, r9
mov qword [r8], rcx
shr rax, 0x1b
xor edx, eax
shr r9, 0x3b
mov eax, edx
mov ecx, r9d
neg ecx
and ecx, 0x1f
shl eax, cl
mov ecx, r9d
shr edx, cl
mov ecx, dword [r8 + r11 - 0x84]
or eax, edx
xor edx, edx
div r10d
mov eax, dword [r8 + rdx*4 + 0x18]
lea rdx, [r8 + rdx*4]
mov dword [r8 + r11 - 0x84], eax
mov dword [rdx + 0x18], ecx
mov r9, qword [r8]
mov rax, qword [r8 + 8]
mov rcx, r9
or rax, 1
mov rdx, r9
imul rcx, rbx
shr rdx, 0x2d
add rcx, rax
mov rax, r9
mov qword [r8], rcx
shr rax, 0x1b
xor edx, eax
shr r9, 0x3b
mov eax, edx
mov ecx, r9d
neg ecx
and ecx, 0x1f
shl eax, cl
mov ecx, r9d
shr edx, cl
mov ecx, dword [r11 + r8 + 4]
or eax, edx
xor edx, edx
div r10d
dec r10d
lea rdx, [r8 + rdx*4]
mov eax, dword [rdx + 0xa0]
mov dword [r11 + r8 + 4], eax
mov dword [rdx + 0xa0], ecx
cmp r10d, 1
ja 0x140207f60
mov rax, r8
add rsp, 0x10
pop rbx
ret