Function at 0x140228dc0
Capabilities:
Encode data using xor

Disassembly:
test ecx, ecx
je 0x140228e0c
test edx, edx
je 0x140228e5c
test r8d, r8d
je 0x140228e9c
test r9d, r9d
je 0x140228f19
movzx eax, byte [0x140513220]
cmp al, 0x11
je 0x140228e04
mov cl, 0x2f
nop dword [rax + rax]
mov al, 0x9d
lock cmpxchg byte [0x140513220], cl
je 0x140229099
cmp al, 0x11
jne 0x140228df0
lea rax, [0x140513210]
ret
test edx, edx
je 0x140228edc
test r8d, r8d
je 0x140228f4c
test r9d, r9d
je 0x140228fc9
movzx eax, byte [0x1405134aa]
cmp al, 0x6f
je 0x140228e54
mov cl, 0x3e
nop word cs:[rax + rax]
mov al, 0x94
lock cmpxchg byte [0x1405134aa], cl
je 0x140229169
cmp al, 0x6f
jne 0x140228e40
lea rax, [0x1405134a0]
ret
test r8d, r8d
je 0x140228f89
test r9d, r9d
je 0x140228ff9
movzx eax, byte [0x140513375]
cmp al, 0x89
je 0x140228e94
mov cl, 0xf
nop dword [rax + rax]
mov al, 0xb9
lock cmpxchg byte [0x140513375], cl
je 0x1402291a1
cmp al, 0x89
jne 0x140228e80
lea rax, [0x140513370]
ret
test r9d, r9d
je 0x140229029
movzx eax, byte [0x14051346d]
cmp al, 0x19
je 0x140228ed4
mov cl, 0xdc
nop word cs:[rax + rax]
mov al, 0xf2
lock cmpxchg byte [0x14051346d], cl
je 0x1402291e1
cmp al, 0x19
jne 0x140228ec0
lea rax, [0x140513460]
ret
test r8d, r8d
je 0x140229059
test r9d, r9d
je 0x1402290d1
movzx eax, byte [0x140513203]
cmp al, 0x4b
je 0x1402292b9
mov cl, 0xdc
nop
mov al, 0xf8
lock cmpxchg byte [0x140513203], cl
je 0x14022928b
cmp al, 0x4b
jne 0x140228f00
jmp 0x1402292b9
movzx eax, byte [0x140513342]
cmp al, 8
je 0x140228f44
mov cl, 4
nop word cs:[rax + rax]
mov al, 0xa9
lock cmpxchg byte [0x140513342], cl
je 0x140229221
cmp al, 8
jne 0x140228f30
lea rax, [0x140513330]
ret
test r9d, r9d
je 0x140229109
movzx eax, byte [0x14051332f]
cmp al, 0x48
je 0x1402292f9
mov cl, 0x87
nop word cs:[rax + rax]
mov al, 0xed
lock cmpxchg byte [0x14051332f], cl
je 0x1402292c1
cmp al, 0x48
jne 0x140228f70
jmp 0x1402292f9
test r9d, r9d
je 0x140229139
movzx eax, byte [0x140513293]
cmp al, 0x94
je 0x140229339
mov cl, 0xfb
nop word cs:[rax + rax]
mov al, 0x75
lock cmpxchg byte [0x140513293], cl
je 0x140229301
cmp al, 0x94
jne 0x140228fb0
jmp 0x140229339
movzx eax, byte [0x14051349d]
cmp al, 0x7c
je 0x140229379
mov cl, 0x15
nop word [rax + rax]
mov al, 0x86
lock cmpxchg byte [0x14051349d], cl
je 0x140229341
cmp al, 0x7c
jne 0x140228fe0
jmp 0x140229379
movzx eax, byte [0x14051344d]
cmp al, 0x56
je 0x1402293b9
mov cl, 0x95
nop word [rax + rax]
mov al, 0x3c
lock cmpxchg byte [0x14051344d], cl
je 0x140229381
cmp al, 0x56
jne 0x140229010
jmp 0x1402293b9
movzx eax, byte [0x140513406]
cmp al, 0x77
je 0x1402293f9
mov cl, 0x45
nop word [rax + rax]
mov al, 0x31
lock cmpxchg byte [0x140513406], cl
je 0x1402293c1
cmp al, 0x77
jne 0x140229040
jmp 0x1402293f9
test r9d, r9d
je 0x140229261
movzx eax, byte [0x140513253]
cmp al, 0xa5
je 0x140229439
mov cl, 0x7c
nop word cs:[rax + rax]
mov al, 0x66
lock cmpxchg byte [0x140513253], cl
je 0x140229401
cmp al, 0xa5
jne 0x140229080
jmp 0x140229439
xor eax, eax
lea rcx, [0x140513210]
lea rdx, [0x14042c9a0]
nop dword [rax]
movzx r8d, byte [rax + rdx]
xor byte [rax + rcx], r8b
inc rax
cmp eax, 0x10
jl 0x1402290b0
mov al, 0x11
xchg byte [0x140513220], al
lea rax, [0x140513210]
ret
movzx eax, byte [0x1405134cf]
cmp al, 0xc1
je 0x140229479
mov cl, 0xc6
nop word cs:[rax + rax]
mov al, 0xe2
lock cmpxchg byte [0x1405134cf], cl
je 0x140229441
cmp al, 0xc1
jne 0x1402290f0
jmp 0x140229479
movzx eax, byte [0x1405133cb]
cmp al, 0xdb
je 0x1402294b9
mov cl, 0x27
nop word [rax + rax]
mov al, 0xa9
lock cmpxchg byte [0x1405133cb], cl
je 0x140229481
cmp al, 0xdb
jne 0x140229120
jmp 0x1402294b9
movzx eax, byte [0x1405131f4]
cmp al, 0xc
je 0x1402294f9
mov cl, 0xa5
nop word [rax + rax]
mov al, 0x8e
lock cmpxchg byte [0x1405131f4], cl
je 0x1402294c1
cmp al, 0xc
jne 0x140229150
jmp 0x1402294f9
xor eax, eax
lea rcx, [0x1405134a0]
lea rdx, [0x14042cc20]
nop dword [rax]
movzx r8d, byte [rax + rdx]
xor byte [rax + rcx], r8b
inc rax
cmp eax, 0xa
jl 0x140229180
mov al, 0x6f
xchg byte [0x1405134aa], al
lea rax, [0x1405134a0]
ret
xor eax, eax
lea rcx, [0x140513370]
lea rdx, [0x14042caf0]
nop word cs:[rax + rax]
movzx r8d, byte [rax + rdx]
xor byte [rax + rcx], r8b
inc rax
cmp eax, 5
jl 0x1402291c0
mov al, 0x89
xchg byte [0x140513375], al
lea rax, [0x140513370]
ret
xor eax, eax
lea rcx, [0x140513460]
lea rdx, [0x14042cbe0]
nop word cs:[rax + rax]
movzx r8d, byte [rax + rdx]
add byte [rax + rcx], r8b
inc rax
cmp eax, 0xd
jl 0x140229200
mov al, 0x19
xchg byte [0x14051346d], al
lea rax, [0x140513460]
ret
xor eax, eax
lea rcx, [0x140513330]
lea rdx, [0x14042cab0]
nop word cs:[rax + rax]
movzx r8d, byte [rax + rdx]
add byte [rax + rcx], r8b
inc rax
cmp eax, 0x12
jl 0x140229240
mov al, 8
xchg byte [0x140513342], al
lea rax, [0x140513330]
ret
movzx eax, byte [0x140513245]
cmp al, 0x10
je 0x14022952a
mov cl, 0xb9
mov al, 0x6b
lock cmpxchg byte [0x140513245], cl
je 0x140229501
cmp al, 0x10
jne 0x140229272
jmp 0x14022952a
xor eax, eax
lea rcx, [0x140513200]
lea rdx, [0x14042c990]
nop dword [rax + rax]
movzx r8d, byte [rax + rdx]
xor byte [rax + rcx], r8b
inc rax
cmp eax, 3
jl 0x1402292a0
mov al, 0x4b
xchg byte [0x140513203], al
lea rax, [0x140513200]
ret
xor eax, eax
lea rcx, [0x140513320]
lea rdx, [0x14042caa0]
nop word cs:[rax + rax]
movzx r8d, byte [rax + rdx]
xor byte [rax + rcx], r8b
inc rax
cmp eax, 0xf
jl 0x1402292e0
mov al, 0x48
xchg byte [0x14051332f], al
lea rax, [0x140513320]
ret
xor eax, eax
lea rcx, [0x140513280]
lea rdx, [0x14042ca00]
nop word cs:[rax + rax]
movzx r8d, byte [rax + rdx]
xor byte [rax + rcx], r8b
inc rax
cmp eax, 0x13
jl 0x140229320
mov al, 0x94
xchg byte [0x140513293], al
lea rax, [0x140513280]
ret
xor eax, eax
lea rcx, [0x140513490]
lea rdx, [0x14042cc10]
nop word cs:[rax + rax]
movzx r8d, byte [rax + rdx]
xor byte [rax + rcx], r8b
inc rax
cmp eax, 0xd
jl 0x140229360
mov al, 0x7c
xchg byte [0x14051349d], al
lea rax, [0x140513490]
ret
xor eax, eax
lea rcx, [0x140513440]
lea rdx, [0x14042cbc0]
nop word cs:[rax + rax]
movzx r8d, byte [rax + rdx]
add byte [rax + rcx], r8b
inc rax
cmp eax, 0xd
jl 0x1402293a0
mov al, 0x56
xchg byte [0x14051344d], al
lea rax, [0x140513440]
ret
xor eax, eax
lea rcx, [0x1405133e0]
lea rdx, [0x14042cb60]
nop word cs:[rax + rax]
movzx r8d, byte [rax + rdx]
xor byte [rax + rcx], r8b
inc rax
cmp eax, 0x26
jl 0x1402293e0
mov al, 0x77
xchg byte [0x140513406], al
lea rax, [0x1405133e0]
ret
xor eax, eax
lea rcx, [0x140513250]
lea rdx, [0x14042c9d0]
nop word cs:[rax + rax]
movzx r8d, byte [rax + rdx]
xor byte [rax + rcx], r8b
inc rax
cmp eax, 3
jl 0x140229420
mov al, 0xa5
xchg byte [0x140513253], al
lea rax, [0x140513250]
ret
xor eax, eax
lea rcx, [0x1405134c0]
lea rdx, [0x14042cc40]
nop word cs:[rax + rax]
movzx r8d, byte [rax + rdx]
add byte [rax + rcx], r8b
inc rax
cmp eax, 0xf
jl 0x140229460
mov al, 0xc1
xchg byte [0x1405134cf], al
lea rax, [0x1405134c0]
ret
xor eax, eax
lea rcx, [0x1405133c0]
lea rdx, [0x14042cb40]
nop word cs:[rax + rax]
movzx r8d, byte [rax + rdx]
add byte [rax + rcx], r8b
inc rax
cmp eax, 0xb
jl 0x1402294a0
mov al, 0xdb
xchg byte [0x1405133cb], al
lea rax, [0x1405133c0]
ret
xor eax, eax
lea rcx, [0x1405131f0]
lea rdx, [0x14042c980]
nop word cs:[rax + rax]
movzx r8d, byte [rax + rdx]
add byte [rax + rcx], r8b
inc rax
cmp eax, 4
jl 0x1402294e0
mov al, 0xc
xchg byte [0x1405131f4], al
lea rax, [0x1405131f0]
ret
xor eax, eax
lea rcx, [0x140513230]
lea rdx, [0x14042c9b0]
movzx r8d, byte [rax + rdx]
xor byte [rax + rcx], r8b
inc rax
cmp eax, 0x15
jl 0x140229511
mov al, 0x10
xchg byte [0x140513245], al
lea rax, [0x140513230]
ret