Function at 0x203eab60
Capabilities:
Encode data using xor

Disassembly:
test ecx, ecx
je 0x203eabac
mov eax, dword [0x205a1ff8]
mov ecx, eax
xor ecx, 0x3fa6f791
and eax, 0x3fa6f791
lea eax, [rcx + rax*2]
cmp edx, eax
jne 0x203eabec
movzx eax, byte [0x205a1fe9]
cmp al, 0xc2
je 0x203eaba4
mov cl, 0xaf
nop dword [rax + rax]
mov al, 0x93
lock cmpxchg byte [0x205a1fe9], cl
je 0x203eac49
cmp al, 0xc2
jne 0x203eab90
lea rax, [0x205a1fe0]
ret
mov eax, 0x3fa6f791
add eax, dword [0x205a1ff8]
cmp edx, eax
jne 0x203eac1f
movzx eax, byte [0x205a1efd]
cmp al, 0x7d
je 0x203eabe4
mov cl, 0x2a
nop dword [rax + rax]
mov al, 0x3e
lock cmpxchg byte [0x205a1efd], cl
je 0x203eacf2
cmp al, 0x7d
jne 0x203eabd0
lea rax, [0x205a1ef0]
ret
mov ecx, dword [0x205b70f0]
mov r8d, dword [0x205a1ff8]
mov eax, ecx
sub eax, r8d
add eax, 0xc059086e
imul eax, ecx
add r8d, 0x3fa6f793
xor edx, edx
div r8d
test edx, edx
jne 0x203eadef
jmp 0x203eaddd
movzx eax, byte [0x205a1f8a]
cmp al, 0x21
je 0x203eadd5
mov cl, 0xd1
mov al, 0xfe
lock cmpxchg byte [0x205a1f8a], cl
je 0x203ead41
cmp al, 0x21
jne 0x203eac30
jmp 0x203eadd5
xor eax, eax
lea rcx, [0x205a1fe0]
lea rdx, [0x20495010]
nop dword [rax]
movzx r8d, byte [rax + rdx]
add byte [rax + rcx], r8b
lea r8d, [rax + 1]
cmp r8d, 8
jg 0x203eac80
inc rax
jmp 0x203eac60
mov eax, dword [0x205b70f4]
cmp eax, 0x5b
jle 0x203eacca
mov ecx, dword [0x205b70f0]
mov r8d, dword [0x205a1ff8]
mov eax, ecx
sub eax, r8d
add eax, 0xc059086e
imul eax, ecx
mov ecx, r8d
xor ecx, 0x3fa6f793
mov edx, r8d
and edx, 0x3fa6f793
lea ecx, [rcx + rdx*2]
xor edx, edx
div ecx
add r8d, 0x3fa6f791
cmp edx, r8d
jne 0x203eac80
mov eax, dword [0x205b70f0]
lea ecx, [rax - 1]
imul ecx, eax
test cl, 1
jne 0x203eac8b
movzx eax, byte [0x205a1ffc]
add al, 0x72
xchg byte [0x205a1fe9], al
lea rax, [0x205a1fe0]
ret
xor eax, eax
lea rcx, [0x205a1ef0]
lea rdx, [0x20494f20]
mov r8d, 0x3fa6f79e
nop dword [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 [0x205a1ff8]
add r10d, r8d
cmp r9d, r10d
jge 0x203ead92
inc rax
jmp 0x203ead10
xor edx, edx
lea rax, [0x205a1f70]
lea rcx, [0x20494fa0]
nop word cs:[rax + rax]
movsxd rdx, edx
movzx r8d, byte [rdx + rcx]
xor byte [rdx + rax], r8b
mov r8d, edx
xor r8d, 1
and edx, 1
lea edx, [r8 + rdx*2]
cmp edx, 0x1a
jl 0x203ead60
mov eax, dword [0x205b70f0]
lea ecx, [rax + 1]
imul ecx, eax
test cl, 1
jne 0x203eadc0
jmp 0x203eada2
mov al, 0x7d
xchg byte [0x205a1efd], al
lea rax, [0x205a1ef0]
ret
mov al, 0x21
xchg byte [0x205a1f8a], al
mov eax, dword [0x205b70f0]
lea ecx, [rax - 1]
imul ecx, eax
test cl, 1
je 0x203eadd5
nop dword [rax + rax]
mov al, 0x21
xchg byte [0x205a1f8a], al
mov eax, dword [0x205b70f4]
cmp eax, 0x42
jge 0x203eadc0
jmp 0x203eada2
lea rax, [0x205a1f70]
ret
movzx eax, byte [0x205a1fdf]
mov ecx, dword [0x205b70f4]
cmp ecx, 0x14
jle 0x203eadf8
movzx eax, byte [0x205a1fdf]
jmp 0x203eaddd
cmp al, 0x22
je 0x203eae2e
nop dword [rax]
movzx ecx, byte [0x205a1ffc]
lea eax, [rcx + 0x7c]
add cl, 0x53
lock cmpxchg byte [0x205a1fdf], cl
je 0x203eae36
movzx ecx, byte [0x205a1ffc]
mov edx, ecx
xor dl, 0xd2
and cl, 0x52
add cl, cl
add cl, dl
cmp al, cl
jne 0x203eae00
lea rax, [0x205a1fd0]
ret
xor eax, eax
lea rcx, [0x205a1fd0]
lea rdx, [0x20495000]
mov r8d, 0x3fa6f7a0
nop dword [rax]
movzx r9d, byte [rax + rdx]
add byte [rax + rcx], r9b
lea r9d, [rax + 1]
mov r10d, dword [0x205a1ff8]
add r10d, r8d
cmp r9d, r10d
jge 0x203eae71
inc rax
jmp 0x203eae50
mov eax, dword [0x205b70f0]
lea ecx, [rax + 1]
imul ecx, eax
test cl, 1
jne 0x203eae93
mov eax, dword [0x205b70f0]
lea ecx, [rax + 1]
imul ecx, eax
test cl, 1
je 0x203eaebe
mov eax, 0x3fa6f792
lea rcx, [fcn.203eab60]
add ecx, ecx
add ecx, 0x1b40
nop word [rax + rax]
mov edx, dword [0x205a1ff8]
add edx, eax
test ecx, edx
jne 0x203eaeb0
jmp 0x203eae82
mov al, 0x22
xchg byte [0x205a1fdf], al
lea rax, [0x205a1fd0]
ret