Function at 0x10001480
Capabilities:
Print debug messages

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x24
push ebx
push esi
mov esi, dword [ebp + 8]
mov eax, dword [esi + 0xa0]
push edi
test eax, eax
jne 0x100014a6
lea ecx, [esi + 0x70]
call dword [sym.imp.ntoskrnl.exe_InterlockedPopEntrySList]
mov ebx, eax
test ebx, ebx
jne 0x100014b0
int3
int3
lea ecx, [esi + 0x7c]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
cmp edx, dword [esi + 0x64]
jge 0x100014d6
mov eax, dword [esi + 0xa0]
test eax, eax
jne 0x100014d6
push eax
push eax
sub esi, 0xffffff80
push esi
call dword [sym.imp.ntoskrnl.exe_KeInsertQueueDpc]
lea ecx, [ebp - 0x10]
lea eax, [ebx + 8]
push ecx
mov dword [ebp - 4], eax
mov dword [ebp - 8], 0x1e8
call dword [sym.imp.ntoskrnl.exe_KeQuerySystemTime]
lea edx, [ebp - 0x10]
push edx
mov eax, edx
push eax
call dword [sym.imp.ntoskrnl.exe_ExSystemTimeToLocalTime]
lea ecx, [ebp - 0x20]
push ecx
lea edx, [ebp - 0x10]
push edx
call dword [sym.imp.ntoskrnl.exe_RtlTimeToTimeFields]
movsx eax, word [ebp - 0x14]
movsx ecx, word [ebp - 0x16]
movsx edx, word [ebp - 0x18]
push eax
movsx eax, word [ebp - 0x1a]
push ecx
push edx
push eax
push str.__02d:_02d:_02d._03d_
lea edi, [ebp - 8]
lea esi, [ebp - 4]
call fcn.10001450
mov eax, dword [ebp + 0xc]
add esp, 0x14
cmp eax, 3
ja case.default.0x10001537
jmp dword [eax*4 + 0x10001678]
push str._Info_
jmp 0x1000155f
push str._Error_
jmp 0x1000155f
push str._Debug_
jmp 0x1000155f
push str._Warning_
jmp 0x1000155f
push str._Unknown_
lea edi, [ebp - 8]
lea esi, [ebp - 4]
call fcn.10001450
add esp, 4
call dword [sym.imp.ntoskrnl.exe_PsGetCurrentThreadId]
push eax
push str._0x_04x_
call fcn.10001450
add esp, 8
call dword [sym.imp.HAL.dll_KeGetCurrentIrql]
movzx ecx, al
push ecx
push str._0x_04x_
call fcn.10001450
mov esi, dword [ebp - 8]
add esp, 8
test esi, esi
jl 0x100015c0
mov edx, dword [ebp + 0x14]
mov edi, dword [ebp + 0x10]
mov eax, dword [ebp - 4]
push edx
push edi
push esi
push eax
call sub.ntoskrnl.exe__vsnprintf
add esp, 0x10
test eax, eax
jl 0x100015ed
add dword [ebp - 4], eax
sub esi, eax
mov dword [ebp - 8], esi
push 0x10003190
lea edi, [ebp - 8]
lea esi, [ebp - 4]
call fcn.10001450
add esp, 4
mov eax, dword [ebp - 8]
test eax, eax
jg 0x10001603
mov dword [ebx + 0x1f0], 0x1e8
mov byte [ebx + 0x1ef], 0xa
jmp 0x10001610
push edi
push str.LOG_INVALID_FMT_OR_OVERFLOW:_s_n
lea edi, [ebp - 8]
lea esi, [ebp - 4]
call fcn.10001450
add esp, 8
jmp 0x100015d3
mov ecx, 0x1e8
sub ecx, eax
mov dword [ebx + 0x1f0], ecx
lea eax, [ebx + 8]
push eax
call sub.ntoskrnl.exe_DbgPrint
mov edi, dword [ebp + 8]
lea esi, [edi + 0x20]
add esp, 4
mov ecx, esi
call dword [sym.imp.HAL.dll_KfAcquireSpinLock]
mov edx, dword [edi + 0x14]
lea ecx, [edi + 0x10]
mov dword [ebx], ecx
mov dword [ebx + 4], edx
mov dword [edx], ebx
mov dword [ecx + 4], ebx
mov dl, al
mov ecx, esi
call dword [sym.imp.HAL.dll_KfReleaseSpinLock]
call dword [sym.imp.HAL.dll_KeGetCurrentIrql]
push 0
push 0
cmp al, 2
jbe 0x10001665
add edi, 0x34
push edi
call dword [sym.imp.ntoskrnl.exe_KeInsertQueueDpc]
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0x10
add edi, 0x24
push edi
call dword [sym.imp.ntoskrnl.exe_KeSetEvent]
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0x10