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

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x5f11c0
mov eax, dword fs:[0]
push eax
push ecx
sub esp, 0x390
mov eax, dword [0x704dd8]
xor eax, ebp
mov dword [ebp - 0x18], eax
push ebx
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov dword [ebp - 0x10], esp
mov dword [ebp - 0x368], ecx
mov eax, dword [ebp + 0xc]
push eax
lea ecx, [ebp - 0x34]
call fcn.00402900
mov dword [ebp - 4], 0
mov ecx, dword [0x638de8]
push ecx
push 0x3f
lea ecx, [ebp - 0x34]
call fcn.00402a50
mov dword [ebp - 0x3c], eax
mov edx, dword [ebp - 0x3c]
cmp edx, dword [0x638de8]
je 0x5dfc23
mov eax, dword [ebp - 0x3c]
push eax
push 0
lea ecx, [ebp - 0x2cc]
push ecx
lea ecx, [ebp - 0x34]
call fcn.00402aa0
mov dword [ebp - 0x36c], eax
mov edx, dword [ebp - 0x36c]
mov dword [ebp - 0x370], edx
mov byte [ebp - 4], 1
mov eax, dword [ebp - 0x370]
push eax
lea ecx, [ebp - 0x34]
call fcn.00402940
mov byte [ebp - 4], 0
lea ecx, [ebp - 0x2cc]
call fcn.00401760
mov ecx, dword [0x638de8]
push ecx
push 0x2f
lea ecx, [ebp - 0x34]
call fcn.00402a50
mov dword [ebp - 0x14], eax
mov edx, dword [ebp - 0x14]
cmp edx, dword [0x638de8]
je 0x5dfca5
mov ecx, dword [ebp + 0xc]
call fcn.004021f0
mov ecx, dword [ebp - 0x14]
add ecx, 1
cmp ecx, eax
jae 0x5dfca5
mov edx, dword [0x638de8]
push edx
mov eax, dword [ebp - 0x14]
add eax, 1
push eax
lea ecx, [ebp - 0x2e8]
push ecx
lea ecx, [ebp - 0x34]
call fcn.00402aa0
mov dword [ebp - 0x374], eax
mov edx, dword [ebp - 0x374]
mov dword [ebp - 0x378], edx
mov byte [ebp - 4], 2
mov eax, dword [ebp - 0x378]
push eax
lea ecx, [ebp - 0x34]
call fcn.00402940
mov byte [ebp - 4], 0
lea ecx, [ebp - 0x2e8]
call fcn.00401760
lea ecx, [ebp - 0x34]
call fcn.004021f0
cmp eax, 4
jae 0x5dfcba
lea ecx, [ebp - 0x34]
call fcn.004029a0
mov dword [ebp - 0x38], 0xffffffff
lea ecx, [ebp - 0x34]
call fcn.00402a30
movzx ecx, al
test ecx, ecx
jne 0x5dfdc4
lea edx, [ebp - 0x34]
push edx
mov eax, dword [ebp - 0x368]
add eax, 0x24
push eax
lea ecx, [ebp - 0x304]
push ecx
call fcn.00403170
add esp, 0xc
mov dword [ebp - 0x37c], eax
mov edx, dword [ebp - 0x37c]
mov dword [ebp - 0x380], edx
mov byte [ebp - 4], 3
push 0x638b60
mov eax, dword [ebp - 0x380]
push eax
lea ecx, [ebp - 0x58]
push ecx
call fcn.00403200
add esp, 0xc
mov byte [ebp - 4], 5
lea ecx, [ebp - 0x304]
call fcn.00401760
lea ecx, [ebp - 0x58]
call fcn.00401780
push eax
call dword [sym.imp.KERNEL32.dll_GetFileAttributesW]
cmp eax, 0xffffffff
je 0x5dfd6d
lea ecx, [ebp - 0x58]
call fcn.00401780
push eax
call dword [sym.imp.KERNEL32.dll_DeleteFileW]
lea ecx, [ebp - 0x58]
call fcn.00401780
push eax
call dword [sym.imp.KERNEL32.dll_GetFileAttributesW]
cmp eax, 0xffffffff
je 0x5dfd6d
lea ecx, [ebp - 0x58]
call fcn.004029a0
lea ecx, [ebp - 0x58]
call fcn.00402a30
movzx edx, al
test edx, edx
jne 0x5dfdb8
push 0
push 0x80
push 1
push 0
push 1
push 0x40000000
lea ecx, [ebp - 0x58]
call fcn.00401780
push eax
call dword [sym.imp.KERNEL32.dll_CreateFileW]
mov dword [ebp - 0x38], eax
cmp dword [ebp - 0x38], 0xffffffff
je 0x5dfdb8
lea eax, [ebp - 0x58]
push eax
mov ecx, dword [ebp - 0x368]
add ecx, 0x40
call fcn.00402940
mov byte [ebp - 4], 0
lea ecx, [ebp - 0x58]
call fcn.00401760
cmp dword [ebp - 0x38], 0xffffffff
jne 0x5e002f
push str.Setup.exe
lea ecx, [ebp - 0x90]
call fcn.00401720
mov byte [ebp - 4], 6
lea ecx, [ebp - 0x90]
push ecx
mov edx, dword [ebp - 0x368]
add edx, 0x24
push edx
lea eax, [ebp - 0x320]
push eax
call fcn.00403170
add esp, 0xc
mov dword [ebp - 0x384], eax
mov ecx, dword [ebp - 0x384]
mov dword [ebp - 0x388], ecx
mov byte [ebp - 4], 7
push str..temp
mov edx, dword [ebp - 0x388]
push edx
lea eax, [ebp - 0x74]
push eax
call fcn.00403200
add esp, 0xc
mov byte [ebp - 4], 9
lea ecx, [ebp - 0x320]
call fcn.00401760
lea ecx, [ebp - 0x74]
call fcn.00401780
push eax
call dword [sym.imp.KERNEL32.dll_GetFileAttributesW]
cmp eax, 0xffffffff
je 0x5dfe7e
lea ecx, [ebp - 0x74]
call fcn.00401780
push eax
call dword [sym.imp.KERNEL32.dll_DeleteFileW]
lea ecx, [ebp - 0x74]
call fcn.00401780
push eax
call dword [sym.imp.KERNEL32.dll_GetFileAttributesW]
cmp eax, 0xffffffff
je 0x5dfe7e
lea ecx, [ebp - 0x74]
call fcn.004029a0
lea ecx, [ebp - 0x74]
call fcn.00402a30
movzx ecx, al
test ecx, ecx
je 0x5dffc9
xor edx, edx
mov word [ebp - 0x2a8], dx
push 0x20a
push 0
lea eax, [ebp - 0x2a6]
push eax
call fcn.004e9ba0
add esp, 0xc
lea ecx, [ebp - 0x2a8]
push ecx
push 1
push 0x638b8c
mov ecx, dword [ebp - 0x368]
add ecx, 0x24
call fcn.00401780
push eax
call dword [sym.imp.KERNEL32.dll_GetTempFileNameW]
mov dword [ebp - 0x94], eax
cmp dword [ebp - 0x94], 0
jbe 0x5dff72
xor edx, edx
mov word [ebp - 0x9e], dx
lea eax, [ebp - 0x2a8]
push eax
lea ecx, [ebp - 0x74]
call fcn.00402960
mov ecx, dword [0x638de8]
push ecx
push 0x638b94
lea ecx, [ebp - 0x74]
call fcn.00402a70
mov dword [ebp - 0x2ac], eax
mov edx, dword [ebp - 0x2ac]
cmp edx, dword [0x638de8]
je 0x5dff72
mov eax, dword [ebp - 0x2ac]
push eax
push 0
lea ecx, [ebp - 0x33c]
push ecx
lea ecx, [ebp - 0x74]
call fcn.00402aa0
mov dword [ebp - 0x38c], eax
mov edx, dword [ebp - 0x38c]
mov dword [ebp - 0x390], edx
mov byte [ebp - 4], 0xa
mov eax, dword [ebp - 0x390]
push eax
lea ecx, [ebp - 0x74]
call fcn.00402940
mov byte [ebp - 4], 9
lea ecx, [ebp - 0x33c]
call fcn.00401760
lea ecx, [ebp - 0x74]
call fcn.00402a30
movzx ecx, al
test ecx, ecx
je 0x5dff92
lea edx, [ebp - 0x90]
push edx
lea ecx, [ebp - 0x74]
call fcn.00402940
jmp 0x5dff9f
push 0x638b98
lea ecx, [ebp - 0x74]
call fcn.00402980
mov ecx, dword [ebp - 0x368]
add ecx, 0x40
call fcn.00402a30
movzx eax, al
test eax, eax
jne 0x5dffc9
mov ecx, dword [ebp - 0x368]
add ecx, 0x40
call fcn.00401780
push eax
call dword [sym.imp.KERNEL32.dll_DeleteFileW]
lea ecx, [ebp - 0x74]
call fcn.00401780
push eax
call dword [sym.imp.KERNEL32.dll_DeleteFileW]
push 0
push 0x80
push 1
push 0
push 1
push 0x40000000
lea ecx, [ebp - 0x74]
call fcn.00401780
push eax
call dword [sym.imp.KERNEL32.dll_CreateFileW]
mov dword [ebp - 0x38], eax
cmp dword [ebp - 0x38], 0xffffffff
je 0x5e0014
lea ecx, [ebp - 0x74]
push ecx
mov ecx, dword [ebp - 0x368]
add ecx, 0x40
call fcn.00402940
mov byte [ebp - 4], 6
lea ecx, [ebp - 0x74]
call fcn.00401760
mov byte [ebp - 4], 0
lea ecx, [ebp - 0x90]
call fcn.00401760
cmp dword [ebp - 0x38], 0xffffffff
jne 0x5e0093
mov edx, dword [ebp - 0x368]
cmp dword [edx], 0
je 0x5e0072
sub esp, 0x1c
mov ecx, esp
mov dword [ebp - 0x340], esp
push 0x638bb0
call fcn.00401720
mov dword [ebp - 0x394], eax
mov eax, dword [ebp - 0x368]
mov ecx, dword [eax]
mov edx, dword [ebp - 0x368]
mov eax, dword [edx]
mov edx, dword [eax]
mov eax, dword [edx + 0x14]
call eax
mov byte [ebp - 0x341], 0
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x34]
call fcn.00401760
mov al, byte [ebp - 0x341]
jmp 0x5e023d
mov byte [ebp - 4], 0xb
mov ecx, dword [ebp + 0xc]
push ecx
mov edx, dword [ebp + 8]
push edx
mov eax, dword [ebp - 0x38]
push eax
mov ecx, dword [ebp - 0x368]
call fcn.005df3d0
mov byte [ebp - 0x395], al
mov cl, byte [ebp - 0x395]
mov byte [ebp - 0x2ad], cl
mov edx, dword [ebp - 0x38]
push edx
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov dword [ebp - 0x38], 0xffffffff
movzx eax, byte [ebp - 0x2ad]
test eax, eax
jne 0x5e00f6
mov ecx, dword [ebp - 0x368]
add ecx, 0x40
call fcn.00401780
push eax
call dword [sym.imp.KERNEL32.dll_DeleteFileW]
jmp 0x5e01be
mov ecx, dword [ebp - 0x368]
add ecx, 0x40
call fcn.004021f0
sub eax, 5
push eax
push 0
lea ecx, [ebp - 0x360]
push ecx
mov ecx, dword [ebp - 0x368]
add ecx, 0x40
call fcn.00402aa0
mov dword [ebp - 0x39c], eax
mov edx, dword [ebp - 0x39c]
mov dword [ebp - 0x3a0], edx
mov byte [ebp - 4], 0xc
mov eax, dword [ebp - 0x3a0]
push eax
mov ecx, dword [ebp - 0x368]
add ecx, 8
call fcn.00402940
mov byte [ebp - 4], 0xb
lea ecx, [ebp - 0x360]
call fcn.00401760
mov ecx, dword [ebp - 0x368]
add ecx, 8
call fcn.00401780
push eax
mov ecx, dword [ebp - 0x368]
add ecx, 0x40
call fcn.00401780
push eax
call fcn.004ecb6e
add esp, 8
test eax, eax
je 0x5e01be
mov ecx, dword [ebp - 0x368]
add ecx, 8
call fcn.00401780
push eax
call dword [sym.imp.KERNEL32.dll_DeleteFileW]
mov ecx, dword [ebp - 0x368]
add ecx, 8
call fcn.00401780
push eax
mov ecx, dword [ebp - 0x368]
add ecx, 0x40
call fcn.00401780
push eax
call fcn.004ecb6e
add esp, 8
mov cl, byte [ebp - 0x2ad]
mov byte [ebp - 0x361], cl
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x34]
call fcn.00401760
mov al, byte [ebp - 0x361]
jmp 0x5e023d
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 0x18]
xor ecx, ebp
call fcn.004e8c89
mov esp, ebp
pop ebp
ret 0xc