Function at 0x5604a4
Capabilities:
Get disk information

Disassembly:
push ebp
mov ebp, esp
add esp, 0xfffffbac
mov eax, dword [0x81ab4d]
mov dword [ebp - 8], eax
mov ax, word [0x81ab51]
mov word [ebp - 4], ax
mov al, byte [0x81ab53]
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 0x560535
xor edx, edx
mov dword [ebp - 0x14], edx
push 0
push 0
push 3
push 0
push 3
push 0xc0000000
push 0x81abfd
call sub.KERNEL32.DLL_CreateFileA
mov dword [ebp - 0xc], eax
mov ecx, dword [ebp - 0xc]
cmp ecx, 0xffffffff
jne 0x560535
lea eax, [ebp - 4]
push eax
call fcn.005602d4
pop ecx
or eax, 0xffffffff
jmp 0x560764
push 0xff
push 0
lea edx, [ebp - 0x350]
push edx
call fcn.0066cc88
add esp, 0xc
mov ecx, dword [ebp + 8]
movsx eax, byte [ecx]
cmp eax, 0x5c
jne 0x5605a6
mov edx, dword [ebp + 8]
movsx ecx, byte [edx + 1]
cmp ecx, 0x5c
jne 0x56058f
push 0x81ac0a
lea eax, [ebp - 0x350]
push eax
call fcn.0066ce08
add esp, 8
mov edx, dword [ebp + 8]
inc edx
push edx
lea ecx, [ebp - 0x350]
push ecx
call fcn.0066cd2c
add esp, 8
jmp 0x56064f
push dword [ebp + 8]
lea eax, [ebp - 0x350]
push eax
call fcn.0066ce08
add esp, 8
jmp 0x56064f
mov edx, dword [ebp + 8]
movsx ecx, byte [edx]
push ecx
push 0x81ac12
lea eax, [ebp - 0x24]
push eax
call fcn.006712b0
add esp, 0xc
lea edx, [ebp - 0x24]
push edx
call sub.KERNEL32.DLL_GetDriveTypeA
cmp eax, 4
jne 0x560629
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.0066ce08
add esp, 8
lea eax, [ebp - 0x453]
push eax
lea edx, [ebp - 0x350]
push edx
call fcn.0066cd2c
add esp, 8
mov ecx, dword [ebp + 8]
add ecx, 2
push ecx
lea eax, [ebp - 0x350]
push eax
call fcn.0066cd2c
add esp, 8
jmp 0x56064f
push 0x81ac1e
lea edx, [ebp - 0x350]
push edx
call fcn.0066ce08
add esp, 8
push dword [ebp + 8]
lea ecx, [ebp - 0x350]
push ecx
call fcn.0066cd2c
add esp, 8
push 0x226
push 0
lea eax, [ebp - 0x250]
push eax
call fcn.0066cc88
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.0066d1c8
pop ecx
add eax, eax
mov word [ebp - 0x52], ax
push 0x21
push 0
lea edx, [ebp - 0x4c]
push edx
call fcn.0066cc88
add esp, 0xc
push dword [ebp + 0x10]
lea ecx, [ebp - 0x4c]
push ecx
call fcn.0066ce08
add esp, 8
xor eax, eax
mov dword [ebp - 0x18], eax
jmp 0x5606d1
imul edx, dword [ebp - 0x18], 0x23
mov cl, byte [edx*8 + 0xcff70d]
mov al, byte [ebp + 0xc]
cmp cl, al
je 0x5606de
inc dword [ebp - 0x18]
mov edx, dword [ebp - 0x18]
mov ecx, dword [0x81ab80]
cmp edx, ecx
jl 0x5606bc
mov eax, dword [ebp - 0x18]
mov edx, dword [0x81ab80]
cmp eax, edx
jge 0x5606fd
imul ecx, dword [ebp - 0x18], 0x23
mov ax, word [ecx*8 + 0xcff708]
mov word [ebp - 0x4e], ax
jmp 0x560711
mov edx, dword [ebp - 0x14]
test edx, edx
jne 0x560711
push dword [ebp - 0xc]
call sub.KERNEL32.DLL_CloseHandle
or eax, 0xffffffff
jmp 0x560764
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 0x560750
push str.ISODriveMount:
call fcn.005602d4
pop ecx
push dword [ebp - 0xc]
call sub.KERNEL32.DLL_CloseHandle
or eax, 0xffffffff
jmp 0x560764
push dword [ebp - 0xc]
call sub.KERNEL32.DLL_CloseHandle
lea edx, [ebp - 4]
push edx
call fcn.00560350
pop ecx
xor eax, eax
mov esp, ebp
pop ebp
ret