Function at 0x1401e8a90
Capabilities:
Encode data using xor

Disassembly:
test ecx, ecx
je 0x1401e8ac9
test edx, edx
je 0x1401e8afc
movzx eax, byte [0x140573b00]
cmp al, 0x39
je 0x1401e8c61
mov cl, 0xc6
nop dword [rax]
mov al, 0xb8
lock cmpxchg byte [0x140573b00], cl
je 0x1401e8bcc
cmp al, 0x39
jne 0x1401e8ab0
jmp 0x1401e8c61
test edx, edx
je 0x1401e8b96
movzx eax, byte [0x140573bb3]
cmp al, 0x28
je 0x1401e8af4
mov cl, 0xd7
nop
mov al, 6
lock cmpxchg byte [0x140573bb3], cl
je 0x1401e8c94
cmp al, 0x28
jne 0x1401e8ae0
lea rax, [0x140573bb0]
ret
movzx eax, byte [0x140573be3]
cmp al, 0x5a
je 0x1401e8d37
lea rax, [fcn.1401e8a90]
lea ecx, [rax + rax]
add ecx, 0x160
jmp 0x1401e8b28
cmp al, 0x5a
je 0x1401e8d37
movzx edx, byte [0x140574228]
lea eax, [rdx - 0x4b]
add dl, 0xee
lock cmpxchg byte [0x140573be3], dl
je 0x1401e8ce1
mov edx, dword [0x14057422c]
mov r8d, edx
xor r8d, 0x5371fd6b
and edx, 0x5371fd6b
lea edx, [r8 + rdx*2]
test ecx, edx
jne 0x1401e8b80
nop word cs:[rax + rax]
mov edx, dword [0x1405d0f34]
cmp edx, 0x3a
jl 0x1401e8b20
nop dword [rax + rax]
mov edx, dword [0x1405d0f30]
lea r8d, [rdx + 1]
imul r8d, edx
test r8b, 1
jne 0x1401e8b80
jmp 0x1401e8b70
movzx eax, byte [0x140573ae5]
cmp al, 0x9a
je 0x1401e8bc4
mov cl, 0x73
nop word cs:[rax + rax]
mov al, 0xa3
lock cmpxchg byte [0x140573ae5], cl
je 0x1401e8d3f
cmp al, 0x9a
jne 0x1401e8bb0
lea rax, [0x140573ae0]
ret
xor eax, eax
lea rcx, [0x140573af0]
lea rdx, [0x1404905f0]
xor r8d, r8d
xor r9d, r9d
test al, al
jne 0x1401e8c1b
nop word cs:[rax + rax]
movzx r10d, byte [r9 + rdx]
add byte [r9 + rcx], r10b
mov r10d, dword [0x1405d0f34]
cmp r10d, 0xc
jg 0x1401e8c1b
lea r10d, [r9 + 1]
cmp r10d, 0xf
jg 0x1401e8c2a
inc r9
add r8d, 4
test al, al
je 0x1401e8bf0
movzx r10d, byte [r9 + rdx]
sub r10b, byte [r9 + rcx]
mov byte [r9 + rcx], r10b
jmp 0x1401e8bf0
xor eax, eax
nop dword [rax]
mov ecx, dword [0x1405d0f30]
mov edx, dword [0x14057422c]
add edx, ecx
dec edx
imul edx, ecx
test dl, 1
jne 0x1401e8c4c
test al, al
je 0x1401e8c59
mov ecx, dword [0x1405d0f34]
cmp ecx, 0x1f
jge 0x1401e8c30
jmp 0x1401e8c48
mov al, 0x39
xchg byte [0x140573b00], al
mov ecx, dword [0x1405d0f30]
mov r8d, dword [0x14057422c]
mov eax, ecx
sub eax, r8d
add eax, 0xac8e0295
imul eax, ecx
add r8d, 0x5371fd6c
xor edx, edx
div r8d
test edx, edx
jne 0x1401e8e30
jmp 0x1401e8e1b
xor eax, eax
lea rcx, [0x140573bb0]
lea rdx, [0x140490690]
mov r8d, 0x5371fd6d
nop word [rax + rax]
movzx r9d, byte [rax + rdx]
mov r10d, r9d
xor r10b, r9b
not r10b
and r10b, byte [rax + rcx]
xor r10b, r9b
mov byte [rax + rcx], r10b
lea r9d, [rax + 1]
mov r10d, dword [0x14057422c]
add r10d, r8d
cmp r9d, r10d
jge 0x1401e8d18
inc rax
jmp 0x1401e8cb0
xor eax, eax
lea rcx, [0x140573bc0]
lea rdx, [0x1404906a0]
nop word cs:[rax + rax]
movzx r8d, byte [rax + rdx]
xor byte [rax + rcx], r8b
lea r8d, [rax + 1]
cmp r8d, 0x22
jg 0x1401e8d28
inc rax
jmp 0x1401e8d00
mov al, 0x28
xchg byte [0x140573bb3], al
lea rax, [0x140573bb0]
ret
movzx eax, byte [0x140574228]
add al, 0x60
xchg byte [0x140573be3], al
lea rax, [0x140573bc0]
ret
xor edx, edx
lea rax, [0x140573ae0]
lea rcx, [0x1404905e0]
nop
movsxd rdx, edx
movzx r8d, byte [rdx + rcx]
mov r9d, r8d
xor r9b, r8b
not r9b
and r9b, byte [rdx + rax]
xor r9b, r8b
mov byte [rdx + rax], r9b
mov r8d, dword [0x14057422c]
add edx, r8d
add edx, 0x5371fd6b
cmp edx, 5
jl 0x1401e8d50
lea rax, [fcn.1401e8a90]
add eax, eax
add eax, 0x2900
nop
mov ecx, dword [0x1405d0f34]
cmp ecx, 0x34
jle 0x1401e8dbc
nop dword [rax + rax]
mov ecx, dword [0x14057422c]
lea edx, [rcx + 0x5371fd6b]
xor edx, eax
not edx
and edx, eax
add ecx, 0x5371fd6a
cmp edx, ecx
jne 0x1401e8d90
mov ecx, dword [0x1405d0f34]
cmp ecx, 0xf
jg 0x1401e8da0
mov ecx, 0x5371fd6c
nop dword [rax]
mov edx, dword [0x1405d0f30]
lea eax, [rdx - 1]
imul eax, edx
mov r8d, dword [0x14057422c]
add r8d, ecx
xor edx, edx
div r8d
test edx, edx
jne 0x1401e8e06
mov al, 0x9a
xchg byte [0x140573ae5], al
mov eax, dword [0x1405d0f34]
cmp eax, 0x41
jle 0x1401e8bc4
mov al, 0x9a
xchg byte [0x140573ae5], al
mov eax, dword [0x1405d0f34]
cmp eax, 0xd
jge 0x1401e8dd0
jmp 0x1401e8def
mov eax, dword [0x1405d0f34]
mov ecx, 0x5371fdb8
add ecx, dword [0x14057422c]
cmp eax, ecx
jl 0x1401e8e71
mov eax, 0x5371fd6b
lea rcx, [fcn.1401e8a90]
add ecx, ecx
add ecx, 0x29e0
mov edx, ecx
not edx
nop dword [rax + rax]
mov r8d, dword [0x14057422c]
add r8d, eax
mov r9d, ecx
xor r9d, r8d
not r8d
and r8d, edx
or r8d, r9d
cmp r8d, 0xffffffff
jne 0x1401e8e50
jmp 0x1401e8e1b
lea rax, [0x140573af0]
ret