Function at 0x1401cc720
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 0x1401cc779
test edx, edx
je 0x1401cc7c9
test r8d, r8d
je 0x1401cc809
test r9d, r9d
je 0x1401cc889
movzx eax, byte [0x14047b4a1]
cmp al, 0xb4
je 0x1401cca39
mov cl, 0xa0
nop word [rax + rax]
mov al, 0x12
lock cmpxchg byte [0x14047b4a1], cl
je 0x1401cca09
cmp al, 0xb4
jne 0x1401cc760
jmp 0x1401cca39
test edx, edx
je 0x1401cc849
test r8d, r8d
je 0x1401cc8b9
test r9d, r9d
je 0x1401cc939
movzx eax, byte [0x14047b6ad]
cmp al, 0x1b
je 0x1401ccb09
mov cl, 0x7e
nop word cs:[rax + rax]
mov al, 0x6a
lock cmpxchg byte [0x14047b6ad], cl
je 0x1401ccad9
cmp al, 0x1b
jne 0x1401cc7b0
jmp 0x1401ccb09
test r8d, r8d
je 0x1401cc8f9
test r9d, r9d
je 0x1401cc969
movzx eax, byte [0x14047b1cb]
cmp al, 0xcc
je 0x1401ccb49
mov cl, 0xbc
nop dword [rax]
mov al, 0x86
lock cmpxchg byte [0x14047b1cb], cl
je 0x1401ccb15
cmp al, 0xcc
jne 0x1401cc7f0
jmp 0x1401ccb49
test r9d, r9d
je 0x1401cc999
movzx eax, byte [0x14047b056]
cmp al, 0xb2
je 0x1401ccb89
mov cl, 0x4c
nop word cs:[rax + rax]
mov al, 0x69
lock cmpxchg byte [0x14047b056], cl
je 0x1401ccb55
cmp al, 0xb2
jne 0x1401cc830
jmp 0x1401ccb89
test r8d, r8d
je 0x1401cc9c9
test r9d, r9d
je 0x1401cca45
movzx eax, byte [0x14047b3ed]
cmp al, 0x51
je 0x1401ccc29
mov cl, 0x55
nop dword [rax]
mov al, 0x7b
lock cmpxchg byte [0x14047b3ed], cl
je 0x1401ccbff
cmp al, 0x51
jne 0x1401cc870
jmp 0x1401ccc29
movzx eax, byte [0x14047aff7]
cmp al, 0xef
je 0x1401ccbc9
mov cl, 0xe9
nop word [rax + rax]
mov al, 0x1c
lock cmpxchg byte [0x14047aff7], cl
je 0x1401ccb95
cmp al, 0xef
jne 0x1401cc8a0
jmp 0x1401ccbc9
test r9d, r9d
je 0x1401cca79
movzx eax, byte [0x14047af5b]
cmp al, 0xb1
je 0x1401cccc9
mov cl, 0x98
nop word cs:[rax + rax]
mov al, 0x56
lock cmpxchg byte [0x14047af5b], cl
je 0x1401ccc35
cmp al, 0xb1
jne 0x1401cc8e0
jmp 0x1401cccc9
test r9d, r9d
je 0x1401ccaa9
movzx eax, byte [0x14047b3dd]
cmp al, 0xc
je 0x1401ccd09
mov cl, 0x9f
nop word cs:[rax + rax]
mov al, 0x6f
lock cmpxchg byte [0x14047b3dd], cl
je 0x1401cccd5
cmp al, 0xc
jne 0x1401cc920
jmp 0x1401ccd09
movzx eax, byte [0x14047b25e]
cmp al, 0x9f
je 0x1401ccd49
mov cl, 0x68
nop word [rax + rax]
mov al, 0xc3
lock cmpxchg byte [0x14047b25e], cl
je 0x1401ccd15
cmp al, 0x9f
jne 0x1401cc950
jmp 0x1401ccd49
movzx eax, byte [0x14047b23b]
cmp al, 0xc1
je 0x1401ccd89
mov cl, 0x44
nop word [rax + rax]
mov al, 0x49
lock cmpxchg byte [0x14047b23b], cl
je 0x1401ccd55
cmp al, 0xc1
jne 0x1401cc980
jmp 0x1401ccd89
movzx eax, byte [0x14047b55d]
cmp al, 0x74
je 0x1401ccdc9
mov cl, 0x7b
nop word [rax + rax]
mov al, 0x61
lock cmpxchg byte [0x14047b55d], cl
je 0x1401ccd95
cmp al, 0x74
jne 0x1401cc9b0
jmp 0x1401ccdc9
test r9d, r9d
je 0x1401ccbd5
movzx eax, byte [0x14047b79d]
cmp al, 0xb2
je 0x1401cce09
mov cl, 0x7c
nop word cs:[rax + rax]
mov al, 0x85
lock cmpxchg byte [0x14047b79d], cl
je 0x1401ccdd5
cmp al, 0xb2
jne 0x1401cc9f0
jmp 0x1401cce09
xor eax, eax
lea rcx, [0x14047b490]
lea rdx, [0x140395430]
nop dword [rax]
movzx r8d, byte [rax + rdx]
add byte [rax + rcx], r8b
inc rax
cmp eax, 0x11
jl 0x1401cca20
mov al, 0xb4
xchg byte [0x14047b4a1], al
lea rax, [0x14047b490]
jmp 0x1401ccfc2
movzx eax, byte [0x14047b34d]
cmp al, 0x11
je 0x1401cce49
mov cl, 0xe3
nop word cs:[rax + rax]
mov al, 0x3a
lock cmpxchg byte [0x14047b34d], cl
je 0x1401cce15
cmp al, 0x11
jne 0x1401cca60
jmp 0x1401cce49
movzx eax, byte [0x14047af58]
cmp al, 0x82
je 0x1401ccee9
mov cl, 0xa4
nop word [rax + rax]
mov al, 0x44
lock cmpxchg byte [0x14047af58], cl
je 0x1401cce55
cmp al, 0x82
jne 0x1401cca90
jmp 0x1401ccee9
movzx eax, byte [0x14047af57]
cmp al, 0xe0
je 0x1401ccf89
mov cl, 0x2b
nop word [rax + rax]
mov al, 0x80
lock cmpxchg byte [0x14047af57], cl
je 0x1401ccef5
cmp al, 0xe0
jne 0x1401ccac0
jmp 0x1401ccf89
xor eax, eax
lea rcx, [0x14047b6a0]
lea rdx, [0x140395640]
nop dword [rax]
movzx r8d, byte [rax + rdx]
add byte [rax + rcx], r8b
inc rax
cmp eax, 0xd
jl 0x1401ccaf0
mov al, 0x1b
xchg byte [0x14047b6ad], al
lea rax, [0x14047b6a0]
jmp 0x1401ccfc2
xor eax, eax
lea rcx, [0x14047b1c0]
lea rdx, [0x140395170]
nop word cs:[rax + rax]
movzx r8d, byte [rax + rdx]
xor byte [rax + rcx], r8b
inc rax
cmp eax, 0xb
jl 0x1401ccb30
mov al, 0xcc
xchg byte [0x14047b1cb], al
lea rax, [0x14047b1c0]
jmp 0x1401ccfc2
xor eax, eax
lea rcx, [0x14047b000]
lea rdx, [0x140394fc0]
nop word cs:[rax + rax]
movzx r8d, byte [rax + rdx]
add byte [rax + rcx], r8b
inc rax
cmp eax, 0x56
jl 0x1401ccb70
mov al, 0xb2
xchg byte [0x14047b056], al
lea rax, [0x14047b000]
jmp 0x1401ccfc2
xor eax, eax
lea rcx, [0x14047aff0]
lea rdx, [0x140394fb0]
nop word cs:[rax + rax]
movzx r8d, byte [rax + rdx]
add byte [rax + rcx], r8b
inc rax
cmp eax, 7
jl 0x1401ccbb0
mov al, 0xef
xchg byte [0x14047aff7], al
lea rax, [0x14047aff0]
jmp 0x1401ccfc2
movzx eax, byte [0x14047b37d]
cmp al, 0x31
je 0x1401ccfbb
mov cl, 0x95
mov al, 0x41
lock cmpxchg byte [0x14047b37d], cl
je 0x1401ccf92
cmp al, 0x31
jne 0x1401ccbe6
jmp 0x1401ccfbb
xor eax, eax
lea rcx, [0x14047b3e0]
lea rdx, [0x140395380]
nop
movzx r8d, byte [rax + rdx]
xor byte [rax + rcx], r8b
inc rax
cmp eax, 0xd
jl 0x1401ccc10
mov al, 0x51
xchg byte [0x14047b3ed], al
lea rax, [0x14047b3e0]
jmp 0x1401ccfc2
cmp qword [0x1404be5f0], 0
jne 0x1401ccc9b
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.1401c8b40
mov rdi, rax
mov qword [0x1404be5f0], rax
xor esi, 0xc8cc3c5a
lea rcx, [0x1401c8b00]
mov edx, esi
call fcn.140107920
lea rax, [0x140394ec0]
movzx ecx, byte [rbx + rax]
mov byte [rdi + rbx], cl
inc rbx
cmp ebx, 0x16
jle 0x1401ccc8c
mov rax, qword [0x1404be5f0]
xor ecx, ecx
lea rdx, [0x140394ee0]
nop dword [rax + rax]
movzx r8d, byte [rcx + rdx]
xor byte [rax + rcx], r8b
inc rcx
cmp ecx, 0x17
jl 0x1401cccb0
mov al, 0xb1
xchg byte [0x14047af5b], al
mov rax, qword [0x1404be5f0]
jmp 0x1401ccfc2
xor eax, eax
lea rcx, [0x14047b3d0]
lea rdx, [0x140395370]
nop word cs:[rax + rax]
movzx r8d, byte [rax + rdx]
xor byte [rax + rcx], r8b
inc rax
cmp eax, 0xd
jl 0x1401cccf0
mov al, 0xc
xchg byte [0x14047b3dd], al
lea rax, [0x14047b3d0]
jmp 0x1401ccfc2
xor eax, eax
lea rcx, [0x14047b250]
lea rdx, [0x140395200]
nop word cs:[rax + rax]
movzx r8d, byte [rax + rdx]
add byte [rax + rcx], r8b
inc rax
cmp eax, 0xe
jl 0x1401ccd30
mov al, 0x9f
xchg byte [0x14047b25e], al
lea rax, [0x14047b250]
jmp 0x1401ccfc2
xor eax, eax
lea rcx, [0x14047b230]
lea rdx, [0x1403951e0]
nop word cs:[rax + rax]
movzx r8d, byte [rax + rdx]
xor byte [rax + rcx], r8b
inc rax
cmp eax, 0xb
jl 0x1401ccd70
mov al, 0xc1
xchg byte [0x14047b23b], al
lea rax, [0x14047b230]
jmp 0x1401ccfc2
xor eax, eax
lea rcx, [0x14047b550]
lea rdx, [0x1403954f0]
nop word cs:[rax + rax]
movzx r8d, byte [rax + rdx]
xor byte [rax + rcx], r8b
inc rax
cmp eax, 0xd
jl 0x1401ccdb0
mov al, 0x74
xchg byte [0x14047b55d], al
lea rax, [0x14047b550]
jmp 0x1401ccfc2
xor eax, eax
lea rcx, [0x14047b790]
lea rdx, [0x140395710]
nop word cs:[rax + rax]
movzx r8d, byte [rax + rdx]
add byte [rax + rcx], r8b
inc rax
cmp eax, 0xd
jl 0x1401ccdf0
mov al, 0xb2
xchg byte [0x14047b79d], al
lea rax, [0x14047b790]
jmp 0x1401ccfc2
xor eax, eax
lea rcx, [0x14047b340]
lea rdx, [0x1403952e0]
nop word cs:[rax + rax]
movzx r8d, byte [rax + rdx]
xor byte [rax + rcx], r8b
inc rax
cmp eax, 0xd
jl 0x1401cce30
mov al, 0x11
xchg byte [0x14047b34d], al
lea rax, [0x14047b340]
jmp 0x1401ccfc2
cmp qword [0x1404be5d8], 0
jne 0x1401ccebb
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.1401c8b40
mov rdi, rax
mov qword [0x1404be5d8], rax
xor esi, 0xc8cc3c5a
lea rcx, [0x1401c8aa0]
mov edx, esi
call fcn.140107920
lea rax, [0x140394e60]
movzx ecx, byte [rbx + rax]
mov byte [rdi + rbx], cl
inc rbx
cmp ebx, 0xe
jle 0x1401cceac
mov rax, qword [0x1404be5d8]
xor ecx, ecx
lea rdx, [0x140394e70]
nop dword [rax + rax]
movzx r8d, byte [rcx + rdx]
add byte [rax + rcx], r8b
inc rcx
cmp ecx, 0xf
jl 0x1401cced0
mov al, 0x82
xchg byte [0x14047af58], al
mov rax, qword [0x1404be5d8]
jmp 0x1401ccfc2
cmp qword [0x1404be5d0], 0
jne 0x1401ccf5b
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.1401c8b40
mov rdi, rax
mov qword [0x1404be5d0], rax
xor esi, 0xaa876b59
lea rcx, [0x1401c8a80]
mov edx, esi
call fcn.140107920
lea rax, [0x140394e20]
movzx ecx, byte [rbx + rax]
mov byte [rdi + rbx], cl
inc rbx
cmp ebx, 0x10
jle 0x1401ccf4c
mov rax, qword [0x1404be5d0]
xor ecx, ecx
lea rdx, [0x140394e40]
nop dword [rax + rax]
movzx r8d, byte [rcx + rdx]
add byte [rax + rcx], r8b
inc rcx
cmp ecx, 0x11
jl 0x1401ccf70
mov al, pe_nt_image_headers64
xchg byte [0x14047af57], al
mov rax, qword [0x1404be5d0]
jmp 0x1401ccfc2
xor eax, eax
lea rcx, [0x14047b370]
lea rdx, [0x140395310]
movzx r8d, byte [rax + rdx]
add byte [rax + rcx], r8b
inc rax
cmp eax, 0xd
jl 0x1401ccfa2
mov al, 0x31
xchg byte [0x14047b37d], al
lea rax, [0x14047b370]
add rsp, 0x30
pop rbx
pop rdi
pop rsi
ret