Function at 0x201ddbd0
Capabilities:
Encode data using xor

Disassembly:
test ecx, ecx
je 0x201ddc1c
test edx, edx
je 0x201ddc5c
test r8d, r8d
je 0x201ddc9c
test r9d, r9d
je 0x201ddd1c
movzx eax, byte [0x2058fa3a]
cmp al, 0x2d
je 0x201ddc14
mov cl, 0xca
nop dword [rax + rax]
mov al, 0x3e
lock cmpxchg byte [0x2058fa3a], cl
je 0x201dde49
cmp al, 0x2d
jne 0x201ddc00
lea rax, [0x2058fa20]
ret
test edx, edx
je 0x201ddcdc
test r8d, r8d
je 0x201ddd4c
movzx eax, byte [0x2058fe1c]
cmp al, 0xf1
je 0x201ddc54
mov cl, 0xda
nop word [rax + rax]
mov al, 0x67
lock cmpxchg byte [0x2058fe1c], cl
je 0x201dde81
cmp al, 0xf1
jne 0x201ddc40
lea rax, [0x2058fe10]
ret
test r8d, r8d
je 0x201ddd7c
test r9d, r9d
je 0x201dddb9
movzx eax, byte [0x2058f9d0]
cmp al, 0x64
je 0x201ddc94
mov cl, 0x5d
nop dword [rax + rax]
mov al, 0x87
lock cmpxchg byte [0x2058f9d0], cl
je 0x201ddef9
cmp al, 0x64
jne 0x201ddc80
lea rax, [0x2058f9c0]
ret
test r9d, r9d
je 0x201ddde9
movzx eax, byte [0x2059004c]
cmp al, 0xfa
je 0x201ddcd4
mov cl, 0x5f
nop word cs:[rax + rax]
mov al, 0x40
lock cmpxchg byte [0x2059004c], cl
je 0x201ddf31
cmp al, 0xfa
jne 0x201ddcc0
lea rax, [0x20590040]
ret
test r8d, r8d
je 0x201dde19
movzx eax, byte [0x2058f8a7]
cmp al, 0xea
je 0x201ddd14
mov cl, 0x6d
nop word cs:[rax + rax]
mov al, 0x87
lock cmpxchg byte [0x2058f8a7], cl
je 0x201ddfb1
cmp al, 0xea
jne 0x201ddd00
lea rax, [0x2058f880]
ret
movzx eax, byte [0x2058faaa]
cmp al, 0x44
je 0x201ddd44
mov cl, 0x97
nop dword [rax]
mov al, 0x86
lock cmpxchg byte [0x2058faaa], cl
je 0x201ddf71
cmp al, 0x44
jne 0x201ddd30
lea rax, [0x2058fa90]
ret
movzx eax, byte [0x2058f94b]
cmp al, 0x5d
je 0x201ddd74
mov cl, 0xf0
nop dword [rax]
mov al, 0xba
lock cmpxchg byte [0x2058f94b], cl
je 0x201ddff1
cmp al, 0x5d
jne 0x201ddd60
lea rax, [0x2058f930]
ret
test r9d, r9d
je 0x201ddec1
movzx eax, byte [0x205900f8]
cmp al, 0xdb
je 0x201de069
mov cl, 0xbe
nop word cs:[rax + rax]
mov al, 0x92
lock cmpxchg byte [0x205900f8], cl
je 0x201de031
cmp al, 0xdb
jne 0x201ddda0
jmp 0x201de069
movzx eax, byte [0x2058ff6f]
cmp al, 0x40
je 0x201de0a9
mov cl, 0x29
nop word [rax + rax]
mov al, 0x7c
lock cmpxchg byte [0x2058ff6f], cl
je 0x201de071
cmp al, 0x40
jne 0x201dddd0
jmp 0x201de0a9
movzx eax, byte [0x2058f6e3]
cmp al, 0x9f
je 0x201de0e9
mov cl, 0xee
nop word [rax + rax]
mov al, 0x57
lock cmpxchg byte [0x2058f6e3], cl
je 0x201de0b1
cmp al, 0x9f
jne 0x201dde00
jmp 0x201de0e9
movzx eax, byte [0x205900bd]
cmp al, 0x95
je 0x201de129
mov cl, 0xdf
nop word [rax + rax]
mov al, 0x15
lock cmpxchg byte [0x205900bd], cl
je 0x201de0f1
cmp al, 0x95
jne 0x201dde30
jmp 0x201de129
xor eax, eax
lea rcx, [0x2058fa20]
lea rdx, [0x204779f0]
nop dword [rax]
movzx r8d, byte [rax + rdx]
xor byte [rax + rcx], r8b
inc rax
cmp eax, 0x1a
jl 0x201dde60
mov al, 0x2d
xchg byte [0x2058fa3a], al
lea rax, [0x2058fa20]
ret
xor eax, eax
lea rcx, [0x2058fe10]
lea rdx, [0x20477dd0]
nop word cs:[rax + rax]
movzx r8d, byte [rax + rdx]
add byte [rax + rcx], r8b
inc rax
cmp eax, 0xc
jl 0x201ddea0
mov al, 0xf1
xchg byte [0x2058fe1c], al
lea rax, [0x2058fe10]
ret
movzx eax, byte [0x2058f642]
cmp al, 0x23
je 0x201de169
mov cl, 0x24
nop word cs:[rax + rax]
mov al, 0xb0
lock cmpxchg byte [0x2058f642], cl
je 0x201de131
cmp al, 0x23
jne 0x201ddee0
jmp 0x201de169
xor eax, eax
lea rcx, [0x2058f9c0]
lea rdx, [0x204779a0]
nop dword [rax]
movzx r8d, byte [rax + rdx]
xor byte [rax + rcx], r8b
inc rax
cmp eax, 0x10
jl 0x201ddf10
mov al, 0x64
xchg byte [0x2058f9d0], al
lea rax, [0x2058f9c0]
ret
xor eax, eax
lea rcx, [0x20590040]
lea rdx, [0x20478000]
nop word cs:[rax + rax]
movzx r8d, byte [rax + rdx]
add byte [rax + rcx], r8b
inc rax
cmp eax, 0xc
jl 0x201ddf50
mov al, 0xfa
xchg byte [0x2059004c], al
lea rax, [0x20590040]
ret
xor eax, eax
lea rcx, [0x2058fa90]
lea rdx, [0x20477a60]
nop word cs:[rax + rax]
movzx r8d, byte [rax + rdx]
add byte [rax + rcx], r8b
inc rax
cmp eax, 0x1a
jl 0x201ddf90
mov al, 0x44
xchg byte [0x2058faaa], al
lea rax, [0x2058fa90]
ret
xor eax, eax
lea rcx, [0x2058f880]
lea rdx, [0x20477870]
nop word cs:[rax + rax]
movzx r8d, byte [rax + rdx]
add byte [rax + rcx], r8b
inc rax
cmp eax, 0x27
jl 0x201ddfd0
mov al, 0xea
xchg byte [0x2058f8a7], al
lea rax, [0x2058f880]
ret
xor eax, eax
lea rcx, [0x2058f930]
lea rdx, [0x20477920]
nop word cs:[rax + rax]
movzx r8d, byte [rax + rdx]
add byte [rax + rcx], r8b
inc rax
cmp eax, 0x1b
jl 0x201de010
mov al, 0x5d
xchg byte [0x2058f94b], al
lea rax, [0x2058f930]
ret
xor eax, eax
lea rcx, [0x205900e0]
lea rdx, [0x204780a0]
nop word cs:[rax + rax]
movzx r8d, byte [rax + rdx]
xor byte [rax + rcx], r8b
inc rax
cmp eax, 0x18
jl 0x201de050
mov al, 0xdb
xchg byte [0x205900f8], al
lea rax, [0x205900e0]
ret
xor eax, eax
lea rcx, [0x2058ff60]
lea rdx, [0x20477f20]
nop word cs:[rax + rax]
movzx r8d, byte [rax + rdx]
xor byte [rax + rcx], r8b
inc rax
cmp eax, 0xf
jl 0x201de090
mov al, 0x40
xchg byte [0x2058ff6f], al
lea rax, [0x2058ff60]
ret
xor eax, eax
lea rcx, [0x2058f6c0]
lea rdx, [0x204776c0]
nop word cs:[rax + rax]
movzx r8d, byte [rax + rdx]
xor byte [rax + rcx], r8b
inc rax
cmp eax, 0x23
jl 0x201de0d0
mov al, 0x9f
xchg byte [0x2058f6e3], al
lea rax, [0x2058f6c0]
ret
xor eax, eax
lea rcx, [0x205900b0]
lea rdx, [0x20478070]
nop word cs:[rax + rax]
movzx r8d, byte [rax + rdx]
xor byte [rax + rcx], r8b
inc rax
cmp eax, 0xd
jl 0x201de110
mov al, 0x95
xchg byte [0x205900bd], al
lea rax, [0x205900b0]
ret
xor eax, eax
lea rcx, [0x2058f620]
lea rdx, [0x20477630]
nop word cs:[rax + rax]
movzx r8d, byte [rax + rdx]
xor byte [rax + rcx], r8b
inc rax
cmp eax, 0x22
jl 0x201de150
mov al, 0x23
xchg byte [0x2058f642], al
lea rax, [0x2058f620]
ret