Function at 0x1002d056
Capabilities:
Get disk information

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x10090520
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
sub esp, 0x170
push esi
mov dword [ebp - 0x28], 0x8e41
mov dword [ebp - 0x74], 0xfffffff8
mov dword [ebp - 0x4c], 0
mov dword [ebp - 0x3c], 0
jmp 0x1002d09a
mov eax, dword [ebp - 0x3c]
inc eax
mov dword [ebp - 0x3c], eax
cmp dword [ebp - 0x3c], 4
jge 0x1002d0b0
mov eax, dword [ebp - 0x3c]
mov dword [ebp + eax*4 - 0x174], 0x30dfddae
jmp 0x1002d093
mov byte [ebp - 0x1e], 0
movzx eax, byte [ebp - 0x1e]
test eax, eax
je 0x1002d0c6
push 0
push 0
call dword [sym.imp.USER32.dll_LoadMenuW]
cmp dword [ebp - 0x28], 1
jl 0x1002d0e1
mov eax, 0xffff
test eax, eax
je 0x1002d0e1
mov dword [ebp - 0xa8], 1
jmp 0x1002d0e8
and dword [ebp - 0xa8], 0
mov eax, dword [ebp - 0x28]
cmp eax, dword [ebp - 0xa8]
jge 0x1002d0ff
mov dword [ebp - 0x88], 1
jmp 0x1002d106
and dword [ebp - 0x88], 0
mov eax, dword [ebp - 0x28]
cmp dword [ebp - 0x88], eax
jg 0x1002d11d
mov dword [ebp - 0xbc], 1
jmp 0x1002d124
and dword [ebp - 0xbc], 0
mov eax, dword [ebp - 0x74]
cmp dword [ebp - 0xbc], eax
jg 0x1002d138
mov dword [ebp - 0x6c], 1
jmp 0x1002d13c
and dword [ebp - 0x6c], 0
mov eax, dword [ebp - 0x6c]
mov dword [ebp - 0x4c], eax
mov eax, dword [ebp - 0x4c]
sub eax, 0x32f3
cmp eax, 1
jl 0x1002d15b
mov dword [ebp - 0xc4], 1
jmp 0x1002d162
and dword [ebp - 0xc4], 0
cmp dword [ebp - 0xc4], 1
jae 0x1002d177
mov dword [ebp - 0xf0], 1
jmp 0x1002d17e
and dword [ebp - 0xf0], 0
mov eax, dword [ebp - 0x74]
mov dword [ebp - 0x160], eax
mov eax, dword [ebp - 0x4c]
mov dword [ebp - 0x158], eax
mov eax, dword [ebp - 0x28]
add eax, 0x1355fff
neg eax
je 0x1002d1a5
mov eax, 0xe071
test eax, eax
jne 0x1002d1b4
cmp dword [ebp - 0x28], 0
jne 0x1002d1b4
and dword [ebp - 0xcc], 0
jmp 0x1002d1be
mov dword [ebp - 0xcc], 1
push 4
pop eax
shl eax, 1
mov ecx, dword [ebp - 0xcc]
mov dword [ebp + eax - 0x174], ecx
movzx eax, byte [ebp + 8]
test eax, eax
je 0x1002d1ee
push 0x5ac
push 0
push 0
push 0
call dword [sym.imp.KERNEL32.dll_VirtualQueryEx]
jmp 0x1002d952
mov dword [ebp - 0xec], 0x7f6af112
mov dword [ebp - 0xe8], 0x7f6af112
mov dword [ebp - 0xe4], 0x7f6af112
mov dword [ebp - 0xe0], 0x7f6af112
mov dword [ebp - 0x10], 0xffffffff
mov dword [ebp - 0x104], 0xffffffff
mov dword [ebp - 0x50], 0xfffffff8
mov dword [ebp - 0x58], 0xd8ef068c
push 3
lea ecx, [ebp - 0x140]
call fcn.1001b24b
and dword [ebp - 4], 0
mov dword [ebp - 0x34], 0
jmp 0x1002d256
mov eax, dword [ebp - 0x34]
inc eax
mov dword [ebp - 0x34], eax
cmp dword [ebp - 0x34], 3
jge 0x1002d26f
push dword [ebp - 0x34]
lea ecx, [ebp - 0x140]
call fcn.1001b2e9
or dword [eax], 0xffffffff
jmp 0x1002d24f
push 4
pop eax
shl eax, 1
mov dword [ebp + eax - 0xec], 0
jmp 0x1002d29a
push 4
pop eax
shl eax, 1
mov eax, dword [ebp + eax - 0xec]
inc eax
push 4
pop ecx
shl ecx, 1
mov dword [ebp + ecx - 0xec], eax
push 4
pop eax
shl eax, 1
cmp dword [ebp + eax - 0xec], 0x1c
je 0x1002d3b2
push 1
lea ecx, [ebp - 0x14c]
call fcn.1001b24b
mov byte [ebp - 4], 1
mov dword [ebp - 0x1c], 0
jmp 0x1002d2ce
mov eax, dword [ebp - 0x1c]
inc eax
mov dword [ebp - 0x1c], eax
cmp dword [ebp - 0x1c], 1
jge 0x1002d2ea
push dword [ebp - 0x1c]
lea ecx, [ebp - 0x14c]
call fcn.1001b2e9
mov dword [eax], 0xd83d
jmp 0x1002d2c7
mov dword [ebp - 0x1c], 0
jmp 0x1002d2fa
mov eax, dword [ebp - 0x1c]
inc eax
mov dword [ebp - 0x1c], eax
cmp dword [ebp - 0x1c], 1
jge 0x1002d310
mov eax, dword [ebp - 0x1c]
mov dword [ebp + eax*4 - 0x108], 1
jmp 0x1002d2f3
cmp dword [ebp - 0x10], 0
je 0x1002d38d
mov dword [ebp - 0x10], 0x19
jmp 0x1002d326
mov eax, dword [ebp - 0x10]
inc eax
mov dword [ebp - 0x10], eax
cmp dword [ebp - 0x10], 0x2b
je 0x1002d362
mov dword [ebp - 0x30], 0xfffffff6
mov dword [ebp - 0x30], 0
jmp 0x1002d343
mov eax, dword [ebp - 0x30]
dec eax
mov dword [ebp - 0x30], eax
cmp dword [ebp - 0x30], 0xfffffff7
jne 0x1002d360
mov dword [ebp - 0x114], 0xffffffff
cmp dword [ebp - 0x114], 0
je 0x1002d35e
jmp 0x1002d360
jmp 0x1002d33c
jmp 0x1002d31f
mov dword [ebp - 0x10], 0
jmp 0x1002d372
mov eax, dword [ebp - 0x10]
inc eax
mov dword [ebp - 0x10], eax
cmp dword [ebp - 0x10], 1
jge 0x1002d38b
push dword [ebp - 0x10]
lea ecx, [ebp - 0x14c]
call fcn.1001b2e9
and dword [eax], 0
jmp 0x1002d36b
jmp 0x1002d39e
push 4
pop eax
imul eax, eax, 0
mov dword [ebp + eax - 0x108], 0xffffffff
mov byte [ebp - 4], 0
lea ecx, [ebp - 0x14c]
call fcn.1001b2cd
jmp 0x1002d281
mov eax, dword [ebp - 0x58]
mov dword [ebp - 0x10c], eax
mov eax, dword [ebp - 0x58]
dec eax
mov dword [ebp - 0x58], eax
cmp dword [ebp - 0x10c], 0xfffffff8
je 0x1002d3d7
mov dword [ebp - 0xd4], 1
jmp 0x1002d3de
and dword [ebp - 0xd4], 0
push 4
pop eax
imul eax, eax, 3
mov eax, dword [ebp + eax - 0xec]
mov dword [ebp - 0x7c], eax
push 4
pop eax
imul eax, eax, 3
mov ecx, dword [ebp - 0x7c]
mov dword [ebp + eax - 0xec], ecx
mov eax, dword [ebp - 0x10]
add eax, dword [ebp - 0x7c]
add eax, dword [ebp - 0xd4]
cmp eax, dword [ebp - 0x10]
jne 0x1002d41b
mov dword [ebp - 0x84], 1
jmp 0x1002d422
and dword [ebp - 0x84], 0
mov eax, dword [ebp - 0x50]
cmp dword [ebp - 0x10], eax
je 0x1002d436
mov dword [ebp - 0xdc], 1
jmp 0x1002d43d
and dword [ebp - 0xdc], 0
mov eax, dword [ebp - 0xdc]
mov dword [ebp - 0x50], eax
mov eax, dword [ebp - 0x50]
mov dword [ebp - 0x164], eax
mov eax, dword [ebp - 0x104]
cmp dword [ebp - 0x84], eax
jge 0x1002d469
mov dword [ebp - 0xc8], 1
jmp 0x1002d470
and dword [ebp - 0xc8], 0
push 0
lea ecx, [ebp - 0x140]
call fcn.1001b2e9
mov ecx, dword [ebp - 0xc8]
mov dword [eax], ecx
or dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x140]
call fcn.1001b2cd
mov eax, dword [ebp + 0xc]
mov dword [ebp - 0x100], eax
mov dword [ebp - 0x2c], 0x75c9
push 1
lea ecx, [ebp - 0x134]
call fcn.1001b24b
mov dword [ebp - 4], 2
mov dword [ebp - 0x38], 0
jmp 0x1002d4c8
mov eax, dword [ebp - 0x38]
inc eax
mov dword [ebp - 0x38], eax
cmp dword [ebp - 0x38], 1
jge 0x1002d4e4
push dword [ebp - 0x38]
lea ecx, [ebp - 0x134]
call fcn.1001b2e9
mov dword [eax], 0xe87df2f4
jmp 0x1002d4c1
mov esi, dword [ebp - 0x2c]
push 0
lea ecx, [ebp - 0x134]
call fcn.1001b2e9
mov dword [eax], esi
mov dword [ebp - 0x2c], 0xfffffffd
jmp 0x1002d506
mov eax, dword [ebp - 0x2c]
dec eax
mov dword [ebp - 0x2c], eax
cmp dword [ebp - 0x2c], 0xffffffe6
jge 0x1002d529
mov byte [ebp - 0x1d], 0
movzx eax, byte [ebp - 0x1d]
test eax, eax
je 0x1002d527
push 0xf7e
push 0
push 0
call dword [sym.imp.KERNEL32.dll_QueryDosDeviceW]
jmp 0x1002d4ff
or dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x134]
call fcn.1001b2cd
mov eax, dword [ebp - 0x100]
mov dword [ebp - 0xf4], eax
mov dword [ebp - 0x128], 0xd6c05baf
mov dword [ebp - 0x124], 0xd6c05baf
mov dword [ebp - 0x120], 0xd6c05baf
mov dword [ebp - 0x11c], 0xd6c05baf
lea ecx, [ebp - 0x59]
call fcn.1000a403
push eax
lea eax, [ebp - 0x118]
push eax
lea eax, [ebp - 0x128]
push eax
lea ecx, [ebp - 0x17c]
call fcn.1001b2f8
push dword [eax + 4]
push dword [eax]
lea ecx, [ebp - 0x48]
call fcn.1001b2a7
mov dword [ebp - 4], 3
mov dword [ebp - 0xa4], 0xfffffff9
push 2
lea ecx, [ebp - 0x48]
call fcn.1001b2e9
and dword [eax], 0
jmp 0x1002d5dc
push 2
lea ecx, [ebp - 0x48]
call fcn.1001b2e9
mov dword [ebp - 0x90], eax
mov eax, dword [ebp - 0x90]
mov eax, dword [eax]
inc eax
mov ecx, dword [ebp - 0x90]
mov dword [ecx], eax
push 2
lea ecx, [ebp - 0x48]
call fcn.1001b2e9
cmp dword [eax], 0x15
jl 0x1002d91d
mov dword [ebp - 0x18], 0x4074dd03
mov dword [ebp - 0x54], 0xffffffff
mov dword [ebp - 0x18], 0
jmp 0x1002d60d
mov eax, dword [ebp - 0x18]
dec eax
mov dword [ebp - 0x18], eax
cmp dword [ebp - 0x18], 0xfffffffe
jge 0x1002d918
mov dword [ebp - 0x14], 0x27fa
mov dword [ebp - 0x24], 0x1fa4
push 2
lea ecx, [ebp - 0x48]
call fcn.1001b2e9
mov ecx, dword [ebp - 0x18]
imul ecx, dword [eax]
cmp ecx, 0xd1d2
jle 0x1002d649
mov dword [ebp - 0xb8], 1
jmp 0x1002d650
and dword [ebp - 0xb8], 0
mov eax, 0x7c14
sub eax, dword [ebp - 0x14]
cmp eax, dword [ebp - 0xb8]
jne 0x1002d66c
mov dword [ebp - 0x98], 1
jmp 0x1002d673
and dword [ebp - 0x98], 0
mov eax, dword [ebp - 0x14]
cmp dword [ebp - 0x98], eax
jne 0x1002d68a
mov dword [ebp - 0xd8], 1
jmp 0x1002d691
and dword [ebp - 0xd8], 0
imul eax, dword [ebp - 0xd8], 0x639
cmp eax, 0x4137
jne 0x1002d6ae
mov dword [ebp - 0x110], 1
jmp 0x1002d6b5
and dword [ebp - 0x110], 0
mov eax, dword [ebp - 0x14]
mov dword [ebp - 0x150], eax
cmp dword [ebp - 0x18], 1
jge 0x1002d6d0
mov dword [ebp - 0xa0], 1
jmp 0x1002d6d7
and dword [ebp - 0xa0], 0
mov eax, dword [ebp - 0xa0]
dec eax
cmp dword [ebp - 0x14], eax
jne 0x1002d6ef
mov dword [ebp - 0xc0], 1
jmp 0x1002d6f6
and dword [ebp - 0xc0], 0
mov eax, dword [ebp - 0x14]
imul eax, dword [ebp - 0xc0]
cmp eax, dword [ebp - 0x14]
jle 0x1002d711
mov dword [ebp - 0xf8], 1
jmp 0x1002d718
and dword [ebp - 0xf8], 0
mov eax, dword [ebp - 0x18]
mov dword [ebp - 0x154], eax
push 2
lea ecx, [ebp - 0x48]
call fcn.1001b2e9
mov eax, dword [ebp - 0x18]
cmp dword [ebp - 0x18], eax
jg 0x1002d73c
mov dword [ebp - 0x60], 1
jmp 0x1002d740
and dword [ebp - 0x60], 0
push 2
lea ecx, [ebp - 0x48]
call fcn.1001b2e9
mov esi, dword [ebp - 0x60]
add esi, dword [eax]
push 2
lea ecx, [ebp - 0x48]
call fcn.1001b2e9
add esi, dword [eax]
cmp esi, 9
jge 0x1002d76c
mov dword [ebp - 0xd0], 1
jmp 0x1002d773
and dword [ebp - 0xd0], 0
imul eax, dword [ebp - 0xd0], 0
cmp eax, dword [ebp - 0x14]
jl 0x1002d78b
mov dword [ebp - 0xb0], 1
jmp 0x1002d792
and dword [ebp - 0xb0], 0
mov eax, dword [ebp - 0xb0]
sub eax, dword [ebp - 0x14]
jne 0x1002d7a9
cmp dword [ebp - 0x14], 0
jne 0x1002d7a9
and dword [ebp - 0x80], 0
jmp 0x1002d7b0
mov dword [ebp - 0x80], 1
mov eax, dword [ebp - 0x14]
cmp dword [ebp - 0x80], eax
jle 0x1002d7c4
mov dword [ebp - 0x8c], 1
jmp 0x1002d7cb
and dword [ebp - 0x8c], 0
mov eax, dword [ebp - 0x8c]
mov dword [ebp - 0xa4], eax
push 2
lea ecx, [ebp - 0x48]
call fcn.1001b2e9
cmp dword [eax], 0
jne 0x1002d8d3
cmp dword [ebp - 0x54], 0
je 0x1002d879
push 2
lea ecx, [ebp - 0x48]
call fcn.1001b2e9
cmp dword [eax], 0
jne 0x1002d815
cmp dword [ebp - 0x24], 0xffff
ja 0x1002d815
and dword [ebp - 0x94], 0
jmp 0x1002d81f
mov dword [ebp - 0x94], 1
mov eax, dword [ebp - 0x24]
add eax, dword [ebp - 0x94]
cmp eax, dword [ebp - 0x54]
je 0x1002d839
mov dword [ebp - 0x9c], 1
jmp 0x1002d840
and dword [ebp - 0x9c], 0
mov eax, dword [ebp - 0x9c]
neg eax
cmp eax, dword [ebp - 0x24]
jge 0x1002d859
mov dword [ebp - 0xfc], 1
jmp 0x1002d860
and dword [ebp - 0xfc], 0
mov eax, dword [ebp - 0x24]
mov dword [ebp - 0x15c], eax
xor eax, eax
je 0x1002d879
mov dword [ebp - 0xac], 1
jmp 0x1002d880
and dword [ebp - 0xac], 0
mov eax, dword [ebp - 0xa4]
cmp dword [ebp - 0xac], eax
jl 0x1002d89a
mov dword [ebp - 0xb4], 1
jmp 0x1002d8a1
and dword [ebp - 0xb4], 0
push 3
lea ecx, [ebp - 0x48]
call fcn.1001b2e9
mov ecx, dword [ebp - 0xb4]
cmp ecx, dword [eax]
jge 0x1002d8be
mov dword [ebp - 0x64], 1
jmp 0x1002d8c2
and dword [ebp - 0x64], 0
mov eax, dword [ebp - 0x18]
imul eax, dword [ebp - 0x64]
test eax, eax
jne 0x1002d8d3
and dword [ebp - 0x68], 0
jmp 0x1002d8da
mov dword [ebp - 0x68], 1
mov eax, dword [ebp - 0x24]
cmp dword [ebp - 0x68], eax
jne 0x1002d8eb
mov dword [ebp - 0x70], 1
jmp 0x1002d8ef
and dword [ebp - 0x70], 0
push 3
lea ecx, [ebp - 0x48]
call fcn.1001b2e9
mov ecx, dword [ebp - 0x70]
cmp ecx, dword [eax]
je 0x1002d909
mov dword [ebp - 0x78], 1
jmp 0x1002d90d
and dword [ebp - 0x78], 0
mov eax, dword [ebp - 0x78]
mov dword [ebp - 0x54], eax
jmp 0x1002d606
jmp 0x1002d5bb
or dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x48]
call fcn.1001b2cd
mov eax, dword [ebp - 0xf4]
movzx eax, byte [eax]
test eax, eax
je 0x1002d952
push 0x2396
push 0xbcd
push 0x20c
push 0x3f1
push 0
call dword [sym.imp.KERNEL32.dll_MapViewOfFile]
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop esi
mov esp, ebp
pop ebp
ret