Function at 0x1402b05e0
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 - 0xab8]
sub rsp, 0xbb8
mov rax, qword [0x140601e40]
xor rax, rsp
mov qword [rbp + 0xaa0], rax
mov r13, qword [rbp + 0xb20]
mov rdi, rcx
movsxd r14, dword [rbp + 0xb28]
mov ecx, r8d
movsxd r15, r9d
mov esi, r8d
mov ebx, edx
call fcn.140295750
lea ecx, [rbx - 1]
mov r12, rax
movsxd rdx, ecx
cmp byte [rdx + rdi], 0xbc
jne 0x1402b0996
sub ebx, r14d
lea rcx, [rbp + 0x290]
dec ebx
mov r8, rdi
mov r9d, ebx
mov edx, 0x200
call fcn.140295280
movsxd r8, ebx
lea rcx, [rbp + 0x10]
add r8, rdi
mov r9d, r14d
mov edx, 0x40
call fcn.140295280
test byte [rbp + 0x290], 0x80
jne 0x1402b0996
mov r9d, ebx
mov dword [rsp + 0x20], esi
lea r8, [rbp + 0x10]
mov edx, ebx
lea rcx, [rbp + 0x490]
call fcn.1402b12d0
xor edi, edi
mov edx, edi
test ebx, ebx
jle 0x1402b07aa
cmp ebx, 8
jb 0x1402b07aa
cmp ebx, 0x40
jb 0x1402b0763
mov ecx, ebx
and ecx, 0x8000003f
jge 0x1402b06c9
dec ecx
or ecx, 0xffffffc0
inc ecx
mov eax, ebx
sub eax, ecx
mov rcx, rdi
movsxd r8, eax
movdqu xmm0, xmmword [rbp + rcx + 0x290]
add edx, 0x40
movdqu xmm1, xmmword [rbp + rcx + 0x490]
movdqu xmm2, xmmword [rbp + rcx + 0x2a0]
xorps xmm1, xmm0
movdqu xmm0, xmmword [rbp + rcx + 0x4a0]
movdqu xmmword [rbp + rcx + 0x90], xmm1
movdqu xmm1, xmmword [rbp + rcx + 0x2b0]
xorps xmm2, xmm0
movdqu xmm0, xmmword [rbp + rcx + 0x4b0]
movdqu xmmword [rbp + rcx + 0xa0], xmm2
movdqu xmm2, xmmword [rbp + rcx + 0x2c0]
xorps xmm1, xmm0
movdqu xmm0, xmmword [rbp + rcx + 0x4c0]
movdqu xmmword [rbp + rcx + 0xb0], xmm1
xorps xmm2, xmm0
movdqu xmmword [rbp + rcx + 0xc0], xmm2
add rcx, 0x40
cmp rcx, r8
jl 0x1402b06d3
mov eax, ebx
and al, 0x3f
cmp al, 8
jb 0x1402b07aa
mov ecx, ebx
and ecx, 0x80000007
jge 0x1402b0774
dec ecx
or ecx, 0xfffffff8
inc ecx
mov eax, ebx
sub eax, ecx
movsxd rcx, edx
movsxd r8, eax
nop
movq xmm1, qword [rbp + rcx + 0x490]
add edx, 8
movq xmm0, qword [rbp + rcx + 0x290]
xorps xmm1, xmm0
movq qword [rbp + rcx + 0x90], xmm1
add rcx, 8
cmp rcx, r8
jl 0x1402b0780
movsxd rax, edx
movsxd rdx, ebx
cmp rax, rdx
jge 0x1402b07de
nop word [rax + rax]
movzx ecx, byte [rbp + rax + 0x490]
xor cl, byte [rbp + rax + 0x290]
mov byte [rbp + rax + 0x90], cl
inc rax
cmp rax, rdx
jl 0x1402b07c0
and byte [rbp + 0x90], 0x7f
mov r10d, ebx
sub r10d, r15d
xor r9b, r9b
dec r10d
mov r8d, edi
test r10d, r10d
jle 0x1402b088d
cmp r10d, 0x20
jb 0x1402b088d
mov edx, r10d
xorps xmm2, xmm2
xorps xmm1, xmm1
mov rcx, rdi
and edx, 0x8000001f
jge 0x1402b0822
dec edx
or edx, 0xffffffe0
inc edx
mov eax, r10d
sub eax, edx
movsxd rdx, eax
nop word [rax + rax]
movdqu xmm0, xmmword [rbp + rcx + 0x90]
add r8d, 0x20
orps xmm2, xmm0
movdqu xmm0, xmmword [rbp + rcx + 0xa0]
add rcx, 0x20
orps xmm1, xmm0
cmp rcx, rdx
jl 0x1402b0830
orps xmm1, xmm2
movdqa xmm0, xmm1
psrldq xmm0, 8
orps xmm1, xmm0
movdqa xmm0, xmm1
psrldq xmm0, 4
orps xmm1, xmm0
movdqa xmm0, xmm1
psrldq xmm0, 2
orps xmm1, xmm0
movdqa xmm0, xmm1
psrldq xmm0, 1
orps xmm1, xmm0
movd r9d, xmm1
movsxd rdx, r8d
movsxd r10, r10d
cmp rdx, r10
jge 0x1402b08c0
movsxd rax, r8d
mov ecx, r10d
sub ecx, eax
add r8d, ecx
nop dword [rax]
nop word [rax + rax]
or r9b, byte [rbp + rdx + 0x90]
inc rdx
cmp rdx, r10
jl 0x1402b08b0
test r9b, r9b
jne 0x1402b0996
movsxd rax, r8d
cmp byte [rbp + rax + 0x90], 1
jne 0x1402b0996
cmp r15d, 0x200
jg 0x1402b0996
movsxd rcx, ebx
lea r8, [rbp + 0x90]
sub rcx, r15
mov r9d, r15d
add r8, rcx
mov edx, 0x200
lea rcx, [rbp + 0x8a0]
call fcn.140295280
mov edx, 8
lea rcx, [rbp + 0x690]
call fcn.140295260
mov r8d, r14d
lea rcx, [rbp + 0x698]
mov rdx, r13
call fcn.140295270
lea rcx, [rbp + 0x698]
mov r8d, r15d
add rcx, r14
lea rdx, [rbp + 0x8a0]
call fcn.140295270
mov edx, r14d
lea rcx, [rsp + 0x40]
call qword [r12]
lea r8d, [r14 + 8]
add r8d, r15d
lea rdx, [rbp + 0x690]
lea rcx, [rsp + 0x40]
call qword [r12 + reloc.OLEAUT32.dll_VariantClear]
mov r8d, r14d
lea rdx, [rbp + 0x50]
lea rcx, [rsp + 0x40]
call qword [r12 + reloc.WS2_32.dll_recv]
mov r8, r14
lea rdx, [rbp + 0x50]
lea rcx, [rbp + 0x10]
call sub.VCRUNTIME140.dll_memcmp
test eax, eax
sete dil
mov eax, edi
jmp 0x1402b0998
xor eax, eax
mov rcx, qword [rbp + 0xaa0]
xor rcx, rsp
call fcn.140284180
add rsp, 0xbb8
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbx
pop rbp
ret