Function at 0x1402f4b50
Capabilities:
Encode data using xor

Disassembly:
push r15
push r14
push rsi
push rdi
push rbx
sub rsp, 0x30
mov esi, r9d
test ecx, ecx
je 0x1402f4bae
test edx, edx
je 0x1402f4be9
movzx eax, byte [0x14063b0a2]
movzx ecx, byte [0x14063bbd4]
add cl, 0xf9
cmp al, cl
je 0x1402f4d10
xor esi, 0xfb4a5361
lea rdi, [rsp + 0x23]
nop
mov rcx, rdi
mov edx, esi
call fcn.1402f4ed0
test al, 1
jne 0x1402f4ca9
cmp byte [rsp + 0x23], 0xea
jne 0x1402f4b90
jmp 0x1402f4d10
test edx, edx
je 0x1402f4c42
movzx eax, byte [0x14063b2e2]
cmp al, 0xd2
je 0x1402f4d77
mov cl, 0x3f
nop word [rax + rax]
mov al, 0x95
lock cmpxchg byte [0x14063b2e2], cl
je 0x1402f4d1c
cmp al, 0xd2
jne 0x1402f4bd0
jmp 0x1402f4d77
movzx ecx, byte [0x14063b146]
mov eax, esi
not eax
mov edx, esi
xor edx, 0x2c24edad
and eax, 0xd3db1252
or edx, eax
not edx
or edx, eax
call fcn.1402f4b40
test al, 1
jne 0x1402f4dd4
mov bl, 0x39
mov edi, esi
xor edi, 0xb2b8b94e
nop
mov al, 0x52
lock cmpxchg byte [0x14063b146], bl
je 0x1402f4d83
mov ecx, eax
mov edx, edi
call fcn.1402f4b40
test al, 1
je 0x1402f4c20
jmp 0x1402f4dd4
movzx eax, byte [0x14063b1d5]
movzx ecx, byte [0x14063bbd4]
mov edx, ecx
not dl
mov r8d, edx
and dl, 0x3d
mov r9d, ecx
and r9b, 0x42
or r9b, dl
and r9b, cl
and cl, 0xbd
and r8b, 0x42
or r8b, cl
add r9b, r9b
add r9b, r8b
cmp al, r9b
je 0x1402f4e23
mov cl, 0x36
nop word cs:[rax + rax]
mov al, 0xae
lock cmpxchg byte [0x14063b1d5], cl
je 0x1402f4ddd
cmp al, 0x33
jne 0x1402f4c90
jmp 0x1402f4e23
xor edx, edx
lea rax, [0x14063b0a0]
lea rcx, [0x14053eff0]
nop dword [rax]
movsxd rdx, edx
movzx r8d, byte [rdx + rcx]
add byte [rdx + rax], r8b
mov r8d, edx
xor r8d, 0x7ffffffe
and r8d, edx
xor edx, 1
lea edx, [rdx + r8*2]
mov r8d, dword [0x14063bbd0]
mov r9d, r8d
xor r9d, 0x9851d27a
and r8d, 0x1851d27a
lea r8d, [r9 + r8*2]
add r8d, 0xfe1c78e0
cmp edx, r8d
jl 0x1402f4cc0
mov al, 0xea
xchg byte [0x14063b0a2], al
lea rax, [0x14063b0a0]
jmp 0x1402f4e2a
xor eax, eax
lea rbx, [0x14063b2e0]
lea r14, [0x14053f210]
xor esi, 0x7ad232b1
lea rdi, [rsp + 0x24]
nop word [rax + rax]
movsxd rcx, eax
movzx eax, byte [rcx + rbx]
add al, byte [rcx + r14]
add al, 0xfc
mov edx, eax
xor dl, 4
and al, 4
add al, al
add al, dl
mov byte [rcx + rbx], al
mov rdx, rdi
mov r8d, esi
call fcn.14026dbe0
mov eax, dword [rsp + 0x24]
cmp eax, 2
jl 0x1402f4d40
mov al, 0xd2
xchg byte [0x14063b2e2], al
lea rax, [0x14063b2e0]
jmp 0x1402f4e2a
xor edi, edi
xor esi, 0x5e70e6b7
lea rbx, [rsp + 0x28]
lea r14, [0x14063b140]
lea r15, [0x14053f070]
nop
mov ecx, edi
mov rdx, rbx
mov r8d, esi
call fcn.1400a9970
mov rax, qword [rsp + 0x28]
movzx eax, byte [rax + r14]
xor al, byte [rdi + r15]
mov byte [rdi + r14], al
lea eax, [rdi + 1]
cmp eax, 5
jg 0x1402f4dcc
inc rdi
jmp 0x1402f4da0
mov al, 0xf6
xchg byte [0x14063b146], al
lea rax, [0x14063b140]
jmp 0x1402f4e2a
xor edx, edx
lea rax, [0x14063b1c0]
lea rcx, [0x14053f0f0]
nop dword [rax]
movsxd rdx, edx
movzx r8d, byte [rdx + rcx]
xor byte [rdx + rax], r8b
add edx, 0x488e825c
mov r8d, edx
xor r8d, 0xb7717da5
and edx, 0x37717da5
lea edx, [r8 + rdx*2]
cmp edx, 0x15
jl 0x1402f4df0
mov al, 0x33
xchg byte [0x14063b1d5], al
lea rax, [0x14063b1c0]
add rsp, 0x30
pop rbx
pop rdi
pop rsi
pop r14
pop r15
ret