Function at 0x124ba
Capabilities:
Print debug messages

Disassembly:
push 0x20
push 0x16140
call fcn.00015844
xor edi, edi
mov dword [ebp - 0x24], edi
mov dword [ebp - 0x28], edi
mov dword [ebp - 0x2c], edi
mov esi, dword [ebp + 8]
cmp esi, edi
je 0x12548
mov eax, dword [esi + 0x30]
cmp eax, edi
je 0x12548
push eax
call fcn.00012464
cmp eax, 0x35
jb 0x12548
push dword [esi + 0x30]
call fcn.000123ec
xor ebx, ebx
inc ebx
cmp eax, ebx
je 0x12548
lea edx, [ebp - 0x20]
mov ecx, dword [esi + 0x30]
call fcn.00013f16
mov dword [ebp - 0x1c], eax
mov ecx, dword [ebp - 0x20]
mov al, byte [ecx]
cmp al, 0xe8
je 0x12514
cmp al, 0xe9
jne 0x1252a
mov eax, ecx
sub eax, dword [esi + 0x30]
mov dword [ebp - 0x24], eax
lea edx, [ebp - 0x20]
call fcn.00013f16
mov dword [ebp - 0x2c], eax
mov dword [ebp - 0x28], ebx
cmp dword [ebp - 0x1c], 5
jb 0x126a6
push 0x206b6444
push 0x42
push edi
call dword [sym.imp.ntoskrnl.exe_ExAllocatePoolWithTag]
mov ebx, eax
cmp ebx, edi
jne 0x12555
mov eax, 0xc0000001
call fcn.0001587f
ret 4
push 0x10
pop ecx
xor eax, eax
mov edi, ebx
rep stosd dword es:[edi], eax
stosw word es:[edi], ax
mov eax, dword [ebp - 0x1c]
mov dword [ebx + 0x2e], eax
mov byte [ebx], 0xe9
mov eax, ebx
sub eax, dword [esi + 0x30]
mov dword [ebx + 1], eax
mov byte [ebx + 5], 0x58
mov byte [ebx + 6], 0x68
mov dword [ebx + 7], ebx
mov byte [ebx + 0xb], 0x50
mov byte [ebx + 0xc], 0xe9
mov eax, 0x13d24
sub eax, ebx
sub eax, 0x11
mov dword [ebx + 0xd], eax
lea edi, [ebx + 0x11]
push 0x14
push 0x90
push edi
call fcn.00012432
cmp dword [ebp - 0x28], 0
jne 0x125bd
mov ecx, dword [ebp - 0x1c]
mov esi, dword [esi + 0x30]
mov eax, ecx
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
and ecx, 3
rep movsb byte es:[edi], byte [esi]
jmp 0x1261a
push 0x124a0
call sub.ntoskrnl.exe_DbgPrint
pop ecx
cmp dword [ebp - 0x2c], 5
je 0x125dc
push 0
push ebx
call dword [sym.imp.ntoskrnl.exe_ExFreePoolWithTag]
jmp 0x1268f
mov eax, dword [esi + 0x30]
mov ecx, dword [ebp - 0x24]
mov edx, dword [eax + ecx + 1]
add edx, eax
lea eax, [edx + ecx + 5]
mov dword [ebp - 0x30], eax
sub eax, ecx
sub eax, ebx
sub eax, 0x16
mov ecx, dword [ebp - 0x1c]
mov esi, dword [esi + 0x30]
mov edx, ecx
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, edx
and ecx, 3
rep movsb byte es:[edi], byte [esi]
mov ecx, dword [ebp - 0x24]
mov dword [ecx + ebx + 0x12], eax
mov eax, dword [ebp - 0x30]
mov dword [ebx + 0x3a], eax
mov dword [ebx + 0x3e], ecx
mov byte [ebx + 0x25], 0xe9
mov ecx, dword [ebp + 8]
mov eax, dword [ecx + 0x30]
sub eax, ebx
mov edx, dword [ebp - 0x1c]
lea eax, [eax + edx - 0x2a]
mov dword [ebx + 0x26], eax
mov eax, dword [ecx + 0x30]
mov dword [ebx + 0x2a], eax
mov eax, cr0
mov dword [0x27b20], eax
and eax, 0xfffeffff
mov cr0, eax
and dword [ebp - 4], 0
mov esi, ebx
mov edi, dword [ecx + 0x30]
movsd dword es:[edi], dword [esi]
movsb byte es:[edi], byte [esi]
or dword [ebp - 4], 0xffffffff
mov eax, dword [0x27b20]
mov cr0, eax
mov edi, 0x2362c
mov ecx, edi
call dword [sym.imp.HAL.dll_KfAcquireSpinLock]
lea ecx, [ebx + 0x32]
mov esi, dword [0x23614]
mov dword [ecx], esi
mov dword [ecx + 4], 0x23614
mov dword [esi + 4], ecx
mov dword [0x23614], ecx
mov dl, al
mov ecx, edi
call dword [sym.imp.HAL.dll_KfReleaseSpinLock]
xor eax, eax
jmp 0x1254d
mov ecx, dword [esi + 0x30]
add ecx, dword [ebp - 0x1c]
lea edx, [ebp - 0x20]
call fcn.00013f16
add dword [ebp - 0x1c], eax
jmp 0x12507