Function at 0x14027e690
Capabilities:
Encode data using xor

Disassembly:
push rbx
test ecx, ecx
je 0x14027e6aa
cmp dword [0x1405489ac], 0x1f440812
jne 0x14027e7b0
jmp 0x14027e789
test edx, edx
je 0x14027e6d2
movzx eax, byte [0x140548586]
cmp al, 0x36
je 0x14027e740
mov cl, 0x70
nop
mov al, 0x7d
lock cmpxchg byte [0x140548586], cl
je 0x14027e702
cmp al, 0x36
jne 0x14027e6c0
jmp 0x14027e740
movzx eax, byte [0x140548625]
cmp al, 0xe8
je 0x14027e780
mov cl, 0xff
nop word cs:[rax + rax]
mov al, 0x7a
lock cmpxchg byte [0x140548625], cl
je 0x14027e749
cmp al, 0xe8
jne 0x14027e6f0
jmp 0x14027e780
xor eax, eax
lea rcx, [0x140548580]
lea rdx, [0x14045a7e0]
nop word cs:[rax + rax]
movzx r8d, byte [rax + rdx]
add byte [rax + rcx], r8b
lea r8d, [rax + 1]
cmp r8d, 5
jg 0x14027e738
inc rax
jmp 0x14027e720
mov al, 0x36
xchg byte [0x140548586], al
lea rax, [0x140548580]
pop rbx
ret
xor eax, eax
lea rcx, [0x140548610]
lea rdx, [0x14045a870]
nop dword [rax]
movzx r8d, byte [rax + rdx]
xor byte [rax + rcx], r8b
lea r8d, [rax + 1]
cmp r8d, 0x14
jg 0x14027e778
inc rax
jmp 0x14027e760
mov al, 0xe8
xchg byte [0x140548625], al
lea rax, [0x140548610]
pop rbx
ret
mov eax, dword [0x14058ff28]
mov ecx, dword [0x1405489ac]
neg ecx
add ecx, eax
inc ecx
imul ecx, eax
test cl, 1
je 0x14027e7c3
nop word cs:[rax + rax]
mov eax, dword [0x14058ff28]
lea ecx, [rax - 1]
imul ecx, eax
test cl, 1
jne 0x14027e7b0
jmp 0x14027e789
test edx, edx
je 0x14027e87e
movzx eax, byte [0x1405484b0]
cmp al, 0xc4
je 0x14027e963
mov cl, 0x98
mov edx, 0xe0bbf7ef
lea rax, [fcn.14027e690]
lea r8d, [rax + rax]
add r8d, 0x460
mov r9d, r8d
not r9d
nop dword [rax]
mov eax, dword [0x14058ff28]
lea r10d, [rax - 1]
imul r10d, eax
test r10b, 1
jne 0x14027e840
nop word cs:[rax + rax]
mov al, 0x32
lock cmpxchg byte [0x1405484b0], cl
sete r10b
cmp dword [0x14058f144], 0
je 0x14027e870
nop word [rax + rax]
mov al, 0x32
lock cmpxchg byte [0x1405484b0], cl
mov eax, dword [0x1405489ac]
add eax, edx
mov r10d, r8d
xor r10d, eax
not eax
and eax, r9d
or eax, r10d
cmp eax, 0xffffffff
jne 0x14027e840
jmp 0x14027e820
test r10b, r10b
jne 0x14027e8a9
cmp al, 0xc4
jne 0x14027e800
jmp 0x14027e963
movzx eax, byte [0x1405484d4]
cmp al, 0xff
je 0x14027e9c1
mov cl, 0xfe
nop
mov al, 0x80
lock cmpxchg byte [0x1405484d4], cl
je 0x14027e96c
cmp al, 0xff
jne 0x14027e890
jmp 0x14027e9c1
xor edx, edx
mov r8d, 1
lea r9, [0x1405484a0]
lea r10, [0x14045a730]
xor r11d, r11d
nop word cs:[rax + rax]
mov eax, dword [0x14058ff28]
mov ecx, dword [0x1405489ac]
add ecx, eax
inc ecx
imul ecx, eax
test cl, 1
jne 0x14027e90a
nop dword [rax + rax]
movzx eax, byte [rdx + r10]
add byte [rdx + r9], al
mov eax, dword [0x14058ff28]
lea ecx, [rax - 1]
imul ecx, eax
test cl, 1
je 0x14027e930
movzx ebx, byte [rdx + r9]
movzx ecx, byte [rdx + r10]
sub cl, bl
shl bl, cl
mov eax, ecx
sub al, bl
mul cl
mov ebx, eax
xor bl, cl
and al, cl
add al, al
add bl, cl
add bl, al
mov byte [rdx + r9], bl
jmp 0x14027e8f0
lea eax, [rdx + 1]
cmp eax, 0xf
jg 0x14027e950
dec r11d
add r8d, 0xfffffffe
inc rdx
jmp 0x14027e8d0
mov eax, dword [0x14058ff2c]
cmp eax, 0xf
jg 0x14027e950
mov al, 0xc4
xchg byte [0x1405484b0], al
lea rax, [0x1405484a0]
pop rbx
ret
xor r8d, r8d
lea rax, [0x1405484d0]
lea rcx, [0x14045a750]
mov edx, 0xe0bbf7ef
nop word cs:[rax + rax]
movsxd r8, r8d
movzx r9d, byte [r8 + rcx]
add byte [r8 + rax], r9b
mov r9d, dword [0x1405489ac]
add r9d, edx
mov r10d, r8d
xor r10d, r9d
and r9d, r8d
lea r8d, [r10 + r9*2]
cmp r8d, 4
jl 0x14027e990
mov al, 0xff
xchg byte [0x1405484d4], al
lea rax, [0x1405484d0]
pop rbx
ret