Function at 0x416b1d
Capabilities:
Check if file exists
Get common file path

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x4d4
push ebx
push esi
push edi
mov dword [ebp - 0x2d4], 0
mov byte [ebp - 0x2cc], 0
lea edi, [ebp - 0x2cb]
xor eax, eax
mov ecx, 0x31
rep stosd dword es:[edi], eax
stosw word es:[edi], ax
stosb byte es:[edi], al
push 0x200
push 0x5ab920
call dword [sym.imp.KERNEL32.dll_GetSystemDirectoryA]
push 0x200
push 0x5ab4c0
call dword [sym.imp.KERNEL32.dll_GetWindowsDirectoryA]
push 0x53f26c
push 0x5ab4c0
call fcn.0041e940
add esp, 8
test byte [ebp + 8], 1
je 0x416dfa
push 0x5ab920
lea eax, [ebp - 0x4d4]
push eax
call fcn.0041e930
add esp, 8
push 0x53f274
lea eax, [ebp - 0x4d4]
push eax
call fcn.0041e940
add esp, 8
cmp dword [ebp + 0xc], 0
je 0x416c01
push 1
mov eax, dword [ebp + 0xc]
push eax
call fcn.0041e7b0
add esp, 4
add eax, 0x32
push eax
call fcn.0041ebd4
add esp, 8
mov dword [ebp - 0x2d4], eax
mov eax, dword [ebp + 0xc]
push eax
mov eax, dword [ebp - 0x2d4]
push eax
call fcn.0041e930
add esp, 8
push 0x53f284
mov eax, dword [ebp - 0x2d4]
push eax
call fcn.0041e940
add esp, 8
push 0x200
lea eax, [ebp - 0x200]
push eax
call dword [sym.imp.KERNEL32.dll_GetWindowsDirectoryA]
push 0x53f294
lea eax, [ebp - 0x200]
push eax
call fcn.0041e940
add esp, 8
lea eax, [ebp - 0x200]
push eax
call fcn.00408ac1
add esp, 4
test eax, eax
jne 0x416c71
call dword [sym.imp.KERNEL32.dll_GetLastError]
cmp eax, 2
je 0x416c71
push 0x40001
call fcn.00406ccc
add esp, 4
push 0x2004016
call fcn.00406c68
add esp, 4
mov eax, 0xffffffff
jmp 0x417005
push 0
push 0
call fcn.0041ae8c
add esp, 4
push eax
push 0x53f560
mov eax, dword [ebp - 0x2d4]
push eax
lea eax, [ebp - 0x4d4]
push eax
call fcn.00417498
add esp, 0x14
mov dword [ebp - 0x2d0], eax
push 1
push 1
call fcn.0041ae8c
add esp, 4
push eax
push 0x54f560
mov eax, dword [ebp - 0x2d4]
push eax
lea eax, [ebp - 0x4d4]
push eax
call fcn.00417498
add esp, 0x14
mov dword [ebp - 0x2d0], eax
push 2
push 2
call fcn.0041ae8c
add esp, 4
push eax
push 0x55f560
mov eax, dword [ebp - 0x2d4]
push eax
lea eax, [ebp - 0x4d4]
push eax
call fcn.00417498
add esp, 0x14
mov dword [ebp - 0x2d0], eax
push 3
push 3
call fcn.0041ae8c
add esp, 4
push eax
push 0x56f560
mov eax, dword [ebp - 0x2d4]
push eax
lea eax, [ebp - 0x4d4]
push eax
call fcn.00417498
add esp, 0x14
mov dword [ebp - 0x2d0], eax
push 4
push 4
call fcn.0041ae8c
add esp, 4
push eax
push 0x57f560
mov eax, dword [ebp - 0x2d4]
push eax
lea eax, [ebp - 0x4d4]
push eax
call fcn.00417498
add esp, 0x14
mov dword [ebp - 0x2d0], eax
push 5
push 5
call fcn.0041ae8c
add esp, 4
push eax
push 0x58f560
mov eax, dword [ebp - 0x2d4]
push eax
lea eax, [ebp - 0x4d4]
push eax
call fcn.00417498
add esp, 0x14
mov dword [ebp - 0x2d0], eax
push 6
push 6
call fcn.0041ae8c
add esp, 4
push eax
push 0x59f560
mov eax, dword [ebp - 0x2d4]
push eax
lea eax, [ebp - 0x4d4]
push eax
call fcn.00417498
add esp, 0x14
mov dword [ebp - 0x2d0], eax
cmp dword [ebp + 0xc], 0
je 0x416dd6
mov eax, dword [ebp - 0x2d4]
push eax
call fcn.0041e600
add esp, 4
mov dword [ebp - 0x2d4], 0
cmp dword [ebp - 0x2d0], 0xffffffff
jne 0x416dfa
push 0x2004016
call fcn.00406c68
add esp, 4
mov eax, 0xffffffff
jmp 0x417005
test byte [ebp + 8], 2
je 0x416f15
cmp dword [ebp + 0x10], 0
je 0x416f15
push 0x5ab920
lea eax, [ebp - 0x4d4]
push eax
call fcn.0041e930
add esp, 8
push 0x53f2a4
lea eax, [ebp - 0x4d4]
push eax
call fcn.0041e940
add esp, 8
push 0x53f2a8
lea eax, [ebp - 0x4d4]
push eax
call fcn.0041e940
add esp, 8
cmp dword [ebp + 0xc], 0
je 0x416eaf
push 1
mov eax, dword [ebp + 0xc]
push eax
call fcn.0041e7b0
add esp, 4
add eax, 0x32
push eax
call fcn.0041ebd4
add esp, 8
mov dword [ebp - 0x2d4], eax
mov eax, dword [ebp + 0xc]
push eax
mov eax, dword [ebp - 0x2d4]
push eax
call fcn.0041e930
add esp, 8
push 0x53f2b4
mov eax, dword [ebp - 0x2d4]
push eax
call fcn.0041e940
add esp, 8
push 0x53f2b8
mov eax, dword [ebp - 0x2d4]
push eax
call fcn.0041e940
add esp, 8
push 0
call fcn.004089da
push eax
push 0x435b90
mov eax, dword [ebp - 0x2d4]
push eax
lea eax, [ebp - 0x4d4]
push eax
call fcn.00417498
add esp, 0x14
mov dword [ebp - 0x2d0], eax
cmp dword [ebp + 0xc], 0
je 0x416ef1
mov eax, dword [ebp - 0x2d4]
push eax
call fcn.0041e600
add esp, 4
cmp dword [ebp - 0x2d0], 0xffffffff
jne 0x416f15
push 0x2004018
call fcn.00406c68
add esp, 4
mov eax, 0xffffffff
jmp 0x417005
push 0x5ab4c0
lea eax, [ebp - 0x4d4]
push eax
call fcn.0041e930
add esp, 8
push 0x53f2c4
lea eax, [ebp - 0x4d4]
push eax
call fcn.0041e940
add esp, 8
cmp dword [ebp + 0xc], 0
je 0x416f8e
push 1
mov eax, dword [ebp + 0xc]
push eax
call fcn.0041e7b0
add esp, 4
add eax, 0x32
push eax
call fcn.0041ebd4
add esp, 8
mov dword [ebp - 0x2d4], eax
mov eax, dword [ebp + 0xc]
push eax
mov eax, dword [ebp - 0x2d4]
push eax
call fcn.0041e930
add esp, 8
push 0x53f2d4
mov eax, dword [ebp - 0x2d4]
push eax
call fcn.0041e940
add esp, 8
push 0
call fcn.00408a58
push eax
push str.__HLPCMCIA.INF_r_n__r_n__Windows_95_Setup_information_file_for_Hardlock_PCMCIA__PC_Card_._r_n__Version_1.04__07_Nov_97_r_n__FAST_Software_Security___Group_Aladdin_r_n_r_n_Version__r_nSignature_Chicago__r_nClassPorts_r_nProvider_String0__r_n_r_n_DestinationDirs__r_nDefaultDestDir17_r_n_r_n_Manufacturer__r_n_String1_Std_r_n_r_n_Std__r_n_String2_LptPort1_PCMCIAFAST_Electronic_Hardlock_V1.0_E258_r_n_String3_LptPort2_PCMCIAFAST_Electronic_Hardlock_V1.0_9586_r_n_String4_LptPort3_PCMCIAAladdin_Knowledge_Systems_Ltd._Hardlock_V2.0_73FD_r_n_r_n__________________WIN95_specific___________________r_n_LptPort1__r_nAddRegPorts.AddReg_r_nLogConfiglsnn_r_n_r_n_LptPort2__r_nAddRegPorts.AddReg_r_nLogConfiglsnn_r_n_r_n___________________WIN_NT_specific__________________r_n_r_n_LptPort1.NT__r_nAddRegPorts.AddReg_r_nLogConfiglsnn_r_n_r_n_LptPort2.NT__r_nAddRegPorts.AddReg_r_nLogConfiglsnn_r_n_r_n_LptPort3.NT__r_nAddRegPorts.AddReg_r_nLogConfiglsnn_r_n_r_n_LptPort1.NT.Services__r_nAddService__Parport__0x00000002__Service_Inst__Parport_EventLog_Inst___Port_Driver__function_driver_for_this_device__r_n_r_n_LptPort2.NT.Services__r_nAddService__Parport__0x00000002__Service_Inst__Parport_EventLog_Inst___Port_Driver__function_driver_for_this_device__r_n_r_n_LptPort3.NT.Services__r_nAddService__Parport__0x00000002__Service_Inst__Parport_EventLog_Inst___Port_Driver__function_driver_for_this_device__r_n_r_n_Parport_EventLog_Inst__r_nAddReg__Parport_EventLog_AddReg_r_n_r_n_Parport_EventLog_AddReg__r_nHKR__EventMessageFile_0x00020000____SystemRoot__System32IoLogMsg.dll___SystemRoot__System32driversparport.sys__r_nHKR__TypesSupported_0x00010001_7_r_n_r_n_Service_Inst__r_nLoadOrderGroup__System_Bus_Extender_r_nDisplayName______Parport.SVCDESC__r_nServiceType_____1__________________SERVICE_KERNEL_DRIVER_r_nStartType_______1__________________SERVICE_SYSTEM_START__BUGBUG__should_be_SERVICE_DEMAND_START__0x3__r_nErrorControl____0__________________SERVICE_ERROR_IGNORE__BUGBUG__should_be_SERVICE_ERROR_NORMAL__0x1__r_nServiceBinary____12_parport.sys_r_nLoadOrderGroup__Parallel_arbitrator_r_n_r_n______________________________________________________r_n_Ports.AddReg__r_nHKR__NoSetupUI_0_1_r_nHKR__PortSubClass_1_00_r_n_r_n_lsnn__r_nConfigPriorityHARDRECONFIG_r_nIOConfig3bc_3be_3ff::__378_37a_3ff::__278_27a_3ff::__r_n_r_n_ControlFlags__r_n_r_n_Strings__r_nString0_FAST_Security__r_nString1_FAST_Security__r_nString2_Hardlock_PCMCIA__PC_Card___r_nString3_Hardlock_PCMCIA__PC_Card___r_nString4_Hardlock_PCMCIA__PC_Card___r_nPortsClassName_Hardlock_Card__r_n__eof__r_n
mov eax, dword [ebp - 0x2d4]
push eax
lea eax, [ebp - 0x4d4]
push eax
call fcn.00417498
add esp, 0x14
mov dword [ebp - 0x2d0], eax
cmp dword [ebp + 0xc], 0
je 0x416fda
mov eax, dword [ebp - 0x2d4]
push eax
call fcn.0041e600
add esp, 4
mov dword [ebp - 0x2d4], 0
cmp dword [ebp - 0x2d0], 0xffffffff
jne 0x416ffe
push 0x200401c
call fcn.00406c68
add esp, 4
mov eax, 0xffffffff
jmp 0x417005
xor eax, eax
jmp 0x417005
pop edi
pop esi
pop ebx
leave
ret