Function at 0x428f00
Capabilities:
Delete file

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x46c24f
mov eax, dword fs:[0]
push eax
sub esp, 0xf4
mov eax, dword [0x48b370]
xor eax, ebp
mov dword [ebp - 0x14], eax
push ebx
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov dword [ebp - 0x10], esp
mov ebx, ecx
mov edi, edx
mov dword [ebp - 4], 0
lea eax, [ebp - 0x100]
push eax
call fcn.00402ec2
mov byte [ebp - 4], 1
lea ecx, [ebp - 0x100]
push ecx
mov ecx, ebx
call fcn.0040632c
add esp, 4
push str.installer::delete_file
lea ecx, [ebp - 0x30]
call fcn.0040258f
mov byte [ebp - 4], 2
push str.Installer.cpp
lea ecx, [ebp - 0x4c]
call fcn.0040258f
mov byte [ebp - 4], 3
lea edx, [ebp - 0x68]
push edx
lea ecx, [ebp - 0x100]
call fcn.00402f86
mov byte [ebp - 4], 4
push eax
lea eax, [ebp - 0x30]
push eax
push 0x138
lea ecx, [ebp - 0x4c]
push ecx
push 1
push ecx
call fcn.00439dc3
add esp, 4
push eax
call fcn.0043a160
mov byte [ebp - 4], 3
lea esi, [ebp - 0x68]
call fcn.004026c0
mov byte [ebp - 4], 2
lea ecx, [ebp - 0x4c]
call fcn.004025cc
mov byte [ebp - 4], 1
lea ecx, [ebp - 0x30]
call fcn.004025cc
mov byte [ebp - 4], 0
lea ecx, [ebp - 0xb0]
call fcn.00402f43
lea ecx, [ebp - 0xb0]
call fcn.004029cc
cmp byte [ebp + 0xc], 0
je 0x4291b8
lea edx, [ebp - 0x100]
push edx
call fcn.00402ec2
mov byte [ebp - 4], 5
lea eax, [ebp - 0x100]
push eax
mov ecx, edi
call fcn.0040632c
add esp, 4
push str.installer::delete_file
lea ecx, [ebp - 0x4c]
call fcn.0040258f
mov byte [ebp - 4], 6
push str.Installer.cpp
lea ecx, [ebp - 0x30]
call fcn.0040258f
mov byte [ebp - 4], 7
lea ecx, [ebp - 0x68]
push ecx
lea ecx, [ebp - 0x100]
call fcn.00402f86
mov byte [ebp - 4], 8
push eax
lea edx, [ebp - 0x4c]
push edx
push 0x13b
lea eax, [ebp - 0x30]
push eax
push 1
push ecx
call fcn.00439dc3
add esp, 4
push eax
call fcn.0043a160
mov byte [ebp - 4], 7
lea esi, [ebp - 0x68]
call fcn.004026c0
mov byte [ebp - 4], 6
lea ecx, [ebp - 0x30]
call fcn.004025cc
mov byte [ebp - 4], 5
lea ecx, [ebp - 0x4c]
call fcn.004025cc
mov byte [ebp - 4], 0
lea ecx, [ebp - 0xb0]
call fcn.00402f43
lea ecx, [ebp - 0xb0]
call fcn.004029cc
mov esi, 8
cmp dword [edi + 0x14], esi
jb 0x4290b8
mov edi, dword [edi]
cmp dword [ebx + 0x14], esi
jb 0x4290c1
mov eax, dword [ebx]
jmp 0x4290c3
mov eax, ebx
push edi
push eax
call dword [sym.imp.SHLWAPI.dll_StrStrIW]
test eax, eax
jne 0x4291bd
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov esi, eax
lea ecx, [ebp - 0x100]
push ecx
call fcn.00403575
mov byte [ebp - 4], 9
push esi
push ecx
push 0x4768dc
lea edx, [ebp - 0x100]
push edx
call fcn.0040667a
add esp, 0xc
push eax
call fcn.004027f8
push str.installer::delete_file
lea ecx, [ebp - 0x4c]
call fcn.0040258f
mov byte [ebp - 4], 0xa
push str.Installer.cpp
lea ecx, [ebp - 0x30]
call fcn.0040258f
mov byte [ebp - 4], 0xb
lea eax, [ebp - 0x68]
push eax
lea ecx, [ebp - 0x100]
call fcn.00403624
mov byte [ebp - 4], 0xc
push eax
lea ecx, [ebp - 0x4c]
push ecx
push 0x13d
push 2
call fcn.00439dc3
lea ecx, [ebp - 0x30]
mov ebx, eax
call fcn.00439e02
mov byte [ebp - 4], 0xb
lea ecx, [ebp - 0x68]
call fcn.004025cc
mov byte [ebp - 4], 0xa
lea ecx, [ebp - 0x30]
call fcn.004025cc
mov byte [ebp - 4], 9
lea ecx, [ebp - 0x4c]
call fcn.004025cc
mov byte [ebp - 4], 0
lea ecx, [ebp - 0xb0]
call fcn.004035e1
lea ecx, [ebp - 0xb0]
call fcn.00402925
mov eax, 1
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 0x14]
xor ecx, ebp
call fcn.0044cdc7
mov esp, ebp
pop ebp
ret 8
mov esi, 8
push ebx
call fcn.0040d3a0
add esp, 4
test al, al
je 0x4292a4
cmp dword [ebx + 0x14], esi
jb 0x4291d7
mov eax, dword [ebx]
jmp 0x4291d9
mov eax, ebx
push eax
call dword [sym.imp.KERNEL32.dll_DeleteFileW]
test eax, eax
jne 0x42929d
cmp byte [ebp + 8], al
je 0x4291f8
push 1
mov ecx, ebx
call fcn.00429a80
jmp 0x42919a
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov esi, eax
lea edx, [ebp - 0x100]
push edx
call fcn.00403575
mov byte [ebp - 4], 0xd
push esi
push ecx
push 0x4768dc
lea eax, [ebp - 0x100]
push eax
call fcn.0040667a
add esp, 0xc
push eax
call fcn.004027f8
push str.installer::delete_file
lea ecx, [ebp - 0x4c]
call fcn.0040258f
mov byte [ebp - 4], 0xe
push str.Installer.cpp
lea ecx, [ebp - 0x30]
call fcn.0040258f
mov byte [ebp - 4], 0xf
lea ecx, [ebp - 0x68]
push ecx
lea ecx, [ebp - 0x100]
call fcn.00403624
mov byte [ebp - 4], 0x10
push eax
lea edx, [ebp - 0x4c]
push edx
push 0x145
push 2
call fcn.00439dc3
lea ecx, [ebp - 0x30]
mov ebx, eax
call fcn.00439e02
mov byte [ebp - 4], 0xf
lea ecx, [ebp - 0x68]
call fcn.004025cc
mov byte [ebp - 4], 0xe
lea ecx, [ebp - 0x30]
call fcn.004025cc
mov byte [ebp - 4], 0xd
jmp 0x429173
mov dword [ebp - 4], 0xffffffff
xor eax, eax
jmp 0x42919a