Function at 0x201dde20
Capabilities:
Encode data using xor

Disassembly:
test ecx, ecx
je 0x201dde6c
test edx, edx
je 0x201ddebc
test r8d, r8d
je 0x201ddefc
test r9d, r9d
je 0x201ddf79
movzx eax, byte [0x20528c3f]
cmp al, 0x31
je 0x201dde64
mov cl, 0xf1
nop dword [rax + rax]
mov al, 0x20
lock cmpxchg byte [0x20528c3f], cl
je 0x201de0f9
cmp al, 0x31
jne 0x201dde50
lea rax, [0x20528c30]
ret
test edx, edx
je 0x201ddf3c
test r8d, r8d
je 0x201ddfac
test r9d, r9d
je 0x201de029
movzx eax, byte [0x20528be9]
cmp al, 0x2d
je 0x201ddeb4
mov cl, 0xbc
nop word cs:[rax + rax]
mov al, 0xd0
lock cmpxchg byte [0x20528be9], cl
je 0x201de1c9
cmp al, 0x2d
jne 0x201ddea0
lea rax, [0x20528bd0]
ret
test r8d, r8d
je 0x201ddfe9
test r9d, r9d
je 0x201de059
movzx eax, byte [0x20528bcc]
cmp al, 0x15
je 0x201ddef4
mov cl, 0xbb
nop dword [rax + rax]
mov al, 0xa7
lock cmpxchg byte [0x20528bcc], cl
je 0x201de201
cmp al, 0x15
jne 0x201ddee0
lea rax, [0x20528bc0]
ret
test r9d, r9d
je 0x201de089
movzx eax, byte [0x20528bb7]
cmp al, 0x41
je 0x201ddf34
mov cl, 0x1b
nop word cs:[rax + rax]
mov al, 0x95
lock cmpxchg byte [0x20528bb7], cl
je 0x201de241
cmp al, 0x41
jne 0x201ddf20
lea rax, [0x20528bb0]
ret
test r8d, r8d
je 0x201de0b9
test r9d, r9d
je 0x201de131
movzx eax, byte [0x20528c52]
cmp al, 0x7a
je 0x201de319
mov cl, 0x9c
nop
mov al, 0x28
lock cmpxchg byte [0x20528c52], cl
je 0x201de2eb
cmp al, 0x7a
jne 0x201ddf60
jmp 0x201de319
movzx eax, byte [0x20528cf3]
cmp al, 0xb
je 0x201ddfa4
mov cl, 0x37
nop word cs:[rax + rax]
mov al, 5
lock cmpxchg byte [0x20528cf3], cl
je 0x201de281
cmp al, 0xb
jne 0x201ddf90
lea rax, [0x20528cd0]
ret
test r9d, r9d
je 0x201de169
movzx eax, byte [0x20528d52]
cmp al, 0x9c
je 0x201de359
mov cl, 0xc7
nop word cs:[rax + rax]
mov al, 0x62
lock cmpxchg byte [0x20528d52], cl
je 0x201de321
cmp al, 0x9c
jne 0x201ddfd0
jmp 0x201de359
test r9d, r9d
je 0x201de199
movzx eax, byte [0x20528d7b]
cmp al, 0xb5
je 0x201de399
mov cl, 0x47
nop word cs:[rax + rax]
mov al, 0xee
lock cmpxchg byte [0x20528d7b], cl
je 0x201de361
cmp al, 0xb5
jne 0x201de010
jmp 0x201de399
movzx eax, byte [0x20528cac]
cmp al, 0x90
je 0x201de3d9
mov cl, 0x43
nop word [rax + rax]
mov al, 0x5d
lock cmpxchg byte [0x20528cac], cl
je 0x201de3a1
cmp al, 0x90
jne 0x201de040
jmp 0x201de3d9
movzx eax, byte [0x20528b30]
cmp al, 0xe0
je 0x201de419
mov cl, 0x45
nop word [rax + rax]
mov al, 0xe3
lock cmpxchg byte [0x20528b30], cl
je 0x201de3e1
cmp al, 0xe0
jne 0x201de070
jmp 0x201de419
movzx eax, byte [0x20528e0f]
cmp al, 0x5b
je 0x201de459
mov cl, 0xa9
nop word [rax + rax]
mov al, 0xde
lock cmpxchg byte [0x20528e0f], cl
je 0x201de421
cmp al, 0x5b
jne 0x201de0a0
jmp 0x201de459
test r9d, r9d
je 0x201de2c1
movzx eax, byte [0x20528d46]
cmp al, 6
je 0x201de499
mov cl, 0xb4
nop word cs:[rax + rax]
mov al, 0x8c
lock cmpxchg byte [0x20528d46], cl
je 0x201de461
cmp al, 6
jne 0x201de0e0
jmp 0x201de499
xor eax, eax
lea rcx, [0x20528c30]
lea rdx, [0x2041c950]
nop dword [rax]
movzx r8d, byte [rax + rdx]
add byte [rax + rcx], r8b
inc rax
cmp eax, 0xf
jl 0x201de110
mov al, 0x31
xchg byte [0x20528c3f], al
lea rax, [0x20528c30]
ret
movzx eax, byte [0x20528ddd]
cmp al, 0x25
je 0x201de4d9
mov cl, 0x32
nop word cs:[rax + rax]
mov al, 0x56
lock cmpxchg byte [0x20528ddd], cl
je 0x201de4a1
cmp al, 0x25
jne 0x201de150
jmp 0x201de4d9
movzx eax, byte [0x20528d0b]
cmp al, 0xd
je 0x201de519
mov cl, 0xf6
nop word [rax + rax]
mov al, 0x8b
lock cmpxchg byte [0x20528d0b], cl
je 0x201de4e1
cmp al, 0xd
jne 0x201de180
jmp 0x201de519
movzx eax, byte [0x20528d62]
cmp al, 0x9e
je 0x201de559
mov cl, 0xe7
nop word [rax + rax]
mov al, 0xea
lock cmpxchg byte [0x20528d62], cl
je 0x201de521
cmp al, 0x9e
jne 0x201de1b0
jmp 0x201de559
xor eax, eax
lea rcx, [0x20528bd0]
lea rdx, [0x2041c8f0]
nop dword [rax]
movzx r8d, byte [rax + rdx]
add byte [rax + rcx], r8b
inc rax
cmp eax, 0x19
jl 0x201de1e0
mov al, 0x2d
xchg byte [0x20528be9], al
lea rax, [0x20528bd0]
ret
xor eax, eax
lea rcx, [0x20528bc0]
lea rdx, [0x2041c8e0]
nop word cs:[rax + rax]
movzx r8d, byte [rax + rdx]
add byte [rax + rcx], r8b
inc rax
cmp eax, 0xc
jl 0x201de220
mov al, 0x15
xchg byte [0x20528bcc], al
lea rax, [0x20528bc0]
ret
xor eax, eax
lea rcx, [0x20528bb0]
lea rdx, [0x2041c8d0]
nop word cs:[rax + rax]
movzx r8d, byte [rax + rdx]
xor byte [rax + rcx], r8b
inc rax
cmp eax, 7
jl 0x201de260
mov al, 0x41
xchg byte [0x20528bb7], al
lea rax, [0x20528bb0]
ret
xor eax, eax
lea rcx, [0x20528cd0]
lea rdx, [0x2041c9f0]
nop word cs:[rax + rax]
movzx r8d, byte [rax + rdx]
xor byte [rax + rcx], r8b
inc rax
cmp eax, 0x23
jl 0x201de2a0
mov al, 0xb
xchg byte [0x20528cf3], al
lea rax, [0x20528cd0]
ret
movzx eax, byte [0x20528b0b]
cmp al, 0x59
je 0x201de58a
mov cl, 0xd4
mov al, 0xb5
lock cmpxchg byte [0x20528b0b], cl
je 0x201de561
cmp al, 0x59
jne 0x201de2d2
jmp 0x201de58a
xor eax, eax
lea rcx, [0x20528c40]
lea rdx, [0x2041c960]
nop dword [rax + rax]
movzx r8d, byte [rax + rdx]
xor byte [rax + rcx], r8b
inc rax
cmp eax, 0x12
jl 0x201de300
mov al, 0x7a
xchg byte [0x20528c52], al
lea rax, [0x20528c40]
ret
xor eax, eax
lea rcx, [0x20528d50]
lea rdx, [0x2041ca70]
nop word cs:[rax + rax]
movzx r8d, byte [rax + rdx]
xor byte [rax + rcx], r8b
inc rax
cmp eax, 2
jl 0x201de340
mov al, 0x9c
xchg byte [0x20528d52], al
lea rax, [0x20528d50]
ret
xor eax, eax
lea rcx, [0x20528d70]
lea rdx, [0x2041ca90]
nop word cs:[rax + rax]
movzx r8d, byte [rax + rdx]
add byte [rax + rcx], r8b
inc rax
cmp eax, 0xb
jl 0x201de380
mov al, 0xb5
xchg byte [0x20528d7b], al
lea rax, [0x20528d70]
ret
xor eax, eax
lea rcx, [0x20528c90]
lea rdx, [0x2041c9b0]
nop word cs:[rax + rax]
movzx r8d, byte [rax + rdx]
add byte [rax + rcx], r8b
inc rax
cmp eax, 0x1c
jl 0x201de3c0
mov al, 0x90
xchg byte [0x20528cac], al
lea rax, [0x20528c90]
ret
xor eax, eax
lea rcx, [0x20528b20]
lea rdx, [0x2041c850]
nop word cs:[rax + rax]
movzx r8d, byte [rax + rdx]
xor byte [rax + rcx], r8b
inc rax
cmp eax, 0x10
jl 0x201de400
mov al, 0xe0
xchg byte [0x20528b30], al
lea rax, [0x20528b20]
ret
xor eax, eax
lea rcx, [0x20528e00]
lea rdx, [0x2041cb20]
nop word cs:[rax + rax]
movzx r8d, byte [rax + rdx]
add byte [rax + rcx], r8b
inc rax
cmp eax, 0xf
jl 0x201de440
mov al, 0x5b
xchg byte [0x20528e0f], al
lea rax, [0x20528e00]
ret
xor eax, eax
lea rcx, [0x20528d20]
lea rdx, [0x2041ca40]
nop word cs:[rax + rax]
movzx r8d, byte [rax + rdx]
xor byte [rax + rcx], r8b
inc rax
cmp eax, 0x26
jl 0x201de480
mov al, 6
xchg byte [0x20528d46], al
lea rax, [0x20528d20]
ret
xor eax, eax
lea rcx, [0x20528dd0]
lea rdx, [0x2041caf0]
nop word cs:[rax + rax]
movzx r8d, byte [rax + rdx]
xor byte [rax + rcx], r8b
inc rax
cmp eax, 0xd
jl 0x201de4c0
mov al, 0x25
xchg byte [0x20528ddd], al
lea rax, [0x20528dd0]
ret
xor eax, eax
lea rcx, [0x20528d00]
lea rdx, [0x2041ca20]
nop word cs:[rax + rax]
movzx r8d, byte [rax + rdx]
add byte [rax + rcx], r8b
inc rax
cmp eax, 0xb
jl 0x201de500
mov al, 0xd
xchg byte [0x20528d0b], al
lea rax, [0x20528d00]
ret
xor eax, eax
lea rcx, [0x20528d60]
lea rdx, [0x2041ca80]
nop word cs:[rax + rax]
movzx r8d, byte [rax + rdx]
add byte [rax + rcx], r8b
inc rax
cmp eax, 2
jl 0x201de540
mov al, 0x9e
xchg byte [0x20528d62], al
lea rax, [0x20528d60]
ret
xor eax, eax
lea rcx, [0x20528ae0]
lea rdx, [0x2041c810]
movzx r8d, byte [rax + rdx]
add byte [rax + rcx], r8b
inc rax
cmp eax, 0x2b
jl 0x201de571
mov al, 0x59
xchg byte [0x20528b0b], al
lea rax, [0x20528ae0]
ret