Function at 0x40e1be
Capabilities:
Get disk size

Disassembly:
push ebp
mov ebp, esp
mov eax, 0x2424
call fcn.00452660
and byte [ebp - 0x2424], 0
push ebx
push esi
push edi
mov ecx, 0x7ff
xor eax, eax
lea edi, [ebp - 0x2423]
xor esi, esi
rep stosd dword es:[edi], eax
stosw word es:[edi], ax
stosb byte es:[edi], al
lea eax, [ebp - 0x2424]
mov dword [ebp - 4], esi
push eax
call fcn.00403d35
test eax, eax
pop ecx
je 0x40e217
lea eax, [ebp - 0x424]
push eax
lea eax, [ebp - 0x2424]
push eax
call fcn.00413026
pop ecx
mov dword [ebp - 4], eax
pop ecx
mov esi, eax
push esi
push str._
call fcn.00452e0e
pop ecx
test esi, esi
pop ecx
jle 0x40e3cf
lea edi, [ebp - 0x424]
mov ebx, esi
push 0x47456c
push dword [edi]
call fcn.004524a0
pop ecx
add edi, 4
dec ebx
pop ecx
jne 0x40e234
mov ebx, dword [ebp + 8]
push 0x20
push 0
push ebx
call fcn.00451f50
push ebx
call fcn.00403d6d
add esp, 0x10
test eax, eax
jne 0x40e27c
test esi, esi
jle 0x40e2c8
lea edi, [ebp - 0x424]
push dword [edi]
call fcn.00431aec
add edi, 4
dec esi
pop ecx
jne 0x40e26c
jmp 0x40e2c8
cmp esi, 0x100
jge 0x40e2dc
push ebx
call fcn.004525b0
test eax, eax
pop ecx
je 0x40e2dc
push 0x200
call fcn.00451b9f
test eax, eax
pop ecx
mov dword [ebp + esi*4 - 0x424], eax
jne 0x40e2cf
test esi, esi
jle 0x40e2bd
lea edi, [ebp - 0x424]
push dword [edi]
call fcn.00431aec
add edi, 4
dec esi
pop ecx
jne 0x40e2af
push 0x474f84
call fcn.00452e0e
pop ecx
xor eax, eax
jmp 0x40e3c8
push ebx
push eax
call fcn.00452490
pop ecx
inc esi
pop ecx
mov dword [ebp - 4], esi
and dword [ebp + 8], 0
test esi, esi
jle 0x40e3c5
mov edi, dword [ebp + 0xc]
lea esi, [ebp - 0x424]
push dword [esi]
push dword [ebp + 8]
push str.ptr__d__:_s_n
call fcn.00452e0e
push 0x20
push 0
push ebx
call fcn.00451f50
push dword [esi]
push ebx
call fcn.00452490
push dword [ebp + 0x10]
push dword [ebp + 0x14]
call fcn.00452490
push str..bin
push dword [ebp + 0x14]
call fcn.004524a0
push ebx
push edi
call fcn.00452490
push 0x474b48
push edi
call fcn.004524a0
add esp, 0x40
push dword [ebp + 0x14]
push edi
call fcn.004524a0
mov al, byte [edi]
pop ecx
mov byte [ebp - 0xc], al
pop ecx
lea eax, [ebp - 0x14]
and byte [ebp - 0xa], 0
push eax
lea eax, [ebp - 0x1c]
push eax
lea eax, [ebp - 0x24]
push eax
lea eax, [ebp - 0xc]
push eax
mov byte [ebp - 0xb], 0x3a
call dword [sym.imp.KERNEL32.dll_GetDiskFreeSpaceExA]
test eax, eax
je 0x40e398
mov eax, dword [ebp - 0x14]
mov edx, dword [ebp - 0x10]
push 0x14
pop ecx
call fcn.00453410
push eax
push 0x474f58
mov dword [ebp + 0xc], eax
call fcn.00452e0e
cmp dword [ebp + 0xc], 0x400
pop ecx
pop ecx
ja 0x40e3aa
inc dword [ebp + 8]
add esi, 4
mov eax, dword [ebp + 8]
cmp eax, dword [ebp - 4]
jl 0x40e2f1
mov esi, dword [ebp - 4]
test esi, esi
jle 0x40e3c5
lea edi, [ebp - 0x424]
push dword [edi]
call fcn.00431aec
add edi, 4
dec esi
pop ecx
jne 0x40e3b7
push 1
pop eax
pop edi
pop esi
pop ebx
leave
ret 0x10
push dword [ebp + 0x10]
push dword [ebp + 0x14]
call fcn.00452490
push str..bin
push dword [ebp + 0x14]
call fcn.004524a0
push dword [ebp + 8]
push dword [ebp + 0xc]
call fcn.00452490
push 0x474b48
push dword [ebp + 0xc]
call fcn.004524a0
push dword [ebp + 0x14]
push dword [ebp + 0xc]
call fcn.004524a0
add esp, 0x28
jmp 0x40e3ad