Function at 0x1402f4790
Capabilities:
Encode data using xor

Disassembly:
push r14
push rsi
push rdi
push rbp
push rbx
sub rsp, 0x50
mov esi, r9d
test ecx, ecx
je 0x1402f484b
test edx, edx
je 0x1402f48b4
movzx eax, byte [0x14063b23c]
cmp al, 0xd5
je 0x1402f4a20
mov edi, esi
xor edi, 0x71f594a0
lea rbx, [rsp + 0x40]
mov ebp, 0xae12bebf
lea r14, [rsp + 0x2f]
nop word cs:[rax + rax]
mov eax, dword [0x14063b3e8]
add eax, esi
add eax, 0xffff49bc
cdqe
add rax, qword [0x14063b400]
mov rcx, rbx
mov edx, edi
call qword [0x1405fc400]
movzx ecx, byte [rsp + 0x40]
movzx edx, byte [rsp + 0x41]
mov r9d, dword [0x14063bbd0]
add r9d, ebp
xor r9d, esi
mov eax, dword [0x14063b3e0]
add eax, esi
add eax, 0xffff49bc
cdqe
add rax, qword [0x14063b418]
mov r8, r14
call qword [0x1405fc400]
test al, 1
jne 0x1402f49a8
cmp byte [rsp + 0x2f], 0xd5
jne 0x1402f47e0
jmp 0x1402f4a20
test edx, edx
je 0x1402f494d
mov eax, dword [0x14063b3e4]
mov edx, esi
xor edx, 0xea466fb0
add eax, esi
add eax, 0xffff49bc
cdqe
add rax, qword [0x14063b3f8]
lea rcx, [rsp + 0x2d]
call qword [0x1405fc400]
cmp byte [rsp + 0x2d], 0x21
je 0x1402f4a67
nop word [rax + rax]
movzx ecx, byte [0x14063bbd4]
lea eax, [rcx - 0x60]
add cl, 0x8f
lock cmpxchg byte [0x14063b113], cl
je 0x1402f4a2c
cmp al, 0x21
jne 0x1402f4890
jmp 0x1402f4a67
movzx eax, byte [0x14063b213]
movzx ecx, byte [0x14063bbd4]
add cl, 0x8f
cmp al, cl
je 0x1402f4acb
mov edi, esi
xor edi, 0x3ca72c90
lea rbx, [rsp + 0x2e]
mov ebp, esi
xor ebp, 0x280b7eb4
nop word cs:[rax + rax]
mov eax, dword [0x14063bbd0]
mov ecx, dword [0x14063b3d4]
add ecx, esi
add eax, ecx
add eax, 0x966d9514
cdqe
add rax, qword [0x14063b420]
mov rcx, rbx
mov edx, edi
call qword [0x1405fc400]
test al, 1
jne 0x1402f4a73
movzx ecx, byte [rsp + 0x2e]
mov eax, dword [0x14063b3d8]
add eax, esi
add eax, 0xffff49bc
cdqe
add rax, qword [0x14063b410]
mov edx, ebp
call qword [0x1405fc400]
test al, 1
je 0x1402f48f0
jmp 0x1402f4acb
movzx eax, byte [0x14063b195]
cmp al, 0x96
je 0x1402f4b17
mov edi, esi
xor edi, 0xaec0cea8
lea rbx, [rsp + 0x30]
nop dword [rax]
mov eax, dword [0x14063b3d0]
add eax, esi
add eax, 0xffff49bc
cdqe
add rax, qword [0x14063b408]
mov rcx, rbx
mov edx, edi
call qword [0x1405fc400]
cmp byte [rsp + 0x31], 0
jne 0x1402f4ad4
cmp byte [rsp + 0x30], 0x96
jne 0x1402f4970
jmp 0x1402f4b17
xor eax, eax
lea rbx, [0x14063b220]
lea r14, [0x14053f150]
mov ebp, esi
xor ebp, 0xffd76d00
lea rdi, [rsp + 0x4c]
nop word cs:[rax + rax]
movsxd rcx, eax
movzx edx, byte [rcx + rbx]
movzx eax, byte [rcx + r14]
mov r8d, edx
xor r8b, al
and dl, al
add dl, dl
add dl, r8b
mov eax, dword [0x14063b3dc]
add eax, esi
add eax, 0xffff49bc
cdqe
add rax, qword [0x14063b3f0]
mov dword [rsp + 0x20], ebp
mov r8d, ecx
mov r9, rdi
call qword [0x1405fc400]
mov eax, dword [rsp + 0x4c]
cmp eax, 0x1c
jl 0x1402f49d0
mov al, 0xd5
xchg byte [0x14063b23c], al
lea rax, [0x14063b220]
jmp 0x1402f4b1e
xor edx, edx
lea rax, [0x14063b110]
lea rcx, [0x14053f050]
nop dword [rax]
movsxd rdx, edx
movzx r8d, byte [rdx + rcx]
add byte [rdx + rax], r8b
mov r8d, edx
xor r8d, 1
and edx, 1
lea edx, [r8 + rdx*2]
cmp edx, 3
jl 0x1402f4a40
mov al, 0x21
xchg byte [0x14063b113], al
lea rax, [0x14063b110]
jmp 0x1402f4b1e
xor edx, edx
lea rax, [0x14063b210]
lea rcx, [0x14053f140]
nop word cs:[rax + rax]
movsxd rdx, edx
movzx r8d, byte [rdx + rax]
movzx r9d, byte [rdx + rcx]
mov r10d, r8d
xor r10b, r9b
and r8b, r9b
add r8b, r8b
add r8b, r10b
mov byte [rdx + rax], r8b
mov r8d, edx
xor r8d, 1
and edx, 1
lea edx, [r8 + rdx*2]
cmp edx, 3
jl 0x1402f4a90
mov al, 0x80
xchg byte [0x14063b213], al
lea rax, [0x14063b210]
jmp 0x1402f4b1e
xor eax, eax
lea rcx, [0x14063b180]
lea rdx, [0x14053f0b0]
nop word cs:[rax + rax]
movzx r8d, byte [rax + rdx]
xor byte [rax + rcx], r8b
lea r8d, [rax + 1]
cmp r8d, 0x14
jg 0x1402f4b08
inc rax
jmp 0x1402f4af0
movzx eax, byte [0x14063bbd4]
add al, 0xa5
xchg byte [0x14063b195], al
lea rax, [0x14063b180]
add rsp, 0x50
pop rbx
pop rbp
pop rdi
pop rsi
pop r14
ret