Function at 0x450325
Capabilities:
Get disk information

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x74
push ebx
xor ebx, ebx
push esi
mov dword [ebp - 8], ebx
push edi
mov dword [ebp - 0xc], 0xb5cabfc3
mov edi, ecx
mov dword [ebp - 0x1c], ebx
mov dword [ebp - 8], ebx
jmp 0x45036a
mov byte [ebp - 1], bl
cmp byte [ebp - 1], bl
je 0x450367
push ebx
push 0x1015
push ebx
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]
dec dword [ebp - 8]
cmp dword [ebp - 8], 0xffffffea
jg 0x450344
push 1
mov dword [ebp - 8], ebx
pop esi
jmp 0x450443
mov dword [ebp - 0x10], 0xffffffff
lea ecx, [ebp - 0x30]
push 2
call fcn.00413c51
mov dword [ebp - 0xc], ebx
jmp 0x45039e
mov ecx, dword [ebp - 0xc]
mov eax, dword [ebp - 0x30]
or dword [eax + ecx*4], 0xffffffff
inc dword [ebp - 0xc]
cmp dword [ebp - 0xc], 2
jl 0x450391
mov dword [ebp - 0x10], ebx
jmp 0x45042e
mov eax, dword [ebp - 8]
mov dword [ebp - 0xc], eax
mov ecx, dword [ebp - 0xc]
mov eax, dword [ebp - 0x30]
mov dword [eax], ecx
mov dword [ebp - 0xc], ebx
jmp 0x450426
mov dword [ebp - 0x1c], 0x66a92721
mov byte [ebp - 1], bl
cmp byte [ebp - 1], bl
je 0x4503e1
push ebx
push ebx
push 0x1a78
push 0x2127
push ebx
call dword [sym.imp.USER32.dll_InsertMenuW]
mov dword [ebp - 0x1c], esi
cmp dword [ebp - 0x1c], ebx
jl 0x450423
mov dword [ebp - 0x18], ebx
mov dword [ebp - 0x18], esi
cmp dword [ebp - 0x18], ebx
jl 0x45041e
mov dword [ebp - 0x14], ebx
mov dword [ebp - 0x14], esi
cmp dword [ebp - 0x14], ebx
jl 0x450419
mov byte [ebp - 1], bl
cmp byte [ebp - 1], bl
je 0x450414
push 0xeb4
push ebx
push ebx
call dword [sym.imp.KERNEL32.dll_QueryDosDeviceW]
dec dword [ebp - 0x14]
jns 0x4503ff
dec dword [ebp - 0x18]
jns 0x4503f4
dec dword [ebp - 0x1c]
jns 0x4503e9
inc dword [ebp - 0xc]
cmp dword [ebp - 0xc], esi
jle 0x4503bf
dec dword [ebp - 0x10]
cmp dword [ebp - 0x10], 0xfffffff6
jl 0x4503ac
lea ecx, [ebp - 0x30]
call fcn.00413d23
inc dword [ebp - 8]
cmp dword [ebp - 8], 3
jge 0x45037b
push esi
push 0x7234
push edi
call fcn.0044f677
add esp, 0xc
push 9
pop eax
mov dword [ebp - 0x74], eax
mov dword [ebp - 0x70], eax
mov dword [ebp - 0x6c], eax
mov dword [ebp - 0x68], eax
mov dword [ebp - 0x10], ebx
jmp 0x45047e
mov eax, dword [ebp - 0x10]
mov dword [ebp + eax*4 - 0x24], 0x62fd
inc dword [ebp - 0x10]
cmp dword [ebp - 0x10], 2
jl 0x450470
mov dword [ebp - 0x68], esi
cmp dword [ebp - 0x68], ebx
jl 0x4505a3
mov dword [ebp - 0x64], 0xffffffff
mov dword [ebp - 0x60], 0xffffffff
mov dword [ebp - 0x5c], 0xffffffff
mov dword [ebp - 0x58], 0xffffffff
mov dword [ebp - 0x1c], 0x4d07ddbf
mov dword [ebp - 0x58], esi
cmp dword [ebp - 0x58], ebx
jl 0x45059a
push 4
lea ecx, [ebp - 0x48]
call fcn.00413c51
push esi
lea ecx, [ebp - 0x3c]
call fcn.00413c51
mov dword [ebp - 0x1c], ebx
mov dword [ebp - 8], ebx
jmp 0x4504ea
push dword [ebp - 8]
lea ecx, [ebp - 0x48]
call fcn.00413d3f
mov dword [eax], esi
inc dword [ebp - 8]
cmp dword [ebp - 8], 4
jl 0x4504da
mov dword [ebp - 8], ebx
jmp 0x450509
push dword [ebp - 8]
lea ecx, [ebp - 0x3c]
call fcn.00413d3f
mov dword [eax], 0xbbd18838
inc dword [ebp - 8]
cmp dword [ebp - 8], esi
jl 0x4504f5
mov eax, dword [ebp - 0x58]
cmp dword [ebp + eax*4 - 0x24], ebx
je 0x45055b
mov eax, dword [ebp - 0x58]
lea ecx, [ebp - 0x3c]
push ebx
mov esi, dword [ebp + eax*4 - 0x24]
call fcn.00413d3f
xor ebx, ebx
lea ecx, [ebp - 0x48]
mov dword [eax], esi
mov eax, dword [ebp - 0x68]
cmp eax, esi
setge bl
xor esi, esi
inc esi
push esi
call fcn.00413d3f
mov ecx, 0xbfb66feb
mov edx, esi
mov dword [eax], ecx
xor eax, eax
cmp ebx, ecx
setle al
xor ebx, ebx
imul eax, eax, 0xce3d
test eax, eax
jne 0x45055d
mov edx, ebx
mov eax, dword [ebp - 0x58]
xor ecx, ecx
mov eax, dword [ebp + eax*4 - 0x24]
cmp edx, eax
mov eax, dword [ebp - 0x68]
sete cl
mov eax, dword [ebp + eax*4 - 0x24]
sub eax, ecx
jne 0x45057b
cmp dword [ebp - 0x58], ebx
je 0x45057e
mov eax, dword [ebp - 0x68]
mov dword [ebp - 0x1c], ebx
lea ecx, [ebp - 0x3c]
call fcn.00413d23
lea ecx, [ebp - 0x48]
call fcn.00413d23
dec dword [ebp - 0x58]
jns 0x4504bf
dec dword [ebp - 0x68]
jns 0x450490
push edi
call fcn.0042cb15
mov dword [ebp - 8], ebx
mov edi, eax
mov dword [ebp - 0xc], 0xb5cabfc3
pop ecx
mov dword [ebp - 8], ebx
jmp 0x4505e2
mov byte [ebp - 1], bl
cmp byte [ebp - 1], 0
je 0x4505df
push ebx
push 0x1015
push ebx
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]
dec dword [ebp - 8]
cmp dword [ebp - 8], 0xffffffea
jg 0x4505bb
mov dword [ebp - 8], ebx
jmp 0x4506d4
mov dword [ebp - 0x10], 0xffffffff
lea ecx, [ebp - 0x54]
push 2
call fcn.00413c51
mov dword [ebp - 0x10], ebx
jmp 0x450617
push dword [ebp - 0x10]
lea ecx, [ebp - 0x54]
call fcn.00413d3f
or dword [eax], 0xffffffff
inc dword [ebp - 0x10]
cmp dword [ebp - 0x10], 2
jl 0x450606
mov dword [ebp - 0x10], ebx
cmp dword [ebp - 0x10], 0xfffffff6
jge 0x4506c9
push ebx
lea ecx, [ebp - 0x54]
call fcn.00413d3f
mov esi, eax
xor eax, eax
inc eax
mov ecx, dword [ebp - 8]
mov dword [ebp - 0xc], ecx
mov ecx, dword [ebp - 0xc]
mov dword [esi], ecx
mov dword [ebp - 0xc], ebx
jmp 0x4506b7
mov dword [ebp - 0x14], 0x66a92721
mov byte [ebp - 1], bl
cmp byte [ebp - 1], 0
je 0x45066e
push ebx
push ebx
push 0x1a78
push 0x2127
push ebx
call dword [sym.imp.USER32.dll_InsertMenuW]
xor eax, eax
inc eax
mov dword [ebp - 0x14], eax
cmp dword [ebp - 0x14], ebx
jl 0x4506b4
mov dword [ebp - 0x18], ebx
mov dword [ebp - 0x18], eax
cmp dword [ebp - 0x18], ebx
jl 0x4506af
mov dword [ebp - 0x1c], ebx
mov dword [ebp - 0x1c], eax
cmp dword [ebp - 0x1c], ebx
jl 0x4506aa
mov byte [ebp - 1], bl
cmp byte [ebp - 1], 0
je 0x4506a2
push 0xeb4
push ebx
push ebx
call dword [sym.imp.KERNEL32.dll_QueryDosDeviceW]
dec dword [ebp - 0x1c]
jns 0x45068c
xor eax, eax
inc eax
dec dword [ebp - 0x18]
jns 0x450681
dec dword [ebp - 0x14]
jns 0x450676
inc dword [ebp - 0xc]
cmp dword [ebp - 0xc], eax
jle 0x450648
dec dword [ebp - 0x10]
cmp dword [ebp - 0x10], 0xfffffff6
jl 0x450638
lea ecx, [ebp - 0x54]
call fcn.00413d23
inc dword [ebp - 8]
cmp dword [ebp - 8], 3
jge 0x4505f0
mov eax, edi
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret