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

Disassembly:
push rsi
push rdi
push rbx
sub rsp, 0x30
mov esi, dword [rsp + 0x70]
test ecx, ecx
je 0x1401ce3e9
test edx, edx
je 0x1401ce439
test r8d, r8d
je 0x1401ce479
test r9d, r9d
je 0x1401ce4f9
movzx eax, byte [0x14047c4e1]
cmp al, 0xb4
je 0x1401ce6a9
mov cl, 0xa0
nop word [rax + rax]
mov al, 0x12
lock cmpxchg byte [0x14047c4e1], cl
je 0x1401ce679
cmp al, 0xb4
jne 0x1401ce3d0
jmp 0x1401ce6a9
test edx, edx
je 0x1401ce4b9
test r8d, r8d
je 0x1401ce529
test r9d, r9d
je 0x1401ce5a9
movzx eax, byte [0x14047c6ed]
cmp al, 0x1b
je 0x1401ce779
mov cl, 0x7e
nop word cs:[rax + rax]
mov al, 0x6a
lock cmpxchg byte [0x14047c6ed], cl
je 0x1401ce749
cmp al, 0x1b
jne 0x1401ce420
jmp 0x1401ce779
test r8d, r8d
je 0x1401ce569
test r9d, r9d
je 0x1401ce5d9
movzx eax, byte [0x14047c20b]
cmp al, 0xcc
je 0x1401ce7b9
mov cl, 0xbc
nop dword [rax]
mov al, 0x86
lock cmpxchg byte [0x14047c20b], cl
je 0x1401ce785
cmp al, 0xcc
jne 0x1401ce460
jmp 0x1401ce7b9
test r9d, r9d
je 0x1401ce609
movzx eax, byte [0x14047c096]
cmp al, 0xb2
je 0x1401ce7f9
mov cl, 0x4c
nop word cs:[rax + rax]
mov al, 0x69
lock cmpxchg byte [0x14047c096], cl
je 0x1401ce7c5
cmp al, 0xb2
jne 0x1401ce4a0
jmp 0x1401ce7f9
test r8d, r8d
je 0x1401ce639
test r9d, r9d
je 0x1401ce6b5
movzx eax, byte [0x14047c42d]
cmp al, 0x51
je 0x1401ce899
mov cl, 0x55
nop dword [rax]
mov al, 0x7b
lock cmpxchg byte [0x14047c42d], cl
je 0x1401ce86f
cmp al, 0x51
jne 0x1401ce4e0
jmp 0x1401ce899
movzx eax, byte [0x14047c037]
cmp al, 0xef
je 0x1401ce839
mov cl, 0xe9
nop word [rax + rax]
mov al, 0x1c
lock cmpxchg byte [0x14047c037], cl
je 0x1401ce805
cmp al, 0xef
jne 0x1401ce510
jmp 0x1401ce839
test r9d, r9d
je 0x1401ce6e9
movzx eax, byte [0x14047bf9b]
cmp al, 0xb1
je 0x1401ce939
mov cl, 0x98
nop word cs:[rax + rax]
mov al, 0x56
lock cmpxchg byte [0x14047bf9b], cl
je 0x1401ce8a5
cmp al, 0xb1
jne 0x1401ce550
jmp 0x1401ce939
test r9d, r9d
je 0x1401ce719
movzx eax, byte [0x14047c41d]
cmp al, 0xc
je 0x1401ce979
mov cl, 0x9f
nop word cs:[rax + rax]
mov al, 0x6f
lock cmpxchg byte [0x14047c41d], cl
je 0x1401ce945
cmp al, 0xc
jne 0x1401ce590
jmp 0x1401ce979
movzx eax, byte [0x14047c29e]
cmp al, 0x9f
je 0x1401ce9b9
mov cl, 0x68
nop word [rax + rax]
mov al, 0xc3
lock cmpxchg byte [0x14047c29e], cl
je 0x1401ce985
cmp al, 0x9f
jne 0x1401ce5c0
jmp 0x1401ce9b9
movzx eax, byte [0x14047c27b]
cmp al, 0xc1
je 0x1401ce9f9
mov cl, 0x44
nop word [rax + rax]
mov al, 0x49
lock cmpxchg byte [0x14047c27b], cl
je 0x1401ce9c5
cmp al, 0xc1
jne 0x1401ce5f0
jmp 0x1401ce9f9
movzx eax, byte [0x14047c59d]
cmp al, 0x74
je 0x1401cea39
mov cl, 0x7b
nop word [rax + rax]
mov al, 0x61
lock cmpxchg byte [0x14047c59d], cl
je 0x1401cea05
cmp al, 0x74
jne 0x1401ce620
jmp 0x1401cea39
test r9d, r9d
je 0x1401ce845
movzx eax, byte [0x14047c7dd]
cmp al, 0xb2
je 0x1401cea79
mov cl, 0x7c
nop word cs:[rax + rax]
mov al, 0x85
lock cmpxchg byte [0x14047c7dd], cl
je 0x1401cea45
cmp al, 0xb2
jne 0x1401ce660
jmp 0x1401cea79
xor eax, eax
lea rcx, [0x14047c4d0]
lea rdx, [0x140396440]
nop dword [rax]
movzx r8d, byte [rax + rdx]
add byte [rax + rcx], r8b
inc rax
cmp eax, 0x11
jl 0x1401ce690
mov al, 0xb4
xchg byte [0x14047c4e1], al
lea rax, [0x14047c4d0]
jmp 0x1401cec32
movzx eax, byte [0x14047c38d]
cmp al, 0x11
je 0x1401ceab9
mov cl, 0xe3
nop word cs:[rax + rax]
mov al, 0x3a
lock cmpxchg byte [0x14047c38d], cl
je 0x1401cea85
cmp al, 0x11
jne 0x1401ce6d0
jmp 0x1401ceab9
movzx eax, byte [0x14047bf98]
cmp al, 0x82
je 0x1401ceb59
mov cl, 0xa4
nop word [rax + rax]
mov al, 0x44
lock cmpxchg byte [0x14047bf98], cl
je 0x1401ceac5
cmp al, 0x82
jne 0x1401ce700
jmp 0x1401ceb59
movzx eax, byte [0x14047bf97]
cmp al, 0xe0
je 0x1401cebf9
mov cl, 0x2b
nop word [rax + rax]
mov al, 0x80
lock cmpxchg byte [0x14047bf97], cl
je 0x1401ceb65
cmp al, 0xe0
jne 0x1401ce730
jmp 0x1401cebf9
xor eax, eax
lea rcx, [0x14047c6e0]
lea rdx, [0x140396650]
nop dword [rax]
movzx r8d, byte [rax + rdx]
add byte [rax + rcx], r8b
inc rax
cmp eax, 0xd
jl 0x1401ce760
mov al, 0x1b
xchg byte [0x14047c6ed], al
lea rax, [0x14047c6e0]
jmp 0x1401cec32
xor eax, eax
lea rcx, [0x14047c200]
lea rdx, [0x140396180]
nop word cs:[rax + rax]
movzx r8d, byte [rax + rdx]
xor byte [rax + rcx], r8b
inc rax
cmp eax, 0xb
jl 0x1401ce7a0
mov al, 0xcc
xchg byte [0x14047c20b], al
lea rax, [0x14047c200]
jmp 0x1401cec32
xor eax, eax
lea rcx, [0x14047c040]
lea rdx, [0x140395fd0]
nop word cs:[rax + rax]
movzx r8d, byte [rax + rdx]
add byte [rax + rcx], r8b
inc rax
cmp eax, 0x56
jl 0x1401ce7e0
mov al, 0xb2
xchg byte [0x14047c096], al
lea rax, [0x14047c040]
jmp 0x1401cec32
xor eax, eax
lea rcx, [0x14047c030]
lea rdx, [0x140395fc0]
nop word cs:[rax + rax]
movzx r8d, byte [rax + rdx]
add byte [rax + rcx], r8b
inc rax
cmp eax, 7
jl 0x1401ce820
mov al, 0xef
xchg byte [0x14047c037], al
lea rax, [0x14047c030]
jmp 0x1401cec32
movzx eax, byte [0x14047c3bd]
cmp al, 0x31
je 0x1401cec2b
mov cl, 0x95
mov al, 0x41
lock cmpxchg byte [0x14047c3bd], cl
je 0x1401cec02
cmp al, 0x31
jne 0x1401ce856
jmp 0x1401cec2b
xor eax, eax
lea rcx, [0x14047c420]
lea rdx, [0x140396390]
nop
movzx r8d, byte [rax + rdx]
xor byte [rax + rcx], r8b
inc rax
cmp eax, 0xd
jl 0x1401ce880
mov al, 0x51
xchg byte [0x14047c42d], al
lea rax, [0x14047c420]
jmp 0x1401cec32
cmp qword [0x1404bf620], 0
jne 0x1401ce90b
mov eax, esi
xor eax, 0x54eced07
mov dword [rsp + 0x28], eax
mov qword [rsp + 0x20], 0
xor ebx, ebx
xor ecx, ecx
xor edx, edx
mov r8d, 0x18
xor r9d, r9d
call fcn.1401ca7b0
mov rdi, rax
mov qword [0x1404bf620], rax
xor esi, 0xc8cc3c5a
lea rcx, [0x1401ca770]
mov edx, esi
call fcn.1401099f0
lea rax, [0x140395ed0]
movzx ecx, byte [rbx + rax]
mov byte [rdi + rbx], cl
inc rbx
cmp ebx, 0x16
jle 0x1401ce8fc
mov rax, qword [0x1404bf620]
xor ecx, ecx
lea rdx, [0x140395ef0]
nop dword [rax + rax]
movzx r8d, byte [rcx + rdx]
xor byte [rax + rcx], r8b
inc rcx
cmp ecx, 0x17
jl 0x1401ce920
mov al, 0xb1
xchg byte [0x14047bf9b], al
mov rax, qword [0x1404bf620]
jmp 0x1401cec32
xor eax, eax
lea rcx, [0x14047c410]
lea rdx, [0x140396380]
nop word cs:[rax + rax]
movzx r8d, byte [rax + rdx]
xor byte [rax + rcx], r8b
inc rax
cmp eax, 0xd
jl 0x1401ce960
mov al, 0xc
xchg byte [0x14047c41d], al
lea rax, [0x14047c410]
jmp 0x1401cec32
xor eax, eax
lea rcx, [0x14047c290]
lea rdx, [0x140396210]
nop word cs:[rax + rax]
movzx r8d, byte [rax + rdx]
add byte [rax + rcx], r8b
inc rax
cmp eax, 0xe
jl 0x1401ce9a0
mov al, 0x9f
xchg byte [0x14047c29e], al
lea rax, [0x14047c290]
jmp 0x1401cec32
xor eax, eax
lea rcx, [0x14047c270]
lea rdx, [0x1403961f0]
nop word cs:[rax + rax]
movzx r8d, byte [rax + rdx]
xor byte [rax + rcx], r8b
inc rax
cmp eax, 0xb
jl 0x1401ce9e0
mov al, 0xc1
xchg byte [0x14047c27b], al
lea rax, [0x14047c270]
jmp 0x1401cec32
xor eax, eax
lea rcx, [0x14047c590]
lea rdx, [0x140396500]
nop word cs:[rax + rax]
movzx r8d, byte [rax + rdx]
xor byte [rax + rcx], r8b
inc rax
cmp eax, 0xd
jl 0x1401cea20
mov al, 0x74
xchg byte [0x14047c59d], al
lea rax, [0x14047c590]
jmp 0x1401cec32
xor eax, eax
lea rcx, [0x14047c7d0]
lea rdx, [0x140396720]
nop word cs:[rax + rax]
movzx r8d, byte [rax + rdx]
add byte [rax + rcx], r8b
inc rax
cmp eax, 0xd
jl 0x1401cea60
mov al, 0xb2
xchg byte [0x14047c7dd], al
lea rax, [0x14047c7d0]
jmp 0x1401cec32
xor eax, eax
lea rcx, [0x14047c380]
lea rdx, [0x1403962f0]
nop word cs:[rax + rax]
movzx r8d, byte [rax + rdx]
xor byte [rax + rcx], r8b
inc rax
cmp eax, 0xd
jl 0x1401ceaa0
mov al, 0x11
xchg byte [0x14047c38d], al
lea rax, [0x14047c380]
jmp 0x1401cec32
cmp qword [0x1404bf608], 0
jne 0x1401ceb2b
mov eax, esi
xor eax, 0x54eced07
mov dword [rsp + 0x28], eax
mov qword [rsp + 0x20], 0
xor ebx, ebx
xor ecx, ecx
xor edx, edx
mov r8d, 0x10
xor r9d, r9d
call fcn.1401ca7b0
mov rdi, rax
mov qword [0x1404bf608], rax
xor esi, 0xc8cc3c5a
lea rcx, [0x1401ca710]
mov edx, esi
call fcn.1401099f0
lea rax, [0x140395e70]
movzx ecx, byte [rbx + rax]
mov byte [rdi + rbx], cl
inc rbx
cmp ebx, 0xe
jle 0x1401ceb1c
mov rax, qword [0x1404bf608]
xor ecx, ecx
lea rdx, [0x140395e80]
nop dword [rax + rax]
movzx r8d, byte [rcx + rdx]
add byte [rax + rcx], r8b
inc rcx
cmp ecx, 0xf
jl 0x1401ceb40
mov al, 0x82
xchg byte [0x14047bf98], al
mov rax, qword [0x1404bf608]
jmp 0x1401cec32
cmp qword [0x1404bf600], 0
jne 0x1401cebcb
mov eax, esi
xor eax, 0x36a7ba04
mov dword [rsp + 0x28], eax
mov qword [rsp + 0x20], 0
xor ebx, ebx
xor ecx, ecx
xor edx, edx
mov r8d, 0x12
xor r9d, r9d
call fcn.1401ca7b0
mov rdi, rax
mov qword [0x1404bf600], rax
xor esi, 0xaa876b59
lea rcx, [0x1401ca6f0]
mov edx, esi
call fcn.1401099f0
lea rax, [0x140395e30]
movzx ecx, byte [rbx + rax]
mov byte [rdi + rbx], cl
inc rbx
cmp ebx, 0x10
jle 0x1401cebbc
mov rax, qword [0x1404bf600]
xor ecx, ecx
lea rdx, [0x140395e50]
nop dword [rax + rax]
movzx r8d, byte [rcx + rdx]
add byte [rax + rcx], r8b
inc rcx
cmp ecx, 0x11
jl 0x1401cebe0
mov al, pe_nt_image_headers64
xchg byte [0x14047bf97], al
mov rax, qword [0x1404bf600]
jmp 0x1401cec32
xor eax, eax
lea rcx, [0x14047c3b0]
lea rdx, [0x140396320]
movzx r8d, byte [rax + rdx]
add byte [rax + rcx], r8b
inc rax
cmp eax, 0xd
jl 0x1401cec12
mov al, 0x31
xchg byte [0x14047c3bd], al
lea rax, [0x14047c3b0]
add rsp, 0x30
pop rbx
pop rdi
pop rsi
ret