Function at 0x405e9d
Capabilities:
Get disk size

Disassembly:
push ebp
mov ebp, esp
push edi
push esi
push ebx
sub esp, 0x7c
mov eax, dword [0x435d40]
mov esi, dword [0x40c8f4]
mov dword [ebp - 0x5c], eax
mov eax, dword [eax + 0x3c]
mov ebx, eax
mov dword [ebp - 0x60], eax
shl ebx, 0xb
add ebx, esi
cmp dword [ebp + 0xc], 0x40b
jne 0x405eea
mov dword [esp + 4], ebx
mov dword [esp], 0x3fb
call sym._36
push esi
push esi
mov dword [esp], ebx
call sym._51
push edi
jmp 0x4060e9
cmp dword [ebp + 0xc], 0x110
jne 0x405fbb
mov eax, dword [ebp + 8]
mov dword [esp + 4], 0x3fb
mov dword [esp], eax
call dword [sym.imp.USER32.dll_GetDlgItem]
push edx
push edx
mov esi, eax
mov dword [esp], ebx
call sym.1_1
test eax, eax
push ecx
je 0x405f32
mov dword [esp], ebx
call sym.1
test eax, eax
push edi
jne 0x405f32
mov dword [esp], ebx
call sym._50
push ecx
mov eax, dword [ebp + 8]
mov dword [esp + 4], ebx
mov dword [esp], esi
mov dword [0x43cb18], eax
call dword [sym.imp.USER32.dll_SetWindowTextW]
mov eax, dword [ebp + 0x14]
push edi
push edi
mov eax, dword [eax + 0x34]
mov dword [esp + 4], 1
mov dword [esp + 8], eax
mov eax, dword [ebp + 8]
mov dword [esp], eax
call sym.n_
mov eax, dword [ebp + 0x14]
sub esp, 0xc
mov eax, dword [eax + 0x30]
mov dword [esp + 4], 0x14
mov dword [esp + 8], eax
mov eax, dword [ebp + 8]
mov dword [esp], eax
call sym.n_
sub esp, 0xc
mov dword [esp], esi
call sym._22
push eax
mov dword [esp], 7
call fcn.00408de1
test eax, eax
push edx
je 0x4060e9
mov dword [esp], esi
mov dword [esp + 4], 1
call eax
push esi
push esi
jmp 0x4060e9
cmp dword [ebp + 0xc], 0x111
jne 0x4060e9
movzx eax, word [ebp + 0x10]
cmp eax, 0x3fb
jne 0x405ff0
mov eax, dword [ebp + 0x10]
shr eax, 0x10
cmp eax, 0x300
jne 0x406332
mov dword [ebp + 0xc], 0x40f
jmp 0x4060ff
cmp eax, 0x3e9
jne 0x4060e9
mov eax, dword [ebp - 0x5c]
lea edi, [ebp - 0x34]
mov ecx, 7
mov edx, dword [eax + 0x38]
xor eax, eax
rep stosd dword es:[edi], eax
mov eax, dword [ebp + 8]
mov dword [esp], 0x435500
mov dword [esp + 4], edx
mov dword [ebp - 0x30], 0x435d60
mov dword [ebp - 0x24], sym._27
mov dword [ebp - 0x20], ebx
mov dword [ebp - 0x38], eax
call sym.3
mov dword [ebp - 0x2c], eax
push edx
lea eax, [ebp - 0x38]
push edx
mov dword [ebp - 0x28], 0x41
mov dword [esp], eax
call dword [sym.imp.SHELL32.dll_SHBrowseForFolderW]
test eax, eax
push ecx
je 0x4060e2
mov dword [esp], eax
call dword [sym.imp.ole32.dll_CoTaskMemFree]
push eax
mov dword [esp], ebx
call sym._50
push eax
mov eax, dword [0x43ba60]
mov eax, dword [eax + 0x11c]
test eax, eax
je 0x4060c0
add esi, 0xa800
cmp ebx, esi
jne 0x4060c0
mov dword [esp + 4], eax
mov dword [esp], 0
call sym.3
push esi
push esi
mov dword [esp + 4], 0x435d60
mov dword [esp], 0x43cb40
call dword [sym.imp.KERNEL32.dll_lstrcmpiW]
test eax, eax
push edi
push edi
je 0x4060c0
mov dword [esp + 4], 0x43cb40
mov dword [esp], ebx
call fcn.004082e0
push ecx
push ecx
mov eax, dword [ebp + 8]
mov dword [esp + 8], ebx
mov dword [esp + 4], 0x3fb
inc dword [0x4354e0]
mov dword [esp], eax
call sym._5
sub esp, 0xc
jmp 0x4060e9
mov dword [ebp + 0xc], 0x40f
cmp dword [ebp + 0xc], 0x40f
je 0x4060ff
cmp dword [ebp + 0xc], 0x405
jne 0x406332
mov dword [esp + 4], ebx
mov dword [esp], 0x3fb
call sym._36
push esi
push esi
mov dword [esp], ebx
call sym._54
test eax, eax
push edi
sete al
movzx eax, al
mov dword [esp + 4], ebx
mov dword [esp], 0x434ce0
mov esi, eax
call sym._48
push eax
push eax
mov dword [esp], 1
call fcn.00408de1
test eax, eax
push edx
mov edi, eax
je 0x4061ba
xor edx, edx
lea eax, [ebp - 0x38]
mov dword [ebp - 0x60], edx
mov dword [esp], 0x434ce0
mov dword [esp + 0xc], eax
lea eax, [ebp - 0x40]
mov dword [esp + 8], eax
lea eax, [ebp - 0x48]
mov dword [esp + 4], eax
call edi
sub esp, 0x10
test eax, eax
mov edx, dword [ebp - 0x60]
je 0x40618e
mov edx, dword [ebp - 0x44]
mov eax, dword [ebp - 0x48]
shrd eax, edx, 0xa
shr edx, 0xa
mov dword [ebp - 0x48], eax
mov dword [ebp - 0x44], edx
jmp 0x40623f
test edx, edx
je 0x406197
mov word [edx], 0
mov dword [esp], 0x434ce0
call fcn.00407b6a
push edx
lea edx, [eax - 2]
mov word [eax], 0
mov word [eax - 2], 0x5c
cmp edx, 0x434ce0
jne 0x40614b
mov dword [esp + 4], ebx
mov dword [esp], 0x434ce0
call sym._48
push ebx
push ebx
mov dword [esp], 0x434ce0
call sym.1
test eax, eax
push edi
je 0x4061e2
mov word [eax], 0
lea eax, [ebp - 0x38]
mov dword [esp], 0x434ce0
xor ebx, ebx
mov dword [esp + 0x10], eax
lea eax, [ebp - 0x40]
mov dword [esp + 0xc], eax
lea eax, [ebp - 0x4c]
mov dword [esp + 8], eax
lea eax, [ebp - 0x50]
mov dword [esp + 4], eax
call dword [sym.imp.KERNEL32.dll_GetDiskFreeSpaceW]
sub esp, 0x14
test eax, eax
je 0x406244
mov eax, dword [ebp - 0x40]
mov dword [esp + 8], 0x400
mov dword [esp + 4], eax
mov eax, dword [ebp - 0x4c]
imul eax, dword [ebp - 0x50]
mov dword [esp], eax
call dword [sym.imp.KERNEL32.dll_MulDiv]
mov dword [ebp - 0x48], eax
sar eax, 0x1f
sub esp, 0xc
mov dword [ebp - 0x44], eax
mov ebx, 1
mov dword [esp], 5
call sym._17
test ebx, ebx
push ecx
je 0x406266
cmp dword [ebp - 0x44], 0
ja 0x406266
cmp dword [ebp - 0x48], eax
mov edx, 2
cmovb esi, edx
mov edx, dword [0x43cb24]
cmp dword [edx + 0x10], 0
je 0x4062de
mov dword [esp + 8], eax
mov dword [esp + 0xc], 0
mov dword [esp + 4], 0xfffffffb
mov dword [esp], 0x3ff
call sym._23
sub esp, 0x10
test ebx, ebx
je 0x4062c0
mov eax, dword [ebp - 0x48]
mov edx, dword [ebp - 0x44]
mov dword [esp + 4], 0xfffffffc
mov dword [esp], 0x400
mov dword [esp + 8], eax
mov dword [esp + 0xc], edx
call sym._23
sub esp, 0x10
jmp 0x4062de
mov eax, dword [ebp + 8]
mov dword [esp + 8], 0x40c55e
mov dword [esp + 4], 0x400
mov dword [esp], eax
call sym._5
sub esp, 0xc
test esi, esi
mov dword [0x43ba44], esi
jne 0x4062f7
mov dword [esp], 7
call fcn.00403b26
push edx
mov esi, eax
mov eax, dword [ebp - 0x5c]
test byte [eax + 0x15], 4
mov eax, 0
cmovne esi, eax
xor eax, eax
test esi, esi
sete al
mov dword [esp], eax
call sym.g
test esi, esi
push eax
jne 0x406328
cmp dword [0x4354e0], 0
jne 0x406328
call fcn.00404ea0
mov dword [0x4354e0], 0
mov eax, dword [ebp + 0x14]
mov dword [esp + 8], eax
mov eax, dword [ebp + 0x10]
mov dword [esp + 4], eax
mov eax, dword [ebp + 0xc]
mov dword [esp], eax
call fcn.0040513b
sub esp, 0xc
lea esp, [ebp - 0xc]
pop ebx
pop esi
pop edi
pop ebp
ret 0x10