Function at 0x1101002
Capabilities:
Get disk information

Disassembly:
mov edi, edi
push ebp
mov ebp, esp
sub esp, 0x274
mov eax, dword [0x111127c]
xor eax, ebp
mov dword [ebp - 4], eax
push ebx
push esi
mov esi, dword [ebp + 8]
push edi
mov edi, dword [ebp + 0xc]
xor ebx, ebx
mov dword [ebp - 0x260], ecx
mov dword [ebp - 0x25c], edi
cmp esi, ebx
jne 0x1101046
push 0x100ee50
push 0x2a8
push 0x1014210
call fcn.0107b4be
cmp edi, ebx
jne 0x110105e
push 0x100ee40
push 0x2a9
push 0x1014210
call fcn.0107b4be
lea ecx, [ebp - 0x250]
mov dword [ebp - 0x254], ebx
call fcn.010be9e0
mov eax, esi
mov dword [ebp - 0x258], ebx
lea ecx, [eax + 2]
mov dx, word [eax]
inc eax
inc eax
cmp dx, bx
jne 0x110107a
sub eax, ecx
lea ecx, [ebp - 0x258]
push ecx
sar eax, 1
push eax
push esi
call fcn.010c71d4
push 0x208
lea eax, [ebp - 0x20c]
push ebx
push eax
call sub.msvcrt.dll_memset
add esp, 0xc
push 0x104
lea eax, [ebp - 0x20c]
push eax
push dword [ebp - 0x258]
call dword [sym.imp.KERNEL32.dll_GetVolumeNameForVolumeMountPointW]
test eax, eax
jne 0x1101141
call dword [sym.imp.KERNEL32.dll_GetLastError]
cmp eax, ebx
jle 0x11010db
and eax, 0xffff
or eax, 0x80070000
mov dword [ebp - 0x254], eax
mov eax, dword [0x1112000]
mov dword [ebp - 0x274], eax
mov eax, dword [ebp - 0x254]
mov dword [ebp - 0x270], eax
mov eax, dword [ebp - 0x260]
push 0x10145f8
push 0x100cc58
mov dword [ebp - 0x264], eax
lea eax, [ebp - 0x274]
push 0x100cc1c
push eax
mov dword [ebp - 0x26c], 0x1014250
mov dword [ebp - 0x268], 0x2ba
call sym.wbengine.exe_public:_void___cdecl_CTraceFailureHelper::TraceMessage_unsigned_short_int_const__
mov edi, dword [ebp - 0x25c]
add esp, 0x10
jmp 0x110129a
push dword [ebp - 0x258]
call dword [sym.imp.msvcrt.dll_free]
pop ecx
lea eax, [ebp - 0x20c]
push eax
lea ecx, [ebp - 0x250]
mov dword [ebp - 0x258], ebx
call fcn.010be9f9
mov eax, dword [ebp - 0x244]
dec eax
push eax
lea ecx, [ebp - 0x250]
call fcn.010bf601
cmp word [eax], 0x5c
je 0x1101193
push 0x100ee0c
push 0x2c0
push 0x1014210
call fcn.0107b4be
push 1
push ebx
push 0x5c
lea ecx, [ebp - 0x250]
call fcn.010bf301
mov eax, dword [0x111124c]
mov esi, 0x111124c
cmp eax, esi
je 0x11011d5
test byte [eax + 0x1c], 8
je 0x11011d5
cmp byte [eax + 0x19], 4
jb 0x11011d5
push dword [ebp - 0x248]
push 0x1014010
push 0x32
push dword [eax + 0x14]
push dword [eax + 0x10]
call fcn.01019680
push ebx
push 0x2000000
push 3
push ebx
push 3
push 0x80000000
push dword [ebp - 0x248]
call dword [sym.imp.KERNEL32.dll_CreateFileW]
mov edi, eax
cmp edi, 0xffffffff
jne 0x1101264
call dword [sym.imp.KERNEL32.dll_GetLastError]
cmp eax, ebx
jle 0x110120c
and eax, 0xffff
or eax, 0x80070000
cmp eax, ebx
mov dword [ebp - 0x254], eax
jge 0x1101264
push dword [ebp - 0x248]
mov ecx, dword [0x1112000]
mov dword [ebp - 0x270], eax
mov eax, dword [ebp - 0x260]
mov dword [ebp - 0x264], eax
lea eax, [ebp - 0x274]
push 0x100edd8
push eax
mov dword [ebp - 0x274], ecx
mov dword [ebp - 0x26c], 0x1014250
mov dword [ebp - 0x268], 0x2d2
call sym.wbengine.exe_public:_void___cdecl_CTraceFailureHelper::TraceMessage_unsigned_short_int_const__
add esp, 0xc
jmp 0x110129a
mov eax, dword [ebp - 0x25c]
mov dword [eax], edi
mov eax, dword [0x111124c]
cmp eax, esi
je 0x110129a
test byte [eax + 0x1c], 8
je 0x110129a
cmp byte [eax + 0x19], 4
jb 0x110129a
push edi
push dword [ebp - 0x248]
push 0x1014010
push 0x33
push dword [eax + 0x14]
push dword [eax + 0x10]
call fcn.010196ed
cmp dword [ebp - 0x254], ebx
jge 0x11012bb
cmp edi, 0xffffffff
je 0x11012bb
push 0x100edb4
push 0x2db
push 0x1014210
call fcn.0107b4be
lea ecx, [ebp - 0x250]
call fcn.010be803
mov ecx, dword [ebp - 4]
mov eax, dword [ebp - 0x254]
pop edi
pop esi
xor ecx, ebp
pop ebx
call fcn.0106f5f8
leave
ret 8