Function at 0x2018e750
Capabilities:
Encode data using xor

Disassembly:
test ecx, ecx
je 0x2018e79c
test edx, edx
je 0x2018e7dc
test r8d, r8d
je 0x2018e81c
test r9d, r9d
je 0x2018e89c
movzx eax, byte [0x2045bfe6]
cmp al, 0x18
je 0x2018e794
mov cl, 0xcb
nop dword [rax + rax]
mov al, 0xdd
lock cmpxchg byte [0x2045bfe6], cl
je 0x2018e9c9
cmp al, 0x18
jne 0x2018e780
lea rax, [0x2045bfc0]
ret
test edx, edx
je 0x2018e85c
test r8d, r8d
je 0x2018e8cc
movzx eax, byte [0x2045bff2]
cmp al, 0x6b
je 0x2018e7d4
mov cl, 0x56
nop word [rax + rax]
mov al, 0xa4
lock cmpxchg byte [0x2045bff2], cl
je 0x2018ea01
cmp al, 0x6b
jne 0x2018e7c0
lea rax, [0x2045bff0]
ret
test r8d, r8d
je 0x2018e8fc
test r9d, r9d
je 0x2018e939
movzx eax, byte [0x2045bf0a]
cmp al, 0x58
je 0x2018e814
mov cl, 0x73
nop dword [rax + rax]
mov al, 0xd7
lock cmpxchg byte [0x2045bf0a], cl
je 0x2018ea79
cmp al, 0x58
jne 0x2018e800
lea rax, [0x2045bf00]
ret
test r9d, r9d
je 0x2018e969
movzx eax, byte [0x2045bf63]
cmp al, 0x66
je 0x2018e854
mov cl, 0x56
nop word cs:[rax + rax]
mov al, 0x9f
lock cmpxchg byte [0x2045bf63], cl
je 0x2018eab1
cmp al, 0x66
jne 0x2018e840
lea rax, [0x2045bf60]
ret
test r8d, r8d
je 0x2018e999
movzx eax, byte [0x2045bed0]
cmp al, 0x3b
je 0x2018e894
mov cl, 0x9c
nop word cs:[rax + rax]
mov al, 0x13
lock cmpxchg byte [0x2045bed0], cl
je 0x2018eb31
cmp al, 0x3b
jne 0x2018e880
lea rax, [0x2045bec0]
ret
movzx eax, byte [0x2045bfab]
cmp al, 0xbc
je 0x2018e8c4
mov cl, 0x8a
nop dword [rax]
mov al, 0x1f
lock cmpxchg byte [0x2045bfab], cl
je 0x2018eaf1
cmp al, 0xbc
jne 0x2018e8b0
lea rax, [0x2045bfa0]
ret
movzx eax, byte [0x2045c01b]
cmp al, 0xbc
je 0x2018e8f4
mov cl, 0x5c
nop dword [rax]
mov al, 0x41
lock cmpxchg byte [0x2045c01b], cl
je 0x2018eb71
cmp al, 0xbc
jne 0x2018e8e0
lea rax, [0x2045c010]
ret
test r9d, r9d
je 0x2018ea41
movzx eax, byte [0x2045be85]
cmp al, 0xdd
je 0x2018ebe9
mov cl, 0x3c
nop word cs:[rax + rax]
mov al, 0x11
lock cmpxchg byte [0x2045be85], cl
je 0x2018ebb1
cmp al, 0xdd
jne 0x2018e920
jmp 0x2018ebe9
movzx eax, byte [0x2045bfbf]
cmp al, 0x50
je 0x2018ec29
mov cl, 0x3c
nop word [rax + rax]
mov al, 4
lock cmpxchg byte [0x2045bfbf], cl
je 0x2018ebf1
cmp al, 0x50
jne 0x2018e950
jmp 0x2018ec29
movzx eax, byte [0x204a2370]
cmp al, 0xda
je 0x2018ec69
mov cl, 0xd0
nop word [rax + rax]
xor eax, eax
lock cmpxchg byte [0x204a2370], cl
je 0x2018ec31
cmp al, 0xda
jne 0x2018e980
jmp 0x2018ec69
movzx eax, byte [0x2045bf4c]
cmp al, 0x60
je 0x2018eca9
mov cl, 0x8a
nop word [rax + rax]
mov al, 8
lock cmpxchg byte [0x2045bf4c], cl
je 0x2018ec71
cmp al, 0x60
jne 0x2018e9b0
jmp 0x2018eca9
xor eax, eax
lea rcx, [0x2045bfc0]
lea rdx, [0x20376680]
nop dword [rax]
movzx r8d, byte [rax + rdx]
xor byte [rax + rcx], r8b
inc rax
cmp eax, 0x26
jl 0x2018e9e0
mov al, 0x18
xchg byte [0x2045bfe6], al
lea rax, [0x2045bfc0]
ret
xor eax, eax
lea rcx, [0x2045bff0]
lea rdx, [0x203766b0]
nop word cs:[rax + rax]
movzx r8d, byte [rax + rdx]
xor byte [rax + rcx], r8b
inc rax
cmp eax, 2
jl 0x2018ea20
mov al, 0x6b
xchg byte [0x2045bff2], al
lea rax, [0x2045bff0]
ret
movzx eax, byte [0x2045c002]
cmp al, 0xe
je 0x2018ece9
mov cl, 0x85
nop word cs:[rax + rax]
mov al, 0xd4
lock cmpxchg byte [0x2045c002], cl
je 0x2018ecb1
cmp al, 0xe
jne 0x2018ea60
jmp 0x2018ece9
xor eax, eax
lea rcx, [0x2045bf00]
lea rdx, [0x203765d0]
nop dword [rax]
movzx r8d, byte [rax + rdx]
xor byte [rax + rcx], r8b
inc rax
cmp eax, 0xa
jl 0x2018ea90
mov al, 0x58
xchg byte [0x2045bf0a], al
lea rax, [0x2045bf00]
ret
xor eax, eax
lea rcx, [0x2045bf60]
lea rdx, [0x20376620]
nop word cs:[rax + rax]
movzx r8d, byte [rax + rdx]
xor byte [rax + rcx], r8b
inc rax
cmp eax, 3
jl 0x2018ead0
mov al, 0x66
xchg byte [0x2045bf63], al
lea rax, [0x2045bf60]
ret
xor eax, eax
lea rcx, [0x2045bfa0]
lea rdx, [0x20376660]
nop word cs:[rax + rax]
movzx r8d, byte [rax + rdx]
xor byte [rax + rcx], r8b
inc rax
cmp eax, 0xb
jl 0x2018eb10
mov al, 0xbc
xchg byte [0x2045bfab], al
lea rax, [0x2045bfa0]
ret
xor eax, eax
lea rcx, [0x2045bec0]
lea rdx, [0x203765a0]
nop word cs:[rax + rax]
movzx r8d, byte [rax + rdx]
add byte [rax + rcx], r8b
inc rax
cmp eax, 0x10
jl 0x2018eb50
mov al, 0x3b
xchg byte [0x2045bed0], al
lea rax, [0x2045bec0]
ret
xor eax, eax
lea rcx, [0x2045c010]
lea rdx, [0x203766d0]
nop word cs:[rax + rax]
movzx r8d, byte [rax + rdx]
add byte [rax + rcx], r8b
inc rax
cmp eax, 0xb
jl 0x2018eb90
mov al, 0xbc
xchg byte [0x2045c01b], al
lea rax, [0x2045c010]
ret
xor eax, eax
lea rcx, [0x2045be70]
lea rdx, [0x20376550]
nop word cs:[rax + rax]
movzx r8d, byte [rax + rdx]
xor byte [rax + rcx], r8b
inc rax
cmp eax, 0x15
jl 0x2018ebd0
mov al, 0xdd
xchg byte [0x2045be85], al
lea rax, [0x2045be70]
ret
xor eax, eax
lea rcx, [0x2045bfb0]
lea rdx, [0x20376670]
nop word cs:[rax + rax]
movzx r8d, byte [rax + rdx]
xor byte [rax + rcx], r8b
inc rax
cmp eax, 0xf
jl 0x2018ec10
mov al, 0x50
xchg byte [0x2045bfbf], al
lea rax, [0x2045bfb0]
ret
xor eax, eax
lea rcx, [0x2045bf70]
lea rdx, [0x20376630]
nop word cs:[rax + rax]
movzx r8d, byte [rax + rdx]
xor byte [rax + rcx], r8b
inc rax
cmp eax, 0x23
jl 0x2018ec50
mov al, 0xda
xchg byte [0x204a2370], al
lea rax, [0x2045bf70]
ret
xor eax, eax
lea rcx, [0x2045bf30]
lea rdx, [0x203765f0]
nop word cs:[rax + rax]
movzx r8d, byte [rax + rdx]
add byte [rax + rcx], r8b
inc rax
cmp eax, 0x1c
jl 0x2018ec90
mov al, 0x60
xchg byte [0x2045bf4c], al
lea rax, [0x2045bf30]
ret
xor eax, eax
lea rcx, [0x2045c000]
lea rdx, [0x203766c0]
nop word cs:[rax + rax]
movzx r8d, byte [rax + rdx]
xor byte [rax + rcx], r8b
inc rax
cmp eax, 2
jl 0x2018ecd0
mov al, 0xe
xchg byte [0x2045c002], al
lea rax, [0x2045c000]
ret