Function at 0x440e9e
Capabilities:
Get disk information

Disassembly:
push ebx
xor eax, eax
push eax
push eax
push eax
push eax
push eax
push eax
call fcn.0055ab90
push dword [esp + 0x28]
call fcn.004f4350
mov edx, dword [esp + 0x20]
lea ecx, [esp]
call fcn.004f4000
mov dword [section..data], 0xa00084
mov dword [section..data], 0xa0008e
push edx
call fcn.0055a9f0
pop edx
push eax
push edx
call fcn.0055a9f0
pop edx
push eax
push edx
call fcn.0055a9f0
pop edx
push eax
push edx
call fcn.0055a9f0
pop edx
push eax
push 1
push dword [esp + 0x14]
call fcn.00549920
call fcn.004f4332
add dword [esp], edx
call fcn.005498b0
mov edx, 0x659eee
push edx
call fcn.0055aac0
lea eax, [esp + 8]
push eax
call fcn.0055aa30
mov dword [section..data], 0xa0008f
mov dword [esp + 0xc], 0x104
mov dword [section..data], 0xa00090
push edx
call fcn.0055a9f0
pop edx
push eax
push edx
call fcn.0055a9f0
pop edx
push eax
push dword [esp + 0x14]
call fcn.00549990
lea eax, [esp + 0xc]
push eax
call fcn.0055aa30
mov dword [section..data], 0xa00092
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 0x4410d6
mov dword [section..data], 0xa00093
mov ebx, dword [esp + 0x24]
and ebx, ebx
jl 0x4410bd
mov dword [section..data], 0xa00094
mov eax, dword [esp + 4]
push eax
call sub.KERNEL32.dll_GetDriveTypeW
mov dword [esp + 0x10], eax
mov dword [section..data], 0xa00095
mov ebx, dword [esp + 0x10]
cmp ebx, dword [esp + 0x24]
je 0x4410b3
mov dword [section..data], 0xa00096
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 + 0xc]
push edx
call fcn.0055aac0
mov edx, str._is_not_the_expected_type___
push edx
call fcn.0055aac0
push edx
call fcn.0055a9f0
pop edx
push eax
push edx
call fcn.0055a9f0
pop edx
push eax
mov eax, dword [esp + 0x24]
cdq
push edx
push eax
call fcn.00548d10
pop eax
mov edx, 0x63824a
push edx
call fcn.0055aac0
push edx
call fcn.0055a9f0
pop edx
push eax
push edx
call fcn.0055a9f0
pop edx
push eax
mov eax, dword [esp + 0x38]
cdq
push edx
push eax
call fcn.00548d10
pop eax
mov edx, 0x638cee
push edx
call fcn.0055aac0
call fcn.0055ab20
mov eax, str.DRVMS_GetVolumeName
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], 0xa00097
mov edx, str.ERROR
lea ecx, [esp + 8]
call fcn.004f4008
mov dword [section..data], 0xa00098
mov dword [section..data], 0xa00099
mov dword [section..data], 0xa0009a
jmp 0x441176
mov dword [section..data], 0xa0009a
mov dword [section..data], 0xa0009b
call sub.KERNEL32.dll_GetLastError
mov dword [esp + 0x14], eax
mov dword [section..data], 0xa0009c
push edx
call fcn.0055a9f0
pop edx
push eax
push 0
push edx
call fcn.0055a9f0
pop edx
push eax
mov edx, str.Error_getting_volume_name__
push edx
call fcn.0055aac0
push edx
call fcn.0055a9f0
pop edx
push eax
push dword [esp + 0x24]
call fcn.0043ee7e
pop eax
mov edx, 0x637c34
push edx
call fcn.0055aac0
call fcn.0055ab20
mov eax, str.DRVMS_GetVolumeName
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], 0xa0009d
mov edx, str.ERROR
lea ecx, [esp + 8]
call fcn.004f4008
mov dword [section..data], 0xa0009e
mov dword [section..data], 0xa000a0
mov edx, dword [esp + 8]
push edx
call fcn.0055a9f0
pop edx
push eax
push edx
call fcn.0055aac0
pop eax
push eax
call fcn.004f4320
pop edx
add eax, edx
jmp 0x4411bc
push dword [esp + 4]
call fcn.0055abf0
push dword [esp + 8]
call fcn.0055abf0
push dword [esp]
call fcn.0055abf0
add esp, 0x18
pop ebx
ret 8