Function at 0x560088
Capabilities:
Get disk information

Disassembly:
push ebp
mov ebp, esp
add esp, 0xfffffbac
mov eax, dword [0x80d179]
mov dword [ebp - 8], eax
mov ax, word [0x80d17d]
mov word [ebp - 4], ax
mov al, byte [0x80d17f]
mov byte [ebp - 2], al
mov dl, byte [ebp + 0xc]
mov byte [ebp - 4], dl
push 0
push 0
push 3
push 0
push 3
push 0xc0000000
lea ecx, [ebp - 8]
push ecx
call sub.KERNEL32.DLL_CreateFileA
mov dword [ebp - 0xc], eax
mov dword [ebp - 0x14], 1
mov eax, dword [ebp - 0xc]
cmp eax, 0xffffffff
jne 0x560119
xor edx, edx
mov dword [ebp - 0x14], edx
push 0
push 0
push 3
push 0
push 3
push 0xc0000000
push 0x80d229
call sub.KERNEL32.DLL_CreateFileA
mov dword [ebp - 0xc], eax
mov ecx, dword [ebp - 0xc]
cmp ecx, 0xffffffff
jne 0x560119
lea eax, [ebp - 4]
push eax
call fcn.0055feb8
pop ecx
or eax, 0xffffffff
jmp 0x560348
push 0xff
push 0
lea edx, [ebp - 0x350]
push edx
call fcn.0066c86c
add esp, 0xc
mov ecx, dword [ebp + 8]
movsx eax, byte [ecx]
cmp eax, 0x5c
jne 0x56018a
mov edx, dword [ebp + 8]
movsx ecx, byte [edx + 1]
cmp ecx, 0x5c
jne 0x560173
push 0x80d236
lea eax, [ebp - 0x350]
push eax
call fcn.0066c9ec
add esp, 8
mov edx, dword [ebp + 8]
inc edx
push edx
lea ecx, [ebp - 0x350]
push ecx
call fcn.0066c910
add esp, 8
jmp 0x560233
push dword [ebp + 8]
lea eax, [ebp - 0x350]
push eax
call fcn.0066c9ec
add esp, 8
jmp 0x560233
mov edx, dword [ebp + 8]
movsx ecx, byte [edx]
push ecx
push 0x80d23e
lea eax, [ebp - 0x24]
push eax
call fcn.00670e94
add esp, 0xc
lea edx, [ebp - 0x24]
push edx
call sub.KERNEL32.DLL_GetDriveTypeA
cmp eax, 4
jne 0x56020d
mov dword [ebp - 0x28], 0x104
lea ecx, [ebp - 0x28]
push ecx
lea eax, [ebp - 0x454]
push eax
lea edx, [ebp - 0x24]
push edx
call sub.MPR.DLL_WNetGetConnectionA
push str.__UNC
lea ecx, [ebp - 0x350]
push ecx
call fcn.0066c9ec
add esp, 8
lea eax, [ebp - 0x453]
push eax
lea edx, [ebp - 0x350]
push edx
call fcn.0066c910
add esp, 8
mov ecx, dword [ebp + 8]
add ecx, 2
push ecx
lea eax, [ebp - 0x350]
push eax
call fcn.0066c910
add esp, 8
jmp 0x560233
push 0x80d24a
lea edx, [ebp - 0x350]
push edx
call fcn.0066c9ec
add esp, 8
push dword [ebp + 8]
lea ecx, [ebp - 0x350]
push ecx
call fcn.0066c910
add esp, 8
push 0x226
push 0
lea eax, [ebp - 0x250]
push eax
call fcn.0066c86c
add esp, 0xc
push 0xff
lea edx, [ebp - 0x250]
push edx
push 0xffffffffffffffff
lea ecx, [ebp - 0x350]
push ecx
push 0
push 0
call sub.KERNEL32.DLL_MultiByteToWideChar
lea eax, [ebp - 0x250]
push eax
call fcn.0066cdac
pop ecx
add eax, eax
mov word [ebp - 0x52], ax
push 0x21
push 0
lea edx, [ebp - 0x4c]
push edx
call fcn.0066c86c
add esp, 0xc
push dword [ebp + 0x10]
lea ecx, [ebp - 0x4c]
push ecx
call fcn.0066c9ec
add esp, 8
xor eax, eax
mov dword [ebp - 0x18], eax
jmp 0x5602b5
imul edx, dword [ebp - 0x18], 0x23
mov cl, byte [edx*8 + 0xcf1d39]
mov al, byte [ebp + 0xc]
cmp cl, al
je 0x5602c2
inc dword [ebp - 0x18]
mov edx, dword [ebp - 0x18]
mov ecx, dword [0x80d1ac]
cmp edx, ecx
jl 0x5602a0
mov eax, dword [ebp - 0x18]
mov edx, dword [0x80d1ac]
cmp eax, edx
jge 0x5602e1
imul ecx, dword [ebp - 0x18], 0x23
mov ax, word [ecx*8 + 0xcf1d34]
mov word [ebp - 0x4e], ax
jmp 0x5602f5
mov edx, dword [ebp - 0x14]
test edx, edx
jne 0x5602f5
push dword [ebp - 0xc]
call sub.KERNEL32.DLL_CloseHandle
or eax, 0xffffffff
jmp 0x560348
push 0
lea edx, [ebp - 0x10]
push edx
push 0
push 0
push 0x226
lea ecx, [ebp - 0x250]
push ecx
push 0x23308
push dword [ebp - 0xc]
call sub.KERNEL32.DLL_DeviceIoControl
test eax, eax
jne 0x560334
push str.ISODriveMount:
call fcn.0055feb8
pop ecx
push dword [ebp - 0xc]
call sub.KERNEL32.DLL_CloseHandle
or eax, 0xffffffff
jmp 0x560348
push dword [ebp - 0xc]
call sub.KERNEL32.DLL_CloseHandle
lea edx, [ebp - 4]
push edx
call fcn.0055ff34
pop ecx
xor eax, eax
mov esp, ebp
pop ebp
ret