Function at 0x1001436d
Capabilities:
Get disk information

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x100859b1
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
sub esp, 0x174
mov eax, dword [0x10676f94]
and eax, 1
jne 0x100143bf
mov eax, dword [0x10676f94]
or eax, 1
mov dword [0x10676f94], eax
and dword [ebp - 4], 0
mov ecx, 0x10676f0c
call fcn.10017e48
push 0x10086c9f
call fcn.1006adc6
pop ecx
or dword [ebp - 4], 0xffffffff
mov dword [ebp - 0x3c], 0
mov dword [ebp - 0x108], 0xfffffff9
mov dword [ebp - 0x104], 0xfffffff9
mov dword [ebp - 0x100], 0xfffffff9
mov dword [ebp - 0xfc], 0xfffffff9
mov dword [ebp - 0xd8], 0xffffffff
mov dword [ebp - 0x84], 0
mov dword [ebp - 0x3c], 0xfffffffb
jmp 0x10014412
mov eax, dword [ebp - 0x3c]
dec eax
mov dword [ebp - 0x3c], eax
cmp dword [ebp - 0x3c], 0xffffffec
jne 0x100146ef
mov dword [ebp - 0x54], 0
mov dword [ebp - 0x9c], 0x1f6f49c2
mov dword [ebp - 0x7c], 0xfffffffc
mov dword [ebp - 0x54], 0
jmp 0x10014444
mov eax, dword [ebp - 0x54]
dec eax
mov dword [ebp - 0x54], eax
cmp dword [ebp - 0x54], 0xfffffff8
jne 0x100146ea
mov dword [ebp - 0x1c], 0x4c405b40
mov dword [ebp - 0x1c], 0
jmp 0x10014465
mov eax, dword [ebp - 0x1c]
inc eax
mov dword [ebp - 0x1c], eax
cmp dword [ebp - 0x1c], 0xf
jne 0x100146e5
mov dword [ebp - 0x20], 0
jmp 0x1001447f
mov eax, dword [ebp - 0x20]
inc eax
mov dword [ebp - 0x20], eax
cmp dword [ebp - 0x20], 3
jge 0x10014495
mov eax, dword [ebp - 0x20]
mov dword [ebp + eax*4 - 0xc8], 0xfffffffe
jmp 0x10014478
mov dword [ebp - 0x20], 0
jmp 0x100144a5
mov eax, dword [ebp - 0x20]
inc eax
mov dword [ebp - 0x20], eax
cmp dword [ebp - 0x20], 3
jge 0x100144bb
mov eax, dword [ebp - 0x20]
mov dword [ebp + eax*4 - 0x158], 0xfffffffd
jmp 0x1001449e
mov byte [ebp - 0x2d], 0
movzx eax, byte [ebp - 0x2d]
test eax, eax
je 0x100144cf
push 1
call fcn.100142a3
pop ecx
push 4
pop eax
shl eax, 0
mov dword [ebp + eax - 0xc8], 0
jmp 0x100144fd
push 4
pop eax
shl eax, 0
mov eax, dword [ebp + eax - 0xc8]
inc eax
push 4
pop ecx
shl ecx, 0
mov dword [ebp + ecx - 0xc8], eax
push 4
pop eax
shl eax, 0
cmp dword [ebp + eax - 0xc8], 3
jg 0x100146e0
mov dword [ebp - 0x34], 4
mov dword [ebp - 0xf8], 0xfae0
mov dword [ebp - 0x34], 0
jmp 0x10014532
mov eax, dword [ebp - 0x34]
inc eax
mov dword [ebp - 0x34], eax
cmp dword [ebp - 0x34], 3
jg 0x100145d2
mov eax, dword [ebp - 0x34]
cmp dword [ebp + eax*4 - 0x108], 0
je 0x10014576
mov dword [ebp - 0xf0], 1
lea eax, [ebp - 0xd8]
push eax
lea eax, [ebp - 0xf0]
push eax
push 0
lea eax, [ebp - 0x1c]
push eax
push 0x395b
call fcn.100142cd
add esp, 0x14
jmp 0x100145c2
mov dword [ebp - 0x4c], 0
jmp 0x10014586
mov eax, dword [ebp - 0x4c]
inc eax
mov dword [ebp - 0x4c], eax
cmp dword [ebp - 0x4c], 4
jge 0x1001459c
mov eax, dword [ebp - 0x4c]
mov dword [ebp + eax*4 - 0x140], 0xb5af
jmp 0x1001457f
push 4
pop eax
imul eax, eax, 0
mov eax, dword [ebp + eax - 0x140]
dec eax
push 4
pop ecx
imul ecx, ecx, 0
mov dword [ebp + ecx - 0x140], eax
cmp dword [ebp - 0x1c], 0
je 0x100145c2
jmp 0x1001452b
cmp dword [ebp - 0x9c], 0
je 0x100145cd
jmp 0x100145d2
jmp 0x1001452b
push 4
pop eax
shl eax, 0
cmp dword [ebp + eax - 0xc8], 0
jne 0x100145f7
cmp dword [ebp - 0x1c], 0
je 0x100145ee
cmp dword [ebp - 0x1c], 0
jle 0x100145f7
and dword [ebp - 0xac], 0
jmp 0x10014601
mov dword [ebp - 0xac], 1
mov eax, dword [ebp - 0x34]
imul ecx, dword [ebp - 0xac], 0x5f58
add eax, ecx
cmp eax, 0xfff6
je 0x10014623
mov dword [ebp - 0x94], 1
jmp 0x1001462a
and dword [ebp - 0x94], 0
cmp dword [ebp - 0x94], 0xfffffff8
jg 0x1001463f
mov dword [ebp - 0xb0], 1
jmp 0x10014646
and dword [ebp - 0xb0], 0
cmp dword [ebp - 0xb0], 0xffffffff
ja 0x10014658
mov dword [ebp - 0x78], 1
jmp 0x1001465c
and dword [ebp - 0x78], 0
mov eax, dword [ebp - 0x1c]
add eax, dword [ebp - 0x78]
mov dword [ebp - 0x7c], eax
push 4
pop eax
shl eax, 0
mov eax, dword [ebp + eax - 0xc8]
cmp eax, dword [ebp - 0x7c]
jl 0x10014683
mov dword [ebp - 0xa4], 1
jmp 0x1001468a
and dword [ebp - 0xa4], 0
mov eax, dword [ebp - 0xa4]
mov dword [ebp - 0x84], eax
mov eax, dword [ebp - 0x3c]
cmp dword [ebp - 0x84], eax
jge 0x100146ad
mov dword [ebp - 0x8c], 1
jmp 0x100146b4
and dword [ebp - 0x8c], 0
mov eax, dword [ebp - 0x9c]
cmp dword [ebp - 0x8c], eax
jge 0x100146cb
mov dword [ebp - 0x6c], 1
jmp 0x100146cf
and dword [ebp - 0x6c], 0
mov eax, dword [ebp - 0x34]
add eax, dword [ebp - 0x6c]
mov dword [ebp - 0xf8], eax
jmp 0x100144e2
jmp 0x1001445e
jmp 0x1001443d
jmp 0x1001440b
mov eax, dword [ebp + 8]
mov dword [ebp - 0xec], eax
lea eax, [ebp - 0x110]
push eax
mov ecx, 0x10676f0c
call fcn.10017e12
push eax
lea eax, [ebp - 0xec]
push eax
lea eax, [ebp - 0x118]
push eax
mov ecx, 0x10676f0c
call fcn.10017e20
mov ecx, eax
call fcn.10017e35
movzx eax, al
test eax, eax
je 0x100147dd
mov dword [ebp - 0x24], 0xfffffffd
mov dword [ebp - 0x58], 0
jmp 0x1001474b
mov eax, dword [ebp - 0x58]
inc eax
mov dword [ebp - 0x58], eax
cmp dword [ebp - 0x58], 4
jge 0x10014761
mov eax, dword [ebp - 0x58]
mov dword [ebp + eax*4 - 0x180], 0xc64a6847
jmp 0x10014744
mov dword [ebp - 0x24], 3
jmp 0x10014771
mov eax, dword [ebp - 0x24]
dec eax
mov dword [ebp - 0x24], eax
cmp dword [ebp - 0x24], 0
jl 0x10014790
mov byte [ebp - 0x2b], 0
lea eax, [ebp - 0x2b]
push eax
push 0x28c9
push 0
call fcn.10015b99
add esp, 0xc
jmp 0x1001476a
mov dword [ebp - 0x24], 0
jmp 0x100147a0
mov eax, dword [ebp - 0x24]
dec eax
mov dword [ebp - 0x24], eax
cmp dword [ebp - 0x24], 0xfffffff9
jne 0x100147bc
mov byte [ebp - 0x2c], 0
movzx eax, byte [ebp - 0x2c]
test eax, eax
je 0x100147ba
push 0
call fcn.10015c11
pop ecx
jmp 0x10014799
mov eax, dword [ebp + 8]
mov dword [ebp - 0xe4], eax
lea eax, [ebp - 0xe4]
push eax
mov ecx, 0x10676f0c
call fcn.10017e9c
mov al, byte [eax]
jmp 0x10014c3b
mov dword [ebp - 0x28], 1
mov dword [ebp - 0x5c], 0
mov dword [ebp - 0xe8], 0xd9796a0b
mov dword [ebp - 0x44], 0
jmp 0x10014805
mov eax, dword [ebp - 0x44]
inc eax
mov dword [ebp - 0x44], eax
cmp dword [ebp - 0x44], 3
jge 0x10014818
mov eax, dword [ebp - 0x44]
mov dword [ebp + eax*4 - 0x68], 0xfffc
jmp 0x100147fe
mov dword [ebp - 0x28], 0
jmp 0x10014828
mov eax, dword [ebp - 0x28]
inc eax
mov dword [ebp - 0x28], eax
cmp dword [ebp - 0x28], 2
jg 0x10014851
mov byte [ebp - 0x37], 0
push 0x3471
push 0x1e6d
push 1
push 0x3bf9
lea eax, [ebp - 0x37]
push eax
call fcn.100142cd
add esp, 0x14
jmp 0x10014821
push 4
pop eax
shl eax, 0
cmp dword [ebp + eax - 0x68], 0
je 0x10014874
push 4
pop eax
shl eax, 0
cmp dword [ebp + eax - 0x68], 0
je 0x10014874
mov dword [ebp - 0x74], 1
jmp 0x10014878
and dword [ebp - 0x74], 0
push 4
pop eax
shl eax, 0
mov ecx, dword [ebp - 0x74]
sub ecx, dword [ebp + eax - 0x68]
jne 0x10014899
push 4
pop eax
shl eax, 1
cmp dword [ebp + eax - 0x68], 0
jne 0x10014899
and dword [ebp - 0x70], 0
jmp 0x100148a0
mov dword [ebp - 0x70], 1
mov eax, dword [ebp - 0x70]
mov dword [ebp - 0x5c], eax
mov eax, dword [ebp - 0x5c]
mov dword [ebp - 0x114], eax
push 4
pop eax
shl eax, 0
cmp dword [ebp + eax - 0x68], 1
jbe 0x100148c8
mov dword [ebp - 0xcc], 1
jmp 0x100148cf
and dword [ebp - 0xcc], 0
push 4
pop eax
shl eax, 1
mov eax, dword [ebp + eax - 0x68]
mov dword [ebp - 0x28], eax
mov eax, dword [ebp - 0x28]
mov dword [ebp - 0x10c], eax
push 4
pop eax
imul eax, eax, 0
imul ecx, dword [ebp - 0x5c], 0x5c29
cmp dword [ebp + eax - 0x68], ecx
jge 0x10014903
cmp dword [ebp - 0x28], 0
jne 0x10014903
and dword [ebp - 0x80], 0
jmp 0x1001490a
mov dword [ebp - 0x80], 1
push 4
pop eax
shl eax, 1
mov eax, dword [ebp + eax - 0x68]
cmp dword [ebp - 0x80], eax
jg 0x10014924
mov dword [ebp - 0x88], 1
jmp 0x1001492b
and dword [ebp - 0x88], 0
push 4
pop eax
shl eax, 1
mov eax, dword [ebp + eax - 0x68]
cmp dword [ebp - 0x88], eax
jle 0x10014948
mov dword [ebp - 0x90], 1
jmp 0x1001494f
and dword [ebp - 0x90], 0
mov eax, dword [ebp - 0x90]
mov dword [ebp - 0xe8], eax
push dword [ebp + 8]
lea eax, [ebp - 0x170]
push eax
call fcn.10013519
pop ecx
pop ecx
mov dword [ebp - 0xe0], eax
mov eax, dword [ebp - 0xe0]
mov dword [ebp - 0xf4], eax
mov dword [ebp - 4], 1
mov ecx, dword [ebp - 0xf4]
call fcn.10017d19
mov al, byte [eax]
mov byte [ebp - 0x11], al
or dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x170]
call fcn.10017cbd
mov dword [ebp - 0x40], 0xf845d811
mov dword [ebp - 0x18], 0
jmp 0x100149bb
mov eax, dword [ebp - 0x18]
inc eax
mov dword [ebp - 0x18], eax
cmp dword [ebp - 0x18], 4
jge 0x100149d1
mov eax, dword [ebp - 0x18]
mov dword [ebp + eax*4 - 0x130], 0x28c176b0
jmp 0x100149b4
mov dword [ebp - 0x18], 0
jmp 0x100149e1
mov eax, dword [ebp - 0x18]
inc eax
mov dword [ebp - 0x18], eax
cmp dword [ebp - 0x18], 3
jge 0x100149f7
mov eax, dword [ebp - 0x18]
mov dword [ebp + eax*4 - 0xbc], 1
jmp 0x100149da
push 4
pop eax
imul eax, eax, 0
mov dword [ebp + eax - 0xbc], 0
jmp 0x10014a25
push 4
pop eax
imul eax, eax, 0
mov eax, dword [ebp + eax - 0xbc]
inc eax
push 4
pop ecx
imul ecx, ecx, 0
mov dword [ebp + ecx - 0xbc], eax
push 4
pop eax
imul eax, eax, 0
cmp dword [ebp + eax - 0xbc], 3
jg 0x10014a5f
push 4
pop eax
imul eax, eax, 0
mov eax, dword [ebp + eax - 0xbc]
push 4
pop ecx
imul ecx, ecx, 0
mov ecx, dword [ebp + ecx - 0xbc]
mov eax, dword [ebp + eax*4 - 0x130]
mov dword [ebp + ecx*4 - 0x130], eax
jmp 0x10014a0a
mov dword [ebp - 0x40], 0
jmp 0x10014a6f
mov eax, dword [ebp - 0x40]
dec eax
mov dword [ebp - 0x40], eax
cmp dword [ebp - 0x40], 0xffffffea
je 0x10014be7
mov dword [ebp - 0x10], 1
mov dword [ebp - 0x98], 0x8bd85027
mov dword [ebp - 0x10], 0
jmp 0x10014a9a
mov eax, dword [ebp - 0x10]
inc eax
mov dword [ebp - 0x10], eax
cmp dword [ebp - 0x10], 3
jg 0x10014ab6
mov byte [ebp - 0x2a], 0
movzx eax, byte [ebp - 0x2a]
test eax, eax
je 0x10014ab4
push 0
call fcn.1001434a
pop ecx
jmp 0x10014a93
cmp dword [ebp - 0x10], 0
je 0x10014b9e
mov dword [ebp - 0x50], 3
mov dword [ebp - 0x48], 0
jmp 0x10014ad7
mov eax, dword [ebp - 0x48]
inc eax
mov dword [ebp - 0x48], eax
cmp dword [ebp - 0x48], 3
jge 0x10014aed
mov eax, dword [ebp - 0x48]
mov dword [ebp + eax*4 - 0x14c], 0xa05d
jmp 0x10014ad0
cmp dword [ebp - 0x50], 0
je 0x10014b2e
cmp dword [ebp - 0x50], 0
je 0x10014b0b
mov eax, dword [ebp - 0x10]
mov dword [ebp - 0x98], eax
mov eax, dword [ebp - 0x98]
cmp dword [ebp - 0x10], eax
push 4
pop eax
shl eax, 0
mov dword [ebp + eax - 0x14c], 0xffffffff
mov eax, dword [ebp - 0x10]
inc eax
je 0x10014b2e
mov dword [ebp - 0xd0], 1
jmp 0x10014b35
and dword [ebp - 0xd0], 0
mov eax, dword [ebp - 0x40]
mov dword [ebp - 0x11c], eax
mov eax, dword [ebp - 0x50]
cmp dword [ebp - 0x50], eax
je 0x10014b52
mov dword [ebp - 0xa0], 1
jmp 0x10014b59
and dword [ebp - 0xa0], 0
cmp dword [ebp - 0xa0], 0xdec995f7
ja 0x10014b71
mov dword [ebp - 0xa8], 1
jmp 0x10014b78
and dword [ebp - 0xa8], 0
mov eax, dword [ebp - 0xa8]
mov dword [ebp - 0x10], eax
mov byte [ebp - 0x29], 0
movzx eax, byte [ebp - 0x29]
test eax, eax
je 0x10014b9c
push 0x956
push 0
push 0
call dword [sym.imp.KERNEL32.dll_QueryDosDeviceW]
jmp 0x10014be2
mov dword [ebp - 0xd4], 0
mov dword [ebp - 0x10], 5
jmp 0x10014bb8
mov eax, dword [ebp - 0x10]
inc eax
mov dword [ebp - 0x10], eax
cmp dword [ebp - 0x10], 0x15
jge 0x10014bd4
mov byte [ebp - 0x36], 0
movzx eax, byte [ebp - 0x36]
test eax, eax
je 0x10014bd2
push 1
call fcn.1001434a
pop ecx
jmp 0x10014bb1
cmp dword [ebp - 0xd4], 0
je 0x10014be2
jmp 0x10014a68
jmp 0x10014a68
mov eax, dword [ebp + 8]
mov dword [ebp - 0xdc], eax
lea eax, [ebp - 0xdc]
push eax
mov ecx, 0x10676f0c
call fcn.10017e9c
mov cl, byte [ebp - 0x11]
mov byte [eax], cl
mov dword [ebp - 0x120], 0xffff
mov byte [ebp - 0x38], 0
movzx eax, byte [ebp - 0x38]
test eax, eax
je 0x10014c24
push 0
call fcn.100179c8
pop ecx
mov byte [ebp - 0x35], 0
movzx eax, byte [ebp - 0x35]
test eax, eax
je 0x10014c38
push 0
call fcn.10015867
pop ecx
mov al, byte [ebp - 0x11]
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
mov esp, ebp
pop ebp
ret