Function at 0x201822b0
Capabilities:
Encode data using xor

Disassembly:
test ecx, ecx
je 0x201822fc
test edx, edx
je 0x2018234c
test r8d, r8d
je 0x2018238c
test r9d, r9d
je 0x20182409
movzx eax, byte [0x203ca83f]
cmp al, 0x31
je 0x201822f4
mov cl, 0xf1
nop dword [rax + rax]
mov al, 0x20
lock cmpxchg byte [0x203ca83f], cl
je 0x20182589
cmp al, 0x31
jne 0x201822e0
lea rax, [0x203ca830]
ret
test edx, edx
je 0x201823cc
test r8d, r8d
je 0x2018243c
test r9d, r9d
je 0x201824b9
movzx eax, byte [0x203ca7e9]
cmp al, 0x2d
je 0x20182344
mov cl, 0xbc
nop word cs:[rax + rax]
mov al, 0xd0
lock cmpxchg byte [0x203ca7e9], cl
je 0x20182659
cmp al, 0x2d
jne 0x20182330
lea rax, [0x203ca7d0]
ret
test r8d, r8d
je 0x20182479
test r9d, r9d
je 0x201824e9
movzx eax, byte [0x203ca7cc]
cmp al, 0x15
je 0x20182384
mov cl, 0xbb
nop dword [rax + rax]
mov al, 0xa7
lock cmpxchg byte [0x203ca7cc], cl
je 0x20182691
cmp al, 0x15
jne 0x20182370
lea rax, [0x203ca7c0]
ret
test r9d, r9d
je 0x20182519
movzx eax, byte [0x203ca7b7]
cmp al, 0x41
je 0x201823c4
mov cl, 0x1b
nop word cs:[rax + rax]
mov al, 0x95
lock cmpxchg byte [0x203ca7b7], cl
je 0x201826d1
cmp al, 0x41
jne 0x201823b0
lea rax, [0x203ca7b0]
ret
test r8d, r8d
je 0x20182549
test r9d, r9d
je 0x201825c1
movzx eax, byte [0x203ca852]
cmp al, 0x7a
je 0x201827a9
mov cl, 0x9c
nop
mov al, 0x28
lock cmpxchg byte [0x203ca852], cl
je 0x2018277b
cmp al, 0x7a
jne 0x201823f0
jmp 0x201827a9
movzx eax, byte [0x203ca8f3]
cmp al, 0xb
je 0x20182434
mov cl, 0x37
nop word cs:[rax + rax]
mov al, 5
lock cmpxchg byte [0x203ca8f3], cl
je 0x20182711
cmp al, 0xb
jne 0x20182420
lea rax, [0x203ca8d0]
ret
test r9d, r9d
je 0x201825f9
movzx eax, byte [0x203ca952]
cmp al, 0x9c
je 0x201827e9
mov cl, 0xc7
nop word cs:[rax + rax]
mov al, 0x62
lock cmpxchg byte [0x203ca952], cl
je 0x201827b1
cmp al, 0x9c
jne 0x20182460
jmp 0x201827e9
test r9d, r9d
je 0x20182629
movzx eax, byte [0x203ca97b]
cmp al, 0xb5
je 0x20182829
mov cl, 0x47
nop word cs:[rax + rax]
mov al, 0xee
lock cmpxchg byte [0x203ca97b], cl
je 0x201827f1
cmp al, 0xb5
jne 0x201824a0
jmp 0x20182829
movzx eax, byte [0x203ca8ac]
cmp al, 0x90
je 0x20182869
mov cl, 0x43
nop word [rax + rax]
mov al, 0x5d
lock cmpxchg byte [0x203ca8ac], cl
je 0x20182831
cmp al, 0x90
jne 0x201824d0
jmp 0x20182869
movzx eax, byte [0x203ca730]
cmp al, 0xe0
je 0x201828a9
mov cl, 0x45
nop word [rax + rax]
mov al, 0xe3
lock cmpxchg byte [0x203ca730], cl
je 0x20182871
cmp al, 0xe0
jne 0x20182500
jmp 0x201828a9
movzx eax, byte [0x203caa0f]
cmp al, 0x5b
je 0x201828e9
mov cl, 0xa9
nop word [rax + rax]
mov al, 0xde
lock cmpxchg byte [0x203caa0f], cl
je 0x201828b1
cmp al, 0x5b
jne 0x20182530
jmp 0x201828e9
test r9d, r9d
je 0x20182751
movzx eax, byte [0x203ca946]
cmp al, 6
je 0x20182929
mov cl, 0xb4
nop word cs:[rax + rax]
mov al, 0x8c
lock cmpxchg byte [0x203ca946], cl
je 0x201828f1
cmp al, 6
jne 0x20182570
jmp 0x20182929
xor eax, eax
lea rcx, [0x203ca830]
lea rdx, [0x202fbe80]
nop dword [rax]
movzx r8d, byte [rax + rdx]
add byte [rax + rcx], r8b
inc rax
cmp eax, 0xf
jl 0x201825a0
mov al, 0x31
xchg byte [0x203ca83f], al
lea rax, [0x203ca830]
ret
movzx eax, byte [0x203ca9dd]
cmp al, 0x25
je 0x20182969
mov cl, 0x32
nop word cs:[rax + rax]
mov al, 0x56
lock cmpxchg byte [0x203ca9dd], cl
je 0x20182931
cmp al, 0x25
jne 0x201825e0
jmp 0x20182969
movzx eax, byte [0x203ca90b]
cmp al, 0xd
je 0x201829a9
mov cl, 0xf6
nop word [rax + rax]
mov al, 0x8b
lock cmpxchg byte [0x203ca90b], cl
je 0x20182971
cmp al, 0xd
jne 0x20182610
jmp 0x201829a9
movzx eax, byte [0x203ca962]
cmp al, 0x9e
je 0x201829e9
mov cl, 0xe7
nop word [rax + rax]
mov al, 0xea
lock cmpxchg byte [0x203ca962], cl
je 0x201829b1
cmp al, 0x9e
jne 0x20182640
jmp 0x201829e9
xor eax, eax
lea rcx, [0x203ca7d0]
lea rdx, [0x202fbe20]
nop dword [rax]
movzx r8d, byte [rax + rdx]
add byte [rax + rcx], r8b
inc rax
cmp eax, 0x19
jl 0x20182670
mov al, 0x2d
xchg byte [0x203ca7e9], al
lea rax, [0x203ca7d0]
ret
xor eax, eax
lea rcx, [0x203ca7c0]
lea rdx, [0x202fbe10]
nop word cs:[rax + rax]
movzx r8d, byte [rax + rdx]
add byte [rax + rcx], r8b
inc rax
cmp eax, 0xc
jl 0x201826b0
mov al, 0x15
xchg byte [0x203ca7cc], al
lea rax, [0x203ca7c0]
ret
xor eax, eax
lea rcx, [0x203ca7b0]
lea rdx, [0x202fbe00]
nop word cs:[rax + rax]
movzx r8d, byte [rax + rdx]
xor byte [rax + rcx], r8b
inc rax
cmp eax, 7
jl 0x201826f0
mov al, 0x41
xchg byte [0x203ca7b7], al
lea rax, [0x203ca7b0]
ret
xor eax, eax
lea rcx, [0x203ca8d0]
lea rdx, [0x202fbf20]
nop word cs:[rax + rax]
movzx r8d, byte [rax + rdx]
xor byte [rax + rcx], r8b
inc rax
cmp eax, 0x23
jl 0x20182730
mov al, 0xb
xchg byte [0x203ca8f3], al
lea rax, [0x203ca8d0]
ret
movzx eax, byte [0x203ca70b]
cmp al, 0x59
je 0x20182a1a
mov cl, 0xd4
mov al, 0xb5
lock cmpxchg byte [0x203ca70b], cl
je 0x201829f1
cmp al, 0x59
jne 0x20182762
jmp 0x20182a1a
xor eax, eax
lea rcx, [0x203ca840]
lea rdx, [0x202fbe90]
nop dword [rax + rax]
movzx r8d, byte [rax + rdx]
xor byte [rax + rcx], r8b
inc rax
cmp eax, 0x12
jl 0x20182790
mov al, 0x7a
xchg byte [0x203ca852], al
lea rax, [0x203ca840]
ret
xor eax, eax
lea rcx, [0x203ca950]
lea rdx, [0x202fbfa0]
nop word cs:[rax + rax]
movzx r8d, byte [rax + rdx]
xor byte [rax + rcx], r8b
inc rax
cmp eax, 2
jl 0x201827d0
mov al, 0x9c
xchg byte [0x203ca952], al
lea rax, [0x203ca950]
ret
xor eax, eax
lea rcx, [0x203ca970]
lea rdx, [0x202fbfc0]
nop word cs:[rax + rax]
movzx r8d, byte [rax + rdx]
add byte [rax + rcx], r8b
inc rax
cmp eax, 0xb
jl 0x20182810
mov al, 0xb5
xchg byte [0x203ca97b], al
lea rax, [0x203ca970]
ret
xor eax, eax
lea rcx, [0x203ca890]
lea rdx, [0x202fbee0]
nop word cs:[rax + rax]
movzx r8d, byte [rax + rdx]
add byte [rax + rcx], r8b
inc rax
cmp eax, 0x1c
jl 0x20182850
mov al, 0x90
xchg byte [0x203ca8ac], al
lea rax, [0x203ca890]
ret
xor eax, eax
lea rcx, [0x203ca720]
lea rdx, [0x202fbd80]
nop word cs:[rax + rax]
movzx r8d, byte [rax + rdx]
xor byte [rax + rcx], r8b
inc rax
cmp eax, 0x10
jl 0x20182890
mov al, 0xe0
xchg byte [0x203ca730], al
lea rax, [0x203ca720]
ret
xor eax, eax
lea rcx, [0x203caa00]
lea rdx, [0x202fc050]
nop word cs:[rax + rax]
movzx r8d, byte [rax + rdx]
add byte [rax + rcx], r8b
inc rax
cmp eax, 0xf
jl 0x201828d0
mov al, 0x5b
xchg byte [0x203caa0f], al
lea rax, [0x203caa00]
ret
xor eax, eax
lea rcx, [0x203ca920]
lea rdx, [0x202fbf70]
nop word cs:[rax + rax]
movzx r8d, byte [rax + rdx]
xor byte [rax + rcx], r8b
inc rax
cmp eax, 0x26
jl 0x20182910
mov al, 6
xchg byte [0x203ca946], al
lea rax, [0x203ca920]
ret
xor eax, eax
lea rcx, [0x203ca9d0]
lea rdx, [0x202fc020]
nop word cs:[rax + rax]
movzx r8d, byte [rax + rdx]
xor byte [rax + rcx], r8b
inc rax
cmp eax, 0xd
jl 0x20182950
mov al, 0x25
xchg byte [0x203ca9dd], al
lea rax, [0x203ca9d0]
ret
xor eax, eax
lea rcx, [0x203ca900]
lea rdx, [0x202fbf50]
nop word cs:[rax + rax]
movzx r8d, byte [rax + rdx]
add byte [rax + rcx], r8b
inc rax
cmp eax, 0xb
jl 0x20182990
mov al, 0xd
xchg byte [0x203ca90b], al
lea rax, [0x203ca900]
ret
xor eax, eax
lea rcx, [0x203ca960]
lea rdx, [0x202fbfb0]
nop word cs:[rax + rax]
movzx r8d, byte [rax + rdx]
add byte [rax + rcx], r8b
inc rax
cmp eax, 2
jl 0x201829d0
mov al, 0x9e
xchg byte [0x203ca962], al
lea rax, [0x203ca960]
ret
xor eax, eax
lea rcx, [0x203ca6e0]
lea rdx, [0x202fbd40]
movzx r8d, byte [rax + rdx]
add byte [rax + rcx], r8b
inc rax
cmp eax, 0x2b
jl 0x20182a01
mov al, 0x59
xchg byte [0x203ca70b], al
lea rax, [0x203ca6e0]
ret