Function at 0x40d3c8
Capabilities:
Get disk size

Disassembly:
push 0x148
mov eax, 0x452998
call fcn.0042dcb0
mov eax, dword [ebp + 0x18]
xor esi, esi
mov ebx, dword [ebp + 8]
mov dword [ebp - 0xa0], eax
mov eax, dword [ebp + 0x1c]
mov dword [ebp - 0x9c], eax
mov eax, dword [ebp + 0x20]
mov dword [ebp - 0x98], eax
mov eax, dword [ebp + 0x24]
mov dword [ebp - 0x94], eax
mov eax, dword [ebp + 0x28]
mov dword [ebp - 0x90], eax
mov dword [ebp - 0x80], 0x63
cmp word [ebp + 0x14], si
je 0x40d490
push esi
push esi
push esi
lea eax, [ebp - 0x24]
push eax
push ebx
call fcn.00433ea5
lea edi, [ebp - 0x24]
add esp, 0x14
dec edi
mov al, byte [edi + 1]
inc edi
test al, al
jne 0x40d42a
mov ax, word [0x4551e4]
mov word [edi], ax
lea eax, [ebp - 0xa4]
push eax
lea eax, [ebp - 0x84]
push eax
lea eax, [ebp - 0x88]
push eax
lea eax, [ebp - 0x8c]
push eax
lea eax, [ebp - 0x24]
push eax
call dword [sym.imp.KERNEL32.dll_GetDiskFreeSpaceA]
movzx ecx, ax
xor edx, edx
mov eax, dword [ebp - 0x84]
mov edi, 0x3e8
div edi
xor edx, edx
imul eax, dword [ebp - 0x88]
inc edx
cmp cx, dx
jne 0x40d490
imul eax, dword [ebp - 0x8c]
xor edx, edx
div edi
mov dword [ebp - 0x80], eax
mov ecx, dword [ebp + 0x10]
test ecx, ecx
je 0x40d4bd
lea eax, [ebp - 0x7c]
imul edi, ecx, 0x3e8
push eax
push ebx
call fcn.0043aa76
movzx eax, ax
pop ecx
pop ecx
test ax, ax
jne 0x40d4bd
cmp dword [ebp - 0x68], edi
jle 0x40d4bd
push ebx
call fcn.0040fb17
pop ecx
xor eax, eax
lea ecx, [ebp - 0x154]
inc eax
push eax
call fcn.004066ed
mov dword [ebp - 4], esi
mov edi, esi
jmp 0x40d4e9
cmp di, 4
jge 0x40d5ac
push 0xbb8
inc edi
call dword [sym.imp.KERNEL32.dll_Sleep]
push 0x40
push 8
push ebx
lea ecx, [ebp - 0x154]
call fcn.00409267
mov eax, dword [ebp - 0x154]
mov eax, dword [eax + 4]
cmp dword [ebp + eax - 0x148], esi
jne 0x40d4d3
mov ebx, dword [ebp - 0x80]
mov di, word [ebp + 0xc]
cmp ebx, 5
jae 0x40d5d6
test di, di
je 0x40d566
lea eax, [ebp - 0x38]
push eax
call fcn.00436a26
lea eax, [ebp - 0x24]
push eax
call fcn.00436af0
pop ecx
pop ecx
push 9
lea eax, [ebp - 0x24]
push eax
push 9
lea eax, [ebp - 0x38]
push eax
lea eax, [ebp - 0x154]
push eax
call fcn.00405d06
pop ecx
pop ecx
push eax
call fcn.00405b6a
pop ecx
pop ecx
push eax
call fcn.00405d06
pop ecx
pop ecx
push eax
call fcn.00405b6a
pop ecx
pop ecx
push 0xa
lea eax, [ebp - 0x4c]
push eax
push ebx
call fcn.00433a7c
add esp, 0xc
lea eax, [ebp - 0x4c]
push 0xa
push str.LOG_FILE_disk_drive_has_less_than_this_number_of_Megs_Free
push 9
pop ebx
push ebx
push eax
lea eax, [ebp - 0x154]
push eax
call fcn.00405d06
pop ecx
pop ecx
push eax
call fcn.00405b6a
pop ecx
pop ecx
push eax
call fcn.00405d06
pop ecx
pop ecx
push eax
call fcn.00405b6a
pop ecx
pop ecx
jmp 0x40d5d9
lea ecx, [ebp - 0x154]
call fcn.00408783
cmp word [ebp + 0x14], 0
je 0x40d5cc
push esi
push str.Could_not_open_this_diagnostic_file_for_output2.
push ebx
push esi
call dword [sym.imp.USER32.dll_MessageBoxA]
mov esi, 0xffffd8ef
jmp 0x40d6a7
push 9
pop ebx
test di, di
je 0x40d622
lea eax, [ebp - 0x38]
push eax
call fcn.00436a26
lea eax, [ebp - 0x4c]
push eax
call fcn.00436af0
pop ecx
pop ecx
push ebx
lea eax, [ebp - 0x4c]
push eax
push ebx
lea eax, [ebp - 0x38]
push eax
lea eax, [ebp - 0x154]
push eax
call fcn.00405d06
pop ecx
pop ecx
push eax
call fcn.00405b6a
pop ecx
pop ecx
push eax
call fcn.00405d06
pop ecx
pop ecx
push eax
call fcn.00405b6a
pop ecx
pop ecx
push 0xa
push dword [ebp - 0x90]
lea eax, [ebp - 0x154]
push ebx
push dword [ebp - 0x94]
push ebx
push dword [ebp - 0x98]
push ebx
push dword [ebp - 0x9c]
push ebx
push dword [ebp - 0xa0]
push eax
call fcn.00405d06
pop ecx
pop ecx
push eax
call fcn.00405b6a
pop ecx
pop ecx
push eax
call fcn.00405d06
pop ecx
pop ecx
push eax
call fcn.00405b6a
pop ecx
pop ecx
push eax
call fcn.00405d06
pop ecx
pop ecx
push eax
call fcn.00405b6a
pop ecx
pop ecx
push eax
call fcn.00405d06
pop ecx
pop ecx
push eax
call fcn.00405b6a
pop ecx
pop ecx
push eax
call fcn.00405d06
pop ecx
pop ecx
push eax
call fcn.00405b6a
pop ecx
pop ecx
lea ecx, [ebp - 0x154]
call fcn.00408783
lea ecx, [ebp - 0x154]
call fcn.00407259
mov ax, si
call fcn.0042dc5f
ret