Function at 0x40264e
Capabilities:
Get disk information

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x9f0
push edi
mov eax, dword [0x40df18]
mov dword [ebp - 0x514], eax
mov ecx, dword [0x40df1c]
mov dword [ebp - 0x510], ecx
mov edx, dword [0x40df20]
mov dword [ebp - 0x50c], edx
mov ax, word [0x40df24]
mov word [ebp - 0x508], ax
mov dword [ebp - 0x53c], 0
mov ecx, 7
xor eax, eax
lea edi, [ebp - 0x538]
rep stosd dword es:[edi], eax
mov dword [ebp - 0x9f0], 0
mov ecx, 0x22
xor eax, eax
lea edi, [ebp - 0x9e8]
rep stosd dword es:[edi], eax
mov dword [ebp - 0x74c], 0x8000
mov dword [ebp - 0x51c], 0
mov dword [ebp - 0x518], 0
mov dword [ebp - 0x2f8], 0
mov dword [ebp - 0x2f4], 0
mov dword [ebp - 0x210], str._KMGTPEZY
mov cx, word [0x40f1f0]
mov word [ebp - 0x20c], cx
mov ecx, 0x81
xor eax, eax
lea edi, [ebp - 0x20a]
rep stosd dword es:[edi], eax
stosw word es:[edi], ax
mov dx, word [0x40f1f4]
mov word [ebp - 0x958], dx
mov ecx, 0x81
xor eax, eax
lea edi, [ebp - 0x956]
rep stosd dword es:[edi], eax
stosw word es:[edi], ax
push 0x104
lea eax, [ebp - 0x500]
push eax
push 0x3e8
mov ecx, dword [ebp + 8]
push ecx
call dword [sym.imp.USER32.dll_GetDlgItemTextW]
mov dx, word [ebp - 0x500]
mov word [ebp - 0x50c], dx
push 0
push 0x20000000
push 3
push 0
push 3
push 0xc0000000
lea eax, [ebp - 0x514]
push eax
call dword [sym.imp.KERNEL32.dll_CreateFileW]
mov dword [ebp - 4], eax
cmp dword [ebp - 4], 0xffffffff
je 0x402903
push 0
lea ecx, [ebp - 0x504]
push ecx
push 0x20
lea edx, [ebp - 0x53c]
push edx
push 0
push 0
push 0x74004
mov eax, dword [ebp - 4]
push eax
call dword [sym.imp.KERNEL32.dll_DeviceIoControl]
test eax, eax
je 0x4027cc
mov ecx, dword [ebp - 0x534]
mov dword [ebp - 0x51c], ecx
mov edx, dword [ebp - 0x530]
mov dword [ebp - 0x518], edx
jmp 0x402810
push 0
lea eax, [ebp - 0x504]
push eax
push 0x90
lea ecx, [ebp - 0x9f0]
push ecx
push 0
push 0
push 0x70048
mov edx, dword [ebp - 4]
push edx
call dword [sym.imp.KERNEL32.dll_DeviceIoControl]
test eax, eax
je 0x402810
mov eax, dword [ebp - 0x9e0]
mov dword [ebp - 0x51c], eax
mov ecx, dword [ebp - 0x9dc]
mov dword [ebp - 0x518], ecx
push 0
push 0x100000
mov edx, dword [ebp - 0x518]
push edx
mov eax, dword [ebp - 0x51c]
push eax
call fcn.00404710
mov dword [ebp - 0x2f8], eax
mov dword [ebp - 0x2f4], edx
mov dword [ebp - 0x74c], 0x200
push 0
lea ecx, [ebp - 0x504]
push ecx
push 0x18
lea edx, [ebp - 0x2f0]
push edx
push 0
push 0
push 0x70000
mov eax, dword [ebp - 4]
push eax
call dword [sym.imp.KERNEL32.dll_DeviceIoControl]
test eax, eax
je 0x402875
mov ecx, dword [ebp - 0x2dc]
mov dword [ebp - 0x74c], ecx
cmp dword [ebp - 0x2f4], 0
jl 0x402896
jg 0x40288c
cmp dword [ebp - 0x2f8], 0x200
jbe 0x402896
mov dword [ebp - 0x74c], 0x1000
cmp dword [ebp - 0x2f4], 0
jl 0x4028b7
jg 0x4028ad
cmp dword [ebp - 0x2f8], 0x2000
jbe 0x4028b7
mov dword [ebp - 0x74c], 0x2000
cmp dword [ebp - 0x2f4], 0
jl 0x4028d8
jg 0x4028ce
cmp dword [ebp - 0x2f8], 0x4000
jbe 0x4028d8
mov dword [ebp - 0x74c], 0x4000
cmp dword [ebp - 0x2f4], 0
jl 0x4028f9
jg 0x4028ef
cmp dword [ebp - 0x2f8], 0x8000
jbe 0x4028f9
mov dword [ebp - 0x74c], 0x8000
mov edx, dword [ebp - 4]
push edx
call dword [sym.imp.KERNEL32.dll_CloseHandle]
push 0x3ea
mov eax, dword [ebp + 8]
push eax
call dword [sym.imp.USER32.dll_GetDlgItem]
mov dword [ebp - 0x540], eax
mov ecx, dword [ebp - 0x74c]
push ecx
push 0x40df28
lea edx, [ebp - 0x2d8]
push edx
call fcn.004040b7
add esp, 0xc
lea eax, [ebp - 0x2d8]
push eax
push 0
push 0x158
mov ecx, dword [ebp - 0x540]
push ecx
call dword [sym.imp.USER32.dll_SendMessageW]
mov dword [ebp - 0x750], eax
cmp dword [ebp - 0x750], 0xffffffff
je 0x402978
push 0
mov edx, dword [ebp - 0x750]
push edx
push 0x14e
mov eax, dword [ebp - 0x540]
push eax
call dword [sym.imp.USER32.dll_SendMessageW]
mov ecx, dword [ebp - 0x51c]
mov dword [ebp - 0x960], ecx
mov edx, dword [ebp - 0x518]
mov dword [ebp - 0x95c], edx
cmp dword [ebp - 0x95c], 0
jl 0x4029ee
jg 0x4029a7
cmp dword [ebp - 0x960], 0x3e8
jbe 0x4029ee
mov eax, dword [ebp - 0x210]
xor ecx, ecx
mov cx, word [eax + 2]
test ecx, ecx
je 0x4029ee
push 0
push 0x3e8
mov edx, dword [ebp - 0x95c]
push edx
mov eax, dword [ebp - 0x960]
push eax
call fcn.00404710
mov dword [ebp - 0x960], eax
mov dword [ebp - 0x95c], edx
mov ecx, dword [ebp - 0x210]
add ecx, 2
mov dword [ebp - 0x210], ecx
jmp 0x402990
push 0x104
lea edx, [ebp - 0x958]
push edx
push 0
push 0
push 0
push 0x104
lea eax, [ebp - 0x20c]
push eax
lea ecx, [ebp - 0x500]
push ecx
call dword [sym.imp.KERNEL32.dll_GetVolumeInformationW]
push 0x3ed
mov edx, dword [ebp + 8]
push edx
call dword [sym.imp.USER32.dll_GetDlgItem]
mov dword [ebp - 0x540], eax
lea eax, [ebp - 0x20c]
push eax
lea ecx, [ebp - 0x958]
push ecx
mov edx, dword [ebp - 0x210]
xor eax, eax
mov ax, word [edx]
push eax
mov ecx, dword [ebp - 0x960]
push ecx
push str._d_c__s__s
lea edx, [ebp - 0x748]
push edx
call fcn.004040b7
add esp, 0x18
lea eax, [ebp - 0x748]
push eax
mov ecx, dword [ebp - 0x540]
push ecx
call dword [sym.imp.USER32.dll_SetWindowTextW]
push 0x3f1
mov edx, dword [ebp + 8]
push edx
call dword [sym.imp.USER32.dll_GetDlgItem]
mov dword [ebp - 0x540], eax
lea eax, [ebp - 0x20c]
push eax
mov ecx, dword [ebp - 0x540]
push ecx
call dword [sym.imp.USER32.dll_SetWindowTextW]
pop edi
mov esp, ebp
pop ebp