Function at 0x1402a8c60
Capabilities:
Encode data using xor

Disassembly:
push rbx
push rsi
push rdi
push r12
push r15
sub rsp, 0x40
mov rsi, qword [rsp + 0x98]
mov r15, r9
mov rbx, r8
mov r12, rdx
mov rdi, rcx
call fcn.1401bdc60
cmp eax, 0x72
jne 0x1402a8ec7
mov qword [rsp + 0x78], r13
mov qword [rsp + 0x80], r14
mov r14, rbx
shr r14, 1
and ebx, 1
lea r13, [rbx + r14]
call fcn.14025c760
mov rdi, qword [rsp + 0xa0]
mov rcx, rax
mov rax, qword [rsp + 0x90]
mov r9, r15
mov qword [rsp + 0x30], rdi
mov r8, r13
mov qword [rsp + 0x28], rsi
mov rdx, r12
mov qword [rsp + 0x20], rax
call fcn.1402a8f10
test eax, eax
je 0x1402a8ec0
xor r8d, r8d
mov qword [rsp + 0x70], rbp
lea rdx, [0x1403fcc7b]
mov rcx, rdi
call fcn.1401b7e00
mov rbp, rax
test rax, rax
jne 0x1402a8d40
mov edx, reloc.WS2_32.dll_WSAGetLastError
mov dword [rsp + 0x20], eax
lea r9, [0x1403fcc7b]
lea ecx, [rdx - 0x3b]
lea r8d, [rdx - 0x2e]
call fcn.1401d65d0
xor eax, eax
mov rbp, qword [rsp + 0x70]
mov r13, qword [rsp + 0x78]
mov r14, qword [rsp + 0x80]
add rsp, 0x40
pop r15
pop r12
pop rdi
pop rsi
pop rbx
ret
lea rbx, [r14 + r12]
call fcn.1401c0f50
mov rcx, rax
mov qword [rsp + 0x30], rdi
mov rax, qword [rsp + 0x90]
mov r9, r15
mov qword [rsp + 0x28], rbp
mov r8, r13
mov rdx, rbx
mov qword [rsp + 0x20], rax
call fcn.1402a8f10
test eax, eax
jne 0x1402a8d8c
xor r9d, r9d
lea r8, [0x1403fcc7b]
mov rdx, rdi
mov rcx, rbp
call fcn.1401b7fd0
jmp 0x1402a8d20
xor eax, eax
test rdi, rdi
je 0x1402a8ea1
cmp rdi, 8
jb 0x1402a8e73
lea rdx, [rsi - 1]
lea rcx, [rdi - 1]
add rdx, rdi
add rcx, rbp
cmp rsi, rcx
ja 0x1402a8dbd
cmp rdx, rbp
jae 0x1402a8e73
mov rdx, rbp
cmp rdi, 0x40
jb 0x1402a8e40
mov r8, rdi
mov r9, rdi
and r8d, 0x3f
sub r9, r8
lea rcx, [rsi + 0x10]
sub rdx, rsi
nop word [rax + rax]
movdqu xmm0, xmmword [rcx - 0x10]
add rax, 0x40
movdqu xmm1, xmmword [rdx + rcx - 0x10]
movdqu xmm2, xmmword [rdx + rcx]
lea rcx, [rcx + 0x40]
xorps xmm1, xmm0
movdqu xmmword [rcx - 0x50], xmm1
movdqu xmm0, xmmword [rcx - 0x40]
movdqu xmm1, xmmword [rdx + rcx - 0x30]
xorps xmm2, xmm0
movdqu xmmword [rcx - 0x40], xmm2
movdqu xmm0, xmmword [rcx - 0x30]
xorps xmm1, xmm0
movdqu xmmword [rcx - 0x30], xmm1
movdqu xmm0, xmmword [rcx - 0x20]
movdqu xmm1, xmmword [rdx + rcx - 0x20]
xorps xmm1, xmm0
movdqu xmmword [rcx - 0x20], xmm1
cmp rax, r9
jb 0x1402a8de0
cmp r8, 8
jb 0x1402a8e6e
jmp 0x1402a8e43
sub rdx, rsi
mov r8, rdi
and r8, 0xfffffffffffffff8
lea rcx, [rax + rsi]
nop
movq xmm0, qword [rcx]
add rax, 8
movq xmm1, qword [rdx + rcx]
lea rcx, [rcx + 8]
xorps xmm1, xmm0
movq qword [rcx - 8], xmm1
cmp rax, r8
jb 0x1402a8e50
cmp rax, rdi
jae 0x1402a8ea1
mov r8, rbp
lea rcx, [rax + rsi]
sub r8, rsi
mov rdx, rdi
sub rdx, rax
nop dword [rax]
nop word [rax + rax]
movzx eax, byte [rcx + r8]
xor byte [rcx], al
lea rcx, [rcx + 1]
sub rdx, 1
jne 0x1402a8e90
xor r9d, r9d
lea r8, [0x1403fcc7b]
mov rdx, rdi
mov rcx, rbp
call fcn.1401b7fd0
mov eax, 1
jmp 0x1402a8d22
xor eax, eax
jmp 0x1402a8d27
mov rax, qword [rsp + 0xa0]
mov r9, r15
mov qword [rsp + 0x30], rax
mov r8, rbx
mov rax, qword [rsp + 0x90]
mov rdx, r12
mov qword [rsp + 0x28], rsi
mov rcx, rdi
mov qword [rsp + 0x20], rax
call fcn.1402a8f10
mov ecx, eax
xor eax, eax
test ecx, ecx
setne al
add rsp, 0x40
pop r15
pop r12
pop rdi
pop rsi
pop rbx
ret