Function at 0x1402a4940
Capabilities:
Encode data using xor

Disassembly:
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbp
push rbx
sub rsp, 0x38
test rcx, rcx
je 0x1402a4c16
mov rsi, rcx
xor edi, edi
mov ecx, 1
mov edx, 1
xor r8d, r8d
mov r9d, 0x2aea9d31
call fcn.1402a8670
test rax, rax
je 0x1402a4c18
mov r9, qword [rax + 0x10]
mov r10, qword [rax + 0x18]
movsxd rdx, dword [0x14037aa80]
movabs rcx, 0xb140a36ea99f14e3
mov r8b, 1
nop dword [rax + rax]
test r8b, r8b
je 0x1402a49a0
test r8b, r8b
je 0x1402a49a0
mov ebx, dword [0x14037a9f4]
xor edi, edi
test r9, r9
je 0x1402a4c18
test r10, r10
je 0x1402a4c18
add rdx, rcx
lea r14, [0x14037aa80]
add r14, rdx
sub r14, rcx
xor r15d, r15d
mov bpl, 1
xor edi, edi
mov r11, r9
xor r13d, r13d
mov qword [rsp + 0x28], rsi
jmp 0x1402a4a19
mov r9, qword [rsp + 0x20]
mov rcx, qword [r11]
test rcx, rcx
cmovne r11, rcx
movzx r13d, r13b
mov ecx, 1
cmove r13d, ecx
xor r15d, r15d
test r13b, 1
jne 0x1402a4c18
cmp r9, qword [rax + 0x10]
je 0x1402a4a50
mov ecx, 1
mov edx, 1
xor r8d, r8d
mov r9d, 0x2aea9d31
call fcn.1402a8670
test rax, rax
je 0x1402a4c18
mov r9, qword [rax + 0x10]
mov r10, qword [rax + 0x18]
mov r11, r9
nop dword [rax + rax]
test bpl, bpl
je 0x1402a4a50
test bpl, bpl
je 0x1402a4a50
mov r8d, dword [0x14045dc80]
lea ecx, [r8 + 1]
mov dword [0x14045dc80], ecx
xor ecx, r8d
not ecx
xor r12d, r12d
test ecx, r8d
jne 0x1402a4aa0
test r15b, r15b
jne 0x1402a4ab0
nop dword [rax]
test bpl, bpl
je 0x1402a4ab0
test ebx, ebx
jle 0x1402a4aa0
xor edx, edx
xor r12d, r12d
nop
movsxd rdx, edx
xor r12d, dword [r14 + rdx]
add edx, 4
cmp edx, ebx
jl 0x1402a4a90
nop
test r15b, r15b
jne 0x1402a4b80
jmp 0x1402a4ac0
test bpl, bpl
je 0x1402a4ab0
jmp 0x1402a4a80
test bpl, bpl
je 0x1402a4b80
test r13b, 1
jne 0x1402a4a0f
mov qword [rsp + 0x20], r9
cmp r11, r10
movzx edx, r13b
mov r9d, 1
cmove edx, r9d
movzx r13d, byte [0x14047a9b0]
mov r15d, r13d
xor r15b, dl
and r13b, dl
add r13b, r13b
add r13b, r15b
mov r15, qword [r11 + 0x30]
cmp r15, rsi
ja 0x1402a49f0
mov qword [rsp + 0x30], r10
add r15, qword [0x140477dc0]
mov rdx, qword [0x1404778b0]
add r15, rdx
mov r10, rsi
mov rsi, rdi
mov edi, dword [0x140477984]
add edi, dword [r11 + 0x40]
add edi, dword [0x140477bf4]
add rdi, r15
cmp rdi, r10
cmovae rsi, r15
movzx r13d, r13b
cmovae r13d, r9d
and ecx, r8d
cmp ecx, 1
mov ecx, 0
sbb ecx, ecx
mov r8d, dword [0x14037aa1c]
sub r8d, r12d
and r8d, ecx
mov r15, r8
xor r15, rdx
and edx, r8d
add rdx, rdx
jmp 0x1402a4bef
test bpl, bpl
je 0x1402a4b80
jmp 0x1402a4ac0
mov r8, r15
mov ecx, edx
shl r8, cl
sub r8, r15
mov r12, r15
mov ecx, r8d
shl r12, cl
sub r8d, r12d
mov rdi, r12
mov ecx, r8d
shl rdi, cl
mov rcx, r12
sub rcx, rdi
imul rcx, rdi
shl r12, cl
sub r12, rcx
imul r12, rcx
mov r8, r12
sub r8, rcx
imul r8, rcx
mov rcx, r12
sub rcx, r8
imul rcx, r8
sub rcx, r12
shl r12, cl
sub r12, rcx
imul r12, rcx
add r12, rcx
mov qword [0x1404778b0], r12
test bpl, bpl
je 0x1402a4b90
lea rcx, [r15 + rdx]
mov qword [0x1404778b0], rcx
test bpl, bpl
je 0x1402a4b90
mov rdi, rsi
mov rsi, qword [rsp + 0x28]
mov r10, qword [rsp + 0x30]
jmp 0x1402a49f0
xor edi, edi
mov rax, rdi
add rsp, 0x38
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
ret