Function at 0x140218340
Capabilities:
Encode data using xor

Disassembly:
test ecx, ecx
je 0x14021838c
test edx, edx
je 0x1402183dc
test r8d, r8d
je 0x14021841c
test r9d, r9d
je 0x140218499
movzx eax, byte [0x1404848e6]
cmp al, 0x25
je 0x140218384
mov cl, 0x60
nop dword [rax + rax]
mov al, 0x7f
lock cmpxchg byte [0x1404848e6], cl
je 0x140218619
cmp al, 0x25
jne 0x140218370
lea rax, [0x1404848c0]
ret
test edx, edx
je 0x14021845c
test r8d, r8d
je 0x1402184cc
test r9d, r9d
je 0x140218549
movzx eax, byte [0x140484a6d]
cmp al, 0xbc
je 0x1402183d4
mov cl, 9
nop word cs:[rax + rax]
mov al, 0x94
lock cmpxchg byte [0x140484a6d], cl
je 0x1402186e9
cmp al, 0xbc
jne 0x1402183c0
lea rax, [0x140484a60]
ret
test r8d, r8d
je 0x140218509
test r9d, r9d
je 0x140218579
movzx eax, byte [0x140484965]
cmp al, 0x37
je 0x140218414
mov cl, 0xd7
nop dword [rax + rax]
mov al, 0x18
lock cmpxchg byte [0x140484965], cl
je 0x140218721
cmp al, 0x37
jne 0x140218400
lea rax, [0x140484950]
ret
test r9d, r9d
je 0x1402185a9
movzx eax, byte [0x14048494d]
cmp al, 0x2f
je 0x140218454
mov cl, 0x34
nop word cs:[rax + rax]
mov al, 0x7e
lock cmpxchg byte [0x14048494d], cl
je 0x140218761
cmp al, 0x2f
jne 0x140218440
lea rax, [0x140484940]
ret
test r8d, r8d
je 0x1402185d9
test r9d, r9d
je 0x140218651
movzx eax, byte [0x1404848f2]
cmp al, 8
je 0x140218879
mov cl, 0x5d
nop
mov al, 0xac
lock cmpxchg byte [0x1404848f2], cl
je 0x140218841
cmp al, 8
jne 0x140218480
jmp 0x140218879
movzx eax, byte [0x140484902]
cmp al, 0xc0
je 0x1402184c4
mov cl, 0xa8
nop word cs:[rax + rax]
mov al, 0x7b
lock cmpxchg byte [0x140484902], cl
je 0x1402187a1
cmp al, 0xc0
jne 0x1402184b0
lea rax, [0x140484900]
ret
test r9d, r9d
je 0x140218689
movzx eax, byte [0x140484802]
cmp al, 0xed
je 0x1402188b9
mov cl, 0x3f
nop word cs:[rax + rax]
mov al, 0x86
lock cmpxchg byte [0x140484802], cl
je 0x140218881
cmp al, 0xed
jne 0x1402184f0
jmp 0x1402188b9
test r9d, r9d
je 0x1402186b9
movzx eax, byte [0x140484991]
cmp al, 0xcf
je 0x1402188f9
mov cl, 0x24
nop word cs:[rax + rax]
mov al, 0x82
lock cmpxchg byte [0x140484991], cl
je 0x1402188c1
cmp al, 0xcf
jne 0x140218530
jmp 0x1402188f9
movzx eax, byte [0x140484aaa]
cmp al, 0xa1
je 0x140218939
mov cl, 0xe
nop word [rax + rax]
mov al, 0x22
lock cmpxchg byte [0x140484aaa], cl
je 0x140218901
cmp al, 0xa1
jne 0x140218560
jmp 0x140218939
cmp byte [0x140484a3d], 0
je 0x140218839
mov cl, 0xa6
nop dword [rax + rax]
mov al, 0xc9
lock cmpxchg byte [0x140484a3d], cl
je 0x14021880b
test al, al
jne 0x140218590
jmp 0x140218839
movzx eax, byte [0x140484767]
cmp al, 0x15
je 0x140218979
mov cl, 0x94
nop word [rax + rax]
mov al, 0xf8
lock cmpxchg byte [0x140484767], cl
je 0x140218941
cmp al, 0x15
jne 0x1402185c0
jmp 0x140218979
test r9d, r9d
je 0x1402187e1
movzx eax, byte [0x140484893]
cmp al, 0x15
je 0x1402189b9
mov cl, 0x7b
nop word cs:[rax + rax]
mov al, 0xf2
lock cmpxchg byte [0x140484893], cl
je 0x140218981
cmp al, 0x15
jne 0x140218600
jmp 0x1402189b9
xor eax, eax
lea rcx, [0x1404848c0]
lea rdx, [0x140399a80]
nop dword [rax]
movzx r8d, byte [rax + rdx]
add byte [rax + rcx], r8b
inc rax
cmp eax, 0x26
jl 0x140218630
mov al, 0x25
xchg byte [0x1404848e6], al
lea rax, [0x1404848c0]
ret
movzx eax, byte [0x1404847a6]
cmp al, 0xea
je 0x1402189f9
mov cl, 0xc9
nop word cs:[rax + rax]
mov al, 0x80
lock cmpxchg byte [0x1404847a6], cl
je 0x1402189c1
cmp al, 0xea
jne 0x140218670
jmp 0x1402189f9
movzx eax, byte [0x1404849f3]
cmp al, 0x28
je 0x140218a39
mov cl, 0x48
nop word [rax + rax]
mov al, 0xa4
lock cmpxchg byte [0x1404849f3], cl
je 0x140218a01
cmp al, 0x28
jne 0x1402186a0
jmp 0x140218a39
movzx eax, byte [0x14048492d]
cmp al, 0x53
je 0x140218a79
mov cl, 0xc3
nop word [rax + rax]
mov al, 0x8c
lock cmpxchg byte [0x14048492d], cl
je 0x140218a41
cmp al, 0x53
jne 0x1402186d0
jmp 0x140218a79
xor eax, eax
lea rcx, [0x140484a60]
lea rdx, [0x140399c20]
nop dword [rax]
movzx r8d, byte [rax + rdx]
add byte [rax + rcx], r8b
inc rax
cmp eax, 0xd
jl 0x140218700
mov al, 0xbc
xchg byte [0x140484a6d], al
lea rax, [0x140484a60]
ret
xor eax, eax
lea rcx, [0x140484950]
lea rdx, [0x140399b10]
nop word cs:[rax + rax]
movzx r8d, byte [rax + rdx]
add byte [rax + rcx], r8b
inc rax
cmp eax, 0x15
jl 0x140218740
mov al, 0x37
xchg byte [0x140484965], al
lea rax, [0x140484950]
ret
xor eax, eax
lea rcx, [0x140484940]
lea rdx, [0x140399b00]
nop word cs:[rax + rax]
movzx r8d, byte [rax + rdx]
xor byte [rax + rcx], r8b
inc rax
cmp eax, 0xd
jl 0x140218780
mov al, 0x2f
xchg byte [0x14048494d], al
lea rax, [0x140484940]
ret
xor eax, eax
lea rcx, [0x140484900]
lea rdx, [0x140399ac0]
nop word cs:[rax + rax]
movzx r8d, byte [rax + rdx]
xor byte [rax + rcx], r8b
inc rax
cmp eax, 2
jl 0x1402187c0
mov al, 0xc0
xchg byte [0x140484902], al
lea rax, [0x140484900]
ret
movzx eax, byte [0x14048491b]
cmp al, 0x50
je 0x140218aaa
mov cl, 0xc5
mov al, 0x77
lock cmpxchg byte [0x14048491b], cl
je 0x140218a81
cmp al, 0x50
jne 0x1402187f2
jmp 0x140218aaa
xor eax, eax
lea rcx, [0x140484a30]
lea rdx, [0x140399bf0]
nop dword [rax + rax]
movzx r8d, byte [rax + rdx]
xor byte [rax + rcx], r8b
inc rax
cmp eax, 0xd
jl 0x140218820
xor eax, eax
xchg byte [0x140484a3d], al
lea rax, [0x140484a30]
ret
xor eax, eax
lea rcx, [0x1404848f0]
lea rdx, [0x140399ab0]
nop word cs:[rax + rax]
movzx r8d, byte [rax + rdx]
xor byte [rax + rcx], r8b
inc rax
cmp eax, 2
jl 0x140218860
mov al, 8
xchg byte [0x1404848f2], al
lea rax, [0x1404848f0]
ret
xor eax, eax
lea rcx, [0x1404847f0]
lea rdx, [0x1403999b0]
nop word cs:[rax + rax]
movzx r8d, byte [rax + rdx]
xor byte [rax + rcx], r8b
inc rax
cmp eax, 0x12
jl 0x1402188a0
mov al, 0xed
xchg byte [0x140484802], al
lea rax, [0x1404847f0]
ret
xor eax, eax
lea rcx, [0x140484980]
lea rdx, [0x140399b40]
nop word cs:[rax + rax]
movzx r8d, byte [rax + rdx]
add byte [rax + rcx], r8b
inc rax
cmp eax, 0x11
jl 0x1402188e0
mov al, 0xcf
xchg byte [0x140484991], al
lea rax, [0x140484980]
ret
xor eax, eax
lea rcx, [0x140484a90]
lea rdx, [0x140399c50]
nop word cs:[rax + rax]
movzx r8d, byte [rax + rdx]
xor byte [rax + rcx], r8b
inc rax
cmp eax, 0x1a
jl 0x140218920
mov al, 0xa1
xchg byte [0x140484aaa], al
lea rax, [0x140484a90]
ret
xor eax, eax
lea rcx, [0x140484760]
lea rdx, [0x140399930]
nop word cs:[rax + rax]
movzx r8d, byte [rax + rdx]
add byte [rax + rcx], r8b
inc rax
cmp eax, 7
jl 0x140218960
mov al, 0x15
xchg byte [0x140484767], al
lea rax, [0x140484760]
ret
xor eax, eax
lea rcx, [0x140484870]
lea rdx, [0x140399a30]
nop word cs:[rax + rax]
movzx r8d, byte [rax + rdx]
add byte [rax + rcx], r8b
inc rax
cmp eax, 0x23
jl 0x1402189a0
mov al, 0x15
xchg byte [0x140484893], al
lea rax, [0x140484870]
ret
xor eax, eax
lea rcx, [0x1404847a0]
lea rdx, [0x140399970]
nop word cs:[rax + rax]
movzx r8d, byte [rax + rdx]
xor byte [rax + rcx], r8b
inc rax
cmp eax, 6
jl 0x1402189e0
mov al, 0xea
xchg byte [0x1404847a6], al
lea rax, [0x1404847a0]
ret
xor eax, eax
lea rcx, [0x1404849e0]
lea rdx, [0x140399ba0]
nop word cs:[rax + rax]
movzx r8d, byte [rax + rdx]
add byte [rax + rcx], r8b
inc rax
cmp eax, 0x13
jl 0x140218a20
mov al, 0x28
xchg byte [0x1404849f3], al
lea rax, [0x1404849e0]
ret
xor eax, eax
lea rcx, [0x140484920]
lea rdx, [0x140399ae0]
nop word cs:[rax + rax]
movzx r8d, byte [rax + rdx]
add byte [rax + rcx], r8b
inc rax
cmp eax, 0xd
jl 0x140218a60
mov al, 0x53
xchg byte [0x14048492d], al
lea rax, [0x140484920]
ret
xor eax, eax
lea rcx, [0x140484910]
lea rdx, [0x140399ad0]
movzx r8d, byte [rax + rdx]
xor byte [rax + rcx], r8b
inc rax
cmp eax, 0xb
jl 0x140218a91
mov al, 0x50
xchg byte [0x14048491b], al
lea rax, [0x140484910]
ret