Function at 0x445a8e
Capabilities:
Get disk information

Disassembly:
push ebx
xor eax, eax
push eax
push eax
push eax
push eax
push eax
push eax
call fcn.0057b2e0
push dword [esp + 0x28]
call fcn.0050d240
mov edx, dword [esp + 0x20]
lea ecx, [esp]
call fcn.0050d0f0
mov dword [section..data], 0xa00082
mov dword [section..data], 0xa0008c
push edx
call fcn.0057b460
pop edx
push eax
push edx
call fcn.0057b460
pop edx
push eax
push edx
call fcn.0057b460
pop edx
push eax
push edx
call fcn.0057b460
pop edx
push eax
push 1
push dword [esp + 0x14]
call fcn.005698f0
call fcn.0050d222
add dword [esp], edx
call fcn.0056ab00
mov edx, 0x69f8f8
push edx
call fcn.0057b230
lea eax, [esp + 8]
push eax
call fcn.0057b350
mov dword [section..data], 0xa0008d
mov dword [esp + 0xc], 0x104
mov dword [section..data], 0xa0008e
push edx
call fcn.0057b460
pop edx
push eax
push edx
call fcn.0057b460
pop edx
push eax
push dword [esp + 0x14]
call fcn.0056a2d0
lea eax, [esp + 0xc]
push eax
call fcn.0057b350
mov dword [section..data], 0xa00090
push 0
push 0
push 0
push 0
push 0
push dword [esp + 0x20]
mov eax, dword [esp + 0x20]
push eax
mov eax, dword [esp + 0x20]
push eax
call sub.KERNEL32.dll_GetVolumeInformationW
and eax, eax
je 0x445cc6
mov dword [section..data], 0xa00091
mov ebx, dword [esp + 0x24]
and ebx, ebx
jl 0x445cad
mov dword [section..data], 0xa00092
mov eax, dword [esp + 4]
push eax
call sub.KERNEL32.dll_GetDriveTypeW
mov dword [esp + 0x10], eax
mov dword [section..data], 0xa00093
mov ebx, dword [esp + 0x10]
cmp ebx, dword [esp + 0x24]
je 0x445ca3
mov dword [section..data], 0xa00094
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 + 0xc]
push edx
call fcn.0057b230
mov edx, str._is_not_the_expected_type___
push edx
call fcn.0057b230
push edx
call fcn.0057b460
pop edx
push eax
push edx
call fcn.0057b460
pop edx
push eax
mov eax, dword [esp + 0x24]
cdq
push edx
push eax
call fcn.0056a320
pop eax
mov edx, 0x67d488
push edx
call fcn.0057b230
push edx
call fcn.0057b460
pop edx
push eax
push edx
call fcn.0057b460
pop edx
push eax
mov eax, dword [esp + 0x38]
cdq
push edx
push eax
call fcn.0056a320
pop eax
mov edx, 0x67df2c
push edx
call fcn.0057b230
call fcn.0057b490
mov eax, str.DRVMS_GetVolumeName_
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], 0xa00095
mov edx, str.ERROR
lea ecx, [esp + 8]
call fcn.0050d0f8
mov dword [section..data], 0xa00096
mov dword [section..data], 0xa00097
mov dword [section..data], 0xa00098
jmp 0x445d8e
mov dword [section..data], 0xa00098
mov dword [section..data], 0xa00099
call sub.KERNEL32.dll_GetLastError
mov dword [esp + 0x14], eax
mov dword [section..data], 0xa0009a
push edx
call fcn.0057b460
pop edx
push eax
push 0
push edx
call fcn.0057b460
pop edx
push eax
mov edx, str.Error_getting_volume_name__
push edx
call fcn.0057b230
push edx
call fcn.0057b460
pop edx
push eax
push dword [esp + 0x24]
call fcn.004453c2
pop eax
mov edx, str.___0x
push edx
call fcn.0057b230
push edx
call fcn.0057b460
pop edx
push eax
push edx
call fcn.0057b460
pop edx
push eax
mov eax, dword [esp + 0x28]
cdq
push edx
push eax
call fcn.005697f0
pop eax
mov edx, 0x67ce72
push edx
call fcn.0057b230
call fcn.0057b490
mov eax, str.DRVMS_GetVolumeName_
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], 0xa0009b
mov edx, str.ERROR
lea ecx, [esp + 8]
call fcn.0050d0f8
mov dword [section..data], 0xa0009c
mov dword [section..data], 0xa0009e
mov edx, dword [esp + 8]
push edx
call fcn.0057b460
pop edx
push eax
push edx
call fcn.0057b230
pop eax
push eax
call fcn.0050d210
pop edx
add eax, edx
jmp 0x445dd4
push dword [esp + 4]
call fcn.0057b3c0
push dword [esp + 8]
call fcn.0057b3c0
push dword [esp]
call fcn.0057b3c0
add esp, 0x18
pop ebx
ret 8