Function at 0x140010cd0
Capabilities:
Print debug messages

Disassembly:
push rbx
push rsi
push rdi
push r12
push r13
push r14
push r15
sub rsp, 0x50
lea rcx, [rsp + 0xa0]
call fcn.140010a90
mov rax, qword [rsp + 0xa0]
movzx ebx, al
shl ebx, 0x10
movzx edx, byte [rsp + 0xa1]
or ebx, edx
mov dword [0x14002c0a8], ebx
mov byte [0x14002c52d], dl
mov byte [0x14002c52c], al
mov eax, dword [rsp + 0xa4]
mov dword [0x14002c530], eax
xor edx, edx
lea rcx, [rsp + 0x98]
call sym.VBoxNetAdp.sys_RTR0DbgKrnlInfoOpen
test eax, eax
js 0x1400114fc
lea r8, str.ExAllocatePoolWithTag
xor edx, edx
mov rcx, qword [rsp + 0x98]
call sym.VBoxNetAdp.sys_RTR0DbgKrnlInfoGetSymbol
mov qword [0x14002c3c8], rax
lea r8, str.ExFreePoolWithTag
xor edx, edx
mov rcx, qword [rsp + 0x98]
call sym.VBoxNetAdp.sys_RTR0DbgKrnlInfoGetSymbol
mov qword [0x14002c3d0], rax
lea r8, str.ExSetTimerResolution
xor edx, edx
mov rcx, qword [rsp + 0x98]
call sym.VBoxNetAdp.sys_RTR0DbgKrnlInfoGetSymbol
mov qword [0x14002c3d8], rax
lea r8, str.ExAllocateTimer
xor edx, edx
mov rcx, qword [rsp + 0x98]
call sym.VBoxNetAdp.sys_RTR0DbgKrnlInfoGetSymbol
mov qword [0x14002c3e0], rax
lea r8, str.ExDeleteTimer
xor edx, edx
mov rcx, qword [rsp + 0x98]
call sym.VBoxNetAdp.sys_RTR0DbgKrnlInfoGetSymbol
mov qword [0x14002c3e8], rax
lea r8, str.ExSetTimer
xor edx, edx
mov rcx, qword [rsp + 0x98]
call sym.VBoxNetAdp.sys_RTR0DbgKrnlInfoGetSymbol
mov qword [0x14002c3f0], rax
lea r8, str.ExCancelTimer
xor edx, edx
mov rcx, qword [rsp + 0x98]
call sym.VBoxNetAdp.sys_RTR0DbgKrnlInfoGetSymbol
mov qword [0x14002c3f8], rax
lea r8, str.KeFlushQueuedDpcs
xor edx, edx
mov rcx, qword [rsp + 0x98]
call sym.VBoxNetAdp.sys_RTR0DbgKrnlInfoGetSymbol
mov qword [0x14002c400], rax
lea r8, str.KeIpiGenericCall
xor edx, edx
mov rcx, qword [rsp + 0x98]
call sym.VBoxNetAdp.sys_RTR0DbgKrnlInfoGetSymbol
mov qword [0x14002c420], rax
lea r8, str.KeSetTargetProcessorDpcEx
xor edx, edx
mov rcx, qword [rsp + 0x98]
call sym.VBoxNetAdp.sys_RTR0DbgKrnlInfoGetSymbol
mov qword [0x14002c428], rax
lea r8, str.KeInitializeAffinityEx
xor edx, edx
mov rcx, qword [rsp + 0x98]
call sym.VBoxNetAdp.sys_RTR0DbgKrnlInfoGetSymbol
mov qword [0x14002c430], rax
lea r8, str.KeAddProcessorAffinityEx
xor edx, edx
mov rcx, qword [rsp + 0x98]
call sym.VBoxNetAdp.sys_RTR0DbgKrnlInfoGetSymbol
mov qword [0x14002c438], rax
lea r8, str.KeGetProcessorIndexFromNumber
xor edx, edx
mov rcx, qword [rsp + 0x98]
call sym.VBoxNetAdp.sys_RTR0DbgKrnlInfoGetSymbol
mov qword [0x14002c440], rax
lea r8, str.KeGetProcessorNumberFromIndex
xor edx, edx
mov rcx, qword [rsp + 0x98]
call sym.VBoxNetAdp.sys_RTR0DbgKrnlInfoGetSymbol
mov qword [0x14002c448], rax
lea r8, str.KeGetCurrentProcessorNumberEx
xor edx, edx
mov rcx, qword [rsp + 0x98]
call sym.VBoxNetAdp.sys_RTR0DbgKrnlInfoGetSymbol
mov qword [0x14002c450], rax
lea r8, str.KeQueryActiveProcessors
xor edx, edx
mov rcx, qword [rsp + 0x98]
call sym.VBoxNetAdp.sys_RTR0DbgKrnlInfoGetSymbol
mov qword [0x14002c458], rax
lea r8, str.KeQueryMaximumProcessorCount
xor edx, edx
mov rcx, qword [rsp + 0x98]
call sym.VBoxNetAdp.sys_RTR0DbgKrnlInfoGetSymbol
mov qword [0x14002c460], rax
lea r8, str.KeQueryMaximumProcessorCountEx
xor edx, edx
mov rcx, qword [rsp + 0x98]
call sym.VBoxNetAdp.sys_RTR0DbgKrnlInfoGetSymbol
mov qword [0x14002c468], rax
lea r8, str.KeQueryMaximumGroupCount
xor edx, edx
mov rcx, qword [rsp + 0x98]
call sym.VBoxNetAdp.sys_RTR0DbgKrnlInfoGetSymbol
mov qword [0x14002c470], rax
lea r8, str.KeQueryActiveProcessorCount
xor edx, edx
mov rcx, qword [rsp + 0x98]
call sym.VBoxNetAdp.sys_RTR0DbgKrnlInfoGetSymbol
mov qword [0x14002c478], rax
lea r8, str.KeQueryActiveProcessorCountEx
xor edx, edx
mov rcx, qword [rsp + 0x98]
call sym.VBoxNetAdp.sys_RTR0DbgKrnlInfoGetSymbol
mov qword [0x14002c480], rax
lea r8, str.KeQueryLogicalProcessorRelationship
xor edx, edx
mov rcx, qword [rsp + 0x98]
call sym.VBoxNetAdp.sys_RTR0DbgKrnlInfoGetSymbol
mov qword [0x14002c488], rax
lea r8, str.KeRegisterProcessorChangeCallback
xor edx, edx
mov rcx, qword [rsp + 0x98]
call sym.VBoxNetAdp.sys_RTR0DbgKrnlInfoGetSymbol
mov qword [0x14002c490], rax
lea r8, str.KeDeregisterProcessorChangeCallback
xor edx, edx
mov rcx, qword [rsp + 0x98]
call sym.VBoxNetAdp.sys_RTR0DbgKrnlInfoGetSymbol
mov qword [0x14002c498], rax
lea r8, str.KeSetImportanceDpc
xor edx, edx
mov rcx, qword [rsp + 0x98]
call sym.VBoxNetAdp.sys_RTR0DbgKrnlInfoGetSymbol
mov qword [0x14002c4a0], rax
lea r8, str.KeSetTargetProcessorDpc
xor edx, edx
mov rcx, qword [rsp + 0x98]
call sym.VBoxNetAdp.sys_RTR0DbgKrnlInfoGetSymbol
mov qword [0x14002c4a8], rax
lea r8, str.KeInitializeTimerEx
xor edx, edx
mov rcx, qword [rsp + 0x98]
call sym.VBoxNetAdp.sys_RTR0DbgKrnlInfoGetSymbol
mov qword [0x14002c4b0], rax
lea r8, str.KeShouldYieldProcessor
xor edx, edx
mov rcx, qword [rsp + 0x98]
call sym.VBoxNetAdp.sys_RTR0DbgKrnlInfoGetSymbol
mov qword [0x14002c4b8], rax
lea r8, str.MmProtectMdlSystemAddress
xor edx, edx
mov rcx, qword [rsp + 0x98]
call sym.VBoxNetAdp.sys_RTR0DbgKrnlInfoGetSymbol
mov qword [0x14002c4c0], rax
lea r8, str.MmAllocatePagesForMdl
xor edx, edx
mov rcx, qword [rsp + 0x98]
call sym.VBoxNetAdp.sys_RTR0DbgKrnlInfoGetSymbol
mov qword [0x14002c4c8], rax
lea r8, str.MmAllocatePagesForMdlEx
xor edx, edx
mov rcx, qword [rsp + 0x98]
call sym.VBoxNetAdp.sys_RTR0DbgKrnlInfoGetSymbol
mov qword [0x14002c4d0], rax
lea r8, str.MmFreePagesFromMdl
xor edx, edx
mov rcx, qword [rsp + 0x98]
call sym.VBoxNetAdp.sys_RTR0DbgKrnlInfoGetSymbol
mov qword [0x14002c4d8], rax
lea r8, str.MmMapLockedPagesSpecifyCache
xor edx, edx
mov rcx, qword [rsp + 0x98]
call sym.VBoxNetAdp.sys_RTR0DbgKrnlInfoGetSymbol
mov qword [0x14002c4e0], rax
lea r8, str.MmAllocateContiguousMemorySpecifyCache
xor edx, edx
mov rcx, qword [rsp + 0x98]
call sym.VBoxNetAdp.sys_RTR0DbgKrnlInfoGetSymbol
mov qword [0x14002c4e8], rax
lea r8, str.MmSecureVirtualMemory
xor edx, edx
mov rcx, qword [rsp + 0x98]
call sym.VBoxNetAdp.sys_RTR0DbgKrnlInfoGetSymbol
mov qword [0x14002c4f0], rax
lea r8, str.MmUnsecureVirtualMemory
xor edx, edx
mov rcx, qword [rsp + 0x98]
call sym.VBoxNetAdp.sys_RTR0DbgKrnlInfoGetSymbol
mov qword [0x14002c4f8], rax
lea r8, str.RtlGetVersion
xor edx, edx
mov rcx, qword [rsp + 0x98]
call sym.VBoxNetAdp.sys_RTR0DbgKrnlInfoGetSymbol
mov qword [0x14002c508], rax
lea r8, str.KeQueryInterruptTimePrecise
xor edx, edx
mov rcx, qword [rsp + 0x98]
call sym.VBoxNetAdp.sys_RTR0DbgKrnlInfoGetSymbol
mov qword [0x14002c510], rax
lea r8, str.KeQuerySystemTimePrecise
xor edx, edx
mov rcx, qword [rsp + 0x98]
call sym.VBoxNetAdp.sys_RTR0DbgKrnlInfoGetSymbol
mov qword [0x14002c518], rax
lea r8, str.HalRequestIpi
xor edx, edx
mov rcx, qword [rsp + 0x98]
call sym.VBoxNetAdp.sys_RTR0DbgKrnlInfoGetSymbol
mov qword [0x14002c408], rax
mov qword [0x14002c410], rax
lea r8, str.MmHighestUserAddress
xor edx, edx
mov rcx, qword [rsp + 0x98]
call sym.VBoxNetAdp.sys_RTR0DbgKrnlInfoGetSymbol
mov qword [0x14002c538], rax
lea r8, str.MmSystemRangeStart
xor edx, edx
mov rcx, qword [rsp + 0x98]
call sym.VBoxNetAdp.sys_RTR0DbgKrnlInfoGetSymbol
mov qword [0x14002c540], rax
mov rcx, qword [rsp + 0x98]
call sym.VBoxNetAdp.sys_RTR0DbgKrnlInfoRelease
lea rcx, [rsp + 0xa0]
call fcn.140010a90
mov rax, qword [rsp + 0xa0]
movzx ebx, al
shl ebx, 0x10
movzx edx, byte [rsp + 0xa1]
or ebx, edx
mov dword [0x14002c0a8], ebx
mov byte [0x14002c52d], dl
mov byte [0x14002c52c], al
mov eax, dword [rsp + 0xa4]
mov dword [0x14002c530], eax
mov r8, cr8
mov qword [rsp + 0xa8], r8
mov byte [rsp + 0x90], r8b
mov eax, 2
mov cr8, rax
xor eax, eax
xor ecx, ecx
cpuid
mov dword [rsp + 0x44], eax
mov dword [rsp + 0x38], ebx
mov dword [rsp + 0x40], ecx
mov dword [rsp + 0x3c], edx
mov byte [rsp + 0x44], 0
mov rax, qword gs:[0x18]
mov r15, qword [rax + 0x20]
mov qword [rsp + 0x30], r15
jmp 0x1400112b9
test r15, r15
je 0x140011454
mov r14d, 0xffffffff
mov r12d, 0x7fffffff
xor r11d, r11d
movzx edi, byte [rsp + 0xa2]
movzx ecx, dil
and cl, 1
mov byte [rsp + 0x90], cl
lea rsi, [0x1400254e4]
mov r13d, dword [rsp + 0xa4]
lea rdx, [0x1400254e0]
movzx ebx, byte [rsi - 2]
movzx eax, bl
and al, 1
cmp al, cl
jne 0x1400113be
test dil, 2
je 0x14001131d
test bl, 2
je 0x1400113be
mov ecx, dword [rsi]
mov eax, r13d
sub eax, ecx
jns 0x14001132b
mov eax, ecx
sub eax, r13d
test eax, eax
jne 0x140011354
movzx edx, dil
shr dl, 2
movzx ecx, bl
shr cl, 2
cmp cl, dl
je 0x1400113d0
cmp dl, 0x3f
je 0x1400113d0
lea rdx, [0x1400254e0]
cmp eax, r12d
jl 0x1400113b0
cmp r14d, 0xffffffff
je 0x1400113b0
cmp eax, r12d
jne 0x1400113b6
movzx ecx, dil
and cl, 0xfc
cmp cl, 0xfc
je 0x1400113b6
mov r8d, ebx
shr r8d, 2
mov r10d, edi
shr r10d, 2
mov r9d, r8d
mov ecx, r14d
shl rcx, 5
movzx edx, byte [rcx + rdx + 2]
shr edx, 2
mov ebx, edx
sub ebx, r10d
mov ecx, r10d
sub ecx, r8d
sub r9d, r10d
cmovs r9d, ecx
sub r10d, edx
test ebx, ebx
cmovs ebx, r10d
cmp r9d, ebx
jge 0x1400113b6
mov r12d, eax
mov r14d, r11d
movzx ecx, byte [rsp + 0x90]
inc r11d
add rsi, 0x20
cmp r11d, 0x14
jae 0x1400113d3
jmp 0x1400112f6
mov r14d, r11d
cmp r14d, 0x14
jae 0x14001144b
mov ebx, r14d
lea rdi, [0x1400254e0]
movsxd rcx, ebx
shl rcx, 5
add rcx, rdi
lea r9, [rsp + 0xa0]
lea r8, [rsp + 0x38]
mov rdx, r15
call fcn.140010bd0
test al, al
jne 0x140011460
inc ebx
cmp ebx, 0x14
jb 0x1400113e3
test al, al
jne 0x140011460
sub r14d, 1
js 0x140011460
nop word [rax + rax]
movsxd rcx, r14d
shl rcx, 5
add rcx, rdi
lea r9, [rsp + 0xa0]
lea r8, [rsp + 0x38]
mov rdx, r15
call fcn.140010bd0
test al, al
jne 0x140011460
sub r14d, 1
jns 0x140011420
jmp 0x140011460
lea rcx, str.IPRT:_Failed_to_locate_data_set._n
jmp 0x14001145b
lea rcx, str.IPRT:_Failed_to_get_PCBR_pointer._n
call sub.ntoskrnl.exe_DbgPrint
movzx eax, byte [rsp + 0xa8]
mov cr8, rax
cmp dword [0x14002c520], 0
jne 0x1400114c2
cmp dword [0x14002c528], 0
jne 0x1400114c2
test byte [rsp + 0xa2], 1
lea rcx, str.checked
lea rax, str.free
cmovne rax, rcx
movzx r8d, byte [rsp + 0xa1]
movzx edx, byte [rsp + 0xa0]
mov qword [rsp + 0x20], rax
mov r9d, dword [rsp + 0xa4]
lea rcx, str.IPRT:_Neither__KPRCB::QuantumEnd_nor__KPRCB::DpcQueueDepth_was_not_found__Kernel__u._u__u__s_n
call sub.ntoskrnl.exe_DbgPrint
lea rcx, [rsp + 0xa0]
call fcn.140018c10
mov ebx, eax
test eax, eax
jns 0x1400114fa
call fcn.140019c00
mov edx, ebx
lea rcx, str.IPRT:_Fatal:_rtR0MpNtInit_failed:__d_n
call sub.ntoskrnl.exe_DbgPrint
mov eax, ebx
add rsp, 0x50
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbx
ret
xor eax, eax
add rsp, 0x50
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbx
ret