Function at 0x1402af620
Capabilities:
Encode data using xor

Disassembly:
push rbp
push rbx
push rsi
push rdi
push r12
push r13
push r14
push r15
lea rbp, [rsp - 0x778]
sub rsp, 0x878
mov rax, qword [0x140601e40]
xor rax, rsp
mov qword [rbp + 0x760], rax
mov r15d, dword [rbp + 0x7e0]
mov r14, rcx
mov ecx, r15d
movsxd rdi, r9d
mov r13, r8
movsxd rsi, edx
call fcn.140295750
mov ebx, esi
lea ecx, [rdi*2 + 2]
sub ebx, edi
mov r12, rax
dec ebx
cmp esi, ecx
jge 0x1402af683
xor eax, eax
jmp 0x1402af8db
mov edx, 0x40
lea rcx, [rbp]
call fcn.14029b620
mov edx, 8
lea rcx, [rbp + 0x40]
call fcn.140295260
mov r8d, edi
lea rcx, [rbp + 0x48]
mov rdx, r13
call fcn.140295270
lea rcx, [rbp + 0x48]
mov r8d, edi
add rcx, rdi
lea rdx, [rbp]
call fcn.140295270
mov edx, edi
lea rcx, [rsp + 0x30]
call qword [r12]
lea r8d, [rdi*2 + 8]
lea rdx, [rbp + 0x40]
lea rcx, [rsp + 0x30]
call qword [r12 + reloc.OLEAUT32.dll_VariantClear]
mov r8d, edi
lea rdx, [rbp + 0xd0]
lea rcx, [rsp + 0x30]
call qword [r12 + reloc.WS2_32.dll_recv]
lea eax, [rdi*2 + 2]
mov edx, esi
sub edx, eax
lea rcx, [rbp + 0x160]
call fcn.140295260
lea eax, [rdi + rdi]
mov r8d, edi
movsxd rcx, eax
lea rdx, [rbp]
mov rax, rsi
sub rax, rcx
lea rcx, [rbp + rax + 0x15f]
mov byte [rbp + rax + 0x15e], 1
call fcn.140295270
mov r9d, ebx
mov dword [rsp + 0x20], r15d
lea r8, [rbp + 0xd0]
mov edx, ebx
lea rcx, [rbp + 0x560]
call fcn.1402b12d0
xor ecx, ecx
mov edx, ecx
test ebx, ebx
jle 0x1402af86a
cmp ebx, 8
jb 0x1402af86a
cmp ebx, 0x40
jb 0x1402af820
mov r8d, ebx
and r8d, 0x8000003f
jge 0x1402af786
dec r8d
or r8d, 0xffffffc0
inc r8d
mov eax, ebx
sub eax, r8d
movsxd r8, eax
nop
movdqu xmm0, xmmword [rbp + rcx + 0x160]
add edx, 0x40
movdqu xmm1, xmmword [rbp + rcx + 0x560]
movdqu xmm2, xmmword [rbp + rcx + 0x170]
xorps xmm1, xmm0
movdqu xmm0, xmmword [rbp + rcx + 0x570]
movdqu xmmword [rbp + rcx + 0x360], xmm1
movdqu xmm1, xmmword [rbp + rcx + 0x180]
xorps xmm2, xmm0
movdqu xmm0, xmmword [rbp + rcx + 0x580]
movdqu xmmword [rbp + rcx + 0x370], xmm2
movdqu xmm2, xmmword [rbp + rcx + 0x190]
xorps xmm1, xmm0
movdqu xmm0, xmmword [rbp + rcx + 0x590]
movdqu xmmword [rbp + rcx + 0x380], xmm1
xorps xmm2, xmm0
movdqu xmmword [rbp + rcx + 0x390], xmm2
add rcx, 0x40
cmp rcx, r8
jl 0x1402af790
mov eax, ebx
and al, 0x3f
cmp al, 8
jb 0x1402af86a
mov ecx, ebx
and ecx, 0x80000007
jge 0x1402af831
dec ecx
or ecx, 0xfffffff8
inc ecx
mov eax, ebx
sub eax, ecx
movsxd rcx, edx
movsxd r8, eax
nop dword [rax + rax]
movq xmm1, qword [rbp + rcx + 0x560]
add edx, 8
movq xmm0, qword [rbp + rcx + 0x160]
xorps xmm1, xmm0
movq qword [rbp + rcx + 0x360], xmm1
add rcx, 8
cmp rcx, r8
jl 0x1402af840
movsxd rax, edx
movsxd rdx, ebx
cmp rax, rdx
jge 0x1402af89e
nop word [rax + rax]
movzx ecx, byte [rbp + rax + 0x560]
xor cl, byte [rbp + rax + 0x160]
mov byte [rbp + rax + 0x360], cl
inc rax
cmp rax, rdx
jl 0x1402af880
and byte [rbp + 0x360], 0x7f
lea rdx, [rbp + 0x360]
mov r8d, ebx
mov rcx, r14
call fcn.140295270
movsxd rbx, ebx
lea rdx, [rbp + 0xd0]
add rbx, r14
mov r8d, edi
mov rcx, rbx
call fcn.140295270
add rbx, rdi
mov byte [rbx], 0xbc
sub ebx, r14d
lea eax, [rbx + 1]
mov rcx, qword [rbp + 0x760]
xor rcx, rsp
call fcn.140284180
add rsp, 0x878
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbx
pop rbp
ret