Function at 0x440957
Capabilities:
Get disk information

Disassembly:
push ebx
mov edx, 7
sub esp, 4
mov dword [esp], 0
dec edx
jne 0x44095d
call fcn.0055ab90
mov edx, dword [esp + 0x24]
lea ecx, [esp]
call fcn.004f4000
mov dword [section..data], 0xa000a3
mov dword [section..data], 0xa000aa
push edx
call fcn.0055a9f0
pop edx
push eax
push edx
call fcn.0055a9f0
pop edx
push eax
push 1
push dword [esp + 0xc]
call fcn.00549920
mov edx, 0x659eee
push edx
call fcn.0055aac0
call fcn.0055ab20
lea eax, [esp + 8]
push eax
call fcn.0055aa30
mov dword [section..data], 0xa000ab
push edx
call fcn.0055a9f0
pop edx
push eax
mov edx, str.._
push edx
call fcn.0055aac0
push edx
call fcn.0055a9f0
pop edx
push eax
push edx
call fcn.0055a9f0
pop edx
push eax
push 1
push dword [esp + 0x10]
call fcn.00549920
pop eax
mov edx, 0x638acc
push edx
call fcn.0055aac0
lea eax, [esp + 0xc]
push eax
call fcn.0055aa30
mov dword [section..data], 0xa000ad
mov dword [esp + 0x10], 1
mov dword [section..data], 0xa000b1
mov dword [section..data], 0xa000b3
push edx
call fcn.0055a9f0
pop edx
push eax
push 3
push edx
call fcn.0055a9f0
pop edx
push eax
mov edx, str.Opening_Windows_drive__
push edx
call fcn.0055aac0
mov edx, dword [esp + 0x10]
push edx
call fcn.0055aac0
mov edx, 0x638cee
push edx
call fcn.0055aac0
call fcn.0055ab20
mov eax, str.DRVMS_DriveOpen
push eax
mov eax, str.drive_ms
push eax
call fcn.004f4332
add dword [esp + 8], edx
call fcn.004967c8
call fcn.004f4350
mov dword [section..data], 0xa000b5
push dword [esp + 4]
call sub.KERNEL32.dll_GetDriveTypeW
mov dword [esp + 0xc], eax
mov dword [section..data], 0xa000b7
mov ebx, dword [esp + 0xc]
cmp ebx, 5
je 0x440b49
mov dword [section..data], 0xa000b8
push edx
call fcn.0055a9f0
pop edx
push eax
push 0
push edx
call fcn.0055a9f0
pop edx
push eax
mov edx, str.Drive
push edx
call fcn.0055aac0
mov edx, dword [esp + 0x10]
push edx
call fcn.0055aac0
mov edx, str._is_not_a_CD_DVD_drive
push edx
call fcn.0055aac0
call fcn.0055ab20
mov eax, str.DRVMS_DriveOpen
push eax
mov eax, str.drive_ms
push eax
call fcn.004f4332
add dword [esp + 8], edx
call fcn.004967c8
call fcn.004f4350
mov dword [section..data], 0xa000b9
mov dword [esp + 0x10], 0xfffffa22
mov dword [section..data], 0xa000ba
jmp 0x440e61
mov dword [section..data], 0xa000bb
mov dword [section..data], 0xa000c2
push 0
push pe_nt_image_headers32
push 3
push 0
push 3
push 0xc0000000
push dword [esp + 0x20]
call sub.KERNEL32.dll_CreateFileW
mov dword [esp + 0x14], eax
mov dword [section..data], 0xa000c4
mov ebx, dword [esp + 0x14]
cmp ebx, 0xffffffff
je 0x440c13
mov dword [section..data], 0xa000c5
push edx
call fcn.0055a9f0
pop edx
push eax
push 3
push edx
call fcn.0055a9f0
pop edx
push eax
mov edx, str.CreateFile_1__
push edx
call fcn.0055aac0
mov edx, dword [esp + 0x10]
push edx
call fcn.0055aac0
mov edx, 0x655306
push edx
call fcn.0055aac0
mov edx, dword [esp + 0x14]
push edx
call fcn.0055aac0
mov edx, str.__with_GENERIC_READ__GENERIC_WRITE____SUCCESS
push edx
call fcn.0055aac0
call fcn.0055ab20
mov eax, str.DRVMS_DriveOpen
push eax
mov eax, str.drive_ms
push eax
call fcn.004f4332
add dword [esp + 8], edx
call fcn.004967c8
call fcn.004f4350
mov dword [section..data], 0xa000c6
mov dword [section..data], 0xa000c8
mov ebx, dword [esp + 0x14]
cmp ebx, 0xffffffff
jne 0x440d32
mov dword [section..data], 0xa000c9
call sub.KERNEL32.dll_GetLastError
mov dword [esp + 0x18], eax
mov dword [section..data], 0xa000cb
mov ebx, dword [esp + 0x18]
cmp ebx, 5
jne 0x440d28
mov dword [section..data], 0xa000cc
push 0
push pe_nt_image_headers32
push 3
push 0
push 3
push closesocket
push dword [esp + 0x20]
call sub.KERNEL32.dll_CreateFileW
mov dword [esp + 0x14], eax
mov dword [section..data], 0xa000ce
mov ebx, dword [esp + 0x14]
cmp ebx, 0xffffffff
je 0x440d1e
mov dword [section..data], 0xa000cf
push edx
call fcn.0055a9f0
pop edx
push eax
push 3
push edx
call fcn.0055a9f0
pop edx
push eax
mov edx, str.CreateFile_2__
push edx
call fcn.0055aac0
mov edx, dword [esp + 0x10]
push edx
call fcn.0055aac0
mov edx, 0x655306
push edx
call fcn.0055aac0
mov edx, dword [esp + 0x14]
push edx
call fcn.0055aac0
mov edx, str.__with_GENERIC_READ__no_GENERIC_WRITE____SUCCESS
push edx
call fcn.0055aac0
call fcn.0055ab20
mov eax, str.DRVMS_DriveOpen
push eax
mov eax, str.drive_ms
push eax
call fcn.004f4332
add dword [esp + 8], edx
call fcn.004967c8
call fcn.004f4350
mov dword [section..data], 0xa000d0
mov dword [section..data], 0xa000d1
mov dword [section..data], 0xa000d2
mov dword [section..data], 0xa000e2
mov ebx, dword [esp + 0x14]
cmp ebx, 0xffffffff
jne 0x440dd7
mov dword [section..data], 0xa000e3
push edx
call fcn.0055a9f0
pop edx
push eax
push 0
push edx
call fcn.0055a9f0
pop edx
push eax
mov edx, str.Failed_opening_Windows_drive__
push edx
call fcn.0055aac0
mov edx, dword [esp + 0x10]
push edx
call fcn.0055aac0
mov edx, 0x638cee
push edx
call fcn.0055aac0
call fcn.0055ab20
mov eax, str.DRVMS_DriveOpen
push eax
mov eax, str.drive_ms
push eax
call fcn.004f4332
add dword [esp + 8], edx
call fcn.004967c8
call fcn.004f4350
mov dword [section..data], 0xa000e4
mov dword [esp + 0x10], 0xfffffa23
mov dword [section..data], 0xa000e5
jmp 0x440e61
mov dword [section..data], 0xa000e6
mov dword [section..data], 0xa000e8
push edx
call fcn.0055a9f0
pop edx
push eax
push 3
push edx
call fcn.0055a9f0
pop edx
push eax
mov edx, str.Windows_drive
push edx
call fcn.0055aac0
mov edx, dword [esp + 0x10]
push edx
call fcn.0055aac0
mov edx, str._opened
push edx
call fcn.0055aac0
call fcn.0055ab20
mov eax, str.DRVMS_DriveOpen
push eax
mov eax, str.drive_ms
push eax
call fcn.004f4332
add dword [esp + 8], edx
call fcn.004967c8
call fcn.004f4350
mov dword [section..data], 0xa000e9
push dword [esp + 0x14]
pop eax
mov dword [esp + 0x10], eax
mov dword [section..data], 0xa000eb
mov dword [section..data], 0xa000ed
mov eax, dword [esp + 0x10]
jmp 0x440e7d
push dword [esp + 4]
call fcn.0055abf0
push dword [esp + 8]
call fcn.0055abf0
push dword [esp]
call fcn.0055abf0
add esp, 0x1c
pop ebx
ret 4