Function at 0x201ad850
Capabilities:
Encode data using xor

Disassembly:
test ecx, ecx
je 0x201ad88c
test edx, edx
je 0x201ad8cc
test r8d, r8d
je 0x201ad90c
movzx eax, byte [0x2045eda3]
cmp al, 0x5b
je 0x201ad884
mov cl, 0x87
nop
mov al, 0x2e
lock cmpxchg byte [0x2045eda3], cl
je 0x201ad9dc
cmp al, 0x5b
jne 0x201ad870
lea rax, [0x2045eda0]
ret
test edx, edx
je 0x201ad93c
test r8d, r8d
je 0x201ad97c
movzx eax, byte [0x2045ef31]
cmp al, 0xbc
je 0x201ad8c4
mov cl, 0x50
nop word [rax + rax]
mov al, 0x23
lock cmpxchg byte [0x2045ef31], cl
je 0x201ada49
cmp al, 0xbc
jne 0x201ad8b0
lea rax, [0x2045eef0]
ret
test r8d, r8d
je 0x201ad9ac
movzx eax, byte [0x2045f72d]
cmp al, 0xae
je 0x201ad904
mov cl, 0x6e
nop word cs:[rax + rax]
mov al, 1
lock cmpxchg byte [0x2045f72d], cl
je 0x201ada81
cmp al, 0xae
jne 0x201ad8f0
lea rax, [0x2045f720]
ret
movzx eax, byte [0x2045f491]
cmp al, 0x63
je 0x201ad934
mov cl, 0x2b
nop dword [rax]
mov al, 0x57
lock cmpxchg byte [0x2045f491], cl
je 0x201adac1
cmp al, 0x63
jne 0x201ad920
lea rax, [0x2045f480]
ret
test r8d, r8d
je 0x201ada11
movzx eax, byte [0x2045efca]
cmp al, 0x70
je 0x201ad974
mov cl, 0x55
nop word cs:[rax + rax]
mov al, 0x77
lock cmpxchg byte [0x2045efca], cl
je 0x201adb01
cmp al, 0x70
jne 0x201ad960
lea rax, [0x2045efa0]
ret
movzx eax, byte [0x2045ed75]
cmp al, 0x37
je 0x201ad9a4
mov cl, 0x6a
nop dword [rax]
mov al, 0x76
lock cmpxchg byte [0x2045ed75], cl
je 0x201adb41
cmp al, 0x37
jne 0x201ad990
lea rax, [0x2045ed60]
ret
movzx eax, byte [0x2045f50f]
cmp al, 0xe5
je 0x201ad9d4
mov cl, 0x87
nop dword [rax]
mov al, 0x58
lock cmpxchg byte [0x2045f50f], cl
je 0x201adb81
cmp al, 0xe5
jne 0x201ad9c0
lea rax, [0x2045f500]
ret
xor eax, eax
lea rcx, [0x2045eda0]
lea rdx, [0x20378b60]
nop dword [rax]
movzx r8d, byte [rax + rdx]
xor byte [rax + rcx], r8b
inc rax
cmp eax, 3
jl 0x201ad9f0
mov al, 0x5b
xchg byte [0x2045eda3], al
lea rax, [0x2045eda0]
ret
movzx eax, byte [0x2045f2dd]
cmp al, 0x84
je 0x201adbf9
mov cl, 0x62
nop word cs:[rax + rax]
mov al, 0x1a
lock cmpxchg byte [0x2045f2dd], cl
je 0x201adbc1
cmp al, 0x84
jne 0x201ada30
jmp 0x201adbf9
xor eax, eax
lea rcx, [0x2045eef0]
lea rdx, [0x20378ce0]
nop dword [rax]
movzx r8d, byte [rax + rdx]
xor byte [rax + rcx], r8b
inc rax
cmp eax, 0x41
jl 0x201ada60
mov al, 0xbc
xchg byte [0x2045ef31], al
lea rax, [0x2045eef0]
ret
xor eax, eax
lea rcx, [0x2045f720]
lea rdx, [0x20379690]
nop word cs:[rax + rax]
movzx r8d, byte [rax + rdx]
add byte [rax + rcx], r8b
inc rax
cmp eax, 0xd
jl 0x201adaa0
mov al, 0xae
xchg byte [0x2045f72d], al
lea rax, [0x2045f720]
ret
xor eax, eax
lea rcx, [0x2045f480]
lea rdx, [0x203793f0]
nop word cs:[rax + rax]
movzx r8d, byte [rax + rdx]
xor byte [rax + rcx], r8b
inc rax
cmp eax, 0x11
jl 0x201adae0
mov al, 0x63
xchg byte [0x2045f491], al
lea rax, [0x2045f480]
ret
xor eax, eax
lea rcx, [0x2045efa0]
lea rdx, [0x20378f30]
nop word cs:[rax + rax]
movzx r8d, byte [rax + rdx]
add byte [rax + rcx], r8b
inc rax
cmp eax, 0x2a
jl 0x201adb20
mov al, 0x70
xchg byte [0x2045efca], al
lea rax, [0x2045efa0]
ret
xor eax, eax
lea rcx, [0x2045ed60]
lea rdx, [0x20378b20]
nop word cs:[rax + rax]
movzx r8d, byte [rax + rdx]
xor byte [rax + rcx], r8b
inc rax
cmp eax, 0x15
jl 0x201adb60
mov al, 0x37
xchg byte [0x2045ed75], al
lea rax, [0x2045ed60]
ret
xor eax, eax
lea rcx, [0x2045f500]
lea rdx, [0x20379470]
nop word cs:[rax + rax]
movzx r8d, byte [rax + rdx]
xor byte [rax + rcx], r8b
inc rax
cmp eax, 0xf
jl 0x201adba0
mov al, 0xe5
xchg byte [0x2045f50f], al
lea rax, [0x2045f500]
ret
xor eax, eax
lea rcx, [0x2045f2d0]
lea rdx, [0x20379250]
nop word cs:[rax + rax]
movzx r8d, byte [rax + rdx]
add byte [rax + rcx], r8b
inc rax
cmp eax, 0xd
jl 0x201adbe0
mov al, 0x84
xchg byte [0x2045f2dd], al
lea rax, [0x2045f2d0]
ret