Function at 0x40ce4c
Capabilities:
Get disk size

Disassembly:
push 0x150
mov eax, 0x45295e
call fcn.0042dcb0
mov eax, dword [ebp + 0x18]
xor ebx, ebx
mov edi, dword [ebp + 0x20]
xor edx, edx
mov esi, dword [ebp + 8]
mov ecx, ebx
mov dword [ebp - 0x84], eax
inc edx
mov eax, dword [ebp + 0x1c]
mov dword [ebp - 0x90], eax
mov eax, dword [ebp + 0x24]
mov dword [ebp - 0xa8], eax
mov eax, dword [ebp + 0x28]
mov dword [ebp - 0xa4], eax
mov eax, dword [ebp + 0x2c]
mov dword [ebp - 0xa0], eax
mov eax, dword [0x46c054]
inc eax
mov dword [ebp - 0x8c], edi
mov dword [ebp - 0x88], ecx
mov dword [0x46c054], eax
cmp eax, 0x3e8
jle 0x40cec1
mov dword [0x46c054], ebx
mov ecx, edx
mov dword [ebp - 0x88], edx
mov dword [ebp - 0x94], 0x63
cmp word [ebp + 0x14], bx
je 0x40cf56
test ecx, ecx
je 0x40cf56
push ebx
push ebx
push ebx
lea eax, [ebp - 0x24]
push eax
push esi
call fcn.00433ea5
lea edi, [ebp - 0x24]
add esp, 0x14
dec edi
mov al, byte [edi + 1]
inc edi
test al, al
jne 0x40ceed
mov ax, word [0x45509c]
mov word [edi], ax
lea eax, [ebp - 0xac]
push eax
lea eax, [ebp - 0x98]
push eax
lea eax, [ebp - 0x9c]
push eax
lea eax, [ebp - 0x80]
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 - 0x98]
mov edi, 0x3e8
div edi
xor edx, edx
imul eax, dword [ebp - 0x9c]
inc edx
cmp cx, dx
jne 0x40cf50
imul eax, dword [ebp - 0x80]
xor edx, edx
div edi
mov dword [ebp - 0x94], eax
mov edi, dword [ebp - 0x8c]
mov ecx, dword [ebp + 0x10]
test ecx, ecx
je 0x40cf91
cmp dword [ebp - 0x88], ebx
je 0x40cf91
imul eax, ecx, 0x3e8
mov dword [ebp - 0x80], eax
lea eax, [ebp - 0x7c]
push eax
push esi
call fcn.0043aa76
movzx eax, ax
pop ecx
pop ecx
test ax, ax
jne 0x40cf91
mov eax, dword [ebp - 0x80]
cmp dword [ebp - 0x68], eax
jle 0x40cf91
push esi
call fcn.0040fb17
pop ecx
xor eax, eax
lea ecx, [ebp - 0x15c]
inc eax
push eax
call fcn.004066ed
xor eax, eax
mov dword [ebp - 0x88], ebx
inc eax
mov dword [ebp - 4], eax
jmp 0x40cfd0
mov eax, dword [ebp - 0x88]
cmp ax, 4
jge 0x40d2a9
inc eax
push 0xbb8
mov dword [ebp - 0x88], eax
call dword [sym.imp.KERNEL32.dll_Sleep]
push 0x40
push 8
push esi
lea ecx, [ebp - 0x15c]
call fcn.00409267
mov eax, dword [ebp - 0x15c]
mov eax, dword [eax + 4]
cmp dword [ebp + eax - 0x150], ebx
jne 0x40cfae
mov eax, dword [ebp - 0x94]
cmp eax, 5
jae 0x40d096
cmp word [ebp + 0xc], 0
je 0x40d054
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 - 0x15c]
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
mov eax, dword [ebp - 0x94]
pop ecx
pop ecx
push 0xa
lea ecx, [ebp - 0x4c]
push ecx
push eax
call fcn.00433a7c
add esp, 0xc
lea eax, [ebp - 0x4c]
push 0xa
push 0x4550f0
push 9
push eax
lea eax, [ebp - 0x15c]
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
cmp word [ebp + 0xc], 0
je 0x40d0e9
lea eax, [ebp - 0x38]
push eax
call fcn.00436a26
lea eax, [ebp - 0x4c]
push eax
call fcn.00436af0
pop ecx
pop ecx
push 0x45512c
lea eax, [ebp - 0x4c]
push eax
push 0x455130
lea eax, [ebp - 0x38]
push eax
lea eax, [ebp - 0x15c]
push eax
call fcn.00405d06
pop ecx
pop ecx
push eax
call fcn.00405d06
pop ecx
pop ecx
push eax
call fcn.00405d06
pop ecx
pop ecx
push eax
call fcn.00405d06
pop ecx
pop ecx
cmp dword [0x47bb44], 0
je 0x40d1fb
mov edx, 0x47bb48
mov dword [0x47bb44], ebx
mov ecx, esi
sub edx, esi
mov al, byte [ecx]
mov byte [edx + ecx], al
inc ecx
test al, al
jne 0x40d105
mov ecx, dword [ebp - 0x84]
mov eax, 0x47bc78
sub eax, ecx
mov edx, eax
mov al, byte [ecx]
mov byte [edx + ecx], al
inc ecx
test al, al
jne 0x40d11e
mov edi, dword [ebp - 0x90]
mov eax, 0x47bda8
sub eax, edi
mov ecx, eax
mov al, byte [edi]
mov byte [ecx + edi], al
inc edi
test al, al
jne 0x40d137
mov edx, dword [ebp - 0x8c]
mov eax, 0x47bed8
mov ecx, dword [ebp - 0x90]
sub eax, edx
mov edi, eax
mov al, byte [edx]
mov byte [edi + edx], al
inc edx
test al, al
jne 0x40d156
mov edi, dword [ebp - 0x8c]
lea eax, [ebp - 0x15c]
mov edx, dword [ebp - 0x84]
push 0xa
push 0x45509e
push 0x455134
push edi
push 0x45513c
push ecx
push 0x455144
push edx
push 0x45514c
push esi
push 0x455154
push str.There_was_a_problem_opening_this_log_file_for_output_before_this_message___there_may_be_an_intermittent_problem_writing_to_this_log_file
push eax
call fcn.00405d06
pop ecx
pop ecx
push eax
call fcn.00405d06
pop ecx
pop ecx
push eax
call fcn.00405d06
pop ecx
pop ecx
push eax
call fcn.00405d06
pop ecx
pop ecx
push eax
call fcn.00405d06
pop ecx
pop ecx
push eax
call fcn.00405d06
pop ecx
pop ecx
push eax
call fcn.00405d06
pop ecx
pop ecx
push eax
call fcn.00405d06
pop ecx
pop ecx
push eax
call fcn.00405d06
pop ecx
pop ecx
push eax
call fcn.00405d06
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 - 0xa0]
push 9
pop eax
push eax
push dword [ebp - 0xa4]
push eax
push dword [ebp - 0xa8]
push eax
push edi
push eax
push dword [ebp - 0x90]
push eax
push dword [ebp - 0x84]
lea eax, [ebp - 0x15c]
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
push eax
call fcn.00405d06
pop ecx
pop ecx
push eax
call fcn.00405b6a
pop ecx
pop ecx
lea ecx, [ebp - 0x15c]
call fcn.00408783
lea ecx, [ebp - 0x15c]
call fcn.00407259
mov ax, bx
call fcn.0042dc5f
ret
lea ecx, [ebp - 0x15c]
call fcn.00408783
cmp word [ebp + 0x14], 0
je 0x40d2c9
push ebx
push str.Could_not_open_this_diagnostic_file_for_output.
push esi
push ebx
call dword [sym.imp.USER32.dll_MessageBoxA]
xor eax, eax
mov ecx, 0x47bb48
inc eax
sub ecx, esi
mov dword [0x47bb44], eax
mov al, byte [esi]
mov byte [ecx + esi], al
inc esi
test al, al
jne 0x40d2d8
mov ecx, dword [ebp - 0x84]
mov edx, 0x47bc78
sub edx, ecx
mov al, byte [ecx]
mov byte [edx + ecx], al
inc ecx
test al, al
jne 0x40d2ef
mov ecx, dword [ebp - 0x90]
mov edx, 0x47bda8
sub edx, ecx
mov al, byte [ecx]
mov byte [edx + ecx], al
inc ecx
test al, al
jne 0x40d306
mov ecx, 0x47bed8
sub ecx, edi
mov al, byte [edi]
mov byte [ecx + edi], al
inc edi
test al, al
jne 0x40d317
mov ebx, 0xffffd8ef
jmp 0x40d295