Function at 0x140223cb0
Capabilities:
Encode data using xor

Disassembly:
test ecx, ecx
je 0x140223cfc
test edx, edx
je 0x140223d3c
test r8d, r8d
je 0x140223d7c
test r9d, r9d
je 0x140223dfc
movzx eax, byte [0x140486925]
cmp al, 0xae
je 0x140223cf4
mov cl, 0xea
nop dword [rax + rax]
mov al, 0x6c
lock cmpxchg byte [0x140486925], cl
je 0x140223f29
cmp al, 0xae
jne 0x140223ce0
lea rax, [0x140486920]
ret
test edx, edx
je 0x140223dbc
test r8d, r8d
je 0x140223e2c
movzx eax, byte [0x140486682]
cmp al, 0xab
je 0x140223d34
mov cl, 0xd2
nop word [rax + rax]
mov al, 0x3c
lock cmpxchg byte [0x140486682], cl
je 0x140223f61
cmp al, 0xab
jne 0x140223d20
lea rax, [0x140486680]
ret
test r8d, r8d
je 0x140223e5c
test r9d, r9d
je 0x140223e99
movzx eax, byte [0x140486a0e]
cmp al, 0x16
je 0x140223d74
mov cl, 0x51
nop dword [rax + rax]
mov al, 0x59
lock cmpxchg byte [0x140486a0e], cl
je 0x140223fd9
cmp al, 0x16
jne 0x140223d60
lea rax, [0x140486a00]
ret
test r9d, r9d
je 0x140223ec9
movzx eax, byte [0x140486a65]
cmp al, 0x83
je 0x140223db4
mov cl, 0x2e
nop word cs:[rax + rax]
mov al, 0x59
lock cmpxchg byte [0x140486a65], cl
je 0x140224011
cmp al, 0x83
jne 0x140223da0
lea rax, [0x140486a50]
ret
test r8d, r8d
je 0x140223ef9
movzx eax, byte [0x1404869b6]
cmp al, 0xea
je 0x140223df4
mov cl, 0x2f
nop word cs:[rax + rax]
mov al, 0x73
lock cmpxchg byte [0x1404869b6], cl
je 0x140224091
cmp al, 0xea
jne 0x140223de0
lea rax, [0x140486990]
ret
movzx eax, byte [0x140486859]
cmp al, 0x56
je 0x140223e24
mov cl, 0x63
nop dword [rax]
mov al, 0x1d
lock cmpxchg byte [0x140486859], cl
je 0x140224051
cmp al, 0x56
jne 0x140223e10
lea rax, [0x140486850]
ret
movzx eax, byte [0x140486769]
cmp al, 0x45
je 0x140223e54
mov cl, 0x6e
nop dword [rax]
mov al, 0x3b
lock cmpxchg byte [0x140486769], cl
je 0x1402240d1
cmp al, 0x45
jne 0x140223e40
lea rax, [0x140486760]
ret
test r9d, r9d
je 0x140223fa1
movzx eax, byte [0x1404867c2]
cmp al, 0x24
je 0x140224149
mov cl, 0x27
nop word cs:[rax + rax]
mov al, 0xab
lock cmpxchg byte [0x1404867c2], cl
je 0x140224111
cmp al, 0x24
jne 0x140223e80
jmp 0x140224149
movzx eax, byte [0x14048697b]
cmp al, 0xb9
je 0x140224189
mov cl, 0x9d
nop word [rax + rax]
mov al, 0xdf
lock cmpxchg byte [0x14048697b], cl
je 0x140224151
cmp al, 0xb9
jne 0x140223eb0
jmp 0x140224189
movzx eax, byte [0x140486848]
cmp al, 0x45
je 0x1402241c9
xor ecx, ecx
nop word [rax + rax]
mov al, 0xa5
lock cmpxchg byte [0x140486848], cl
je 0x140224191
cmp al, 0x45
jne 0x140223ee0
jmp 0x1402241c9
movzx eax, byte [0x14048698f]
cmp al, 0x6b
je 0x140224209
mov cl, 0x45
nop word [rax + rax]
mov al, 0xc7
lock cmpxchg byte [0x14048698f], cl
je 0x1402241d1
cmp al, 0x6b
jne 0x140223f10
jmp 0x140224209
xor eax, eax
lea rcx, [0x140486920]
lea rdx, [0x14039ba90]
nop dword [rax]
movzx r8d, byte [rax + rdx]
add byte [rax + rcx], r8b
inc rax
cmp eax, 5
jl 0x140223f40
mov al, 0xae
xchg byte [0x140486925], al
lea rax, [0x140486920]
ret
xor eax, eax
lea rcx, [0x140486680]
lea rdx, [0x14039b800]
nop word cs:[rax + rax]
movzx r8d, byte [rax + rdx]
add byte [rax + rcx], r8b
inc rax
cmp eax, 2
jl 0x140223f80
mov al, 0xab
xchg byte [0x140486682], al
lea rax, [0x140486680]
ret
movzx eax, byte [0x1404869c2]
cmp al, 0xbf
je 0x140224249
mov cl, 0x78
nop word cs:[rax + rax]
mov al, 0xa0
lock cmpxchg byte [0x1404869c2], cl
je 0x140224211
cmp al, 0xbf
jne 0x140223fc0
jmp 0x140224249
xor eax, eax
lea rcx, [0x140486a00]
lea rdx, [0x14039bb70]
nop dword [rax]
movzx r8d, byte [rax + rdx]
xor byte [rax + rcx], r8b
inc rax
cmp eax, 0xe
jl 0x140223ff0
mov al, 0x16
xchg byte [0x140486a0e], al
lea rax, [0x140486a00]
ret
xor eax, eax
lea rcx, [0x140486a50]
lea rdx, [0x14039bbc0]
nop word cs:[rax + rax]
movzx r8d, byte [rax + rdx]
xor byte [rax + rcx], r8b
inc rax
cmp eax, 0x15
jl 0x140224030
mov al, 0x83
xchg byte [0x140486a65], al
lea rax, [0x140486a50]
ret
xor eax, eax
lea rcx, [0x140486850]
lea rdx, [0x14039b9c0]
nop word cs:[rax + rax]
movzx r8d, byte [rax + rdx]
xor byte [rax + rcx], r8b
inc rax
cmp eax, 9
jl 0x140224070
mov al, 0x56
xchg byte [0x140486859], al
lea rax, [0x140486850]
ret
xor eax, eax
lea rcx, [0x140486990]
lea rdx, [0x14039bb00]
nop word cs:[rax + rax]
movzx r8d, byte [rax + rdx]
xor byte [rax + rcx], r8b
inc rax
cmp eax, 0x26
jl 0x1402240b0
mov al, 0xea
xchg byte [0x1404869b6], al
lea rax, [0x140486990]
ret
xor eax, eax
lea rcx, [0x140486760]
lea rdx, [0x14039b8b0]
nop word cs:[rax + rax]
movzx r8d, byte [rax + rdx]
add byte [rax + rcx], r8b
inc rax
cmp eax, 9
jl 0x1402240f0
mov al, 0x45
xchg byte [0x140486769], al
lea rax, [0x140486760]
ret
xor eax, eax
lea rcx, [0x1404867b0]
lea rdx, [0x14039b900]
nop word cs:[rax + rax]
movzx r8d, byte [rax + rdx]
xor byte [rax + rcx], r8b
inc rax
cmp eax, 0x12
jl 0x140224130
mov al, 0x24
xchg byte [0x1404867c2], al
lea rax, [0x1404867b0]
ret
xor eax, eax
lea rcx, [0x140486970]
lea rdx, [0x14039bae0]
nop word cs:[rax + rax]
movzx r8d, byte [rax + rdx]
xor byte [rax + rcx], r8b
inc rax
cmp eax, 0xb
jl 0x140224170
mov al, 0xb9
xchg byte [0x14048697b], al
lea rax, [0x140486970]
ret
xor eax, eax
lea rcx, [0x140486830]
lea rdx, [0x14039b960]
nop word cs:[rax + rax]
movzx r8d, byte [rax + rdx]
add byte [rax + rcx], r8b
inc rax
cmp eax, 0x18
jl 0x1402241b0
mov al, 0x45
xchg byte [0x140486848], al
lea rax, [0x140486830]
ret
xor eax, eax
lea rcx, [0x140486980]
lea rdx, [0x14039baf0]
nop word cs:[rax + rax]
movzx r8d, byte [rax + rdx]
xor byte [rax + rcx], r8b
inc rax
cmp eax, 0xf
jl 0x1402241f0
mov al, 0x6b
xchg byte [0x14048698f], al
lea rax, [0x140486980]
ret
xor eax, eax
lea rcx, [0x1404869c0]
lea rdx, [0x14039bb30]
nop word cs:[rax + rax]
movzx r8d, byte [rax + rdx]
xor byte [rax + rcx], r8b
inc rax
cmp eax, 2
jl 0x140224230
mov al, 0xbf
xchg byte [0x1404869c2], al
lea rax, [0x1404869c0]
ret