Function at 0x5fda3780
Capabilities:
Check if file exists
Get common file path
Get disk information
Get file attributes
Set file attributes

Disassembly:
sub esp, 0x104
push ebx
push esi
push edi
push ebp
push 0
push 0
push 0x5fdaf060
call fcn.5fda2790
add esp, 0xc
mov edi, eax
lea eax, [eax + 1]
push eax
push 0x40
call dword [sym.imp.KERNEL32.dll_LocalAlloc]
mov esi, eax
test esi, esi
jne 0x5fda37da
push 0
push 0x10
push 0
push 0
push 0x4b5
push 0
call fcn.5fda25f0
call fcn.5fda45a0
pop ebp
mov dword [0x5fdb47fc], eax
xor eax, eax
pop edi
pop esi
pop ebx
add esp, 0x104
ret
push edi
push esi
push 0x5fdaf060
call fcn.5fda2790
add esp, 0xc
test eax, eax
jne 0x5fda381f
push 0
push 0x10
push 0
push 0
push 0x4b1
push 0
call fcn.5fda25f0
push esi
call dword [sym.imp.KERNEL32.dll_LocalFree]
xor eax, eax
pop ebp
mov dword [0x5fdb47fc], 0x80070714
pop edi
pop esi
pop ebx
add esp, 0x104
ret
push 0x5fdaf090
push esi
call dword [sym.imp.KERNEL32.dll_lstrcmpA]
test eax, eax
jne 0x5fda3839
mov dword [0x5fdb47f0], 1
push esi
call dword [sym.imp.KERNEL32.dll_LocalFree]
cmp byte [0x5fdb492a], 0
je 0x5fda38aa
cmp byte [0x5fdb492a], 0x5c
jne 0x5fda3860
cmp byte [0x5fdb492b], 0x5c
mov eax, 0
je 0x5fda3865
mov eax, 1
push eax
push 0
push 0x5fdb492a
call fcn.5fda35d0
add esp, 0xc
test eax, eax
je 0x5fda3889
mov eax, 1
pop ebp
pop edi
pop esi
pop ebx
add esp, 0x104
ret
push 0
push 0x10
push 0
push 0
push 0x4be
push 0
call fcn.5fda25f0
xor eax, eax
pop ebp
pop edi
pop esi
pop ebx
add esp, 0x104
ret
cmp dword [0x5fdb4814], 0
jne 0x5fda3b48
cmp dword [0x5fdb47f0], 0
jne 0x5fda3b48
push 0x5fdb3fa4
push 0x104
call dword [sym.imp.KERNEL32.dll_GetTempPathA]
test eax, eax
je 0x5fda3933
push 3
push 1
push 0x5fdb3fa4
call fcn.5fda35d0
add esp, 0xc
test eax, eax
je 0x5fda38fd
mov eax, 1
pop ebp
pop edi
pop esi
pop ebx
add esp, 0x104
ret
push 0x5fdb3fa4
call fcn.5fda52c0
add esp, 4
test eax, eax
jne 0x5fda3933
push 1
push 1
push 0x5fdb3fa4
call fcn.5fda35d0
add esp, 0xc
test eax, eax
je 0x5fda3933
mov eax, 1
pop ebp
pop edi
pop esi
pop ebx
add esp, 0x104
ret
push 0x104
mov eax, dword [0x5fdb4f30]
push 0x5fdb3fa4
push eax
call dword [sym.imp.KERNEL32.dll_GetModuleFileNameA]
test eax, eax
je 0x5fda39e3
cmp byte [0x5fdb3fa5], 0x5c
je 0x5fda39e3
push 0x5fdb3fa4
call dword [sym.imp.KERNEL32.dll_lstrlenA]
dec eax
cmp byte [eax + 0x5fdb3fa4], 0x5c
je 0x5fda3981
mov ecx, 0x5c
dec eax
cmp byte [eax + 0x5fdb3fa4], cl
jne 0x5fda3978
mov byte [eax + 0x5fdb3fa5], 0
push 3
push 1
push 0x5fdb3fa4
call fcn.5fda35d0
add esp, 0xc
test eax, eax
je 0x5fda39ad
mov eax, 1
pop ebp
pop edi
pop esi
pop ebx
add esp, 0x104
ret
push 0x5fdb3fa4
call fcn.5fda52c0
add esp, 4
test eax, eax
jne 0x5fda39e3
push 1
push 1
push 0x5fdb3fa4
call fcn.5fda35d0
add esp, 0xc
test eax, eax
je 0x5fda39e3
mov eax, 1
pop ebp
pop edi
pop esi
pop ebx
add esp, 0x104
ret
lea eax, [esp + 0x10]
push 0x5fdaf244
push eax
mov ebp, dword [sym.imp.KERNEL32.dll_lstrcpyA]
call ebp
cmp byte [esp + 0x10], 0x5a
jg 0x5fda3b1a
mov esi, dword [sym.imp.KERNEL32.dll_SetFileAttributesA]
mov edi, dword [sym.imp.KERNEL32.dll_GetDriveTypeA]
xor ebx, ebx
lea eax, [esp + 0x10]
push eax
call edi
cmp eax, 6
je 0x5fda3a23
cmp eax, 3
jne 0x5fda3b0b
lea eax, [esp + 0x10]
push eax
call dword [sym.imp.KERNEL32.dll_GetFileAttributesA]
cmp eax, 0xffffffff
je 0x5fda3b0b
lea eax, [esp + 0x10]
push ebx
push 3
push eax
call fcn.5fda3c90
add esp, 0xc
test eax, eax
jne 0x5fda3a78
lea eax, [esp + 0x10]
push eax
call fcn.5fda52c0
add esp, 4
test eax, eax
jne 0x5fda3b0b
lea eax, [esp + 0x10]
push ebx
push 1
push eax
call fcn.5fda3c90
add esp, 0xc
test eax, eax
je 0x5fda3b0b
lea eax, [esp + 0x10]
push str.msdownld.tmp
push eax
call fcn.5fda5070
lea eax, [esp + 0x18]
add esp, 8
push eax
call fcn.5fda5290
add esp, 4
test eax, eax
jne 0x5fda3aa5
inc byte [esp + 0x10]
mov byte [esp + 0x13], bl
jmp 0x5fda3b0f
lea eax, [esp + 0x10]
push 2
push eax
call esi
lea eax, [esp + 0x10]
push str.extract
push eax
call fcn.5fda5070
lea eax, [esp + 0x18]
add esp, 8
push eax
call fcn.5fda5290
add esp, 4
test eax, eax
jne 0x5fda3adb
inc byte [esp + 0x10]
mov byte [esp + 0x13], bl
jmp 0x5fda3b0f
lea eax, [esp + 0x10]
push eax
push 0x5fdb3fa4
call ebp
push ebx
push 1
push 0x5fdb3fa4
call fcn.5fda35d0
add esp, 0xc
test eax, eax
je 0x5fda3b0f
mov eax, 1
pop ebp
pop edi
pop esi
pop ebx
add esp, 0x104
ret
inc byte [esp + 0x10]
cmp byte [esp + 0x10], 0x5a
jle 0x5fda3a0e
lea eax, [esp + 0x10]
push 0x104
push eax
call dword [sym.imp.KERNEL32.dll_GetWindowsDirectoryA]
lea ecx, [esp + 0x10]
push 1
push 3
push ecx
call fcn.5fda3c90
add esp, 0xc
xor eax, eax
pop ebp
pop edi
pop esi
pop ebx
add esp, 0x104
ret
push 0x104
push 0x5fdb3fa4
push 0x5fdaf220
push 0x546
push 0
call fcn.5fda36e0
pop ebp
pop edi
pop esi
pop ebx
add esp, 0x104
ret