Function at 0x1007e30
Capabilities:
Check if file exists
Unmount volume via ioctl

Disassembly:
mov edi, edi
push ebp
mov ebp, esp
sub esp, 8
push ebx
mov ebx, dword [ebp + 0xc]
test ebx, ebx
push esi
push edi
push 0xc0000000
jne 0x1007ea5
mov edi, dword [ebp + 8]
mov ebx, dword [sym.imp.imdisk.cpl__ImDiskOpenDeviceByNumber_8]
push edi
call ebx
mov esi, eax
cmp esi, 0xffffffff
jne 0x1007f90
push 0x80000000
push edi
call ebx
mov esi, eax
cmp esi, 0xffffffff
jne 0x1007f90
call dword [sym.imp.KERNEL32.dll_GetLastError]
cmp eax, 2
jne 0x1007f78
mov eax, dword [sym.imp.msvcrt.dll__iob]
add eax, 0x40
push eax
push 0x10054a8
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 0x1007f90
push 0x80000000
push ebx
call edi
mov esi, eax
cmp esi, 0xffffffff
jne 0x1007f90
call dword [sym.imp.KERNEL32.dll_GetLastError]
cmp eax, 0x91
ja 0x1007f30
je 0x1007f52
sub eax, 1
je 0x1007f0a
sub eax, 0x56
jne 0x1007f3e
mov eax, dword [sym.imp.msvcrt.dll__iob]
add eax, 0x40
push eax
push 0x1004da8
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 0x1004d14
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 0x1007f52
cmp eax, 0x1126
je 0x1007f52
push ebx
call fcn.010063b0
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 0x100545c
push edx
call fcn.01006330
add esp, 0xc
pop edi
pop esi
mov eax, 9
pop ebx
mov esp, ebp
pop ebp
ret 0x10
push 0x1004824
call fcn.010063b0
pop edi
pop esi
mov eax, 2
pop ebx
mov esp, ebp
pop ebp
ret 0x10
push esi
call fcn.01006420
test eax, eax
jne 0x1007faf
push esi
call dword [sym.imp.KERNEL32.dll_CloseHandle]
pop edi
pop esi
mov eax, 5
pop ebx
mov esp, ebp
pop ebp
ret 0x10
test byte [ebp + 0x10], 3
mov edi, dword [sym.imp.msvcrt.dll_puts]
mov ebx, dword [sym.imp.KERNEL32.dll_DeviceIoControl]
je 0x1008045
push 0x10053e0
call edi
add esp, 4
push esi
call dword [sym.imp.KERNEL32.dll_FlushFileBuffers]
push 0x10053cc
call edi
add esp, 4
push 0
lea ecx, [ebp + 8]
push ecx
push 0
push 0
push 0
push 0
push 0x90018
push esi
call ebx
test eax, eax
jne 0x1008021
mov eax, dword [ebp + 0xc]
test eax, eax
jne 0x1008006
mov eax, 0x10054bc
push eax
call fcn.010063b0
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 0x1005394
call edi
add esp, 4
push 0
lea edx, [ebp + 8]
push edx
push 0
push 0
push 0
push 0
push 0x90020
push esi
call ebx
test eax, eax
je 0x1007ffa
push 0x10057e0
call edi
mov eax, dword [ebp + 0x10]
mov ecx, dword [ebp + 0x14]
add esp, 4
push 0
lea edx, [ebp + 8]
push edx
push 8
mov dword [ebp - 8], eax
lea eax, [ebp - 8]
push eax
push 8
mov dword [ebp - 4], ecx
mov ecx, eax
push ecx
push 0x83722014
push esi
call ebx
test eax, eax
jne 0x1008081
mov edx, dword [ebp + 0xc]
push edx
call fcn.010063b0
cmp dword [ebp - 8], 0
push esi
je 0x10080b7
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov eax, dword [ebp + 0xc]
mov ecx, dword [sym.imp.msvcrt.dll__iob]
push eax
add ecx, 0x40
push 0x10057a8
push ecx
call fcn.01006330
add esp, 0xc
pop edi
pop esi
mov eax, 3
pop ebx
mov esp, ebp
pop ebp
ret 0x10
call dword [sym.imp.KERNEL32.dll_CloseHandle]
push 0x100530c
call edi
add esp, 4
pop edi
pop esi
xor eax, eax
pop ebx
mov esp, ebp
pop ebp
ret 0x10