Function at 0x412c4a
Capabilities:
Get common file path
Write file on windows

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x34c
push ebx
push esi
push edi
push 0x200
push 0x42d1b0
call dword [sym.imp.KERNEL32.dll_GetSystemDirectoryA]
push 0x4dce64
push 0x42d1b0
call fcn.0041d138
add esp, 8
push 0x4dce6c
push 0x42d1b0
call fcn.0041d138
add esp, 8
cmp dword [ebp + 8], 0
je 0x412d38
mov eax, dword [ebp + 8]
push eax
lea eax, [ebp - 0x34c]
push eax
call fcn.0041d13c
add esp, 8
push 0x4dce78
lea eax, [ebp - 0x34c]
push eax
call fcn.0041d138
add esp, 8
lea eax, [ebp - 0x148]
push eax
lea eax, [ebp - 0x34c]
push eax
call dword [sym.imp.KERNEL32.dll_FindFirstFileA]
mov dword [ebp - 0x14c], eax
cmp dword [ebp - 0x14c], 0xffffffff
je 0x412d38
push 0
push 0x42d1b0
lea eax, [ebp - 0x34c]
push eax
call fcn.00408230
add esp, 0xc
test eax, eax
jne 0x412d24
mov eax, dword [ebp - 0x14c]
push eax
call dword [sym.imp.KERNEL32.dll_FindClose]
push 0x4000c
call fcn.004064f2
add esp, 4
mov eax, 0xffffffff
jmp 0x412e0e
mov eax, dword [ebp - 0x14c]
push eax
call dword [sym.imp.KERNEL32.dll_FindClose]
xor eax, eax
jmp 0x412e0e
push 0
push pe_nt_image_headers32
push 2
push 0
push 0
push 0xc0000000
push 0x42d1b0
call dword [sym.imp.KERNEL32.dll_CreateFileA]
mov dword [0x42cd30], eax
cmp dword [0x42cd30], 0xffffffff
jne 0x412d7e
push 0x40003
call fcn.004064f2
add esp, 4
mov eax, 0xffffffff
jmp 0x412e0e
push 0
lea eax, [ebp - 4]
push eax
call fcn.004081b6
push eax
push str.___Id:_aksusb.inf_1.2_1999_12_23_06:28:48_GILF_QC___r_n__r_n__INF_File_for_USB_Hardlock_r_n_____________________________r_n__r_n___c__Copyright_1997_1998_by_Aladdin_Knowledge_Systems_r_n__r_n___Revision:_1.2___r_n___Date:_1999_12_23_06:28:48___r_n___Author:_GILF___r_n__r_n___Log:_aksusb.inf___r_n__Revision_1.2__1999_12_23_06:28:48__GILF_r_n__The_hinstall_inf_file_no_need_to_copylist_r_n___r_n__Revision_1.1__1999_10_27_13:44:50__GILF_r_n__Initial_revision_r_n__Revision_1.3__1998_08_31_14:59:38__CHARLIEH_r_n__Revision_1.8__1998_05_13_15:33:50__chris_r_n__removed_hardlock.vxd_entries_r_n___r_n__Revision_1.7__1998_03_11_14:00:26__chris_r_n__usbpd____aksusb_name_change_r_n__r_n__Revision_1.6__1998_03_09_13:31:01__chris_r_n__added_NT_5_Beta_support_r_n__r_n__Revision_1.5__1998_03_06_13:08:59__chris_r_n__added_hardlock.vxd_to_copylist_r_n__r_n_r_n_Version__r_nsignature__CHICAGO___r_nProvider_Fast__r_nLayoutFileLAYOUT.INF_r_nClassUSB_r_n_r_n__Table_of_Contents_r_n_Manufacturer__r_n_FastMfg_Aladdin_r_n_r_n_PreCopySection__r_nHKR__NoSetupUI__1_r_n_r_n_DestinationDirs__r_naksusb.CopyList__10_system32drivers_r_naksusb.CopyList.NT__10_system32drivers_r_n_DefaultDestDir10_system32drivers_r_n_r_n_Aladdin__r_n_USBVID_0529PID_0001.DeviceDesc_aksusb__USBVID_0529PID_0001__USB_Protection_Device_r_n_r_n_NODRIVER__r_n_r_n_ControlFlags__r_nExcludeFromSelectUSBVID_0529PID_0001_r_n_r_n_aksusb__r_n__CopyFilesaksusb.CopyList_r_nAddRegaksusb.AddReg_r_n_r_n_aksusb.NT__r_n__CopyFilesaksusb.CopyList.NT_r_nAddRegaksusb.AddReg.NT_r_n_r_n_aksusb.AddReg__r_nHKR__DevLoader__ntkern_r_nHKR__NTMPDriver__aksusb.sys_r_n_HKR__MyLittleTag__MyEntryInTheRegistry_r_n_r_n_aksusb.AddReg.NT__r_n_BUGBUG:_PropPageProvider_stuff_not_enabled_for_setupapi_yet__r_nHKR__EnumPropPages32___sysclass.dll_USBEnumPropPages__r_n_r_n_aksusb.CopyList__r_naksusb.sys_r_n_r_n_aksusb.CopyList.NT__r_naksusb.sys_r_n_r_n_aksusb.NT.Services__r_nAddServiceaksusb_0x02_aksusb.addservices_r_n_r_n_aksusb.addservices__r_nDisplayName______svcdesc__r_nServiceType_____1_t_t_SERVICE_KERNEL_DRIVER_r_nStartType_______2_t_t_SERVICE_AUTO_START_r_nErrorControl____1_t_t_SERVICE_ERROR_NORMAL_r_nServiceBinary____12__aksusb.sys_r_nLoadOrderGroup__Base_r_n_r_n_Strings__r_nFast_Aladdin_Knowledge_Systems__r_nFastMfg_Aladdin_Knowledge_Systems__r_nsvcdesc_Aladdin_USB_Key__r_nUSBVID_0529PID_0001.DeviceDesc_Aladdin_USB_Key__r_n_r_n
mov eax, dword [0x42cd30]
push eax
call dword [sym.imp.KERNEL32.dll_WriteFile]
mov dword [ebp - 8], eax
cmp dword [ebp - 8], 0
jne 0x412dcb
mov eax, dword [0x42cd30]
push eax
call dword [sym.imp.KERNEL32.dll_CloseHandle]
push 0x40004
call fcn.004064f2
add esp, 4
mov eax, 0xffffffff
jmp 0x412e0e
mov eax, dword [0x42cd30]
push eax
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov dword [ebp - 8], eax
cmp dword [ebp - 8], 0
jne 0x412e07
mov eax, dword [0x42cd30]
push eax
call dword [sym.imp.KERNEL32.dll_CloseHandle]
push 0x40005
call fcn.004064f2
add esp, 4
mov eax, 0xffffffff
jmp 0x412e0e
xor eax, eax
jmp 0x412e0e
pop edi
pop esi
pop ebx
leave
ret