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

Disassembly:
test ecx, ecx
je 0x1401610dc
test edx, edx
je 0x14016112c
test r8d, r8d
je 0x14016116c
test r9d, r9d
je 0x1401611e9
movzx eax, byte [0x140471051]
cmp al, 0xf2
je 0x1401610d4
mov cl, 0xdc
nop dword [rax + rax]
mov al, 0x58
lock cmpxchg byte [0x140471051], cl
je 0x140161369
cmp al, 0xf2
jne 0x1401610c0
lea rax, [0x140471040]
ret
test edx, edx
je 0x1401611ac
test r8d, r8d
je 0x14016121c
test r9d, r9d
je 0x140161299
movzx eax, byte [0x140470ead]
cmp al, 0x1a
je 0x140161124
mov cl, 6
nop word cs:[rax + rax]
mov al, 0xe5
lock cmpxchg byte [0x140470ead], cl
je 0x140161439
cmp al, 0x1a
jne 0x140161110
lea rax, [0x140470ea0]
ret
test r8d, r8d
je 0x140161259
test r9d, r9d
je 0x1401612c9
movzx eax, byte [0x140470e0b]
cmp al, 0xcc
je 0x140161164
mov cl, 0xfe
nop dword [rax + rax]
mov al, 0xfd
lock cmpxchg byte [0x140470e0b], cl
je 0x140161471
cmp al, 0xcc
jne 0x140161150
lea rax, [0x140470e00]
ret
test r9d, r9d
je 0x1401612f9
movzx eax, byte [0x140470fc9]
cmp al, 0x93
je 0x1401611a4
mov cl, 0xb8
nop word cs:[rax + rax]
mov al, 0xb6
lock cmpxchg byte [0x140470fc9], cl
je 0x1401614b1
cmp al, 0x93
jne 0x140161190
lea rax, [0x140470fc0]
ret
test r8d, r8d
je 0x140161329
test r9d, r9d
je 0x1401613a1
movzx eax, byte [0x140470f6a]
cmp al, 0xb3
je 0x140161589
mov cl, 0xb1
nop
mov al, 0xd7
lock cmpxchg byte [0x140470f6a], cl
je 0x14016155b
cmp al, 0xb3
jne 0x1401611d0
jmp 0x140161589
movzx eax, byte [0x14047100d]
cmp al, 0x4d
je 0x140161214
mov cl, 0x22
nop word cs:[rax + rax]
mov al, 0x55
lock cmpxchg byte [0x14047100d], cl
je 0x1401614f1
cmp al, 0x4d
jne 0x140161200
lea rax, [0x140471000]
ret
test r9d, r9d
je 0x1401613d9
movzx eax, byte [0x140470e62]
cmp al, 0xcd
je 0x1401615c9
mov cl, 0xae
nop word cs:[rax + rax]
mov al, pe_nt_image_headers64
lock cmpxchg byte [0x140470e62], cl
je 0x140161591
cmp al, 0xcd
jne 0x140161240
jmp 0x1401615c9
test r9d, r9d
je 0x140161409
movzx eax, byte [0x1404710bd]
cmp al, 0xde
je 0x140161609
mov cl, 0x48
nop word cs:[rax + rax]
mov al, 0xdc
lock cmpxchg byte [0x1404710bd], cl
je 0x1401615d1
cmp al, 0xde
jne 0x140161280
jmp 0x140161609
movzx eax, byte [0x140470e7b]
cmp al, 0x70
je 0x140161649
mov cl, 0xe1
nop word [rax + rax]
mov al, 0x47
lock cmpxchg byte [0x140470e7b], cl
je 0x140161611
cmp al, 0x70
jne 0x1401612b0
jmp 0x140161649
movzx eax, byte [0x140470dac]
cmp al, 0xca
je 0x140161689
mov cl, 0xa5
nop word [rax + rax]
mov al, 0xa1
lock cmpxchg byte [0x140470dac], cl
je 0x140161651
cmp al, 0xca
jne 0x1401612e0
jmp 0x140161689
movzx eax, byte [0x140470efd]
cmp al, 0x8c
je 0x1401616c9
mov cl, 0x11
nop word [rax + rax]
mov al, 0x48
lock cmpxchg byte [0x140470efd], cl
je 0x140161691
cmp al, 0x8c
jne 0x140161310
jmp 0x1401616c9
test r9d, r9d
je 0x140161531
movzx eax, byte [0x140470dc3]
cmp al, 0xb4
je 0x140161709
mov cl, 0x72
nop word cs:[rax + rax]
mov al, 0x5a
lock cmpxchg byte [0x140470dc3], cl
je 0x1401616d1
cmp al, 0xb4
jne 0x140161350
jmp 0x140161709
xor eax, eax
lea rcx, [0x140471040]
lea rdx, [0x140390570]
nop dword [rax]
movzx r8d, byte [rax + rdx]
add byte [rax + rcx], r8b
inc rax
cmp eax, 0x11
jl 0x140161380
mov al, 0xf2
xchg byte [0x140471051], al
lea rax, [0x140471040]
ret
movzx eax, byte [0x140470d52]
cmp al, 0x69
je 0x140161749
mov cl, 0xfe
nop word cs:[rax + rax]
mov al, 0xa7
lock cmpxchg byte [0x140470d52], cl
je 0x140161711
cmp al, 0x69
jne 0x1401613c0
jmp 0x140161749
movzx eax, byte [0x140470f9d]
cmp al, 0xb8
je 0x140161789
mov cl, 0xa7
nop word [rax + rax]
mov al, 0xc
lock cmpxchg byte [0x140470f9d], cl
je 0x140161751
cmp al, 0xb8
jne 0x1401613f0
jmp 0x140161789
movzx eax, byte [0x14047108d]
cmp al, 0x1d
je 0x1401617c9
mov cl, 0xa1
nop word [rax + rax]
mov al, 0x31
lock cmpxchg byte [0x14047108d], cl
je 0x140161791
cmp al, 0x1d
jne 0x140161420
jmp 0x1401617c9
xor eax, eax
lea rcx, [0x140470ea0]
lea rdx, [0x1403903d0]
nop dword [rax]
movzx r8d, byte [rax + rdx]
add byte [rax + rcx], r8b
inc rax
cmp eax, 0xd
jl 0x140161450
mov al, 0x1a
xchg byte [0x140470ead], al
lea rax, [0x140470ea0]
ret
xor eax, eax
lea rcx, [0x140470e00]
lea rdx, [0x140390330]
nop word cs:[rax + rax]
movzx r8d, byte [rax + rdx]
add byte [rax + rcx], r8b
inc rax
cmp eax, 0xb
jl 0x140161490
mov al, 0xcc
xchg byte [0x140470e0b], al
lea rax, [0x140470e00]
ret
xor eax, eax
lea rcx, [0x140470fc0]
lea rdx, [0x1403904f0]
nop word cs:[rax + rax]
movzx r8d, byte [rax + rdx]
xor byte [rax + rcx], r8b
inc rax
cmp eax, 9
jl 0x1401614d0
mov al, 0x93
xchg byte [0x140470fc9], al
lea rax, [0x140470fc0]
ret
xor eax, eax
lea rcx, [0x140471000]
lea rdx, [0x140390530]
nop word cs:[rax + rax]
movzx r8d, byte [rax + rdx]
add byte [rax + rcx], r8b
inc rax
cmp eax, 0xd
jl 0x140161510
mov al, 0x4d
xchg byte [0x14047100d], al
lea rax, [0x140471000]
ret
movzx eax, byte [0x14047107f]
cmp al, 0x43
je 0x1401617fa
mov cl, 0x64
mov al, 0x94
lock cmpxchg byte [0x14047107f], cl
je 0x1401617d1
cmp al, 0x43
jne 0x140161542
jmp 0x1401617fa
xor eax, eax
lea rcx, [0x140470f60]
lea rdx, [0x140390490]
nop dword [rax + rax]
movzx r8d, byte [rax + rdx]
add byte [rax + rcx], r8b
inc rax
cmp eax, 0xa
jl 0x140161570
mov al, 0xb3
xchg byte [0x140470f6a], al
lea rax, [0x140470f60]
ret
xor eax, eax
lea rcx, [0x140470e60]
lea rdx, [0x140390390]
nop word cs:[rax + rax]
movzx r8d, byte [rax + rdx]
add byte [rax + rcx], r8b
inc rax
cmp eax, 2
jl 0x1401615b0
mov al, 0xcd
xchg byte [0x140470e62], al
lea rax, [0x140470e60]
ret
xor eax, eax
lea rcx, [0x1404710b0]
lea rdx, [0x1403905e0]
nop word cs:[rax + rax]
movzx r8d, byte [rax + rdx]
xor byte [rax + rcx], r8b
inc rax
cmp eax, 0xd
jl 0x1401615f0
mov al, 0xde
xchg byte [0x1404710bd], al
lea rax, [0x1404710b0]
ret
xor eax, eax
lea rcx, [0x140470e70]
lea rdx, [0x1403903a0]
nop word cs:[rax + rax]
movzx r8d, byte [rax + rdx]
xor byte [rax + rcx], r8b
inc rax
cmp eax, 0xb
jl 0x140161630
mov al, 0x70
xchg byte [0x140470e7b], al
lea rax, [0x140470e70]
ret
xor eax, eax
lea rcx, [0x140470d90]
lea rdx, [0x1403902c0]
nop word cs:[rax + rax]
movzx r8d, byte [rax + rdx]
xor byte [rax + rcx], r8b
inc rax
cmp eax, 0x1c
jl 0x140161670
mov al, 0xca
xchg byte [0x140470dac], al
lea rax, [0x140470d90]
ret
xor eax, eax
lea rcx, [0x140470ef0]
lea rdx, [0x140390420]
nop word cs:[rax + rax]
movzx r8d, byte [rax + rdx]
xor byte [rax + rcx], r8b
inc rax
cmp eax, 0xd
jl 0x1401616b0
mov al, 0x8c
xchg byte [0x140470efd], al
lea rax, [0x140470ef0]
ret
xor eax, eax
lea rcx, [0x140470dc0]
lea rdx, [0x1403902f0]
nop word cs:[rax + rax]
movzx r8d, byte [rax + rdx]
add byte [rax + rcx], r8b
inc rax
cmp eax, 3
jl 0x1401616f0
mov al, 0xb4
xchg byte [0x140470dc3], al
lea rax, [0x140470dc0]
ret
xor eax, eax
lea rcx, [0x140470d40]
lea rdx, [0x140390270]
nop word cs:[rax + rax]
movzx r8d, byte [rax + rdx]
xor byte [rax + rcx], r8b
inc rax
cmp eax, 0x12
jl 0x140161730
mov al, 0x69
xchg byte [0x140470d52], al
lea rax, [0x140470d40]
ret
xor eax, eax
lea rcx, [0x140470f90]
lea rdx, [0x1403904c0]
nop word cs:[rax + rax]
movzx r8d, byte [rax + rdx]
add byte [rax + rcx], r8b
inc rax
cmp eax, 0xd
jl 0x140161770
mov al, 0xb8
xchg byte [0x140470f9d], al
lea rax, [0x140470f90]
ret
xor eax, eax
lea rcx, [0x140471080]
lea rdx, [0x1403905b0]
nop word cs:[rax + rax]
movzx r8d, byte [rax + rdx]
add byte [rax + rcx], r8b
inc rax
cmp eax, 0xd
jl 0x1401617b0
mov al, 0x1d
xchg byte [0x14047108d], al
lea rax, [0x140471080]
ret
xor eax, eax
lea rcx, [0x140471070]
lea rdx, [0x1403905a0]
movzx r8d, byte [rax + rdx]
xor byte [rax + rcx], r8b
inc rax
cmp eax, 0xf
jl 0x1401617e1
mov al, 0x43
xchg byte [0x14047107f], al
lea rax, [0x140471070]
ret