Function at 0x402230
Capabilities:
Delete file
Get common file path
Read .ini file

Disassembly:
sub esp, 0xc8
push ebx
push ebp
push esi
push edi
lea eax, [esp + 0x98]
xor ebx, ebx
push 0x40
push eax
mov dword [esp + 0x18], ebx
call dword [sym.imp.KERNEL32.dll_GetWindowsDirectoryA]
mov esi, dword [sym.imp.USER32.dll_wsprintfA]
lea ecx, [esp + 0x98]
push ecx
lea edx, [esp + 0x18]
push str._sINFOTHER.INF
push edx
call esi
lea eax, [esp + 0x20]
push 0x409800
push eax
call fcn.004033a0
mov edi, eax
add esp, 0x14
cmp edi, 2
mov dword [esp + 0x54], 1
je 0x402295
cmp edi, 0x16
je 0x402295
cmp edi, 0xffffffff
jne 0x4022c1
lea ecx, [esp + 0x98]
lea edx, [esp + 0x14]
push ecx
push str._sINFOEM.INF
push edx
call esi
lea eax, [esp + 0x20]
push 0x409800
push eax
call fcn.004033a0
add esp, 0x14
mov edi, eax
mov dword [esp + 0x54], ebx
mov ebx, dword [sym.imp.KERNEL32.dll_GetPrivateProfileStringA]
mov ebp, dword [sym.imp.KERNEL32.dll_lstrcmpA]
cmp edi, 2
je 0x4023c7
cmp edi, 0x16
je 0x4023c7
cmp edi, 0xffffffff
je 0x4023c7
mov eax, dword [esp + 0x54]
push 0x409814
test eax, eax
jne 0x402309
lea ecx, [esp + 0x9c]
lea edx, [esp + 0x18]
push ecx
push str._sINF_s
push edx
jmp 0x40231b
lea eax, [esp + 0x9c]
lea ecx, [esp + 0x18]
push eax
push str._sINFOTHER_s
push ecx
call esi
add esp, 0x10
lea edx, [esp + 0x14]
lea eax, [esp + 0x58]
push edx
push 0x40
push eax
push 0
push str.SSC_Legacy.DeviceDesc
push str.Strings
call ebx
lea ecx, [esp + 0x58]
push str.CMI8338
push ecx
mov byte [esp + 0x67], 0
call ebp
test eax, eax
je 0x40236f
lea edx, [esp + 0x58]
push str.CMI8738
push edx
call ebp
test eax, eax
je 0x40236f
lea eax, [esp + 0x58]
push str.C_Media
push eax
call ebp
test eax, eax
jne 0x402379
mov dword [esp + 0x10], 1
jmp 0x402381
mov eax, dword [esp + 0x10]
test eax, eax
je 0x4023b1
lea ecx, [esp + 0x14]
push ecx
call dword [sym.imp.KERNEL32.dll_DeleteFileA]
push str.info_file_found_and_removed__n
push 0x409700
call dword [sym.imp.KERNEL32.dll_lstrcatA]
mov edx, dword [esp + 0xdc]
push 0x409700
push 0x69
push edx
call dword [sym.imp.USER32.dll_SetDlgItemTextA]
push 0x409800
push edi
call fcn.0040346a
add esp, 8
test eax, eax
je 0x4022e8
lea eax, [esp + 0x98]
lea ecx, [esp + 0x14]
push eax
push str._sINFCM.INF
push ecx
call esi
lea edx, [esp + 0x20]
push 0x409800
push edx
call fcn.004033a0
mov edi, eax
add esp, 0x14
cmp edi, 2
je 0x4024cd
cmp edi, 0x16
je 0x4024cd
cmp edi, 0xffffffff
je 0x4024cd
lea eax, [esp + 0x98]
push 0x409814
push eax
lea ecx, [esp + 0x1c]
push str._sINF_s
push ecx
call esi
add esp, 0x10
lea edx, [esp + 0x14]
lea eax, [esp + 0x58]
push edx
push 0x40
push eax
push 0
push str.SSC_Legacy.DeviceDesc
push str.Strings
call ebx
lea ecx, [esp + 0x58]
push str.CMI8338
push ecx
mov byte [esp + 0x67], 0
call ebp
test eax, eax
je 0x402475
lea edx, [esp + 0x58]
push str.CMI8738
push edx
call ebp
test eax, eax
je 0x402475
lea eax, [esp + 0x58]
push str.C_Media
push eax
call ebp
test eax, eax
jne 0x40247f
mov dword [esp + 0x10], 1
jmp 0x402487
mov eax, dword [esp + 0x10]
test eax, eax
je 0x4024b7
lea ecx, [esp + 0x14]
push ecx
call dword [sym.imp.KERNEL32.dll_DeleteFileA]
push str.info_file_found_and_removed__n
push 0x409700
call dword [sym.imp.KERNEL32.dll_lstrcatA]
mov edx, dword [esp + 0xdc]
push 0x409700
push 0x69
push edx
call dword [sym.imp.USER32.dll_SetDlgItemTextA]
push 0x409800
push edi
call fcn.0040346a
add esp, 8
test eax, eax
je 0x40240a
mov eax, dword [esp + 0x10]
test eax, eax
jne 0x4024fa
push str.no_info_file_found__n
push 0x409700
call dword [sym.imp.KERNEL32.dll_lstrcatA]
mov eax, dword [esp + 0xdc]
push 0x409700
push 0x69
push eax
call dword [sym.imp.USER32.dll_SetDlgItemTextA]
lea ecx, [esp + 0x98]
lea edx, [esp + 0x58]
push ecx
push str._sSYSTEMAUDIO3D.OLD
push edx
call esi
lea eax, [esp + 0xa4]
lea ecx, [esp + 0x20]
push eax
push str._sSYSTEMAUDIO3D.DLL
push ecx
call esi
lea edx, [esp + 0x2c]
push 0x409800
push edx
call fcn.004033a0
mov edi, dword [sym.imp.KERNEL32.dll_WritePrivateProfileStringA]
add esp, 0x20
cmp eax, 2
je 0x40255f
cmp eax, 0x16
je 0x40255f
cmp eax, 0xffffffff
je 0x40255f
lea eax, [esp + 0x14]
push str.WININIT.INI
lea ecx, [esp + 0x5c]
push eax
push ecx
push str.rename
call edi
lea edx, [esp + 0x98]
lea eax, [esp + 0x58]
push edx
push str._sSYSTEMA3D.OLD
push eax
call esi
lea ecx, [esp + 0xa4]
lea edx, [esp + 0x20]
push ecx
push str._sSYSTEMA3D.DLL
push edx
call esi
lea eax, [esp + 0x2c]
push 0x409800
push eax
call fcn.004033a0
add esp, 0x20
cmp eax, 2
je 0x4025be
cmp eax, 0x16
je 0x4025be
cmp eax, 0xffffffff
je 0x4025be
lea ecx, [esp + 0x14]
push str.WININIT.INI
lea edx, [esp + 0x5c]
push ecx
push edx
push str.rename
call edi
lea eax, [esp + 0x98]
lea ecx, [esp + 0x58]
push eax
push str._sSYSTEMC3D.OLD
push ecx
call esi
lea edx, [esp + 0xa4]
lea eax, [esp + 0x20]
push edx
push str._sSYSTEMC3D.DLL
push eax
call esi
lea ecx, [esp + 0x2c]
push 0x409800
push ecx
call fcn.004033a0
add esp, 0x20
cmp eax, 2
je 0x40261d
cmp eax, 0x16
je 0x40261d
cmp eax, 0xffffffff
je 0x40261d
lea edx, [esp + 0x14]
push str.WININIT.INI
lea eax, [esp + 0x5c]
push edx
push eax
push str.rename
call edi
lea ecx, [esp + 0x98]
lea edx, [esp + 0x58]
push ecx
push str._sSYSTEM8338VXD.OLD
push edx
call esi
lea eax, [esp + 0xa4]
lea ecx, [esp + 0x20]
push eax
push str._sSYSTEMCM8338.VXD
push ecx
call esi
lea edx, [esp + 0x2c]
push 0x409800
push edx
call fcn.004033a0
add esp, 0x20
cmp eax, 2
je 0x40267c
cmp eax, 0x16
je 0x40267c
cmp eax, 0xffffffff
je 0x40267c
lea eax, [esp + 0x14]
push str.WININIT.INI
lea ecx, [esp + 0x5c]
push eax
push ecx
push str.rename
call edi
lea edx, [esp + 0x98]
lea eax, [esp + 0x58]
push edx
push str._sSYSTEMCMAUDIO.OLD
push eax
call esi
lea ecx, [esp + 0xa4]
lea edx, [esp + 0x20]
push ecx
push str._sSYSTEMCMAUDIO.VXD
push edx
call esi
lea eax, [esp + 0x2c]
push 0x409800
push eax
call fcn.004033a0
add esp, 0x20
cmp eax, 2
je 0x4026db
cmp eax, 0x16
je 0x4026db
cmp eax, 0xffffffff
je 0x4026db
lea ecx, [esp + 0x14]
push str.WININIT.INI
lea edx, [esp + 0x5c]
push ecx
push edx
push str.rename
call edi
lea eax, [esp + 0x98]
lea ecx, [esp + 0x58]
push eax
push str._sSYSTEM8338FDRV.OLD
push ecx
call esi
lea edx, [esp + 0xa4]
lea eax, [esp + 0x20]
push edx
push str._sSYSTEMCM8338FM.DRV
push eax
call esi
lea ecx, [esp + 0x2c]
push 0x409800
push ecx
call fcn.004033a0
add esp, 0x20
cmp eax, 2
je 0x40273a
cmp eax, 0x16
je 0x40273a
cmp eax, 0xffffffff
je 0x40273a
lea edx, [esp + 0x14]
push str.WININIT.INI
lea eax, [esp + 0x5c]
push edx
push eax
push str.rename
call edi
lea ecx, [esp + 0x98]
lea edx, [esp + 0x58]
push ecx
push str._sSYSTEMCMPCIFM.OLD
push edx
call esi
lea eax, [esp + 0xa4]
lea ecx, [esp + 0x20]
push eax
push str._sSYSTEMCMPCIFM.DRV
push ecx
call esi
lea edx, [esp + 0x2c]
push 0x409800
push edx
call fcn.004033a0
add esp, 0x20
cmp eax, 2
je 0x402799
cmp eax, 0x16
je 0x402799
cmp eax, 0xffffffff
je 0x402799
lea eax, [esp + 0x14]
push str.WININIT.INI
lea ecx, [esp + 0x5c]
push eax
push ecx
push str.rename
call edi
lea edx, [esp + 0x98]
lea eax, [esp + 0x58]
push edx
push str._sSYSTEMCMMPU.OLD
push eax
call esi
lea ecx, [esp + 0xa4]
lea edx, [esp + 0x20]
push ecx
push str._sSYSTEMCMMPU.EXE
push edx
call esi
lea eax, [esp + 0x2c]
push 0x409800
push eax
call fcn.004033a0
add esp, 0x20
cmp eax, 2
je 0x4027f8
cmp eax, 0x16
je 0x4027f8
cmp eax, 0xffffffff
je 0x4027f8
lea ecx, [esp + 0x14]
push str.WININIT.INI
lea edx, [esp + 0x5c]
push ecx
push edx
push str.rename
call edi
lea eax, [esp + 0x98]
lea ecx, [esp + 0x58]
push eax
push str._sSYSTEMCMMPUPCI.OLD
push ecx
call esi
lea edx, [esp + 0xa4]
lea eax, [esp + 0x20]
push edx
push str._sSYSTEMCMMPUPCI.DRV
push eax
call esi
lea ecx, [esp + 0x2c]
push 0x409800
push ecx
call fcn.004033a0
add esp, 0x20
cmp eax, 2
je 0x402857
cmp eax, 0x16
je 0x402857
cmp eax, 0xffffffff
je 0x402857
lea edx, [esp + 0x14]
push str.WININIT.INI
lea eax, [esp + 0x5c]
push edx
push eax
push str.rename
call edi
lea ecx, [esp + 0x98]
lea edx, [esp + 0x58]
push ecx
push str._sSYSTEMCMPCI95.OLD
push edx
call esi
lea eax, [esp + 0xa4]
lea ecx, [esp + 0x20]
push eax
push str._sSYSTEMCMPCI95.DRV
push ecx
call esi
lea edx, [esp + 0x2c]
push 0x409800
push edx
call fcn.004033a0
add esp, 0x20
cmp eax, 2
je 0x4028b6
cmp eax, 0x16
je 0x4028b6
cmp eax, 0xffffffff
je 0x4028b6
lea eax, [esp + 0x14]
push str.WININIT.INI
lea ecx, [esp + 0x5c]
push eax
push ecx
push str.rename
call edi
lea edx, [esp + 0x98]
lea eax, [esp + 0x58]
push edx
push str._sSYSTEMCMSMIDI.OLD
push eax
call esi
lea ecx, [esp + 0xa4]
lea edx, [esp + 0x20]
push ecx
push str._sSYSTEMCMSMIDI.DRV
push edx
call esi
lea eax, [esp + 0x2c]
push 0x409800
push eax
call fcn.004033a0
add esp, 0x20
cmp eax, 2
je 0x402915
cmp eax, 0x16
je 0x402915
cmp eax, 0xffffffff
je 0x402915
lea ecx, [esp + 0x14]
push str.WININIT.INI
lea edx, [esp + 0x5c]
push ecx
push edx
push str.rename
call edi
lea eax, [esp + 0x98]
lea ecx, [esp + 0x58]
push eax
push str._sSYSTEMCMSWMPU.OLD
push ecx
call esi
lea edx, [esp + 0xa4]
lea eax, [esp + 0x20]
push edx
push str._sSYSTEMCMSWMPU.VXD
push eax
call esi
lea ecx, [esp + 0x2c]
push 0x409800
push ecx
call fcn.004033a0
add esp, 0x20
cmp eax, 2
je 0x402974
cmp eax, 0x16
je 0x402974
cmp eax, 0xffffffff
je 0x402974
lea edx, [esp + 0x14]
push str.WININIT.INI
lea eax, [esp + 0x5c]
push edx
push eax
push str.rename
call edi
lea ecx, [esp + 0x98]
lea edx, [esp + 0x58]
push ecx
push str._sSYSTEMDLSTABLE.OLD
push edx
call esi
lea eax, [esp + 0xa4]
lea ecx, [esp + 0x20]
push eax
push str._sSYSTEMDLSTABLE.DAT
push ecx
call esi
lea edx, [esp + 0x2c]
push 0x409800
push edx
call fcn.004033a0
add esp, 0x20
cmp eax, 2
je 0x4029d3
cmp eax, 0x16
je 0x4029d3
cmp eax, 0xffffffff
je 0x4029d3
lea eax, [esp + 0x14]
push str.WININIT.INI
lea ecx, [esp + 0x5c]
push eax
push ecx
push str.rename
call edi
lea edx, [esp + 0x98]
lea eax, [esp + 0x58]
push edx
push str._sSYSTEMDLSWAVE.OLD
push eax
call esi
lea ecx, [esp + 0xa4]
lea edx, [esp + 0x20]
push ecx
push str._sSYSTEMDLSWAVE.DAT
push edx
call esi
lea eax, [esp + 0x2c]
push 0x409800
push eax
call fcn.004033a0
add esp, 0x20
cmp eax, 2
je 0x402a32
cmp eax, 0x16
je 0x402a32
cmp eax, 0xffffffff
je 0x402a32
lea ecx, [esp + 0x14]
push str.WININIT.INI
lea edx, [esp + 0x5c]
push ecx
push edx
push str.rename
call edi
lea eax, [esp + 0x98]
lea ecx, [esp + 0x58]
push eax
push str._sSYSTEMSETAUDIO.OLD
push ecx
call esi
lea edx, [esp + 0xa4]
lea eax, [esp + 0x20]
push edx
push str._sSYSTEMSETAUDIO.COM
push eax
call esi
lea ecx, [esp + 0x2c]
push 0x409800
push ecx
call fcn.004033a0
add esp, 0x20
cmp eax, 2
je 0x402a91
cmp eax, 0x16
je 0x402a91
cmp eax, 0xffffffff
je 0x402a91
lea edx, [esp + 0x14]
push str.WININIT.INI
lea eax, [esp + 0x5c]
push edx
push eax
push str.rename
call edi
lea ecx, [esp + 0x98]
lea edx, [esp + 0x58]
push ecx
push str._sSYSTEMSMIDI32.OLD
push edx
call esi
lea eax, [esp + 0xa4]
lea ecx, [esp + 0x20]
push eax
push str._sSYSTEMSMIDI32P.DLL
push ecx
call esi
lea edx, [esp + 0x2c]
push 0x409800
push edx
call fcn.004033a0
add esp, 0x20
cmp eax, 2
je 0x402af0
cmp eax, 0x16
je 0x402af0
cmp eax, 0xffffffff
je 0x402af0
lea eax, [esp + 0x14]
push str.WININIT.INI
lea ecx, [esp + 0x5c]
push eax
push ecx
push str.rename
call edi
lea edx, [esp + 0x98]
lea eax, [esp + 0x58]
push edx
push str._sSYSTEMSMIDIPCI.OLD
push eax
call esi
lea ecx, [esp + 0xa4]
lea edx, [esp + 0x20]
push ecx
push str._sSYSTEMSMIDIPCI.DLL
push edx
call esi
lea eax, [esp + 0x2c]
push 0x409800
push eax
call fcn.004033a0
add esp, 0x20
cmp eax, 2
je 0x402b4f
cmp eax, 0x16
je 0x402b4f
cmp eax, 0xffffffff
je 0x402b4f
lea ecx, [esp + 0x14]
push str.WININIT.INI
lea edx, [esp + 0x5c]
push ecx
push edx
push str.rename
call edi
push str.WIN.INI
push 0x408954
push 0x408950
push str.Windows
call edi
pop edi
pop esi
pop ebp
pop ebx
add esp, 0xc8
ret