Function at 0x450970
Capabilities:
Get common file path

Disassembly:
push 0xffffffffffffffff
push 0x4975ab
mov eax, dword fs:[0]
push eax
sub esp, 0x418
mov eax, dword [0x4bd450]
xor eax, esp
mov dword [esp + 0x414], eax
push ebx
push esi
push edi
mov eax, dword [0x4bd450]
xor eax, esp
push eax
lea eax, [esp + 0x428]
mov dword fs:[0], eax
push 0x206
mov esi, ecx
xor ebx, ebx
lea ecx, [esp + 0x222]
xor eax, eax
push ebx
push ecx
mov word [esp + 0x228], ax
call fcn.00476ef0
push 0x206
lea eax, [esp + 0x26]
xor edx, edx
push ebx
push eax
mov word [esp + 0x2c], dx
call fcn.00476ef0
add esp, 0x18
lea ecx, [esp + 0x10]
push ecx
mov ecx, 0x4a5b20
call fcn.004087d0
mov dword [esp + 0x430], ebx
cmp esi, ebx
je 0x450aea
push esi
call fcn.004763c3
push str.ntkrnlmp.exentkrnlpa.exentkrpamp.exentoskrnl.exehalmacpi.dllhalaacpi.dllhalacpi.dllhal.dll_1394bus.sys1394ohci.sysafd.sysacpi.sysatapi.sysataport.SYSCdfs.SYScdrom.sysCLASSPNP.SYScng.sysdisk.sysdxg.sysFastfat.sysfileinfo.sysfltMgr.sysFs_Rec.sysfvevol.sysHdAudio.sysHidUsb.sysHTTP.sysi8042prt.syskbdclass.sysKbdHid.syskmixer.sysks.sysmodem.sysmonitor.sysmouclass.sysMsfs.SYSmssmbios.sysMup.sysNDIS.sysndistapi.sysnetbios.sysNETIO.SYSNpfs.SYSNtfs.SYSNull.SYSSCSIPORT.SYSsr.syssrv.syssrv2.systcpip.systdx.sysusbccgp.sysusbehci.sysusbhub.sysUsbHub3.sysusbohci.sysUSBPORT.SYSusbprint.sysUSBSTOR.SYSusbuhci.sysusbvideo.sysvolmgr.syswatchdog.sysWdf01000.syswin32k.sysdxgmms1.sysdxgkrnl.syspci.sysHDAudBus.sysluafv.sys
call fcn.004763c3
push esi
push str.ntkrnlmp.exentkrnlpa.exentkrpamp.exentoskrnl.exehalmacpi.dllhalaacpi.dllhalacpi.dllhal.dll_1394bus.sys1394ohci.sysafd.sysacpi.sysatapi.sysataport.SYSCdfs.SYScdrom.sysCLASSPNP.SYScng.sysdisk.sysdxg.sysFastfat.sysfileinfo.sysfltMgr.sysFs_Rec.sysfvevol.sysHdAudio.sysHidUsb.sysHTTP.sysi8042prt.syskbdclass.sysKbdHid.syskmixer.sysks.sysmodem.sysmonitor.sysmouclass.sysMsfs.SYSmssmbios.sysMup.sysNDIS.sysndistapi.sysnetbios.sysNETIO.SYSNpfs.SYSNtfs.SYSNull.SYSSCSIPORT.SYSsr.syssrv.syssrv2.systcpip.systdx.sysusbccgp.sysusbehci.sysusbhub.sysUsbHub3.sysusbohci.sysUSBPORT.SYSusbprint.sysUSBSTOR.SYSusbuhci.sysusbvideo.sysvolmgr.syswatchdog.sysWdf01000.syswin32k.sysdxgmms1.sysdxgkrnl.syspci.sysHDAudBus.sysluafv.sys
call fcn.00475ae0
add esp, 0x10
test eax, eax
jne 0x450ae5
push 0x104
lea edx, [esp + 0x18]
push edx
call dword [sym.imp.KERNEL32.dll_GetSystemDirectoryW]
test eax, eax
je 0x450aea
push esi
lea eax, [esp + 0x18]
push eax
lea ecx, [esp + 0x224]
push str._sdrivers_hs
push ecx
mov ecx, 0x104
call fcn.00404a10
add esp, 0x10
cmp eax, ebx
jl 0x450aea
lea edx, [esp + 0x10]
push edx
lea edi, [esp + 0x220]
call fcn.0040dae0
add esp, 4
test eax, eax
je 0x450aea
mov edx, dword [esp + 0x10]
mov esi, dword [edx - 0xc]
mov eax, dword [edx - 8]
mov ecx, 1
sub ecx, dword [edx - 4]
sub eax, esi
or eax, ecx
jge 0x450aa8
mov ecx, esi
lea eax, [esp + 0x10]
call fcn.00405220
mov edx, dword [esp + 0x10]
lea eax, [esi + 1]
push eax
push edx
call fcn.00475f97
add esp, 8
cmp esi, ebx
jl 0x450b27
mov eax, dword [esp + 0x10]
cmp esi, dword [eax - 8]
jg 0x450b27
mov dword [eax - 0xc], esi
mov edx, dword [esp + 0x10]
xor ecx, ecx
mov word [edx + esi*2], cx
mov eax, dword [esp + 0x10]
push str.microsoft
push eax
call fcn.00475d71
add esp, 8
test eax, eax
je 0x450aea
mov ebx, 1
mov dword [esp + 0x430], 0xffffffff
lea ecx, [esp + 0x10]
call fcn.00404e20
mov eax, ebx
mov ecx, dword [esp + 0x428]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov ecx, dword [esp + 0x414]
xor ecx, esp
call fcn.00471eba
add esp, 0x424
ret
push 0x80070057
call fcn.00404ad0
int3