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

Disassembly:
test ecx, ecx
je 0x14028ab3c
test edx, edx
je 0x14028ab7c
test r8d, r8d
je 0x14028abbc
test r9d, r9d
je 0x14028ac3c
movzx eax, byte [0x14046f7fb]
cmp al, 0x7a
je 0x14028ab34
mov cl, 0xea
nop dword [rax + rax]
mov al, 0x58
lock cmpxchg byte [0x14046f7fb], cl
je 0x14028ad79
cmp al, 0x7a
jne 0x14028ab20
lea rax, [0x14046f7e0]
ret
test edx, edx
je 0x14028abfc
movzx eax, byte [0x14046f81a]
cmp al, 0x66
je 0x14028ab74
mov cl, 0x47
nop word cs:[rax + rax]
mov al, 0xe3
lock cmpxchg byte [0x14046f81a], cl
je 0x14028aca9
cmp al, 0x66
jne 0x14028ab60
lea rax, [0x14046f800]
ret
test r8d, r8d
je 0x14028ac6c
test r9d, r9d
je 0x14028ace1
movzx eax, byte [0x14046f734]
cmp al, 0xbd
je 0x14028abb4
mov cl, 0x68
nop dword [rax + rax]
mov al, 0x34
lock cmpxchg byte [0x14046f734], cl
je 0x14028ade9
cmp al, 0xbd
jne 0x14028aba0
lea rax, [0x14046f730]
ret
test r9d, r9d
je 0x14028ad19
movzx eax, byte [0x14046f8af]
cmp al, 0x83
je 0x14028abf4
mov cl, 0xc6
nop word cs:[rax + rax]
mov al, 0x4f
lock cmpxchg byte [0x14046f8af], cl
je 0x14028ae21
cmp al, 0x83
jne 0x14028abe0
lea rax, [0x14046f8a0]
ret
test r8d, r8d
je 0x14028ad49
movzx eax, byte [0x14046f853]
cmp al, 0x6a
je 0x14028ac34
mov cl, 0x6e
nop word cs:[rax + rax]
mov al, 0x59
lock cmpxchg byte [0x14046f853], cl
je 0x14028aea1
cmp al, 0x6a
jne 0x14028ac20
lea rax, [0x14046f850]
ret
movzx eax, byte [0x14046f8f2]
cmp al, 0x35
je 0x14028ac64
mov cl, 0xfa
nop dword [rax]
mov al, 0x4f
lock cmpxchg byte [0x14046f8f2], cl
je 0x14028ae61
cmp al, 0x35
jne 0x14028ac50
lea rax, [0x14046f8f0]
ret
test r9d, r9d
je 0x14028adb1
movzx eax, byte [0x14046f7d0]
cmp al, 3
je 0x14028af19
mov cl, 0xef
nop word cs:[rax + rax]
mov al, 0xb2
lock cmpxchg byte [0x14046f7d0], cl
je 0x14028aee1
cmp al, 3
jne 0x14028ac90
jmp 0x14028af19
xor eax, eax
lea rcx, [0x14046f800]
lea rdx, [0x1403851f0]
nop dword [rax]
movzx r8d, byte [rax + rdx]
xor byte [rax + rcx], r8b
inc rax
cmp eax, 0x1a
jl 0x14028acc0
mov al, 0x66
xchg byte [0x14046f81a], al
lea rax, [0x14046f800]
ret
movzx eax, byte [0x14046f89b]
cmp al, 0x68
je 0x14028af59
mov cl, 0xee
nop word cs:[rax + rax]
mov al, 0xa1
lock cmpxchg byte [0x14046f89b], cl
je 0x14028af21
cmp al, 0x68
jne 0x14028ad00
jmp 0x14028af59
movzx eax, byte [0x14046f90b]
cmp al, 0xe6
je 0x14028af99
mov cl, 0x2d
nop word [rax + rax]
mov al, 0x37
lock cmpxchg byte [0x14046f90b], cl
je 0x14028af61
cmp al, 0xe6
jne 0x14028ad30
jmp 0x14028af99
movzx eax, byte [0x14046f94b]
cmp al, 0x37
je 0x14028afd9
mov cl, 0x58
nop word [rax + rax]
mov al, 0x55
lock cmpxchg byte [0x14046f94b], cl
je 0x14028afa1
cmp al, 0x37
jne 0x14028ad60
jmp 0x14028afd9
xor eax, eax
lea rcx, [0x14046f7e0]
lea rdx, [0x1403851d0]
nop dword [rax]
movzx r8d, byte [rax + rdx]
add byte [rax + rcx], r8b
inc rax
cmp eax, 0x1b
jl 0x14028ad90
mov al, 0x7a
xchg byte [0x14046f7fb], al
lea rax, [0x14046f7e0]
ret
movzx eax, byte [0x14046f845]
cmp al, 0xcd
je 0x14028b019
mov cl, 0xaf
nop word cs:[rax + rax]
mov al, 0x41
lock cmpxchg byte [0x14046f845], cl
je 0x14028afe1
cmp al, 0xcd
jne 0x14028add0
jmp 0x14028b019
xor eax, eax
lea rcx, [0x14046f730]
lea rdx, [0x140385130]
nop dword [rax]
movzx r8d, byte [rax + rdx]
xor byte [rax + rcx], r8b
inc rax
cmp eax, 4
jl 0x14028ae00
mov al, 0xbd
xchg byte [0x14046f734], al
lea rax, [0x14046f730]
ret
xor eax, eax
lea rcx, [0x14046f8a0]
lea rdx, [0x140385290]
nop word cs:[rax + rax]
movzx r8d, byte [rax + rdx]
add byte [rax + rcx], r8b
inc rax
cmp eax, 0xf
jl 0x14028ae40
mov al, 0x83
xchg byte [0x14046f8af], al
lea rax, [0x14046f8a0]
ret
xor eax, eax
lea rcx, [0x14046f8f0]
lea rdx, [0x1403852e0]
nop word cs:[rax + rax]
movzx r8d, byte [rax + rdx]
xor byte [rax + rcx], r8b
inc rax
cmp eax, 2
jl 0x14028ae80
mov al, 0x35
xchg byte [0x14046f8f2], al
lea rax, [0x14046f8f0]
ret
xor eax, eax
lea rcx, [0x14046f850]
lea rdx, [0x140385240]
nop word cs:[rax + rax]
movzx r8d, byte [rax + rdx]
xor byte [rax + rcx], r8b
inc rax
cmp eax, 3
jl 0x14028aec0
mov al, 0x6a
xchg byte [0x14046f853], al
lea rax, [0x14046f850]
ret
xor eax, eax
lea rcx, [0x14046f7c0]
lea rdx, [0x1403851c0]
nop word cs:[rax + rax]
movzx r8d, byte [rax + rdx]
add byte [rax + rcx], r8b
inc rax
cmp eax, 0x10
jl 0x14028af00
mov al, 3
xchg byte [0x14046f7d0], al
lea rax, [0x14046f7c0]
ret
xor eax, eax
lea rcx, [0x14046f890]
lea rdx, [0x140385280]
nop word cs:[rax + rax]
movzx r8d, byte [rax + rdx]
add byte [rax + rcx], r8b
inc rax
cmp eax, 0xb
jl 0x14028af40
mov al, 0x68
xchg byte [0x14046f89b], al
lea rax, [0x14046f890]
ret
xor eax, eax
lea rcx, [0x14046f900]
lea rdx, [0x1403852f0]
nop word cs:[rax + rax]
movzx r8d, byte [rax + rdx]
xor byte [rax + rcx], r8b
inc rax
cmp eax, 0xb
jl 0x14028af80
mov al, 0xe6
xchg byte [0x14046f90b], al
lea rax, [0x14046f900]
ret
xor eax, eax
lea rcx, [0x14046f940]
lea rdx, [0x140385330]
nop word cs:[rax + rax]
movzx r8d, byte [rax + rdx]
xor byte [rax + rcx], r8b
inc rax
cmp eax, 0xb
jl 0x14028afc0
mov al, 0x37
xchg byte [0x14046f94b], al
lea rax, [0x14046f940]
ret
xor eax, eax
lea rcx, [0x14046f840]
lea rdx, [0x140385230]
nop word cs:[rax + rax]
movzx r8d, byte [rax + rdx]
xor byte [rax + rcx], r8b
inc rax
cmp eax, 5
jl 0x14028b000
mov al, 0xcd
xchg byte [0x14046f845], al
lea rax, [0x14046f840]
ret