Function at 0x100da02
Capabilities:
Get disk information

Disassembly:
mov edi, edi
push ebp
mov ebp, esp
sub esp, 0x454
mov eax, dword [0x1021480]
xor eax, ebp
mov dword [ebp - 4], eax
mov ecx, dword [ebp + 8]
mov eax, dword [ebp + 0xc]
push ebx
push esi
push edi
mov dword [ebp - 0x454], ecx
mov dword [ebp - 0x450], eax
mov eax, dword [0x1021360]
mov esi, 0x1021360
cmp eax, esi
je 0x100da56
test dword [eax + 0x1c], 0x20000000
je 0x100da56
push ecx
push 0x1002528
push 0x12
push dword [eax + 0x14]
push dword [eax + 0x10]
call fcn.01007e17
push 1
push 0x1f8
push 0x1002678
lea ecx, [ebp - 0x440]
call fcn.0100c063
xor eax, eax
xor ebx, ebx
mov edi, 0x208
push edi
mov word [ebp - 0x210], ax
lea eax, [ebp - 0x20e]
push ebx
push eax
mov dword [ebp - 0x44c], 0x1002828
mov dword [ebp - 0x448], ebx
mov dword [ebp - 0x444], ebx
call sub.msvcrt.dll_memset
xor eax, eax
push edi
mov word [ebp - 0x41c], ax
lea eax, [ebp - 0x41a]
push ebx
push eax
call sub.msvcrt.dll_memset
mov edx, dword [ebp - 0x454]
add esp, 0x18
lea eax, [edi - 0xa]
cmp edx, ebx
jne 0x100dade
mov dword [ebp - 0x440], 0x80070057
mov word [ebp - 0x43a], ax
jmp 0x100dcde
mov word [ebp - 0x43c], ax
mov eax, 0x1ff
cmp dword [ebp - 0x450], ebx
je 0x100dac8
mov word [ebp - 0x43c], ax
inc eax
cmp dword [ebp + 0x10], ebx
jbe 0x100dac8
lea ecx, [ebp - 0x44c]
mov dword [ebp - 0x440], ebx
mov word [ebp - 0x43c], ax
call fcn.0100f210
mov dword [ebp - 0x440], eax
cmp eax, ebx
mov eax, 0x203
jl 0x100dad2
mov word [ebp - 0x43c], ax
inc eax
cmp dword [ebp - 0x448], ebx
je 0x100dac8
push 0x5c
pop edx
lea ecx, [ebp - 0x44c]
mov dword [ebp - 0x440], ebx
mov word [ebp - 0x43c], ax
call fcn.0100f1ba
mov dword [ebp - 0x440], eax
cmp eax, ebx
mov eax, 0x206
jl 0x100dad2
mov word [ebp - 0x43c], ax
mov edi, 0x105
push edi
lea eax, [ebp - 0x210]
push eax
push dword [ebp - 0x44c]
call dword [sym.imp.KERNEL32.dll_GetVolumePathNameW]
test eax, eax
jne 0x100dbe1
call fcn.0100d43e
mov dword [ebp - 0x440], eax
mov eax, 0x20c
mov word [ebp - 0x43a], ax
mov eax, dword [0x1021360]
cmp eax, esi
je 0x100dcde
test dword [eax + 0x1c], 0x2000000
je 0x100dcde
push dword [ebp - 0x440]
push dword [ebp - 0x44c]
push 0x1002638
push 0x1002528
push 0x13
push dword [eax + 0x14]
push dword [eax + 0x10]
call fcn.01007e84
jmp 0x100dcde
mov eax, 0x20c
mov word [ebp - 0x43c], ax
push edi
mov edi, dword [sym.imp.KERNEL32.dll_GetVolumeNameForVolumeMountPointW]
lea eax, [ebp - 0x41c]
push eax
lea eax, [ebp - 0x210]
push eax
mov dword [ebp - 0x440], ebx
call edi
test eax, eax
jne 0x100dc5d
call fcn.0100d43e
mov dword [ebp - 0x440], eax
mov eax, 0x213
mov word [ebp - 0x43a], ax
mov eax, dword [0x1021360]
cmp eax, esi
je 0x100dcde
test dword [eax + 0x1c], 0x2000000
je 0x100dcde
push dword [ebp - 0x440]
lea ecx, [ebp - 0x210]
push ecx
push 0x10025e0
push 0x1002528
push 0x14
jmp 0x100dbd1
push dword [ebp + 0x10]
mov eax, 0x213
push dword [ebp - 0x450]
mov word [ebp - 0x43c], ax
lea eax, [ebp - 0x41c]
push eax
mov dword [ebp - 0x440], ebx
call edi
test eax, eax
jne 0x100dccc
call fcn.0100d43e
mov dword [ebp - 0x440], eax
mov eax, 0x219
mov word [ebp - 0x43a], ax
mov eax, dword [0x1021360]
cmp eax, esi
je 0x100dcde
test dword [eax + 0x1c], 0x2000000
je 0x100dcde
push dword [ebp - 0x440]
lea ecx, [ebp - 0x41c]
push ecx
push 0x1002598
push 0x1002528
push 0x15
jmp 0x100dbd1
mov eax, 0x219
mov dword [ebp - 0x440], ebx
mov word [ebp - 0x43c], ax
mov esi, dword [ebp - 0x440]
lea ecx, [ebp - 0x44c]
call fcn.0100e697
lea ecx, [ebp - 0x440]
call fcn.0100c22a
mov ecx, dword [ebp - 4]
pop edi
mov eax, esi
pop esi
xor ecx, ebp
pop ebx
call fcn.0100b7c7
leave
ret 0xc