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

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x114
push ebx
push esi
push edi
xor ebx, ebx
push ebx
push ebx
push 0x1001448
call fcn.0100467b
mov esi, eax
lea eax, [eax + 1]
push eax
push 0x40
call dword [sym.imp.KERNEL32.dll_LocalAlloc]
mov edi, eax
test edi, edi
jne 0x1005620
push ebx
push 0x10
push ebx
push ebx
push 0x4b5
push ebx
call fcn.010044fb
call fcn.010062f2
mov dword [0x1017b24], eax
xor eax, eax
jmp 0x1005905
push esi
push edi
push 0x1001448
call fcn.0100467b
test eax, eax
jne 0x100565a
xor eax, eax
push eax
push 0x10
push eax
push eax
push 0x4b1
push eax
call fcn.010044fb
push edi
call dword [sym.imp.KERNEL32.dll_LocalFree]
mov dword [0x1017b24], 0x80070714
xor eax, eax
jmp 0x1005905
push 0x100141c
push edi
call dword [sym.imp.KERNEL32.dll_lstrcmpA]
test eax, eax
jne 0x1005674
mov dword [0x1011c20], 1
push edi
call dword [sym.imp.KERNEL32.dll_LocalFree]
cmp byte [0x1011d52], 0
je 0x10056d4
cmp byte [0x1011d52], 0x5c
jne 0x100569b
cmp byte [0x1011d53], 0x5c
mov eax, 0
je 0x10056a0
mov eax, 1
push eax
push 0
push 0x1011d52
call fcn.010054af
test eax, eax
je 0x10056bb
mov eax, 1
jmp 0x1005905
xor eax, eax
push eax
push 0x10
push eax
push eax
push 0x4be
push eax
call fcn.010044fb
xor eax, eax
jmp 0x1005905
cmp dword [0x1011c3c], 0
jne 0x10058eb
cmp dword [0x1011c20], 0
jne 0x10058eb
mov esi, 0x10113d4
push esi
push 0x104
call dword [sym.imp.KERNEL32.dll_GetTempPathA]
test eax, eax
je 0x1005742
push 3
push 1
push esi
call fcn.010054af
test eax, eax
je 0x100571b
mov eax, 1
jmp 0x1005905
mov esi, 0x10113d4
push esi
call fcn.01002ae2
test eax, eax
jne 0x1005742
push 1
push 1
push esi
call fcn.010054af
test eax, eax
je 0x1005742
mov eax, 1
jmp 0x1005905
push 0x1001524
lea eax, [ebp - 0x114]
push eax
xor ebx, ebx
mov esi, 0x10113d4
call dword [sym.imp.KERNEL32.dll_lstrcpyA]
cmp byte [ebp - 0x114], 0x5a
jg 0x10058bd
lea eax, [ebp - 0x114]
push eax
call dword [sym.imp.KERNEL32.dll_GetDriveTypeA]
cmp eax, 6
mov edi, eax
je 0x1005781
cmp edi, 3
jne 0x1005793
lea eax, [ebp - 0x114]
push eax
call dword [sym.imp.KERNEL32.dll_GetFileAttributesA]
cmp eax, 0xffffffff
jne 0x10057f3
cmp edi, 2
jne 0x10057e8
cmp byte [ebp - 0x114], 0x41
je 0x10057e8
cmp byte [ebp - 0x114], 0x42
je 0x10057e8
lea eax, [ebp - 0xc]
lea ecx, [ebp - 0x10]
push eax
lea edx, [ebp - 8]
push ecx
lea eax, [ebp - 4]
push edx
lea ecx, [ebp - 0x114]
push eax
push ecx
call dword [sym.imp.KERNEL32.dll_GetDiskFreeSpaceA]
test eax, eax
je 0x10057e8
mov eax, dword [ebp - 0xc]
imul eax, dword [ebp - 8]
imul eax, dword [ebp - 4]
cmp eax, 0x5f5e100
jae 0x10057f3
inc byte [ebp - 0x114]
jmp 0x100575b
inc byte [ebp - 0x114]
jmp 0x100575b
push ebx
lea eax, [ebp - 0x114]
push 3
push eax
call fcn.010059fe
test eax, eax
jne 0x1005834
lea eax, [ebp - 0x114]
push eax
call fcn.01002ae2
test eax, eax
jne 0x1005829
push ebx
lea eax, [ebp - 0x114]
push 1
push eax
call fcn.010059fe
test eax, eax
jne 0x1005834
inc byte [ebp - 0x114]
jmp 0x100575b
lea eax, [ebp - 0x114]
push eax
call fcn.01002ae2
test eax, eax
je 0x1005856
push 0x104
lea eax, [ebp - 0x114]
push eax
call dword [sym.imp.KERNEL32.dll_GetWindowsDirectoryA]
push 0x1001514
lea eax, [ebp - 0x114]
push eax
call fcn.010028f3
lea eax, [ebp - 0x114]
push eax
call fcn.01002abf
test eax, eax
jne 0x1005888
inc byte [ebp - 0x114]
mov byte [ebp - 0x111], bl
jmp 0x100575b
push 2
lea eax, [ebp - 0x114]
push eax
call dword [sym.imp.KERNEL32.dll_SetFileAttributesA]
lea eax, [ebp - 0x114]
push eax
push esi
call dword [sym.imp.KERNEL32.dll_lstrcpyA]
push ebx
push 1
push esi
call fcn.010054af
test eax, eax
je 0x100575b
mov eax, 1
jmp 0x1005905
push 0x104
lea eax, [ebp - 0x114]
push eax
call dword [sym.imp.KERNEL32.dll_GetWindowsDirectoryA]
push 4
lea eax, [ebp - 0x114]
push 3
push eax
call fcn.010059fe
test eax, eax
jne 0x1005742
xor eax, eax
jmp 0x1005905
xor eax, eax
push eax
push eax
push 0x10033eb
push eax
push 0x7d2
push dword [0x1017af4]
call fcn.01006501
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret