Function at 0x140288c80
Capabilities:
Encode data using xor

Disassembly:
push rbx
test ecx, ecx
je 0x140288c9a
cmp dword [0x1405619ac], 0x1f440812
jne 0x140288da0
jmp 0x140288d79
test edx, edx
je 0x140288cc2
movzx eax, byte [0x140561586]
cmp al, 0x36
je 0x140288d30
mov cl, 0x70
nop
mov al, 0x7d
lock cmpxchg byte [0x140561586], cl
je 0x140288cf2
cmp al, 0x36
jne 0x140288cb0
jmp 0x140288d30
movzx eax, byte [0x140561625]
cmp al, 0xe8
je 0x140288d70
mov cl, 0xff
nop word cs:[rax + rax]
mov al, 0x7a
lock cmpxchg byte [0x140561625], cl
je 0x140288d39
cmp al, 0xe8
jne 0x140288ce0
jmp 0x140288d70
xor eax, eax
lea rcx, [0x140561580]
lea rdx, [0x140470c00]
nop word cs:[rax + rax]
movzx r8d, byte [rax + rdx]
add byte [rax + rcx], r8b
lea r8d, [rax + 1]
cmp r8d, 5
jg 0x140288d28
inc rax
jmp 0x140288d10
mov al, 0x36
xchg byte [0x140561586], al
lea rax, [0x140561580]
pop rbx
ret
xor eax, eax
lea rcx, [0x140561610]
lea rdx, [0x140470c90]
nop dword [rax]
movzx r8d, byte [rax + rdx]
xor byte [rax + rcx], r8b
lea r8d, [rax + 1]
cmp r8d, 0x14
jg 0x140288d68
inc rax
jmp 0x140288d50
mov al, 0xe8
xchg byte [0x140561625], al
lea rax, [0x140561610]
pop rbx
ret
mov eax, dword [0x1405aab00]
mov ecx, dword [0x1405619ac]
neg ecx
add ecx, eax
inc ecx
imul ecx, eax
test cl, 1
je 0x140288db3
nop word cs:[rax + rax]
mov eax, dword [0x1405aab00]
lea ecx, [rax - 1]
imul ecx, eax
test cl, 1
jne 0x140288da0
jmp 0x140288d79
test edx, edx
je 0x140288e6e
movzx eax, byte [0x1405614b0]
cmp al, 0xc4
je 0x140288f53
mov cl, 0x98
mov edx, 0xe0bbf7ef
lea rax, [fcn.140288c80]
lea r8d, [rax + rax]
add r8d, 0x460
mov r9d, r8d
not r9d
nop dword [rax]
mov eax, dword [0x1405aab00]
lea r10d, [rax - 1]
imul r10d, eax
test r10b, 1
jne 0x140288e30
nop word cs:[rax + rax]
mov al, 0x32
lock cmpxchg byte [0x1405614b0], cl
sete r10b
cmp dword [0x1405a9bc4], 0
je 0x140288e60
nop word [rax + rax]
mov al, 0x32
lock cmpxchg byte [0x1405614b0], cl
mov eax, dword [0x1405619ac]
add eax, edx
mov r10d, r8d
xor r10d, eax
not eax
and eax, r9d
or eax, r10d
cmp eax, 0xffffffff
jne 0x140288e30
jmp 0x140288e10
test r10b, r10b
jne 0x140288e99
cmp al, 0xc4
jne 0x140288df0
jmp 0x140288f53
movzx eax, byte [0x1405614d4]
cmp al, 0xff
je 0x140288fb1
mov cl, 0xfe
nop
mov al, 0x80
lock cmpxchg byte [0x1405614d4], cl
je 0x140288f5c
cmp al, 0xff
jne 0x140288e80
jmp 0x140288fb1
xor edx, edx
mov r8d, 1
lea r9, [0x1405614a0]
lea r10, [0x140470b50]
xor r11d, r11d
nop word cs:[rax + rax]
mov eax, dword [0x1405aab00]
mov ecx, dword [0x1405619ac]
add ecx, eax
inc ecx
imul ecx, eax
test cl, 1
jne 0x140288efa
nop dword [rax + rax]
movzx eax, byte [rdx + r10]
add byte [rdx + r9], al
mov eax, dword [0x1405aab00]
lea ecx, [rax - 1]
imul ecx, eax
test cl, 1
je 0x140288f20
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 0x140288ee0
lea eax, [rdx + 1]
cmp eax, 0xf
jg 0x140288f40
dec r11d
add r8d, 0xfffffffe
inc rdx
jmp 0x140288ec0
mov eax, dword [0x1405aab04]
cmp eax, 0xf
jg 0x140288f40
mov al, 0xc4
xchg byte [0x1405614b0], al
lea rax, [0x1405614a0]
pop rbx
ret
xor r8d, r8d
lea rax, [0x1405614d0]
lea rcx, [0x140470b70]
mov edx, 0xe0bbf7ef
nop word cs:[rax + rax]
movsxd r8, r8d
movzx r9d, byte [r8 + rcx]
add byte [r8 + rax], r9b
mov r9d, dword [0x1405619ac]
add r9d, edx
mov r10d, r8d
xor r10d, r9d
and r9d, r8d
lea r8d, [r10 + r9*2]
cmp r8d, 4
jl 0x140288f80
mov al, 0xff
xchg byte [0x1405614d4], al
lea rax, [0x1405614d0]
pop rbx
ret