Function at 0x427534
Capabilities:
Get disk information

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x104
push esi
mov dword [ebp - 0xa4], 9
mov dword [ebp - 0xa0], 9
mov dword [ebp - 0x9c], 9
mov dword [ebp - 0x98], 9
mov dword [ebp - 0x20], 0
jmp 0x427576
mov eax, dword [ebp - 0x20]
inc eax
mov dword [ebp - 0x20], eax
cmp dword [ebp - 0x20], 2
jge 0x42758c
mov eax, dword [ebp - 0x20]
mov dword [ebp + eax*4 - 0xac], 0x62fd
jmp 0x42756f
push 4
pop eax
imul eax, eax, 3
mov dword [ebp + eax - 0xa4], 1
jmp 0x4275ba
push 4
pop eax
imul eax, eax, 3
mov eax, dword [ebp + eax - 0xa4]
dec eax
push 4
pop ecx
imul ecx, ecx, 3
mov dword [ebp + ecx - 0xa4], eax
push 4
pop eax
imul eax, eax, 3
cmp dword [ebp + eax - 0xa4], 0
jl 0x42781b
mov dword [ebp - 0x90], 0xffffffff
mov dword [ebp - 0x8c], 0xffffffff
mov dword [ebp - 0x88], 0xffffffff
mov dword [ebp - 0x84], 0xffffffff
mov dword [ebp - 0xb0], 0x4d07ddbf
push 4
pop eax
imul eax, eax, 3
mov dword [ebp + eax - 0x90], 1
jmp 0x42762e
push 4
pop eax
imul eax, eax, 3
mov eax, dword [ebp + eax - 0x90]
dec eax
push 4
pop ecx
imul ecx, ecx, 3
mov dword [ebp + ecx - 0x90], eax
push 4
pop eax
imul eax, eax, 3
cmp dword [ebp + eax - 0x90], 0
jl 0x427816
push 4
lea ecx, [ebp - 0xec]
call fcn.00413c51
push 1
lea ecx, [ebp - 0xd4]
call fcn.00413c51
mov dword [ebp - 0xb4], 0
mov dword [ebp - 0xc], 0
jmp 0x427676
mov eax, dword [ebp - 0xc]
inc eax
mov dword [ebp - 0xc], eax
cmp dword [ebp - 0xc], 4
jge 0x427692
push dword [ebp - 0xc]
lea ecx, [ebp - 0xec]
call fcn.00413d3f
mov dword [eax], 1
jmp 0x42766f
mov dword [ebp - 0xc], 0
jmp 0x4276a2
mov eax, dword [ebp - 0xc]
inc eax
mov dword [ebp - 0xc], eax
cmp dword [ebp - 0xc], 1
jge 0x4276be
push dword [ebp - 0xc]
lea ecx, [ebp - 0xd4]
call fcn.00413d3f
mov dword [eax], 0xbbd18838
jmp 0x42769b
push 4
pop eax
imul eax, eax, 3
mov eax, dword [ebp + eax - 0x90]
cmp dword [ebp + eax*4 - 0xac], 0
je 0x427763
push 4
pop eax
imul eax, eax, 3
mov eax, dword [ebp + eax - 0x90]
mov eax, dword [ebp + eax*4 - 0xac]
mov dword [ebp - 0x78], eax
push 0
lea ecx, [ebp - 0xd4]
call fcn.00413d3f
mov ecx, dword [ebp - 0x78]
mov dword [eax], ecx
push 4
pop eax
imul eax, eax, 3
mov eax, dword [ebp + eax - 0xa4]
cmp eax, dword [ebp - 0x78]
jl 0x427722
xor eax, eax
inc eax
je 0x427722
mov dword [ebp - 0x40], 1
jmp 0x427726
and dword [ebp - 0x40], 0
push 1
lea ecx, [ebp - 0xec]
call fcn.00413d3f
mov dword [eax], 0xbfb66feb
cmp dword [ebp - 0x40], 0xbfb66feb
jg 0x42774b
mov dword [ebp - 0x68], 1
jmp 0x42774f
and dword [ebp - 0x68], 0
imul eax, dword [ebp - 0x68], 0xce3d
test eax, eax
je 0x427763
mov dword [ebp - 0x48], 1
jmp 0x427767
and dword [ebp - 0x48], 0
push 4
pop eax
imul eax, eax, 3
mov eax, dword [ebp + eax - 0x90]
mov eax, dword [ebp + eax*4 - 0xac]
cmp dword [ebp - 0x48], eax
jne 0x427789
mov dword [ebp - 0x70], 1
jmp 0x42778d
and dword [ebp - 0x70], 0
push 4
pop eax
imul eax, eax, 3
mov eax, dword [ebp + eax - 0xa4]
mov eax, dword [ebp + eax*4 - 0xac]
sub eax, dword [ebp - 0x70]
jne 0x4277b6
push 4
pop eax
imul eax, eax, 3
cmp dword [ebp + eax - 0x90], 0
je 0x4277cf
push 4
pop eax
imul eax, eax, 3
cmp dword [ebp + eax - 0xa4], 0
je 0x4277cf
mov dword [ebp - 0x50], 1
jmp 0x4277d3
and dword [ebp - 0x50], 0
cmp dword [ebp - 0x50], 0x3a4c6382
jne 0x4277ee
cmp dword [ebp - 0xb0], 0
je 0x4277ee
mov dword [ebp - 0x80], 1
jmp 0x4277f2
and dword [ebp - 0x80], 0
mov eax, dword [ebp - 0x80]
mov dword [ebp - 0xb4], eax
lea ecx, [ebp - 0xd4]
call fcn.00413d23
lea ecx, [ebp - 0xec]
call fcn.00413d23
jmp 0x427613
jmp 0x42759f
mov eax, dword [ebp + 8]
mov dword [ebp - 0xc4], eax
mov dword [ebp - 8], 0
mov dword [ebp - 0x14], 0xb5cabfc3
mov dword [ebp - 8], 0
jmp 0x427842
mov eax, dword [ebp - 8]
dec eax
mov dword [ebp - 8], eax
cmp dword [ebp - 8], 0xffffffea
jle 0x427873
mov byte [ebp - 0xd], 0
movzx eax, byte [ebp - 0xd]
test eax, eax
je 0x427871
push 0
push 0x1015
push 0
call dword [sym.imp.USER32.dll_GetDesktopWindow]
push eax
call dword [sym.imp.USER32.dll_GetDC]
push eax
call dword [sym.imp.GDI32.dll_GetTextExtentPoint32A]
jmp 0x42783b
mov dword [ebp - 8], 0
jmp 0x427883
mov eax, dword [ebp - 8]
inc eax
mov dword [ebp - 8], eax
cmp dword [ebp - 8], 3
jl 0x4279ca
mov dword [ebp - 0x28], 0xffffffff
push 2
lea ecx, [ebp - 0xe0]
call fcn.00413c51
mov dword [ebp - 0x30], 0
jmp 0x4278b1
mov eax, dword [ebp - 0x30]
inc eax
mov dword [ebp - 0x30], eax
cmp dword [ebp - 0x30], 2
jge 0x4278ca
push dword [ebp - 0x30]
lea ecx, [ebp - 0xe0]
call fcn.00413d3f
or dword [eax], 0xffffffff
jmp 0x4278aa
mov dword [ebp - 0x28], 0
jmp 0x4278da
mov eax, dword [ebp - 0x28]
dec eax
mov dword [ebp - 0x28], eax
cmp dword [ebp - 0x28], 0xfffffff6
jge 0x4279ba
mov eax, dword [ebp - 8]
mov dword [ebp - 0x14], eax
mov esi, dword [ebp - 0x14]
push 0
lea ecx, [ebp - 0xe0]
call fcn.00413d3f
mov dword [eax], esi
mov dword [ebp - 0x14], 0
jmp 0x42790c
mov eax, dword [ebp - 0x14]
inc eax
mov dword [ebp - 0x14], eax
cmp dword [ebp - 0x14], 1
jg 0x4279b5
mov dword [ebp - 0x1c], 0x66a92721
mov byte [ebp - 0xe], 0
movzx eax, byte [ebp - 0xe]
test eax, eax
je 0x42793f
push 0
push 0
push 0x1a78
push 0x2127
push 0
call dword [sym.imp.USER32.dll_InsertMenuW]
mov dword [ebp - 0x1c], 1
jmp 0x42794f
mov eax, dword [ebp - 0x1c]
dec eax
mov dword [ebp - 0x1c], eax
cmp dword [ebp - 0x1c], 0
jl 0x4279b0
mov dword [ebp - 0x24], 0
mov dword [ebp - 0x24], 1
jmp 0x42796c
mov eax, dword [ebp - 0x24]
dec eax
mov dword [ebp - 0x24], eax
cmp dword [ebp - 0x24], 0
jl 0x4279ae
mov dword [ebp - 0x2c], 0
mov dword [ebp - 0x2c], 1
jmp 0x427989
mov eax, dword [ebp - 0x2c]
dec eax
mov dword [ebp - 0x2c], eax
cmp dword [ebp - 0x2c], 0
jl 0x4279ac
mov byte [ebp - 0xf], 0
movzx eax, byte [ebp - 0xf]
test eax, eax
je 0x4279aa
push 0xeb4
push 0
push 0
call dword [sym.imp.KERNEL32.dll_QueryDosDeviceW]
jmp 0x427982
jmp 0x427965
jmp 0x427948
jmp 0x427905
jmp 0x4278d3
lea ecx, [ebp - 0xe0]
call fcn.00413d23
jmp 0x42787c
mov eax, dword [ebp + 0xc]
mov dword [ebp - 0x44], eax
push 3
lea ecx, [ebp - 0xc0]
call fcn.00413c51
mov dword [ebp - 4], 8
mov dword [ebp - 0x38], 0x6753f3ac
mov dword [ebp - 0xfc], 0x64ce34aa
mov dword [ebp - 0xf8], 0x64ce34aa
mov dword [ebp - 0xf4], 0x64ce34aa
mov dword [ebp - 0xf0], 0x64ce34aa
mov dword [ebp - 0x34], 0
jmp 0x427a23
mov eax, dword [ebp - 0x34]
inc eax
mov dword [ebp - 0x34], eax
cmp dword [ebp - 0x34], 3
jge 0x427a3f
push dword [ebp - 0x34]
lea ecx, [ebp - 0xc0]
call fcn.00413d3f
mov dword [eax], 0xb9b55bb2
jmp 0x427a1c
mov dword [ebp - 4], 2
jmp 0x427a4f
mov eax, dword [ebp - 4]
dec eax
mov dword [ebp - 4], eax
cmp dword [ebp - 4], 0
jl 0x427b93
mov dword [ebp - 0x18], 0xf0bc5021
mov dword [ebp - 0x60], 9
mov eax, dword [ebp - 0x18]
mov dword [ebp - 0x104], eax
mov eax, dword [ebp - 0x18]
cmp dword [ebp - 4], eax
jge 0x427a84
mov dword [ebp - 0xc8], 1
jmp 0x427a8b
and dword [ebp - 0xc8], 0
mov eax, dword [ebp - 0x18]
mov dword [ebp - 0x100], eax
mov eax, dword [ebp - 4]
cmp dword [ebp - 4], eax
jg 0x427aa8
mov dword [ebp - 0x94], 1
jmp 0x427aaf
and dword [ebp - 0x94], 0
cmp dword [ebp - 0x94], 0
jle 0x427ac1
mov dword [ebp - 0x5c], 1
jmp 0x427ac5
and dword [ebp - 0x5c], 0
mov eax, dword [ebp - 0x5c]
mov dword [ebp - 0x38], eax
mov eax, dword [ebp - 0x38]
mov dword [ebp - 0x18], eax
cmp dword [ebp - 0x18], 1
jg 0x427ae4
push 0xfffffffffffffffc
pop eax
test eax, eax
jne 0x427ae4
and dword [ebp - 0x64], 0
jmp 0x427aeb
mov dword [ebp - 0x64], 1
cmp dword [ebp - 0x64], 0
jle 0x427afa
mov dword [ebp - 0x7c], 1
jmp 0x427afe
and dword [ebp - 0x7c], 0
cmp dword [ebp - 0x7c], 0xb50f6b34
jae 0x427b10
mov dword [ebp - 0x74], 1
jmp 0x427b14
and dword [ebp - 0x74], 0
push dword [ebp - 4]
lea ecx, [ebp - 0xc0]
call fcn.00413d3f
mov dword [ebp - 0x6c], eax
push dword [ebp - 4]
lea ecx, [ebp - 0xc0]
call fcn.00413d3f
mov ecx, dword [ebp - 0x6c]
mov eax, dword [eax]
mov dword [ecx], eax
mov eax, dword [ebp - 0x6c]
mov eax, dword [eax]
cmp eax, dword [ebp - 0x74]
jl 0x427b4d
mov dword [ebp - 0x54], 1
jmp 0x427b51
and dword [ebp - 0x54], 0
mov eax, dword [ebp - 0x60]
cmp dword [ebp - 0x54], eax
jl 0x427b62
mov dword [ebp - 0x58], 1
jmp 0x427b66
and dword [ebp - 0x58], 0
push 4
pop eax
imul eax, eax, 0
mov eax, dword [ebp + eax - 0xfc]
add eax, dword [ebp - 0x58]
mov dword [ebp - 0x60], eax
push dword [ebp - 4]
lea ecx, [ebp - 0xc0]
call fcn.00413d3f
cmp dword [eax], 0
je 0x427b8e
jmp 0x427b93
jmp 0x427a48
lea ecx, [ebp - 0xc0]
call fcn.00413d23
mov eax, dword [ebp + 0x10]
mov dword [ebp - 0x3c], eax
mov eax, dword [ebp - 0x3c]
push dword [eax]
mov ecx, dword [ebp - 0x44]
call fcn.00413d3f
mov esi, eax
mov eax, dword [ebp - 0x3c]
push dword [eax]
mov ecx, dword [ebp - 0x44]
call fcn.00413d3f
mov ecx, dword [esi]
cmp ecx, dword [eax]
jne 0x427bcf
mov dword [ebp - 0x4c], 1
jmp 0x427bd3
and dword [ebp - 0x4c], 0
push 2
mov ecx, dword [ebp - 0xc4]
call fcn.00413d3f
mov ecx, dword [ebp - 0x4c]
mov dword [eax], ecx
pop esi
mov esp, ebp
pop ebp
ret