Function at 0x24d88e
Capabilities:
Get disk information

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x2bb63e
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
mov eax, 0x1c64
call fcn.002a2790
push edi
mov dword [ebp - 0x1c70], ecx
call dword [sym.imp.KERNEL32.dll_GetLogicalDrives]
mov dword [ebp - 0x230], eax
mov dword [ebp - 0x228], 0
mov dword [ebp - 0x44c], 0
mov eax, dword [0x2d6a60]
mov dword [ebp - 0x224], eax
mov cl, byte [0x2d6a64]
mov byte [ebp - 0x220], cl
mov ecx, 0x84
xor eax, eax
lea edi, [ebp - 0x444]
rep stosd dword es:[edi], eax
mov ecx, 0x84
xor eax, eax
lea edi, [ebp - 0x21c]
rep stosd dword es:[edi], eax
mov dword [ebp - 0x22c], 2
jmp 0x24d927
mov edx, dword [ebp - 0x22c]
add edx, 1
mov dword [ebp - 0x22c], edx
cmp dword [ebp - 0x22c], 0x1a
jge 0x24d9f8
mov eax, dword [ebp - 0x230]
mov ecx, dword [ebp - 0x22c]
shr eax, cl
and eax, 1
test eax, eax
jne 0x24d94b
jmp 0x24d918
mov ecx, dword [ebp + 0x28]
push ecx
mov edx, dword [ebp + 0x24]
push edx
mov eax, dword [ebp - 0x22c]
add eax, 0x41
push eax
mov ecx, dword [ebp - 0x1c70]
call fcn.0024dc96
test eax, eax
jne 0x24d9f3
mov byte [ebp - 0x1450], 0
mov ecx, dword [ebp + 0x34]
push ecx
mov edx, dword [ebp + 0x2c]
push edx
mov eax, dword [ebp + 0x30]
push eax
mov ecx, dword [ebp + 0x28]
push ecx
mov edx, dword [ebp + 0x24]
push edx
mov eax, dword [ebp + 0x20]
push eax
mov ecx, dword [ebp + 0x1c]
push ecx
mov edx, dword [ebp + 0x18]
push edx
mov eax, dword [ebp + 0x14]
push eax
mov ecx, dword [ebp + 0x10]
push ecx
mov edx, dword [ebp + 0xc]
push edx
lea eax, [ebp - 0x1450]
push eax
mov ecx, dword [ebp - 0x22c]
add ecx, 0x41
push ecx
mov ecx, dword [ebp - 0x1c70]
call fcn.0024f260
test eax, eax
je 0x24d9c8
jmp 0x24d918
mov edx, dword [ebp - 0x1450]
and edx, 0xff
test edx, edx
je 0x24d9f3
mov eax, 1
mov ecx, dword [ebp - 0x22c]
shl eax, cl
mov ecx, dword [ebp - 0x228]
or ecx, eax
mov dword [ebp - 0x228], ecx
jmp 0x24d918
mov dword [ebp - 0x22c], 2
jmp 0x24da13
mov edx, dword [ebp - 0x22c]
add edx, 1
mov dword [ebp - 0x22c], edx
cmp dword [ebp - 0x22c], 0x1a
jge 0x24dc7f
mov eax, dword [ebp - 0x228]
mov ecx, dword [ebp - 0x22c]
shr eax, cl
and eax, 1
test eax, eax
jne 0x24da37
jmp 0x24da04
push 0
mov ecx, dword [ebp - 0x22c]
add ecx, 0x41
push ecx
lea ecx, [ebp - 0x1c64]
call fcn.00259318
mov dword [ebp - 4], 0
mov ecx, 0x84
xor eax, eax
lea edi, [ebp - 0x21c]
rep stosd dword es:[edi], eax
lea edx, [ebp - 0x21c]
push edx
push 0
lea ecx, [ebp - 0x1c64]
call fcn.0025c39f
test eax, eax
je 0x24da93
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x1c64]
call fcn.00259427
jmp 0x24da04
mov ecx, 0x84
xor eax, eax
lea edi, [ebp - 0x444]
rep stosd dword es:[edi], eax
lea eax, [ebp - 0x444]
push eax
lea ecx, [ebp - 0x224]
push ecx
lea ecx, [ebp - 0x1c64]
call fcn.0025c39f
test eax, eax
je 0x24dad6
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x1c64]
call fcn.00259427
jmp 0x24da04
mov ecx, 0x20
xor eax, eax
mov edx, dword [ebp - 0x44c]
shl edx, 7
lea edi, [ebp + edx - 0x144c]
rep stosd dword es:[edi], eax
mov eax, dword [ebp - 0x44c]
shl eax, 7
lea ecx, [ebp + eax - 0x144c]
push ecx
lea edx, [ebp - 0x21c]
push edx
mov ecx, dword [ebp - 0x1c70]
call fcn.00249920
mov byte [ebp - 0x448], 0
mov dword [ebp - 0x1454], 0
jmp 0x24db34
mov edx, dword [ebp - 0x1454]
add edx, 1
mov dword [ebp - 0x1454], edx
mov eax, dword [ebp - 0x1454]
cmp eax, dword [ebp - 0x44c]
jge 0x24dbc8
push 0x80
mov ecx, dword [ebp - 0x44c]
shl ecx, 7
lea edx, [ebp + ecx - 0x144c]
push edx
mov eax, dword [ebp - 0x1454]
shl eax, 7
lea ecx, [ebp + eax - 0x144c]
push ecx
call fcn.002a2cb2
add esp, 0xc
test eax, eax
jne 0x24dbc3
mov byte [ebp - 0x448], 1
mov edx, dword [ebp + 8]
mov dword [ebp - 0x1c68], edx
mov eax, dword [ebp - 0x1454]
imul eax, eax, 0x84e
mov ecx, dword [ebp - 0x1c68]
add ecx, eax
mov dword [ebp - 0x234], ecx
mov edx, dword [ebp - 0x22c]
add edx, 0x41
mov eax, dword [ebp - 0x9b]
and eax, 0xff
mov ecx, dword [ebp - 0x234]
mov byte [ecx + eax + 0x34], dl
jmp 0x24dbc8
jmp 0x24db25
mov edx, dword [ebp - 0x448]
and edx, 0xff
test edx, edx
jne 0x24dc68
mov eax, dword [ebp + 8]
mov dword [ebp - 0x1c6c], eax
mov ecx, dword [ebp - 0x44c]
imul ecx, ecx, 0x84e
mov edx, dword [ebp - 0x1c6c]
add edx, ecx
mov dword [ebp - 0x234], edx
mov eax, dword [ebp - 0x22c]
add eax, 0x41
mov ecx, dword [ebp - 0x9b]
and ecx, 0xff
mov edx, dword [ebp - 0x234]
mov byte [edx + ecx + 0x34], al
mov eax, dword [ebp - 0x398]
and eax, 0xff
mov ecx, dword [ebp - 0x234]
mov dword [ecx + 0x48], eax
mov edx, dword [ebp - 0x8f]
and edx, 0xff
cmp edx, 0xb
jne 0x24dc4f
mov eax, dword [ebp - 0x234]
mov byte [eax + 0x4c], 1
jmp 0x24dc59
mov ecx, dword [ebp - 0x234]
mov byte [ecx + 0x4c], 0
mov edx, dword [ebp - 0x44c]
add edx, 1
mov dword [ebp - 0x44c], edx
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x1c64]
call fcn.00259427
jmp 0x24da04
mov eax, dword [ebp - 0x44c]
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop edi
mov esp, ebp
pop ebp
ret 0x30