Function at 0x140222040
Capabilities:
Encode data using xor

Disassembly:
test ecx, ecx
je 0x14022208c
test edx, edx
je 0x1402220cc
test r8d, r8d
je 0x14022210c
test r9d, r9d
je 0x14022218c
movzx eax, byte [0x1404858e5]
cmp al, 0xae
je 0x140222084
mov cl, 0xea
nop dword [rax + rax]
mov al, 0x6c
lock cmpxchg byte [0x1404858e5], cl
je 0x1402222b9
cmp al, 0xae
jne 0x140222070
lea rax, [0x1404858e0]
ret
test edx, edx
je 0x14022214c
test r8d, r8d
je 0x1402221bc
movzx eax, byte [0x140485642]
cmp al, 0xab
je 0x1402220c4
mov cl, 0xd2
nop word [rax + rax]
mov al, 0x3c
lock cmpxchg byte [0x140485642], cl
je 0x1402222f1
cmp al, 0xab
jne 0x1402220b0
lea rax, [0x140485640]
ret
test r8d, r8d
je 0x1402221ec
test r9d, r9d
je 0x140222229
movzx eax, byte [0x1404859ce]
cmp al, 0x16
je 0x140222104
mov cl, 0x51
nop dword [rax + rax]
mov al, 0x59
lock cmpxchg byte [0x1404859ce], cl
je 0x140222369
cmp al, 0x16
jne 0x1402220f0
lea rax, [0x1404859c0]
ret
test r9d, r9d
je 0x140222259
movzx eax, byte [0x140485a25]
cmp al, 0x83
je 0x140222144
mov cl, 0x2e
nop word cs:[rax + rax]
mov al, 0x59
lock cmpxchg byte [0x140485a25], cl
je 0x1402223a1
cmp al, 0x83
jne 0x140222130
lea rax, [0x140485a10]
ret
test r8d, r8d
je 0x140222289
movzx eax, byte [0x140485976]
cmp al, 0xea
je 0x140222184
mov cl, 0x2f
nop word cs:[rax + rax]
mov al, 0x73
lock cmpxchg byte [0x140485976], cl
je 0x140222421
cmp al, 0xea
jne 0x140222170
lea rax, [0x140485950]
ret
movzx eax, byte [0x140485819]
cmp al, 0x56
je 0x1402221b4
mov cl, 0x63
nop dword [rax]
mov al, 0x1d
lock cmpxchg byte [0x140485819], cl
je 0x1402223e1
cmp al, 0x56
jne 0x1402221a0
lea rax, [0x140485810]
ret
movzx eax, byte [0x140485729]
cmp al, 0x45
je 0x1402221e4
mov cl, 0x6e
nop dword [rax]
mov al, 0x3b
lock cmpxchg byte [0x140485729], cl
je 0x140222461
cmp al, 0x45
jne 0x1402221d0
lea rax, [0x140485720]
ret
test r9d, r9d
je 0x140222331
movzx eax, byte [0x140485782]
cmp al, 0x24
je 0x1402224d9
mov cl, 0x27
nop word cs:[rax + rax]
mov al, 0xab
lock cmpxchg byte [0x140485782], cl
je 0x1402224a1
cmp al, 0x24
jne 0x140222210
jmp 0x1402224d9
movzx eax, byte [0x14048593b]
cmp al, 0xb9
je 0x140222519
mov cl, 0x9d
nop word [rax + rax]
mov al, 0xdf
lock cmpxchg byte [0x14048593b], cl
je 0x1402224e1
cmp al, 0xb9
jne 0x140222240
jmp 0x140222519
movzx eax, byte [0x140485808]
cmp al, 0x45
je 0x140222559
xor ecx, ecx
nop word [rax + rax]
mov al, 0xa5
lock cmpxchg byte [0x140485808], cl
je 0x140222521
cmp al, 0x45
jne 0x140222270
jmp 0x140222559
movzx eax, byte [0x14048594f]
cmp al, 0x6b
je 0x140222599
mov cl, 0x45
nop word [rax + rax]
mov al, 0xc7
lock cmpxchg byte [0x14048594f], cl
je 0x140222561
cmp al, 0x6b
jne 0x1402222a0
jmp 0x140222599
xor eax, eax
lea rcx, [0x1404858e0]
lea rdx, [0x14039aa80]
nop dword [rax]
movzx r8d, byte [rax + rdx]
add byte [rax + rcx], r8b
inc rax
cmp eax, 5
jl 0x1402222d0
mov al, 0xae
xchg byte [0x1404858e5], al
lea rax, [0x1404858e0]
ret
xor eax, eax
lea rcx, [0x140485640]
lea rdx, [0x14039a7f0]
nop word cs:[rax + rax]
movzx r8d, byte [rax + rdx]
add byte [rax + rcx], r8b
inc rax
cmp eax, 2
jl 0x140222310
mov al, 0xab
xchg byte [0x140485642], al
lea rax, [0x140485640]
ret
movzx eax, byte [0x140485982]
cmp al, 0xbf
je 0x1402225d9
mov cl, 0x78
nop word cs:[rax + rax]
mov al, 0xa0
lock cmpxchg byte [0x140485982], cl
je 0x1402225a1
cmp al, 0xbf
jne 0x140222350
jmp 0x1402225d9
xor eax, eax
lea rcx, [0x1404859c0]
lea rdx, [0x14039ab60]
nop dword [rax]
movzx r8d, byte [rax + rdx]
xor byte [rax + rcx], r8b
inc rax
cmp eax, 0xe
jl 0x140222380
mov al, 0x16
xchg byte [0x1404859ce], al
lea rax, [0x1404859c0]
ret
xor eax, eax
lea rcx, [0x140485a10]
lea rdx, [0x14039abb0]
nop word cs:[rax + rax]
movzx r8d, byte [rax + rdx]
xor byte [rax + rcx], r8b
inc rax
cmp eax, 0x15
jl 0x1402223c0
mov al, 0x83
xchg byte [0x140485a25], al
lea rax, [0x140485a10]
ret
xor eax, eax
lea rcx, [0x140485810]
lea rdx, [0x14039a9b0]
nop word cs:[rax + rax]
movzx r8d, byte [rax + rdx]
xor byte [rax + rcx], r8b
inc rax
cmp eax, 9
jl 0x140222400
mov al, 0x56
xchg byte [0x140485819], al
lea rax, [0x140485810]
ret
xor eax, eax
lea rcx, [0x140485950]
lea rdx, [0x14039aaf0]
nop word cs:[rax + rax]
movzx r8d, byte [rax + rdx]
xor byte [rax + rcx], r8b
inc rax
cmp eax, 0x26
jl 0x140222440
mov al, 0xea
xchg byte [0x140485976], al
lea rax, [0x140485950]
ret
xor eax, eax
lea rcx, [0x140485720]
lea rdx, [0x14039a8a0]
nop word cs:[rax + rax]
movzx r8d, byte [rax + rdx]
add byte [rax + rcx], r8b
inc rax
cmp eax, 9
jl 0x140222480
mov al, 0x45
xchg byte [0x140485729], al
lea rax, [0x140485720]
ret
xor eax, eax
lea rcx, [0x140485770]
lea rdx, [0x14039a8f0]
nop word cs:[rax + rax]
movzx r8d, byte [rax + rdx]
xor byte [rax + rcx], r8b
inc rax
cmp eax, 0x12
jl 0x1402224c0
mov al, 0x24
xchg byte [0x140485782], al
lea rax, [0x140485770]
ret
xor eax, eax
lea rcx, [0x140485930]
lea rdx, [0x14039aad0]
nop word cs:[rax + rax]
movzx r8d, byte [rax + rdx]
xor byte [rax + rcx], r8b
inc rax
cmp eax, 0xb
jl 0x140222500
mov al, 0xb9
xchg byte [0x14048593b], al
lea rax, [0x140485930]
ret
xor eax, eax
lea rcx, [0x1404857f0]
lea rdx, [0x14039a950]
nop word cs:[rax + rax]
movzx r8d, byte [rax + rdx]
add byte [rax + rcx], r8b
inc rax
cmp eax, 0x18
jl 0x140222540
mov al, 0x45
xchg byte [0x140485808], al
lea rax, [0x1404857f0]
ret
xor eax, eax
lea rcx, [0x140485940]
lea rdx, [0x14039aae0]
nop word cs:[rax + rax]
movzx r8d, byte [rax + rdx]
xor byte [rax + rcx], r8b
inc rax
cmp eax, 0xf
jl 0x140222580
mov al, 0x6b
xchg byte [0x14048594f], al
lea rax, [0x140485940]
ret
xor eax, eax
lea rcx, [0x140485980]
lea rdx, [0x14039ab20]
nop word cs:[rax + rax]
movzx r8d, byte [rax + rdx]
xor byte [rax + rcx], r8b
inc rax
cmp eax, 2
jl 0x1402225c0
mov al, 0xbf
xchg byte [0x140485982], al
lea rax, [0x140485980]
ret