Function at 0x447202
Capabilities:
Get disk information

Disassembly:
push ebx
mov edx, 7
sub esp, 4
mov dword [esp], 0
dec edx
jne 0x447208
call fcn.0057b2e0
mov edx, dword [esp + 0x24]
lea ecx, [esp]
call fcn.0050d0f0
mov dword [section..data], 0xa000a1
mov dword [section..data], 0xa000a8
push edx
call fcn.0057b460
pop edx
push eax
push edx
call fcn.0057b460
pop edx
push eax
push 1
push dword [esp + 0xc]
call fcn.005698f0
mov edx, 0x69f8f8
push edx
call fcn.0057b230
call fcn.0057b490
lea eax, [esp + 8]
push eax
call fcn.0057b350
mov dword [section..data], 0xa000a9
push edx
call fcn.0057b460
pop edx
push eax
mov edx, str.._
push edx
call fcn.0057b230
push edx
call fcn.0057b460
pop edx
push eax
push edx
call fcn.0057b460
pop edx
push eax
push 1
push dword [esp + 0x10]
call fcn.005698f0
pop eax
mov edx, 0x67dd0a
push edx
call fcn.0057b230
lea eax, [esp + 0xc]
push eax
call fcn.0057b350
mov dword [section..data], 0xa000ab
mov dword [esp + 0x10], 1
mov dword [section..data], 0xa000af
mov dword [section..data], 0xa000b1
push edx
call fcn.0057b460
pop edx
push eax
push 3
push edx
call fcn.0057b460
pop edx
push eax
mov edx, str.Opening_Windows_drive__
push edx
call fcn.0057b230
mov edx, dword [esp + 0x10]
push edx
call fcn.0057b230
mov edx, 0x67df2c
push edx
call fcn.0057b230
call fcn.0057b490
mov eax, str.DRVMS_DriveOpen
push eax
mov eax, str.drive_ms
push eax
call fcn.0050d222
add dword [esp + 8], edx
call fcn.004ae98d
call fcn.0050d240
mov dword [section..data], 0xa000b3
push dword [esp + 4]
call sub.KERNEL32.dll_GetDriveTypeW
mov dword [esp + 0xc], eax
mov dword [section..data], 0xa000b5
mov ebx, dword [esp + 0xc]
cmp ebx, 5
je 0x4473f4
mov dword [section..data], 0xa000b6
push edx
call fcn.0057b460
pop edx
push eax
push 0
push edx
call fcn.0057b460
pop edx
push eax
mov edx, str.Drive
push edx
call fcn.0057b230
mov edx, dword [esp + 0x10]
push edx
call fcn.0057b230
mov edx, str._is_not_a_CD_DVD_drive
push edx
call fcn.0057b230
call fcn.0057b490
mov eax, str.DRVMS_DriveOpen
push eax
mov eax, str.drive_ms
push eax
call fcn.0050d222
add dword [esp + 8], edx
call fcn.004ae98d
call fcn.0050d240
mov dword [section..data], 0xa000b7
mov dword [esp + 0x10], 0xfffffa22
mov dword [section..data], 0xa000b8
jmp 0x44770c
mov dword [section..data], 0xa000b9
mov dword [section..data], 0xa000c0
push 0
push 0x80
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], 0xa000c2
mov ebx, dword [esp + 0x14]
cmp ebx, 0xffffffff
je 0x4474be
mov dword [section..data], 0xa000c3
push edx
call fcn.0057b460
pop edx
push eax
push 3
push edx
call fcn.0057b460
pop edx
push eax
mov edx, str.CreateFile_1__
push edx
call fcn.0057b230
mov edx, dword [esp + 0x10]
push edx
call fcn.0057b230
mov edx, 0x69ad3c
push edx
call fcn.0057b230
mov edx, dword [esp + 0x14]
push edx
call fcn.0057b230
mov edx, str.__with_GENERIC_READ__GENERIC_WRITE____SUCCESS
push edx
call fcn.0057b230
call fcn.0057b490
mov eax, str.DRVMS_DriveOpen
push eax
mov eax, str.drive_ms
push eax
call fcn.0050d222
add dword [esp + 8], edx
call fcn.004ae98d
call fcn.0050d240
mov dword [section..data], 0xa000c4
mov dword [section..data], 0xa000c6
mov ebx, dword [esp + 0x14]
cmp ebx, 0xffffffff
jne 0x4475dd
mov dword [section..data], 0xa000c7
call sub.KERNEL32.dll_GetLastError
mov dword [esp + 0x18], eax
mov dword [section..data], 0xa000c9
mov ebx, dword [esp + 0x18]
cmp ebx, 5
jne 0x4475d3
mov dword [section..data], 0xa000ca
push 0
push 0x80
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], 0xa000cc
mov ebx, dword [esp + 0x14]
cmp ebx, 0xffffffff
je 0x4475c9
mov dword [section..data], 0xa000cd
push edx
call fcn.0057b460
pop edx
push eax
push 3
push edx
call fcn.0057b460
pop edx
push eax
mov edx, str.CreateFile_2__
push edx
call fcn.0057b230
mov edx, dword [esp + 0x10]
push edx
call fcn.0057b230
mov edx, 0x69ad3c
push edx
call fcn.0057b230
mov edx, dword [esp + 0x14]
push edx
call fcn.0057b230
mov edx, str.__with_GENERIC_READ__no_GENERIC_WRITE____SUCCESS
push edx
call fcn.0057b230
call fcn.0057b490
mov eax, str.DRVMS_DriveOpen
push eax
mov eax, str.drive_ms
push eax
call fcn.0050d222
add dword [esp + 8], edx
call fcn.004ae98d
call fcn.0050d240
mov dword [section..data], 0xa000ce
mov dword [section..data], 0xa000cf
mov dword [section..data], 0xa000d0
mov dword [section..data], 0xa000e0
mov ebx, dword [esp + 0x14]
cmp ebx, 0xffffffff
jne 0x447682
mov dword [section..data], 0xa000e1
push edx
call fcn.0057b460
pop edx
push eax
push 0
push edx
call fcn.0057b460
pop edx
push eax
mov edx, str.Failed_opening_Windows_drive__
push edx
call fcn.0057b230
mov edx, dword [esp + 0x10]
push edx
call fcn.0057b230
mov edx, 0x67df2c
push edx
call fcn.0057b230
call fcn.0057b490
mov eax, str.DRVMS_DriveOpen
push eax
mov eax, str.drive_ms
push eax
call fcn.0050d222
add dword [esp + 8], edx
call fcn.004ae98d
call fcn.0050d240
mov dword [section..data], 0xa000e2
mov dword [esp + 0x10], 0xfffffa23
mov dword [section..data], 0xa000e3
jmp 0x44770c
mov dword [section..data], 0xa000e4
mov dword [section..data], 0xa000e6
push edx
call fcn.0057b460
pop edx
push eax
push 3
push edx
call fcn.0057b460
pop edx
push eax
mov edx, str.Windows_drive
push edx
call fcn.0057b230
mov edx, dword [esp + 0x10]
push edx
call fcn.0057b230
mov edx, str._opened
push edx
call fcn.0057b230
call fcn.0057b490
mov eax, str.DRVMS_DriveOpen
push eax
mov eax, str.drive_ms
push eax
call fcn.0050d222
add dword [esp + 8], edx
call fcn.004ae98d
call fcn.0050d240
mov dword [section..data], 0xa000e7
push dword [esp + 0x14]
pop eax
mov dword [esp + 0x10], eax
mov dword [section..data], 0xa000e9
mov dword [section..data], 0xa000eb
mov eax, dword [esp + 0x10]
jmp 0x447728
push dword [esp + 4]
call fcn.0057b3c0
push dword [esp + 8]
call fcn.0057b3c0
push dword [esp]
call fcn.0057b3c0
add esp, 0x1c
pop ebx
ret 4