Function at 0x40a7b7
Capabilities:
Delete file
Get common file path
Get file size

Disassembly:
push ecx
push ebx
push ebp
push esi
push edi
push 0x104
push 0x422df8
call dword [sym.imp.KERNEL32.DLL_GetWindowsDirectoryA]
test eax, eax
je 0x40aa2c
push 0x421208
call fcn.0040c998
test eax, eax
pop ecx
je 0x40aa2c
mov esi, 0x422200
xor ebx, ebx
push esi
mov dword [esp + 0x14], ebx
call fcn.00402778
test eax, eax
pop ecx
je 0x40aa2c
mov ebp, 0x422954
push ebp
call fcn.00402778
mov edi, dword [sym.imp.KERNEL32.DLL_DeleteFileA]
pop ecx
test eax, eax
je 0x40a84e
push 0x422628
call fcn.00402778
test eax, eax
pop ecx
je 0x40a84b
push 0x42230c
call fcn.00402778
test eax, eax
pop ecx
je 0x40a844
push 0x42230c
mov dword [esp + 0x14], 1
call edi
push 0x422628
call edi
push ebp
call edi
push esi
call edi
cmp dword [esp + 0x10], ebx
je 0x40aa2c
push 0x4000
call fcn.00412ed8
cmp eax, ebx
pop ecx
mov dword [0x42151c], eax
je 0x40aa2c
push 0x10e
push 0x42183c
call fcn.004018e5
pop ecx
cmp eax, ebx
pop ecx
mov dword [0x421524], eax
jne 0x40a8ad
mov eax, dword [0x42151c]
cmp eax, ebx
je 0x40a8a3
push eax
call fcn.00412e70
pop ecx
mov dword [0x42151c], ebx
call fcn.0040a7a2
jmp 0x40aa31
push ebx
push dword [eax + 0x118]
call dword [sym.imp.KERNEL32.DLL_GetFileSize]
mov ecx, dword [0x421524]
cmp dword [ecx + 0x104], eax
jbe 0x40a8cb
push ecx
jmp 0x40a91a
push str.IFUI
call fcn.00403131
test eax, eax
pop ecx
je 0x40a914
push esi
call fcn.00403276
pop ecx
cmp eax, 0xffffffff
push dword [0x421524]
je 0x40a91a
call fcn.00401d72
test eax, eax
pop ecx
jne 0x40a911
push str.IFFL
call fcn.00403131
test eax, eax
pop ecx
je 0x40a911
push ebp
call fcn.00403276
cmp eax, 0xffffffff
pop ecx
jne 0x40a925
push esi
call edi
push dword [0x421524]
call fcn.00402157
pop ecx
jmp 0x40a88d
push ebx
push 0x80
push 3
push ebx
push 1
push 0x80000000
push ebp
call dword [sym.imp.KERNEL32.DLL_CreateFileA]
cmp eax, 0xffffffff
mov dword [0x4221fc], eax
jne 0x40a977
push ebp
call edi
push esi
call edi
push dword [0x421524]
call fcn.00402157
mov eax, dword [0x42151c]
pop ecx
cmp eax, ebx
je 0x40aa2c
push eax
call fcn.00412e70
pop ecx
mov dword [0x42151c], ebx
jmp 0x40aa2c
push dword [0x421524]
call fcn.00401d72
test eax, eax
pop ecx
jne 0x40a9bd
push str.IFWB
call fcn.00403131
test eax, eax
pop ecx
je 0x40a9bd
push 0x421ba4
call fcn.0040315a
cmp eax, ebx
pop ecx
mov dword [0x4210f8], eax
jne 0x40a9bd
push 0x30
push 0x420e88
push str.Uninstall_information_file_was_corrupted_or_truncated__Cant_extract_wizard_bitmap.
push ebx
call dword [sym.imp.USER32.dll_MessageBoxA]
push dword [0x421524]
call fcn.00402157
mov eax, dword [0x42151c]
pop ecx
cmp eax, ebx
je 0x40a9df
push eax
call fcn.00412e70
pop ecx
mov dword [0x42151c], ebx
push ebx
push 0x80
push 2
push ebx
push 1
push 0xc0000000
push 0x422628
call dword [sym.imp.KERNEL32.DLL_CreateFileA]
cmp eax, 0xffffffff
mov dword [0x420e78], eax
jne 0x40aa38
mov eax, dword [0x4210f8]
cmp eax, ebx
je 0x40aa1a
push eax
call fcn.00412e70
pop ecx
mov dword [0x4210f8], ebx
push dword [0x4221fc]
call dword [sym.imp.KERNEL32.DLL_CloseHandle]
push ebp
call edi
push esi
call edi
call fcn.0040a78d
xor eax, eax
jmp 0x40ab20
push esi
push ebx
push str.UninstallType
push str.General
call fcn.0040c68e
push esi
push ebx
push str.FolderCount
push str.Folder
mov dword [0x420e74], eax
call fcn.0040c68e
push esi
push ebx
push str.SourceFileCount
push str.SourceFile
mov dword [0x422f00], eax
call fcn.0040c68e
push esi
push ebx
push str.MiscFileCount
push str.MiscFile
mov dword [0x421bb4], eax
call fcn.0040c68e
add esp, 0x40
mov dword [0x421cc4], eax
push esi
push ebx
push str.ShortcutCount
push str.Shortcut
call fcn.0040c68e
push esi
push ebx
push str.ShellFolderCount
push str.ShellFolder
mov dword [0x421bac], eax
call fcn.0040c68e
push esi
push ebx
push str.RegistrySubKeyCount
push str.RegistrySubKey
mov dword [0x421520], eax
call fcn.0040c68e
push esi
push ebx
push str.RegistryValueCount
push str.RegistryValue
mov dword [0x42197c], eax
call fcn.0040c68e
add esp, 0x40
mov dword [0x42261c], eax
push esi
push ebx
push str.IniFileCount
push str.IniFile
call fcn.0040c68e
push esi
push ebx
push str.IniKeyCount
push str.IniKey
mov dword [0x422efc], eax
call fcn.0040c68e
add esp, 0x20
mov dword [0x422308], eax
push 1
pop eax
pop edi
pop esi
pop ebp
pop ebx
pop ecx
ret