Function at 0x2018bf10
Capabilities:
Encode data using xor

Disassembly:
test ecx, ecx
je 0x2018bf5c
test edx, edx
je 0x2018bfac
test r8d, r8d
je 0x2018bfec
test r9d, r9d
je 0x2018c069
movzx eax, byte [0x203cb742]
cmp al, 0x2b
je 0x2018bf54
mov cl, 0x27
nop dword [rax + rax]
mov al, 0xe6
lock cmpxchg byte [0x203cb742], cl
je 0x2018c1e9
cmp al, 0x2b
jne 0x2018bf40
lea rax, [0x203cb740]
ret
test edx, edx
je 0x2018c02c
test r8d, r8d
je 0x2018c09c
test r9d, r9d
je 0x2018c119
movzx eax, byte [0x203cb6fb]
cmp al, 0x5b
je 0x2018bfa4
mov cl, 0xa6
nop word cs:[rax + rax]
mov al, 0xf3
lock cmpxchg byte [0x203cb6fb], cl
je 0x2018c2b9
cmp al, 0x5b
jne 0x2018bf90
lea rax, [0x203cb6f0]
ret
test r8d, r8d
je 0x2018c0d9
test r9d, r9d
je 0x2018c149
movzx eax, byte [0x203cb6a5]
cmp al, 0xd4
je 0x2018bfe4
mov cl, 0x48
nop dword [rax + rax]
mov al, 0xce
lock cmpxchg byte [0x203cb6a5], cl
je 0x2018c2f1
cmp al, 0xd4
jne 0x2018bfd0
lea rax, [0x203cb6a0]
ret
test r9d, r9d
je 0x2018c179
movzx eax, byte [0x203cb70f]
cmp al, 0x31
je 0x2018c024
mov cl, 0x90
nop word cs:[rax + rax]
mov al, 0xfa
lock cmpxchg byte [0x203cb70f], cl
je 0x2018c331
cmp al, 0x31
jne 0x2018c010
lea rax, [0x203cb700]
ret
test r8d, r8d
je 0x2018c1a9
test r9d, r9d
je 0x2018c221
movzx eax, byte [0x203cb6b3]
cmp al, 0x57
je 0x2018c409
mov cl, 0x9c
nop
mov al, 0x3d
lock cmpxchg byte [0x203cb6b3], cl
je 0x2018c3db
cmp al, 0x57
jne 0x2018c050
jmp 0x2018c409
movzx eax, byte [0x203cb69c]
cmp al, 0x9d
je 0x2018c094
mov cl, 0x72
nop word cs:[rax + rax]
mov al, 0x3f
lock cmpxchg byte [0x203cb69c], cl
je 0x2018c371
cmp al, 0x9d
jne 0x2018c080
lea rax, [0x203cb680]
ret
test r9d, r9d
je 0x2018c259
movzx eax, byte [0x203cb7dd]
cmp al, 0xfd
je 0x2018c449
mov cl, 0xcb
nop word cs:[rax + rax]
mov al, 0x45
lock cmpxchg byte [0x203cb7dd], cl
je 0x2018c411
cmp al, 0xfd
jne 0x2018c0c0
jmp 0x2018c449
test r9d, r9d
je 0x2018c289
movzx eax, byte [0x203cb6e3]
cmp al, 0xf6
je 0x2018c489
mov cl, 0x4c
nop word cs:[rax + rax]
mov al, 0xce
lock cmpxchg byte [0x203cb6e3], cl
je 0x2018c451
cmp al, 0xf6
jne 0x2018c100
jmp 0x2018c489
movzx eax, byte [0x203cb7ad]
cmp al, 0x4b
je 0x2018c4c9
mov cl, 0x5d
nop word [rax + rax]
mov al, 0x7b
lock cmpxchg byte [0x203cb7ad], cl
je 0x2018c491
cmp al, 0x4b
jne 0x2018c130
jmp 0x2018c4c9
movzx eax, byte [0x203cb76b]
cmp al, 0x2f
je 0x2018c509
mov cl, 0x8e
nop word [rax + rax]
mov al, 0xf8
lock cmpxchg byte [0x203cb76b], cl
je 0x2018c4d1
cmp al, 0x2f
jne 0x2018c160
jmp 0x2018c509
movzx eax, byte [0x203cb752]
cmp al, 0x77
je 0x2018c549
mov cl, 0x3a
nop word [rax + rax]
mov al, 5
lock cmpxchg byte [0x203cb752], cl
je 0x2018c511
cmp al, 0x77
jne 0x2018c190
jmp 0x2018c549
test r9d, r9d
je 0x2018c3b1
movzx eax, byte [0x203cb7c4]
cmp al, 0xec
je 0x2018c589
mov cl, 0x63
nop word cs:[rax + rax]
mov al, 0xa
lock cmpxchg byte [0x203cb7c4], cl
je 0x2018c551
cmp al, 0xec
jne 0x2018c1d0
jmp 0x2018c589
xor eax, eax
lea rcx, [0x203cb740]
lea rdx, [0x202fcd60]
nop dword [rax]
movzx r8d, byte [rax + rdx]
xor byte [rax + rcx], r8b
inc rax
cmp eax, 2
jl 0x2018c200
mov al, 0x2b
xchg byte [0x203cb742], al
lea rax, [0x203cb740]
ret
movzx eax, byte [0x203cb77d]
cmp al, 0xac
je 0x2018c5c9
mov cl, 0x41
nop word cs:[rax + rax]
mov al, 0xa9
lock cmpxchg byte [0x203cb77d], cl
je 0x2018c591
cmp al, 0xac
jne 0x2018c240
jmp 0x2018c5c9
movzx eax, byte [0x203cb790]
cmp al, 0x8c
je 0x2018c609
mov cl, 0x76
nop word [rax + rax]
mov al, 0xf9
lock cmpxchg byte [0x203cb790], cl
je 0x2018c5d1
cmp al, 0x8c
jne 0x2018c270
jmp 0x2018c609
movzx eax, byte [0x203cb7f4]
cmp al, 0x3f
je 0x2018c649
mov cl, 0x2a
nop word [rax + rax]
mov al, 0xfd
lock cmpxchg byte [0x203cb7f4], cl
je 0x2018c611
cmp al, 0x3f
jne 0x2018c2a0
jmp 0x2018c649
xor eax, eax
lea rcx, [0x203cb6f0]
lea rdx, [0x202fcd10]
nop dword [rax]
movzx r8d, byte [rax + rdx]
add byte [rax + rcx], r8b
inc rax
cmp eax, 0xb
jl 0x2018c2d0
mov al, 0x5b
xchg byte [0x203cb6fb], al
lea rax, [0x203cb6f0]
ret
xor eax, eax
lea rcx, [0x203cb6a0]
lea rdx, [0x202fccc0]
nop word cs:[rax + rax]
movzx r8d, byte [rax + rdx]
xor byte [rax + rcx], r8b
inc rax
cmp eax, 5
jl 0x2018c310
mov al, 0xd4
xchg byte [0x203cb6a5], al
lea rax, [0x203cb6a0]
ret
xor eax, eax
lea rcx, [0x203cb700]
lea rdx, [0x202fcd20]
nop word cs:[rax + rax]
movzx r8d, byte [rax + rdx]
xor byte [rax + rcx], r8b
inc rax
cmp eax, 0xf
jl 0x2018c350
mov al, 0x31
xchg byte [0x203cb70f], al
lea rax, [0x203cb700]
ret
xor eax, eax
lea rcx, [0x203cb680]
lea rdx, [0x202fcca0]
nop word cs:[rax + rax]
movzx r8d, byte [rax + rdx]
add byte [rax + rcx], r8b
inc rax
cmp eax, 0x1c
jl 0x2018c390
mov al, 0x9d
xchg byte [0x203cb69c], al
lea rax, [0x203cb680]
ret
movzx eax, byte [0x203cb736]
cmp al, 0x1a
je 0x2018c67a
mov cl, 0x82
mov al, 0x54
lock cmpxchg byte [0x203cb736], cl
je 0x2018c651
cmp al, 0x1a
jne 0x2018c3c2
jmp 0x2018c67a
xor eax, eax
lea rcx, [0x203cb6b0]
lea rdx, [0x202fccd0]
nop dword [rax + rax]
movzx r8d, byte [rax + rdx]
xor byte [rax + rcx], r8b
inc rax
cmp eax, 3
jl 0x2018c3f0
mov al, 0x57
xchg byte [0x203cb6b3], al
lea rax, [0x203cb6b0]
ret
xor eax, eax
lea rcx, [0x203cb7d0]
lea rdx, [0x202fcde0]
nop word cs:[rax + rax]
movzx r8d, byte [rax + rdx]
xor byte [rax + rcx], r8b
inc rax
cmp eax, 0xd
jl 0x2018c430
mov al, 0xfd
xchg byte [0x203cb7dd], al
lea rax, [0x203cb7d0]
ret
xor eax, eax
lea rcx, [0x203cb6c0]
lea rdx, [0x202fcce0]
nop word cs:[rax + rax]
movzx r8d, byte [rax + rdx]
xor byte [rax + rcx], r8b
inc rax
cmp eax, 0x23
jl 0x2018c470
mov al, 0xf6
xchg byte [0x203cb6e3], al
lea rax, [0x203cb6c0]
ret
xor eax, eax
lea rcx, [0x203cb7a0]
lea rdx, [0x202fcdb0]
nop word cs:[rax + rax]
movzx r8d, byte [rax + rdx]
add byte [rax + rcx], r8b
inc rax
cmp eax, 0xd
jl 0x2018c4b0
mov al, 0x4b
xchg byte [0x203cb7ad], al
lea rax, [0x203cb7a0]
ret
xor eax, eax
lea rcx, [0x203cb760]
lea rdx, [0x202fcd80]
nop word cs:[rax + rax]
movzx r8d, byte [rax + rdx]
add byte [rax + rcx], r8b
inc rax
cmp eax, 0xb
jl 0x2018c4f0
mov al, 0x2f
xchg byte [0x203cb76b], al
lea rax, [0x203cb760]
ret
xor eax, eax
lea rcx, [0x203cb750]
lea rdx, [0x202fcd70]
nop word cs:[rax + rax]
movzx r8d, byte [rax + rdx]
add byte [rax + rcx], r8b
inc rax
cmp eax, 2
jl 0x2018c530
mov al, 0x77
xchg byte [0x203cb752], al
lea rax, [0x203cb750]
ret
xor eax, eax
lea rcx, [0x203cb7b0]
lea rdx, [0x202fcdc0]
nop word cs:[rax + rax]
movzx r8d, byte [rax + rdx]
xor byte [rax + rcx], r8b
inc rax
cmp eax, 0x14
jl 0x2018c570
mov al, 0xec
xchg byte [0x203cb7c4], al
lea rax, [0x203cb7b0]
ret
xor eax, eax
lea rcx, [0x203cb770]
lea rdx, [0x202fcd90]
nop word cs:[rax + rax]
movzx r8d, byte [rax + rdx]
xor byte [rax + rcx], r8b
inc rax
cmp eax, 0xd
jl 0x2018c5b0
mov al, 0xac
xchg byte [0x203cb77d], al
lea rax, [0x203cb770]
ret
xor eax, eax
lea rcx, [0x203cb780]
lea rdx, [0x202fcda0]
nop word cs:[rax + rax]
movzx r8d, byte [rax + rdx]
add byte [rax + rcx], r8b
inc rax
cmp eax, 0x10
jl 0x2018c5f0
mov al, 0x8c
xchg byte [0x203cb790], al
lea rax, [0x203cb780]
ret
xor eax, eax
lea rcx, [0x203cb7e0]
lea rdx, [0x202fcdf0]
nop word cs:[rax + rax]
movzx r8d, byte [rax + rdx]
xor byte [rax + rcx], r8b
inc rax
cmp eax, 0x14
jl 0x2018c630
mov al, 0x3f
xchg byte [0x203cb7f4], al
lea rax, [0x203cb7e0]
ret
xor eax, eax
lea rcx, [0x203cb710]
lea rdx, [0x202fcd30]
movzx r8d, byte [rax + rdx]
xor byte [rax + rcx], r8b
inc rax
cmp eax, 0x26
jl 0x2018c661
mov al, 0x1a
xchg byte [0x203cb736], al
lea rax, [0x203cb710]
ret