Function at 0x20181260
Capabilities:
Encode data using xor

Disassembly:
test ecx, ecx
je 0x201812ac
test edx, edx
je 0x201812fc
test r8d, r8d
je 0x2018133c
test r9d, r9d
je 0x201813b9
movzx eax, byte [0x20459ddc]
cmp al, 0x76
je 0x201812a4
mov cl, 0x58
nop dword [rax + rax]
mov al, 0x43
lock cmpxchg byte [0x20459ddc], cl
je 0x20181539
cmp al, 0x76
jne 0x20181290
lea rax, [0x20459dc0]
ret
test edx, edx
je 0x2018137c
test r8d, r8d
je 0x201813ec
test r9d, r9d
je 0x20181469
movzx eax, byte [0x20459db0]
cmp al, 0xd8
je 0x201812f4
mov cl, 0x89
nop word cs:[rax + rax]
mov al, 0xeb
lock cmpxchg byte [0x20459db0], cl
je 0x20181641
cmp al, 0xd8
jne 0x201812e0
lea rax, [0x20459da0]
ret
test r8d, r8d
je 0x20181429
test r9d, r9d
je 0x20181499
movzx eax, byte [0x20459e82]
cmp al, 0xff
je 0x20181334
mov cl, 0xe
nop dword [rax + rax]
mov al, 0xf5
lock cmpxchg byte [0x20459e82], cl
je 0x20181609
cmp al, 0xff
jne 0x20181320
lea rax, [0x20459e80]
ret
test r9d, r9d
je 0x201814c9
movzx eax, byte [0x20459d92]
cmp al, 0xdf
je 0x20181374
mov cl, 0x34
nop word cs:[rax + rax]
mov al, 0xd7
lock cmpxchg byte [0x20459d92], cl
je 0x20181681
cmp al, 0xdf
jne 0x20181360
lea rax, [0x20459d80]
ret
test r8d, r8d
je 0x201814f9
test r9d, r9d
je 0x20181571
movzx eax, byte [0x20459ebb]
cmp al, 0x5a
je 0x20181759
mov cl, 0x88
nop
mov al, 0x23
lock cmpxchg byte [0x20459ebb], cl
je 0x2018172b
cmp al, 0x5a
jne 0x201813a0
jmp 0x20181759
movzx eax, byte [0x20459ecf]
cmp al, 0x87
je 0x201813e4
mov cl, 0x7f
nop word cs:[rax + rax]
mov al, 0x41
lock cmpxchg byte [0x20459ecf], cl
je 0x201816c1
cmp al, 0x87
jne 0x201813d0
lea rax, [0x20459ec0]
ret
test r9d, r9d
je 0x201815a9
movzx eax, byte [0x20459e23]
cmp al, 0x63
je 0x20181799
mov cl, 0x69
nop word cs:[rax + rax]
mov al, 0xaf
lock cmpxchg byte [0x20459e23], cl
je 0x20181761
cmp al, 0x63
jne 0x20181410
jmp 0x20181799
test r9d, r9d
je 0x201815d9
movzx eax, byte [0x20459ef3]
cmp al, 0xa0
je 0x201817d9
mov cl, 0x61
nop word cs:[rax + rax]
mov al, 0x12
lock cmpxchg byte [0x20459ef3], cl
je 0x201817a1
cmp al, 0xa0
jne 0x20181450
jmp 0x201817d9
movzx eax, byte [0x20459e4f]
cmp al, 0x28
je 0x20181819
mov cl, 0x22
nop word [rax + rax]
mov al, 0x2b
lock cmpxchg byte [0x20459e4f], cl
je 0x201817e1
cmp al, 0x28
jne 0x20181480
jmp 0x20181819
movzx eax, byte [0x20459e3b]
cmp al, 0x34
je 0x20181859
mov cl, 0x71
nop word [rax + rax]
mov al, 0x15
lock cmpxchg byte [0x20459e3b], cl
je 0x20181821
cmp al, 0x34
jne 0x201814b0
jmp 0x20181859
movzx eax, byte [0x20459e92]
cmp al, 0x5e
je 0x20181899
mov cl, 0xd0
nop word [rax + rax]
mov al, 0xc
lock cmpxchg byte [0x20459e92], cl
je 0x20181861
cmp al, 0x5e
jne 0x201814e0
jmp 0x20181899
test r9d, r9d
je 0x20181701
movzx eax, byte [0x20459d51]
cmp al, 0x3f
je 0x201818d9
mov cl, 0x45
nop word cs:[rax + rax]
mov al, 0x1e
lock cmpxchg byte [0x20459d51], cl
je 0x201818a1
cmp al, 0x3f
jne 0x20181520
jmp 0x201818d9
xor eax, eax
lea rcx, [0x20459dc0]
lea rdx, [0x20375680]
nop dword [rax]
movzx r8d, byte [rax + rdx]
xor byte [rax + rcx], r8b
inc rax
cmp eax, 0x1c
jl 0x20181550
mov al, 0x76
xchg byte [0x20459ddc], al
lea rax, [0x20459dc0]
ret
movzx eax, byte [0x20459de5]
cmp al, 0x56
je 0x20181919
mov cl, 0xa5
nop word cs:[rax + rax]
mov al, 0x5c
lock cmpxchg byte [0x20459de5], cl
je 0x201818e1
cmp al, 0x56
jne 0x20181590
jmp 0x20181919
movzx eax, byte [0x20459df3]
cmp al, 0x33
je 0x20181959
mov cl, 0xc5
nop word [rax + rax]
mov al, 0xf5
lock cmpxchg byte [0x20459df3], cl
je 0x20181921
cmp al, 0x33
jne 0x201815c0
jmp 0x20181959
movzx eax, byte [0x20459d75]
cmp al, 0x6d
je 0x20181999
mov cl, 0x8a
nop word [rax + rax]
mov al, 0x2f
lock cmpxchg byte [0x20459d75], cl
je 0x20181961
cmp al, 0x6d
jne 0x201815f0
jmp 0x20181999
xor eax, eax
lea rcx, [0x20459e80]
lea rdx, [0x20375740]
nop dword [rax]
movzx r8d, byte [rax + rdx]
xor byte [rax + rcx], r8b
inc rax
cmp eax, 2
jl 0x20181620
mov al, 0xff
xchg byte [0x20459e82], al
lea rax, [0x20459e80]
ret
xor eax, eax
lea rcx, [0x20459da0]
lea rdx, [0x20375670]
nop word cs:[rax + rax]
movzx r8d, byte [rax + rdx]
add byte [rax + rcx], r8b
inc rax
cmp eax, 0x10
jl 0x20181660
mov al, 0xd8
xchg byte [0x20459db0], al
lea rax, [0x20459da0]
ret
xor eax, eax
lea rcx, [0x20459d80]
lea rdx, [0x20375650]
nop word cs:[rax + rax]
movzx r8d, byte [rax + rdx]
xor byte [rax + rcx], r8b
inc rax
cmp eax, 0x12
jl 0x201816a0
mov al, 0xdf
xchg byte [0x20459d92], al
lea rax, [0x20459d80]
ret
xor eax, eax
lea rcx, [0x20459ec0]
lea rdx, [0x20375780]
nop word cs:[rax + rax]
movzx r8d, byte [rax + rdx]
add byte [rax + rcx], r8b
inc rax
cmp eax, 0xf
jl 0x201816e0
mov al, 0x87
xchg byte [0x20459ecf], al
lea rax, [0x20459ec0]
ret
movzx eax, byte [0x20459edd]
cmp al, 0x95
je 0x201819ca
mov cl, 0xbb
mov al, 0x73
lock cmpxchg byte [0x20459edd], cl
je 0x201819a1
cmp al, 0x95
jne 0x20181712
jmp 0x201819ca
xor eax, eax
lea rcx, [0x20459eb0]
lea rdx, [0x20375770]
nop dword [rax + rax]
movzx r8d, byte [rax + rdx]
add byte [rax + rcx], r8b
inc rax
cmp eax, 0xb
jl 0x20181740
mov al, 0x5a
xchg byte [0x20459ebb], al
lea rax, [0x20459eb0]
ret
xor eax, eax
lea rcx, [0x20459e00]
lea rdx, [0x203756c0]
nop word cs:[rax + rax]
movzx r8d, byte [rax + rdx]
xor byte [rax + rcx], r8b
inc rax
cmp eax, 0x23
jl 0x20181780
mov al, 0x63
xchg byte [0x20459e23], al
lea rax, [0x20459e00]
ret
xor eax, eax
lea rcx, [0x20459ee0]
lea rdx, [0x203757a0]
nop word cs:[rax + rax]
movzx r8d, byte [rax + rdx]
add byte [rax + rcx], r8b
inc rax
cmp eax, 0x13
jl 0x201817c0
mov al, 0xa0
xchg byte [0x20459ef3], al
lea rax, [0x20459ee0]
ret
xor eax, eax
lea rcx, [0x20459e40]
lea rdx, [0x20375700]
nop word cs:[rax + rax]
movzx r8d, byte [rax + rdx]
xor byte [rax + rcx], r8b
inc rax
cmp eax, 0xf
jl 0x20181800
mov al, 0x28
xchg byte [0x20459e4f], al
lea rax, [0x20459e40]
ret
xor eax, eax
lea rcx, [0x20459e30]
lea rdx, [0x203756f0]
nop word cs:[rax + rax]
movzx r8d, byte [rax + rdx]
xor byte [rax + rcx], r8b
inc rax
cmp eax, 0xb
jl 0x20181840
mov al, 0x34
xchg byte [0x20459e3b], al
lea rax, [0x20459e30]
ret
xor eax, eax
lea rcx, [0x20459e90]
lea rdx, [0x20375750]
nop word cs:[rax + rax]
movzx r8d, byte [rax + rdx]
add byte [rax + rcx], r8b
inc rax
cmp eax, 2
jl 0x20181880
mov al, 0x5e
xchg byte [0x20459e92], al
lea rax, [0x20459e90]
ret
xor eax, eax
lea rcx, [0x20459d40]
lea rdx, [0x20375610]
nop word cs:[rax + rax]
movzx r8d, byte [rax + rdx]
xor byte [rax + rcx], r8b
inc rax
cmp eax, 0x11
jl 0x201818c0
mov al, 0x3f
xchg byte [0x20459d51], al
lea rax, [0x20459d40]
ret
xor eax, eax
lea rcx, [0x20459de0]
lea rdx, [0x203756a0]
nop word cs:[rax + rax]
movzx r8d, byte [rax + rdx]
add byte [rax + rcx], r8b
inc rax
cmp eax, 5
jl 0x20181900
mov al, 0x56
xchg byte [0x20459de5], al
lea rax, [0x20459de0]
ret
xor eax, eax
lea rcx, [0x20459df0]
lea rdx, [0x203756b0]
nop word cs:[rax + rax]
movzx r8d, byte [rax + rdx]
add byte [rax + rcx], r8b
inc rax
cmp eax, 3
jl 0x20181940
mov al, 0x33
xchg byte [0x20459df3], al
lea rax, [0x20459df0]
ret
xor eax, eax
lea rcx, [0x20459d60]
lea rdx, [0x20375630]
nop word cs:[rax + rax]
movzx r8d, byte [rax + rdx]
xor byte [rax + rcx], r8b
inc rax
cmp eax, 0x15
jl 0x20181980
mov al, 0x6d
xchg byte [0x20459d75], al
lea rax, [0x20459d60]
ret
xor eax, eax
lea rcx, [0x20459ed0]
lea rdx, [0x20375790]
movzx r8d, byte [rax + rdx]
xor byte [rax + rcx], r8b
inc rax
cmp eax, 0xd
jl 0x201819b1
mov al, 0x95
xchg byte [0x20459edd], al
lea rax, [0x20459ed0]
ret