Function at 0x140128840
Capabilities:
Encode data using xor

Disassembly:
test ecx, ecx
je 0x14012887c
test edx, edx
je 0x1401288bc
test r8d, r8d
je 0x1401288fc
movzx eax, byte [0x14046adbd]
cmp al, 0x24
je 0x140128874
mov cl, 0x1e
nop
mov al, 0x12
lock cmpxchg byte [0x14046adbd], cl
je 0x1401289cc
cmp al, 0x24
jne 0x140128860
lea rax, [0x14046adb0]
ret
test edx, edx
je 0x14012892c
test r8d, r8d
je 0x14012896c
movzx eax, byte [0x14046ab39]
cmp al, 0x17
je 0x1401288b4
mov cl, 0xba
nop word [rax + rax]
mov al, 0x85
lock cmpxchg byte [0x14046ab39], cl
je 0x140128a39
cmp al, 0x17
jne 0x1401288a0
lea rax, [0x14046ab30]
ret
test r8d, r8d
je 0x14012899c
movzx eax, byte [0x14046abf8]
cmp al, 5
je 0x1401288f4
mov cl, 0x6f
nop word cs:[rax + rax]
mov al, 0x81
lock cmpxchg byte [0x14046abf8], cl
je 0x140128a71
cmp al, 5
jne 0x1401288e0
lea rax, [0x14046abe0]
ret
movzx eax, byte [0x14046ab25]
cmp al, 0x7b
je 0x140128924
mov cl, 0xe3
nop dword [rax]
mov al, 0x59
lock cmpxchg byte [0x14046ab25], cl
je 0x140128ab1
cmp al, 0x7b
jne 0x140128910
lea rax, [0x14046ab10]
ret
test r8d, r8d
je 0x140128a01
movzx eax, byte [0x14046ad7d]
cmp al, 0x71
je 0x140128964
mov cl, 0x18
nop word cs:[rax + rax]
mov al, 0xeb
lock cmpxchg byte [0x14046ad7d], cl
je 0x140128af1
cmp al, 0x71
jne 0x140128950
lea rax, [0x14046ad70]
ret
movzx eax, byte [0x14046ade2]
cmp al, 0x39
je 0x140128994
mov cl, 0x1c
nop dword [rax]
mov al, 0xfd
lock cmpxchg byte [0x14046ade2], cl
je 0x140128b31
cmp al, 0x39
jne 0x140128980
lea rax, [0x14046add0]
ret
movzx eax, byte [0x14046ad3d]
cmp al, 0x75
je 0x1401289c4
mov cl, 0xd7
nop dword [rax]
mov al, 0xce
lock cmpxchg byte [0x14046ad3d], cl
je 0x140128b71
cmp al, 0x75
jne 0x1401289b0
lea rax, [0x14046ad30]
ret
xor eax, eax
lea rcx, [0x14046adb0]
lea rdx, [0x14038fd30]
nop dword [rax]
movzx r8d, byte [rax + rdx]
xor byte [rax + rcx], r8b
inc rax
cmp eax, 0xd
jl 0x1401289e0
mov al, 0x24
xchg byte [0x14046adbd], al
lea rax, [0x14046adb0]
ret
movzx eax, byte [0x14046aabd]
cmp al, 0xd8
je 0x140128be9
mov cl, pe_nt_image_headers64
nop word cs:[rax + rax]
mov al, 0x86
lock cmpxchg byte [0x14046aabd], cl
je 0x140128bb1
cmp al, 0xd8
jne 0x140128a20
jmp 0x140128be9
xor eax, eax
lea rcx, [0x14046ab30]
lea rdx, [0x14038faa0]
nop dword [rax]
movzx r8d, byte [rax + rdx]
add byte [rax + rcx], r8b
inc rax
cmp eax, 9
jl 0x140128a50
mov al, 0x17
xchg byte [0x14046ab39], al
lea rax, [0x14046ab30]
ret
xor eax, eax
lea rcx, [0x14046abe0]
lea rdx, [0x14038fb30]
nop word cs:[rax + rax]
movzx r8d, byte [rax + rdx]
xor byte [rax + rcx], r8b
inc rax
cmp eax, 0x18
jl 0x140128a90
mov al, 5
xchg byte [0x14046abf8], al
lea rax, [0x14046abe0]
ret
xor eax, eax
lea rcx, [0x14046ab10]
lea rdx, [0x14038fa80]
nop word cs:[rax + rax]
movzx r8d, byte [rax + rdx]
add byte [rax + rcx], r8b
inc rax
cmp eax, 0x15
jl 0x140128ad0
mov al, 0x7b
xchg byte [0x14046ab25], al
lea rax, [0x14046ab10]
ret
xor eax, eax
lea rcx, [0x14046ad70]
lea rdx, [0x14038fcf0]
nop word cs:[rax + rax]
movzx r8d, byte [rax + rdx]
xor byte [rax + rcx], r8b
inc rax
cmp eax, 0xd
jl 0x140128b10
mov al, 0x71
xchg byte [0x14046ad7d], al
lea rax, [0x14046ad70]
ret
xor eax, eax
lea rcx, [0x14046add0]
lea rdx, [0x14038fd50]
nop word cs:[rax + rax]
movzx r8d, byte [rax + rdx]
xor byte [rax + rcx], r8b
inc rax
cmp eax, 0x12
jl 0x140128b50
mov al, 0x39
xchg byte [0x14046ade2], al
lea rax, [0x14046add0]
ret
xor eax, eax
lea rcx, [0x14046ad30]
lea rdx, [0x14038fcb0]
nop word cs:[rax + rax]
movzx r8d, byte [rax + rdx]
add byte [rax + rcx], r8b
inc rax
cmp eax, 0xd
jl 0x140128b90
mov al, 0x75
xchg byte [0x14046ad3d], al
lea rax, [0x14046ad30]
ret
xor eax, eax
lea rcx, [0x14046aab0]
lea rdx, [0x14038fa20]
nop word cs:[rax + rax]
movzx r8d, byte [rax + rdx]
xor byte [rax + rcx], r8b
inc rax
cmp eax, 0xd
jl 0x140128bd0
mov al, 0xd8
xchg byte [0x14046aabd], al
lea rax, [0x14046aab0]
ret