Function at 0x448193
Capabilities:
Resolve function by parsing pe exports

Disassembly:
mov edi, edi
push ebp
mov ebp, esp
and esp, 0xfffffff8
sub esp, 0x64
or dword [esp + 0xc], 0xffffffff
mov ecx, edx
xor edx, edx
mov dword [esp + 0x18], ecx
push ebx
mov ebx, edx
mov dword [esp + 0x20], edx
push esi
push edi
mov edi, edx
mov dword [esp + 0x34], edx
mov dword [esp + 0x14], edi
mov dword [esp + 0x38], edx
mov dword [esp + 0x3c], edx
cmp byte [0x4915b4], dl
jne 0x4481f2
call fcn.0045b020
mov dword [0x491660], 0x7a4e55c5
mov dword [0x491664], 0x82ef4d88
mov ecx, dword [esp + 0x24]
mov byte [0x4915b4], 1
lea esi, [ecx + 0xc]
mov ecx, dword [ecx + 4]
mov eax, dword [esi + 8]
lea edx, [eax + esi]
mov dword [esp + 0x20], edx
cmp ecx, eax
ja 0x44820d
mov esi, 0xc000000d
jmp 0x448287
sub ecx, eax
mov byte [esp + 0x13], 1
lea eax, [esp + 0x18]
mov dword [esp + 0x2c], ecx
push eax
push 0
push 3
push esi
call sym.BootLib.dll_BlpDeviceOpen
test eax, eax
jns 0x448244
lea eax, [esp + 0x18]
mov byte [esp + 0x13], bl
push eax
push 0
push 1
push esi
call sym.BootLib.dll_BlpDeviceOpen
mov esi, eax
test esi, esi
js 0x448287
xor eax, eax
mov edx, 0xd000000b
push eax
push eax
push eax
push eax
push ecx
push ecx
mov ecx, dword [esp + 0x30]
lea eax, [esp + 0x34]
push eax
lea eax, [esp + 0x30]
push eax
push dword [esp + 0x40]
call fcn.0041f52e
mov esi, eax
test esi, esi
js 0x448283
push 0xc20
call sym.BootLib.dll_BlMmAllocateHeap
mov ebx, eax
test ebx, ebx
jne 0x4482e5
mov esi, 0xc0000017
mov edi, dword [esp + 0x14]
cmp dword [esp + 0x38], 0
je 0x448297
push dword [esp + 0x38]
call sym.BootLib.dll_BlMmFreePages
mov eax, dword [esp + 0x18]
cmp eax, 0xffffffff
je 0x4482a6
push eax
call sym.BootLib.dll_BlDeviceClose
test esi, esi
jns 0x4482da
test edi, edi
je 0x4482b4
push edi
call sym.BootLib.dll_BlMmFreePages
test ebx, ebx
je 0x4482cc
cmp dword [ebx + 8], 0
je 0x4482c6
push dword [ebx + 8]
call sym.BootLib.dll_BlMmFreeHeap
push ebx
call sym.BootLib.dll_BlMmFreeHeap
mov eax, dword [esp + 0x34]
test eax, eax
je 0x4482da
push eax
call sym.BootLib.dll_BlMmFreeHeap
pop edi
mov eax, esi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 4
push 0xc18
lea eax, [ebx + 8]
push 0
push eax
call sym.BootLib.dll_memset
mov edi, dword [esp + 0x20]
add esp, 0xc
cmp byte [esp + 0x13], 0
mov eax, dword [esp + 0x1c]
mov dword [ebx], edi
mov dword [ebx + 4], eax
je 0x448313
or dword [ebx + 0xc14], 2
mov ecx, 0x1000
mov esi, edi
mov dword [esp + 0x30], esi
cmp eax, ecx
jb 0x44862c
mov eax, dword [edi + 0x28]
mov dword [esp + 0x14], eax
add eax, ecx
cmp eax, ecx
jb 0x44862c
mov ecx, esi
call fcn.0048f86b
test al, al
je 0x448367
mov eax, dword [edi + 0xc]
mov dword [esp + 0x40], eax
mov eax, dword [edi + 0x10]
mov dword [esp + 0x44], eax
mov eax, dword [edi + 4]
mov byte [esp + 0x13], 1
cmp eax, dword [edi + 8]
jne 0x4483be
and dword [esp + 0x20], 0
jmp 0x4484ac
and dword [esp + 0x14], 0
mov byte [esp + 0x13], 0
call fcn.004526d1
cmp eax, dword [edi + 0x1fc]
je 0x4483b0
cmp dword [esp + 0x1c], 0x1020
jae 0x448392
mov esi, 0xc000014c
jmp 0x448287
cmp dword [edi + 0x1000], 0x6e696268
jne 0x448388
mov eax, dword [edi + 0x1014]
mov dword [esp + 0x40], eax
mov eax, dword [edi + 0x1018]
jmp 0x4483ba
mov eax, dword [edi + 0xc]
mov dword [esp + 0x40], eax
mov eax, dword [edi + 0x10]
mov dword [esp + 0x44], eax
mov esi, dword [esp + 0x2c]
add esi, 0xa
push esi
call sym.BootLib.dll_BlMmAllocateHeap
mov dword [esp + 0x28], eax
test eax, eax
jne 0x4483dd
mov esi, 0xc0000017
jmp 0x448287
push 0x4074cc
push dword [esp + 0x24]
shr esi, 1
push 0x40522c
push esi
push eax
call fcn.0048c42c
add esp, 0x14
cmp byte [esp + 0x13], 0
jne 0x448406
xor eax, eax
mov dword [esp + 0x20], eax
jmp 0x44840f
mov eax, dword [edi + 8]
mov dword [esp + 0x20], eax
xor eax, eax
push eax
push eax
push eax
push eax
push ecx
push ecx
mov ecx, dword [esp + 0x30]
lea eax, [esp + 0x54]
push eax
lea eax, [esp + 0x54]
mov edx, 0xd000000b
push eax
mov eax, dword [esp + 0x48]
push eax
call fcn.0041f52e
mov esi, eax
test esi, esi
js 0x448631
mov cl, byte [esp + 0x13]
lea eax, [esp + 0x38]
mov dword [esp + 0x54], eax
mov edx, dword [esp + 0x20]
movzx eax, cl
neg eax
mov dword [esp + 0x4c], 1
mov dword [esp + 0x50], fcn.0044872f
sbb eax, eax
not eax
and eax, edi
push eax
lea eax, [esp + 0x5c]
push eax
lea eax, [esp + 0x34]
push eax
lea eax, [esp + 0x58]
push eax
push ecx
xor cl, 1
movzx eax, cl
lea ecx, [esp + 0x54]
push eax
call fcn.0048ef80
mov esi, eax
test esi, esi
js 0x448631
mov ecx, dword [esp + 0x14]
cmp dword [esp + 0x68], ecx
jbe 0x4484a4
mov eax, dword [esp + 0x68]
mov dword [esp + 0x14], eax
mov eax, dword [esp + 0x2c]
mov dword [esp + 0x20], eax
mov eax, dword [esp + 0x14]
add eax, 0x1000
cmp dword [esp + 0x1c], eax
jae 0x44850b
push 0
push 0
push 0xd000000b
shr eax, 0xc
push 0
push eax
lea eax, [esp + 0x44]
push eax
call sym.BootLib.dll_BlMmAllocatePages
mov esi, eax
test esi, esi
js 0x448631
push dword [esp + 0x1c]
mov esi, dword [esp + 0x34]
push edi
push esi
mov dword [esp + 0x3c], esi
call sym.BootLib.dll_memcpy
add esp, 0xc
push edi
call sym.BootLib.dll_BlMmFreePages
mov ecx, dword [esp + 0x14]
mov edi, esi
mov dword [ebx], esi
lea eax, [ecx + 0x1000]
mov dword [ebx + 4], eax
cmp dword [esp + 0x20], 0
jbe 0x448560
push ecx
push ecx
lea eax, [esp + 0x34]
push eax
sub esp, 0xc
lea eax, [esp + 0x50]
push eax
push ecx
lea eax, [esp + 0x78]
mov ecx, edi
push eax
call fcn.0048f428
mov esi, eax
test esi, esi
js 0x448631
mov ecx, dword [esp + 0x30]
mov eax, dword [esp + 0x2c]
mov dword [ecx + 4], eax
mov dword [ecx + 8], eax
call fcn.004526d1
mov dword [ecx + 0x1fc], eax
xor eax, eax
inc eax
mov dword [ecx + 0xffc], eax
or dword [ebx + 0xc14], eax
mov ecx, ebx
call fcn.00448648
mov esi, eax
test esi, esi
js 0x448631
lea esi, [ebx + 0x10]
mov eax, dword [esi + 0x20]
push 0
push dword [eax + 0x24]
push esi
call dword [esi + 4]
mov dword [esp + 0x20], eax
test eax, eax
jne 0x448592
mov esi, 0xc0000034
jmp 0x448631
push 0x406b9c
lea eax, [esp + 0x44]
push eax
call sym.BootLib.dll_RtlInitUnicodeString
mov edx, dword [esp + 0x20]
lea eax, [esp + 0x30]
push eax
lea eax, [esp + 0x44]
mov ecx, esi
push eax
call fcn.004540bb
cmp dword [esp + 0x30], 0xffffffff
je 0x448588
mov eax, dword [esp + 0x20]
mov dword [ebx + 0xc18], eax
mov eax, dword [esp + 0x24]
push dword [eax + 4]
call sym.BootLib.dll_BlMmAllocateHeap
mov dword [ebx + 8], eax
test eax, eax
jne 0x4485e1
mov esi, 0xc0000017
jmp 0x448631
mov ecx, dword [esp + 0x24]
push dword [ecx + 4]
push ecx
push eax
call sym.BootLib.dll_memcpy
add esp, 0xc
push 0x10
call sym.BootLib.dll_BlMmAllocateHeap
mov ecx, eax
mov dword [esp + 0x34], ecx
test ecx, ecx
je 0x4485da
mov eax, dword [esp + 0x20]
mov dword [ecx + 4], eax
mov dword [ecx], ebx
mov eax, dword [esi + 0x20]
mov eax, dword [eax + 0x24]
and dword [ecx + 0xc], 0
xor esi, esi
mov dword [ecx + 8], eax
mov eax, dword [ebp + 8]
mov dword [ebx + 0xc10], 2
mov dword [eax], ecx
jmp 0x448631
mov esi, 0xc000014c
mov eax, dword [esp + 0x28]
test eax, eax
je 0x448287
push eax
call sym.BootLib.dll_BlMmFreeHeap
jmp 0x448287