Function at 0x100e634
Capabilities:
Get disk information

Disassembly:
mov eax, 0x101518c
call fcn.01011388
sub esp, 0x154
mov eax, dword [0x101704c]
push ebx
push esi
push edi
push 0x1004cc4
sub esp, 0x40
mov dword [ebp - 0x118], esp
mov esi, ecx
mov ecx, esp
xor edi, edi
push edi
push 0x800000
push 0x67a
push 0x100332c
mov ebx, 0x10032a0
push ebx
mov dword [ebp - 0x10], eax
mov dword [ebp - 0x114], esi
call fcn.01007e91
lea ecx, [ebp - 0x148]
call fcn.01007fe5
test dword [0x1017064], 0xfffffff8
mov dword [ebp - 4], edi
je 0x100e6b7
push 0xd
mov ecx, esi
call fcn.01008105
push eax
mov ecx, esi
call fcn.0100b3e4
mov dword [ebp - 0x128], eax
jmp 0x100e6c1
mov dword [ebp - 0x128], 0x1d
push 3
mov ecx, esi
call fcn.01008105
push 6
mov ecx, esi
mov dword [ebp - 0x150], eax
call fcn.0100a5ae
push edi
mov ecx, esi
mov dword [ebp - 0x14c], eax
call fcn.0100a5ae
mov esi, 0x10058c4
lea edi, [ebp - 0xa4]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
mov esi, dword [ebp - 0x114]
push 0xc
mov ecx, esi
mov dword [ebp - 0x118], eax
call fcn.01008105
test eax, eax
je 0x100e751
lea eax, [ebp - 0xa4]
push eax
push 0xc
mov ecx, esi
call fcn.01008105
push eax
mov ecx, esi
call fcn.0100f439
test al, al
jne 0x100e751
push 0x1003c70
push 0x1004
sub esp, 0x40
mov ecx, esp
mov dword [ebp - 0x118], esp
push 0
push 0x800000
push 0x68a
jmp 0x100ef43
mov eax, dword [esi]
mov eax, dword [eax]
lea ecx, [ebp - 0x148]
push ecx
push 9
mov ecx, esi
mov dword [ebp - 0x110], eax
call fcn.0100a5ae
dec eax
neg eax
sbb al, al
inc al
lea esi, [ebp - 0xa4]
push eax
sub esp, 0x10
cmp dword [ebp - 0x14c], 1
mov edi, esp
sete al
cmp dword [ebp - 0x118], 1
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
push eax
sete al
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
mov esi, dword [ebp - 0x150]
mov edi, dword [ebp - 0x114]
mov ecx, dword [edi]
push eax
mov eax, dword [ebp - 0x110]
push esi
push dword [ebp - 0x128]
call dword [eax + 0x2c]
and dword [ebp - 0x124], 0
push 0xc
mov ecx, edi
call fcn.01008105
test eax, eax
je 0x100e94f
push 1
push 0x4000275b
mov ecx, edi
call fcn.01010b73
test eax, eax
je 0x100efac
and dword [ebp - 0x110], 0
lea eax, [ebp - 0x110]
push eax
sub esp, 0x10
mov edi, esp
mov esi, 0x10069ac
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
push 0x17
push 0x10021a8
movsd dword es:[edi], dword [esi]
sub esp, 0x10
mov edi, esp
mov esi, 0x1006a0c
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
sub esp, 0x40
movsd dword es:[edi], dword [esi]
mov ecx, esp
mov dword [ebp - 0x118], esp
push 0
movsd dword es:[edi], dword [esi]
mov edi, 0x800000
push edi
push 0x69e
mov esi, 0x100332c
push esi
push ebx
mov byte [ebp - 4], 1
call fcn.01007e91
lea ecx, [ebp - 0x148]
call fcn.01013315
cmp dword [ebp - 0x148], 0
jge 0x100e87b
push dword [ebp - 0x148]
push 0x1002160
push dword [ebp - 0x148]
sub esp, 0x40
mov ecx, esp
mov dword [ebp - 0x118], esp
push 0
push edi
push 0x6a5
push esi
jmp 0x100ee0e
mov eax, dword [ebp - 0x110]
push dword [ebp - 0x128]
mov ecx, dword [eax]
push eax
call dword [ecx + 0xc]
test eax, eax
mov dword [ebp - 0x148], eax
jge 0x100e8b3
push eax
push 0x1003a60
push eax
sub esp, 0x40
mov ecx, esp
mov dword [ebp - 0x118], esp
push 0
push edi
push 0x6aa
jmp 0x100e875
mov eax, dword [ebp - 0x110]
mov esi, 0x10058c4
lea edi, [ebp - 0x84]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
lea edx, [ebp - 0x84]
push edx
lea edx, [ebp - 0x124]
push edx
push 1
movsd dword es:[edi], dword [esi]
mov ecx, dword [eax]
push 3
sub esp, 0x10
mov edi, esp
lea esi, [ebp - 0xa4]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
push eax
movsd dword es:[edi], dword [esi]
call dword [ecx + 0x2c]
cmp eax, 0x80042308
mov dword [ebp - 0x148], eax
jne 0x100e928
mov ecx, dword [ebp - 0x114]
push 0xc
call fcn.01008105
push eax
push 0x4000275c
push dword [ebp - 0x114]
call fcn.0100fd57
add esp, 0xc
mov eax, dword [ebp - 0x110]
jmp 0x100ef9e
test eax, eax
jge 0x100e91d
push eax
push 0x1004c70
push eax
sub esp, 0x40
mov ecx, esp
mov dword [ebp - 0x118], esp
push 0
push 0x800000
push 0x6ba
jmp 0x100ee09
push 0x19
xor eax, eax
pop ecx
lea edi, [ebp - 0x74]
rep stosd dword es:[edi], eax
xor edi, edi
cmp esi, edi
je 0x100e9d3
cmp word [esi], 0x5c
lea eax, [ebp - 0x74]
je 0x100e9c2
push 0x32
push eax
push esi
call dword [sym.imp.KERNEL32.dll_GetVolumeNameForVolumeMountPointW]
test eax, eax
jne 0x100e9d3
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov ecx, dword [ebp - 0x114]
push eax
push 3
call fcn.01008105
push eax
push 0x10043d0
push 0x80042308
sub esp, 0x40
mov ecx, esp
mov dword [ebp - 0x118], esp
push edi
push 0x200
push 0x6cc
push 0x100332c
push ebx
call fcn.01007e91
lea eax, [ebp - 0x148]
push eax
call fcn.010082c0
push 0x31
push esi
push eax
call dword [sym.imp.msvcrt.dll_wcsncpy]
add esp, 0xc
mov word [ebp - 0x12], di
mov dword [ebp - 0x120], edi
lea eax, [ebp - 0x120]
push eax
sub esp, 0x10
mov edi, esp
mov esi, 0x10069ac
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
push 0x17
push 0x10021a8
movsd dword es:[edi], dword [esi]
sub esp, 0x10
mov edi, esp
mov esi, 0x1006a0c
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
sub esp, 0x40
movsd dword es:[edi], dword [esi]
mov ecx, esp
mov dword [ebp - 0x11c], esp
push 0
movsd dword es:[edi], dword [esi]
mov edi, 0x800000
push edi
push 0x6da
mov esi, 0x100332c
push esi
push ebx
mov byte [ebp - 4], 2
call fcn.01007e91
lea ecx, [ebp - 0x148]
call fcn.01013315
cmp dword [ebp - 0x148], 0
jge 0x100ea68
push dword [ebp - 0x148]
push 0x1002160
push dword [ebp - 0x148]
sub esp, 0x40
mov ecx, esp
mov dword [ebp - 0x11c], esp
push 0
push edi
push 0x6e1
jmp 0x100e875
mov eax, dword [ebp - 0x120]
push dword [ebp - 0x128]
mov ecx, dword [eax]
push eax
call dword [ecx + 0xc]
test eax, eax
mov dword [ebp - 0x148], eax
jge 0x100eaa3
push eax
push 0x1003a60
push eax
sub esp, 0x40
mov ecx, esp
mov dword [ebp - 0x11c], esp
push 0
push edi
push 0x6e6
jmp 0x100e875
and dword [ebp - 0x110], 0
mov eax, dword [ebp - 0x120]
mov ecx, dword [eax]
lea edx, [ebp - 0x110]
push edx
push 3
push 1
sub esp, 0x10
mov edi, esp
mov esi, 0x10058c4
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
push eax
mov byte [ebp - 4], 3
movsd dword es:[edi], dword [esi]
call dword [ecx + 0x28]
test eax, eax
mov dword [ebp - 0x148], eax
jge 0x100eb00
push eax
push 0x1002120
push eax
sub esp, 0x40
mov ecx, esp
mov dword [ebp - 0x11c], esp
push 0
push 0x800000
push 0x6ef
jmp 0x100ee09
or dword [ebp - 0x158], 0xffffffff
mov esi, 0x10058c4
lea edi, [ebp - 0x84]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
xor edi, edi
cmp dword [ebp - 0x14c], edi
mov dword [ebp - 0x154], VssFreeSnapshotProperties
jne 0x100ec6a
mov ecx, dword [ebp - 0x114]
push 9
call fcn.0100a5ae
test eax, eax
jne 0x100ec6a
xor esi, esi
mov eax, dword [ebp - 0x110]
mov ecx, dword [eax]
lea edx, [ebp - 0x11c]
push edx
lea edx, [ebp - 0x10c]
push edx
push 1
push eax
call dword [ecx + 0xc]
cmp eax, edi
mov dword [ebp - 0x148], eax
jl 0x100ebba
cmp eax, 1
je 0x100ebdc
lea eax, [ebp - 0x104]
mov dword [ebp - 0x12c], eax
lea eax, [ebp - 0x74]
push eax
push dword [ebp - 0xdc]
mov dword [ebp - 0x130], 0x10033ac
call dword [sym.imp.msvcrt.dll__wcsicmp]
test eax, eax
pop ecx
pop ecx
je 0x100ebac
cmp dword [ebp - 0x150], edi
jne 0x100ebad
cmp dword [ebp - 0x118], edi
je 0x100ebad
inc esi
lea ecx, [ebp - 0x130]
call fcn.0100a83f
jmp 0x100eb45
push eax
push 0x10020e4
push eax
sub esp, 0x40
mov ecx, esp
mov dword [ebp - 0x118], esp
push edi
push 0x800000
push 0x705
jmp 0x100ee09
cmp esi, edi
jne 0x100ec02
push 0x1004bd8
push 1
sub esp, 0x40
mov ecx, esp
mov dword [ebp - 0x11c], esp
push edi
push 0x800000
push 0x716
jmp 0x100ef43
mov ecx, dword [ebp - 0x114]
push esi
push 0x4000275b
call fcn.01010b73
test eax, eax
mov eax, dword [ebp - 0x110]
jne 0x100ec38
cmp eax, edi
mov byte [ebp - 4], 2
je 0x100ec2b
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov eax, dword [ebp - 0x120]
cmp eax, edi
jmp 0x100ef76
mov ecx, dword [eax]
push eax
call dword [ecx + 0x14]
cmp eax, edi
mov dword [ebp - 0x148], eax
jge 0x100ec6a
push eax
push 0x1004b98
push eax
sub esp, 0x40
mov ecx, esp
mov dword [ebp - 0x11c], esp
push edi
push 0x800000
push 0x71f
jmp 0x100ee09
mov eax, dword [ebp - 0x110]
mov ecx, dword [eax]
lea edx, [ebp - 0x11c]
push edx
lea edx, [ebp - 0x10c]
push edx
push 1
push eax
call dword [ecx + 0xc]
cmp eax, edi
mov dword [ebp - 0x148], eax
jl 0x100edec
cmp eax, 1
je 0x100ee20
lea eax, [ebp - 0x104]
mov dword [ebp - 0x130], 0x10033ac
mov dword [ebp - 0x12c], eax
lea eax, [ebp - 0x74]
push eax
push dword [ebp - 0xdc]
mov byte [ebp - 4], 4
call dword [sym.imp.msvcrt.dll__wcsicmp]
test eax, eax
pop ecx
pop ecx
je 0x100ece5
cmp dword [ebp - 0x150], edi
jne 0x100edd6
cmp dword [ebp - 0x118], edi
je 0x100edd6
cmp dword [ebp - 0x14c], edi
je 0x100ed2e
mov esi, dword [ebp - 0x12c]
mov ecx, dword [esi + 0x54]
cmp dword [ebp - 0x154], ecx
mov eax, dword [esi + 0x50]
jl 0x100edd6
jg 0x100ed13
cmp dword [ebp - 0x158], eax
jbe 0x100edd6
lea edi, [ebp - 0x84]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
mov dword [ebp - 0x158], eax
mov dword [ebp - 0x154], ecx
jmp 0x100edd6
mov eax, dword [ebp - 0x120]
mov esi, 0x10058c4
lea edi, [ebp - 0x94]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
lea edx, [ebp - 0x94]
push edx
lea edx, [ebp - 0x128]
push edx
push 1
movsd dword es:[edi], dword [esi]
mov esi, dword [ebp - 0x12c]
mov ecx, dword [eax]
push 3
sub esp, 0x10
mov edi, esp
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
push eax
movsd dword es:[edi], dword [esi]
call dword [ecx + 0x2c]
test eax, eax
mov dword [ebp - 0x148], eax
jge 0x100edca
cmp eax, 0x80042308
je 0x100edd6
mov esi, dword [ebp - 0x12c]
sub esp, 0x10
mov edi, esp
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
call fcn.010101c9
mov dword [ebp - 0x15c], eax
mov dword [ebp - 0x160], 0x1002898
push eax
push dword [ebp - 0x148]
mov byte [ebp - 4], 5
push 0x4000275f
push dword [ebp - 0x114]
call fcn.0100fd57
add esp, 0x10
lea ecx, [ebp - 0x160]
call fcn.0100846f
jmp 0x100edd6
mov eax, dword [ebp - 0x128]
add dword [ebp - 0x124], eax
lea ecx, [ebp - 0x130]
mov byte [ebp - 4], 3
call fcn.0100a83f
xor edi, edi
jmp 0x100ec6a
push eax
push 0x10020e4
push eax
sub esp, 0x40
mov ecx, esp
mov dword [ebp - 0x118], esp
push edi
push 0x800000
push 0x72b
push 0x100332c
push ebx
call fcn.01007e91
lea eax, [ebp - 0x148]
push eax
call fcn.010082c0
cmp dword [ebp - 0x14c], edi
je 0x100ef1c
push 4
pop ecx
mov edi, 0x10058c4
lea esi, [ebp - 0x84]
xor eax, eax
repe cmpsd dword [esi], dword es:[edi]
je 0x100ef1c
mov ecx, dword [ebp - 0x114]
push 1
push 0x4000275b
call fcn.01010b73
test eax, eax
je 0x100ef5a
mov eax, dword [ebp - 0x120]
mov esi, 0x10058c4
lea edi, [ebp - 0x94]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
lea edx, [ebp - 0x94]
push edx
lea edx, [ebp - 0x124]
push edx
push 1
movsd dword es:[edi], dword [esi]
mov ecx, dword [eax]
push 3
sub esp, 0x10
mov edi, esp
lea esi, [ebp - 0x84]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
push eax
movsd dword es:[edi], dword [esi]
call dword [ecx + 0x2c]
test eax, eax
mov dword [ebp - 0x148], eax
jge 0x100ef1c
sub esp, 0x10
mov edi, esp
lea esi, [ebp - 0x84]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
call fcn.010101c9
mov dword [ebp - 0x12c], eax
mov dword [ebp - 0x130], 0x1002898
cmp dword [ebp - 0x148], 0x80042308
push eax
push dword [ebp - 0x130]
mov byte [ebp - 4], 6
jne 0x100eef4
push 0x4000275c
push dword [ebp - 0x114]
call fcn.0100fd57
add esp, 0x10
jmp 0x100ef0d
push dword [ebp - 0x148]
push 0x4000275f
push dword [ebp - 0x114]
call fcn.0100fd57
add esp, 0x14
lea ecx, [ebp - 0x130]
mov byte [ebp - 4], 3
call fcn.0100846f
cmp dword [ebp - 0x124], 0
jne 0x100ef84
push 0x1004bd8
push 1
sub esp, 0x40
mov ecx, esp
mov dword [ebp - 0x11c], esp
push 0
push 0x800000
push 0x781
push 0x100332c
push ebx
call fcn.01007e91
lea eax, [ebp - 0x148]
push eax
call fcn.010082c0
mov eax, dword [ebp - 0x110]
test eax, eax
mov byte [ebp - 4], 2
je 0x100ef6e
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov eax, dword [ebp - 0x120]
test eax, eax
mov byte [ebp - 4], 0
je 0x100efdf
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
jmp 0x100efdf
mov eax, dword [ebp - 0x110]
test eax, eax
mov byte [ebp - 4], 2
je 0x100ef98
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov eax, dword [ebp - 0x120]
test eax, eax
mov byte [ebp - 4], 0
je 0x100efac
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov esi, dword [ebp - 0x114]
push 9
mov ecx, esi
call fcn.0100a5ae
test eax, eax
jne 0x100efdb
cmp dword [ebp - 0x124], eax
jle 0x100efdb
push dword [ebp - 0x124]
push 0x4000275d
push esi
call fcn.0100f6cd
add esp, 0xc
and dword [esi + 0x24], 0
or dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x148]
call fcn.01008075
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
mov ecx, dword [ebp - 0x10]
call fcn.010110c9
pop edi
pop esi
pop ebx
leave
ret