Function at 0x200f3cd0
Capabilities:
Encode data using xor

Disassembly:
test ecx, ecx
je 0x200f3d0c
test edx, edx
je 0x200f3d4c
test r8d, r8d
je 0x200f3d8c
movzx eax, byte [0x2044b106]
cmp al, 0xd
je 0x200f3d04
mov cl, 0x44
nop
mov al, 0x42
lock cmpxchg byte [0x2044b106], cl
je 0x200f3e69
cmp al, 0xd
jne 0x200f3cf0
lea rax, [0x2044b0e0]
ret
test edx, edx
je 0x200f3dbc
test r8d, r8d
je 0x200f3dfc
movzx eax, byte [0x2044b083]
cmp al, 0x84
je 0x200f3d44
mov cl, 0x29
nop word [rax + rax]
mov al, 0x40
lock cmpxchg byte [0x2044b083], cl
je 0x200f3f09
cmp al, 0x84
jne 0x200f3d30
lea rax, [0x2044b080]
ret
test r8d, r8d
je 0x200f3e2c
test r9d, r9d
je 0x200f3ea1
movzx eax, byte [0x2044b122]
cmp al, 0xbc
je 0x200f3d84
mov cl, 0xad
nop dword [rax + rax]
mov al, 0xd8
lock cmpxchg byte [0x2044b122], cl
je 0x200f3fb9
cmp al, 0xbc
jne 0x200f3d70
lea rax, [0x2044b120]
ret
movzx eax, byte [0x2044b1ad]
cmp al, 0xf
je 0x200f3db4
mov cl, 0x6e
nop dword [rax]
mov al, 0xba
lock cmpxchg byte [0x2044b1ad], cl
je 0x200f3f41
cmp al, 0xf
jne 0x200f3da0
lea rax, [0x2044b1a0]
ret
test r8d, r8d
je 0x200f3ed9
movzx eax, byte [0x2044b1dd]
cmp al, 0x35
je 0x200f3df4
mov cl, 0x16
nop word cs:[rax + rax]
mov al, 0xe
lock cmpxchg byte [0x2044b1dd], cl
je 0x200f3ff1
cmp al, 0x35
jne 0x200f3de0
lea rax, [0x2044b1d0]
ret
movzx eax, byte [0x2044b06c]
cmp al, 0x55
je 0x200f3e24
mov cl, 0xf8
nop dword [rax]
mov al, 0x5d
lock cmpxchg byte [0x2044b06c], cl
je 0x200f4031
cmp al, 0x55
jne 0x200f3e10
lea rax, [0x2044b050]
ret
test r9d, r9d
je 0x200f3f81
movzx eax, byte [0x2044b163]
cmp al, 0x13
je 0x200f40a9
mov cl, 0x25
nop word cs:[rax + rax]
mov al, 0x2f
lock cmpxchg byte [0x2044b163], cl
je 0x200f4071
cmp al, 0x13
jne 0x200f3e50
jmp 0x200f40a9
xor eax, eax
lea rcx, [0x2044b0e0]
lea rdx, [0x20370fd0]
nop dword [rax]
movzx r8d, byte [rax + rdx]
add byte [rax + rcx], r8b
inc rax
cmp eax, 0x26
jl 0x200f3e80
mov al, 0xd
xchg byte [0x2044b106], al
lea rax, [0x2044b0e0]
ret
movzx eax, byte [0x2044b0cb]
cmp al, 0xab
je 0x200f40e9
mov cl, 0x2c
nop word cs:[rax + rax]
mov al, 0xba
lock cmpxchg byte [0x2044b0cb], cl
je 0x200f40b1
cmp al, 0xab
jne 0x200f3ec0
jmp 0x200f40e9
movzx eax, byte [0x2044b1c2]
cmp al, 0x6a
je 0x200f4129
mov cl, 0xa2
nop word [rax + rax]
mov al, 0xdd
lock cmpxchg byte [0x2044b1c2], cl
je 0x200f40f1
cmp al, 0x6a
jne 0x200f3ef0
jmp 0x200f4129
xor eax, eax
lea rcx, [0x2044b080]
lea rdx, [0x20370f70]
nop dword [rax]
movzx r8d, byte [rax + rdx]
add byte [rax + rcx], r8b
inc rax
cmp eax, 3
jl 0x200f3f20
mov al, 0x84
xchg byte [0x2044b083], al
lea rax, [0x2044b080]
ret
xor eax, eax
lea rcx, [0x2044b1a0]
lea rdx, [0x20371080]
nop word cs:[rax + rax]
movzx r8d, byte [rax + rdx]
xor byte [rax + rcx], r8b
inc rax
cmp eax, 0xd
jl 0x200f3f60
mov al, 0xf
xchg byte [0x2044b1ad], al
lea rax, [0x2044b1a0]
ret
movzx eax, byte [0x2044b075]
cmp al, 0x69
je 0x200f4169
mov cl, 0x4d
nop word cs:[rax + rax]
mov al, 0x3c
lock cmpxchg byte [0x2044b075], cl
je 0x200f4131
cmp al, 0x69
jne 0x200f3fa0
jmp 0x200f4169
xor eax, eax
lea rcx, [0x2044b120]
lea rdx, [0x20371010]
nop dword [rax]
movzx r8d, byte [rax + rdx]
xor byte [rax + rcx], r8b
inc rax
cmp eax, 2
jl 0x200f3fd0
mov al, 0xbc
xchg byte [0x2044b122], al
lea rax, [0x2044b120]
ret
xor eax, eax
lea rcx, [0x2044b1d0]
lea rdx, [0x203710b0]
nop word cs:[rax + rax]
movzx r8d, byte [rax + rdx]
xor byte [rax + rcx], r8b
inc rax
cmp eax, 0xd
jl 0x200f4010
mov al, 0x35
xchg byte [0x2044b1dd], al
lea rax, [0x2044b1d0]
ret
xor eax, eax
lea rcx, [0x2044b050]
lea rdx, [0x20370f40]
nop word cs:[rax + rax]
movzx r8d, byte [rax + rdx]
add byte [rax + rcx], r8b
inc rax
cmp eax, 0x1c
jl 0x200f4050
mov al, 0x55
xchg byte [0x2044b06c], al
lea rax, [0x2044b050]
ret
xor eax, eax
lea rcx, [0x2044b150]
lea rdx, [0x20371040]
nop word cs:[rax + rax]
movzx r8d, byte [rax + rdx]
xor byte [rax + rcx], r8b
inc rax
cmp eax, 0x13
jl 0x200f4090
mov al, 0x13
xchg byte [0x2044b163], al
lea rax, [0x2044b150]
ret
xor eax, eax
lea rcx, [0x2044b0c0]
lea rdx, [0x20370fb0]
nop word cs:[rax + rax]
movzx r8d, byte [rax + rdx]
xor byte [rax + rcx], r8b
inc rax
cmp eax, 0xb
jl 0x200f40d0
mov al, 0xab
xchg byte [0x2044b0cb], al
lea rax, [0x2044b0c0]
ret
xor eax, eax
lea rcx, [0x2044b1b0]
lea rdx, [0x20371090]
nop word cs:[rax + rax]
movzx r8d, byte [rax + rdx]
xor byte [rax + rcx], r8b
inc rax
cmp eax, 0x12
jl 0x200f4110
mov al, 0x6a
xchg byte [0x2044b1c2], al
lea rax, [0x2044b1b0]
ret
xor eax, eax
lea rcx, [0x2044b070]
lea rdx, [0x20370f60]
nop word cs:[rax + rax]
movzx r8d, byte [rax + rdx]
xor byte [rax + rcx], r8b
inc rax
cmp eax, 5
jl 0x200f4150
mov al, 0x69
xchg byte [0x2044b075], al
lea rax, [0x2044b070]
ret