Function at 0x201ddad0
Capabilities:
Encode data using xor

Disassembly:
test ecx, ecx
je 0x201ddb0c
test edx, edx
je 0x201ddb4c
test r8d, r8d
je 0x201ddb8c
movzx eax, byte [0x20528ba3]
cmp al, 0x54
je 0x201ddb04
mov cl, 0x28
nop
mov al, 0x86
lock cmpxchg byte [0x20528ba3], cl
je 0x201ddc2c
cmp al, 0x54
jne 0x201ddaf0
lea rax, [0x20528b90]
ret
test edx, edx
je 0x201ddbbc
movzx eax, byte [0x20528dad]
cmp al, 0xaf
je 0x201ddb44
mov cl, 0x19
nop word cs:[rax + rax]
mov al, 0xb4
lock cmpxchg byte [0x20528dad], cl
je 0x201ddc61
cmp al, 0xaf
jne 0x201ddb30
lea rax, [0x20528da0]
ret
test r8d, r8d
je 0x201ddbfc
movzx eax, byte [0x20528dc4]
cmp al, 0x65
je 0x201ddb84
mov cl, 0x83
nop word cs:[rax + rax]
mov al, 0x7a
lock cmpxchg byte [0x20528dc4], cl
je 0x201ddcd9
cmp al, 0x65
jne 0x201ddb70
lea rax, [0x20528db0]
ret
movzx eax, byte [0x20528b55]
cmp al, 0x82
je 0x201ddbb4
mov cl, 0xff
nop dword [rax]
mov al, 0xd
lock cmpxchg byte [0x20528b55], cl
je 0x201ddd11
cmp al, 0x82
jne 0x201ddba0
lea rax, [0x20528b40]
ret
test r8d, r8d
je 0x201ddca1
movzx eax, byte [0x20573120]
cmp al, 0x65
je 0x201ddbf4
mov cl, 0xe2
nop word cs:[rax + rax]
xor eax, eax
lock cmpxchg byte [0x20573120], cl
je 0x201ddd51
cmp al, 0x65
jne 0x201ddbe0
lea rax, [0x20528c00]
ret
movzx eax, byte [0x20528d1f]
cmp al, 0x74
je 0x201ddc24
mov cl, 0x64
nop dword [rax]
mov al, 0xa
lock cmpxchg byte [0x20528d1f], cl
je 0x201ddd91
cmp al, 0x74
jne 0x201ddc10
lea rax, [0x20528d10]
ret
xor eax, eax
lea rcx, [0x20528b90]
lea rdx, [0x2041c8b0]
nop dword [rax]
movzx r8d, byte [rax + rdx]
xor byte [rax + rcx], r8b
inc rax
cmp eax, 0x13
jl 0x201ddc40
mov al, 0x54
xchg byte [0x20528ba3], al
lea rax, [0x20528b90]
ret
xor eax, eax
lea rcx, [0x20528da0]
lea rdx, [0x2041cac0]
nop word cs:[rax + rax]
movzx r8d, byte [rax + rdx]
xor byte [rax + rcx], r8b
inc rax
cmp eax, 0xd
jl 0x201ddc80
mov al, 0xaf
xchg byte [0x20528dad], al
lea rax, [0x20528da0]
ret
movzx eax, byte [0x20528dea]
cmp al, 0x19
je 0x201dde09
mov cl, 0xae
nop word cs:[rax + rax]
mov al, 0x94
lock cmpxchg byte [0x20528dea], cl
je 0x201dddd1
cmp al, 0x19
jne 0x201ddcc0
jmp 0x201dde09
xor eax, eax
lea rcx, [0x20528db0]
lea rdx, [0x2041cad0]
nop dword [rax]
movzx r8d, byte [rax + rdx]
add byte [rax + rcx], r8b
inc rax
cmp eax, 0x14
jl 0x201ddcf0
mov al, 0x65
xchg byte [0x20528dc4], al
lea rax, [0x20528db0]
ret
xor eax, eax
lea rcx, [0x20528b40]
lea rdx, [0x2041c860]
nop word cs:[rax + rax]
movzx r8d, byte [rax + rdx]
add byte [rax + rcx], r8b
inc rax
cmp eax, 0x15
jl 0x201ddd30
mov al, 0x82
xchg byte [0x20528b55], al
lea rax, [0x20528b40]
ret
xor eax, eax
lea rcx, [0x20528c00]
lea rdx, [0x2041c920]
nop word cs:[rax + rax]
movzx r8d, byte [rax + rdx]
xor byte [rax + rcx], r8b
inc rax
cmp eax, 0x1a
jl 0x201ddd70
mov al, 0x65
xchg byte [0x20573120], al
lea rax, [0x20528c00]
ret
xor eax, eax
lea rcx, [0x20528d10]
lea rdx, [0x2041ca30]
nop word cs:[rax + rax]
movzx r8d, byte [rax + rdx]
xor byte [rax + rcx], r8b
inc rax
cmp eax, 0xf
jl 0x201dddb0
mov al, 0x74
xchg byte [0x20528d1f], al
lea rax, [0x20528d10]
ret
xor eax, eax
lea rcx, [0x20528de0]
lea rdx, [0x2041cb00]
nop word cs:[rax + rax]
movzx r8d, byte [rax + rdx]
xor byte [rax + rcx], r8b
inc rax
cmp eax, 0xa
jl 0x201dddf0
mov al, 0x19
xchg byte [0x20528dea], al
lea rax, [0x20528de0]
ret