Function at 0x140150530
Capabilities:
Check for software breakpoints
Encode data using xor

Disassembly:
test ecx, ecx
je 0x14015057c
test edx, edx
je 0x1401505cc
test r8d, r8d
je 0x14015060c
test r9d, r9d
je 0x140150689
movzx eax, byte [0x14042f5f1]
cmp al, 0xf2
je 0x140150574
mov cl, 0xdc
nop dword [rax + rax]
mov al, 0x58
lock cmpxchg byte [0x14042f5f1], cl
je 0x140150809
cmp al, 0xf2
jne 0x140150560
lea rax, [0x14042f5e0]
ret
test edx, edx
je 0x14015064c
test r8d, r8d
je 0x1401506bc
test r9d, r9d
je 0x140150739
movzx eax, byte [0x14042f44d]
cmp al, 0x1a
je 0x1401505c4
mov cl, 6
nop word cs:[rax + rax]
mov al, 0xe5
lock cmpxchg byte [0x14042f44d], cl
je 0x1401508d9
cmp al, 0x1a
jne 0x1401505b0
lea rax, [0x14042f440]
ret
test r8d, r8d
je 0x1401506f9
test r9d, r9d
je 0x140150769
movzx eax, byte [0x14042f3ab]
cmp al, 0xcc
je 0x140150604
mov cl, 0xfe
nop dword [rax + rax]
mov al, 0xfd
lock cmpxchg byte [0x14042f3ab], cl
je 0x140150911
cmp al, 0xcc
jne 0x1401505f0
lea rax, [0x14042f3a0]
ret
test r9d, r9d
je 0x140150799
movzx eax, byte [0x14042f569]
cmp al, 0x93
je 0x140150644
mov cl, 0xb8
nop word cs:[rax + rax]
mov al, 0xb6
lock cmpxchg byte [0x14042f569], cl
je 0x140150951
cmp al, 0x93
jne 0x140150630
lea rax, [0x14042f560]
ret
test r8d, r8d
je 0x1401507c9
test r9d, r9d
je 0x140150841
movzx eax, byte [0x14042f50a]
cmp al, 0xb3
je 0x140150a29
mov cl, 0xb1
nop
mov al, 0xd7
lock cmpxchg byte [0x14042f50a], cl
je 0x1401509fb
cmp al, 0xb3
jne 0x140150670
jmp 0x140150a29
movzx eax, byte [0x14042f5ad]
cmp al, 0x4d
je 0x1401506b4
mov cl, 0x22
nop word cs:[rax + rax]
mov al, 0x55
lock cmpxchg byte [0x14042f5ad], cl
je 0x140150991
cmp al, 0x4d
jne 0x1401506a0
lea rax, [0x14042f5a0]
ret
test r9d, r9d
je 0x140150879
movzx eax, byte [0x14042f402]
cmp al, 0xcd
je 0x140150a69
mov cl, 0xae
nop word cs:[rax + rax]
mov al, pe_nt_image_headers64
lock cmpxchg byte [0x14042f402], cl
je 0x140150a31
cmp al, 0xcd
jne 0x1401506e0
jmp 0x140150a69
test r9d, r9d
je 0x1401508a9
movzx eax, byte [0x14042f65d]
cmp al, 0xde
je 0x140150aa9
mov cl, 0x48
nop word cs:[rax + rax]
mov al, 0xdc
lock cmpxchg byte [0x14042f65d], cl
je 0x140150a71
cmp al, 0xde
jne 0x140150720
jmp 0x140150aa9
movzx eax, byte [0x14042f41b]
cmp al, 0x70
je 0x140150ae9
mov cl, 0xe1
nop word [rax + rax]
mov al, 0x47
lock cmpxchg byte [0x14042f41b], cl
je 0x140150ab1
cmp al, 0x70
jne 0x140150750
jmp 0x140150ae9
movzx eax, byte [0x14042f34c]
cmp al, 0xca
je 0x140150b29
mov cl, 0xa5
nop word [rax + rax]
mov al, 0xa1
lock cmpxchg byte [0x14042f34c], cl
je 0x140150af1
cmp al, 0xca
jne 0x140150780
jmp 0x140150b29
movzx eax, byte [0x14042f49d]
cmp al, 0x8c
je 0x140150b69
mov cl, 0x11
nop word [rax + rax]
mov al, 0x48
lock cmpxchg byte [0x14042f49d], cl
je 0x140150b31
cmp al, 0x8c
jne 0x1401507b0
jmp 0x140150b69
test r9d, r9d
je 0x1401509d1
movzx eax, byte [0x14042f363]
cmp al, 0xb4
je 0x140150ba9
mov cl, 0x72
nop word cs:[rax + rax]
mov al, 0x5a
lock cmpxchg byte [0x14042f363], cl
je 0x140150b71
cmp al, 0xb4
jne 0x1401507f0
jmp 0x140150ba9
xor eax, eax
lea rcx, [0x14042f5e0]
lea rdx, [0x140355f60]
nop dword [rax]
movzx r8d, byte [rax + rdx]
add byte [rax + rcx], r8b
inc rax
cmp eax, 0x11
jl 0x140150820
mov al, 0xf2
xchg byte [0x14042f5f1], al
lea rax, [0x14042f5e0]
ret
movzx eax, byte [0x14042f2f2]
cmp al, 0x69
je 0x140150be9
mov cl, 0xfe
nop word cs:[rax + rax]
mov al, 0xa7
lock cmpxchg byte [0x14042f2f2], cl
je 0x140150bb1
cmp al, 0x69
jne 0x140150860
jmp 0x140150be9
movzx eax, byte [0x14042f53d]
cmp al, 0xb8
je 0x140150c29
mov cl, 0xa7
nop word [rax + rax]
mov al, 0xc
lock cmpxchg byte [0x14042f53d], cl
je 0x140150bf1
cmp al, 0xb8
jne 0x140150890
jmp 0x140150c29
movzx eax, byte [0x14042f62d]
cmp al, 0x1d
je 0x140150c69
mov cl, 0xa1
nop word [rax + rax]
mov al, 0x31
lock cmpxchg byte [0x14042f62d], cl
je 0x140150c31
cmp al, 0x1d
jne 0x1401508c0
jmp 0x140150c69
xor eax, eax
lea rcx, [0x14042f440]
lea rdx, [0x140355dc0]
nop dword [rax]
movzx r8d, byte [rax + rdx]
add byte [rax + rcx], r8b
inc rax
cmp eax, 0xd
jl 0x1401508f0
mov al, 0x1a
xchg byte [0x14042f44d], al
lea rax, [0x14042f440]
ret
xor eax, eax
lea rcx, [0x14042f3a0]
lea rdx, [0x140355d20]
nop word cs:[rax + rax]
movzx r8d, byte [rax + rdx]
add byte [rax + rcx], r8b
inc rax
cmp eax, 0xb
jl 0x140150930
mov al, 0xcc
xchg byte [0x14042f3ab], al
lea rax, [0x14042f3a0]
ret
xor eax, eax
lea rcx, [0x14042f560]
lea rdx, [0x140355ee0]
nop word cs:[rax + rax]
movzx r8d, byte [rax + rdx]
xor byte [rax + rcx], r8b
inc rax
cmp eax, 9
jl 0x140150970
mov al, 0x93
xchg byte [0x14042f569], al
lea rax, [0x14042f560]
ret
xor eax, eax
lea rcx, [0x14042f5a0]
lea rdx, [0x140355f20]
nop word cs:[rax + rax]
movzx r8d, byte [rax + rdx]
add byte [rax + rcx], r8b
inc rax
cmp eax, 0xd
jl 0x1401509b0
mov al, 0x4d
xchg byte [0x14042f5ad], al
lea rax, [0x14042f5a0]
ret
movzx eax, byte [0x14042f61f]
cmp al, 0x43
je 0x140150c9a
mov cl, 0x64
mov al, 0x94
lock cmpxchg byte [0x14042f61f], cl
je 0x140150c71
cmp al, 0x43
jne 0x1401509e2
jmp 0x140150c9a
xor eax, eax
lea rcx, [0x14042f500]
lea rdx, [0x140355e80]
nop dword [rax + rax]
movzx r8d, byte [rax + rdx]
add byte [rax + rcx], r8b
inc rax
cmp eax, 0xa
jl 0x140150a10
mov al, 0xb3
xchg byte [0x14042f50a], al
lea rax, [0x14042f500]
ret
xor eax, eax
lea rcx, [0x14042f400]
lea rdx, [0x140355d80]
nop word cs:[rax + rax]
movzx r8d, byte [rax + rdx]
add byte [rax + rcx], r8b
inc rax
cmp eax, 2
jl 0x140150a50
mov al, 0xcd
xchg byte [0x14042f402], al
lea rax, [0x14042f400]
ret
xor eax, eax
lea rcx, [0x14042f650]
lea rdx, [0x140355fd0]
nop word cs:[rax + rax]
movzx r8d, byte [rax + rdx]
xor byte [rax + rcx], r8b
inc rax
cmp eax, 0xd
jl 0x140150a90
mov al, 0xde
xchg byte [0x14042f65d], al
lea rax, [0x14042f650]
ret
xor eax, eax
lea rcx, [0x14042f410]
lea rdx, [0x140355d90]
nop word cs:[rax + rax]
movzx r8d, byte [rax + rdx]
xor byte [rax + rcx], r8b
inc rax
cmp eax, 0xb
jl 0x140150ad0
mov al, 0x70
xchg byte [0x14042f41b], al
lea rax, [0x14042f410]
ret
xor eax, eax
lea rcx, [0x14042f330]
lea rdx, [0x140355cb0]
nop word cs:[rax + rax]
movzx r8d, byte [rax + rdx]
xor byte [rax + rcx], r8b
inc rax
cmp eax, 0x1c
jl 0x140150b10
mov al, 0xca
xchg byte [0x14042f34c], al
lea rax, [0x14042f330]
ret
xor eax, eax
lea rcx, [0x14042f490]
lea rdx, [0x140355e10]
nop word cs:[rax + rax]
movzx r8d, byte [rax + rdx]
xor byte [rax + rcx], r8b
inc rax
cmp eax, 0xd
jl 0x140150b50
mov al, 0x8c
xchg byte [0x14042f49d], al
lea rax, [0x14042f490]
ret
xor eax, eax
lea rcx, [0x14042f360]
lea rdx, [0x140355ce0]
nop word cs:[rax + rax]
movzx r8d, byte [rax + rdx]
add byte [rax + rcx], r8b
inc rax
cmp eax, 3
jl 0x140150b90
mov al, 0xb4
xchg byte [0x14042f363], al
lea rax, [0x14042f360]
ret
xor eax, eax
lea rcx, [0x14042f2e0]
lea rdx, [0x140355c60]
nop word cs:[rax + rax]
movzx r8d, byte [rax + rdx]
xor byte [rax + rcx], r8b
inc rax
cmp eax, 0x12
jl 0x140150bd0
mov al, 0x69
xchg byte [0x14042f2f2], al
lea rax, [0x14042f2e0]
ret
xor eax, eax
lea rcx, [0x14042f530]
lea rdx, [0x140355eb0]
nop word cs:[rax + rax]
movzx r8d, byte [rax + rdx]
add byte [rax + rcx], r8b
inc rax
cmp eax, 0xd
jl 0x140150c10
mov al, 0xb8
xchg byte [0x14042f53d], al
lea rax, [0x14042f530]
ret
xor eax, eax
lea rcx, [0x14042f620]
lea rdx, [0x140355fa0]
nop word cs:[rax + rax]
movzx r8d, byte [rax + rdx]
add byte [rax + rcx], r8b
inc rax
cmp eax, 0xd
jl 0x140150c50
mov al, 0x1d
xchg byte [0x14042f62d], al
lea rax, [0x14042f620]
ret
xor eax, eax
lea rcx, [0x14042f610]
lea rdx, [0x140355f90]
movzx r8d, byte [rax + rdx]
xor byte [rax + rcx], r8b
inc rax
cmp eax, 0xf
jl 0x140150c81
mov al, 0x43
xchg byte [0x14042f61f], al
lea rax, [0x14042f610]
ret