Function at 0x1402e2c30
Capabilities:
Encode data using xor

Disassembly:
push r15
push r14
push r12
push rsi
push rdi
push rbp
push rbx
sub rsp, 0x50
mov esi, r9d
test ecx, ecx
je 0x1402e2cd3
mov eax, esi
xor eax, 0xb21d9fe5
mov ecx, edx
mov edx, eax
mov r8d, 0x58d6df9b
call fcn.1402e34c0
test al, 1
je 0x1402e2d4a
movzx eax, byte [0x1406397b3]
movzx ecx, byte [0x1406399e4]
mov edx, ecx
xor dl, 0xa6
and cl, 0x26
add cl, cl
add cl, dl
cmp al, cl
je 0x1402e2e94
mov edi, esi
xor edi, 0x6175ea44
lea rbx, [rsp + 0x40]
mov ebp, esi
xor ebp, 0xcc7b0076
nop
mov rcx, rbx
mov edx, edi
mov r8d, 0x505d22ea
call fcn.1402e32f0
test al, 1
jne 0x1402e2e29
movzx ecx, byte [rsp + 0x40]
mov edx, ebp
mov r8d, 0x3b6d255b
call fcn.1402e3370
test al, 1
je 0x1402e2ca0
jmp 0x1402e2e94
test edx, edx
je 0x1402e2de5
movzx eax, byte [0x1406397cd]
cmp al, 0xd1
je 0x1402e2f6f
mov edi, esi
xor edi, 0x3d88e8e8
lea rbx, [rsp + 0x40]
lea r14, [rsp + 0x3f]
mov ebp, esi
xor ebp, 0xbb39b87d
nop word cs:[rax + rax]
mov rcx, rbx
mov rdx, r14
mov r8d, edi
mov r9d, 0xb859e097
call fcn.1402e34a0
cmp byte [rsp + 0x41], 0
jne 0x1402e2eb4
movzx ecx, byte [rsp + 0x3f]
mov edx, ebp
mov r8d, 0xd57bfc39
call fcn.1402e33b0
test al, 1
je 0x1402e2d10
jmp 0x1402e2f6f
movzx eax, byte [0x14063975b]
nop word cs:[rax + rax]
cmp al, 0x4c
je 0x1402e2ea8
movzx ecx, byte [0x1406399e4]
lea eax, [rcx + 0x12]
add cl, 0xbe
lock cmpxchg byte [0x14063975b], cl
jne 0x1402e2d60
xor edi, edi
mov ebp, 0x90a271db
lea rbx, [rsp + 0x3f]
lea r14, [rsp + 0x40]
lea r15, [0x14053e210]
lea r12, [0x140639750]
nop
mov r9d, dword [0x1406399e0]
add r9d, ebp
xor r9d, esi
mov dword [rsp + 0x20], 0x8d407ad2
mov ecx, edi
mov rdx, rbx
mov r8, r14
call fcn.1402e3400
movzx eax, byte [rsp + 0x3f]
mov rcx, qword [rsp + 0x40]
add al, byte [rcx + r15]
mov byte [rdi + r12], al
lea eax, [rdi + 1]
cmp eax, 0xa
jg 0x1402e2ea0
inc rdi
jmp 0x1402e2da0
movzx eax, byte [0x140639695]
movzx ecx, byte [0x1406399e4]
mov edx, ecx
xor dl, 0xbc
and cl, 0x3c
add cl, cl
add cl, dl
cmp al, cl
je 0x1402e2fe5
mov cl, 0x6d
nop dword [rax]
mov al, 0x6b
lock cmpxchg byte [0x140639695], cl
je 0x1402e2f78
cmp al, 0x17
jne 0x1402e2e10
jmp 0x1402e2fe5
xor eax, eax
lea r14, [0x1406397a0]
mov ebp, 0x5e0ae0d8
lea rdi, [rsp + 0x40]
nop dword [rax]
movsxd rbx, eax
movzx r15d, byte [rbx + r14]
mov r8d, dword [0x1406399e0]
add r8d, ebp
xor r8d, esi
mov ecx, ebx
mov rdx, rdi
mov r9d, 0x14f4b082
call fcn.1402e3480
mov rax, qword [rsp + 0x40]
add r15b, byte [rax]
mov byte [rbx + r14], r15b
lea eax, [rbx + 0x515be627]
mov ecx, eax
xor ecx, 0xaea419da
and eax, 0x2ea419da
lea eax, [rcx + rax*2]
cmp eax, 0x13
jl 0x1402e2e40
mov al, 1
xchg byte [0x1406397b3], al
lea rax, [0x1406397a0]
jmp 0x1402e2fec
mov al, 0x4c
xchg byte [0x14063975b], al
lea rax, [0x140639750]
jmp 0x1402e2fec
xor r14d, r14d
mov eax, esi
not eax
mov ecx, eax
and ecx, 0xcb9da99b
mov edi, esi
xor edi, 0x34625664
or edi, ecx
not edi
or edi, ecx
lea rbx, [rsp + 0x40]
mov ebp, esi
xor ebp, 0x8e88c34
and eax, 0xa726d1ef
mov r15d, esi
xor r15d, 0xa726d1ef
and r15d, esi
or r15d, eax
mov r12d, 0x27979d07
nop dword [rax]
mov ecx, r14d
mov rdx, rbx
mov r8d, edi
mov r9d, 0xf74c8938
call fcn.1402e3390
mov rax, qword [rsp + 0x40]
movzx esi, byte [rax]
movsxd r14, r14d
mov rcx, r14
mov rdx, rbx
mov r8d, ebp
mov r9d, 0x3cdec89d
call fcn.1402e33d0
mov rcx, qword [rsp + 0x40]
mov eax, dword [0x1406399e0]
add eax, r12d
mov dword [rsp + 0x28], eax
mov dword [rsp + 0x20], r15d
mov edx, esi
mov r8d, r14d
mov r9, rbx
call fcn.1402e33e0
mov r14d, dword [rsp + 0x40]
test al, 1
je 0x1402e2f00
movzx eax, byte [0x1406399e4]
add al, 0x76
xchg byte [0x1406397cd], al
lea rax, [0x1406397c0]
jmp 0x1402e2fec
xor edi, edi
lea r14, [0x140639690]
xor esi, 0xdee09ce3
mov ebp, 0xc0d0e4af
lea rbx, [rsp + 0x40]
mov r15d, 0xf6f1050b
nop word [rax + rax]
movzx edx, byte [rdi + r14]
mov eax, dword [0x1406399e0]
add eax, ebp
mov dword [rsp + 0x20], eax
mov rcx, rdi
mov r8, rbx
mov r9d, esi
call fcn.1402e3350
movzx eax, byte [rsp + 0x40]
mov byte [rdi + r14], al
lea eax, [rdi + 1]
mov ecx, dword [0x1406399e0]
add ecx, r15d
cmp eax, ecx
jge 0x1402e2fdd
inc rdi
jmp 0x1402e2fa0
mov al, 0x17
xchg byte [0x140639695], al
lea rax, [0x140639690]
add rsp, 0x50
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r14
pop r15
ret