Function at 0x104d65d
Capabilities:
Delete file

Disassembly:
push 0xffffffffffffffff
push 0x10848a1
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
sub esp, 0x10c
push ebx
push ebp
push esi
mov esi, ecx
push edi
lea ecx, [esp + 0x20]
call fcn.01016902
xor edi, edi
push 0x400
lea ecx, [esp + 0x14]
mov dword [esp + 0x128], edi
call fcn.0100943b
mov ebp, dword [0x1098824]
mov dword [esp + 0xa4], ebp
push 0x10a40b8
lea ecx, [esp + 0x14]
mov byte [esp + 0x128], 2
call fcn.01009662
push 1
lea ecx, [esp + 0x14]
call fcn.0100972d
push eax
lea ecx, [esp + 0x28]
call fcn.01016be3
test eax, eax
setge bl
test bl, bl
mov byte [esp + 0x1f], bl
je 0x104d6ee
mov eax, dword [esi + 0x18]
mov edx, dword [esi]
lea ecx, [esp + 0x2c]
mov dword [esp + 0x2c], eax
push ecx
mov ecx, esi
call dword [edx + 0x38]
push eax
lea ecx, [esp + 0x28]
call fcn.01016a76
test eax, eax
setge byte [esp + 0x1f]
mov bl, byte [esp + 0x1f]
lea ecx, [esp + 0x20]
call fcn.01016ae8
test bl, bl
jne 0x104d742
mov ecx, dword [ebp - 0xc]
lea eax, [ebp - 0xc]
cmp ecx, 0xffffffff
je 0x104d716
dec ecx
cmp ecx, edi
mov dword [eax], ecx
jne 0x104d716
push eax
call fcn.0105b157
add esp, 4
lea ecx, [esp + 0x10]
mov byte [esp + 0x124], 0
call fcn.010095e5
lea ecx, [esp + 0x20]
mov dword [esp + 0x124], 0xffffffff
call fcn.01016958
xor al, al
jmp 0x104de7d
mov eax, dword [0x109d914]
mov ecx, dword [str.20D04FE0_3AEA_1069_A2D8_08002B30309DDefaultIcon]
push eax
mov eax, dword [str.DefaultValue]
lea edx, [esp + 0x14]
push ecx
mov ecx, dword [str.CLSID20D04FE0_3AEA_1069_A2D8_08002B30309DDefaultIcon]
push edx
push eax
push ecx
mov ecx, esi
call fcn.0104e940
mov edx, dword [0x109d914]
mov eax, dword [str.450D8FBA_AD25_11D0_98A8_0800361B1103DefaultIcon]
push edx
mov edx, dword [str.DefaultValue]
lea ecx, [esp + 0x14]
push eax
mov eax, dword [str.CLSID450D8FBA_AD25_11D0_98A8_0800361B1103DefaultIcon]
push ecx
push edx
push eax
mov ecx, esi
call fcn.0104e940
mov ecx, dword [0x109d914]
mov edx, dword [str.208D2C60_3AEA_1069_A2D7_08002B30309DDefaultIcon]
push ecx
mov ecx, dword [str.DefaultValue]
lea eax, [esp + 0x14]
push edx
mov edx, dword [str.CLSID208D2C60_3AEA_1069_A2D7_08002B30309DDefaultIcon]
push eax
push ecx
push edx
mov ecx, esi
call fcn.0104e940
mov ecx, esi
call fcn.0104ff00
mov ecx, dword [str.645FF040_5081_101B_9F08_00AA002F954EDefaultIcon]
mov bl, al
mov eax, dword [str.full]
lea edx, [esp + 0x10]
push eax
push ecx
push edx
push eax
mov eax, dword [str.CLSID645FF040_5081_101B_9F08_00AA002F954EDefaultIcon]
mov ecx, esi
push eax
call fcn.0104e940
mov eax, dword [str.empty]
mov ecx, dword [str.645FF040_5081_101B_9F08_00AA002F954EDefaultIcon]
push eax
lea edx, [esp + 0x14]
push ecx
push edx
push eax
mov eax, dword [str.CLSID645FF040_5081_101B_9F08_00AA002F954EDefaultIcon]
push eax
mov ecx, esi
call fcn.0104e940
test bl, bl
je 0x104d826
mov ecx, dword [0x109d914]
mov edx, dword [str.645FF040_5081_101B_9F08_00AA002F954EDefaultIcon]
push ecx
mov ecx, dword [str.full]
lea eax, [esp + 0x14]
push edx
mov edx, dword [str.CLSID645FF040_5081_101B_9F08_00AA002F954EDefaultIcon]
push eax
push ecx
push edx
jmp 0x104d845
mov eax, dword [0x109d914]
mov ecx, dword [str.645FF040_5081_101B_9F08_00AA002F954EDefaultIcon]
push eax
mov eax, dword [str.empty]
lea edx, [esp + 0x14]
push ecx
mov ecx, dword [str.CLSID645FF040_5081_101B_9F08_00AA002F954EDefaultIcon]
push edx
push eax
push ecx
mov ecx, esi
call fcn.0104e940
mov dword [esp + 0xa8], edi
mov ecx, 0x1c
xor eax, eax
lea edi, [esp + 0xac]
mov ebx, dword [sym.imp.USER32.dll_GetSysColor]
mov dword [esp + 0x30], eax
rep stosd dword es:[edi], eax
mov ecx, 0x1c
lea edi, [esp + 0x34]
rep stosd dword es:[edi], eax
xor edi, edi
push edi
mov dword [esp + edi*4 + 0xac], edi
call ebx
mov dword [esp + edi*4 + 0x30], eax
inc edi
cmp edi, 0x1d
jl 0x104d87a
mov ecx, dword [str.Scrollbar]
lea edx, [esp + 0x30]
lea eax, [esp + 0x10]
push edx
push eax
push ecx
mov ecx, esi
call fcn.0104ea80
mov ecx, dword [str.Background]
lea edx, [esp + 0x34]
lea eax, [esp + 0x10]
push edx
push eax
push ecx
mov ecx, esi
call fcn.0104ea80
mov ecx, dword [str.ActiveTitle]
lea edx, [esp + 0x38]
lea eax, [esp + 0x10]
push edx
push eax
push ecx
mov ecx, esi
call fcn.0104ea80
mov ecx, dword [str.InactiveTitle]
lea edx, [esp + 0x3c]
lea eax, [esp + 0x10]
push edx
push eax
push ecx
mov ecx, esi
call fcn.0104ea80
mov ecx, dword [str.Menu]
lea edx, [esp + 0x40]
lea eax, [esp + 0x10]
push edx
push eax
push ecx
mov ecx, esi
call fcn.0104ea80
mov ecx, dword [str.Window]
lea edx, [esp + 0x44]
lea eax, [esp + 0x10]
push edx
push eax
push ecx
mov ecx, esi
call fcn.0104ea80
mov ecx, dword [str.WindowFrame]
lea edx, [esp + 0x48]
lea eax, [esp + 0x10]
push edx
push eax
push ecx
mov ecx, esi
call fcn.0104ea80
mov ecx, dword [str.MenuText]
lea edx, [esp + 0x4c]
lea eax, [esp + 0x10]
push edx
push eax
push ecx
mov ecx, esi
call fcn.0104ea80
mov ecx, dword [str.WindowText]
lea edx, [esp + 0x50]
lea eax, [esp + 0x10]
push edx
push eax
push ecx
mov ecx, esi
call fcn.0104ea80
mov ecx, dword [str.TitleText]
lea edx, [esp + 0x54]
lea eax, [esp + 0x10]
push edx
push eax
push ecx
mov ecx, esi
call fcn.0104ea80
lea edx, [esp + 0x58]
mov ecx, dword [str.ActiveBorder]
lea eax, [esp + 0x10]
push edx
push eax
push ecx
mov ecx, esi
call fcn.0104ea80
mov ecx, dword [str.InactiveBorder]
lea edx, [esp + 0x5c]
lea eax, [esp + 0x10]
push edx
push eax
push ecx
mov ecx, esi
call fcn.0104ea80
mov ecx, dword [str.AppWorkspace]
lea edx, [esp + 0x60]
lea eax, [esp + 0x10]
push edx
push eax
push ecx
mov ecx, esi
call fcn.0104ea80
mov ecx, dword [str.Hilight]
lea edx, [esp + 0x64]
lea eax, [esp + 0x10]
push edx
push eax
push ecx
mov ecx, esi
call fcn.0104ea80
mov ecx, dword [str.HilightText]
lea edx, [esp + 0x68]
lea eax, [esp + 0x10]
push edx
push eax
push ecx
mov ecx, esi
call fcn.0104ea80
mov ecx, dword [str.ButtonFace]
lea edx, [esp + 0x6c]
lea eax, [esp + 0x10]
push edx
push eax
push ecx
mov ecx, esi
call fcn.0104ea80
mov ecx, dword [str.ButtonShadow]
lea edx, [esp + 0x70]
lea eax, [esp + 0x10]
push edx
push eax
push ecx
mov ecx, esi
call fcn.0104ea80
mov ecx, dword [str.GrayText]
lea edx, [esp + 0x74]
lea eax, [esp + 0x10]
push edx
push eax
push ecx
mov ecx, esi
call fcn.0104ea80
mov ecx, dword [str.ButtonText]
lea edx, [esp + 0x78]
lea eax, [esp + 0x10]
push edx
push eax
push ecx
mov ecx, esi
call fcn.0104ea80
mov ecx, dword [str.InactiveTitleText]
lea edx, [esp + 0x7c]
lea eax, [esp + 0x10]
push edx
push eax
push ecx
mov ecx, esi
call fcn.0104ea80
lea edx, [esp + 0x80]
push edx
mov ecx, dword [str.ButtonHilight]
lea eax, [esp + 0x14]
push eax
push ecx
mov ecx, esi
call fcn.0104ea80
mov ecx, dword [str.ButtonDkShadow]
lea edx, [esp + 0x84]
lea eax, [esp + 0x10]
push edx
push eax
push ecx
mov ecx, esi
call fcn.0104ea80
mov ecx, dword [str.ButtonLight]
lea edx, [esp + 0x88]
lea eax, [esp + 0x10]
push edx
push eax
push ecx
mov ecx, esi
call fcn.0104ea80
mov ecx, dword [str.InfoText]
lea edx, [esp + 0x8c]
lea eax, [esp + 0x10]
push edx
push eax
push ecx
mov ecx, esi
call fcn.0104ea80
mov ecx, dword [str.InfoWindow]
lea edx, [esp + 0x90]
lea eax, [esp + 0x10]
push edx
push eax
push ecx
mov ecx, esi
call fcn.0104ea80
mov ecx, dword [str.GradientActiveTitle]
lea edx, [esp + 0x9c]
lea eax, [esp + 0x10]
push edx
push eax
push ecx
mov ecx, esi
call fcn.0104ea80
mov ecx, dword [str.GradientInactiveTitle]
lea edx, [esp + 0xa0]
lea eax, [esp + 0x10]
push edx
push eax
push ecx
mov ecx, esi
call fcn.0104ea80
lea edx, [esp + 0x30]
lea eax, [esp + 0xa8]
push edx
push eax
push 0x1d
call dword [sym.imp.USER32.dll_SetSysColors]
mov edx, dword [str.Arrow]
lea ecx, [esp + 0x10]
push 0x7f00
push ecx
push edx
mov ecx, esi
call fcn.0104ec10
mov ecx, dword [str.AppStarting]
lea eax, [esp + 0x10]
push 0x7f8a
push eax
push ecx
mov ecx, esi
call fcn.0104ec10
mov eax, dword [str.Wait]
lea edx, [esp + 0x10]
push 0x7f02
push edx
push eax
mov ecx, esi
call fcn.0104ec10
mov edx, dword [0x109d85c]
lea ecx, [esp + 0x10]
push 0x7f88
push ecx
push edx
mov ecx, esi
call fcn.0104ec10
mov ecx, dword [str.SizeNS]
lea eax, [esp + 0x10]
push 0x7f85
push eax
push ecx
mov ecx, esi
call fcn.0104ec10
mov eax, dword [str.SizeWE]
lea edx, [esp + 0x10]
push 0x7f84
push edx
push eax
mov ecx, esi
call fcn.0104ec10
mov edx, dword [str.Crosshair]
lea ecx, [esp + 0x10]
push 0x7f03
push ecx
push edx
mov ecx, esi
call fcn.0104ec10
mov ecx, dword [str.IBeam]
lea eax, [esp + 0x10]
push 0x7f01
push eax
push ecx
mov ecx, esi
call fcn.0104ec10
mov eax, dword [str.SizeNWSE]
lea edx, [esp + 0x10]
push 0x7f82
push edx
push eax
mov ecx, esi
call fcn.0104ec10
mov edx, dword [str.SizeNESW]
lea ecx, [esp + 0x10]
push 0x7f83
push ecx
push edx
mov ecx, esi
call fcn.0104ec10
mov ecx, dword [str.SizeAll]
lea eax, [esp + 0x10]
push 0x7f86
push eax
push ecx
mov ecx, esi
call fcn.0104ec10
mov eax, dword [str.UpArrow]
lea edx, [esp + 0x10]
push 0x7f04
push edx
push eax
mov ecx, esi
call fcn.0104ec10
mov edx, dword [str.TileWallpaper]
lea ecx, [esp + 0x10]
push ecx
push edx
mov ecx, esi
call fcn.0104ed80
mov ecx, dword [str.WallpaperStyle]
lea eax, [esp + 0x10]
push eax
push ecx
mov ecx, esi
call fcn.0104ed80
mov eax, dword [str.Pattern]
lea edx, [esp + 0x10]
push edx
push eax
mov ecx, esi
call fcn.0104ed80
mov edx, dword [str.Wallpaper]
lea ecx, [esp + 0x10]
push ecx
push edx
mov ecx, esi
call fcn.0104ed80
lea eax, [esp + 0x10]
mov ecx, esi
push eax
call fcn.0104fc10
mov edx, dword [str.AppEventsSchemesApps.Default.Default.Current]
lea ecx, [esp + 0x10]
push ecx
push edx
mov ecx, esi
call fcn.0104ef20
mov ecx, dword [str.AppEventsSchemesApps.DefaultAppGPFault.Current]
lea eax, [esp + 0x10]
push eax
push ecx
mov ecx, esi
call fcn.0104ef20
mov eax, dword [str.AppEventsSchemesApps.DefaultMaximize.Current]
lea edx, [esp + 0x10]
push edx
push eax
mov ecx, esi
call fcn.0104ef20
mov edx, dword [str.AppEventsSchemesApps.DefaultMenuCommand.Current]
lea ecx, [esp + 0x10]
push ecx
push edx
mov ecx, esi
call fcn.0104ef20
mov ecx, dword [str.AppEventsSchemesApps.DefaultMenuPopup.Current]
lea eax, [esp + 0x10]
push eax
push ecx
mov ecx, esi
call fcn.0104ef20
mov eax, dword [str.AppEventsSchemesApps.DefaultMinimize.Current]
lea edx, [esp + 0x10]
push edx
push eax
mov ecx, esi
call fcn.0104ef20
mov edx, dword [str.AppEventsSchemesApps.DefaultOpen.Current]
lea ecx, [esp + 0x10]
push ecx
push edx
mov ecx, esi
call fcn.0104ef20
mov ecx, dword [str.AppEventsSchemesApps.DefaultRestoreDown.Current]
lea eax, [esp + 0x10]
push eax
push ecx
mov ecx, esi
call fcn.0104ef20
mov eax, dword [str.AppEventsSchemesApps.DefaultRestoreUp.Current]
lea edx, [esp + 0x10]
push edx
push eax
mov ecx, esi
call fcn.0104ef20
mov edx, dword [str.AppEventsSchemesApps.DefaultRingIn.Current]
lea ecx, [esp + 0x10]
push ecx
push edx
mov ecx, esi
call fcn.0104ef20
mov ecx, dword [str.AppEventsSchemesApps.DefaultRingout.Current]
lea eax, [esp + 0x10]
push eax
push ecx
mov ecx, esi
call fcn.0104ef20
mov eax, dword [str.AppEventsSchemesApps.DefaultSystemAsterisk.Current]
lea edx, [esp + 0x10]
push edx
push eax
mov ecx, esi
call fcn.0104ef20
mov edx, dword [str.AppEventsSchemesApps.DefaultSystemDefault.Current]
lea ecx, [esp + 0x10]
push ecx
push edx
mov ecx, esi
call fcn.0104ef20
mov ecx, dword [str.AppEventsSchemesApps.DefaultSystemExclamation.Current]
lea eax, [esp + 0x10]
push eax
push ecx
mov ecx, esi
call fcn.0104ef20
mov eax, dword [str.AppEventsSchemesApps.DefaultSystemExit.Current]
lea edx, [esp + 0x10]
push edx
push eax
mov ecx, esi
call fcn.0104ef20
mov edx, dword [str.AppEventsSchemesApps.DefaultSystemHand.Current]
lea ecx, [esp + 0x10]
push ecx
push edx
mov ecx, esi
call fcn.0104ef20
mov ecx, dword [str.AppEventsSchemesApps.DefaultSystemQuestion.Current]
lea eax, [esp + 0x10]
push eax
push ecx
mov ecx, esi
call fcn.0104ef20
mov eax, dword [str.AppEventsSchemesApps.DefaultSystemStart.Current]
lea edx, [esp + 0x10]
push edx
push eax
mov ecx, esi
call fcn.0104ef20
mov edx, dword [str.AppEventsSchemesAppsExplorerEmptyRecycleBin.Current]
lea ecx, [esp + 0x10]
push ecx
push edx
mov ecx, esi
call fcn.0104ef20
mov ecx, dword [str.AppEventsSchemesApps.DefaultClose.Current]
lea eax, [esp + 0x10]
push eax
push ecx
mov ecx, esi
call fcn.0104ef20
lea ecx, [esp + 0x10]
call fcn.0100972d
push eax
call dword [sym.imp.KERNEL32.dll_DeleteFileA]
mov ecx, dword [ebp - 0xc]
lea eax, [ebp - 0xc]
cmp ecx, 0xffffffff
je 0x104de54
dec ecx
test ecx, ecx
mov dword [eax], ecx
jne 0x104de54
push eax
call fcn.0105b157
add esp, 4
lea ecx, [esp + 0x10]
mov byte [esp + 0x124], 0
call fcn.010095e5
lea ecx, [esp + 0x20]
mov dword [esp + 0x124], 0xffffffff
call fcn.01016958
mov al, byte [esp + 0x1f]
mov ecx, dword [esp + 0x11c]
pop edi
pop esi
pop ebp
pop ebx
mov dword fs:[0], ecx
add esp, 0x118
ret