Function at 0x201e6010
Capabilities:
Encode data using xor

Disassembly:
test ecx, ecx
je 0x201e605c
test edx, edx
je 0x201e60ac
test r8d, r8d
je 0x201e60ec
test r9d, r9d
je 0x201e6169
movzx eax, byte [0x20590ebb]
cmp al, 0x7d
je 0x201e6054
mov cl, 0x57
nop dword [rax + rax]
mov al, 0x58
lock cmpxchg byte [0x20590ebb], cl
je 0x201e62e9
cmp al, 0x7d
jne 0x201e6040
lea rax, [0x20590eb0]
ret
test edx, edx
je 0x201e612c
test r8d, r8d
je 0x201e619c
test r9d, r9d
je 0x201e6219
movzx eax, byte [0x20590db8]
cmp al, 0x85
je 0x201e60a4
mov cl, 0x24
nop word cs:[rax + rax]
mov al, 0xda
lock cmpxchg byte [0x20590db8], cl
je 0x201e63b9
cmp al, 0x85
jne 0x201e6090
lea rax, [0x20590da0]
ret
test r8d, r8d
je 0x201e61d9
test r9d, r9d
je 0x201e6249
movzx eax, byte [0x20590e92]
cmp al, 0x6b
je 0x201e60e4
mov cl, 0xd
nop dword [rax + rax]
mov al, 0xca
lock cmpxchg byte [0x20590e92], cl
je 0x201e63f1
cmp al, 0x6b
jne 0x201e60d0
lea rax, [0x20590e90]
ret
test r9d, r9d
je 0x201e6279
movzx eax, byte [0x20590ea2]
cmp al, 0xdb
je 0x201e6124
mov cl, 0x11
nop word cs:[rax + rax]
mov al, 0xa3
lock cmpxchg byte [0x20590ea2], cl
je 0x201e6431
cmp al, 0xdb
jne 0x201e6110
lea rax, [0x20590ea0]
ret
test r8d, r8d
je 0x201e62a9
test r9d, r9d
je 0x201e6321
movzx eax, byte [0x20590d15]
cmp al, 0x54
je 0x201e6509
mov cl, 0x61
nop
mov al, 0xbb
lock cmpxchg byte [0x20590d15], cl
je 0x201e64db
cmp al, 0x54
jne 0x201e6150
jmp 0x201e6509
movzx eax, byte [0x20590df5]
cmp al, 0x68
je 0x201e6194
mov cl, 0x2a
nop word cs:[rax + rax]
mov al, 0x6d
lock cmpxchg byte [0x20590df5], cl
je 0x201e6471
cmp al, 0x68
jne 0x201e6180
lea rax, [0x20590df0]
ret
test r9d, r9d
je 0x201e6359
movzx eax, byte [0x20590e4b]
cmp al, 0xc6
je 0x201e6549
mov cl, 0xea
nop word cs:[rax + rax]
mov al, 0xa2
lock cmpxchg byte [0x20590e4b], cl
je 0x201e6511
cmp al, 0xc6
jne 0x201e61c0
jmp 0x201e6549
test r9d, r9d
je 0x201e6389
movzx eax, byte [0x20590e33]
cmp al, 7
je 0x201e6589
mov cl, 0xcb
nop word cs:[rax + rax]
mov al, 0xa4
lock cmpxchg byte [0x20590e33], cl
je 0x201e6551
cmp al, 7
jne 0x201e6200
jmp 0x201e6589
movzx eax, byte [0x20590d62]
cmp al, 0xeb
je 0x201e65c9
mov cl, 0x1a
nop word [rax + rax]
mov al, 0xd5
lock cmpxchg byte [0x20590d62], cl
je 0x201e6591
cmp al, 0xeb
jne 0x201e6230
jmp 0x201e65c9
movzx eax, byte [0x20590d50]
cmp al, 0xe3
je 0x201e6609
mov cl, 0x97
nop word [rax + rax]
mov al, 0xba
lock cmpxchg byte [0x20590d50], cl
je 0x201e65d1
cmp al, 0xe3
jne 0x201e6260
jmp 0x201e6609
movzx eax, byte [0x20590e5f]
cmp al, 0x55
je 0x201e6649
mov cl, 0x58
nop word [rax + rax]
mov al, 0x47
lock cmpxchg byte [0x20590e5f], cl
je 0x201e6611
cmp al, 0x55
jne 0x201e6290
jmp 0x201e6649
test r9d, r9d
je 0x201e64b1
movzx eax, byte [0x20590e03]
cmp al, 9
je 0x201e6689
mov cl, 0x8c
nop word cs:[rax + rax]
mov al, 0xf3
lock cmpxchg byte [0x20590e03], cl
je 0x201e6651
cmp al, 9
jne 0x201e62d0
jmp 0x201e6689
xor eax, eax
lea rcx, [0x20590eb0]
lea rdx, [0x20478b30]
nop dword [rax]
movzx r8d, byte [rax + rdx]
xor byte [rax + rcx], r8b
inc rax
cmp eax, 0xb
jl 0x201e6300
mov al, 0x7d
xchg byte [0x20590ebb], al
lea rax, [0x20590eb0]
ret
movzx eax, byte [0x20590dc9]
cmp al, 0x5f
je 0x201e66c9
mov cl, 0x60
nop word cs:[rax + rax]
mov al, 0xb3
lock cmpxchg byte [0x20590dc9], cl
je 0x201e6691
cmp al, 0x5f
jne 0x201e6340
jmp 0x201e66c9
movzx eax, byte [0x20590d32]
cmp al, 0x20
je 0x201e6709
mov cl, 0xfb
nop word [rax + rax]
mov al, 0x18
lock cmpxchg byte [0x20590d32], cl
je 0x201e66d1
cmp al, 0x20
jne 0x201e6370
jmp 0x201e6709
movzx eax, byte [0x20590dec]
cmp al, 0xfb
je 0x201e6749
mov cl, 0x22
nop word [rax + rax]
mov al, 6
lock cmpxchg byte [0x20590dec], cl
je 0x201e6711
cmp al, 0xfb
jne 0x201e63a0
jmp 0x201e6749
xor eax, eax
lea rcx, [0x20590da0]
lea rdx, [0x20478a20]
nop dword [rax]
movzx r8d, byte [rax + rdx]
xor byte [rax + rcx], r8b
inc rax
cmp eax, 0x18
jl 0x201e63d0
mov al, 0x85
xchg byte [0x20590db8], al
lea rax, [0x20590da0]
ret
xor eax, eax
lea rcx, [0x20590e90]
lea rdx, [0x20478b10]
nop word cs:[rax + rax]
movzx r8d, byte [rax + rdx]
xor byte [rax + rcx], r8b
inc rax
cmp eax, 2
jl 0x201e6410
mov al, 0x6b
xchg byte [0x20590e92], al
lea rax, [0x20590e90]
ret
xor eax, eax
lea rcx, [0x20590ea0]
lea rdx, [0x20478b20]
nop word cs:[rax + rax]
movzx r8d, byte [rax + rdx]
add byte [rax + rcx], r8b
inc rax
cmp eax, 2
jl 0x201e6450
mov al, 0xdb
xchg byte [0x20590ea2], al
lea rax, [0x20590ea0]
ret
xor eax, eax
lea rcx, [0x20590df0]
lea rdx, [0x20478a70]
nop word cs:[rax + rax]
movzx r8d, byte [rax + rdx]
add byte [rax + rcx], r8b
inc rax
cmp eax, 5
jl 0x201e6490
mov al, 0x68
xchg byte [0x20590df5], al
lea rax, [0x20590df0]
ret
movzx eax, byte [0x20590d92]
cmp al, 0x53
je 0x201e677a
mov cl, 0xbb
mov al, 0xe9
lock cmpxchg byte [0x20590d92], cl
je 0x201e6751
cmp al, 0x53
jne 0x201e64c2
jmp 0x201e677a
xor eax, eax
lea rcx, [0x20590d00]
lea rdx, [0x204789a0]
nop dword [rax + rax]
movzx r8d, byte [rax + rdx]
xor byte [rax + rcx], r8b
inc rax
cmp eax, 0x15
jl 0x201e64f0
mov al, 0x54
xchg byte [0x20590d15], al
lea rax, [0x20590d00]
ret
xor eax, eax
lea rcx, [0x20590e40]
lea rdx, [0x20478ac0]
nop word cs:[rax + rax]
movzx r8d, byte [rax + rdx]
add byte [rax + rcx], r8b
inc rax
cmp eax, 0xb
jl 0x201e6530
mov al, 0xc6
xchg byte [0x20590e4b], al
lea rax, [0x20590e40]
ret
xor eax, eax
lea rcx, [0x20590e10]
lea rdx, [0x20478a90]
nop word cs:[rax + rax]
movzx r8d, byte [rax + rdx]
add byte [rax + rcx], r8b
inc rax
cmp eax, 0x23
jl 0x201e6570
mov al, 7
xchg byte [0x20590e33], al
lea rax, [0x20590e10]
ret
xor eax, eax
lea rcx, [0x20590d60]
lea rdx, [0x204789f0]
nop word cs:[rax + rax]
movzx r8d, byte [rax + rdx]
xor byte [rax + rcx], r8b
inc rax
cmp eax, 2
jl 0x201e65b0
mov al, 0xeb
xchg byte [0x20590d62], al
lea rax, [0x20590d60]
ret
xor eax, eax
lea rcx, [0x20590d40]
lea rdx, [0x204789e0]
nop word cs:[rax + rax]
movzx r8d, byte [rax + rdx]
add byte [rax + rcx], r8b
inc rax
cmp eax, 0x10
jl 0x201e65f0
mov al, 0xe3
xchg byte [0x20590d50], al
lea rax, [0x20590d40]
ret
xor eax, eax
lea rcx, [0x20590e50]
lea rdx, [0x20478ad0]
nop word cs:[rax + rax]
movzx r8d, byte [rax + rdx]
xor byte [rax + rcx], r8b
inc rax
cmp eax, 0xf
jl 0x201e6630
mov al, 0x55
xchg byte [0x20590e5f], al
lea rax, [0x20590e50]
ret
xor eax, eax
lea rcx, [0x20590e00]
lea rdx, [0x20478a80]
nop word cs:[rax + rax]
movzx r8d, byte [rax + rdx]
add byte [rax + rcx], r8b
inc rax
cmp eax, 3
jl 0x201e6670
mov al, 9
xchg byte [0x20590e03], al
lea rax, [0x20590e00]
ret
xor eax, eax
lea rcx, [0x20590dc0]
lea rdx, [0x20478a40]
nop word cs:[rax + rax]
movzx r8d, byte [rax + rdx]
add byte [rax + rcx], r8b
inc rax
cmp eax, 9
jl 0x201e66b0
mov al, 0x5f
xchg byte [0x20590dc9], al
lea rax, [0x20590dc0]
ret
xor eax, eax
lea rcx, [0x20590d20]
lea rdx, [0x204789c0]
nop word cs:[rax + rax]
movzx r8d, byte [rax + rdx]
add byte [rax + rcx], r8b
inc rax
cmp eax, 0x12
jl 0x201e66f0
mov al, 0x20
xchg byte [0x20590d32], al
lea rax, [0x20590d20]
ret
xor eax, eax
lea rcx, [0x20590dd0]
lea rdx, [0x20478a50]
nop word cs:[rax + rax]
movzx r8d, byte [rax + rdx]
xor byte [rax + rcx], r8b
inc rax
cmp eax, 0x1c
jl 0x201e6730
mov al, 0xfb
xchg byte [0x20590dec], al
lea rax, [0x20590dd0]
ret
xor eax, eax
lea rcx, [0x20590d90]
lea rdx, [0x20478a10]
movzx r8d, byte [rax + rdx]
add byte [rax + rcx], r8b
inc rax
cmp eax, 2
jl 0x201e6761
mov al, 0x53
xchg byte [0x20590d92], al
lea rax, [0x20590d90]
ret