Function at 0x1400cab10
Capabilities:
Encode data using xor
Hash data using fnv
Resolve function by parsing pe exports

Disassembly:
mov rax, rsp
mov qword [rax + 0x10], rbx
mov qword [rax + 0x18], rsi
mov qword [rax + 0x20], rdi
push rbp
push r12
push r13
push r14
push r15
lea rbp, [rax - 0x68]
sub rsp, 0x140
movaps xmmword [rax - 0x38], xmm6
movaps xmmword [rax - 0x48], xmm7
movaps xmmword [rax - 0x58], xmm8
mov rax, qword [0x140398130]
xor rax, rsp
mov qword [rbp], rax
movzx r12d, dl
mov r15, rcx
mov dword [rsp + 0x20], 0x200e3
xor ebx, ebx
lea r14d, [rbx + 2]
mov qword [rsp + 0x24], 0xe60000
mov dword [rsp + 0x2c], 0xed
mov dword [rsp + 0x30], 0xfe0010
mov qword [rsp + 0x34], 0x100002
mov dword [rsp + 0x3c], ebx
mov dword [rsp + 0x40], 0xcc630000
mov dword [rsp + 0x44], 0x3050063
mov word [rsp + 0x48], 9
mov r10d, ebx
lea r9, [rsp + 0x38]
nop dword [rax + rax]
lea edi, [r10 + r10*2]
movzx ecx, word [rsp + rdi*2 + 0x20]
mov word [r9], cx
movzx eax, r10w
add ax, ax
lea esi, [rax + r10]
movzx r8d, byte [rsp + 0x44]
add r8w, si
xor r8w, cx
mov word [r9], r8w
xor dl, dl
lea eax, [rdi + 1]
movzx r11d, word [rsp + rax*2 + 0x20]
nop word [rax + rax]
movzx ecx, dl
movzx eax, r11w
shr ax, cl
test al, 1
jne 0x1400cac07
inc dl
cmp dl, 4
jne 0x1400cabf0
jmp 0x1400cac18
movzx r8d, r8w
movzx eax, byte [rsp + 0x47]
btc r8d, eax
mov word [r9], r8w
mov cl, 5
lea eax, [rdi + 2]
mov r11d, eax
movzx edx, word [rsp + rax*2 + 0x20]
movzx eax, dx
shr ax, cl
test al, 1
jne 0x1400cac38
inc cl
cmp cl, 8
jne 0x1400cac25
jmp 0x1400cac4c
movzx ecx, r8w
movzx eax, byte [rsp + 0x46]
btc ecx, eax
movzx r8d, cx
mov word [r9], cx
xor cl, cl
movzx edx, word [rsp + r11*2 + 0x20]
movzx eax, dx
shr ax, cl
test al, 1
jne 0x1400cac67
inc cl
cmp cl, 5
jne 0x1400cac54
jmp 0x1400cac7b
movzx ecx, r8w
movzx eax, byte [rsp + 0x45]
btc ecx, eax
movzx r8d, cx
mov word [r9], cx
movzx eax, byte [rsp + 0x43]
add ax, si
xor ax, r8w
mov word [r9], ax
inc r10d
add r9, r14
cmp r10d, 4
jne 0x1400cabb0
xorps xmm0, xmm0
movups xmmword [rbp - 0x80], xmm0
mov qword [rbp - 0x70], rbx
mov qword [rbp - 0x68], rbx
lea rax, [rsp + 0x38]
mov rsi, 0xffffffffffffffff
mov r8, rsi
nop dword [rax]
inc r8
cmp word [rax + r8*2], bx
jne 0x1400cacc0
lea rdx, [rsp + 0x38]
lea rcx, [rbp - 0x80]
call fcn.1400855f0
nop
lea rdx, [rbp - 0x80]
cmp qword [rbp - 0x68], 8
cmovae rdx, qword [rbp - 0x80]
movabs rdi, 0xcbf29ce484222325
mov r9, rdi
mov rax, qword [rbp - 0x70]
lea r8, [rax + rax]
mov rcx, rbx
movabs r13, 0x100000001b3
test r8, r8
je 0x1400cad23
nop
movzx eax, byte [rcx + rdx]
xor r9, rax
imul r9, r13
inc rcx
cmp rcx, r8
jb 0x1400cad10
lea r8, [rbp - 0x80]
lea rdx, [rsp + 0x70]
lea rcx, [0x140398e40]
call fcn.1402b67f0
mov rcx, qword [rax + 8]
test rcx, rcx
je 0x1400cad4e
cmp rcx, qword [0x140398e48]
lea rdx, [rcx + 0x30]
jne 0x1400cad52
lea rdx, [rbp - 0x80]
lea rcx, [rbp - 0x20]
call fcn.140085a30
nop
lea rcx, [rbp - 0x80]
call fcn.140085e10
movss xmm6, dword [0x140376e98]
xorps xmm8, xmm8
xorps xmm7, xmm7
movzx ecx, byte [r12 + r15 + 0x1e4]
cmp cl, 1
jne 0x1400cafcf
mov dword [rsp + 0x20], 0x8000d
mov dword [rsp + 0x24], 0xc0020
mov dword [rsp + 0x28], 0x200008
mov dword [rsp + 0x2c], recv
mov dword [rsp + 0x30], 0x160030
mov dword [rsp + 0x34], 0x300000
mov dword [rsp + 0x38], reloc.WS2_32.dll_setsockopt
mov dword [rsp + 0x3c], 0xe0030
mov qword [rsp + 0x40], 0x300000
mov qword [rsp + 0x48], rbx
mov dword [rsp + 0x50], 0x63cc0000
mov dword [rsp + 0x54], 0x3050009
mov word [rsp + 0x58], 0x63
mov r11d, ebx
lea r9, [rsp + 0x44]
lea esi, [r11 + r11*2]
movzx ecx, word [rsp + rsi*2 + 0x20]
mov word [r9], cx
movzx eax, r11w
add ax, ax
lea r14d, [rax + r11]
movzx r8d, byte [rsp + 0x54]
add r8w, r14w
xor r8w, cx
mov word [r9], r8w
xor dl, dl
lea eax, [rsi + 1]
movzx r10d, word [rsp + rax*2 + 0x20]
nop dword [rax + rax]
movzx ecx, dl
movzx eax, r10w
shr ax, cl
test al, 1
jne 0x1400cae47
inc dl
cmp dl, 4
jne 0x1400cae30
jmp 0x1400cae58
movzx r8d, r8w
movzx eax, byte [rsp + 0x57]
btc r8d, eax
mov word [r9], r8w
mov cl, 5
lea eax, [rsi + 2]
mov r10d, eax
movzx edx, word [rsp + rax*2 + 0x20]
movzx eax, dx
shr ax, cl
test al, 1
jne 0x1400cae78
inc cl
cmp cl, 8
jne 0x1400cae65
jmp 0x1400cae8c
movzx ecx, r8w
movzx eax, byte [rsp + 0x56]
btc ecx, eax
movzx r8d, cx
mov word [r9], cx
xor cl, cl
movzx edx, word [rsp + r10*2 + 0x20]
movzx eax, dx
shr ax, cl
test al, 1
jne 0x1400caea7
inc cl
cmp cl, 5
jne 0x1400cae94
jmp 0x1400caebb
movzx ecx, r8w
movzx eax, byte [rsp + 0x55]
btc ecx, eax
movzx r8d, cx
mov word [r9], cx
movzx eax, byte [rsp + 0x53]
add ax, r14w
xor ax, r8w
mov word [r9], ax
inc r11d
add r9, 2
cmp r11d, 6
jne 0x1400cadf3
xorps xmm0, xmm0
movups xmmword [rbp - 0x60], xmm0
mov qword [rbp - 0x50], rbx
mov qword [rbp - 0x48], rbx
lea rax, [rsp + 0x44]
mov rsi, 0xffffffffffffffff
mov r8, rsi
nop dword [rax + rax]
inc r8
cmp word [rax + r8*2], 0
jne 0x1400caf00
lea rdx, [rsp + 0x44]
lea rcx, [rbp - 0x60]
call fcn.1400855f0
nop
lea rdx, [rbp - 0x60]
cmp qword [rbp - 0x48], 8
cmovae rdx, qword [rbp - 0x60]
mov rax, qword [rbp - 0x50]
lea r8, [rax + rax]
test r8, r8
je 0x1400caf53
nop word [rax + rax]
movzx eax, byte [rbx + rdx]
xor rdi, rax
imul rdi, r13
inc rbx
cmp rbx, r8
jb 0x1400caf40
mov r9, rdi
lea r8, [rbp - 0x60]
lea rdx, [rsp + 0x70]
lea rcx, [0x140398e40]
call fcn.1402b67f0
mov rdx, qword [rax + 8]
test rdx, rdx
je 0x1400caf8c
cmp rdx, qword [0x140398e48]
je 0x1400caf8c
add rdx, 0x30
lea rax, [rbp - 0x20]
cmp rax, rdx
je 0x1400cafa8
jmp 0x1400caf90
lea rdx, [rbp - 0x60]
mov r8, qword [rdx + 0x10]
cmp qword [rdx + 0x18], 8
jb 0x1400caf9e
mov rdx, qword [rdx]
lea rcx, [rbp - 0x20]
call fcn.1400858d0
nop
lea rcx, [rbp - 0x60]
call fcn.140085e10
movss xmm6, dword [0x140376df4]
movss xmm7, dword [0x140376e94]
movss xmm8, dword [0x140376e4c]
jmp 0x1400cb221
cmp cl, 2
jne 0x1400cb227
mov dword [rsp + 0x20], 0x20075
mov dword [rsp + 0x24], 0x720020
mov dword [rsp + 0x28], 0x200002
mov dword [rsp + 0x2c], 0x7d
mov dword [rsp + 0x30], 0x7e0030
mov dword [rsp + 0x34], 0x200000
mov dword [rsp + 0x38], 0x2006d
mov qword [rsp + 0x3c], 0xb60020
mov qword [rsp + 0x44], 0xb5
mov qword [rsp + 0x4c], rbx
mov dword [rsp + 0x54], ebx
mov dword [rsp + 0x58], 0x72090000
mov dword [rsp + 0x5c], 0x3050063
mov word [rsp + 0x60], 9
mov r11d, ebx
lea r9, [rsp + 0x4a]
nop word [rax + rax]
lea esi, [r11 + r11*2]
movzx ecx, word [rsp + rsi*2 + 0x20]
mov word [r9], cx
movzx eax, r11w
add ax, ax
lea r14d, [rax + r11]
movzx r8d, byte [rsp + 0x5c]
add r8w, r14w
xor r8w, cx
mov word [r9], r8w
xor dl, dl
lea eax, [rsi + 1]
movzx r10d, word [rsp + rax*2 + 0x20]
nop word [rax + rax]
movzx ecx, dl
movzx eax, r10w
shr ax, cl
test al, 1
jne 0x1400cb0a7
inc dl
cmp dl, 4
jne 0x1400cb090
jmp 0x1400cb0b8
movzx r8d, r8w
movzx eax, byte [rsp + 0x5f]
btc r8d, eax
mov word [r9], r8w
mov cl, 5
lea eax, [rsi + 2]
mov r10d, eax
movzx edx, word [rsp + rax*2 + 0x20]
movzx eax, dx
shr ax, cl
test al, 1
jne 0x1400cb0d8
inc cl
cmp cl, 8
jne 0x1400cb0c5
jmp 0x1400cb0ec
movzx ecx, r8w
movzx eax, byte [rsp + 0x5e]
btc ecx, eax
movzx r8d, cx
mov word [r9], cx
xor cl, cl
movzx edx, word [rsp + r10*2 + 0x20]
movzx eax, dx
shr ax, cl
test al, 1
jne 0x1400cb107
inc cl
cmp cl, 5
jne 0x1400cb0f4
jmp 0x1400cb11b
movzx ecx, r8w
movzx eax, byte [rsp + 0x5d]
btc ecx, eax
movzx r8d, cx
mov word [r9], cx
movzx eax, byte [rsp + 0x5b]
add ax, r14w
xor ax, r8w
mov word [r9], ax
inc r11d
add r9, 2
cmp r11d, 7
jne 0x1400cb050
xorps xmm0, xmm0
movups xmmword [rbp - 0x40], xmm0
mov qword [rbp - 0x30], rbx
mov qword [rbp - 0x28], rbx
lea rax, [rsp + 0x4a]
mov rsi, 0xffffffffffffffff
mov r8, rsi
nop dword [rax + rax]
inc r8
cmp word [rax + r8*2], 0
jne 0x1400cb160
lea rdx, [rsp + 0x4a]
lea rcx, [rbp - 0x40]
call fcn.1400855f0
nop
lea rcx, [rbp - 0x40]
cmp qword [rbp - 0x28], 8
cmovae rcx, qword [rbp - 0x40]
mov rax, qword [rbp - 0x30]
lea rdx, [rax + rax]
test rdx, rdx
je 0x1400cb1b3
nop word [rax + rax]
movzx eax, byte [rbx + rcx]
xor rdi, rax
imul rdi, r13
inc rbx
cmp rbx, rdx
jb 0x1400cb1a0
mov r9, rdi
lea r8, [rbp - 0x40]
lea rdx, [rsp + 0x70]
lea rcx, [0x140398e40]
call fcn.1402b67f0
mov rdx, qword [rax + 8]
test rdx, rdx
je 0x1400cb1ec
cmp rdx, qword [0x140398e48]
je 0x1400cb1ec
add rdx, 0x30
lea rax, [rbp - 0x20]
cmp rax, rdx
je 0x1400cb208
jmp 0x1400cb1f0
lea rdx, [rbp - 0x40]
mov r8, qword [rdx + 0x10]
cmp qword [rdx + 0x18], 8
jb 0x1400cb1fe
mov rdx, qword [rdx]
lea rcx, [rbp - 0x20]
call fcn.1400858d0
nop
lea rcx, [rbp - 0x40]
call fcn.140085e10
movss xmm6, dword [0x140376eac]
movss xmm7, dword [0x140376e7c]
mov r14d, 2
mov rcx, qword [r15 + 0x98]
test rcx, rcx
je 0x1400cb238
call fcn.1403139e0
mov ecx, dword [rbp - 0x10]
mov dword [r15 + 0x88], ecx
lea rdx, [rcx + 1]
mov rax, r14
mul rdx
cmovo rax, rsi
mov rcx, rax
call fcn.140313e90
mov qword [r15 + 0x98], rax
lea r8, [rbp - 0x20]
cmp qword [rbp - 8], 8
cmovae r8, qword [rbp - 0x20]
mov edx, dword [r15 + 0x88]
inc rdx
mov rcx, rax
call fcn.14032046c
mov dword [rsp + 0x7c], 0x3f800000
movups xmm1, xmmword [rsp + 0x70]
movss xmm1, xmm6
shufps xmm1, xmm1, 0xe1
movss xmm1, xmm7
shufps xmm1, xmm1, 0xc6
movss xmm1, xmm8
shufps xmm1, xmm1, 0xc9
movups xmmword [r15 + 0x60], xmm1
mov ecx, r12d
test r12b, r12b
je 0x1400cb2e0
sub ecx, 1
je 0x1400cb2ce
cmp ecx, 1
jne 0x1400cb300
mov dword [r15 + 0x44], 0x3d7df3b6
mov dword [r15 + 0x74], 0x3d7df3b6
jmp 0x1400cb2f0
mov dword [r15 + 0x44], 0x3e449ba6
mov dword [r15 + 0x74], 0x3e449ba6
jmp 0x1400cb2f0
mov dword [r15 + 0x44], 0x3e020c4a
mov dword [r15 + 0x74], 0x3e020c4a
mov dword [r15 + 0x70], 0x3e70a3d7
mov dword [r15 + 0x40], 0x3e70a3d7
lea rcx, [rbp - 0x20]
call fcn.140085e10
mov rcx, qword [rbp]
xor rcx, rsp
call fcn.1403139c0
lea r11, [rsp + 0x140]
mov rbx, qword [r11 + 0x38]
mov rsi, qword [r11 + 0x40]
mov rdi, qword [r11 + 0x48]
movaps xmm6, xmmword [r11 - 0x10]
movaps xmm7, xmmword [r11 - 0x20]
movaps xmm8, xmmword [r11 - 0x30]
mov rsp, r11
pop r15
pop r14
pop r13
pop r12
pop rbp
ret