Function at 0x404557
Capabilities:
Get disk size

Disassembly:
push ebp
mov ebp, esp
mov eax, 0x61e98
call fcn.00410a30
push ebx
push esi
push edi
lea eax, [ebp - 0x18]
push 0
push eax
lea eax, [ebp - 0x10]
mov esi, ecx
push eax
push 0x41fe98
push 1
call fcn.0040857d
pop ecx
pop ecx
push eax
call dword [sym.imp.KERNEL32.DLL_GetDiskFreeSpaceExA]
mov eax, dword [esi + 0x28]
mov edx, dword [ebp - 0xc]
xor ecx, ecx
cmp edx, ecx
lea eax, [eax + eax*4]
ja 0x4045c4
jb 0x40459e
cmp dword [ebp - 0x10], eax
jae 0x4045c4
push dword [ebp - 0x10]
movzx eax, word [esi + 0x20]
push esi
push eax
push esi
push 0x41fe58
push 0x3d
call fcn.0040857d
pop ecx
pop ecx
push eax
call fcn.00407b87
add esp, 0x14
jmp 0x4047f3
lea eax, [esi + 0x30]
push eax
push 0x41fe50
push 6
call fcn.0040857d
pop ecx
pop ecx
push eax
lea eax, [ebp - 0x218]
push eax
call fcn.0041088a
mov edi, 0x30d40
lea eax, [ebp - 0x31158]
push edi
push 0
push eax
call fcn.004109d0
add esp, 0x18
lea eax, [ebp - 0x218]
push eax
call dword [sym.imp.WININET.dll_DeleteUrlCacheEntry]
lea eax, [ebp - 0x31158]
push edi
push eax
lea eax, [ebp - 0x218]
push eax
call fcn.00407dd1
mov ebx, eax
test ebx, ebx
jl 0x4047d5
cmp ebx, 0x44
jb 0x4047d5
lea eax, [ebp - 0x31158]
push ebx
push eax
mov ecx, esi
call fcn.004042f5
test eax, eax
jne 0x404652
movzx eax, word [esi + 0x20]
push ebx
push eax
push esi
push 0x41fe20
jmp 0x4047e1
xor ebx, ebx
cmp dword [ebp - 0x3111c], ebx
jbe 0x4047a6
mov eax, dword [ebp - 0x31128]
push 0
push eax
imul eax, ebx
lea eax, [ebp + eax - 0x31114]
mov ecx, esi
push eax
push ebx
call fcn.00404417
test eax, eax
jne 0x40475a
lea eax, [esi + 0x30]
push eax
lea eax, [ebp - 0x218]
push eax
call fcn.004108e0
pop ecx
pop ecx
push ebx
push 0x41fe18
push 5
call fcn.0040857d
pop ecx
pop ecx
push eax
lea eax, [ebp - 0x218]
push eax
call fcn.00410a60
pop ecx
lea eax, [ebp + eax - 0x218]
push eax
call fcn.0041088a
add esp, 0xc
lea eax, [ebp - 0x218]
push eax
call dword [sym.imp.WININET.dll_DeleteUrlCacheEntry]
lea eax, [ebp - 0x61e98]
push edi
push eax
lea eax, [ebp - 0x218]
push eax
call fcn.00407dd1
test eax, eax
mov dword [ebp - 8], eax
jle 0x404769
lea eax, [ebp - 0x418]
mov ecx, esi
push eax
push ebx
call fcn.004041bf
push 0x41fe14
push 2
call fcn.0040857d
push eax
lea eax, [ebp - 0x418]
push eax
call fcn.00411f82
add esp, 0x10
mov dword [ebp - 4], eax
test eax, eax
je 0x404789
push eax
lea eax, [ebp - 0x61e98]
push dword [ebp - 8]
push 1
push eax
call fcn.00411c84
push dword [ebp - 4]
call fcn.00411dbd
mov eax, dword [ebp - 0x31128]
add esp, 0x14
mov ecx, esi
push 1
push eax
imul eax, ebx
lea eax, [ebp + eax - 0x31114]
push eax
push ebx
call fcn.00404417
test eax, eax
je 0x4047a6
inc ebx
cmp ebx, dword [ebp - 0x3111c]
jb 0x404660
jmp 0x4047a6
push eax
movzx eax, word [esi + 0x20]
push eax
push esi
push 0x41fdf0
push 0x20
call fcn.0040857d
pop ecx
pop ecx
push eax
call fcn.00407b87
add esp, 0x10
jmp 0x4047a6
movzx eax, word [esi + 0x20]
push eax
push esi
push 0x41fdcc
push 0x22
call fcn.0040857d
pop ecx
pop ecx
push eax
call fcn.00407b87
add esp, 0xc
cmp ebx, dword [ebp - 0x3111c]
jne 0x4047f3
lea eax, [ebp - 0x31158]
mov ecx, esi
push eax
call fcn.00404c66
test eax, eax
jne 0x4047d0
movzx eax, word [esi + 0x20]
push esi
push eax
push esi
push 0x41fda4
push 0x26
jmp 0x4047e3
push 1
pop eax
jmp 0x4047f5
movzx eax, word [esi + 0x20]
push ebx
push eax
push esi
push 0x41fd74
push 0x2f
call fcn.0040857d
pop ecx
pop ecx
push eax
call fcn.00407b87
add esp, 0x10
xor eax, eax
pop edi
pop esi
pop ebx
leave
ret