Function at 0x14007fdb0
Capabilities:
Execute anti-debugging instructions

Disassembly:
mov qword [rsp + 0x18], rbx
mov qword [rsp + 0x10], rdx
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
sub rsp, 0x50
movzx eax, byte [rcx + 0x4a]
mov rbx, rcx
movzx ecx, al
xor r12d, r12d
shr cl, 1
not al
mov r15, r8
mov rdi, rdx
mov esi, r12d
test al, 1
je 0x14007ff00
test cl, 1
je 0x14007fdf9
mov r14b, 1
movzx ecx, r14b
jmp 0x14007fdfe
xor r14b, r14b
xor cl, cl
mov rax, qword [rbx + 0x70]
mov qword [rsp + 0x40], rax
mov rax, qword [rbx + 0x40]
mov byte [rsp + 0x90], cl
test rax, rax
je 0x14007fe1b
mov byte [rax + 0x14], 1
test cl, cl
je 0x14007fe5f
mov rax, qword [rbx + 0x30]
mov r8, qword [rax + 0x128]
nop
test r8, r8
je 0x14007fe5f
mov rcx, qword [rbx + 0x30]
mov rax, r8
lock cmpxchg qword [rcx + 0x128], r12
jne 0x14007fe5f
mov rax, qword [rbx + 0x30]
mov rcx, qword [rax + 0x88]
cmp r8, rcx
jle 0x14007fe5f
mov rdx, qword [rbx + 0x30]
mov rcx, qword [rbx + 0x78]
call fcn.140082080
mov rax, qword [rbx + 0x30]
mov r13d, r12d
mov ebp, dword [rax + 0x90]
nop
dec ebp
cmp qword [rdi], 1
je 0x140080182
nop dword [rax]
test r14b, r14b
je 0x14007fea3
mov rax, qword [rbx + 0x30]
mov ecx, dword [rax + 0x84]
nop
mov rax, qword [rbx + 0x30]
shr ecx, 0xc
cmp dword [rax + 0x80], ecx
jb 0x1400801b6
mov rax, qword [rbx + 0x30]
mov rdi, qword [rax + 0x88]
test rbp, rbp
je 0x14007ff13
mov rax, qword [rbx + 0x40]
mov rcx, qword [rax]
test rcx, rcx
je 0x14007ff13
mov rdx, r15
mov rcx, rbx
call fcn.14007dde0
mov rsi, rax
test r15, r15
je 0x14007ff13
test rax, rax
jne 0x1400801ba
mov rcx, qword [rbx + 0x40]
mov rdx, qword [rcx]
test rdx, rdx
je 0x14007ff5e
mov rdx, qword [rbx + 0x40]
test rdx, rdx
je 0x14007ff5e
cmp byte [rdx + 0x14], 1
jne 0x14007ff5e
test rdx, rdx
je 0x14007ff5e
mov byte [rdx + 0x14], al
jmp 0x14007ff5e
xor r14b, r14b
test cl, 1
je 0x14007fdfc
mov cl, 1
jmp 0x14007fdfe
test rsi, rsi
jne 0x1400801ba
test r15, r15
jne 0x14007ff5e
cmp byte [rsp + 0x90], r15b
je 0x14007ff5e
mov rcx, qword [rbx + 0x30]
movsxd rax, edi
cmp qword [rcx + rax*8 + 0x98], r15
je 0x14007ff5e
mov r8, qword [rbx + 0x28]
add rcx, 0x98
sub r8, 0xffffffffffffff80
mov edx, edi
call fcn.14007ed80
mov rsi, rax
test rax, rax
jne 0x1400801ba
cmp qword [rbx + 0x148], 0
je 0x14007ff7f
mov rdx, r15
mov rcx, rbx
call fcn.140080420
mov rsi, rax
test rax, rax
jne 0x1400801ba
lea rax, [rsp + 0x30]
cmp qword [rsp + 0x40], rax
jae 0x14007ffa7
test rbp, rbp
je 0x14007ffa7
mov rdx, r15
mov rcx, rbx
call fcn.140080750
mov rsi, rax
test rax, rax
jne 0x1400801ba
rdtsc
shl rdx, 0x20
mov ecx, 1
or rax, rdx
mov r8, rax
lea r9, [rax + 0x3e8]
nop
movsxd rdx, ecx
test ecx, ecx
je 0x14007ffcf
pause
sub rdx, 1
jne 0x14007ffc7
cmp ecx, 0x10
jge 0x14007ffd6
add ecx, ecx
rdtsc
shl rdx, 0x20
or rax, rdx
cmp rax, r8
jbe 0x14007ffec
mov r8, rax
cmp rax, r9
jb 0x14007ffc0
lea eax, [rbp*2 + 2]
cmp r12d, eax
jl 0x14008016d
mov r12d, eax
call qword [sym.imp.KERNEL32.dll_SwitchToThread]
mov rax, qword [rbx + 0x30]
cmp qword [rax + 0x118], 0
je 0x1400800e7
lock inc qword [rax + 0x120]
mov rax, qword [rbx + 0x30]
xor ecx, ecx
xchg qword [rax + 0x118], rcx
mov qword [rsp + 0x38], rcx
test rcx, rcx
je 0x1400800e7
movzx ecx, byte [rbx + 0x4a]
dec qword [rbx + 0x158]
movzx eax, cl
not al
mov qword [rsp + 0xa8], 0
test al, 1
je 0x140080083
test cl, 2
je 0x140080083
mov rax, qword [rbx + 0x30]
mov ecx, dword [rax + 0x84]
nop
mov r9, qword [rbx + 0x30]
shr ecx, 0xc
cmp dword [r9 + 0x80], ecx
jb 0x140080083
mov r9, qword [r9 + 0x88]
jmp 0x14008008a
mov rax, qword [rbx + 0x60]
mov r9, qword [rax]
lea r8, [rsp + 0xa8]
mov qword [rsp + 0x20], r15
lea rdx, [rsp + 0x38]
mov rcx, rbx
call fcn.140080210
cmp qword [rsp + 0x38], 0
mov rsi, rax
je 0x1400800de
mov rcx, qword [rsp + 0xa8]
mov rax, qword [rbx + 0x148]
mov qword [rcx], rax
cmp qword [rbx + 0x148], 0
jne 0x1400800d2
mov qword [rbx + 0x150], rcx
mov rax, qword [rsp + 0x38]
mov qword [rbx + 0x148], rax
test rsi, rsi
jne 0x140080183
mov eax, r13d
inc r13d
cmp eax, 0x64
jl 0x140080160
test r14b, r14b
jne 0x14008010f
mov rax, qword [rbx + 0x30]
mov rcx, qword [rax + 0x88]
mov rax, qword [rbx + 0x30]
cmp rcx, qword [rax + 0x108]
jle 0x140080125
mov rcx, qword [rbx + 0x30]
call fcn.140083210
test al, al
je 0x140080125
test r14b, r14b
jne 0x1400801b6
cmp qword [rbx + 0x148], 0
je 0x140080160
dec qword [rbx + 0x158]
test r14b, r14b
jne 0x140080160
mov rax, qword [rbx + 0x30]
mov rdx, qword [rax + 0x88]
mov rax, qword [rbx + 0x60]
mov rcx, qword [rax]
cmp rcx, rdx
jle 0x140080160
mov rax, qword [rbx + 0x30]
add rax, 0x88
mov qword [rbx + 0x60], rax
mov rax, qword [rbx + 0x30]
mov ebp, dword [rax + 0x90]
nop
dec ebp
mov rdi, qword [rsp + 0x98]
inc r12d
cmp qword [rdi], 1
jne 0x14007fe80
nop
mov rcx, qword [rbx + 0x40]
test rcx, rcx
je 0x14008019b
cmp byte [rcx + 0x14], 1
jne 0x14008019b
test rcx, rcx
je 0x14008019b
mov byte [rcx + 0x14], 0
mov rax, rsi
mov rbx, qword [rsp + 0xa0]
add rsp, 0x50
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret
xor eax, eax
jmp 0x14008019e
mov rcx, qword [rbx + 0x30]
lea rdx, [rbx + 0x58]
add rcx, 0xe0
mov rax, qword [rcx + 8]
cmp qword [rdx], rax
je 0x1400801e3
movzx r8d, byte [rbx + 0x4a]
not r8b
and r8b, 1
call fcn.140084370
mov rax, qword [0x14016bdc0]
lea rdx, [rbx + 0x50]
cmp qword [rdx], rax
je 0x140080183
movzx r8d, byte [rbx + 0x4a]
lea rcx, [0x14016bdb8]
not r8b
and r8b, 1
call fcn.140084370
jmp 0x140080183