Function at 0x10012d5c
Capabilities:
Get disk information

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x10080690
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
sub esp, 0x1a8
push esi
push 2
lea ecx, [ebp - 0x18c]
call fcn.100170df
and dword [ebp - 4], 0
lea eax, [ebp - 0x18c]
push eax
push 0
push 0x3e61
push 0x453a
lea eax, [ebp - 0x17c]
push eax
call fcn.10015536
add esp, 0x14
mov byte [ebp - 0x1a], 0
movzx eax, byte [ebp - 0x1a]
test eax, eax
je 0x10012dc9
push 0x2254
push 0
push 0
call dword [sym.imp.KERNEL32.dll_QueryDosDeviceW]
mov byte [ebp - 0x23], 0
movzx eax, byte [ebp - 0x23]
test eax, eax
je 0x10012ddd
push 1
call fcn.10012bf1
pop ecx
or dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x18c]
call fcn.10017164
mov eax, dword [0x10cbe714]
and eax, 1
jne 0x10012e23
mov eax, dword [0x10cbe714]
or eax, 1
mov dword [0x10cbe714], eax
mov dword [ebp - 4], 1
mov ecx, 0x10cbe718
call fcn.10017279
push 0x1008275f
call fcn.10068f86
pop ecx
or dword [ebp - 4], 0xffffffff
mov eax, dword [ebp + 8]
mov dword [ebp - 0x104], eax
lea eax, [ebp - 0x16c]
push eax
mov ecx, 0x10cbe718
call fcn.10017243
push eax
lea eax, [ebp - 0x104]
push eax
lea eax, [ebp - 0x174]
push eax
mov ecx, 0x10cbe718
call fcn.10017251
mov ecx, eax
call fcn.10017266
movzx eax, al
test eax, eax
je 0x1001312a
mov dword [ebp - 0x28], 0xd29be1d9
mov dword [ebp - 0x78], 0x34e1054
mov dword [ebp - 0x50], 0x791f
mov dword [ebp - 0x12c], 0x4f20
mov dword [ebp - 0x124], 1
mov dword [ebp - 0x4c], 0
jmp 0x10012ea1
mov eax, dword [ebp - 0x4c]
inc eax
mov dword [ebp - 0x4c], eax
cmp dword [ebp - 0x4c], 1
jge 0x10012eb4
mov eax, dword [ebp - 0x4c]
mov dword [ebp + eax*4 - 0x18], 0x648261f
jmp 0x10012e9a
mov dword [ebp - 0x28], 0
jmp 0x10012ec4
mov eax, dword [ebp - 0x28]
dec eax
mov dword [ebp - 0x28], eax
cmp dword [ebp - 0x28], 0
jl 0x10012f30
mov dword [ebp - 0x30], 4
mov dword [ebp - 0x30], 0
jmp 0x10012ee1
mov eax, dword [ebp - 0x30]
inc eax
mov dword [ebp - 0x30], eax
cmp dword [ebp - 0x30], 0
jg 0x10012f2e
mov dword [ebp - 0x34], 0x9ba07e4f
mov dword [ebp - 0x34], 0
jmp 0x10012efe
mov eax, dword [ebp - 0x34]
inc eax
mov dword [ebp - 0x34], eax
cmp dword [ebp - 0x34], 0
jg 0x10012f2c
mov byte [ebp - 0x21], 0
movzx eax, byte [ebp - 0x21]
test eax, eax
je 0x10012f1e
push 1
push 0x3473
call fcn.10012c19
pop ecx
pop ecx
mov eax, dword [ebp - 0x30]
cmp dword [ebp + eax*4 - 0x18], 0
je 0x10012f2a
jmp 0x10012ef7
jmp 0x10012ef7
jmp 0x10012eda
jmp 0x10012ebd
mov dword [ebp - 0x78], 0x9da97273
push 4
pop eax
imul eax, eax, 0
push 4
pop ecx
imul ecx, ecx, 0
mov ecx, dword [ebp + ecx - 0x18]
cmp dword [ebp + eax - 0x18], ecx
jle 0x10012f66
push 4
pop eax
imul eax, eax, 0
cmp dword [ebp + eax - 0x18], 0
je 0x10012f66
mov dword [ebp - 0xc4], 1
jmp 0x10012f6d
and dword [ebp - 0xc4], 0
push 4
pop eax
imul eax, eax, 0
mov eax, dword [ebp + eax - 0x18]
cmp dword [ebp - 0xc4], eax
jge 0x10012f8b
mov dword [ebp - 0xe4], 1
jmp 0x10012f92
and dword [ebp - 0xe4], 0
mov eax, dword [ebp - 0x50]
imul eax, dword [ebp - 0xe4]
test eax, eax
jne 0x10012fa6
cmp dword [ebp - 0x50], 0
je 0x10012fb8
cmp dword [ebp - 0x78], 0
je 0x10012fb8
mov dword [ebp - 0xf0], 1
jmp 0x10012fbf
and dword [ebp - 0xf0], 0
push 4
pop eax
imul eax, eax, 0
mov eax, dword [ebp + eax - 0x18]
add eax, dword [ebp - 0xf0]
add eax, dword [ebp - 0x12c]
imul eax, dword [ebp - 0x50]
cmp eax, 0xaa4f
jge 0x10012fec
mov dword [ebp - 0x88], 1
jmp 0x10012ff3
and dword [ebp - 0x88], 0
push 4
pop eax
imul eax, eax, 0
mov eax, dword [ebp + eax - 0x18]
imul ecx, dword [ebp - 0x88], 0x66e9
sub eax, ecx
je 0x1001301d
cmp dword [ebp - 0x78], 0
je 0x1001301d
mov dword [ebp - 0xf8], 1
jmp 0x10013024
and dword [ebp - 0xf8], 0
mov eax, dword [ebp - 0xf8]
sub eax, dword [ebp - 0x50]
js 0x1001303b
mov dword [ebp - 0x100], 1
jmp 0x10013042
and dword [ebp - 0x100], 0
push 4
pop eax
imul eax, eax, 0
mov eax, dword [ebp + eax - 0x18]
cmp eax, dword [ebp - 0x100]
jle 0x10013060
mov dword [ebp - 0x94], 1
jmp 0x10013067
and dword [ebp - 0x94], 0
cmp dword [ebp - 0x94], 0xffffffff
je 0x1001307c
mov dword [ebp - 0xcc], 1
jmp 0x10013083
and dword [ebp - 0xcc], 0
cmp dword [ebp - 0xcc], 0x767c
jl 0x1001309b
mov dword [ebp - 0x9c], 1
jmp 0x100130a2
and dword [ebp - 0x9c], 0
push 4
pop eax
imul eax, eax, 0
mov eax, dword [ebp + eax - 0x18]
mov dword [ebp - 0x28], eax
mov eax, dword [ebp - 0x28]
imul eax, dword [ebp - 0x9c]
push 4
pop ecx
imul ecx, ecx, 0
cmp eax, dword [ebp + ecx - 0x18]
jle 0x100130d1
mov dword [ebp - 0xf4], 1
jmp 0x100130d8
and dword [ebp - 0xf4], 0
push 4
pop eax
imul eax, eax, 0
mov eax, dword [ebp + eax - 0x18]
cmp dword [ebp - 0xf4], eax
jle 0x100130f6
mov dword [ebp - 0xa4], 1
jmp 0x100130fd
and dword [ebp - 0xa4], 0
mov eax, dword [ebp - 0xa4]
mov dword [ebp - 0x124], eax
mov eax, dword [ebp + 8]
mov dword [ebp - 0x110], eax
lea eax, [ebp - 0x110]
push eax
mov ecx, 0x10cbe718
call fcn.100172cd
mov al, byte [eax]
jmp 0x10013869
mov dword [ebp - 0x20], 0xcea5d6c0
mov dword [ebp - 0x20], 0
jmp 0x10013141
mov eax, dword [ebp - 0x20]
inc eax
mov dword [ebp - 0x20], eax
cmp dword [ebp - 0x20], 9
jle 0x1001318c
mov dword [ebp - 0x44], 1
mov dword [ebp - 0x44], 0
jmp 0x1001315e
mov eax, dword [ebp - 0x44]
inc eax
mov dword [ebp - 0x44], eax
cmp dword [ebp - 0x44], 0
jne 0x1001318a
mov dword [ebp - 0x128], 0xfffffff7
push 0x6393
push 0
lea eax, [ebp - 0x128]
push eax
lea eax, [ebp - 0x20]
push eax
call fcn.1001535c
add esp, 0x10
jmp 0x10013157
jmp 0x1001313a
mov eax, dword [ebp - 0x20]
mov dword [ebp - 0x20], eax
push dword [ebp + 8]
lea eax, [ebp - 0x1b4]
push eax
call fcn.10011e91
pop ecx
pop ecx
mov dword [ebp - 0x118], eax
mov eax, dword [ebp - 0x118]
mov dword [ebp - 0x130], eax
mov dword [ebp - 4], 2
mov ecx, dword [ebp - 0x130]
call fcn.1001709d
mov al, byte [eax]
mov byte [ebp - 0x19], al
or dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x1b4]
call fcn.10017041
mov dword [ebp - 0x10], 0xdd1e1e87
mov dword [ebp - 0x3c], 0xffffffff
mov dword [ebp - 0x2c], 6
mov dword [ebp - 0x80], 6
mov dword [ebp - 0x15c], 0xc2b2a8f3
mov dword [ebp - 0x108], 0xa16747b1
mov dword [ebp - 0x68], 0x5d09421a
mov dword [ebp - 0xc8], 0x823388
mov dword [ebp - 0x14], 0
jmp 0x1001322c
mov eax, dword [ebp - 0x14]
inc eax
mov dword [ebp - 0x14], eax
cmp dword [ebp - 0x14], 3
jge 0x1001323f
mov eax, dword [ebp - 0x14]
mov dword [ebp + eax*4 - 0x64], 0xfffffffd
jmp 0x10013225
mov dword [ebp - 0x14], 0
jmp 0x1001324f
mov eax, dword [ebp - 0x14]
inc eax
mov dword [ebp - 0x14], eax
cmp dword [ebp - 0x14], 2
jge 0x10013265
mov eax, dword [ebp - 0x14]
mov dword [ebp + eax*4 - 0x194], 0x45cb296a
jmp 0x10013248
mov dword [ebp - 0x14], 0
jmp 0x10013275
mov eax, dword [ebp - 0x14]
inc eax
mov dword [ebp - 0x14], eax
cmp dword [ebp - 0x14], 1
jge 0x1001328b
mov eax, dword [ebp - 0x14]
mov dword [ebp + eax*4 - 0x10c], 0x50090e7a
jmp 0x1001326e
mov dword [ebp - 0x10], 0
jmp 0x1001329b
mov eax, dword [ebp - 0x10]
inc eax
mov dword [ebp - 0x10], eax
cmp dword [ebp - 0x10], 2
jg 0x1001352a
mov dword [ebp - 0x6c], 0xc407
mov dword [ebp - 0xdc], 0x7c70ab22
push 1
lea ecx, [ebp - 0x148]
call fcn.100170df
mov dword [ebp - 4], 3
mov dword [ebp - 0x158], 0xfffffffd
mov dword [ebp - 0x154], 0xfffffffd
mov dword [ebp - 0x150], 0xfffffffd
mov dword [ebp - 0x14c], 0xfffffffd
mov dword [ebp - 0x54], 0
jmp 0x10013302
mov eax, dword [ebp - 0x54]
inc eax
mov dword [ebp - 0x54], eax
cmp dword [ebp - 0x54], 1
jge 0x1001331e
push dword [ebp - 0x54]
lea ecx, [ebp - 0x148]
call fcn.10017169
mov dword [eax], 0xee76373a
jmp 0x100132fb
mov eax, dword [ebp - 0x10]
cmp dword [ebp + eax*4 - 0x64], 0x1328
jle 0x10013337
mov dword [ebp - 0xd4], 1
jmp 0x1001333e
and dword [ebp - 0xd4], 0
mov eax, dword [ebp - 0x10]
mov eax, dword [ebp + eax*4 - 0x64]
mov eax, dword [ebp - 0x6c]
add eax, dword [ebp - 0x10]
jne 0x10013360
mov eax, dword [ebp - 0x10]
cmp dword [ebp + eax*4 - 0x64], 0
jne 0x10013360
and dword [ebp - 0xac], 0
jmp 0x1001336a
mov dword [ebp - 0xac], 1
mov eax, dword [ebp - 0x10]
mov eax, dword [ebp + eax*4 - 0x64]
cmp dword [ebp - 0xac], eax
jl 0x10013385
mov dword [ebp - 0xec], 1
jmp 0x1001338c
and dword [ebp - 0xec], 0
cmp dword [ebp - 0xec], 0xffffffff
je 0x100133a1
mov dword [ebp - 0xb4], 1
jmp 0x100133a8
and dword [ebp - 0xb4], 0
mov eax, dword [ebp - 0xb4]
mov dword [ebp - 0xdc], eax
mov esi, dword [ebp - 0xdc]
push 0
lea ecx, [ebp - 0x148]
call fcn.10017169
mov dword [eax], esi
push 4
pop eax
shl eax, 0
cmp dword [ebp + eax - 0x158], 0xb0881dda
jbe 0x100133e8
mov dword [ebp - 0xbc], 1
jmp 0x100133ef
and dword [ebp - 0xbc], 0
cmp dword [ebp - 0xbc], 1
jne 0x10013401
mov dword [ebp - 0x7c], 1
jmp 0x10013405
and dword [ebp - 0x7c], 0
cmp dword [ebp - 0x6c], 9
jg 0x10013417
mov dword [ebp - 0xfc], 1
jmp 0x1001341e
and dword [ebp - 0xfc], 0
push 4
pop eax
imul eax, eax, 0
mov eax, dword [ebp + eax - 0x64]
cmp dword [ebp - 0xfc], eax
jg 0x1001343c
mov dword [ebp - 0x8c], 1
jmp 0x10013443
and dword [ebp - 0x8c], 0
mov eax, dword [ebp - 0x7c]
cmp eax, dword [ebp - 0x8c]
jle 0x1001345a
mov dword [ebp - 0x90], 1
jmp 0x10013461
and dword [ebp - 0x90], 0
push 4
pop eax
imul eax, eax, 0
mov eax, dword [ebp + eax - 0x64]
cmp dword [ebp - 0x90], eax
je 0x1001347f
mov dword [ebp - 0x98], 1
jmp 0x10013486
and dword [ebp - 0x98], 0
cmp dword [ebp - 0x98], 0xd4856cd8
jbe 0x1001349e
mov dword [ebp - 0xa0], 1
jmp 0x100134a5
and dword [ebp - 0xa0], 0
mov eax, dword [ebp - 0x10]
imul eax, dword [ebp - 0xa0]
cmp eax, dword [ebp - 0x10]
jl 0x100134cd
push 4
pop eax
imul eax, eax, 0
cmp dword [ebp + eax - 0x64], 0
je 0x100134cd
mov dword [ebp - 0xa8], 1
jmp 0x100134d4
and dword [ebp - 0xa8], 0
mov eax, dword [ebp - 0xa8]
sub eax, dword [ebp - 0x6c]
je 0x100134fa
push 4
pop eax
shl eax, 1
cmp dword [ebp + eax - 0x158], 0
je 0x100134fa
mov dword [ebp - 0xb0], 1
jmp 0x10013501
and dword [ebp - 0xb0], 0
push 0
lea ecx, [ebp - 0x148]
call fcn.10017169
mov ecx, dword [ebp - 0xb0]
mov dword [eax], ecx
or dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x148]
call fcn.10017164
jmp 0x10013294
cmp dword [ebp - 0x2c], 0
je 0x10013542
cmp dword [ebp - 0x2c], 0
je 0x10013542
mov dword [ebp - 0xb8], 1
jmp 0x10013549
and dword [ebp - 0xb8], 0
mov eax, dword [ebp - 0x2c]
cmp eax, dword [ebp - 0xb8]
jge 0x1001355d
mov dword [ebp - 0x74], 1
jmp 0x10013561
and dword [ebp - 0x74], 0
push 4
pop eax
shl eax, 0
mov ecx, dword [ebp - 0x74]
mov dword [ebp + eax - 0x194], ecx
mov eax, dword [ebp - 0x74]
mov dword [ebp - 0x3c], eax
mov eax, dword [ebp - 0x3c]
mov dword [ebp - 0x198], eax
mov eax, dword [ebp - 0x10]
mov dword [ebp - 0x168], eax
cmp dword [ebp - 0x80], 0xa3a768fb
ja 0x1001359e
mov dword [ebp - 0x120], 1
jmp 0x100135a5
and dword [ebp - 0x120], 0
push 4
pop eax
shl eax, 0
mov eax, dword [ebp + eax - 0x64]
mov dword [ebp - 0x180], eax
cmp dword [ebp - 0x2c], 0xceeec855
je 0x100135ca
mov dword [ebp - 0xc0], 1
jmp 0x100135d1
and dword [ebp - 0xc0], 0
mov eax, dword [ebp - 0x68]
dec eax
mov dword [ebp - 0x68], eax
mov eax, dword [ebp - 0xc0]
mov dword [ebp - 0xc8], eax
push 4
pop eax
shl eax, 1
mov ecx, dword [ebp - 0x68]
imul ecx, dword [ebp - 0xc8]
cmp ecx, dword [ebp + eax - 0x64]
jle 0x10013605
mov dword [ebp - 0xd0], 1
jmp 0x1001360c
and dword [ebp - 0xd0], 0
mov eax, dword [ebp - 0x10]
cmp eax, dword [ebp - 0xd0]
jle 0x10013623
mov dword [ebp - 0xd8], 1
jmp 0x1001362a
and dword [ebp - 0xd8], 0
mov eax, dword [ebp - 0x108]
cmp dword [ebp - 0xd8], eax
jle 0x10013644
mov dword [ebp - 0xe0], 1
jmp 0x1001364b
and dword [ebp - 0xe0], 0
push 4
pop eax
shl eax, 0
mov ecx, dword [ebp - 0xe0]
sub ecx, dword [ebp + eax - 0x64]
cmp ecx, dword [ebp - 0x10]
jne 0x1001366c
mov dword [ebp - 0xe8], 1
jmp 0x10013673
and dword [ebp - 0xe8], 0
push 4
pop eax
imul eax, eax, 0
mov eax, dword [ebp + eax - 0x64]
cmp dword [ebp - 0xe8], eax
jle 0x10013691
cmp dword [ebp - 0x3c], 0
jne 0x10013691
and dword [ebp - 0x70], 0
jmp 0x10013698
mov dword [ebp - 0x70], 1
push 4
pop eax
imul eax, eax, 0
mov ecx, dword [ebp - 0x70]
mov dword [ebp + eax - 0x10c], ecx
cmp dword [ebp - 0x70], 0xa104
jg 0x100136bd
mov dword [ebp - 0x114], 1
jmp 0x100136c4
and dword [ebp - 0x114], 0
mov eax, dword [ebp - 0x2c]
mov dword [ebp - 0x170], eax
mov eax, dword [ebp - 0x2c]
mov dword [ebp - 0x19c], eax
mov eax, dword [ebp - 0x3c]
mov ecx, dword [ebp - 0x80]
lea eax, [eax + ecx + 6]
mov dword [ebp - 0x10], eax
push 0
push 0x10cbe718
push 0x1e19
push 0x4604
lea eax, [ebp - 0x19]
push eax
push 0x1ad7
push 0x29cd
lea eax, [ebp + 8]
push eax
call fcn.1001577f
add esp, 0x20
push 2
lea ecx, [ebp - 0x13c]
call fcn.100170df
mov dword [ebp - 4], 4
lea eax, [ebp - 0x13c]
push eax
lea eax, [ebp - 0x178]
push eax
push 0x104c
push 1
call fcn.10012c59
add esp, 0x10
push 1
lea ecx, [ebp - 0x13c]
call fcn.10017169
and dword [eax], 0
jmp 0x10013775
push 1
lea ecx, [ebp - 0x13c]
call fcn.10017169
mov dword [ebp - 0x84], eax
mov eax, dword [ebp - 0x84]
mov eax, dword [eax]
dec eax
mov ecx, dword [ebp - 0x84]
mov dword [ecx], eax
push 1
lea ecx, [ebp - 0x13c]
call fcn.10017169
cmp dword [eax], 0xfffffff9
jle 0x10013857
mov dword [ebp - 0x40], 4
mov dword [ebp - 0x40], 0x14
jmp 0x100137a2
mov eax, dword [ebp - 0x40]
inc eax
mov dword [ebp - 0x40], eax
cmp dword [ebp - 0x40], 0x15
jne 0x10013852
mov dword [ebp - 0x38], 0xf25cbd94
mov dword [ebp - 0x48], 0
jmp 0x100137c3
mov eax, dword [ebp - 0x48]
inc eax
mov dword [ebp - 0x48], eax
cmp dword [ebp - 0x48], 1
jge 0x100137d9
mov eax, dword [ebp - 0x48]
mov dword [ebp + eax*4 - 0x11c], 0x292c5eb2
jmp 0x100137bc
mov dword [ebp - 0x38], 0
jmp 0x100137e9
mov eax, dword [ebp - 0x38]
dec eax
mov dword [ebp - 0x38], eax
cmp dword [ebp - 0x38], 0xffffffe6
jg 0x10013831
mov dword [ebp - 0x58], 0
jmp 0x100137ff
mov eax, dword [ebp - 0x58]
inc eax
mov dword [ebp - 0x58], eax
cmp dword [ebp - 0x58], 2
jge 0x10013815
mov eax, dword [ebp - 0x58]
mov dword [ebp + eax*4 - 0x164], 0xfffffffd
jmp 0x100137f8
push 4
pop eax
shl eax, 0
push 4
pop ecx
imul ecx, ecx, 0
mov eax, dword [ebp + eax - 0x164]
mov dword [ebp + ecx - 0x11c], eax
jmp 0x100137e2
mov byte [ebp - 0x22], 0
push 0x40ea
push 0xc26
lea eax, [ebp - 0x22]
push eax
push 1
call fcn.10012cd8
add esp, 0x10
jmp 0x1001379b
jmp 0x10013751
or dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x13c]
call fcn.10017164
mov al, byte [ebp - 0x19]
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop esi
mov esp, ebp
pop ebp
ret