Function at 0x1007f80
Capabilities:
Check if file exists
Get disk size

Disassembly:
mov edi, edi
push ebp
mov ebp, esp
sub esp, 0x38
push ebx
mov ebx, dword [ebp + 0xc]
xor eax, eax
cmp ebx, eax
push esi
push edi
mov dword [ebp - 0x20], eax
mov dword [ebp - 0x18], eax
mov dword [ebp - 0x14], eax
push 0xc0000000
jne 0x1008002
mov edi, dword [ebp + 8]
push edi
call dword [sym.imp.imdisk.cpl__ImDiskOpenDeviceByNumber_8]
mov esi, eax
cmp esi, 0xffffffff
jne 0x10080ed
push 0x80000000
push edi
call dword [sym.imp.imdisk.cpl__ImDiskOpenDeviceByNumber_8]
mov esi, eax
cmp esi, 0xffffffff
jne 0x10080ed
call dword [sym.imp.KERNEL32.dll_GetLastError]
cmp eax, 2
jne 0x10080d5
mov eax, dword [sym.imp.msvcrt.dll__iob]
add eax, 0x40
push eax
push 0x1005374
call dword [sym.imp.msvcrt.dll_fputs]
add esp, 8
pop edi
pop esi
mov eax, 1
pop ebx
mov esp, ebp
pop ebp
ret 0x10
mov edi, dword [sym.imp.imdisk.cpl__ImDiskOpenDeviceByMountPoint_8]
push ebx
call edi
mov esi, eax
cmp esi, 0xffffffff
jne 0x10080ed
push 0x80000000
push ebx
call edi
mov esi, eax
cmp esi, 0xffffffff
jne 0x10080ed
call dword [sym.imp.KERNEL32.dll_GetLastError]
cmp eax, 0x91
ja 0x100808d
je 0x10080af
sub eax, 1
je 0x1008067
sub eax, 0x56
jne 0x100809b
mov eax, dword [sym.imp.msvcrt.dll__iob]
add eax, 0x40
push eax
push 0x1004c78
call dword [sym.imp.msvcrt.dll_fputs]
add esp, 8
pop edi
pop esi
mov eax, 9
pop ebx
mov esp, ebp
pop ebp
ret 0x10
mov ecx, dword [sym.imp.msvcrt.dll__iob]
add ecx, 0x40
push ecx
push 0x1004be4
call dword [sym.imp.msvcrt.dll_fputs]
add esp, 8
pop edi
pop esi
mov eax, 9
pop ebx
mov esp, ebp
pop ebp
ret 0x10
cmp eax, 0x10b
je 0x10080af
cmp eax, 0x1126
je 0x10080af
push ebx
call fcn.01006240
pop edi
pop esi
mov eax, 9
pop ebx
mov esp, ebp
pop ebp
ret 0x10
mov edx, dword [sym.imp.msvcrt.dll__iob]
push ebx
add edx, 0x40
push 0x1005324
push edx
call fcn.010061c0
add esp, 0xc
pop edi
pop esi
mov eax, 9
pop ebx
mov esp, ebp
pop ebp
ret 0x10
push 0x10046f4
call fcn.01006240
pop edi
pop esi
mov eax, 2
pop ebx
mov esp, ebp
pop ebp
ret 0x10
push 0x1005770
call dword [sym.imp.msvcrt.dll_puts]
mov ecx, dword [ebp + 0x10]
mov edx, dword [ebp + 0x14]
mov edi, dword [sym.imp.KERNEL32.dll_DeviceIoControl]
add esp, 4
push 0
lea eax, [ebp + 0xc]
push eax
push 0
push 0
push 0x10
mov dword [ebp - 0x18], ecx
lea ecx, [ebp - 0x20]
push ecx
push 0x7c0d0
push esi
mov dword [ebp - 0x20], 1
mov dword [ebp - 0x14], edx
call edi
test eax, eax
jne 0x100814b
push ebx
call fcn.01006240
push esi
call dword [sym.imp.KERNEL32.dll_CloseHandle]
pop edi
pop esi
mov eax, 3
pop ebx
mov esp, ebp
pop ebp
ret 0x10
push 0x1005750
call dword [sym.imp.msvcrt.dll_puts]
add esp, 4
push 0
lea edx, [ebp + 0xc]
push edx
push 8
lea eax, [ebp - 8]
push eax
push 0
push 0
push 0x7405c
push esi
call edi
test eax, eax
jne 0x10081a8
push ebx
call fcn.01006240
mov ecx, dword [sym.imp.msvcrt.dll__iob]
push ebx
add ecx, 0x40
push 0x10052f4
push ecx
call fcn.010061c0
add esp, 0xc
push esi
call dword [sym.imp.KERNEL32.dll_CloseHandle]
pop edi
pop esi
mov eax, 2
pop ebx
mov esp, ebp
pop ebp
ret 0x10
push 0
lea edx, [ebp + 0xc]
push edx
push 0x18
lea eax, [ebp - 0x38]
push eax
push 0
push 0
push 0x70000
push esi
call edi
test eax, eax
je 0x1008175
mov edx, dword [ebp - 0x24]
mov eax, dword [ebp - 4]
mov ecx, dword [ebp - 8]
push 0
push edx
push eax
push ecx
call fcn.010099d0
push 0
mov dword [ebp - 0xc], edx
lea edx, [ebp + 0xc]
push edx
push 0
push 0
push 8
mov dword [ebp - 0x10], eax
lea eax, [ebp - 0x10]
push eax
push 0x900f0
push esi
call edi
test eax, eax
jne 0x100820d
push ebx
call fcn.01006240
push 0x10056a8
call dword [sym.imp.msvcrt.dll_puts]
add esp, 4
push esi
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov eax, dword [ebp - 4]
cmp eax, 0x100
mov ecx, dword [ebp - 8]
jb 0x100822e
ja 0x1008227
test ecx, ecx
jb 0x100822e
mov edx, 0x10055b4
jmp 0x100829d
test eax, eax
ja 0x100823a
cmp ecx, 0x40000000
jb 0x1008241
mov edx, 0x10055b0
jmp 0x100829d
test eax, eax
ja 0x100824d
cmp ecx, 0x100000
jb 0x1008254
mov edx, 0x10055ac
jmp 0x100829d
test eax, eax
ja 0x1008260
cmp ecx, 0x400
jb 0x1008267
mov edx, 0x10055a8
jmp 0x100829d
cmp ecx, 1
jne 0x1008298
test eax, eax
jne 0x1008298
mov edx, 0x10055a0
fild qword [ebp - 8]
push edx
sub esp, 8
fstp qword [esp]
push 0x1005690
call dword [sym.imp.msvcrt.dll_printf]
add esp, 0x10
pop edi
pop esi
xor eax, eax
pop ebx
mov esp, ebp
pop ebp
ret 0x10
mov edx, 0x1005598
cmp eax, 0x100
jb 0x10082b5
ja 0x10082aa
test ecx, ecx
jb 0x10082b5
fild qword [ebp - 8]
fmul qword [0x1005590]
jmp 0x1008278
test eax, eax
ja 0x10082c1
cmp ecx, 0x40000000
jb 0x10082cc
fild qword [ebp - 8]
fmul qword [0x1005588]
jmp 0x1008278
test eax, eax
ja 0x10082d8
cmp ecx, 0x100000
jb 0x10082e3
fild qword [ebp - 8]
fmul qword [0x1005580]
jmp 0x1008278
test eax, eax
ja 0x10082ef
cmp ecx, 0x400
jb 0x1008275
fild qword [ebp - 8]
fmul qword [0x1005578]
jmp 0x1008278