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

Disassembly:
mov qword [rsp + 0x18], rbx
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
sub rsp, 0x40
mov rax, qword [0x14061da68]
xor rax, rsp
mov qword [rsp + 0x30], rax
mov rdi, rdx
mov rbx, rcx
movzx edx, word [rcx + 0xe]
mov eax, edx
and eax, 7
cmp eax, 5
ja case.default.0x1400694bf
lea r8, [0x140000000]
cdqe
mov ecx, dword [r8 + rax*4 + 0x69af8]
add rcx, r8
jmp rcx
mov rcx, qword [rdi + 0x18]
lea rax, [rcx + 8]
cmp rax, qword [rdi + 0x20]
jbe 0x1400694db
mov rcx, rdi
call fcn.14006f120
mov rcx, qword [rdi + 0x18]
lea rax, [rcx + 8]
mov qword [rdi + 0x18], rax
movabs rax, 0x789e9d398d40976c
mov qword [rcx], rax
jmp 0x140069ad0
mov rcx, qword [rdi + 0x18]
lea rax, [rcx + 8]
cmp rax, qword [rdi + 0x20]
jbe 0x14006950f
mov rcx, rdi
call fcn.14006f120
mov rcx, qword [rdi + 0x18]
lea rax, [rcx + 8]
mov qword [rdi + 0x18], rax
movabs rax, 0x789e9e398d40991f
mov qword [rcx], rax
jmp 0x140069ad0
mov rcx, qword [rdi + 0x18]
lea rax, [rcx + 8]
cmp rax, qword [rdi + 0x20]
jbe 0x140069543
mov rcx, rdi
call fcn.14006f120
mov rcx, qword [rdi + 0x18]
lea rax, [rcx + 8]
mov qword [rdi + 0x18], rax
movabs rax, 0x789e9f398d409ad2
mov qword [rcx], rax
jmp 0x140069ad0
mov r9d, dword [rbx]
movabs r13, 0xffffffffffff
mov rax, qword [rbx + 8]
mov ecx, r9d
shl rcx, 5
and rax, r13
add rcx, rax
xor esi, esi
movabs rbp, 0x100000001b3
cmp rax, rcx
je 0x14006964d
lea r15, [rax + 0xd]
movabs r12, 0x789e9a398d409253
mov eax, 0x1000
lea ecx, [rsi + 0xd]
test word [r15 + 1], ax
je 0x1400695b9
movsx eax, byte [r15]
lea rdx, [r15 - 0xd]
sub ecx, eax
jmp 0x1400695c4
mov rdx, qword [r15 - 5]
mov ecx, dword [r15 - 0xd]
and rdx, r13
mov r8d, ecx
mov r14, r12
mov rcx, rsi
test r8, r8
je 0x1400695e5
movzx eax, byte [rdx + rcx]
inc rcx
xor r14, rax
imul r14, rbp
cmp rcx, r8
jb 0x1400695d2
mov rcx, qword [rdi + 0x18]
lea rax, [rcx + 8]
cmp rax, qword [rdi + 0x20]
jbe 0x1400695ff
mov rcx, rdi
call fcn.14006f120
mov rcx, qword [rdi + 0x18]
lea rax, [rcx + 8]
mov rdx, rdi
mov qword [rdi + 0x18], rax
mov qword [rcx], r14
lea rcx, [r15 + 3]
call fcn.140069470
test al, al
je 0x140069787
mov r9d, dword [rbx]
add r15, 0x20
mov rax, qword [rbx + 8]
mov ecx, r9d
and rax, r13
shl rcx, 5
add rcx, rax
lea rax, [r15 - 0xd]
cmp rax, rcx
mov ecx, reloc.WS2_32.dll_listen
mov eax, 0x1000
jne 0x1400695a6
lea ecx, [r9 + r9]
movabs rbx, 0x30000000519
neg rcx
shl rcx, 3
add qword [rdi + 0x18], rcx
mov r8, qword [rdi + 0x18]
test r9d, r9d
je 0x14006968e
nop
lea ecx, [rsi + rsi]
inc esi
mov eax, ecx
lea edx, [rcx + 1]
mov rcx, qword [r8 + rdx*8]
xor rcx, qword [r8 + rax*8]
imul rcx, rbp
xor rbx, rcx
cmp esi, r9d
jb 0x140069670
lea rax, [r8 + 8]
cmp rax, qword [rdi + 0x20]
jbe 0x1400696a4
mov rcx, rdi
call fcn.14006f120
mov r8, qword [rdi + 0x18]
lea rax, [r8 + 8]
mov qword [rdi + 0x18], rax
mov qword [r8], rbx
jmp 0x140069ad0
mov r8d, dword [rbx]
movabs r13, 0xffffffffffff
mov rsi, qword [rbx + 8]
mov eax, r8d
shl rax, 4
and rsi, r13
add rax, rsi
cmp rsi, rax
je 0x140069711
nop word [rax + rax]
mov rdx, rdi
mov rcx, rsi
call fcn.140069470
test al, al
je 0x140069787
mov edx, dword [rbx]
add rsi, 0x10
mov rax, qword [rbx + 8]
mov ecx, edx
shl rcx, 4
and rax, r13
add rcx, rax
cmp rsi, rcx
jne 0x1400696e0
mov r8d, edx
mov eax, r8d
movabs rbx, 0x400000006cc
neg rax
mov ecx, r8d
shl rax, 3
add qword [rdi + 0x18], rax
mov rdx, qword [rdi + 0x18]
test r8d, r8d
je 0x140069761
mov rax, rdx
movabs rbp, 0x100000001b3
nop dword [rax]
nop word [rax + rax]
xor rbx, qword [rax]
lea rax, [rax + 8]
imul rbx, rbp
sub rcx, 1
jne 0x140069750
lea rax, [rdx + 8]
cmp rax, qword [rdi + 0x20]
jbe 0x140069777
mov rcx, rdi
call fcn.14006f120
mov rdx, qword [rdi + 0x18]
lea rax, [rdx + 8]
mov qword [rdi + 0x18], rax
mov qword [rdx], rbx
jmp 0x140069ad0
xor al, al
jmp 0x140069ad2
bt dx, 0xc
jae 0x1400697a2
movsx eax, byte [rbx + 0xd]
mov ecx, reloc.WS2_32.dll_listen
sub ecx, eax
jmp 0x1400697b5
mov ecx, dword [rbx]
movabs r13, 0xffffffffffff
mov rbx, qword [rbx + 8]
and rbx, r13
xor esi, esi
movabs r12, 0x789e9a398d409253
test rcx, rcx
je 0x1400697e3
movabs rbp, 0x100000001b3
movzx eax, byte [rsi + rbx]
inc rsi
xor r12, rax
imul r12, rbp
cmp rsi, rcx
jb 0x1400697d0
mov rcx, qword [rdi + 0x18]
lea rax, [rcx + 8]
cmp rax, qword [rdi + 0x20]
jbe 0x1400697fd
mov rcx, rdi
call fcn.14006f120
mov rcx, qword [rdi + 0x18]
lea rax, [rcx + 8]
mov qword [rdi + 0x18], rax
mov qword [rcx], r12
jmp 0x140069ad0
movzx eax, dx
shr ax, 9
test al, 1
je 0x1400698c2
movsd xmm1, qword [rbx]
xorps xmm0, xmm0
comisd xmm0, xmm1
jbe 0x140069830
cvttsd2si rax, xmm1
jmp 0x140069862
movsd xmm2, qword [0x1405b2fb8]
xor ecx, ecx
comisd xmm1, xmm2
movaps xmm0, xmm1
jb 0x14006985a
subsd xmm0, xmm2
comisd xmm0, xmm2
jae 0x14006985a
movabs rax, 0x8000000000000000
mov rcx, rax
cvttsd2si rax, xmm0
add rax, rcx
movsd qword [rsp + 0x28], xmm1
movabs rbx, 0x789e9b398d409406
mov qword [rsp + 0x20], rax
xor esi, esi
movabs rbp, 0x100000001b3
movzx eax, byte [rsp + rsi + 0x20]
xor rbx, rax
movzx eax, byte [rsp + rsi + 0x21]
imul rbx, rbp
xor rbx, rax
movzx eax, byte [rsp + rsi + 0x22]
imul rbx, rbp
xor rbx, rax
movzx eax, byte [rsp + rsi + 0x23]
imul rbx, rbp
add rsi, 4
xor rbx, rax
imul rbx, rbp
cmp rsi, 0x10
jb 0x140069883
jmp 0x140069aab
movzx eax, dl
shr al, 5
test al, 1
je 0x14006993f
movsxd rcx, dword [rbx]
xor esi, esi
mov qword [rsp + 0x20], rcx
movabs rbx, 0x789e9b398d409406
movabs rbp, 0x100000001b3
movd xmm0, ecx
cvtdq2pd xmm0, xmm0
movsd qword [rsp + 0x28], xmm0
nop dword [rax + rax]
movzx eax, byte [rsp + rsi + 0x20]
xor rbx, rax
movzx eax, byte [rsp + rsi + 0x21]
imul rbx, rbp
xor rbx, rax
movzx eax, byte [rsp + rsi + 0x22]
imul rbx, rbp
xor rbx, rax
movzx eax, byte [rsp + rsi + 0x23]
imul rbx, rbp
add rsi, 4
xor rbx, rax
imul rbx, rbp
cmp rsi, 0x10
jb 0x140069900
jmp 0x140069aab
movzx eax, dl
xorps xmm0, xmm0
shr al, 6
test al, 1
je 0x1400699bf
mov ecx, dword [rbx]
xor esi, esi
mov qword [rsp + 0x20], rcx
movabs rbx, 0x789e9b398d409406
movabs rbp, 0x100000001b3
cvtsi2sd xmm0, rcx
movsd qword [rsp + 0x28], xmm0
nop dword [rax]
nop dword [rax + rax]
movzx eax, byte [rsp + rsi + 0x20]
xor rbx, rax
movzx eax, byte [rsp + rsi + 0x21]
imul rbx, rbp
xor rbx, rax
movzx eax, byte [rsp + rsi + 0x22]
imul rbx, rbp
xor rbx, rax
movzx eax, byte [rsp + rsi + 0x23]
imul rbx, rbp
add rsi, 4
xor rbx, rax
imul rbx, rbp
cmp rsi, 0x10
jb 0x140069980
jmp 0x140069aab
shr dl, 7
test dl, 1
je 0x140069a2c
mov rax, qword [rbx]
xor esi, esi
mov qword [rsp + 0x20], rax
movabs rbx, 0x789e9b398d409406
movabs rbp, 0x100000001b3
cvtsi2sd xmm0, rax
movsd qword [rsp + 0x28], xmm0
movzx eax, byte [rsp + rsi + 0x20]
xor rbx, rax
movzx eax, byte [rsp + rsi + 0x21]
imul rbx, rbp
xor rbx, rax
movzx eax, byte [rsp + rsi + 0x22]
imul rbx, rbp
xor rbx, rax
movzx eax, byte [rsp + rsi + 0x23]
imul rbx, rbp
add rsi, 4
xor rbx, rax
imul rbx, rbp
cmp rsi, 0x10
jb 0x1400699f0
jmp 0x140069aab
mov rcx, qword [rbx]
mov qword [rsp + 0x20], rcx
test rcx, rcx
js 0x140069a40
cvtsi2sd xmm0, rcx
jmp 0x140069a55
mov rax, rcx
and ecx, 1
shr rax, 1
or rax, rcx
cvtsi2sd xmm0, rax
addsd xmm0, xmm0
movsd qword [rsp + 0x28], xmm0
movabs rbx, 0x789e9b398d409406
xor esi, esi
movabs rbp, 0x100000001b3
movzx eax, byte [rsp + rsi + 0x20]
xor rbx, rax
movzx eax, byte [rsp + rsi + 0x21]
imul rbx, rbp
xor rbx, rax
movzx eax, byte [rsp + rsi + 0x22]
imul rbx, rbp
xor rbx, rax
movzx eax, byte [rsp + rsi + 0x23]
imul rbx, rbp
add rsi, 4
xor rbx, rax
imul rbx, rbp
cmp rsi, 0x10
jb 0x140069a71
mov rcx, qword [rdi + 0x18]
lea rax, [rcx + 8]
cmp rax, qword [rdi + 0x20]
jbe 0x140069ac5
mov rcx, rdi
call fcn.14006f120
mov rcx, qword [rdi + 0x18]
lea rax, [rcx + 8]
mov qword [rdi + 0x18], rax
mov qword [rcx], rbx
mov al, 1
mov rcx, qword [rsp + 0x30]
xor rcx, rsp
call fcn.1402bf7f0
mov rbx, qword [rsp + 0x90]
add rsp, 0x40
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret