Function at 0x14027f5c0
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 esi, r9d
test ecx, ecx
je 0x14027f632
test edx, edx
je 0x14027f669
movzx eax, byte [0x140537622]
cmp al, 0x5d
je 0x14027f798
mov bpl, 0x25
mov edi, esi
xor edi, 0x405fbdb1
nop dword [rax]
mov al, 0x2c
lock cmpxchg byte [0x140537622], bpl
mov ebx, eax
sete dl
mov ecx, eax
mov r8d, edi
mov r9d, 0x6fcfb506
call fcn.140178040
test al, 1
jne 0x14027f704
cmp bl, 0x5d
jne 0x14027f600
jmp 0x14027f798
test edx, edx
je 0x14027f699
movzx eax, byte [0x140537602]
cmp al, 0x61
je 0x14027f7f7
mov cl, 0x31
nop word [rax + rax]
mov al, 0x56
lock cmpxchg byte [0x140537602], cl
je 0x14027f7a4
cmp al, 0x61
jne 0x14027f650
jmp 0x14027f7f7
movzx eax, byte [0x1405378a3]
cmp al, 0xd4
je 0x14027f8e2
mov cl, 0xa5
nop word [rax + rax]
mov al, 0x23
lock cmpxchg byte [0x1405378a3], cl
je 0x14027f803
cmp al, 0xd4
jne 0x14027f680
jmp 0x14027f8e2
movzx eax, byte [0x140537909]
cmp al, 0x95
je 0x14027f927
mov edi, esi
xor edi, 0x15e194b
mov ebp, 0x8f721f0d
lea rbx, [rsp + 0x40]
nop word [rax + rax]
mov r8d, dword [0x140538180]
add r8d, ebp
mov rcx, rbx
mov edx, edi
call fcn.140280900
test al, 1
jne 0x14027f8eb
movzx ecx, byte [rsp + 0x40]
mov eax, esi
xor eax, 0x3a7a9ae4
mov edx, esi
not edx
and edx, esi
xor edx, eax
mov r8d, 0x5166052a
call fcn.140280620
test al, 1
je 0x14027f6c0
jmp 0x14027f927
xor edi, edi
lea r15, [0x140537620]
mov eax, esi
not eax
mov ecx, eax
and ecx, 0x1e8f03fd
mov ebp, esi
and ebp, 0xe170fc02
or ebp, ecx
lea rbx, [rsp + 0x3f]
lea r14, [rsp + 0x40]
and eax, 0xe20d0e97
and esi, 0x1df2f168
or esi, eax
nop word [rax + rax]
lea rcx, [r15 + rdi]
mov dword [rsp + 0x20], ebp
mov dword [rsp + 0x28], 0xb466c8f0
mov edx, edi
mov r8, rbx
mov r9, r14
call fcn.1402817e0
movzx edx, byte [rsp + 0x3f]
mov rcx, qword [rsp + 0x40]
mov dword [rsp + 0x20], 0x18fc0453
mov r8, r14
mov r9d, esi
call fcn.140281860
movzx eax, byte [rsp + 0x40]
mov byte [rdi + r15], al
lea eax, [rdi + 1]
cmp eax, 1
jg 0x14027f790
inc rdi
jmp 0x14027f740
mov al, 0x5d
xchg byte [0x140537622], al
lea rax, [0x140537620]
jmp 0x14027f92e
xor eax, eax
lea rbx, [0x140537600]
lea r14, [0x140446150]
xor esi, 0x61e478e4
lea rdi, [rsp + 0x40]
nop
movsxd rcx, eax
movzx eax, byte [rcx + r14]
mov edx, eax
xor dl, al
not dl
and dl, byte [rcx + rbx]
xor dl, al
mov dword [rsp + 0x20], 0x5df9c6cd
mov r8, rdi
mov r9d, esi
call fcn.140280890
mov eax, dword [rsp + 0x40]
cmp eax, 2
jl 0x14027f7c0
mov al, 0x61
xchg byte [0x140537602], al
lea rax, [0x140537600]
jmp 0x14027f92e
xor ebp, ebp
lea rdi, [rsp + 0x40]
mov r12d, esi
xor r12d, 0xbf5d1887
lea rbx, [rsp + 0x3f]
lea r13, [0x1405378a0]
mov r15d, 0x5a89a642
nop word cs:[rax + rax]
mov eax, dword [0x140538180]
mov ecx, eax
xor ecx, 0x4729a4ec
mov edx, eax
and edx, 0x4729a4ec
lea r8d, [rcx + rdx*2]
not r8d
mov ecx, esi
and ecx, r8d
or r8d, esi
not r8d
or r8d, ecx
neg eax
mov ecx, eax
xor ecx, 0x6570ecfe
and eax, 0x6570ecfe
lea r9d, [rcx + rax*2]
neg r9d
mov ecx, ebp
mov rdx, rdi
call fcn.140280930
mov rax, qword [rsp + 0x40]
movzx ecx, byte [rax]
movsxd r14, ebp
lea rax, [0x1404463a0]
movzx edx, byte [r14 + rax]
mov dword [rsp + 0x28], r12d
mov qword [rsp + 0x20], rdi
mov dword [rsp + 0x30], 0x214a4ad0
mov r8d, r14d
mov r9, rbx
call fcn.140281810
movzx eax, byte [rsp + 0x3f]
mov rcx, qword [rsp + 0x40]
mov byte [rcx + r13], al
mov eax, dword [0x140538180]
add eax, r15d
mov ecx, r14d
xor ecx, eax
and eax, r14d
lea ebp, [rcx + rax*2]
cmp ebp, 3
jl 0x14027f830
mov al, 0xd4
xchg byte [0x1405378a3], al
lea rax, [0x1405378a0]
jmp 0x14027f92e
xor eax, eax
lea rcx, [0x140537900]
lea rdx, [0x140446400]
nop dword [rax + rax]
movzx r8d, byte [rax + rdx]
xor byte [rax + rcx], r8b
lea r8d, [rax + 1]
cmp r8d, 8
jg 0x14027f918
inc rax
jmp 0x14027f900
movzx eax, byte [0x140538184]
add al, 0x26
xchg byte [0x140537909], al
lea rax, [0x140537900]
add rsp, 0x48
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
ret