Function at 0x4ae8a5
Capabilities:
Get file size

Disassembly:
push 0xbc
mov eax, 0x7295f5
call fcn.0054dcb7
mov eax, dword [ebp + 0x10]
call fcn.004b0530
mov eax, dword [ebp + 8]
xor ebx, ebx
mov byte [ebp - 0x15], bl
mov dword [eax + 0x26c], ebx
mov dword [ebp - 0x38], ebx
mov dword [ebp - 0x34], ebx
mov dword [ebp - 0x30], ebx
mov dword [ebp - 4], ebx
or dword [ebp - 0x50], 0xffffffff
mov byte [ebp - 0x4c], 1
mov byte [ebp - 0x4b], bl
mov dword [ebp - 0x48], ebx
mov eax, dword [ebp + 0xc]
push ebx
push 1
lea ecx, [ebp - 0x50]
mov byte [ebp - 4], 2
call fcn.00477d9b
lea eax, [ebp - 0x40]
push eax
push dword [ebp - 0x50]
call dword [sym.imp.KERNEL32.dll_GetFileSize]
cmp eax, 0xffffffff
mov dword [ebp - 0x44], eax
jne 0x4ae91b
lea esi, [ebp - 0x44]
call fcn.00477fc3
mov dword [ebp - 0x24], eax
mov dword [ebp - 0x20], edx
jmp 0x4ae924
mov dword [ebp - 0x24], eax
mov eax, dword [ebp - 0x40]
mov dword [ebp - 0x20], eax
mov esi, dword [ebp - 0x24]
push ebx
push 0x3e8
push dword [ebp - 0x20]
push esi
call fcn.006cd970
cmp edx, ebx
ja 0x4ae941
cmp eax, 0x400000
jb 0x4ae948
mov eax, 0x400000
xor edx, edx
cmp edx, ebx
ja 0x4ae95d
jb 0x4ae955
cmp eax, 0x80000
ja 0x4ae95d
mov eax, 0x80000
mov dword [ebp - 0x40], ebx
mov edi, eax
lea eax, [ebp - 0x3c]
call fcn.004302d2
mov eax, dword [ebp - 0x20]
mov dword [ebp - 0x84], esi
lea esi, [ebp - 0x7c]
mov dword [ebp - 0x8c], ebx
mov dword [ebp - 0x88], ebx
mov dword [ebp - 0x80], eax
call fcn.00461b8c
mov dword [ebp - 0x74], ebx
mov dword [ebp - 0x70], ebx
mov dword [ebp - 0x6c], ebx
mov byte [ebp - 4], 4
mov dword [ebp - 0x2c], ebx
mov dword [ebp - 0x28], ebx
mov esi, dword [ebp - 0x20]
cmp dword [ebp - 0x28], esi
ja 0x4aea72
jb 0x4ae9b4
mov eax, dword [ebp - 0x2c]
cmp eax, dword [ebp - 0x24]
jae 0x4aea72
mov eax, dword [ebp - 0x24]
or eax, esi
je 0x4ae9e3
mov eax, dword [ebp - 0x2c]
mov ecx, dword [ebp - 0x28]
push ebx
add eax, 1
push 0x3e8
adc ecx, ebx
push ecx
push eax
call fcn.0054eab0
push esi
push dword [ebp - 0x24]
push edx
push eax
call fcn.006cd970
mov dword [ebp - 0x40], edx
jmp 0x4ae9eb
mov eax, 0x3e8
mov dword [ebp - 0x40], ebx
mov ecx, dword [ebp + 8]
mov dword [ecx + 0x26c], eax
mov al, byte [ecx + 0x268]
test al, al
je 0x4aea07
mov byte [ebp - 0x15], 1
jmp 0x4aeab5
cmp dword [ebp - 0x38], ebx
jne 0x4aea10
xor edi, edi
jmp 0x4aea16
mov edi, dword [ebp - 0x34]
sub edi, dword [ebp - 0x38]
mov ecx, edi
add ecx, dword [ebp - 0x2c]
mov eax, ebx
adc eax, dword [ebp - 0x28]
cmp eax, esi
jb 0x4aea38
ja 0x4aea2b
cmp ecx, dword [ebp - 0x24]
jbe 0x4aea38
push ebx
push edi
push esi
push dword [ebp - 0x24]
call fcn.006cd9e0
mov edi, eax
push ebx
lea esi, [ebp - 0x3c]
call fcn.004a0018
cmp edi, ebx
je 0x4aea50
push edi
push eax
lea eax, [ebp - 0x50]
push eax
call fcn.00477e58
push edi
push ebx
lea esi, [ebp - 0x3c]
call fcn.004a0018
push eax
lea eax, [ebp - 0x8c]
push eax
call fcn.005410db
add dword [ebp - 0x2c], edi
adc dword [ebp - 0x28], ebx
jmp 0x4ae99a
cmp byte [ebp - 0x15], bl
jne 0x4aeab5
lea eax, [ebp - 0x60]
push eax
lea eax, [ebp - 0x8c]
push eax
call fcn.005411b3
push eax
mov eax, dword [ebp + 0x10]
mov byte [ebp - 4], 5
call fcn.004b03df
mov byte [ebp - 4], 4
cmp dword [ebp - 0x5c], ebx
je 0x4aeab5
mov eax, dword [ebp - 0x58]
mov ecx, dword [ebp - 0x5c]
cmp ecx, eax
je 0x4aeaac
add ecx, 0x14
jmp 0x4aeaa3
push dword [ebp - 0x5c]
call fcn.005416e5
pop ecx
lea esi, [ebp - 0x78]
call fcn.00519c69
lea esi, [ebp - 0x7c]
call fcn.00461bc2
lea esi, [ebp - 0x50]
call fcn.00477e46
cmp byte [ebp - 0x15], bl
mov dword [ebp - 4], ebx
je 0x4aeae4
mov ecx, dword [ebp + 0x14]
push str.user_cancelled.
call fcn.0040184f
jmp 0x4aeaec
push dword [ebp + 0x14]
call fcn.00421999
cmp byte [ebp - 0x15], bl
sete byte [ebp + 0x17]
or dword [ebp - 4], 0xffffffff
cmp dword [ebp - 0x38], ebx
je 0x4aeb0b
mov ecx, dword [ebp - 0x30]
sub ecx, dword [ebp - 0x38]
push dword [ebp - 0x38]
call fcn.0045e6eb
pop ecx
mov al, byte [ebp + 0x17]
jmp 0x4aeb9b
call fcn.0054dd5c
ret 0x10