Function at 0x201d9530
Capabilities:
Encode data using xor

Disassembly:
test ecx, ecx
je 0x201d957c
test edx, edx
je 0x201d95cc
test r8d, r8d
je 0x201d960c
test r9d, r9d
je 0x201d9689
movzx eax, byte [0x2052797f]
cmp al, 0xf
je 0x201d9574
mov cl, 0xa7
nop dword [rax + rax]
mov al, 0xc4
lock cmpxchg byte [0x2052797f], cl
je 0x201d9809
cmp al, 0xf
jne 0x201d9560
lea rax, [0x20527960]
ret
test edx, edx
je 0x201d964c
test r8d, r8d
je 0x201d96bc
test r9d, r9d
je 0x201d9739
movzx eax, byte [0x20527676]
cmp al, 0x70
je 0x201d95c4
mov cl, 0x48
nop word cs:[rax + rax]
mov al, 0x6c
lock cmpxchg byte [0x20527676], cl
je 0x201d98d9
cmp al, 0x70
jne 0x201d95b0
lea rax, [0x20527650]
ret
test r8d, r8d
je 0x201d96f9
test r9d, r9d
je 0x201d9769
movzx eax, byte [0x20527dfc]
cmp al, 0x61
je 0x201d9604
mov cl, 0xb6
nop dword [rax + rax]
mov al, 0x9b
lock cmpxchg byte [0x20527dfc], cl
je 0x201d9911
cmp al, 0x61
jne 0x201d95f0
lea rax, [0x20527df0]
ret
test r9d, r9d
je 0x201d9799
movzx eax, byte [0x2052815d]
cmp al, 0xda
je 0x201d9644
mov cl, 0xb9
nop word cs:[rax + rax]
mov al, 0xec
lock cmpxchg byte [0x2052815d], cl
je 0x201d9951
cmp al, 0xda
jne 0x201d9630
lea rax, [0x20528150]
ret
test r8d, r8d
je 0x201d97c9
test r9d, r9d
je 0x201d9841
movzx eax, byte [0x205280fc]
cmp al, 0xb9
je 0x201d9a29
xor ecx, ecx
nop
mov al, 0xcc
lock cmpxchg byte [0x205280fc], cl
je 0x201d99fb
cmp al, 0xb9
jne 0x201d9670
jmp 0x201d9a29
movzx eax, byte [0x20527734]
cmp al, 0x93
je 0x201d96b4
mov cl, 0xf5
nop word cs:[rax + rax]
mov al, 0x25
lock cmpxchg byte [0x20527734], cl
je 0x201d9991
cmp al, 0x93
jne 0x201d96a0
lea rax, [0x20527710]
ret
test r9d, r9d
je 0x201d9879
movzx eax, byte [0x20527bae]
cmp al, 0x79
je 0x201d9a69
mov cl, 0xd1
nop word cs:[rax + rax]
mov al, 0x15
lock cmpxchg byte [0x20527bae], cl
je 0x201d9a31
cmp al, 0x79
jne 0x201d96e0
jmp 0x201d9a69
test r9d, r9d
je 0x201d98a9
movzx eax, byte [0x20527bee]
cmp al, 0x6d
je 0x201d9aa9
mov cl, 0x67
nop word cs:[rax + rax]
mov al, 0x83
lock cmpxchg byte [0x20527bee], cl
je 0x201d9a71
cmp al, 0x6d
jne 0x201d9720
jmp 0x201d9aa9
movzx eax, byte [0x205276d2]
cmp al, 0x27
je 0x201d9ae9
mov cl, 0x30
nop word [rax + rax]
mov al, 0x13
lock cmpxchg byte [0x205276d2], cl
je 0x201d9ab1
cmp al, 0x27
jne 0x201d9750
jmp 0x201d9ae9
movzx eax, byte [0x20527eeb]
cmp al, 0x37
je 0x201d9b29
mov cl, 0x4a
nop word [rax + rax]
mov al, 0xfe
lock cmpxchg byte [0x20527eeb], cl
je 0x201d9af1
cmp al, 0x37
jne 0x201d9780
jmp 0x201d9b29
movzx eax, byte [0x20527f2d]
cmp al, 0x61
je 0x201d9b69
mov cl, 0xe2
nop word [rax + rax]
mov al, 0xb5
lock cmpxchg byte [0x20527f2d], cl
je 0x201d9b31
cmp al, 0x61
jne 0x201d97b0
jmp 0x201d9b69
test r9d, r9d
je 0x201d99d1
movzx eax, byte [0x20528041]
cmp al, 8
je 0x201d9be9
mov cl, 0x3d
nop word cs:[rax + rax]
mov al, 0x2c
lock cmpxchg byte [0x20528041], cl
je 0x201d9bb1
cmp al, 8
jne 0x201d97f0
jmp 0x201d9be9
xor eax, eax
lea rcx, [0x20527960]
lea rdx, [0x2041baa0]
nop dword [rax]
movzx r8d, byte [rax + rdx]
add byte [rax + rcx], r8b
inc rax
cmp eax, 0x1f
jl 0x201d9820
mov al, 0xf
xchg byte [0x2052797f], al
lea rax, [0x20527960]
ret
movzx eax, byte [0x20527abd]
cmp al, 0xc1
je 0x201d9c29
mov cl, 0x36
nop word cs:[rax + rax]
mov al, 0x85
lock cmpxchg byte [0x20527abd], cl
je 0x201d9bf1
cmp al, 0xc1
jne 0x201d9860
jmp 0x201d9c29
movzx eax, byte [0x205281ed]
cmp al, 0xff
je 0x201d9ba9
mov cl, 0xd2
nop word [rax + rax]
mov al, 0x9b
lock cmpxchg byte [0x205281ed], cl
je 0x201d9b71
cmp al, 0xff
jne 0x201d9890
jmp 0x201d9ba9
movzx eax, byte [0x205276a4]
cmp al, 0xfd
je 0x201d9c69
mov cl, 0x9e
nop word [rax + rax]
mov al, 0x40
lock cmpxchg byte [0x205276a4], cl
je 0x201d9c31
cmp al, 0xfd
jne 0x201d98c0
jmp 0x201d9c69
xor eax, eax
lea rcx, [0x20527650]
lea rdx, [0x2041b7b0]
nop dword [rax]
movzx r8d, byte [rax + rdx]
xor byte [rax + rcx], r8b
inc rax
cmp eax, 0x26
jl 0x201d98f0
mov al, 0x70
xchg byte [0x20527676], al
lea rax, [0x20527650]
ret
xor eax, eax
lea rcx, [0x20527df0]
lea rdx, [0x2041bf00]
nop word cs:[rax + rax]
movzx r8d, byte [rax + rdx]
xor byte [rax + rcx], r8b
inc rax
cmp eax, 0xc
jl 0x201d9930
mov al, 0x61
xchg byte [0x20527dfc], al
lea rax, [0x20527df0]
ret
xor eax, eax
lea rcx, [0x20528150]
lea rdx, [0x2041c260]
nop word cs:[rax + rax]
movzx r8d, byte [rax + rdx]
xor byte [rax + rcx], r8b
inc rax
cmp eax, 0xd
jl 0x201d9970
mov al, 0xda
xchg byte [0x2052815d], al
lea rax, [0x20528150]
ret
xor eax, eax
lea rcx, [0x20527710]
lea rdx, [0x2041b870]
nop word cs:[rax + rax]
movzx r8d, byte [rax + rdx]
add byte [rax + rcx], r8b
inc rax
cmp eax, 0x24
jl 0x201d99b0
mov al, 0x93
xchg byte [0x20527734], al
lea rax, [0x20527710]
ret
movzx eax, byte [0x2052806f]
cmp al, 0x3a
je 0x201d9c9a
mov cl, 0xce
mov al, 0xa3
lock cmpxchg byte [0x2052806f], cl
je 0x201d9c71
cmp al, 0x3a
jne 0x201d99e2
jmp 0x201d9c9a
xor eax, eax
lea rcx, [0x205280f0]
lea rdx, [0x2041c200]
nop dword [rax + rax]
movzx r8d, byte [rax + rdx]
xor byte [rax + rcx], r8b
inc rax
cmp eax, 0xc
jl 0x201d9a10
mov al, 0xb9
xchg byte [0x205280fc], al
lea rax, [0x205280f0]
ret
xor eax, eax
lea rcx, [0x20527ba0]
lea rdx, [0x2041bcc0]
nop word cs:[rax + rax]
movzx r8d, byte [rax + rdx]
xor byte [rax + rcx], r8b
inc rax
cmp eax, 0xe
jl 0x201d9a50
mov al, 0x79
xchg byte [0x20527bae], al
lea rax, [0x20527ba0]
ret
xor eax, eax
lea rcx, [0x20527bd0]
lea rdx, [0x2041bcf0]
nop word cs:[rax + rax]
movzx r8d, byte [rax + rdx]
xor byte [rax + rcx], r8b
inc rax
cmp eax, 0x1e
jl 0x201d9a90
mov al, 0x6d
xchg byte [0x20527bee], al
lea rax, [0x20527bd0]
ret
xor eax, eax
lea rcx, [0x205276b0]
lea rdx, [0x2041b810]
nop word cs:[rax + rax]
movzx r8d, byte [rax + rdx]
add byte [rax + rcx], r8b
inc rax
cmp eax, 0x22
jl 0x201d9ad0
mov al, 0x27
xchg byte [0x205276d2], al
lea rax, [0x205276b0]
ret
xor eax, eax
lea rcx, [0x20527ed0]
lea rdx, [0x2041bfe0]
nop word cs:[rax + rax]
movzx r8d, byte [rax + rdx]
add byte [rax + rcx], r8b
inc rax
cmp eax, 0x1b
jl 0x201d9b10
mov al, 0x37
xchg byte [0x20527eeb], al
lea rax, [0x20527ed0]
ret
xor eax, eax
lea rcx, [0x20527f20]
lea rdx, [0x2041c030]
nop word cs:[rax + rax]
movzx r8d, byte [rax + rdx]
add byte [rax + rcx], r8b
inc rax
cmp eax, 0xd
jl 0x201d9b50
mov al, 0x61
xchg byte [0x20527f2d], al
lea rax, [0x20527f20]
ret
xor eax, eax
lea rcx, [0x205281e0]
lea rdx, [0x2041c2f0]
nop word cs:[rax + rax]
movzx r8d, byte [rax + rdx]
add byte [rax + rcx], r8b
inc rax
cmp eax, 0xd
jl 0x201d9b90
mov al, 0xff
xchg byte [0x205281ed], al
lea rax, [0x205281e0]
ret
xor eax, eax
lea rcx, [0x20528030]
lea rdx, [0x2041c140]
nop word cs:[rax + rax]
movzx r8d, byte [rax + rdx]
add byte [rax + rcx], r8b
inc rax
cmp eax, 0x11
jl 0x201d9bd0
mov al, 8
xchg byte [0x20528041], al
lea rax, [0x20528030]
ret
xor eax, eax
lea rcx, [0x20527ab0]
lea rdx, [0x2041bbe0]
nop word cs:[rax + rax]
movzx r8d, byte [rax + rdx]
xor byte [rax + rcx], r8b
inc rax
cmp eax, 0xd
jl 0x201d9c10
mov al, 0xc1
xchg byte [0x20527abd], al
lea rax, [0x20527ab0]
ret
xor eax, eax
lea rcx, [0x20527680]
lea rdx, [0x2041b7e0]
nop word cs:[rax + rax]
movzx r8d, byte [rax + rdx]
add byte [rax + rcx], r8b
inc rax
cmp eax, 0x24
jl 0x201d9c50
mov al, 0xfd
xchg byte [0x205276a4], al
lea rax, [0x20527680]
ret
xor eax, eax
lea rcx, [0x20528060]
lea rdx, [0x2041c170]
movzx r8d, byte [rax + rdx]
xor byte [rax + rcx], r8b
inc rax
cmp eax, 0xf
jl 0x201d9c81
mov al, 0x3a
xchg byte [0x2052806f], al
lea rax, [0x20528060]
ret