Function at 0x14029a910
Capabilities:
Encode data using xor

Disassembly:
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbp
push rbx
sub rsp, 0x48
mov r14d, dword [rsp + 0xb0]
test ecx, ecx
je 0x14029a989
mov r15d, r9d
mov eax, r9d
xor eax, 0x10d87000
mov r8d, r14d
xor r8d, 0x9323a4c2
mov ecx, edx
mov edx, eax
call fcn.1400712d0
test al, 1
je 0x14029a9d6
movzx eax, byte [0x1405257e0]
mov ecx, r14d
xor cl, 0xe5
add cl, byte [0x14052585c]
cmp al, cl
je 0x14029aaeb
mov cl, 0x9e
nop
mov al, 0x74
lock cmpxchg byte [0x1405257e0], cl
je 0x14029aa76
cmp al, 0x86
jne 0x14029a970
jmp 0x14029aaeb
movzx eax, byte [0x1405257f3]
cmp al, 0x76
je 0x14029aa6a
mov cl, 0x35
nop word [rax + rax]
mov al, 0x2f
lock cmpxchg byte [0x1405257f3], cl
je 0x14029aa21
mov edx, r14d
xor dl, 0xf5
movzx r8d, byte [0x14052585c]
xor r8b, dl
mov r9d, r8d
not r9b
and r9b, dl
add r9b, r9b
add r9b, r8b
cmp al, r9b
jne 0x14029a9a0
jmp 0x14029aa6a
movzx eax, byte [0x140525849]
cmp al, 0xf1
je 0x14029abe7
mov ebx, r15d
xor ebx, 0xe3b409d9
mov ebp, r14d
xor ebp, 0x8d0e66ee
lea rsi, [rsp + 0x38]
nop dword [rax]
mov rcx, rsi
mov edx, ebx
mov r8d, ebp
call fcn.14029a8e0
test al, 1
jne 0x14029aaf7
cmp byte [rsp + 0x38], 0xf1
jne 0x14029aa00
jmp 0x14029abe7
xor eax, eax
lea rcx, [0x1405257f0]
lea rdx, [0x140436000]
nop word cs:[rax + rax]
movzx r8d, byte [rax + rdx]
add byte [rax + rcx], r8b
lea r8d, [rax + 1]
cmp r8d, 2
jg 0x14029aa58
inc rax
jmp 0x14029aa40
xor r14b, 0xf5
add r14b, byte [0x14052585c]
xchg byte [0x1405257f3], r14b
lea rax, [0x1405257f0]
jmp 0x14029abee
xor ebp, ebp
xor r15d, 0xdbc313a1
xor r14d, 0xc37a05ed
lea rbx, [rsp + 0x38]
lea rsi, [0x1405256e0]
lea rdi, [0x140435f00]
nop dword [rax]
mov ecx, ebp
mov rdx, rbx
mov r8d, r15d
mov r9d, r14d
call fcn.1400aeef0
mov rax, qword [rsp + 0x38]
movsxd rcx, ebp
movzx edx, byte [rcx + rdi]
mov r8d, edx
xor r8b, dl
not r8b
and r8b, byte [rax + rsi]
xor r8b, dl
mov byte [rcx + rsi], r8b
mov eax, ecx
xor eax, 1
and ecx, 1
lea ebp, [rax + rcx*2]
cmp ebp, 0x100
jl 0x14029aaa0
mov al, 0x86
xchg byte [0x1405257e0], al
lea rax, [0x1405256e0]
jmp 0x14029abee
xor r13d, r13d
mov edi, r15d
xor edi, 0x55ea6d9c
mov eax, r14d
not eax
mov ecx, eax
and ecx, 0xdc14badc
mov ebx, r14d
and ebx, 0x23eb4523
or ebx, ecx
mov esi, r14d
xor esi, 0xda9c7343
mov dword [rsp + 0x44], r15d
mov ebp, r15d
xor ebp, 0x4009e0e6
and eax, 0xa0388b9f
mov r15d, r14d
and r15d, 0x5fc77460
or r15d, eax
nop word cs:[rax + rax]
movsxd r12, r13d
lea r13, [0x140525840]
lea rcx, [r12 + r13]
mov dword [rsp + 0x28], ebx
mov dword [rsp + 0x20], edi
mov edx, r12d
lea r8, [rsp + 0x37]
lea r9, [rsp + 0x38]
call fcn.14012e100
movzx eax, byte [rsp + 0x37]
mov rcx, qword [rsp + 0x38]
lea rdx, [0x140436050]
movzx ecx, byte [rcx + rdx]
add al, 0x7b
mov edx, eax
xor dl, cl
and al, cl
add al, al
add al, dl
add al, 0x85
mov byte [r12 + r13], al
mov eax, dword [0x140525858]
mov ecx, r14d
xor ecx, esi
xor ecx, 0x25638cbc
and ecx, eax
xor ecx, esi
and eax, esi
lea r13d, [rcx + rax*2]
add r13d, r12d
mov ecx, r13d
mov edx, ebp
mov r8d, r15d
call fcn.140243f20
test al, 1
je 0x14029ab50
mov ecx, dword [rsp + 0x44]
xor ecx, 0xf2834ebe
xor r14d, 0x83f645c2
mov edx, r14d
call fcn.14029a900
lea rax, [0x140525840]
add rsp, 0x48
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
ret