Function at 0x202f51e0
Capabilities:
Encode data using xor

Disassembly:
test ecx, ecx
je 0x202f522c
test edx, edx
je 0x202f527c
test r8d, r8d
je 0x202f52bc
test r9d, r9d
je 0x202f5339
movzx eax, byte [0x20490b50]
cmp al, 0xee
je 0x202f5224
mov cl, 0x43
nop dword [rax + rax]
mov al, 0x1b
lock cmpxchg byte [0x20490b50], cl
je 0x202f54b9
cmp al, 0xee
jne 0x202f5210
lea rax, [0x20490af0]
ret
test edx, edx
je 0x202f52fc
test r8d, r8d
je 0x202f536c
test r9d, r9d
je 0x202f53e9
movzx eax, byte [0x20490112]
cmp al, 0x8d
je 0x202f5274
mov cl, 0xed
nop word cs:[rax + rax]
mov al, 0xbb
lock cmpxchg byte [0x20490112], cl
je 0x202f5589
cmp al, 0x8d
jne 0x202f5260
lea rax, [0x204900d0]
ret
test r8d, r8d
je 0x202f53a9
test r9d, r9d
je 0x202f5419
movzx eax, byte [0x204907f4]
cmp al, 0xe0
je 0x202f52b4
mov cl, 4
nop dword [rax + rax]
mov al, 0x4f
lock cmpxchg byte [0x204907f4], cl
je 0x202f55c1
cmp al, 0xe0
jne 0x202f52a0
lea rax, [0x204907a0]
ret
test r9d, r9d
je 0x202f5449
movzx eax, byte [0x2049061a]
cmp al, 0x85
je 0x202f52f4
mov cl, 0xa9
nop word cs:[rax + rax]
mov al, 0x6b
lock cmpxchg byte [0x2049061a], cl
je 0x202f5601
cmp al, 0x85
jne 0x202f52e0
lea rax, [0x204905c0]
ret
test r8d, r8d
je 0x202f5479
test r9d, r9d
je 0x202f54f1
movzx eax, byte [0x20490cfb]
cmp al, 0xd2
je 0x202f56d9
mov cl, 0x47
nop
mov al, 0x87
lock cmpxchg byte [0x20490cfb], cl
je 0x202f56ab
cmp al, 0xd2
jne 0x202f5320
jmp 0x202f56d9
movzx eax, byte [0x20490a72]
cmp al, 0xf0
je 0x202f5364
mov cl, 0x62
nop word cs:[rax + rax]
mov al, 0x3e
lock cmpxchg byte [0x20490a72], cl
je 0x202f5641
cmp al, 0xf0
jne 0x202f5350
lea rax, [0x20490a10]
ret
test r9d, r9d
je 0x202f5529
movzx eax, byte [0x204904d1]
cmp al, 0x87
je 0x202f5719
mov cl, 0xc3
nop word cs:[rax + rax]
mov al, 0xfd
lock cmpxchg byte [0x204904d1], cl
je 0x202f56e1
cmp al, 0x87
jne 0x202f5390
jmp 0x202f5719
test r9d, r9d
je 0x202f5559
movzx eax, byte [0x20490cb3]
cmp al, 0xba
je 0x202f5759
mov cl, 0x6e
nop word cs:[rax + rax]
mov al, 0x12
lock cmpxchg byte [0x20490cb3], cl
je 0x202f5721
cmp al, 0xba
jne 0x202f53d0
jmp 0x202f5759
movzx eax, byte [0x20490c9c]
cmp al, 0xa4
je 0x202f5799
mov cl, 0x50
nop word [rax + rax]
mov al, 0xe6
lock cmpxchg byte [0x20490c9c], cl
je 0x202f5761
cmp al, 0xa4
jne 0x202f5400
jmp 0x202f5799
movzx eax, byte [0x20490aeb]
cmp al, 0x27
je 0x202f57d9
mov cl, 0x2b
nop word [rax + rax]
mov al, 0xcb
lock cmpxchg byte [0x20490aeb], cl
je 0x202f57a1
cmp al, 0x27
jne 0x202f5430
jmp 0x202f57d9
movzx eax, byte [0x204903c7]
cmp al, 0xa4
je 0x202f581b
mov cl, 0xe3
nop word [rax + rax]
mov al, 0xb6
lock cmpxchg byte [0x204903c7], cl
je 0x202f57e1
cmp al, 0xa4
jne 0x202f5460
jmp 0x202f581b
test r9d, r9d
je 0x202f5681
movzx eax, byte [0x20490b97]
cmp al, 0x7d
je 0x202f5859
mov cl, 0x4a
nop word cs:[rax + rax]
mov al, 0x7b
lock cmpxchg byte [0x20490b97], cl
je 0x202f5823
cmp al, 0x7d
jne 0x202f54a0
jmp 0x202f5859
xor eax, eax
lea rcx, [0x20490af0]
lea rdx, [0x2039d540]
nop dword [rax]
movzx r8d, byte [rax + rdx]
add byte [rax + rcx], r8b
inc rax
cmp eax, 0x60
jl 0x202f54d0
mov al, 0xee
xchg byte [0x20490b50], al
lea rax, [0x20490af0]
ret
movzx eax, byte [0x2048febc]
cmp al, 0x75
je 0x202f5899
mov cl, 0xa4
nop word cs:[rax + rax]
mov al, 0xa2
lock cmpxchg byte [0x2048febc], cl
je 0x202f5861
cmp al, 0x75
jne 0x202f5510
jmp 0x202f5899
movzx eax, byte [0x2049098b]
cmp al, 0x1c
je 0x202f58d9
mov cl, 0xe9
nop word [rax + rax]
mov al, 0xdf
lock cmpxchg byte [0x2049098b], cl
je 0x202f58a1
cmp al, 0x1c
jne 0x202f5540
jmp 0x202f58d9
movzx eax, byte [0x2049001e]
cmp al, 0xbe
je 0x202f5919
mov cl, 0x3f
nop word [rax + rax]
mov al, 0x99
lock cmpxchg byte [0x2049001e], cl
je 0x202f58e1
cmp al, 0xbe
jne 0x202f5570
jmp 0x202f5919
xor eax, eax
lea rcx, [0x204900d0]
lea rdx, [0x2039cb20]
nop dword [rax]
movzx r8d, byte [rax + rdx]
xor byte [rax + rcx], r8b
inc rax
cmp eax, 0x42
jl 0x202f55a0
mov al, 0x8d
xchg byte [0x20490112], al
lea rax, [0x204900d0]
ret
xor eax, eax
lea rcx, [0x204907a0]
lea rdx, [0x2039d1f0]
nop word cs:[rax + rax]
movzx r8d, byte [rax + rdx]
add byte [rax + rcx], r8b
inc rax
cmp eax, 0x54
jl 0x202f55e0
mov al, 0xe0
xchg byte [0x204907f4], al
lea rax, [0x204907a0]
ret
xor eax, eax
lea rcx, [0x204905c0]
lea rdx, [0x2039d010]
nop word cs:[rax + rax]
movzx r8d, byte [rax + rdx]
xor byte [rax + rcx], r8b
inc rax
cmp eax, 0x5a
jl 0x202f5620
mov al, 0x85
xchg byte [0x2049061a], al
lea rax, [0x204905c0]
ret
xor eax, eax
lea rcx, [0x20490a10]
lea rdx, [0x2039d460]
nop word cs:[rax + rax]
movzx r8d, byte [rax + rdx]
add byte [rax + rcx], r8b
inc rax
cmp eax, 0x62
jl 0x202f5660
mov al, 0xf0
xchg byte [0x20490a72], al
lea rax, [0x20490a10]
ret
movzx eax, byte [0x204905b1]
cmp al, 0xf1
je 0x202f594a
mov cl, 0x3f
mov al, 0x21
lock cmpxchg byte [0x204905b1], cl
je 0x202f5921
cmp al, 0xf1
jne 0x202f5692
jmp 0x202f594a
xor eax, eax
lea rcx, [0x20490cf0]
lea rdx, [0x2039d730]
nop dword [rax + rax]
movzx r8d, byte [rax + rdx]
add byte [rax + rcx], r8b
inc rax
cmp eax, 0xb
jl 0x202f56c0
mov al, 0xd2
xchg byte [0x20490cfb], al
lea rax, [0x20490cf0]
ret
xor eax, eax
lea rcx, [0x20490480]
lea rdx, [0x2039ced0]
nop word cs:[rax + rax]
movzx r8d, byte [rax + rdx]
xor byte [rax + rcx], r8b
inc rax
cmp eax, 0x51
jl 0x202f5700
mov al, 0x87
xchg byte [0x204904d1], al
lea rax, [0x20490480]
ret
xor eax, eax
lea rcx, [0x20490cb0]
lea rdx, [0x2039d6f0]
nop word cs:[rax + rax]
movzx r8d, byte [rax + rdx]
add byte [rax + rcx], r8b
inc rax
cmp eax, 3
jl 0x202f5740
mov al, 0xba
xchg byte [0x20490cb3], al
lea rax, [0x20490cb0]
ret
xor eax, eax
lea rcx, [0x20490c80]
lea rdx, [0x2039d6c0]
nop word cs:[rax + rax]
movzx r8d, byte [rax + rdx]
xor byte [rax + rcx], r8b
inc rax
cmp eax, 0x1c
jl 0x202f5780
mov al, 0xa4
xchg byte [0x20490c9c], al
lea rax, [0x20490c80]
ret
xor eax, eax
lea rcx, [0x20490ac0]
lea rdx, [0x2039d510]
nop word cs:[rax + rax]
movzx r8d, byte [rax + rdx]
add byte [rax + rcx], r8b
inc rax
cmp eax, 0x2b
jl 0x202f57c0
mov al, 0x27
xchg byte [0x20490aeb], al
lea rax, [0x20490ac0]
ret
xor eax, eax
lea rcx, [0x20490340]
lea rdx, [0x2039cd90]
nop word cs:[rax + rax]
movzx r8d, byte [rax + rdx]
add byte [rax + rcx], r8b
inc rax
cmp eax, 0x87
jl 0x202f5800
mov al, 0xa4
xchg byte [0x204903c7], al
lea rax, [0x20490340]
ret
xor eax, eax
lea rcx, [0x20490b60]
lea rdx, [0x2039d5a0]
nop word cs:[rax + rax]
movzx r8d, byte [rax + rdx]
add byte [rax + rcx], r8b
inc rax
cmp eax, 0x37
jl 0x202f5840
mov al, 0x7d
xchg byte [0x20490b97], al
lea rax, [0x20490b60]
ret
xor eax, eax
lea rcx, [0x2048feb0]
lea rdx, [0x2039c900]
nop word cs:[rax + rax]
movzx r8d, byte [rax + rdx]
xor byte [rax + rcx], r8b
inc rax
cmp eax, 0xc
jl 0x202f5880
mov al, 0x75
xchg byte [0x2048febc], al
lea rax, [0x2048feb0]
ret
xor eax, eax
lea rcx, [0x20490930]
lea rdx, [0x2039d380]
nop word cs:[rax + rax]
movzx r8d, byte [rax + rdx]
xor byte [rax + rcx], r8b
inc rax
cmp eax, 0x5b
jl 0x202f58c0
mov al, 0x1c
xchg byte [0x2049098b], al
lea rax, [0x20490930]
ret
xor eax, eax
lea rcx, [0x2048ffe0]
lea rdx, [0x2039ca30]
nop word cs:[rax + rax]
movzx r8d, byte [rax + rdx]
xor byte [rax + rcx], r8b
inc rax
cmp eax, 0x3e
jl 0x202f5900
mov al, 0xbe
xchg byte [0x2049001e], al
lea rax, [0x2048ffe0]
ret
xor eax, eax
lea rcx, [0x20490570]
lea rdx, [0x2039cfc0]
movzx r8d, byte [rax + rdx]
xor byte [rax + rcx], r8b
inc rax
cmp eax, 0x41
jl 0x202f5931
mov al, 0xf1
xchg byte [0x204905b1], al
lea rax, [0x20490570]
ret