Function at 0x42d90c
Capabilities:
Get disk information

Disassembly:
push ebp
mov ebp, esp
mov ecx, 0x8e
push 0
push 0
dec ecx
jne 0x42d914
push ecx
push ebx
push esi
push edi
mov esi, eax
xor eax, eax
push ebp
push 0x42dbdc
push dword fs:[eax]
mov dword fs:[eax], esp
mov eax, esi
call fcn.004081ec
xor ebx, ebx
push 1
call sub.kernel32.dll_SetErrorMode
lea eax, [ebp - 0x20]
push eax
lea eax, [ebp - 0x28]
push eax
lea eax, [ebp - 0x18]
push eax
lea eax, [ebp - 0x450]
mov edi, ebx
add di, 0x41
mov edx, edi
call fcn.00408f20
lea eax, [ebp - 0x450]
mov edx, 0x42dbf8
call fcn.00409088
mov eax, dword [ebp - 0x450]
call fcn.00408f0c
push eax
mov eax, dword [0x4448e4]
mov eax, dword [eax]
call eax
test eax, eax
je 0x42dadc
mov eax, dword [ebp - 0x28]
mov edx, dword [ebp - 0x24]
sub eax, dword [ebp - 0x20]
sbb edx, dword [ebp - 0x1c]
mov dword [ebp - 0x30], eax
mov dword [ebp - 0x2c], edx
lea eax, [ebp - 4]
call fcn.00408210
push 0x104
lea eax, [ebp - 0x44c]
push eax
lea eax, [ebp - 0x3c]
push eax
lea eax, [ebp - 0x38]
push eax
lea eax, [ebp - 0x34]
push eax
push 0x104
lea eax, [ebp - 0x244]
push eax
lea eax, [ebp - 0x454]
mov edx, ebx
add dx, 0x41
call fcn.00408f20
lea eax, [ebp - 0x454]
mov edx, 0x42dbf8
call fcn.00409088
mov eax, dword [ebp - 0x454]
call fcn.00408f0c
push eax
call sub.kernel32.dll_GetVolumeInformationW
test eax, eax
je 0x42da12
lea eax, [ebp - 4]
lea edx, [ebp - 0x244]
mov ecx, 0x104
call fcn.00408c64
mov eax, dword [ebp - 4]
xor edx, edx
call fcn.00408e70
jne 0x42da2b
lea eax, [ebp - 4]
mov edx, 0x42dc04
call fcn.00408638
push dword [ebp - 8]
lea eax, [ebp - 0x468]
mov edx, edi
call fcn.00408be8
mov eax, dword [ebp - 0x468]
lea edx, [ebp - 0x464]
call fcn.004187a0
push dword [ebp - 0x464]
push 0x42dc14
push dword [ebp - 4]
push 0x42dc1c
lea eax, [ebp - 0x460]
mov edx, 5
call fcn.00408da4
mov edx, dword [ebp - 0x460]
lea eax, [ebp - 0x45c]
call fcn.00408fd8
push dword [ebp - 0x45c]
push dword [ebp - 0x2c]
push dword [ebp - 0x30]
lea eax, [ebp - 0x46c]
call fcn.00418c40
push dword [ebp - 0x46c]
push 0x42dc2c
push dword [ebp - 0x24]
push dword [ebp - 0x28]
lea eax, [ebp - 0x470]
call fcn.00418c40
push dword [ebp - 0x470]
push 0x42dc3c
lea eax, [ebp - 0x458]
mov edx, 5
call fcn.00409168
mov edx, dword [ebp - 0x458]
lea eax, [ebp - 8]
call fcn.00408fec
inc ebx
cmp ebx, 0x1a
jne 0x42d938
mov ebx, dword [ebp - 8]
test ebx, ebx
je 0x42daf6
sub ebx, 4
mov eax, dword [ebx]
shr eax, 1
mov ebx, eax
push 0x42dc4c
lea eax, [ebp - 0x474]
push eax
mov ecx, ebx
sub ecx, 4
mov edx, 1
mov eax, dword [ebp - 8]
call fcn.00408e78
push dword [ebp - 0x474]
push 0x42dc68
lea eax, [ebp - 8]
mov edx, 3
call fcn.00408da4
lea edx, [ebp - 0xc]
mov eax, dword [ebp - 8]
call fcn.0040de70
mov eax, esi
call fcn.004081ec
mov eax, dword [ebp - 0xc]
test eax, eax
je 0x42db4a
sub eax, 4
mov eax, dword [eax]
mov edx, esi
xor ecx, ecx
xchg edx, eax
call fcn.00408b30
lea eax, [ebp - 0xc]
call fcn.00408784
mov ebx, eax
mov eax, esi
call fcn.00408784
mov edx, eax
mov eax, dword [ebp - 0xc]
test eax, eax
je 0x42db73
sub eax, 4
mov eax, dword [eax]
mov ecx, eax
mov eax, ebx
call fcn.00404738
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
push 0x42dbe3
lea eax, [ebp - 0x474]
call fcn.00408210
lea eax, [ebp - 0x470]
mov edx, 2
call fcn.00408228
lea eax, [ebp - 0x468]
mov edx, 3
call fcn.00408298
lea eax, [ebp - 0x45c]
mov edx, 4
call fcn.00408228
lea eax, [ebp - 0xc]
call fcn.004081ec
lea eax, [ebp - 8]
mov edx, 2
call fcn.00408298
pop eax
jmp eax