Function at 0x200f3910
Capabilities:
Encode data using xor

Disassembly:
test ecx, ecx
je 0x200f394c
test edx, edx
je 0x200f398c
test r8d, r8d
je 0x200f39cc
movzx eax, byte [0x2044b17d]
cmp al, 0x82
je 0x200f3944
mov cl, 0x3d
nop
mov al, 0xf6
lock cmpxchg byte [0x2044b17d], cl
je 0x200f3a9c
cmp al, 0x82
jne 0x200f3930
lea rax, [0x2044b170]
ret
test edx, edx
je 0x200f39fc
test r8d, r8d
je 0x200f3a3c
movzx eax, byte [0x2044b190]
cmp al, 0xe9
je 0x200f3984
mov cl, 0x84
nop word [rax + rax]
mov al, 0x7d
lock cmpxchg byte [0x2044b190], cl
je 0x200f3b09
cmp al, 0xe9
jne 0x200f3970
lea rax, [0x2044b180]
ret
test r8d, r8d
je 0x200f3a6c
movzx eax, byte [0x2044b0b3]
cmp al, 8
je 0x200f39c4
mov cl, 0x1e
nop word cs:[rax + rax]
mov al, 0xe9
lock cmpxchg byte [0x2044b0b3], cl
je 0x200f3b41
cmp al, 8
jne 0x200f39b0
lea rax, [0x2044b090]
ret
movzx eax, byte [0x2044b0df]
cmp al, 0xe1
je 0x200f39f4
mov cl, 0x22
nop dword [rax]
mov al, 0x9c
lock cmpxchg byte [0x2044b0df], cl
je 0x200f3b81
cmp al, 0xe1
jne 0x200f39e0
lea rax, [0x2044b0d0]
ret
test r8d, r8d
je 0x200f3ad1
movzx eax, byte [0x2044b1f2]
cmp al, 0x67
je 0x200f3a34
mov cl, 0xd3
nop word cs:[rax + rax]
mov al, 0xd4
lock cmpxchg byte [0x2044b1f2], cl
je 0x200f3bc1
cmp al, 0x67
jne 0x200f3a20
lea rax, [0x2044b1e0]
ret
movzx eax, byte [0x2044b14d]
cmp al, 0x52
je 0x200f3a64
mov cl, 0x3b
nop dword [rax]
mov al, 0xe0
lock cmpxchg byte [0x2044b14d], cl
je 0x200f3c01
cmp al, 0x52
jne 0x200f3a50
lea rax, [0x2044b140]
ret
movzx eax, byte [0x2044b112]
cmp al, 0x9f
je 0x200f3a94
mov cl, 0x67
nop dword [rax]
mov al, 0xd7
lock cmpxchg byte [0x2044b112], cl
je 0x200f3c41
cmp al, 0x9f
jne 0x200f3a80
lea rax, [0x2044b110]
ret
xor eax, eax
lea rcx, [0x2044b170]
lea rdx, [0x20371060]
nop dword [rax]
movzx r8d, byte [rax + rdx]
add byte [rax + rcx], r8b
inc rax
cmp eax, 0xd
jl 0x200f3ab0
mov al, 0x82
xchg byte [0x2044b17d], al
lea rax, [0x2044b170]
ret
movzx eax, byte [0x2044b13b]
cmp al, 0xeb
je 0x200f3cb9
mov cl, 0xd2
nop word cs:[rax + rax]
mov al, 0xbb
lock cmpxchg byte [0x2044b13b], cl
je 0x200f3c81
cmp al, 0xeb
jne 0x200f3af0
jmp 0x200f3cb9
xor eax, eax
lea rcx, [0x2044b180]
lea rdx, [0x20371070]
nop dword [rax]
movzx r8d, byte [rax + rdx]
add byte [rax + rcx], r8b
inc rax
cmp eax, 0x10
jl 0x200f3b20
mov al, 0xe9
xchg byte [0x2044b190], al
lea rax, [0x2044b180]
ret
xor eax, eax
lea rcx, [0x2044b090]
lea rdx, [0x20370f80]
nop word cs:[rax + rax]
movzx r8d, byte [rax + rdx]
add byte [rax + rcx], r8b
inc rax
cmp eax, 0x23
jl 0x200f3b60
mov al, 8
xchg byte [0x2044b0b3], al
lea rax, [0x2044b090]
ret
xor eax, eax
lea rcx, [0x2044b0d0]
lea rdx, [0x20370fc0]
nop word cs:[rax + rax]
movzx r8d, byte [rax + rdx]
add byte [rax + rcx], r8b
inc rax
cmp eax, 0xf
jl 0x200f3ba0
mov al, 0xe1
xchg byte [0x2044b0df], al
lea rax, [0x2044b0d0]
ret
xor eax, eax
lea rcx, [0x2044b1e0]
lea rdx, [0x203710c0]
nop word cs:[rax + rax]
movzx r8d, byte [rax + rdx]
add byte [rax + rcx], r8b
inc rax
cmp eax, 0x12
jl 0x200f3be0
mov al, 0x67
xchg byte [0x2044b1f2], al
lea rax, [0x2044b1e0]
ret
xor eax, eax
lea rcx, [0x2044b140]
lea rdx, [0x20371030]
nop word cs:[rax + rax]
movzx r8d, byte [rax + rdx]
xor byte [rax + rcx], r8b
inc rax
cmp eax, 0xd
jl 0x200f3c20
mov al, 0x52
xchg byte [0x2044b14d], al
lea rax, [0x2044b140]
ret
xor eax, eax
lea rcx, [0x2044b110]
lea rdx, [0x20371000]
nop word cs:[rax + rax]
movzx r8d, byte [rax + rdx]
xor byte [rax + rcx], r8b
inc rax
cmp eax, 2
jl 0x200f3c60
mov al, 0x9f
xchg byte [0x2044b112], al
lea rax, [0x2044b110]
ret
xor eax, eax
lea rcx, [0x2044b130]
lea rdx, [0x20371020]
nop word cs:[rax + rax]
movzx r8d, byte [rax + rdx]
xor byte [rax + rcx], r8b
inc rax
cmp eax, 0xb
jl 0x200f3ca0
mov al, 0xeb
xchg byte [0x2044b13b], al
lea rax, [0x2044b130]
ret