Function at 0x10309b2
Capabilities:
Get disk information

Disassembly:
mov edi, edi
push ebp
mov ebp, esp
sub esp, 0x48c
mov eax, dword [0x1076530]
xor eax, ebp
mov dword [ebp - 4], eax
mov eax, dword [ebp + 8]
push ebx
push esi
push edi
mov dword [ebp - 0x464], eax
mov eax, dword [ebp + 0xc]
push 1
mov dword [ebp - 0x460], eax
mov eax, dword [ebp + 0x10]
push 0x78e
push 0x1005998
lea ecx, [ebp - 0x444]
mov dword [ebp - 0x420], eax
call fcn.01055826
xor eax, eax
xor edi, edi
mov ebx, 0x208
push ebx
mov word [ebp - 0x210], ax
lea eax, [ebp - 0x20e]
push edi
mov esi, 0x1010420
push eax
mov dword [ebp - 0x450], esi
mov dword [ebp - 0x44c], edi
mov dword [ebp - 0x448], edi
call sub.msvcrt.dll_memset
xor eax, eax
push ebx
mov word [ebp - 0x41c], ax
lea eax, [ebp - 0x41a]
push edi
push eax
call sub.msvcrt.dll_memset
add esp, 0x18
mov dword [ebp - 0x468], edi
mov dword [ebp - 0x48c], esi
mov dword [ebp - 0x488], edi
mov dword [ebp - 0x484], edi
mov dword [ebp - 0x480], esi
mov dword [ebp - 0x47c], edi
mov dword [ebp - 0x478], edi
mov dword [ebp - 0x474], esi
mov dword [ebp - 0x470], edi
mov dword [ebp - 0x46c], edi
mov dword [ebp - 0x45c], esi
mov dword [ebp - 0x458], edi
mov dword [ebp - 0x454], edi
cmp dword [ebp - 0x420], edi
je 0x1030aac
mov ecx, dword [ebp - 0x420]
call fcn.010635d7
mov edx, dword [ebp - 0x464]
mov eax, 0x79c
cmp edx, edi
jne 0x1030ad1
mov dword [ebp - 0x444], 0x80070057
mov word [ebp - 0x43e], ax
jmp 0x1030ddf
mov word [ebp - 0x440], ax
mov eax, 0x79d
cmp dword [ebp - 0x420], edi
je 0x1030abb
mov word [ebp - 0x440], ax
inc eax
cmp dword [ebp - 0x460], edi
je 0x1030abb
lea ecx, [ebp - 0x450]
mov dword [ebp - 0x444], edi
mov word [ebp - 0x440], ax
call fcn.0106470b
mov dword [ebp - 0x444], eax
cmp eax, edi
mov eax, 0x7a0
jl 0x1030ac5
mov word [ebp - 0x440], ax
inc eax
cmp dword [ebp - 0x44c], 2
jbe 0x1030abb
mov dword [ebp - 0x444], edi
mov word [ebp - 0x440], ax
mov eax, dword [0x1075318]
mov ebx, 0x1075318
mov esi, 0x1005330
cmp eax, ebx
je 0x1030b67
test byte [eax + 0x1c], 2
je 0x1030b67
push dword [ebp - 0x464]
push esi
push 0xd
push dword [eax + 0x14]
push dword [eax + 0x10]
call fcn.01016f01
push 0x5c
pop edx
lea ecx, [ebp - 0x450]
call fcn.0106469a
mov dword [ebp - 0x444], eax
cmp eax, edi
mov eax, 0x7a5
jl 0x1030ac5
mov edx, dword [ebp - 0x450]
mov word [ebp - 0x440], ax
cmp word [edx + 2], 0x3a
je 0x1030e3a
push 0x105
lea eax, [ebp - 0x210]
push eax
push edx
call fcn.0105c333
cmp eax, edi
jge 0x1030bde
mov ecx, dword [0x1075318]
cmp ecx, ebx
je 0x1030bde
test dword [ecx + 0x1c], 0x8000000
je 0x1030bde
push eax
push dword [ebp - 0x450]
push esi
push 0xe
push dword [ecx + 0x14]
push dword [ecx + 0x10]
call fcn.01016f6e
cmp word [ebp - 0x20e], 0x3a
jne 0x1030c13
lea edx, [ebp - 0x210]
lea ecx, [ebp - 0x474]
call fcn.0106470b
mov dword [ebp - 0x444], eax
cmp eax, edi
mov eax, 0x7b2
jl 0x1030ac5
mov word [ebp - 0x440], ax
push edi
push edi
push edi
push edi
push edi
push 0x104
lea eax, [ebp - 0x41c]
push eax
push dword [ebp - 0x450]
call dword [sym.imp.KERNEL32.dll_GetVolumeInformationW]
test eax, eax
jne 0x1030c74
mov eax, dword [0x1075318]
cmp eax, ebx
je 0x1030c74
test dword [eax + 0x1c], 0x8000000
je 0x1030c74
call dword [sym.imp.KERNEL32.dll_GetLastError]
cmp eax, edi
jle 0x1030c5a
and eax, 0xffff
or eax, 0x80070000
push eax
push dword [ebp - 0x450]
mov eax, dword [0x1075318]
push esi
push 0xf
push dword [eax + 0x14]
push dword [eax + 0x10]
call fcn.01016f6e
lea eax, [ebp - 0x45c]
push eax
push dword [ebp - 0x474]
lea eax, [ebp - 0x41c]
push eax
call fcn.010306c3
mov dword [ebp - 0x444], eax
cmp eax, edi
mov eax, 0x7c4
jl 0x1030ac5
mov word [ebp - 0x440], ax
cmp dword [ebp - 0x458], edi
jne 0x1030d8f
mov edx, dword [ebp - 0x460]
lea ecx, [ebp - 0x48c]
call fcn.01063ff9
mov dword [ebp - 0x444], eax
cmp eax, edi
mov eax, 0x7c9
jl 0x1030ac5
push 0x1001814
push dword [ebp - 0x48c]
mov edx, 0x1003394
lea ecx, [ebp - 0x480]
mov word [ebp - 0x440], ax
call fcn.01064743
mov dword [ebp - 0x444], eax
cmp eax, edi
mov eax, 0x7ca
jl 0x1030ac5
mov word [ebp - 0x440], ax
mov eax, dword [0x1075318]
cmp eax, ebx
je 0x1030d39
test dword [eax + 0x1c], 0x8000000
je 0x1030d39
push dword [ebp - 0x480]
push esi
push 0x10
push dword [eax + 0x14]
push dword [eax + 0x10]
call fcn.01016f01
lea eax, [ebp - 0x468]
push eax
push dword [ebp - 0x480]
call fcn.0102ece6
test eax, eax
jl 0x1030e57
cmp dword [ebp - 0x468], edi
je 0x1030e57
mov edx, dword [0x1077408]
push 0xbc3
lea ecx, [ebp - 0x45c]
call fcn.0106478e
mov dword [ebp - 0x444], eax
cmp eax, edi
mov eax, 0x7d1
jl 0x1030ac5
mov word [ebp - 0x440], ax
mov edx, dword [ebp - 0x45c]
mov ecx, dword [ebp - 0x420]
call fcn.0106470b
mov dword [ebp - 0x444], eax
cmp eax, edi
mov eax, 0x7da
jl 0x1030ac5
mov word [ebp - 0x440], ax
mov eax, dword [0x1075318]
cmp eax, ebx
je 0x1030ddf
test byte [eax + 0x1c], 2
je 0x1030ddf
mov ecx, dword [ebp - 0x420]
push dword [ecx]
push esi
push 0x11
push dword [eax + 0x14]
push dword [eax + 0x10]
call fcn.01016f01
mov esi, dword [ebp - 0x444]
lea ecx, [ebp - 0x45c]
call fcn.010635b3
lea ecx, [ebp - 0x474]
call fcn.010635b3
lea ecx, [ebp - 0x480]
call fcn.010635b3
lea ecx, [ebp - 0x48c]
call fcn.010635b3
lea ecx, [ebp - 0x450]
call fcn.010635b3
lea ecx, [ebp - 0x444]
call fcn.01055a3c
mov ecx, dword [ebp - 4]
pop edi
mov eax, esi
pop esi
xor ecx, ebp
pop ebx
call fcn.01054fa7
leave
ret 0xc
lea ecx, [ebp - 0x474]
call fcn.0106470b
mov dword [ebp - 0x444], eax
cmp eax, edi
mov eax, 0x7b8
jmp 0x1030c06
mov edx, dword [0x1077408]
push 0x52c
lea ecx, [ebp - 0x45c]
call fcn.0106478e
mov dword [ebp - 0x444], eax
cmp eax, edi
mov eax, 0x7d6
jmp 0x1030d82