Function at 0x12144
Capabilities:
Print debug messages

Disassembly:
sub rsp, 0x128
mov eax, 4
mov word [rsp + 0xc0], ax
mov eax, 8
mov word [rsp + 0x90], ax
mov qword [rsp + 0x70], 0x32c
mov r8d, 0x4d6d4366
mov edx, 0x3d8
xor ecx, ecx
call qword [sym.imp.ntoskrnl.exe_ExAllocatePoolWithTag]
mov qword [rsp + 0xd8], rax
mov r8d, 0x18
xor edx, edx
lea rcx, [rsp + 0x58]
call fcn.0001b210
mov dword [rsp + 0xf8], 0xffffffff
xor edx, edx
lea rcx, [rsp + 0xf8]
call qword [sym.imp.ntoskrnl.exe_IoCheckDesiredAccess]
mov dword [rsp + 0x50], eax
mov rax, qword [0x00023598]
add rax, 0x4cfc
mov qword [rsp + 0xf0], rax
mov r8b, 1
lea rdx, [rsp + 0x90]
lea rcx, [rsp + 0xc0]
call qword [sym.imp.ntoskrnl.exe_RtlEqualString]
xor eax, eax
mov word [rsp + 0xfc], ax
jmp 0x12207
movzx eax, word [rsp + 0xfc]
add eax, 4
mov word [rsp + 0xfc], ax
movzx eax, word [rsp + 0xfc]
cmp eax, 0x2b4
jge 0x1228a
mov rax, qword [0x00023190]
mov al, byte [rax]
mov byte [0x000235a4], al
cmp dword [rsp + 0x50], 0xc0000022
jne 0x1223c
mov dword [rsp + 0x100], 0x3e
jmp 0x12247
mov dword [rsp + 0x100], 0x8701
movzx ecx, byte [0x000235a4]
sub ecx, dword [rsp + 0x100]
mov rax, qword [rsp + 0xf0]
mov byte [rax], cl
mov rax, qword [rsp + 0xf0]
add rax, 1
mov qword [rsp + 0xf0], rax
mov rax, qword [0x00023190]
add rax, 1
mov qword [0x00023190], rax
jmp 0x121f4
mov rax, qword [sym.imp.ntoskrnl.exe_KeNumberProcessors]
mov al, byte [rax]
movsx eax, al
mov dword [rsp + 0x104], eax
cmp dword [rsp + 0x104], 1
je 0x122da
cmp dword [rsp + 0x104], 2
je 0x122e8
cmp dword [rsp + 0x104], 0x1000
je 0x122fb
cmp dword [rsp + 0x104], 0x2000
je 0x12308
cmp dword [rsp + 0x104], 0x4004
je 0x12316
jmp 0x12332
mov eax, dword [sym.imp.ntoskrnl.exe_NtGlobalFlag]
mov dword [0x000235a8], eax
jmp 0x12332
mov rax, qword [sym.imp.ntoskrnl.exe_MmUserProbeAddress]
mov eax, dword [rax]
mov dword [0x000235a8], eax
jmp 0x12332
mov ecx, 5
call qword [sym.imp.ntoskrnl.exe_DbgBreakPointWithStatus]
jmp 0x12332
lea rcx, [0x00021090]
call sub.ntoskrnl.exe_DbgPrint
jmp 0x12332
mov qword [rsp + 0x20], 0
xor r9d, r9d
xor r8d, r8d
xor edx, edx
mov ecx, 0x7e
call qword [sym.imp.ntoskrnl.exe_KeBugCheckEx]
mov rax, qword [0x00023598]
add rax, 0x4da9
mov qword [rsp + 0xe8], rax
xor eax, eax
mov word [rsp + 0xfc], ax
jmp 0x12366
movzx eax, word [rsp + 0xfc]
add eax, 4
mov word [rsp + 0xfc], ax
movzx eax, word [rsp + 0xfc]
cmp eax, 0x1e4
jge 0x123de
mov rax, qword [0x00023198]
mov al, byte [rax]
mov byte [0x000235a4], al
lea rdx, [rsp + 0x48]
lea rcx, [rsp + 0xa8]
call qword [sym.imp.ntoskrnl.exe_RtlTimeFieldsToTime]
movzx ecx, byte [0x000235a4]
mov eax, dword [rsp + 0x50]
xor eax, 0xc000003f
add ecx, eax
mov rax, qword [rsp + 0xe8]
mov byte [rax], cl
mov rax, qword [rsp + 0xe8]
add rax, 1
mov qword [rsp + 0xe8], rax
mov rax, qword [0x00023198]
add rax, 1
mov qword [0x00023198], rax
jmp 0x12353
mov rax, qword [0x00023598]
add rax, 0x4e22
mov qword [rsp + 0x38], rax
xor edx, edx
lea rcx, [rsp + 0xa0]
call qword [sym.imp.ntoskrnl.exe_MmAddVerifierThunks]
xor eax, eax
mov word [rsp + 0xfc], ax
jmp 0x1241f
movzx eax, word [rsp + 0xfc]
add eax, 4
mov word [rsp + 0xfc], ax
movzx eax, word [rsp + 0xfc]
cmp eax, 0x218
jge 0x12498
mov rcx, qword [rsp + 0x70]
call qword [sym.imp.ntoskrnl.exe_RtlFindMostSignificantBit]
mov byte [rsp + 0x30], al
mov rax, qword [0x000231a0]
mov al, byte [rax]
mov byte [0x000235a4], al
movzx ecx, byte [0x000235a4]
mov eax, dword [rsp + 0x50]
xor eax, 0xc0000081
add ecx, eax
mov rax, qword [rsp + 0x38]
mov byte [rax], cl
lea rcx, [rsp + 0x80]
call qword [sym.imp.ntoskrnl.exe_InitializeSListHead]
mov rax, qword [rsp + 0x38]
add rax, 1
mov qword [rsp + 0x38], rax
mov rax, qword [0x000231a0]
add rax, 1
mov qword [0x000231a0], rax
jmp 0x1240c
mov rax, qword [0x00023598]
add rax, 0x4ea8
mov qword [rsp + 0xe0], rax
xor eax, eax
mov word [rsp + 0xfc], ax
jmp 0x124cc
movzx eax, word [rsp + 0xfc]
add eax, 4
mov word [rsp + 0xfc], ax
movzx eax, word [rsp + 0xfc]
cmp eax, 0x1f4
jge 0x125dd
mov rax, qword [0x000231a8]
mov al, byte [rax]
mov byte [0x000235a4], al
mov rax, qword [sym.imp.ntoskrnl.exe_KeNumberProcessors]
mov al, byte [rax]
movsx eax, al
mov dword [rsp + 0x108], eax
cmp dword [rsp + 0x108], 1
je 0x1253e
cmp dword [rsp + 0x108], 2
je 0x1254c
cmp dword [rsp + 0x108], 0x1000
je 0x1255f
cmp dword [rsp + 0x108], 0x2000
je 0x1256c
cmp dword [rsp + 0x108], 0x4004
je 0x1257a
jmp 0x12596
mov eax, dword [sym.imp.ntoskrnl.exe_NtGlobalFlag]
mov dword [0x000235a8], eax
jmp 0x12596
mov rax, qword [sym.imp.ntoskrnl.exe_MmUserProbeAddress]
mov eax, dword [rax]
mov dword [0x000235a8], eax
jmp 0x12596
mov ecx, 5
call qword [sym.imp.ntoskrnl.exe_DbgBreakPointWithStatus]
jmp 0x12596
lea rcx, [0x000210a0]
call sub.ntoskrnl.exe_DbgPrint
jmp 0x12596
mov qword [rsp + 0x20], 0
xor r9d, r9d
xor r8d, r8d
xor edx, edx
mov ecx, 0x7e
call qword [sym.imp.ntoskrnl.exe_KeBugCheckEx]
movzx ecx, byte [0x000235a4]
mov eax, dword [rsp + 0x50]
xor eax, 0xc00000ed
add ecx, eax
mov rax, qword [rsp + 0xe0]
mov byte [rax], cl
mov rax, qword [rsp + 0xe0]
add rax, 1
mov qword [rsp + 0xe0], rax
mov rax, qword [0x000231a8]
add rax, 1
mov qword [0x000231a8], rax
jmp 0x124b9
mov rax, qword [0x00023598]
add rax, 0x4f25
mov qword [rsp + 0x78], rax
xor eax, eax
mov word [rsp + 0xfc], ax
jmp 0x1260e
movzx eax, word [rsp + 0xfc]
add eax, 4
mov word [rsp + 0xfc], ax
movzx eax, word [rsp + 0xfc]
cmp eax, 0x1c0
jge 0x12677
mov rax, qword [0x000231b0]
mov al, byte [rax]
mov byte [0x000235a4], al
movzx ecx, byte [0x000235a4]
mov eax, dword [rsp + 0x50]
xor eax, 0xc00000ce
sub ecx, eax
mov rax, qword [rsp + 0x78]
mov byte [rax], cl
mov rax, qword [rsp + 0x78]
add rax, 1
mov qword [rsp + 0x78], rax
xor edx, edx
lea rcx, [rsp + 0xa0]
call qword [sym.imp.ntoskrnl.exe_MmAddVerifierThunks]
mov rax, qword [0x000231b0]
add rax, 1
mov qword [0x000231b0], rax
jmp 0x125fb
mov rax, qword [0x00023598]
add rax, 0x4f95
mov qword [rsp + 0xb8], rax
xor eax, eax
mov word [rsp + 0xfc], ax
jmp 0x126ab
movzx eax, word [rsp + 0xfc]
add eax, 4
mov word [rsp + 0xfc], ax
movzx eax, word [rsp + 0xfc]
cmp eax, 0x2b0
jge 0x12739
mov rax, qword [0x000231b8]
mov al, byte [rax]
mov byte [0x000235a4], al
cmp dword [rsp + 0x50], 0xc0000022
jne 0x126e0
mov dword [rsp + 0x10c], 0xa9
jmp 0x126eb
mov dword [rsp + 0x10c], 0xb872
movzx ecx, byte [0x000235a4]
add ecx, dword [rsp + 0x10c]
mov rax, qword [rsp + 0xb8]
mov byte [rax], cl
lea rcx, [rsp + 0x58]
call qword [sym.imp.ntoskrnl.exe_CcGetFileObjectFromSectionPtrs]
mov rax, qword [rsp + 0xb8]
add rax, 1
mov qword [rsp + 0xb8], rax
mov rax, qword [0x000231b8]
add rax, 1
mov qword [0x000231b8], rax
jmp 0x12698
mov rax, qword [0x00023598]
add rax, 0x5041
mov qword [rsp + 0xd0], rax
call fcn.00011028
xor eax, eax
mov word [rsp + 0xfc], ax
jmp 0x12772
movzx eax, word [rsp + 0xfc]
add eax, 4
mov word [rsp + 0xfc], ax
movzx eax, word [rsp + 0xfc]
cmp eax, 0x2c4
jge 0x128a1
mov rax, qword [0x000231c0]
mov al, byte [rax]
mov byte [0x000235a4], al
cmp dword [rsp + 0x50], 0xc0000022
jne 0x127ab
mov dword [rsp + 0x110], 0xeb
jmp 0x127b6
mov dword [rsp + 0x110], 0x9127
movzx ecx, byte [0x000235a4]
add ecx, dword [rsp + 0x110]
mov rax, qword [rsp + 0xd0]
mov byte [rax], cl
mov rax, qword [rsp + 0xd0]
add rax, 1
mov qword [rsp + 0xd0], rax
mov rax, qword [sym.imp.ntoskrnl.exe_KeNumberProcessors]
mov al, byte [rax]
movsx eax, al
mov dword [rsp + 0x114], eax
cmp dword [rsp + 0x114], 1
je 0x12832
cmp dword [rsp + 0x114], 2
je 0x12840
cmp dword [rsp + 0x114], 0x1000
je 0x12853
cmp dword [rsp + 0x114], 0x2000
je 0x12860
cmp dword [rsp + 0x114], 0x4004
je 0x1286e
jmp 0x1288a
mov eax, dword [sym.imp.ntoskrnl.exe_NtGlobalFlag]
mov dword [0x000235a8], eax
jmp 0x1288a
mov rax, qword [sym.imp.ntoskrnl.exe_MmUserProbeAddress]
mov eax, dword [rax]
mov dword [0x000235a8], eax
jmp 0x1288a
mov ecx, 5
call qword [sym.imp.ntoskrnl.exe_DbgBreakPointWithStatus]
jmp 0x1288a
lea rcx, [0x000210b0]
call sub.ntoskrnl.exe_DbgPrint
jmp 0x1288a
mov qword [rsp + 0x20], 0
xor r9d, r9d
xor r8d, r8d
xor edx, edx
mov ecx, 0x7e
call qword [sym.imp.ntoskrnl.exe_KeBugCheckEx]
mov rax, qword [0x000231c0]
add rax, 1
mov qword [0x000231c0], rax
jmp 0x1275f
cmp qword [rsp + 0xd8], 0
je 0x128bf
mov edx, 0x4d6d4366
mov rcx, qword [rsp + 0xd8]
call qword [sym.imp.ntoskrnl.exe_ExFreePoolWithTag]
add rsp, 0x128
ret