Function at 0x1402e6c10
Capabilities:
Encode data using xor

Disassembly:
push rbx
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
mov eax, 0xe8
call fcn.1403983a0
sub rsp, rax
mov rax, qword [0x14048bd00]
xor rax, rsp
mov qword [rsp + 0xd0], rax
mov r14, qword [rsp + 0x150]
mov rax, rcx
mov rbx, qword [rsp + 0x158]
mov rdi, r9
mov r15, qword [rsp + 0x178]
mov r13, r8
mov qword [rsp + 0x38], rcx
mov r12, rdx
mov rcx, qword [rsp + 0x168]
xor ebp, ebp
mov qword [rsp + 0x40], rcx
mov esi, dword [rcx]
mov rcx, rax
call fcn.14027ee80
mov r8d, esi
mov qword [rsp + 0x30], rax
xor edx, edx
mov rcx, r15
call fcn.14030a440
test eax, eax
je 0x1402e6ea7
inc esi
cmp dword [rsp + 0x160], ebp
je 0x1402e6cbe
mov rcx, qword [rsp + 0x30]
xor r9d, r9d
mov r8, rbx
mov rdx, r14
call fcn.1402155d0
test eax, eax
jle 0x1402e6ea9
mov r8, rbx
mov rdx, r14
mov rcx, rdi
call sub.VCRUNTIME140.dll_memcpy
mov r8, rbx
lea rcx, [rsp + 0x90]
mov rdx, r14
call sub.VCRUNTIME140.dll_memcpy
lea eax, [rbx - 1]
movsxd rcx, eax
test eax, eax
js 0x1402e6cfd
add rcx, rdi
nop dword [rax]
add byte [rcx], 1
jne 0x1402e6cfd
dec rcx
cmp rcx, rdi
jns 0x1402e6cf0
mov qword [rsp + 0x28], rbp
lea r8, [rsp + 0x50]
xor r9d, r9d
mov qword [rsp + 0x20], r13
mov rdx, rbx
mov rcx, r14
call fcn.140204c50
test eax, eax
je 0x1402e6ea9
mov qword [rsp + 0x28], rbp
lea r8, [rsp + 0x90]
xor r9d, r9d
mov qword [rsp + 0x20], r13
mov rdx, rbx
mov rcx, rdi
call fcn.140204c50
test eax, eax
je 0x1402e6ea9
mov rax, rbp
test ebx, ebx
jle 0x1402e6e32
cmp ebx, 8
jb 0x1402e6e32
cmp ebx, 0x40
jb 0x1402e6df9
mov edx, ebx
and edx, 0x8000003f
jge 0x1402e6d78
dec edx
or edx, 0xffffffc0
inc edx
mov ecx, ebx
sub ecx, edx
movsxd rdx, ecx
nop
movdqu xmm0, xmmword [rsp + rax + 0x50]
movdqu xmm1, xmmword [rsp + rax + 0x90]
xorps xmm1, xmm0
movdqu xmmword [rsp + rax + 0x50], xmm1
movdqu xmm0, xmmword [rsp + rax + 0x60]
movdqu xmm1, xmmword [rsp + rax + 0xa0]
xorps xmm1, xmm0
movdqu xmmword [rsp + rax + 0x60], xmm1
movdqu xmm0, xmmword [rsp + rax + 0x70]
movdqu xmm1, xmmword [rsp + rax + 0xb0]
xorps xmm1, xmm0
movdqu xmmword [rsp + rax + 0x70], xmm1
movdqu xmm0, xmmword [rsp + rax + 0x80]
movdqu xmm1, xmmword [rsp + rax + 0xc0]
xorps xmm1, xmm0
movdqu xmmword [rsp + rax + 0x80], xmm1
add rax, 0x40
cmp rax, rdx
jl 0x1402e6d80
mov ecx, ebx
and cl, 0x3f
cmp cl, 8
jb 0x1402e6e32
mov edx, ebx
and edx, 0x80000007
jge 0x1402e6e0a
dec edx
or edx, 0xfffffff8
inc edx
mov ecx, ebx
sub ecx, edx
movsxd rdx, ecx
movq xmm0, qword [rsp + rax + 0x50]
movq xmm1, qword [rsp + rax + 0x90]
xorps xmm1, xmm0
movq qword [rsp + rax + 0x50], xmm1
add rax, 8
cmp rax, rdx
jl 0x1402e6e11
movsxd rdx, ebx
cmp rax, rdx
jge 0x1402e6e54
nop word [rax + rax]
movzx ecx, byte [rsp + rax + 0x90]
xor byte [rsp + rax + 0x50], cl
inc rax
cmp rax, rdx
jl 0x1402e6e40
or byte [rsp + 0x50], 0x80
lea rcx, [rsp + 0x50]
or byte [rsp + rbx + 0x4f], 1
mov r8, r12
mov edx, ebx
call fcn.1401feb40
test rax, rax
je 0x1402e6ea9
mov rdx, qword [rsp + 0x38]
mov r8, r15
mov rcx, r12
call fcn.14030a4a0
test eax, eax
jg 0x1402e6ea0
jne 0x1402e6ea9
mov r8d, esi
xor edx, edx
mov rcx, r15
call fcn.14030a440
test eax, eax
je 0x1402e6ea7
inc esi
jmp 0x1402e6ca3
mov ebp, 1
jmp 0x1402e6ea9
inc esi
mov rax, qword [rsp + 0x40]
mov dword [rax], esi
mov eax, ebp
mov rcx, qword [rsp + 0xd0]
xor rcx, rsp
call fcn.140397b20
add rsp, 0xe8
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
pop rbx
ret