Function at 0x43ddec
Capabilities:
Check if file exists
Delete file
Get common file path
Get file attributes

Disassembly:
push ebp
sub esp, 0x4a8
lea ebp, [esp - 4]
mov eax, dword [0x4d6080]
xor eax, ebp
mov dword [ebp + 0x4a8], eax
push 0x30
mov eax, 0x4a6c34
call fcn.004646d0
and dword [ebp - 4], 0
lea ecx, [ebp - 0x34]
call fcn.004229a9
mov byte [ebp - 4], 1
push 1
lea eax, [ebp - 0x34]
push eax
push 0
push 0x3b
lea ecx, [ebp + 0x4b4]
call fcn.00427db2
mov eax, dword [ebp - 0x24]
sub eax, dword [ebp - 0x28]
push 0x34
cdq
pop ecx
idiv ecx
cmp eax, 3
jne 0x43de7e
push 1
lea eax, [ebp - 0xd]
push eax
push 0x4bde80
lea ecx, [ebp + 0x238]
call fcn.004018b0
mov byte [ebp - 4], 2
lea eax, [ebp + 0x238]
push eax
lea ecx, [ebp - 0x34]
call fcn.00425ff1
mov byte [ebp - 4], 1
lea ecx, [ebp + 0x238]
call fcn.00401670
mov eax, dword [ebp - 0x24]
sub eax, dword [ebp - 0x28]
push 0x34
cdq
pop ecx
idiv ecx
cmp eax, 4
je 0x43ded2
push 0xfffffffffffffffc
pop esi
mov byte [ebp - 4], 0
lea ecx, [ebp - 0x34]
call fcn.004251f1
or dword [ebp - 4], 0xffffffff
lea ecx, [ebp + 0x4b4]
call fcn.00401670
mov eax, esi
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov ecx, dword [ebp + 0x4a8]
xor ecx, ebp
call fcn.004646c1
add ebp, 0x4ac
leave
ret
push 1
lea ecx, [ebp - 0x34]
call fcn.0041fcf1
push 8
pop ebx
cmp dword [eax + 0x1c], ebx
jb 0x43dee9
mov eax, dword [eax + 8]
jmp 0x43deec
add eax, 8
push eax
call fcn.00466d4b
pop ecx
push 2
lea ecx, [ebp - 0x34]
mov dword [ebp - 0x3c], eax
call fcn.0041fcf1
cmp dword [eax + 0x1c], ebx
jb 0x43df0a
mov eax, dword [eax + 8]
jmp 0x43df0d
add eax, 8
push eax
call fcn.00466d4b
mov dword [ebp - 0x38], eax
lea eax, [ebp + 0x26c]
push eax
call fcn.0041abb9
pop ecx
pop ecx
mov byte [ebp - 4], 3
mov eax, dword [ebp + 0x274]
mov byte [ebp - 0xd], 0
cmp dword [ebp + 0x288], ebx
jae 0x43df40
lea eax, [ebp + 0x274]
push eax
call dword [sym.imp.KERNEL32.dll_GetFileAttributesW]
cmp eax, 0xffffffff
jne 0x43e06e
push 1
lea eax, [ebp - 0xd]
push eax
lea ecx, [ebp + 0x238]
call fcn.00401870
mov byte [ebp - 4], 4
mov esi, 0x104
push esi
lea eax, [ebp - 0x1c]
push eax
lea ecx, [ebp + 0x238]
call fcn.00401a00
mov byte [ebp - 4], 5
mov ecx, dword [eax]
mov byte [eax + 4], 1
call fcn.00402290
push dword [eax]
push esi
call dword [sym.imp.KERNEL32.dll_GetTempPathW]
mov byte [ebp - 4], 4
lea ecx, [ebp - 0x1c]
call fcn.00402060
push esi
lea eax, [ebp - 0x1c]
push eax
lea ecx, [ebp + 0x26c]
call fcn.0040b2f1
mov byte [ebp - 4], 6
mov ecx, dword [eax]
mov byte [eax + 4], 1
call fcn.00407803
mov eax, dword [eax]
mov ecx, dword [ebp + 0x240]
cmp dword [ebp + 0x254], ebx
jae 0x43dfd3
lea ecx, [ebp + 0x240]
push eax
push 0
push 0x4b23b8
push ecx
call dword [sym.imp.KERNEL32.dll_GetTempFileNameW]
mov byte [ebp - 4], 4
lea ecx, [ebp - 0x1c]
call fcn.0040b14b
push esi
lea eax, [ebp + 0x2a0]
push eax
push dword [0x4db6d8]
call dword [sym.imp.KERNEL32.dll_GetModuleFileNameW]
lea eax, [ebp + 0x2a0]
push eax
lea ecx, [ebp]
call fcn.0044063f
mov byte [ebp - 4], 7
mov eax, dword [ebp + 0x274]
cmp dword [ebp + 0x288], ebx
jae 0x43e029
lea eax, [ebp + 0x274]
push 0
push eax
push str.ISSetup.dll
lea ecx, [ebp]
call fcn.0044124d
cmp eax, 1
je 0x43e04f
push 0xffffffffffffffff
push 0
lea ecx, [ebp + 0x26c]
call fcn.00407647
jmp 0x43e053
mov byte [ebp - 0xd], 1
mov byte [ebp - 4], 4
lea ecx, [ebp]
call fcn.004407f8
mov byte [ebp - 4], 3
lea ecx, [ebp + 0x238]
call fcn.00401670
cmp dword [ebp + 0x284], 0
mov esi, 0x1b59
je 0x43e105
lea eax, [ebp + 0x26c]
push eax
lea ecx, [ebp + 0x234]
call fcn.0041a3dc
mov byte [ebp - 4], bl
lea ecx, [ebp + 0x234]
call fcn.00418d5f
test eax, eax
jne 0x43e0cd
mov esi, dword [0x4db6d0]
mov byte [ebp - 4], 3
lea ecx, [ebp + 0x234]
call fcn.00419522
mov byte [ebp - 4], 1
lea ecx, [ebp + 0x26c]
call fcn.004016d0
jmp 0x43de92
push 3
lea ecx, [ebp - 0x34]
call fcn.0041fcf1
push eax
push dword [ebp - 0x38]
lea ecx, [ebp - 0x34]
push dword [ebp - 0x3c]
push 0
call fcn.0041fcf1
push eax
lea ecx, [ebp + 0x234]
call fcn.00418dae
mov esi, eax
mov byte [ebp - 4], 3
lea ecx, [ebp + 0x234]
call fcn.00419522
cmp byte [ebp - 0xd], 0
je 0x43e126
mov eax, dword [ebp + 0x274]
cmp dword [ebp + 0x288], ebx
jae 0x43e11f
lea eax, [ebp + 0x274]
push eax
call dword [sym.imp.KERNEL32.dll_DeleteFileW]
cmp byte [ebp + 0x4e8], 0
je 0x43e0b9
lea ecx, [ebp - 0x1c]
call fcn.00405e89
mov byte [ebp - 4], 9
push dword [0x4db6d8]
lea ecx, [ebp - 0x1c]
call fcn.0040cc2c
mov byte [ebp - 4], 3
lea ecx, [ebp - 0x1c]
call fcn.00405e9a
jmp 0x43e0b9