Function at 0x4061f0
Capabilities:
Write file on windows

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x77c
mov eax, dword [0x41403c]
xor eax, ebp
mov dword [ebp - 4], eax
push 0
push 1
push 0
push 0x4271b8
call dword [sym.imp.SETUPAPI.dll_SetupOpenInfFileA]
mov dword [ebp - 0x664], eax
cmp dword [ebp - 0x664], 0xffffffff
jne 0x406228
jmp 0x406b88
push 0
push 0x80
push 4
push 0
push 0
push 0x40000000
push 0x426d98
call dword [sym.imp.KERNEL32.dll_CreateFileA]
mov dword [0x416014], eax
push 0
push 0x4272d4
mov eax, dword [str._Main__r_nTitleMass_Storage_Drivers_by_MSSTmake_tool_r_nDescriptionAdds_DriverPacks_Mass_Storage_drivers_to_the_build._Created_by_MSSTMake.exe_Ver._11.11.17.1__MassStorage_addon_generating_tool_._r_nSelectedTrue_r_nLevel6_r_nAuthorMr._dUSHA_r_nContacthttp:__forum.oszone.net_thread_117423.html_r_nDisable__ScriptDir_SATA2.script____ScriptDir_DPs_MassStorageDrivers_au3.script____ScriptDir_DPs_MassStorageDrivers.script____ScriptDir_DPs_Build_MassStorageDrivers.script__r_nDownload_Level0_r_n_r_n_process__r_nRun__ScriptFile__Process_drivers_r_nRun__ScriptFile__Process_registry_r_nRun__ScriptFile__Process_txtsetup_r_n_r_n_Process_drivers__r_nEcho__Copying_DriverPacks_Mass_Storage_Drivers...__r_nFileCopy___ScriptDir_Drivers.____target_sys_drivers__r_n]
push eax
call dword [sym.imp.KERNEL32.dll_lstrlenA]
push eax
mov ecx, dword [str._Main__r_nTitleMass_Storage_Drivers_by_MSSTmake_tool_r_nDescriptionAdds_DriverPacks_Mass_Storage_drivers_to_the_build._Created_by_MSSTMake.exe_Ver._11.11.17.1__MassStorage_addon_generating_tool_._r_nSelectedTrue_r_nLevel6_r_nAuthorMr._dUSHA_r_nContacthttp:__forum.oszone.net_thread_117423.html_r_nDisable__ScriptDir_SATA2.script____ScriptDir_DPs_MassStorageDrivers_au3.script____ScriptDir_DPs_MassStorageDrivers.script____ScriptDir_DPs_Build_MassStorageDrivers.script__r_nDownload_Level0_r_n_r_n_process__r_nRun__ScriptFile__Process_drivers_r_nRun__ScriptFile__Process_registry_r_nRun__ScriptFile__Process_txtsetup_r_n_r_n_Process_drivers__r_nEcho__Copying_DriverPacks_Mass_Storage_Drivers...__r_nFileCopy___ScriptDir_Drivers.____target_sys_drivers__r_n]
push ecx
mov edx, dword [0x416014]
push edx
call dword [sym.imp.KERNEL32.dll_WriteFile]
lea eax, [ebp - 0x778]
push eax
push 0
push str.PnpInterface
mov ecx, dword [ebp - 0x664]
push ecx
call dword [sym.imp.SETUPAPI.dll_SetupFindFirstLineA]
test eax, eax
je 0x406392
mov dword [ebp - 0x77c], 0
push 0
push 0x4272d4
mov edx, dword [str._r_n_Process_registry__r_nEcho__Modifying_Setupreg.hiv...__r_nRegHiveLoad__SETUPREG____targetdir_I386_system32_setupreg.hiv__r_n]
push edx
call dword [sym.imp.KERNEL32.dll_lstrlenA]
push eax
mov eax, dword [str._r_n_Process_registry__r_nEcho__Modifying_Setupreg.hiv...__r_nRegHiveLoad__SETUPREG____targetdir_I386_system32_setupreg.hiv__r_n]
push eax
mov ecx, dword [0x416014]
push ecx
call dword [sym.imp.KERNEL32.dll_WriteFile]
push 0x4272d0
push 0xfe
lea edx, [ebp - 0x768]
push edx
push 0
lea eax, [ebp - 0x778]
push eax
call dword [sym.imp.SETUPAPI.dll_SetupGetStringFieldA]
lea ecx, [ebp - 0x77c]
push ecx
push 1
lea edx, [ebp - 0x778]
push edx
call dword [sym.imp.SETUPAPI.dll_SetupGetIntField]
mov eax, dword [ebp - 0x77c]
push eax
lea ecx, [ebp - 0x768]
push ecx
push str.RegWrite_HKLM_0x4__SETUPREGControlSet001Services_sParametersPnpInterface____i___1__r_n
push 0x400
lea edx, [ebp - 0x650]
push edx
call dword [sym.imp.SHLWAPI.dll_wnsprintfA]
add esp, 0x14
push 0
push 0x4272d4
lea eax, [ebp - 0x650]
push eax
call dword [sym.imp.KERNEL32.dll_lstrlenA]
push eax
lea ecx, [ebp - 0x650]
push ecx
mov edx, dword [0x416014]
push edx
call dword [sym.imp.KERNEL32.dll_WriteFile]
lea eax, [ebp - 0x778]
push eax
lea ecx, [ebp - 0x778]
push ecx
call dword [sym.imp.SETUPAPI.dll_SetupFindNextLine]
test eax, eax
jne 0x4062c7
push 0
push 0x4272d4
mov edx, dword [str.RegHiveUnload__SETUPREG__r_n]
push edx
call dword [sym.imp.KERNEL32.dll_lstrlenA]
push eax
mov eax, dword [str.RegHiveUnload__SETUPREG__r_n]
push eax
mov ecx, dword [0x416014]
push ecx
call dword [sym.imp.KERNEL32.dll_WriteFile]
push str._r_n_Process_txtsetup_
push 0x400
lea edx, [ebp - 0x650]
push edx
call dword [sym.imp.SHLWAPI.dll_wnsprintfA]
add esp, 0xc
push 0
push 0x4272d4
lea eax, [ebp - 0x650]
push eax
call dword [sym.imp.KERNEL32.dll_lstrlenA]
push eax
lea ecx, [ebp - 0x650]
push ecx
mov edx, dword [0x416014]
push edx
call dword [sym.imp.KERNEL32.dll_WriteFile]
lea eax, [ebp - 0x778]
push eax
push 0
push str.SourceDisksFiles
mov ecx, dword [ebp - 0x664]
push ecx
call dword [sym.imp.SETUPAPI.dll_SetupFindFirstLineA]
test eax, eax
je 0x4064ee
push str.SourceDisksFiles
mov edx, dword [str._r_nEcho__Modifying_TXTSETUP.SIF_with_Mass_Storage_driver_entries_____s__section...__r_n]
push edx
push 0x400
lea eax, [ebp - 0x650]
push eax
call dword [sym.imp.SHLWAPI.dll_wnsprintfA]
add esp, 0x10
push 0
push 0x4272d4
lea ecx, [ebp - 0x650]
push ecx
call dword [sym.imp.KERNEL32.dll_lstrlenA]
push eax
lea edx, [ebp - 0x650]
push edx
mov eax, dword [0x416014]
push eax
call dword [sym.imp.KERNEL32.dll_WriteFile]
push 0x4272d0
push 0xfe
lea ecx, [ebp - 0x768]
push ecx
push 0
lea edx, [ebp - 0x778]
push edx
call dword [sym.imp.SETUPAPI.dll_SetupGetStringFieldA]
push 0x4272d0
push 0xfe
lea eax, [ebp - 0x148]
push eax
push 7
lea ecx, [ebp - 0x778]
push ecx
call dword [sym.imp.SETUPAPI.dll_SetupGetStringFieldA]
lea edx, [ebp - 0x148]
push edx
lea eax, [ebp - 0x768]
push eax
push str.IniWrite____target_win___txtsetup.sif___SourceDisksFiles____s___1_______s_4_1___1_4__r_n
push 0x400
lea ecx, [ebp - 0x650]
push ecx
call dword [sym.imp.SHLWAPI.dll_wnsprintfA]
add esp, 0x14
push 0
push 0x4272d4
lea edx, [ebp - 0x650]
push edx
call dword [sym.imp.KERNEL32.dll_lstrlenA]
push eax
lea eax, [ebp - 0x650]
push eax
mov ecx, dword [0x416014]
push ecx
call dword [sym.imp.KERNEL32.dll_WriteFile]
lea edx, [ebp - 0x778]
push edx
lea eax, [ebp - 0x778]
push eax
call dword [sym.imp.SETUPAPI.dll_SetupFindNextLine]
test eax, eax
jne 0x406441
lea ecx, [ebp - 0x778]
push ecx
push 0
push str.HardwareIdsDatabase
mov edx, dword [ebp - 0x664]
push edx
call dword [sym.imp.SETUPAPI.dll_SetupFindFirstLineA]
test eax, eax
je 0x406607
push str.HardwareIdsDatabase
mov eax, dword [str._r_nEcho__Modifying_TXTSETUP.SIF_with_Mass_Storage_driver_entries_____s__section...__r_n]
push eax
push 0x400
lea ecx, [ebp - 0x650]
push ecx
call dword [sym.imp.SHLWAPI.dll_wnsprintfA]
add esp, 0x10
push 0
push 0x4272d4
lea edx, [ebp - 0x650]
push edx
call dword [sym.imp.KERNEL32.dll_lstrlenA]
push eax
lea eax, [ebp - 0x650]
push eax
mov ecx, dword [0x416014]
push ecx
call dword [sym.imp.KERNEL32.dll_WriteFile]
push 0x4272d0
push 0xfe
lea edx, [ebp - 0x768]
push edx
push 0
lea eax, [ebp - 0x778]
push eax
call dword [sym.imp.SETUPAPI.dll_SetupGetStringFieldA]
push 0x4272d0
push 0xfe
lea ecx, [ebp - 0x148]
push ecx
push 1
lea edx, [ebp - 0x778]
push edx
call dword [sym.imp.SETUPAPI.dll_SetupGetStringFieldA]
lea eax, [ebp - 0x148]
push eax
lea ecx, [ebp - 0x768]
push ecx
push str.IniWrite____target_win___txtsetup.sif___HardwareIdsDatabase____s____q_s_q__r_n
push 0x400
lea edx, [ebp - 0x650]
push edx
call dword [sym.imp.SHLWAPI.dll_wnsprintfA]
add esp, 0x14
push 0
push 0x4272d4
lea eax, [ebp - 0x650]
push eax
call dword [sym.imp.KERNEL32.dll_lstrlenA]
push eax
lea ecx, [ebp - 0x650]
push ecx
mov edx, dword [0x416014]
push edx
call dword [sym.imp.KERNEL32.dll_WriteFile]
lea eax, [ebp - 0x778]
push eax
lea ecx, [ebp - 0x778]
push ecx
call dword [sym.imp.SETUPAPI.dll_SetupFindNextLine]
test eax, eax
jne 0x40655a
lea edx, [ebp - 0x778]
push edx
push 0
push str.SCSI.Load
mov eax, dword [ebp - 0x664]
push eax
call dword [sym.imp.SETUPAPI.dll_SetupFindFirstLineA]
test eax, eax
je 0x406720
push str.SCSI.Load
mov ecx, dword [str._r_nEcho__Modifying_TXTSETUP.SIF_with_Mass_Storage_driver_entries_____s__section...__r_n]
push ecx
push 0x400
lea edx, [ebp - 0x650]
push edx
call dword [sym.imp.SHLWAPI.dll_wnsprintfA]
add esp, 0x10
push 0
push 0x4272d4
lea eax, [ebp - 0x650]
push eax
call dword [sym.imp.KERNEL32.dll_lstrlenA]
push eax
lea ecx, [ebp - 0x650]
push ecx
mov edx, dword [0x416014]
push edx
call dword [sym.imp.KERNEL32.dll_WriteFile]
push 0x4272d0
push 0xfe
lea eax, [ebp - 0x768]
push eax
push 0
lea ecx, [ebp - 0x778]
push ecx
call dword [sym.imp.SETUPAPI.dll_SetupGetStringFieldA]
push 0x4272d0
push 0xfe
lea edx, [ebp - 0x148]
push edx
push 1
lea eax, [ebp - 0x778]
push eax
call dword [sym.imp.SETUPAPI.dll_SetupGetStringFieldA]
lea ecx, [ebp - 0x148]
push ecx
lea edx, [ebp - 0x768]
push edx
push str.IniWrite____target_win___txtsetup.sif___SCSI.Load____s____s_4__r_n
push 0x400
lea eax, [ebp - 0x650]
push eax
call dword [sym.imp.SHLWAPI.dll_wnsprintfA]
add esp, 0x14
push 0
push 0x4272d4
lea ecx, [ebp - 0x650]
push ecx
call dword [sym.imp.KERNEL32.dll_lstrlenA]
push eax
lea edx, [ebp - 0x650]
push edx
mov eax, dword [0x416014]
push eax
call dword [sym.imp.KERNEL32.dll_WriteFile]
lea ecx, [ebp - 0x778]
push ecx
lea edx, [ebp - 0x778]
push edx
call dword [sym.imp.SETUPAPI.dll_SetupFindNextLine]
test eax, eax
jne 0x406674
lea eax, [ebp - 0x778]
push eax
push 0
push str.BusExtenders.Load
mov ecx, dword [ebp - 0x664]
push ecx
call dword [sym.imp.SETUPAPI.dll_SetupFindFirstLineA]
test eax, eax
je 0x40692d
push str.BusExtenders.Load
mov edx, dword [str._r_nEcho__Modifying_TXTSETUP.SIF_with_Mass_Storage_driver_entries_____s__section...__r_n]
push edx
push 0x400
lea eax, [ebp - 0x650]
push eax
call dword [sym.imp.SHLWAPI.dll_wnsprintfA]
add esp, 0x10
push 0
push 0x4272d4
lea ecx, [ebp - 0x650]
push ecx
call dword [sym.imp.KERNEL32.dll_lstrlenA]
push eax
lea edx, [ebp - 0x650]
push edx
mov eax, dword [0x416014]
push eax
call dword [sym.imp.KERNEL32.dll_WriteFile]
mov dword [ebp - 0x24c], 0
push 0x4272d0
push 0xfe
lea ecx, [ebp - 0x768]
push ecx
push 0
lea edx, [ebp - 0x778]
push edx
call dword [sym.imp.SETUPAPI.dll_SetupGetStringFieldA]
push 0x4272d0
push 0xfe
lea eax, [ebp - 0x148]
push eax
push 1
lea ecx, [ebp - 0x778]
push ecx
call dword [sym.imp.SETUPAPI.dll_SetupGetStringFieldA]
lea edx, [ebp - 0x148]
push edx
lea eax, [ebp - 0x768]
push eax
push str.IniWrite____target_win___txtsetup.sif___BusExtenders.Load____s____s__r_n
push 0x400
lea ecx, [ebp - 0x650]
push ecx
call dword [sym.imp.SHLWAPI.dll_wnsprintfA]
add esp, 0x14
push 0
push 0x4272d4
lea edx, [ebp - 0x650]
push edx
call dword [sym.imp.KERNEL32.dll_lstrlenA]
push eax
lea eax, [ebp - 0x650]
push eax
mov ecx, dword [0x416014]
push ecx
call dword [sym.imp.KERNEL32.dll_WriteFile]
lea edx, [ebp - 0x768]
push edx
push str.files._s
push 0x40
lea eax, [ebp - 0x48]
push eax
call dword [sym.imp.SHLWAPI.dll_wnsprintfA]
add esp, 0x10
lea ecx, [ebp - 0x148]
push ecx
lea edx, [ebp - 0x768]
push edx
push str.IniWriteTextLine____target_win___txtsetup.sif___files._s____s_4__r_n
push 0x400
lea eax, [ebp - 0x650]
push eax
call dword [sym.imp.SHLWAPI.dll_wnsprintfA]
add esp, 0x14
mov dword [ebp - 0x24c], eax
lea ecx, [ebp - 0x660]
push ecx
push 1
lea edx, [ebp - 0x48]
push edx
mov eax, dword [ebp - 0x664]
push eax
call dword [sym.imp.SETUPAPI.dll_SetupGetLineByIndexA]
test eax, eax
je 0x4068e8
push 0x4272d0
push 0xfe
lea ecx, [ebp - 0x248]
push ecx
push 0
push 0
push 0
lea edx, [ebp - 0x660]
push edx
call dword [sym.imp.SETUPAPI.dll_SetupGetLineTextA]
lea eax, [ebp - 0x248]
push eax
lea ecx, [ebp - 0x768]
push ecx
push str.IniWriteTextLine____target_win___txtsetup.sif___files._s____s__r_n
mov edx, 0x400
sub edx, dword [ebp - 0x24c]
push edx
mov eax, dword [ebp - 0x24c]
lea ecx, [ebp + eax - 0x650]
push ecx
call dword [sym.imp.SHLWAPI.dll_wnsprintfA]
add esp, 0x14
push 0
push 0x4272d4
lea edx, [ebp - 0x650]
push edx
call dword [sym.imp.KERNEL32.dll_lstrlenA]
push eax
lea eax, [ebp - 0x650]
push eax
mov ecx, dword [0x416014]
push ecx
call dword [sym.imp.KERNEL32.dll_WriteFile]
lea edx, [ebp - 0x778]
push edx
lea eax, [ebp - 0x778]
push eax
call dword [sym.imp.SETUPAPI.dll_SetupFindNextLine]
test eax, eax
jne 0x40678c
lea ecx, [ebp - 0x778]
push ecx
push 0
push str.SCSI
mov edx, dword [ebp - 0x664]
push edx
call dword [sym.imp.SETUPAPI.dll_SetupFindFirstLineA]
test eax, eax
je 0x406a46
push str.SCSI
mov eax, dword [str._r_nEcho__Modifying_TXTSETUP.SIF_with_Mass_Storage_driver_entries_____s__section...__r_n]
push eax
push 0x400
lea ecx, [ebp - 0x650]
push ecx
call dword [sym.imp.SHLWAPI.dll_wnsprintfA]
add esp, 0x10
push 0
push 0x4272d4
lea edx, [ebp - 0x650]
push edx
call dword [sym.imp.KERNEL32.dll_lstrlenA]
push eax
lea eax, [ebp - 0x650]
push eax
mov ecx, dword [0x416014]
push ecx
call dword [sym.imp.KERNEL32.dll_WriteFile]
push 0x4272d0
push 0xfe
lea edx, [ebp - 0x768]
push edx
push 0
lea eax, [ebp - 0x778]
push eax
call dword [sym.imp.SETUPAPI.dll_SetupGetStringFieldA]
push 0x4272d0
push 0xfe
lea ecx, [ebp - 0x148]
push ecx
push 1
lea edx, [ebp - 0x778]
push edx
call dword [sym.imp.SETUPAPI.dll_SetupGetStringFieldA]
lea eax, [ebp - 0x148]
push eax
lea ecx, [ebp - 0x768]
push ecx
push str.IniWrite____target_win___txtsetup.sif___SCSI____s____q_s_q__r_n
push 0x400
lea edx, [ebp - 0x650]
push edx
call dword [sym.imp.SHLWAPI.dll_wnsprintfA]
add esp, 0x14
push 0
push 0x4272d4
lea eax, [ebp - 0x650]
push eax
call dword [sym.imp.KERNEL32.dll_lstrlenA]
push eax
lea ecx, [ebp - 0x650]
push ecx
mov edx, dword [0x416014]
push edx
call dword [sym.imp.KERNEL32.dll_WriteFile]
lea eax, [ebp - 0x778]
push eax
lea ecx, [ebp - 0x778]
push ecx
call dword [sym.imp.SETUPAPI.dll_SetupFindNextLine]
test eax, eax
jne 0x406999
lea edx, [ebp - 0x778]
push edx
push 0
push str.BusExtenders
mov eax, dword [ebp - 0x664]
push eax
call dword [sym.imp.SETUPAPI.dll_SetupFindFirstLineA]
test eax, eax
je 0x406b6e
push str.BusExtenders
mov ecx, dword [str._r_nEcho__Modifying_TXTSETUP.SIF_with_Mass_Storage_driver_entries_____s__section...__r_n]
push ecx
push 0x400
lea edx, [ebp - 0x650]
push edx
call dword [sym.imp.SHLWAPI.dll_wnsprintfA]
add esp, 0x10
push 0
push 0x4272d4
lea eax, [ebp - 0x650]
push eax
call dword [sym.imp.KERNEL32.dll_lstrlenA]
push eax
lea ecx, [ebp - 0x650]
push ecx
mov edx, dword [0x416014]
push edx
call dword [sym.imp.KERNEL32.dll_WriteFile]
push 0x4272d0
push 0xfe
lea eax, [ebp - 0x768]
push eax
push 0
lea ecx, [ebp - 0x778]
push ecx
call dword [sym.imp.SETUPAPI.dll_SetupGetStringFieldA]
push 0x4272d0
push 0xfe
lea edx, [ebp - 0x148]
push edx
push 1
lea eax, [ebp - 0x778]
push eax
call dword [sym.imp.SETUPAPI.dll_SetupGetStringFieldA]
lea ecx, [ebp - 0x768]
push ecx
lea edx, [ebp - 0x768]
push edx
lea eax, [ebp - 0x148]
push eax
lea ecx, [ebp - 0x768]
push ecx
push str.IniWrite____target_win___txtsetup.sif___BusExtenders____s____q_s_q_files._s__s__r_n
push 0x400
lea edx, [ebp - 0x650]
push edx
call dword [sym.imp.SHLWAPI.dll_wnsprintfA]
add esp, 0x1c
push 0
push 0x4272d4
lea eax, [ebp - 0x650]
push eax
call dword [sym.imp.KERNEL32.dll_lstrlenA]
push eax
lea ecx, [ebp - 0x650]
push ecx
mov edx, dword [0x416014]
push edx
call dword [sym.imp.KERNEL32.dll_WriteFile]
lea eax, [ebp - 0x778]
push eax
lea ecx, [ebp - 0x778]
push ecx
call dword [sym.imp.SETUPAPI.dll_SetupFindNextLine]
test eax, eax
jne 0x406ab3
mov edx, dword [0x416014]
push edx
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov eax, dword [ebp - 0x664]
push eax
call dword [sym.imp.SETUPAPI.dll_SetupCloseInfFile]
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.00401035
mov esp, ebp
pop ebp
ret