Function at 0x1402a6410
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 0x1402a66e6
mov rsi, rcx
xor edi, edi
mov ecx, 1
mov edx, 1
xor r8d, r8d
mov r9d, 0x2aea9d31
call fcn.1402aa140
test rax, rax
je 0x1402a66e8
mov r9, qword [rax + 0x10]
mov r10, qword [rax + 0x18]
movsxd rdx, dword [0x140386cb0]
movabs rcx, 0xb140a36ea99f14e3
mov r8b, 1
nop dword [rax + rax]
test r8b, r8b
je 0x1402a6470
test r8b, r8b
je 0x1402a6470
mov ebx, dword [0x140386c24]
xor edi, edi
test r9, r9
je 0x1402a66e8
test r10, r10
je 0x1402a66e8
add rdx, rcx
lea r14, [0x140386cb0]
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 0x1402a64e9
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 0x1402a66e8
cmp r9, qword [rax + 0x10]
je 0x1402a6520
mov ecx, 1
mov edx, 1
xor r8d, r8d
mov r9d, 0x2aea9d31
call fcn.1402aa140
test rax, rax
je 0x1402a66e8
mov r9, qword [rax + 0x10]
mov r10, qword [rax + 0x18]
mov r11, r9
nop dword [rax + rax]
test bpl, bpl
je 0x1402a6520
test bpl, bpl
je 0x1402a6520
mov r8d, dword [0x140475920]
lea ecx, [r8 + 1]
mov dword [0x140475920], ecx
xor ecx, r8d
not ecx
xor r12d, r12d
test ecx, r8d
jne 0x1402a6570
test r15b, r15b
jne 0x1402a6580
nop dword [rax]
test bpl, bpl
je 0x1402a6580
test ebx, ebx
jle 0x1402a6570
xor edx, edx
xor r12d, r12d
nop
movsxd rdx, edx
xor r12d, dword [r14 + rdx]
add edx, 4
cmp edx, ebx
jl 0x1402a6560
nop
test r15b, r15b
jne 0x1402a6650
jmp 0x1402a6590
test bpl, bpl
je 0x1402a6580
jmp 0x1402a6550
test bpl, bpl
je 0x1402a6650
test r13b, 1
jne 0x1402a64df
mov qword [rsp + 0x20], r9
cmp r11, r10
movzx edx, r13b
mov r9d, 1
cmove edx, r9d
movzx r13d, byte [0x140493858]
mov r15d, r13d
xor r15b, dl
and r13b, dl
add r13b, r13b
add r13b, r15b
mov r15, qword [r11 + 0x30]
cmp r15, rsi
ja 0x1402a64c0
mov qword [rsp + 0x30], r10
add r15, qword [0x140490b18]
mov rdx, qword [0x140490618]
add r15, rdx
mov r10, rsi
mov rsi, rdi
mov edi, dword [0x1404906e4]
add edi, dword [r11 + 0x40]
add edi, dword [0x140490954]
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 [0x140386c4c]
sub r8d, r12d
and r8d, ecx
mov r15, r8
xor r15, rdx
and edx, r8d
add rdx, rdx
jmp 0x1402a66bf
test bpl, bpl
je 0x1402a6650
jmp 0x1402a6590
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 [0x140490618], r12
test bpl, bpl
je 0x1402a6660
lea rcx, [r15 + rdx]
mov qword [0x140490618], rcx
test bpl, bpl
je 0x1402a6660
mov rdi, rsi
mov rsi, qword [rsp + 0x28]
mov r10, qword [rsp + 0x30]
jmp 0x1402a64c0
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