Function at 0x20182a30
Capabilities:
Encode data using xor

Disassembly:
test ecx, ecx
je 0x20182a7c
test edx, edx
je 0x20182acc
test r8d, r8d
je 0x20182b0c
movzx eax, byte [0x203ca9fd]
cmp al, 0x19
je 0x20182a74
mov cl, 0xf4
nop word cs:[rax + rax]
mov al, 0x92
lock cmpxchg byte [0x203ca9fd], cl
je 0x20182bec
cmp al, 0x19
jne 0x20182a60
lea rax, [0x203ca9f0]
ret
test edx, edx
je 0x20182b3c
test r8d, r8d
je 0x20182b79
test r9d, r9d
je 0x20182c21
movzx eax, byte [0x203ca98d]
cmp al, 0x3f
je 0x20182ac4
mov cl, 0x71
nop word cs:[rax + rax]
mov al, 0xb5
lock cmpxchg byte [0x203ca98d], cl
je 0x20182d79
cmp al, 0x3f
jne 0x20182ab0
lea rax, [0x203ca980]
ret
test r8d, r8d
je 0x20182bb9
movzx eax, byte [0x203ca775]
cmp al, 0x6f
je 0x20182b04
mov cl, 0x69
nop word cs:[rax + rax]
mov al, 0xe4
lock cmpxchg byte [0x203ca775], cl
je 0x20182c99
cmp al, 0x6f
jne 0x20182af0
lea rax, [0x203ca770]
ret
movzx eax, byte [0x203ca713]
cmp al, 0x90
je 0x20182b34
mov cl, 0x78
nop dword [rax]
mov al, 0x3e
lock cmpxchg byte [0x203ca713], cl
je 0x20182cd1
cmp al, 0x90
jne 0x20182b20
lea rax, [0x203ca710]
ret
test r8d, r8d
je 0x20182c59
test r9d, r9d
je 0x20182d11
movzx eax, byte [0x203ca8c3]
cmp al, 0xe9
je 0x20182e49
mov cl, 0x9c
nop
mov al, 0xfa
lock cmpxchg byte [0x203ca8c3], cl
je 0x20182e1b
cmp al, 0xe9
jne 0x20182b60
jmp 0x20182e49
test r9d, r9d
je 0x20182d49
movzx eax, byte [0x203ca782]
cmp al, 0x83
je 0x20182e89
mov cl, 0xda
nop word cs:[rax + rax]
mov al, 0x8e
lock cmpxchg byte [0x203ca782], cl
je 0x20182e51
cmp al, 0x83
jne 0x20182ba0
jmp 0x20182e89
movzx eax, byte [0x203ca88a]
cmp al, 0xba
je 0x20182be4
mov cl, 0xe5
nop word cs:[rax + rax]
mov al, 0x3b
lock cmpxchg byte [0x203ca88a], cl
je 0x20182db1
cmp al, 0xba
jne 0x20182bd0
lea rax, [0x203ca860]
ret
xor eax, eax
lea rcx, [0x203ca9f0]
lea rdx, [0x202fc040]
nop dword [rax]
movzx r8d, byte [rax + rdx]
xor byte [rax + rcx], r8b
inc rax
cmp eax, 0xd
jl 0x20182c00
mov al, 0x19
xchg byte [0x203ca9fd], al
lea rax, [0x203ca9f0]
ret
movzx eax, byte [0x203ca825]
cmp al, 0x63
je 0x20182ec9
mov cl, 0xd2
nop word cs:[rax + rax]
mov al, 0x78
lock cmpxchg byte [0x203ca825], cl
je 0x20182e91
cmp al, 0x63
jne 0x20182c40
jmp 0x20182ec9
test r9d, r9d
je 0x20182df1
movzx eax, byte [0x203ca99f]
cmp al, 0x8c
je 0x20182f09
mov cl, 0x9d
nop word cs:[rax + rax]
mov al, 0xd
lock cmpxchg byte [0x203ca99f], cl
je 0x20182ed1
cmp al, 0x8c
jne 0x20182c80
jmp 0x20182f09
xor eax, eax
lea rcx, [0x203ca770]
lea rdx, [0x202fbdc0]
nop dword [rax]
movzx r8d, byte [rax + rdx]
xor byte [rax + rcx], r8b
inc rax
cmp eax, 5
jl 0x20182cb0
mov al, 0x6f
xchg byte [0x203ca775], al
lea rax, [0x203ca770]
ret
xor eax, eax
lea rcx, [0x203ca710]
lea rdx, [0x202fbd70]
nop word cs:[rax + rax]
movzx r8d, byte [rax + rdx]
add byte [rax + rcx], r8b
inc rax
cmp eax, 3
jl 0x20182cf0
mov al, 0x90
xchg byte [0x203ca713], al
lea rax, [0x203ca710]
ret
movzx eax, byte [0x203ca7f4]
cmp al, 0x51
je 0x20182f49
mov cl, 0xe0
nop word cs:[rax + rax]
mov al, 0x71
lock cmpxchg byte [0x203ca7f4], cl
je 0x20182f11
cmp al, 0x51
jne 0x20182d30
jmp 0x20182f49
movzx eax, byte [0x203ca763]
cmp al, 0xf0
je 0x20182f89
mov cl, 0x75
nop word [rax + rax]
mov al, 0x74
lock cmpxchg byte [0x203ca763], cl
je 0x20182f51
cmp al, 0xf0
jne 0x20182d60
jmp 0x20182f89
xor eax, eax
lea rcx, [0x203ca980]
lea rdx, [0x202fbfd0]
nop dword [rax]
movzx r8d, byte [rax + rdx]
add byte [rax + rcx], r8b
inc rax
cmp eax, 0xd
jl 0x20182d90
mov al, 0x3f
xchg byte [0x203ca98d], al
lea rax, [0x203ca980]
ret
xor eax, eax
lea rcx, [0x203ca860]
lea rdx, [0x202fbeb0]
nop word cs:[rax + rax]
movzx r8d, byte [rax + rdx]
add byte [rax + rcx], r8b
inc rax
cmp eax, 0x2a
jl 0x20182dd0
mov al, 0xba
xchg byte [0x203ca88a], al
lea rax, [0x203ca860]
ret
movzx eax, byte [0x203ca8b5]
cmp al, 0x26
je 0x20182fba
mov cl, 0x1f
mov al, 0x8f
lock cmpxchg byte [0x203ca8b5], cl
je 0x20182f91
cmp al, 0x26
jne 0x20182e02
jmp 0x20182fba
xor eax, eax
lea rcx, [0x203ca8c0]
lea rdx, [0x202fbf10]
nop dword [rax + rax]
movzx r8d, byte [rax + rdx]
xor byte [rax + rcx], r8b
inc rax
cmp eax, 3
jl 0x20182e30
mov al, 0xe9
xchg byte [0x203ca8c3], al
lea rax, [0x203ca8c0]
ret
xor eax, eax
lea rcx, [0x203ca780]
lea rdx, [0x202fbdd0]
nop word cs:[rax + rax]
movzx r8d, byte [rax + rdx]
xor byte [rax + rcx], r8b
inc rax
cmp eax, 2
jl 0x20182e70
mov al, 0x83
xchg byte [0x203ca782], al
lea rax, [0x203ca780]
ret
xor eax, eax
lea rcx, [0x203ca820]
lea rdx, [0x202fbe70]
nop word cs:[rax + rax]
movzx r8d, byte [rax + rdx]
add byte [rax + rcx], r8b
inc rax
cmp eax, 5
jl 0x20182eb0
mov al, 0x63
xchg byte [0x203ca825], al
lea rax, [0x203ca820]
ret
xor eax, eax
lea rcx, [0x203ca990]
lea rdx, [0x202fbfe0]
nop word cs:[rax + rax]
movzx r8d, byte [rax + rdx]
add byte [rax + rcx], r8b
inc rax
cmp eax, 0xf
jl 0x20182ef0
mov al, 0x8c
xchg byte [0x203ca99f], al
lea rax, [0x203ca990]
ret
xor eax, eax
lea rcx, [0x203ca7f0]
lea rdx, [0x202fbe40]
nop word cs:[rax + rax]
movzx r8d, byte [rax + rdx]
xor byte [rax + rcx], r8b
inc rax
cmp eax, 4
jl 0x20182f30
mov al, 0x51
xchg byte [0x203ca7f4], al
lea rax, [0x203ca7f0]
ret
xor eax, eax
lea rcx, [0x203ca760]
lea rdx, [0x202fbdb0]
nop word cs:[rax + rax]
movzx r8d, byte [rax + rdx]
xor byte [rax + rcx], r8b
inc rax
cmp eax, 3
jl 0x20182f70
mov al, 0xf0
xchg byte [0x203ca763], al
lea rax, [0x203ca760]
ret
xor eax, eax
lea rcx, [0x203ca8b0]
lea rdx, [0x202fbf00]
movzx r8d, byte [rax + rdx]
add byte [rax + rcx], r8b
inc rax
cmp eax, 5
jl 0x20182fa1
mov al, 0x26
xchg byte [0x203ca8b5], al
lea rax, [0x203ca8b0]
ret