Function at 0x180017680
Capabilities:
Print debug messages

Disassembly:
mov qword [rsp + 0x18], r8
mov dword [rsp + 0x10], edx
mov qword [rsp + 8], rcx
push rbx
push rsi
push rdi
push r12
push r13
push r14
push r15
sub rsp, 0x40
mov r14, r8
mov r13, rcx
lea rax, [rcx + 0x1000]
cmp rax, 0x2000
jb 0x180017a12
mov rax, rcx
movabs rcx, 0xffff800000000000
and rax, rcx
movabs rcx, 0x800000000000
add rax, rcx
movabs rcx, 0xffff7fffffffffff
test rcx, rax
jne 0x180017a12
cmp edx, 2
jb 0x180017a12
xor edi, edi
mov dword [rsp + 0x24], edi
mov rax, qword [sym.imp.ntoskrnl.exe_MmSystemRangeStart]
mov r12, qword [rax]
mov qword [rsp + 0x30], r12
cmp qword [0x18002e100], rdi
jne 0x18001796d
cmp qword [0x18002e170], rdi
jne 0x18001796d
mov r8d, 0x10
cmp edx, r8d
cmovbe r8d, edx
mov dword [rsp + 0x20], r8d
mov ecx, 0xffffffff
mov dword [rsp + 0x98], ecx
mov r15d, ecx
mov dword [rsp + 0x28], ecx
xor ebx, ebx
test r8d, r8d
je 0x1800177ec
lea rsi, [r13 + 0x20]
cmp qword [rsi - 8], r12
jb 0x1800177da
cmp dword [rsi], 0x1000
jb 0x1800177da
movzx r12d, word [rsi + 0xe]
cmp ecx, 0xffffffff
jne 0x1800177a0
lea rdx, str.ntoskrnl.exe
lea rcx, [rsi + 0x10]
add rcx, r12
call sym.VBoxVideo.dll_RTStrICmpAscii
test eax, eax
jne 0x180017794
mov ecx, ebx
mov dword [rsp + 0x98], ebx
cmp r15d, 0xffffffff
jmp 0x1800177ce
mov ecx, dword [rsp + 0x98]
mov r8d, dword [rsp + 0x20]
cmp r15d, 0xffffffff
jne 0x1800177d5
lea rdx, str.hal.dll
lea rcx, [rsi + 0x10]
add rcx, r12
call sym.VBoxVideo.dll_RTStrICmpAscii
mov ecx, dword [rsp + 0x98]
test eax, eax
jne 0x1800177d0
mov r15d, ebx
mov dword [rsp + 0x28], ebx
cmp ebx, 0xffffffff
jne 0x1800177ec
mov r8d, dword [rsp + 0x20]
mov r12, qword [rsp + 0x30]
inc ebx
add rsi, 0x128
cmp ebx, r8d
jb 0x180017752
cmp ecx, 0xffffffff
jne 0x180017815
xor esi, esi
lea rdx, [r13 + 0x30]
lea rcx, str.rtR0DbgKrnlNtInit:_ntoskrnl.exe_not_found__picking__s_instead_n
call sym.VBoxVideo.dll_RTLogBackdoorPrintf
lea rdx, [r13 + 0x30]
lea rcx, str.rtR0DbgKrnlNtInit:_ntoskrnl.exe_not_found__picking__s_instead_n
call sub.ntoskrnl.exe_DbgPrint
jmp 0x18001781c
mov esi, dword [rsp + 0x98]
cmp r15d, 0xffffffff
jne 0x180017854
mov r15d, 1
mov dword [rsp + 0x28], r15d
lea rdx, [r13 + 0x158]
lea rcx, str.rtR0DbgKrnlNtInit:_hal.dll_not_found__picking__s_instead_n
call sym.VBoxVideo.dll_RTLogBackdoorPrintf
lea rdx, [r13 + 0x158]
lea rcx, str.rtR0DbgKrnlNtInit:_hal.dll_not_found__picking__s_instead_n
call sub.ntoskrnl.exe_DbgPrint
nop
mov eax, esi
imul rcx, rax, 0x128
mov r8d, dword [rcx + r13 + 0x20]
mov rdx, qword [rcx + r13 + 0x18]
lea rcx, str.ntoskrnl.exe
call fcn.1800171c0
mov byte [0x18002e110], al
mov r12, qword [rsp + 0x30]
jmp 0x1800178bd
mov eax, r15d
imul rdx, rax, 0x128
mov r8d, dword [rdx + r13 + 0x20]
mov rdx, qword [rdx + r13 + 0x18]
lea rcx, str.hal.dll
call fcn.1800171c0
movzx ecx, al
mov byte [0x18002e180], al
jmp 0x180017927
movzx eax, byte [0x18002e110]
test al, al
je 0x180017936
test cl, cl
jne 0x18001793b
mov edi, 0xfffffd96
test al, al
je 0x180017966
cmp qword [0x1800316e8], 0
jne 0x180017966
lea r9, [0x1800316e8]
xor r8d, r8d
lea rdx, str.MmGetSystemRoutineAddress
lea rcx, str.ntoskrnl.exe
call fcn.180016ce0
mov edx, dword [rsp + 0x88]
test edi, edi
js 0x180017a00
test r14, r14
je 0x180017a00
mov edi, 0xfffffd9e
xor esi, esi
cmp esi, edx
jae 0x180017a00
mov eax, esi
imul rbx, rax, 0x128
add rbx, r13
cmp qword [rbx + 0x18], r12
jb 0x1800179fc
cmp dword [rbx + 0x20], 0x1000
jb 0x1800179fc
movzx eax, word [rbx + 0x2e]
lea rcx, [rbx + 0x30]
add rcx, rax
cmp qword [r14 + 0x20], 0
jne 0x1800179fc
mov rdx, r14
call sym.VBoxVideo.dll_RTStrICmpAscii
test eax, eax
jne 0x1800179f5
mov r8d, dword [rbx + 0x20]
mov rdx, qword [rbx + 0x18]
mov rcx, r14
call fcn.1800171c0
mov byte [r14 + 0x30], al
xor edi, edi
mov dword [rsp + 0x24], edi
jmp 0x180017a00
mov edx, dword [rsp + 0x88]
inc esi
jmp 0x180017985
mov eax, edi
add rsp, 0x40
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbx
ret
mov eax, 0xfffffffe
add rsp, 0x40
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbx
ret