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

Disassembly:
mov qword [rsp + 0x10], rbx
mov qword [rsp + 8], rcx
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
lea rbp, [rsp - 0x27]
sub rsp, 0x90
mov r14, r8
mov rbx, rdx
mov rsi, qword [r8 + 0x10]
mov r15, qword [r8 + 0x18]
cmp r15, 0x10
jb 0x14009cac8
mov r8, qword [r8]
movabs rdx, 0xcbf29ce484222325
xor ecx, ecx
test rsi, rsi
je 0x14009cb04
movabs r9, 0x100000001b3
nop dword [rax]
nop word [rax + rax]
movzx eax, byte [rcx + r8]
xor rdx, rax
imul rdx, r9
inc rcx
cmp rcx, rsi
jb 0x14009caf0
and rdx, qword [0x14020e1c0]
add rdx, rdx
mov rax, qword [0x14020e1a8]
mov rdi, qword [rax + rdx*8 + 8]
mov r13, qword [0x14020e198]
cmp rdi, r13
je 0x14009cf5d
mov r12, qword [rax + rdx*8]
nop
lea rdx, [rdi + 0x10]
mov rax, qword [rdx + 0x10]
cmp qword [rdx + 0x18], 0x10
jb 0x14009cb42
mov rdx, qword [rdx]
mov rcx, r14
cmp r15, 0x10
jb 0x14009cb4e
mov rcx, qword [r14]
cmp rsi, rax
jne 0x14009cb5f
mov r8, rsi
call sub.VCRUNTIME140.dll_memcmp
test eax, eax
je 0x14009cb6e
cmp rdi, r12
je 0x14009cf5d
mov rdi, qword [rdi + 8]
jmp 0x14009cb30
test rdi, rdi
je 0x14009cf5d
cmp rdi, r13
je 0x14009cf5d
lea rcx, [rdi + 0x30]
call fcn.14009c2e0
mov qword [rbp - 0x21], rax
mov r15, qword [rax]
xorps xmm0, xmm0
movdqu xmmword [rbp - 0x19], xmm0
xor esi, esi
mov qword [rbp - 9], rsi
mov r9, qword [r15 + 0x18]
sub r9, qword [r15 + 0x10]
sar r9, 5
mov qword [rbp - 0x29], r9
xor r13d, r13d
mov rdi, qword [rbp - 0x11]
nop word [rax + rax]
lea ecx, [r13*4]
xor edx, edx
mov rax, qword [rbp + 0x67]
mov eax, dword [rcx + rax]
div r9d
mov r8d, edx
mov ecx, eax
add eax, edx
xor edx, edx
div r9d
mov r14d, edx
xor edx, edx
mov eax, ecx
div r9d
add eax, r14d
xor edx, edx
div r9d
mov dword [rbp + 0x77], edx
mov ecx, r8d
shl rcx, 5
mov qword [rbp + 0x7f], rcx
mov rdx, qword [r15 + 0x10]
add rdx, rcx
mov r8, qword [rdx + 0x10]
cmp qword [rdx + 0x18], 0x10
jb 0x14009cc15
mov rdx, qword [rdx]
mov rcx, rbx
call fcn.1400155a0
mov rcx, qword [rbx + 0x10]
mov rdx, qword [rbx + 0x18]
cmp rcx, rdx
jae 0x14009cc46
lea rax, [rcx + 1]
mov qword [rbx + 0x10], rax
mov rax, rbx
cmp rdx, 0x10
jb 0x14009cc3e
mov rax, qword [rbx]
mov word [rax + rcx], 0x20
jmp 0x14009cc58
mov r9b, 0x20
xor r8d, r8d
lea edx, [r8 + 1]
mov rcx, rbx
call fcn.140006eb0
mov r12, r14
shl r12, 5
mov rdx, qword [r15 + 0x10]
add rdx, r12
mov r8, qword [rdx + 0x10]
cmp qword [rdx + 0x18], 0x10
jb 0x14009cc74
mov rdx, qword [rdx]
mov rcx, rbx
call fcn.1400155a0
mov rcx, qword [rbx + 0x10]
mov rdx, qword [rbx + 0x18]
cmp rcx, rdx
jae 0x14009cca5
lea rax, [rcx + 1]
mov qword [rbx + 0x10], rax
mov rax, rbx
cmp rdx, 0x10
jb 0x14009cc9d
mov rax, qword [rbx]
mov word [rax + rcx], 0x20
jmp 0x14009ccb7
mov r9b, 0x20
xor r8d, r8d
lea edx, [r8 + 1]
mov rcx, rbx
call fcn.140006eb0
mov r14d, dword [rbp + 0x77]
shl r14, 5
mov rdx, qword [r15 + 0x10]
add rdx, r14
mov r8, qword [rdx + 0x10]
cmp qword [rdx + 0x18], 0x10
jb 0x14009ccd4
mov rdx, qword [rdx]
mov rcx, rbx
call fcn.1400155a0
mov r8, qword [rbp + 0x7f]
add r8, qword [r15 + 0x10]
cmp rdi, rsi
je 0x14009ccfe
mov rdx, r8
mov rcx, rdi
call fcn.14000b8e0
add rdi, 0x20
mov qword [rbp - 0x11], rdi
jmp 0x14009cd12
mov rdx, rdi
lea rcx, [rbp - 0x19]
call fcn.140005380
mov rsi, qword [rbp - 9]
mov rdi, qword [rbp - 0x11]
mov r8, qword [r15 + 0x10]
add r8, r12
cmp rdi, rsi
je 0x14009cd33
mov rdx, r8
mov rcx, rdi
call fcn.14000b8e0
add rdi, 0x20
mov qword [rbp - 0x11], rdi
jmp 0x14009cd47
mov rdx, rdi
lea rcx, [rbp - 0x19]
call fcn.140005380
mov rsi, qword [rbp - 9]
mov rdi, qword [rbp - 0x11]
mov r8, qword [r15 + 0x10]
add r8, r14
cmp rdi, rsi
je 0x14009cd68
mov rdx, r8
mov rcx, rdi
call fcn.14000b8e0
add rdi, 0x20
mov qword [rbp - 0x11], rdi
jmp 0x14009cd7c
mov rdx, rdi
lea rcx, [rbp - 0x19]
call fcn.140005380
mov rsi, qword [rbp - 9]
mov rdi, qword [rbp - 0x11]
inc r13d
mov rcx, qword [rbx + 0x10]
mov rdx, qword [rbx + 0x18]
cmp rcx, rdx
jae 0x14009cda8
lea rax, [rcx + 1]
mov qword [rbx + 0x10], rax
mov rax, rbx
cmp rdx, 0x10
jb 0x14009cda0
mov rax, qword [rbx]
mov word [rax + rcx], 0x20
jmp 0x14009cdba
mov r9b, 0x20
xor r8d, r8d
lea edx, [r8 + 1]
mov rcx, rbx
call fcn.140006eb0
cmp r13d, 8
mov r9, qword [rbp - 0x29]
jb 0x14009cbc0
mov rcx, qword [rbx + 0x10]
dec rcx
mov rax, rbx
cmp qword [rbx + 0x18], 0x10
jb 0x14009cddc
mov rax, qword [rbx]
mov qword [rbx + 0x10], rcx
mov byte [rax + rcx], 0
mov rax, qword [rbp - 0x21]
mov rax, qword [rax]
mov edx, dword [rax + 0xa8]
lea rcx, [rbp - 0x19]
call fcn.14009d480
mov r8d, eax
shl r8, 5
mov rdi, qword [rbp - 0x19]
add r8, rdi
mov byte [rbp + 0x77], 0x20
mov rcx, qword [r8 + 0x10]
movabs rax, 0x7fffffffffffffff
cmp rcx, rax
je 0x14009cf7a
mov rax, r8
cmp qword [r8 + 0x18], 0x10
jb 0x14009ce30
mov rax, qword [r8]
mov qword [rsp + 0x30], rcx
mov qword [rsp + 0x28], rax
mov qword [rsp + 0x20], 1
lea r9, [rbp + 0x77]
movzx edx, byte [rbp + 0x77]
lea rcx, [rbp - 1]
call fcn.14000bbb0
nop
lea rdx, [rbp - 1]
cmp qword [rbp + 0x17], 0x10
cmovae rdx, qword [rbp - 1]
mov r8, qword [rbp + 0xf]
mov rcx, rbx
call fcn.1400155a0
nop
mov rdx, qword [rbp + 0x17]
cmp rdx, 0x10
jb 0x14009ceaf
inc rdx
mov rcx, qword [rbp - 1]
mov rax, rcx
cmp rdx, 0x1000
jb 0x14009cea9
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x14009cea9
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
call fcn.140163960
nop
test rdi, rdi
je 0x14009cf59
mov rbx, rdi
mov rsi, qword [rbp - 0x11]
cmp rdi, rsi
je 0x14009cf1e
xor r14d, r14d
nop word [rax + rax]
mov rdx, qword [rbx + 0x18]
cmp rdx, 0x10
jb 0x14009cf06
inc rdx
mov rcx, qword [rbx]
cmp rdx, 0x1000
jb 0x14009cf01
add rdx, 0x27
mov r8, qword [rcx - 8]
sub rcx, r8
lea rax, [rcx - 8]
cmp rax, 0x1f
ja 0x14009cf4a
mov rcx, r8
call fcn.140163960
mov qword [rbx + 0x10], r14
mov qword [rbx + 0x18], setsockopt
mov byte [rbx], r14b
add rbx, 0x20
cmp rbx, rsi
jne 0x14009ced0
mov rdx, qword [rbp - 9]
sub rdx, rdi
and rdx, 0xffffffffffffffe0
mov rax, rdi
cmp rdx, 0x1000
jb 0x14009cf51
add rdx, 0x27
mov rdi, qword [rdi - 8]
sub rax, rdi
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x14009cf51
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
mov rcx, rdi
call fcn.140163960
mov al, 1
jmp 0x14009cf5f
xor al, al
mov rbx, qword [rsp + 0xd8]
add rsp, 0x90
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret
call fcn.140015130
nop