Function at 0x1801ce650
Capabilities:
Execute anti-debugging instructions

Disassembly:
mov qword [rsp + 0x10], rbp
mov qword [rsp + 0x18], rsi
mov qword [rsp + 0x20], rdi
push r13
push r14
push r15
sub rsp, 0x80
mov r14, qword [rsp + 0xc8]
mov r15, r9
mov r13d, dword [rsp + 0xc0]
mov rbp, r8
mov rdi, rcx
movzx eax, byte [r14]
and r13d, 4
je 0x1801ce694
mov sil, 3
jmp 0x1801ce6a3
test byte [rsp + 0xc0], 1
setne sil
inc sil
cmp byte [rsp + 0xd0], 0
mov qword [rsp + 0xa0], rbx
jne 0x1801ce6be
cmp sil, al
je 0x1801ce77c
cmp al, 1
jbe 0x1801ce77c
rdtsc
mov rcx, qword [rcx + 0x119718]
mov r8d, 0x1000
shl rdx, 0x20
or rax, rdx
mov rdx, r15
mov rbx, rax
mov rax, qword [0x180598598]
call qword [case.0x180097796.0]
mov r8d, eax
mov dword [rsp + 0xd0], eax
rdtsc
mov rcx, qword [rdi + 0x1197b8]
shl rdx, 0x20
or rdx, rax
sub rdx, rbx
add rcx, rdx
mov qword [rdi + 0x1197b8], rcx
mov rcx, qword [rdi + 0x1197b0]
inc rcx
mov qword [rdi + 0x1197b0], rcx
mov rcx, qword [rdi + 0x1197c0]
cmp rcx, rdx
jae 0x1801ce73a
mov qword [rdi + 0x1197c0], rdx
mov rax, qword [rdi + 0x1197c8]
cmp rax, rdx
jbe 0x1801ce74d
mov qword [rdi + 0x1197c8], rdx
test r8d, r8d
js 0x1801ce80c
mov byte [r14], 1
mov rax, qword [rdi + 0x119738]
inc rax
mov qword [rdi + 0x119738], rax
lock dec dword [rdi + 0x119728]
cmp sil, 1
je 0x1801cea8c
test r13d, r13d
je 0x1801ce906
lea r9, [rsp + 0x58]
mov rdx, rbp
lea r8, [rsp + 0xc8]
mov rcx, rdi
call fcn.1801b3090
mov ebx, eax
test eax, eax
js 0x1801ce8cb
lea rdx, [rsp + 0x58]
mov rcx, rdi
call sym.VBoxVMM.dll_PGMPhysReleasePageMappingLock
mov rdx, qword [rsp + 0xc8]
mov r9d, 0x1000
mov rcx, qword [rdi + 0x119718]
mov r8, r15
mov rax, qword [0x180598590]
mov dword [rsp + 0x20], 7
call qword [case.0x180097796.0]
mov ebx, eax
test eax, eax
js 0x1801ce86f
mov byte [r14], 3
mov rax, qword [rdi + 0x119730]
inc rax
mov qword [rdi + 0x119730], rax
lock inc dword [rdi + 0x119728]
jmp 0x1801cea8c
mov rax, qword [rdi + 0x119748]
mov ecx, 0x1550010
inc rax
mov qword [rdi + 0x119748], rax
call qword [sym.imp.VBoxRT.dll_RTLogRelGetDefaultInstanceEx]
test rax, rax
je 0x1801cea45
mov rcx, qword gs:[0x30]
lea r9, str.nemHCNativeSetPhysPage_unmap:_GCPhysDst_RGp_hrc_Rhrc___x__Last_x__u_n
mov rdx, qword gs:[0x30]
mov ecx, dword [rcx + 0x68]
mov dword [rsp + 0x40], ecx
mov ecx, dword [rdx + 0x1250]
mov dword [rsp + 0x38], ecx
mov ecx, dword [rsp + 0xd0]
mov dword [rsp + 0x30], ecx
mov dword [rsp + 0x28], ecx
jmp 0x1801cea2c
mov rax, qword [rdi + 0x119740]
mov ecx, 0x1550010
inc rax
mov qword [rdi + 0x119740], rax
call qword [sym.imp.VBoxRT.dll_RTLogRelGetDefaultInstanceEx]
test rax, rax
je 0x1801cea45
mov rcx, qword gs:[0x30]
lea r9, str.nemHCNativeSetPhysPage_writable:_GCPhysDst_RGp_hrc_Rhrc___x__Last_x__u_n
mov rdx, qword gs:[0x30]
mov ecx, dword [rcx + 0x68]
mov dword [rsp + 0x40], ecx
mov ecx, dword [rdx + 0x1250]
mov dword [rsp + 0x38], ecx
mov dword [rsp + 0x30], ebx
mov dword [rsp + 0x28], ebx
jmp 0x1801cea2c
mov ecx, 0x1550010
call qword [sym.imp.VBoxRT.dll_RTLogRelGetDefaultInstanceEx]
test rax, rax
je 0x1801ce8ff
mov dword [rsp + 0x28], ebx
lea r9, str.nemHCNativeSetPhysPage_writable:_GCPhysSrc_RGp_rc_Rrc_n
mov edx, 0x10
mov qword [rsp + 0x20], rbp
mov r8d, 0x155
mov rcx, rax
call qword [sym.imp.VBoxRT.dll_RTLogLoggerEx]
mov eax, ebx
jmp 0x1801cea8e
test byte [rsp + 0xc0], 1
je 0x1801cea88
lea r9, [rsp + 0x68]
mov rdx, rbp
lea r8, [rsp + 0x50]
mov rcx, rdi
call fcn.1801b31c0
mov ebx, eax
test eax, eax
js 0x1801cea4c
lea rdx, [rsp + 0x68]
mov rcx, rdi
call sym.VBoxVMM.dll_PGMPhysReleasePageMappingLock
rdtsc
mov rcx, qword [rdi + 0x119718]
mov r9d, 0x1000
shl rdx, 0x20
mov r8, r15
or rax, rdx
mov dword [rsp + 0x20], 5
mov rdx, qword [rsp + 0x50]
mov rbx, rax
mov rax, qword [0x180598590]
call qword [case.0x180097796.0]
mov esi, eax
rdtsc
mov rcx, qword [rdi + 0x119798]
shl rdx, 0x20
or rdx, rax
sub rdx, rbx
add rcx, rdx
mov qword [rdi + 0x119798], rcx
mov rcx, qword [rdi + 0x119790]
inc rcx
mov qword [rdi + 0x119790], rcx
mov rcx, qword [rdi + 0x1197a0]
cmp rcx, rdx
jae 0x1801ce9b9
mov qword [rdi + 0x1197a0], rdx
mov rax, qword [rdi + 0x1197a8]
cmp rax, rdx
jbe 0x1801ce9cc
mov qword [rdi + 0x1197a8], rdx
test esi, esi
js 0x1801ce9d9
mov byte [r14], 2
jmp 0x1801ce7ef
mov rax, qword [rdi + 0x119740]
mov ecx, 0x1550010
inc rax
mov qword [rdi + 0x119740], rax
call qword [sym.imp.VBoxRT.dll_RTLogRelGetDefaultInstanceEx]
test rax, rax
je 0x1801cea45
mov rcx, qword gs:[0x30]
lea r9, str.nemHCNativeSetPhysPage_readonly:_GCPhysDst_RGp_hrc_Rhrc___x__Last_x__u_n
mov rdx, qword gs:[0x30]
mov ecx, dword [rcx + 0x68]
mov dword [rsp + 0x40], ecx
mov ecx, dword [rdx + 0x1250]
mov dword [rsp + 0x38], ecx
mov dword [rsp + 0x30], esi
mov dword [rsp + 0x28], esi
mov r8d, 0x155
mov qword [rsp + 0x20], r15
mov edx, 0x10
mov rcx, rax
call qword [sym.imp.VBoxRT.dll_RTLogLoggerEx]
mov eax, 0xffffe56e
jmp 0x1801cea8e
mov ecx, 0x1550010
call qword [sym.imp.VBoxRT.dll_RTLogRelGetDefaultInstanceEx]
test rax, rax
je 0x1801ce8ff
mov dword [rsp + 0x28], ebx
lea r9, str.nemHCNativeSetPhysPage_readonly:_GCPhysSrc_RGp_rc_Rrc_n
mov edx, 0x10
mov qword [rsp + 0x20], rbp
mov r8d, 0x155
mov rcx, rax
call qword [sym.imp.VBoxRT.dll_RTLogLoggerEx]
mov eax, ebx
jmp 0x1801cea8e
mov byte [r14], 1
xor eax, eax
mov rbx, qword [rsp + 0xa0]
lea r11, [rsp + 0x80]
mov rbp, qword [r11 + 0x28]
mov rsi, qword [r11 + 0x30]
mov rdi, qword [r11 + 0x38]
mov rsp, r11
pop r15
pop r14
pop r13
ret