Function at 0x4431e4
Capabilities:
Get disk information

Disassembly:
push ebx
mov edx, 7
sub esp, 4
mov dword [esp], 0
dec edx
jne 0x4431ea
call fcn.005873a0
mov edx, dword [esp + 0x24]
lea ecx, [esp]
call fcn.004fc000
mov dword [section..data], 0xa000a3
mov dword [section..data], 0xa000aa
push edx
call fcn.00587290
pop edx
push eax
push edx
call fcn.00587290
pop edx
push eax
push 1
push dword [esp + 0xc]
call fcn.005752e0
mov edx, 0x6e043a
push edx
call fcn.00587330
call fcn.00587380
lea eax, [esp + 8]
push eax
call fcn.005872c0
mov dword [section..data], 0xa000ab
push edx
call fcn.00587290
pop edx
push eax
mov edx, str.._
push edx
call fcn.00587330
push edx
call fcn.00587290
pop edx
push eax
push edx
call fcn.00587290
pop edx
push eax
push 1
push dword [esp + 0x10]
call fcn.005752e0
pop eax
mov edx, 0x6bed64
push edx
call fcn.00587330
lea eax, [esp + 0xc]
push eax
call fcn.005872c0
mov dword [section..data], 0xa000ad
mov dword [esp + 0x10], 1
mov dword [section..data], 0xa000b1
mov dword [section..data], 0xa000b3
push edx
call fcn.00587290
pop edx
push eax
push 3
push edx
call fcn.00587290
pop edx
push eax
mov edx, str.Opening_Windows_drive__
push edx
call fcn.00587330
mov edx, dword [esp + 0x10]
push edx
call fcn.00587330
mov edx, 0x6bef86
push edx
call fcn.00587330
call fcn.00587380
mov eax, str.DRVMS_DriveOpen
push eax
mov eax, str.drive_ms
push eax
call fcn.004fc302
add dword [esp + 8], edx
call fcn.0049e102
call fcn.004fc320
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 0x4433d6
mov dword [section..data], 0xa000b8
push edx
call fcn.00587290
pop edx
push eax
push 0
push edx
call fcn.00587290
pop edx
push eax
mov edx, str.Drive
push edx
call fcn.00587330
mov edx, dword [esp + 0x10]
push edx
call fcn.00587330
mov edx, str._is_not_a_CD_DVD_drive
push edx
call fcn.00587330
call fcn.00587380
mov eax, str.DRVMS_DriveOpen
push eax
mov eax, str.drive_ms
push eax
call fcn.004fc302
add dword [esp + 8], edx
call fcn.0049e102
call fcn.004fc320
mov dword [section..data], 0xa000b9
mov dword [esp + 0x10], 0xfffffa22
mov dword [section..data], 0xa000ba
jmp 0x4436ee
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 0x4434a0
mov dword [section..data], 0xa000c5
push edx
call fcn.00587290
pop edx
push eax
push 3
push edx
call fcn.00587290
pop edx
push eax
mov edx, str.CreateFile_1__
push edx
call fcn.00587330
mov edx, dword [esp + 0x10]
push edx
call fcn.00587330
mov edx, 0x6db8ba
push edx
call fcn.00587330
mov edx, dword [esp + 0x14]
push edx
call fcn.00587330
mov edx, str.__with_GENERIC_READ__GENERIC_WRITE____SUCCESS
push edx
call fcn.00587330
call fcn.00587380
mov eax, str.DRVMS_DriveOpen
push eax
mov eax, str.drive_ms
push eax
call fcn.004fc302
add dword [esp + 8], edx
call fcn.0049e102
call fcn.004fc320
mov dword [section..data], 0xa000c6
mov dword [section..data], 0xa000c8
mov ebx, dword [esp + 0x14]
cmp ebx, 0xffffffff
jne 0x4435bf
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 0x4435b5
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 0x4435ab
mov dword [section..data], 0xa000cf
push edx
call fcn.00587290
pop edx
push eax
push 3
push edx
call fcn.00587290
pop edx
push eax
mov edx, str.CreateFile_2__
push edx
call fcn.00587330
mov edx, dword [esp + 0x10]
push edx
call fcn.00587330
mov edx, 0x6db8ba
push edx
call fcn.00587330
mov edx, dword [esp + 0x14]
push edx
call fcn.00587330
mov edx, str.__with_GENERIC_READ__no_GENERIC_WRITE____SUCCESS
push edx
call fcn.00587330
call fcn.00587380
mov eax, str.DRVMS_DriveOpen
push eax
mov eax, str.drive_ms
push eax
call fcn.004fc302
add dword [esp + 8], edx
call fcn.0049e102
call fcn.004fc320
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 0x443664
mov dword [section..data], 0xa000e3
push edx
call fcn.00587290
pop edx
push eax
push 0
push edx
call fcn.00587290
pop edx
push eax
mov edx, str.Failed_opening_Windows_drive__
push edx
call fcn.00587330
mov edx, dword [esp + 0x10]
push edx
call fcn.00587330
mov edx, 0x6bef86
push edx
call fcn.00587330
call fcn.00587380
mov eax, str.DRVMS_DriveOpen
push eax
mov eax, str.drive_ms
push eax
call fcn.004fc302
add dword [esp + 8], edx
call fcn.0049e102
call fcn.004fc320
mov dword [section..data], 0xa000e4
mov dword [esp + 0x10], 0xfffffa23
mov dword [section..data], 0xa000e5
jmp 0x4436ee
mov dword [section..data], 0xa000e6
mov dword [section..data], 0xa000e8
push edx
call fcn.00587290
pop edx
push eax
push 3
push edx
call fcn.00587290
pop edx
push eax
mov edx, str.Windows_drive
push edx
call fcn.00587330
mov edx, dword [esp + 0x10]
push edx
call fcn.00587330
mov edx, str._opened
push edx
call fcn.00587330
call fcn.00587380
mov eax, str.DRVMS_DriveOpen
push eax
mov eax, str.drive_ms
push eax
call fcn.004fc302
add dword [esp + 8], edx
call fcn.0049e102
call fcn.004fc320
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 0x44370a
push dword [esp + 4]
call fcn.00587410
push dword [esp + 8]
call fcn.00587410
push dword [esp]
call fcn.00587410
add esp, 0x1c
pop ebx
ret 4