Function at 0x2010ccd0
Capabilities:
Encode data using xor

Disassembly:
test ecx, ecx
je 0x2010cd1c
test edx, edx
je 0x2010cd6c
test r8d, r8d
je 0x2010cdac
movzx eax, byte [0x2044e2e5]
cmp al, 0x10
je 0x2010cd14
mov cl, 0x75
nop word cs:[rax + rax]
mov al, 0x8b
lock cmpxchg byte [0x2044e2e5], cl
je 0x2010ce8c
cmp al, 0x10
jne 0x2010cd00
lea rax, [0x2044e2e0]
ret
test edx, edx
je 0x2010cddc
test r8d, r8d
je 0x2010ce19
test r9d, r9d
je 0x2010cec1
movzx eax, byte [0x2044e3ab]
cmp al, 0x99
je 0x2010cd64
mov cl, 0xf1
nop word cs:[rax + rax]
mov al, 0x70
lock cmpxchg byte [0x2044e3ab], cl
je 0x2010d019
cmp al, 0x99
jne 0x2010cd50
lea rax, [0x2044e3a0]
ret
test r8d, r8d
je 0x2010ce59
movzx eax, byte [0x2044e323]
cmp al, 0x65
je 0x2010cda4
mov cl, 0x58
nop word cs:[rax + rax]
mov al, 0x7a
lock cmpxchg byte [0x2044e323], cl
je 0x2010cf39
cmp al, 0x65
jne 0x2010cd90
lea rax, [0x2044e300]
ret
movzx eax, byte [0x2044e382]
cmp al, 0xc5
je 0x2010cdd4
mov cl, 0x7d
nop dword [rax]
mov al, 0x41
lock cmpxchg byte [0x2044e382], cl
je 0x2010cf71
cmp al, 0xc5
jne 0x2010cdc0
lea rax, [0x2044e380]
ret
test r8d, r8d
je 0x2010cef9
test r9d, r9d
je 0x2010cfb1
movzx eax, byte [0x2044e392]
cmp al, 0x6b
je 0x2010d0e9
mov cl, 5
nop
mov al, 0x9d
lock cmpxchg byte [0x2044e392], cl
je 0x2010d0bb
cmp al, 0x6b
jne 0x2010ce00
jmp 0x2010d0e9
test r9d, r9d
je 0x2010cfe9
movzx eax, byte [0x2044e2f3]
cmp al, 0x7f
je 0x2010d129
mov cl, 0x6c
nop word cs:[rax + rax]
mov al, 0xce
lock cmpxchg byte [0x2044e2f3], cl
je 0x2010d0f1
cmp al, 0x7f
jne 0x2010ce40
jmp 0x2010d129
movzx eax, byte [0x2044e34f]
cmp al, 0x76
je 0x2010ce84
mov cl, 0x15
nop word cs:[rax + rax]
mov al, 0x67
lock cmpxchg byte [0x2044e34f], cl
je 0x2010d051
cmp al, 0x76
jne 0x2010ce70
lea rax, [0x2044e340]
ret
xor eax, eax
lea rcx, [0x2044e2e0]
lea rdx, [0x20372e30]
nop dword [rax]
movzx r8d, byte [rax + rdx]
xor byte [rax + rcx], r8b
inc rax
cmp eax, 5
jl 0x2010cea0
mov al, 0x10
xchg byte [0x2044e2e5], al
lea rax, [0x2044e2e0]
ret
movzx eax, byte [0x2044e2dc]
cmp al, 0x75
je 0x2010d169
mov cl, 0x45
nop word cs:[rax + rax]
mov al, 0xd1
lock cmpxchg byte [0x2044e2dc], cl
je 0x2010d131
cmp al, 0x75
jne 0x2010cee0
jmp 0x2010d169
test r9d, r9d
je 0x2010d091
movzx eax, byte [0x2044e2b2]
cmp al, 0xe2
je 0x2010d1a9
mov cl, 0x38
nop word cs:[rax + rax]
mov al, 0x52
lock cmpxchg byte [0x2044e2b2], cl
je 0x2010d171
cmp al, 0xe2
jne 0x2010cf20
jmp 0x2010d1a9
xor eax, eax
lea rcx, [0x2044e300]
lea rdx, [0x20372e50]
nop dword [rax]
movzx r8d, byte [rax + rdx]
xor byte [rax + rcx], r8b
inc rax
cmp eax, 0x23
jl 0x2010cf50
mov al, 0x65
xchg byte [0x2044e323], al
lea rax, [0x2044e300]
ret
xor eax, eax
lea rcx, [0x2044e380]
lea rdx, [0x20372ed0]
nop word cs:[rax + rax]
movzx r8d, byte [rax + rdx]
add byte [rax + rcx], r8b
inc rax
cmp eax, 2
jl 0x2010cf90
mov al, 0xc5
xchg byte [0x2044e382], al
lea rax, [0x2044e380]
ret
movzx eax, byte [0x2044e376]
cmp al, 0x10
je 0x2010d1e9
mov cl, 0x8c
nop word cs:[rax + rax]
mov al, 0x65
lock cmpxchg byte [0x2044e376], cl
je 0x2010d1b1
cmp al, 0x10
jne 0x2010cfd0
jmp 0x2010d1e9
movzx eax, byte [0x2044e292]
cmp al, 0x40
je 0x2010d229
mov cl, 0x90
nop word [rax + rax]
mov al, 0xe6
lock cmpxchg byte [0x2044e292], cl
je 0x2010d1f1
cmp al, 0x40
jne 0x2010d000
jmp 0x2010d229
xor eax, eax
lea rcx, [0x2044e3a0]
lea rdx, [0x20372ef0]
nop dword [rax]
movzx r8d, byte [rax + rdx]
xor byte [rax + rcx], r8b
inc rax
cmp eax, 0xb
jl 0x2010d030
mov al, 0x99
xchg byte [0x2044e3ab], al
lea rax, [0x2044e3a0]
ret
xor eax, eax
lea rcx, [0x2044e340]
lea rdx, [0x20372e90]
nop word cs:[rax + rax]
movzx r8d, byte [rax + rdx]
add byte [rax + rcx], r8b
inc rax
cmp eax, 0xf
jl 0x2010d070
mov al, 0x76
xchg byte [0x2044e34f], al
lea rax, [0x2044e340]
ret
movzx eax, byte [0x2044e33b]
cmp al, 0x3d
je 0x2010d25a
mov cl, 0xc4
mov al, 0x46
lock cmpxchg byte [0x2044e33b], cl
je 0x2010d231
cmp al, 0x3d
jne 0x2010d0a2
jmp 0x2010d25a
xor eax, eax
lea rcx, [0x2044e390]
lea rdx, [0x20372ee0]
nop dword [rax + rax]
movzx r8d, byte [rax + rdx]
xor byte [rax + rcx], r8b
inc rax
cmp eax, 2
jl 0x2010d0d0
mov al, 0x6b
xchg byte [0x2044e392], al
lea rax, [0x2044e390]
ret
xor eax, eax
lea rcx, [0x2044e2f0]
lea rdx, [0x20372e40]
nop word cs:[rax + rax]
movzx r8d, byte [rax + rdx]
add byte [rax + rcx], r8b
inc rax
cmp eax, 3
jl 0x2010d110
mov al, 0x7f
xchg byte [0x2044e2f3], al
lea rax, [0x2044e2f0]
ret
xor eax, eax
lea rcx, [0x2044e2c0]
lea rdx, [0x20372e10]
nop word cs:[rax + rax]
movzx r8d, byte [rax + rdx]
add byte [rax + rcx], r8b
inc rax
cmp eax, 0x1c
jl 0x2010d150
mov al, 0x75
xchg byte [0x2044e2dc], al
lea rax, [0x2044e2c0]
ret
xor eax, eax
lea rcx, [0x2044e2a0]
lea rdx, [0x20372df0]
nop word cs:[rax + rax]
movzx r8d, byte [rax + rdx]
add byte [rax + rcx], r8b
inc rax
cmp eax, 0x12
jl 0x2010d190
mov al, 0xe2
xchg byte [0x2044e2b2], al
lea rax, [0x2044e2a0]
ret
xor eax, eax
lea rcx, [0x2044e350]
lea rdx, [0x20372ea0]
nop word cs:[rax + rax]
movzx r8d, byte [rax + rdx]
xor byte [rax + rcx], r8b
inc rax
cmp eax, 0x26
jl 0x2010d1d0
mov al, 0x10
xchg byte [0x2044e376], al
lea rax, [0x2044e350]
ret
xor eax, eax
lea rcx, [0x2044e280]
lea rdx, [0x20372dd0]
nop word cs:[rax + rax]
movzx r8d, byte [rax + rdx]
xor byte [rax + rcx], r8b
inc rax
cmp eax, 0x12
jl 0x2010d210
mov al, 0x40
xchg byte [0x2044e292], al
lea rax, [0x2044e280]
ret
xor eax, eax
lea rcx, [0x2044e330]
lea rdx, [0x20372e80]
movzx r8d, byte [rax + rdx]
add byte [rax + rcx], r8b
inc rax
cmp eax, 0xb
jl 0x2010d241
mov al, 0x3d
xchg byte [0x2044e33b], al
lea rax, [0x2044e330]
ret