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

Disassembly:
push rbp
lea rbp, [rsp - 0xa0]
sub rsp, 0x1a0
mov rax, qword [0x1400992c0]
xor rax, rsp
mov qword [rbp + 0x60], rax
mov qword [rsp + 0x28], r9
mov qword [rsp + 0x40], r8
mov qword [rsp + 0x48], rdx
mov qword [rsp + 0x50], rcx
test r9b, 0x1f
je 0x14006a3c0
xor al, al
jmp 0x14006a8be
mov rax, qword [rbp + 0xd0]
lea r8, [rbp - 0x60]
mov qword [rsp + 0x1b8], rbx
lea rcx, [rbp - 0x60]
mov qword [rsp + 0x198], rsi
mov r9d, 0x28
mov qword [rsp + 0x190], rdi
movups xmm0, xmmword [rax]
mov qword [rsp + 0x188], r12
movups xmm1, xmmword [rax + 0x10]
mov rax, qword [rbp + 0xd8]
lea edx, [r9 + 0x18]
mov qword [rsp + 0x180], r13
mov qword [rsp + 0x178], r14
movups xmmword [rbp - 0x60], xmm0
movups xmmword [rbp - 0x50], xmm1
mov qword [rsp + 0x170], r15
mov qword [rbp - 0x40], rax
call fcn.14006b440
mov r8d, dword [rbp - 0x30]
mov r12d, dword [rbp - 0x54]
mov ecx, dword [rbp - 0x28]
mov r15d, dword [rbp - 0x50]
mov r13d, dword [rbp - 0x58]
mov eax, dword [rbp - 0x60]
mov r14d, dword [rbp - 0x4c]
mov esi, dword [rbp - 0x48]
mov edi, dword [rbp - 0x44]
mov ebx, dword [rbp - 0x40]
mov r11d, dword [rbp - 0x3c]
mov r10d, dword [rbp - 0x38]
mov r9d, dword [rbp - 0x34]
mov edx, dword [rbp - 0x2c]
mov dword [rbp - 0x18], r13d
mov r13d, dword [rbp - 0x60]
mov dword [rbp + 0x20], r13d
mov r13d, dword [rbp - 0x5c]
mov dword [rbp + 0x10], r8d
mov dword [rbp + 0x50], r8d
mov r8, qword [rsp + 0x28]
shr r8, 7
mov dword [rbp - 0x20], eax
mov eax, dword [rbp - 0x5c]
mov dword [rbp + 0x24], r13d
mov r13d, dword [rbp - 0x58]
mov dword [rbp - 0x14], r12d
mov dword [rbp + 0x2c], r12d
xor r12d, r12d
mov dword [rbp + 0x18], ecx
mov dword [rbp + 0x58], ecx
mov ecx, r12d
mov dword [rbp - 0x1c], eax
mov eax, dword [rbp - 0x24]
mov dword [rbp - 0x10], r15d
mov dword [rbp + 0x28], r13d
mov r13d, r12d
mov dword [rbp + 0x30], r15d
mov r15d, dword [reloc.WS2_32.dll_accept]
mov qword [rsp + 0x38], rcx
mov dword [rbp - 0xc], r14d
mov dword [rbp - 8], esi
mov dword [rbp - 4], edi
mov dword [rbp], ebx
mov dword [rbp + 4], r11d
mov dword [rbp + 8], r10d
mov dword [rbp + 0xc], r9d
mov dword [rbp + 0x14], edx
mov dword [rbp + 0x1c], eax
mov dword [rbp + 0x34], r14d
mov dword [rbp + 0x38], esi
mov dword [rbp + 0x3c], edi
mov dword [rbp + 0x40], ebx
mov dword [rbp + 0x44], r11d
mov dword [rbp + 0x48], r10d
mov dword [rbp + 0x4c], r9d
mov dword [rbp + 0x54], edx
mov dword [rbp + 0x5c], eax
mov qword [rsp + 0x28], r8
mov dword [rsp + 0x20], r12d
mov eax, dword [rbp - 0x60]
lea r14, [rbp - 0x18]
xor eax, r13d
mov qword [rsp + 0x30], 2
mov r13, qword [rsp + 0x40]
and ecx, 0x1f
imul eax, eax, 0x1000193
xor edx, edx
xor eax, dword [rbp + rcx*4 - 0x20]
div r8d
mov ebx, edx
add ebx, ebx
nop dword [rax]
mov rax, qword [rsp + 0x48]
test rax, rax
je 0x14006a558
mov ecx, ebx
shl rcx, 6
add rcx, rax
jmp 0x14006a6e0
mov rsi, qword [r13]
lea r8, [rsp + 0x60]
mov rdi, qword [r13 + 8]
xor edx, edx
shr rdi, 6
mov eax, ebx
div edi
mov r9d, 0x40
mov ecx, edx
mov edx, r9d
shl rcx, 6
movups xmm2, xmmword [rcx + rsi]
movdqu xmmword [rsp + 0x60], xmm2
movups xmm0, xmmword [rcx + rsi + 0x10]
movd eax, xmm2
movups xmmword [rsp + 0x70], xmm0
movups xmm1, xmmword [rcx + rsi + 0x20]
xor eax, ebx
movups xmmword [rbp - 0x80], xmm1
movups xmm0, xmmword [rcx + rsi + 0x30]
lea rcx, [rsp + 0x60]
mov dword [rsp + 0x60], eax
movups xmmword [rbp - 0x70], xmm0
call fcn.14006b440
mov r9d, r12d
mov r10, r12
nop
mov rcx, r10
xor edx, edx
and ecx, 0xf
mov eax, ebx
xor eax, r9d
imul eax, eax, 0x1000193
xor eax, dword [rsp + rcx*4 + 0x60]
div edi
mov r8d, edx
shl r8, 6
add r8, rsi
cmp r15d, 2
jl 0x14006a671
lea rax, [r8 + 0x3c]
lea rcx, [rsp + 0x60]
cmp rcx, rax
ja 0x14006a604
lea rax, [rbp - 0x64]
cmp rax, r8
jae 0x14006a671
movdqu xmm0, xmmword [r8]
movdqa xmm3, xmmword [0x140080410]
movdqu xmm1, xmmword [rsp + 0x60]
movdqu xmm2, xmmword [rsp + 0x70]
pmulld xmm1, xmm3
xorps xmm1, xmm0
movdqu xmmword [rsp + 0x60], xmm1
movdqu xmm0, xmmword [r8 + 0x10]
movdqu xmm1, xmmword [rbp - 0x80]
pmulld xmm2, xmm3
xorps xmm2, xmm0
movdqu xmmword [rsp + 0x70], xmm2
movdqu xmm0, xmmword [r8 + 0x20]
movdqu xmm2, xmmword [rbp - 0x70]
pmulld xmm1, xmm3
xorps xmm1, xmm0
movdqu xmmword [rbp - 0x80], xmm1
movdqu xmm0, xmmword [r8 + 0x30]
pmulld xmm2, xmm3
xorps xmm2, xmm0
movdqu xmmword [rbp - 0x70], xmm2
jmp 0x14006a6a8
lea rcx, [rsp + 0x60]
mov edx, SafeArrayGetElemsize
sub r8, rcx
lea rax, [rsp + 0x60]
nop dword [rax]
nop word [rax + rax]
imul ecx, dword [rax], 0x1000193
lea rax, [rax + 4]
xor ecx, dword [r8 + rax - 4]
mov dword [rax - 4], ecx
sub rdx, 1
jne 0x14006a690
inc r9d
inc r10
cmp r9d, 0x100
jne 0x14006a5c0
mov r9d, 0x40
lea r8, [rsp + 0x60]
mov edx, r9d
lea rcx, [rsp + 0x60]
call fcn.14006b440
lea rcx, [rsp + 0x60]
nop dword [rax + rax]
imul eax, dword [r14 - 8], 0x1000193
inc ebx
xor eax, dword [rcx]
mov dword [r14 - 8], eax
imul eax, dword [r14 - 4], 0x1000193
xor eax, dword [rcx + 4]
mov dword [r14 - 4], eax
imul eax, dword [r14], 0x1000193
xor eax, dword [rcx + 8]
mov dword [r14], eax
imul eax, dword [r14 + 4], 0x1000193
xor eax, dword [rcx + 0xc]
mov dword [r14 + 4], eax
imul eax, dword [r14 + 8], 0x1000193
xor eax, dword [rcx + 0x10]
mov dword [r14 + 8], eax
imul eax, dword [r14 + 0xc], 0x1000193
xor eax, dword [rcx + 0x14]
mov dword [r14 + 0xc], eax
imul eax, dword [r14 + 0x10], 0x1000193
xor eax, dword [rcx + 0x18]
mov dword [r14 + 0x10], eax
imul eax, dword [r14 + 0x14], 0x1000193
xor eax, dword [rcx + 0x1c]
mov dword [r14 + 0x14], eax
imul eax, dword [r14 + 0x18], 0x1000193
xor eax, dword [rcx + 0x20]
mov dword [r14 + 0x18], eax
imul eax, dword [r14 + 0x1c], 0x1000193
xor eax, dword [rcx + 0x24]
mov dword [r14 + 0x1c], eax
imul eax, dword [r14 + 0x20], 0x1000193
xor eax, dword [rcx + 0x28]
mov dword [r14 + 0x20], eax
imul eax, dword [r14 + 0x24], 0x1000193
xor eax, dword [rcx + 0x2c]
mov dword [r14 + 0x24], eax
imul eax, dword [r14 + 0x28], 0x1000193
xor eax, dword [rcx + 0x30]
mov dword [r14 + 0x28], eax
imul eax, dword [r14 + 0x2c], 0x1000193
xor eax, dword [rcx + 0x34]
mov dword [r14 + 0x2c], eax
imul eax, dword [r14 + 0x30], 0x1000193
xor eax, dword [rcx + 0x38]
mov dword [r14 + 0x30], eax
imul eax, dword [r14 + 0x34], 0x1000193
xor eax, dword [rcx + 0x3c]
mov dword [r14 + 0x34], eax
add r14, 0x40
sub qword [rsp + 0x30], 1
jne 0x14006a540
mov r13d, dword [rsp + 0x20]
mov rcx, qword [rsp + 0x38]
inc r13d
inc rcx
mov dword [rsp + 0x20], r13d
mov qword [rsp + 0x38], rcx
cmp r13d, 0x40
je 0x14006a809
mov r8, qword [rsp + 0x28]
jmp 0x14006a50e
mov r15, qword [rsp + 0x170]
lea r8, [rbp - 0x18]
mov r14, qword [rsp + 0x178]
mov r9d, 8
mov r13, qword [rsp + 0x180]
mov rdi, qword [rsp + 0x190]
mov rsi, qword [rsp + 0x198]
mov rbx, qword [rsp + 0x1b8]
nop dword [rax]
nop word [rax + rax]
imul eax, dword [r8 - 8], 0x1000193
lea r8, [r8 + 0x10]
xor eax, dword [r8 - 0x14]
imul ecx, eax, 0x1000193
mov rax, r12
shr rax, 2
add r12, 4
xor ecx, dword [r8 - 0x10]
imul edx, ecx, 0x1000193
xor edx, dword [r8 - 0xc]
mov dword [rbp + rax*4 - 0x20], edx
sub r9, 1
jne 0x14006a850
mov rax, qword [rsp + 0x50]
lea r8, [rbp - 0x60]
movups xmm0, xmmword [rbp - 0x20]
mov r9d, 0x60
movups xmm1, xmmword [rbp - 0x10]
mov rcx, rax
mov r12, qword [rsp + 0x188]
movups xmmword [rax + 0x20], xmm0
lea edx, [r9 - 0x40]
movups xmmword [rax + 0x30], xmm1
call fcn.14006b410
mov al, 1
mov rcx, qword [rbp + 0x60]
xor rcx, rsp
call fcn.1400664b0
add rsp, 0x1a0
pop rbp
ret