Function at 0x20181f60
Capabilities:
Encode data using xor

Disassembly:
test ecx, ecx
je 0x20181f9c
test edx, edx
je 0x20181fdc
test r8d, r8d
je 0x2018201c
movzx eax, byte [0x203ca7a3]
cmp al, 0x54
je 0x20181f94
mov cl, 0x28
nop
mov al, 0x86
lock cmpxchg byte [0x203ca7a3], cl
je 0x201820bc
cmp al, 0x54
jne 0x20181f80
lea rax, [0x203ca790]
ret
test edx, edx
je 0x2018204c
movzx eax, byte [0x203ca9ad]
cmp al, 0xaf
je 0x20181fd4
mov cl, 0x19
nop word cs:[rax + rax]
mov al, 0xb4
lock cmpxchg byte [0x203ca9ad], cl
je 0x201820f1
cmp al, 0xaf
jne 0x20181fc0
lea rax, [0x203ca9a0]
ret
test r8d, r8d
je 0x2018208c
movzx eax, byte [0x203ca9c4]
cmp al, 0x65
je 0x20182014
mov cl, 0x83
nop word cs:[rax + rax]
mov al, 0x7a
lock cmpxchg byte [0x203ca9c4], cl
je 0x20182169
cmp al, 0x65
jne 0x20182000
lea rax, [0x203ca9b0]
ret
movzx eax, byte [0x203ca755]
cmp al, 0x82
je 0x20182044
mov cl, 0xff
nop dword [rax]
mov al, 0xd
lock cmpxchg byte [0x203ca755], cl
je 0x201821a1
cmp al, 0x82
jne 0x20182030
lea rax, [0x203ca740]
ret
test r8d, r8d
je 0x20182131
movzx eax, byte [0x20402350]
cmp al, 0x65
je 0x20182084
mov cl, 0xe2
nop word cs:[rax + rax]
xor eax, eax
lock cmpxchg byte [0x20402350], cl
je 0x201821e1
cmp al, 0x65
jne 0x20182070
lea rax, [0x203ca800]
ret
movzx eax, byte [0x203ca91f]
cmp al, 0x74
je 0x201820b4
mov cl, 0x64
nop dword [rax]
mov al, 0xa
lock cmpxchg byte [0x203ca91f], cl
je 0x20182221
cmp al, 0x74
jne 0x201820a0
lea rax, [0x203ca910]
ret
xor eax, eax
lea rcx, [0x203ca790]
lea rdx, [0x202fbde0]
nop dword [rax]
movzx r8d, byte [rax + rdx]
xor byte [rax + rcx], r8b
inc rax
cmp eax, 0x13
jl 0x201820d0
mov al, 0x54
xchg byte [0x203ca7a3], al
lea rax, [0x203ca790]
ret
xor eax, eax
lea rcx, [0x203ca9a0]
lea rdx, [0x202fbff0]
nop word cs:[rax + rax]
movzx r8d, byte [rax + rdx]
xor byte [rax + rcx], r8b
inc rax
cmp eax, 0xd
jl 0x20182110
mov al, 0xaf
xchg byte [0x203ca9ad], al
lea rax, [0x203ca9a0]
ret
movzx eax, byte [0x203ca9ea]
cmp al, 0x19
je 0x20182299
mov cl, 0xae
nop word cs:[rax + rax]
mov al, 0x94
lock cmpxchg byte [0x203ca9ea], cl
je 0x20182261
cmp al, 0x19
jne 0x20182150
jmp 0x20182299
xor eax, eax
lea rcx, [0x203ca9b0]
lea rdx, [0x202fc000]
nop dword [rax]
movzx r8d, byte [rax + rdx]
add byte [rax + rcx], r8b
inc rax
cmp eax, 0x14
jl 0x20182180
mov al, 0x65
xchg byte [0x203ca9c4], al
lea rax, [0x203ca9b0]
ret
xor eax, eax
lea rcx, [0x203ca740]
lea rdx, [0x202fbd90]
nop word cs:[rax + rax]
movzx r8d, byte [rax + rdx]
add byte [rax + rcx], r8b
inc rax
cmp eax, 0x15
jl 0x201821c0
mov al, 0x82
xchg byte [0x203ca755], al
lea rax, [0x203ca740]
ret
xor eax, eax
lea rcx, [0x203ca800]
lea rdx, [0x202fbe50]
nop word cs:[rax + rax]
movzx r8d, byte [rax + rdx]
xor byte [rax + rcx], r8b
inc rax
cmp eax, 0x1a
jl 0x20182200
mov al, 0x65
xchg byte [0x20402350], al
lea rax, [0x203ca800]
ret
xor eax, eax
lea rcx, [0x203ca910]
lea rdx, [0x202fbf60]
nop word cs:[rax + rax]
movzx r8d, byte [rax + rdx]
xor byte [rax + rcx], r8b
inc rax
cmp eax, 0xf
jl 0x20182240
mov al, 0x74
xchg byte [0x203ca91f], al
lea rax, [0x203ca910]
ret
xor eax, eax
lea rcx, [0x203ca9e0]
lea rdx, [0x202fc030]
nop word cs:[rax + rax]
movzx r8d, byte [rax + rdx]
xor byte [rax + rcx], r8b
inc rax
cmp eax, 0xa
jl 0x20182280
mov al, 0x19
xchg byte [0x203ca9ea], al
lea rax, [0x203ca9e0]
ret