Function at 0x100bbbe
Capabilities:
Get disk information

Disassembly:
mov edi, edi
push ebp
mov ebp, esp
sub esp, 0x10
push ebx
push esi
push edi
mov edi, dword [sym.imp.KERNEL32.dll_GetVolumePathNamesForVolumeNameW]
mov esi, ecx
xor eax, eax
lea ecx, [ebp - 8]
push ecx
push eax
push eax
push dword [ebp + 8]
mov dword [ebp - 8], eax
mov dword [ebp - 0x10], eax
call edi
mov ebx, dword [sym.imp.KERNEL32.dll_GetLastError]
test eax, eax
jne 0x100bc31
call ebx
mov dword [ebp - 4], eax
cmp eax, 0xea
je 0x100bc31
mov eax, dword [0x100f004]
cmp eax, 0x100f004
je 0x100be17
test byte [eax + 0x1c], 1
je 0x100be17
push dword [ebp - 4]
push dword [ebp + 8]
push 0x1001e60
push 0x26
push dword [eax + 0x14]
push dword [eax + 0x10]
call fcn.010090ed
jmp 0x100be17
mov eax, dword [ebp - 8]
add eax, eax
push eax
push 8
call dword [sym.imp.KERNEL32.dll_GetProcessHeap]
push eax
call dword [sym.imp.KERNEL32.dll_HeapAlloc]
mov dword [ebp - 0xc], eax
test eax, eax
jne 0x100bc59
mov dword [ebp - 4], 0xe
jmp 0x100bdff
lea ecx, [ebp - 0x10]
push ecx
push dword [ebp - 8]
push eax
push dword [ebp + 8]
call edi
test eax, eax
jne 0x100bc9b
call ebx
mov dword [ebp - 4], eax
mov eax, dword [0x100f004]
cmp eax, 0x100f004
je 0x100bdff
test byte [eax + 0x1c], 1
je 0x100bdff
push dword [ebp - 4]
push dword [ebp + 8]
push 0x1001e60
push 0x27
jmp 0x100be6c
and dword [ebp - 4], 0
mov ebx, dword [ebp - 0xc]
jmp 0x100bdc7
mov ecx, dword [esi + 0x238]
cmp word [ecx], 0
jne 0x100bd17
push ebx
push dword [ebp - 0x10]
push ecx
call fcn.01004225
test eax, eax
jl 0x100be21
lea eax, [esi + 0x23c]
push eax
push 0x82
push dword [esi + 0x238]
call fcn.010049e3
test eax, eax
jge 0x100bdb0
movzx eax, ax
mov dword [ebp - 4], eax
mov eax, dword [0x100f004]
cmp eax, 0x100f004
je 0x100bdff
test byte [eax + 0x1c], 1
je 0x100bdff
push dword [ebp - 4]
push dword [ebp + 8]
push ebx
push 0x1001e60
push 0x29
jmp 0x100bea7
mov eax, ecx
lea edi, [eax + 2]
mov dx, word [eax]
inc eax
inc eax
test dx, dx
jne 0x100bd1c
sub eax, edi
sar eax, 1
add eax, 2
mov edi, 0x1001e70
push edi
push eax
push ecx
mov dword [esi + 0x23c], eax
call fcn.010059a5
test eax, eax
jl 0x100be49
mov eax, dword [esi + 0x238]
lea edx, [eax + 2]
mov cx, word [eax]
inc eax
inc eax
test cx, cx
jne 0x100bd51
sub eax, edx
sar eax, 1
mov ecx, eax
mov eax, ebx
lea edx, [eax + 2]
mov di, word [eax]
inc eax
inc eax
test di, di
jne 0x100bd66
sub eax, edx
sar eax, 1
lea eax, [eax + ecx + 1]
push ebx
push eax
push dword [esi + 0x238]
mov dword [esi + 0x23c], eax
call fcn.010059a5
test eax, eax
jl 0x100be79
mov eax, dword [esi + 0x238]
lea edx, [eax + 2]
mov cx, word [eax]
inc eax
inc eax
test cx, cx
jne 0x100bd9c
sub eax, edx
sar eax, 1
mov dword [esi + 0x23c], eax
mov eax, ebx
lea edx, [eax + 2]
mov cx, word [eax]
inc eax
inc eax
test cx, cx
jne 0x100bdb5
sub eax, edx
sar eax, 1
lea ebx, [ebx + eax*2 + 2]
xor eax, eax
cmp ax, word [ebx]
jne 0x100bca7
mov eax, dword [0x100f004]
cmp eax, 0x100f004
je 0x100bdff
test byte [eax + 0x1c], 4
je 0x100bdff
push dword [esi + 0x238]
push dword [ebp + 8]
push 0x1001e60
push 0x2c
push dword [eax + 0x14]
push dword [eax + 0x10]
call fcn.0100b0bb
cmp dword [ebp - 0xc], 0
je 0x100be17
push dword [ebp - 0xc]
push 0
call dword [sym.imp.KERNEL32.dll_GetProcessHeap]
push eax
call dword [sym.imp.KERNEL32.dll_HeapFree]
mov eax, dword [ebp - 4]
pop edi
pop esi
pop ebx
leave
ret 4
movzx eax, ax
mov dword [ebp - 4], eax
mov eax, dword [0x100f004]
cmp eax, 0x100f004
je 0x100bdff
test byte [eax + 0x1c], 1
je 0x100bdff
push dword [ebp - 4]
push dword [ebp + 8]
push ebx
push 0x1001e60
push 0x28
jmp 0x100bea7
movzx eax, ax
mov dword [ebp - 4], eax
mov eax, dword [0x100f004]
cmp eax, 0x100f004
je 0x100bdff
test byte [eax + 0x1c], 1
je 0x100bdff
push dword [ebp - 4]
push edi
push 0x1001e60
push 0x2a
push dword [eax + 0x14]
push dword [eax + 0x10]
call fcn.010090ed
jmp 0x100bdff
movzx eax, ax
mov dword [ebp - 4], eax
mov eax, dword [0x100f004]
cmp eax, 0x100f004
je 0x100bdff
test byte [eax + 0x1c], 1
je 0x100bdff
push dword [ebp - 4]
push dword [ebp + 8]
push ebx
push 0x1001e60
push 0x2b
push dword [eax + 0x14]
push dword [eax + 0x10]
call fcn.0100b182
jmp 0x100bdff