Function at 0x1023596
Capabilities:
Get disk information

Disassembly:
mov eax, 0x10325cb
call fcn.01025710
sub esp, 0x280
push ebx
push esi
push edi
mov dword [ebp - 0x10], esp
mov dword [ebp - 0x14], ecx
push 0x100ab78
sub esp, 0x40
mov ecx, esp
mov dword [ebp - 0x18], esp
push 0
push 0x200
push 0x136
push 0x1009700
mov ebx, 0x1009670
push ebx
call fcn.0101170a
or dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x34]
call fcn.01011772
mov dword [ebp - 4], 1
lea esi, [ebp + 0xc]
lea edi, [ebp - 0x44]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
and byte [ebp - 0x45], 0
and byte [ebp - 0x46], 0
mov byte [ebp - 4], 2
mov eax, dword [ebp - 0x14]
mov eax, dword [eax + 0x24]
cmp eax, 2
je 0x1023646
push eax
push 0x100a3d0
push 0x80042301
sub esp, 0x40
mov ecx, esp
mov dword [ebp - 0x4c], esp
push 0
push 0x200
push 0x144
push 0x1009700
push ebx
call fcn.0101170a
mov byte [ebp - 4], 2
lea eax, [ebp - 0x34]
push eax
call fcn.01011923
add esp, 0x50
push 0x32
lea eax, [ebp - 0xb0]
push eax
push dword [ebp + 8]
call dword [sym.imp.KERNEL32.dll_GetVolumeNameForVolumeMountPointW]
test eax, eax
jne 0x10236a2
call dword [sym.imp.KERNEL32.dll_GetLastError]
push eax
push dword [ebp + 8]
push 0x10044c0
push 0x8004230c
sub esp, 0x40
mov ecx, esp
mov dword [ebp - 0xb4], esp
push 0
push 0x200
push 0x14a
push 0x1009700
push ebx
call fcn.0101170a
mov byte [ebp - 4], 2
lea eax, [ebp - 0x34]
push eax
call fcn.01011923
add esp, 0x54
push 4
pop ecx
mov edi, 0x100b64c
lea esi, [ebp - 0x44]
xor eax, eax
repe cmpsd dword [esi], dword es:[edi]
jne 0x1023732
lea eax, [ebp - 0x44]
push eax
lea eax, [ebp - 0xb0]
push eax
mov ecx, dword [ebp - 0x14]
call fcn.010232e4
movzx eax, byte [ebp - 0x35]
push eax
movzx eax, byte [ebp - 0x36]
push eax
movzx eax, byte [ebp - 0x37]
push eax
movzx eax, byte [ebp - 0x38]
push eax
movzx eax, byte [ebp - 0x39]
push eax
movzx eax, byte [ebp - 0x3a]
push eax
movzx eax, byte [ebp - 0x3b]
push eax
movzx eax, byte [ebp - 0x3c]
push eax
movzx eax, word [ebp - 0x3e]
push eax
movzx eax, word [ebp - 0x40]
push eax
push dword [ebp - 0x44]
push 0x100aaf0
sub esp, 0x40
mov ecx, esp
mov dword [ebp - 0xb8], esp
push 0
push 0x200
push 0x155
push 0x1009700
push ebx
call fcn.0101170a
mov byte [ebp - 4], 2
lea eax, [ebp - 0x34]
push eax
call fcn.01011891
add esp, 0x74
mov ecx, dword [ebp - 0x14]
add ecx, 0x2c
sub esp, 0x10
lea esi, [ebp - 0x44]
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]
lea eax, [ebp - 0xbc]
push eax
call fcn.0101b31a
mov byte [ebp - 4], 6
cmp dword [ebp - 0xbc], 0
jne 0x10237f2
lea eax, [ebp - 0xbc]
push eax
sub esp, 0x10
lea esi, [ebp - 0x44]
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]
mov ecx, dword [ebp - 0x14]
add ecx, 4
call fcn.0101bf0d
push ecx
mov ecx, esp
mov dword [ebp - 0xc0], esp
lea eax, [ebp - 0xbc]
push eax
call fcn.0101b031
mov byte [ebp - 4], 6
sub esp, 0x10
lea esi, [ebp - 0x44]
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]
mov ecx, dword [ebp - 0x14]
add ecx, 0x2c
call fcn.0101b285
test eax, eax
jne 0x10237ee
push 0x1001edc
push 0x8007000e
sub esp, 0x40
mov ecx, esp
mov dword [ebp - 0xc4], esp
push eax
push 0x200
push 0x167
push 0x1009700
push ebx
call fcn.0101170a
mov byte [ebp - 4], 6
lea eax, [ebp - 0x34]
push eax
call fcn.01011923
add esp, 0x4c
mov byte [ebp - 0x46], 1
push dword [ebp + 8]
lea eax, [ebp - 0xb0]
push eax
mov ecx, dword [ebp - 0x14]
add ecx, 0x38
call fcn.01020d34
mov dword [ebp - 0xc8], eax
mov dword [ebp - 0x34], eax
test eax, eax
jge 0x1023854
push eax
lea ecx, [ebp - 0xb0]
push ecx
push 0x100aa88
push eax
sub esp, 0x40
mov ecx, esp
mov dword [ebp - 0xcc], esp
push 0
push 0x200
push 0x171
push 0x1009700
push ebx
call fcn.0101170a
mov byte [ebp - 4], 6
lea eax, [ebp - 0x34]
push eax
call fcn.01011923
add esp, 0x54
mov byte [ebp - 0x45], 1
lea eax, [ebp - 0xdc]
push eax
call dword [sym.imp.ole32.dll_CoCreateGuid]
mov dword [ebp - 0xe0], eax
mov dword [ebp - 0x34], eax
test eax, eax
jge 0x10238aa
push 0x100aa64
push eax
sub esp, 0x40
mov ecx, esp
mov dword [ebp - 0xe4], esp
push 0
push 0x200
push 0x17c
push 0x1009700
push ebx
call fcn.0101170a
mov byte [ebp - 4], 6
lea eax, [ebp - 0x34]
push eax
call fcn.010265d8
add esp, 0x4c
lea eax, [ebp - 0xf4]
push eax
call fcn.01021234
mov esi, eax
lea edi, [ebp - 0x104]
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 ecx, dword [ebp - 0xbc]
mov edx, dword [ecx]
lea esi, [ebp - 0xb0]
push esi
sub esp, 0x10
lea esi, [ebp - 0xdc]
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]
sub esp, 0x10
mov esi, eax
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]
push ecx
call dword [edx + 0x1c]
mov ecx, eax
mov dword [ebp - 0x108], ecx
mov dword [ebp - 0x34], ecx
mov eax, 0x80070057
mov edi, 0x200
mov esi, 0x1009700
cmp ecx, eax
jne 0x1023972
movzx ecx, byte [ebp + 0x1b]
push ecx
movzx ecx, byte [ebp + 0x1a]
push ecx
movzx ecx, byte [ebp + 0x19]
push ecx
movzx ecx, byte [ebp + 0x18]
push ecx
movzx ecx, byte [ebp + 0x17]
push ecx
movzx ecx, byte [ebp + 0x16]
push ecx
movzx ecx, byte [ebp + 0x15]
push ecx
movzx ecx, byte [ebp + 0x14]
push ecx
movzx ecx, word [ebp + 0x12]
push ecx
movzx ecx, word [ebp + 0x10]
push ecx
push dword [ebp + 0xc]
push 0x100a990
push eax
sub esp, 0x40
mov ecx, esp
mov dword [ebp - 0x10c], esp
push 0
push edi
push 0x186
push esi
push ebx
call fcn.0101170a
mov byte [ebp - 4], 6
lea eax, [ebp - 0x34]
push eax
call fcn.01011923
add esp, 0x78
mov eax, 0x8004230e
cmp dword [ebp - 0x34], eax
jne 0x10239e8
movzx ecx, byte [ebp + 0x1b]
push ecx
movzx ecx, byte [ebp + 0x1a]
push ecx
movzx ecx, byte [ebp + 0x19]
push ecx
movzx ecx, byte [ebp + 0x18]
push ecx
movzx ecx, byte [ebp + 0x17]
push ecx
movzx ecx, byte [ebp + 0x16]
push ecx
movzx ecx, byte [ebp + 0x15]
push ecx
movzx ecx, byte [ebp + 0x14]
push ecx
movzx ecx, word [ebp + 0x12]
push ecx
movzx ecx, word [ebp + 0x10]
push ecx
push dword [ebp + 0xc]
lea ecx, [ebp - 0xb0]
push ecx
push 0x100a8e0
push eax
sub esp, 0x40
mov ecx, esp
mov dword [ebp - 0x110], esp
push 0
push edi
push 0x18c
push esi
push ebx
call fcn.0101170a
mov byte [ebp - 4], 6
lea eax, [ebp - 0x34]
push eax
call fcn.01011923
add esp, 0x7c
mov eax, 0x80042317
cmp dword [ebp - 0x34], eax
jne 0x1023a5e
movzx ecx, byte [ebp + 0x1b]
push ecx
movzx ecx, byte [ebp + 0x1a]
push ecx
movzx ecx, byte [ebp + 0x19]
push ecx
movzx ecx, byte [ebp + 0x18]
push ecx
movzx ecx, byte [ebp + 0x17]
push ecx
movzx ecx, byte [ebp + 0x16]
push ecx
movzx ecx, byte [ebp + 0x15]
push ecx
movzx ecx, byte [ebp + 0x14]
push ecx
movzx ecx, word [ebp + 0x12]
push ecx
movzx ecx, word [ebp + 0x10]
push ecx
push dword [ebp + 0xc]
lea ecx, [ebp - 0xb0]
push ecx
push 0x100a838
push eax
sub esp, 0x40
mov ecx, esp
mov dword [ebp - 0x114], esp
push 0
push edi
push 0x191
push esi
push ebx
call fcn.0101170a
mov byte [ebp - 4], 6
lea eax, [ebp - 0x34]
push eax
call fcn.01011923
add esp, 0x7c
cmp dword [ebp - 0x34], 0
jge 0x1023c69
lea eax, [ebp - 0x124]
push eax
call fcn.01021234
mov esi, eax
lea edi, [ebp - 0x134]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
lea eax, [ebp - 0x144]
push eax
call fcn.01021234
mov esi, eax
lea edi, [ebp - 0x154]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
lea eax, [ebp - 0x164]
push eax
call fcn.01021234
mov esi, eax
lea edi, [ebp - 0x174]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
lea eax, [ebp - 0x184]
push eax
call fcn.01021234
mov esi, eax
lea edi, [ebp - 0x194]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
lea eax, [ebp - 0x1a4]
push eax
call fcn.01021234
mov esi, eax
lea edi, [ebp - 0x1b4]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
lea eax, [ebp - 0x1c4]
push eax
call fcn.01021234
mov esi, eax
lea edi, [ebp - 0x1d4]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
lea eax, [ebp - 0x1e4]
push eax
call fcn.01021234
mov esi, eax
lea edi, [ebp - 0x1f4]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
lea eax, [ebp - 0x204]
push eax
call fcn.01021234
mov esi, eax
lea edi, [ebp - 0x214]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
lea eax, [ebp - 0x224]
push eax
call fcn.01021234
mov esi, eax
lea edi, [ebp - 0x234]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
lea eax, [ebp - 0x244]
push eax
call fcn.01021234
mov esi, eax
lea edi, [ebp - 0x254]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
lea eax, [ebp - 0x264]
push eax
call fcn.01021234
mov esi, eax
lea edi, [ebp - 0x274]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
lea eax, [ebp - 0xb0]
push eax
movzx eax, byte [ebp - 0xcd]
push eax
movzx eax, byte [ebp - 0xce]
push eax
movzx eax, byte [ebp - 0xcf]
push eax
movzx eax, byte [ebp - 0xd0]
push eax
movzx eax, byte [ebp - 0xd1]
push eax
movzx eax, byte [ebp - 0xd2]
push eax
movzx eax, byte [ebp - 0xd3]
push eax
movzx eax, byte [ebp - 0xd4]
push eax
movzx eax, word [ebp - 0xd6]
push eax
movzx eax, word [ebp - 0xd8]
push eax
push dword [ebp - 0xdc]
movzx eax, byte [ebp - 0x125]
push eax
movzx eax, byte [ebp - 0x146]
push eax
movzx eax, byte [ebp - 0x167]
push eax
movzx eax, byte [ebp - 0x188]
push eax
movzx eax, byte [ebp - 0x1a9]
push eax
movzx eax, byte [ebp - 0x1ca]
push eax
movzx eax, byte [ebp - 0x1eb]
push eax
movzx eax, byte [ebp - 0x20c]
push eax
movzx eax, word [ebp - 0x22e]
push eax
movzx eax, word [ebp - 0x250]
push eax
push dword [ebp - 0x274]
push 0x100a738
sub esp, 0x10
lea esi, [ebp - 0x44]
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]
sub esp, 0x40
mov ecx, esp
mov dword [ebp - 0x278], esp
push 0
push 0x200
push 0x196
push 0x1009700
push ebx
call fcn.0101170a
mov byte [ebp - 4], 6
lea eax, [ebp - 0x34]
push eax
call fcn.01026715
add esp, 0xb4
mov eax, dword [ebp - 0x14]
inc dword [eax + 0x20]
lea esi, [ebp - 0xdc]
mov edi, dword [ebp + 0x1c]
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 byte [ebp - 4], 2
mov eax, dword [ebp - 0xbc]
test eax, eax
je 0x1023d2d
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
jmp 0x1023d2d
mov dword [ebp - 4], 1
cmp dword [ebp - 0x34], 0
jge 0x1023de9
cmp byte [ebp - 0x45], 0
je 0x1023d92
lea eax, [ebp - 0xb0]
push eax
mov ecx, dword [ebp - 0x14]
add ecx, 0x38
call fcn.0101fee5
test eax, eax
jge 0x1023d92
push eax
push 0x100a6e0
sub esp, 0x40
mov ecx, esp
mov dword [ebp - 0x288], esp
push 0
push 0x200
push 0x1af
push 0x1009700
push ebx
call fcn.0101170a
mov byte [ebp - 4], 1
lea eax, [ebp - 0x34]
push eax
call fcn.01011891
add esp, 0x4c
cmp byte [ebp - 0x46], 0
je 0x1023de9
sub esp, 0x10
lea esi, [ebp - 0x44]
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]
mov ecx, dword [ebp - 0x14]
add ecx, 0x2c
call fcn.01022bd6
test eax, eax
jne 0x1023de9
push 0x100a688
sub esp, 0x40
mov ecx, esp
mov dword [ebp - 0x28c], esp
push eax
push 0x200
push 0x1b6
push 0x1009700
push ebx
call fcn.0101170a
mov byte [ebp - 4], 1
lea eax, [ebp - 0x34]
push eax
call fcn.01011891
add esp, 0x48
mov esi, dword [ebp - 0x34]
or dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x34]
call fcn.01011818
mov eax, esi
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop edi
pop esi
pop ebx
leave
ret 0x18