Function at 0x202f4e20
Capabilities:
Encode data using xor

Disassembly:
test ecx, ecx
je 0x202f4e5c
test edx, edx
je 0x202f4e9c
test r8d, r8d
je 0x202f4edc
movzx eax, byte [0x20490414]
cmp al, 0xe3
je 0x202f4e54
mov cl, 0xc5
nop
mov al, 0x99
lock cmpxchg byte [0x20490414], cl
je 0x202f4fac
cmp al, 0xe3
jne 0x202f4e40
lea rax, [0x204903d0]
ret
test edx, edx
je 0x202f4f0c
test r8d, r8d
je 0x202f4f4c
movzx eax, byte [0x20490ca5]
cmp al, 0xb
je 0x202f4e94
mov cl, 0xfe
nop word [rax + rax]
mov al, 0x47
lock cmpxchg byte [0x20490ca5], cl
je 0x202f5019
cmp al, 0xb
jne 0x202f4e80
lea rax, [0x20490ca0]
ret
test r8d, r8d
je 0x202f4f7c
movzx eax, byte [0x20490926]
cmp al, 0xf9
je 0x202f4ed4
mov cl, 0xfc
nop word cs:[rax + rax]
mov al, 3
lock cmpxchg byte [0x20490926], cl
je 0x202f5051
cmp al, 0xf9
jne 0x202f4ec0
lea rax, [0x204908e0]
ret
movzx eax, byte [0x20490c72]
cmp al, 0x2a
je 0x202f4f04
mov cl, 0x27
nop dword [rax]
mov al, 0xdb
lock cmpxchg byte [0x20490c72], cl
je 0x202f5091
cmp al, 0x2a
jne 0x202f4ef0
lea rax, [0x20490c00]
ret
test r8d, r8d
je 0x202f4fe1
movzx eax, byte [0x20490bf6]
cmp al, 0xc0
je 0x202f4f44
mov cl, 0xf7
nop word cs:[rax + rax]
mov al, 0x84
lock cmpxchg byte [0x20490bf6], cl
je 0x202f50d1
cmp al, 0xc0
jne 0x202f4f30
lea rax, [0x20490ba0]
ret
movzx eax, byte [0x204902ae]
cmp al, 0x5e
je 0x202f4f74
mov cl, 0x16
nop dword [rax]
mov al, 0x43
lock cmpxchg byte [0x204902ae], cl
je 0x202f5111
cmp al, 0x5e
jne 0x202f4f60
lea rax, [0x20490230]
ret
movzx eax, byte [0x20490084]
cmp al, 0xe5
je 0x202f4fa4
mov cl, 0xac
nop dword [rax]
mov al, 0x85
lock cmpxchg byte [0x20490084], cl
je 0x202f5151
cmp al, 0xe5
jne 0x202f4f90
lea rax, [0x20490050]
ret
xor eax, eax
lea rcx, [0x204903d0]
lea rdx, [0x2039ce20]
nop dword [rax]
movzx r8d, byte [rax + rdx]
xor byte [rax + rcx], r8b
inc rax
cmp eax, 0x44
jl 0x202f4fc0
mov al, 0xe3
xchg byte [0x20490414], al
lea rax, [0x204903d0]
ret
movzx eax, byte [0x20490ce3]
cmp al, 3
je 0x202f51c9
mov cl, 0x4e
nop word cs:[rax + rax]
mov al, 0x25
lock cmpxchg byte [0x20490ce3], cl
je 0x202f5191
cmp al, 3
jne 0x202f5000
jmp 0x202f51c9
xor eax, eax
lea rcx, [0x20490ca0]
lea rdx, [0x2039d6e0]
nop dword [rax]
movzx r8d, byte [rax + rdx]
xor byte [rax + rcx], r8b
inc rax
cmp eax, 5
jl 0x202f5030
mov al, 0xb
xchg byte [0x20490ca5], al
lea rax, [0x20490ca0]
ret
xor eax, eax
lea rcx, [0x204908e0]
lea rdx, [0x2039d330]
nop word cs:[rax + rax]
movzx r8d, byte [rax + rdx]
add byte [rax + rcx], r8b
inc rax
cmp eax, 0x46
jl 0x202f5070
mov al, 0xf9
xchg byte [0x20490926], al
lea rax, [0x204908e0]
ret
xor eax, eax
lea rcx, [0x20490c00]
lea rdx, [0x2039d640]
nop word cs:[rax + rax]
movzx r8d, byte [rax + rdx]
add byte [rax + rcx], r8b
inc rax
cmp eax, 0x72
jl 0x202f50b0
mov al, 0x2a
xchg byte [0x20490c72], al
lea rax, [0x20490c00]
ret
xor eax, eax
lea rcx, [0x20490ba0]
lea rdx, [0x2039d5e0]
nop word cs:[rax + rax]
movzx r8d, byte [rax + rdx]
xor byte [rax + rcx], r8b
inc rax
cmp eax, 0x56
jl 0x202f50f0
mov al, 0xc0
xchg byte [0x20490bf6], al
lea rax, [0x20490ba0]
ret
xor eax, eax
lea rcx, [0x20490230]
lea rdx, [0x2039cc80]
nop word cs:[rax + rax]
movzx r8d, byte [rax + rdx]
add byte [rax + rcx], r8b
inc rax
cmp eax, 0x7e
jl 0x202f5130
mov al, 0x5e
xchg byte [0x204902ae], al
lea rax, [0x20490230]
ret
xor eax, eax
lea rcx, [0x20490050]
lea rdx, [0x2039caa0]
nop word cs:[rax + rax]
movzx r8d, byte [rax + rdx]
xor byte [rax + rcx], r8b
inc rax
cmp eax, 0x34
jl 0x202f5170
mov al, 0xe5
xchg byte [0x20490084], al
lea rax, [0x20490050]
ret
xor eax, eax
lea rcx, [0x20490cc0]
lea rdx, [0x2039d700]
nop word cs:[rax + rax]
movzx r8d, byte [rax + rdx]
xor byte [rax + rcx], r8b
inc rax
cmp eax, 0x23
jl 0x202f51b0
mov al, 3
xchg byte [0x20490ce3], al
lea rax, [0x20490cc0]
ret