Function at 0x414750
Capabilities:
Get file size

Disassembly:
push ebp
mov ebp, esp
mov eax, dword [ebp + 8]
sub esp, 0xc
push ebx
mov ebx, dword [ebp + 0x18]
push esi
mov esi, dword [ebp + 0xc]
push edi
mov edi, ecx
mov dword [edi + 0x7c], eax
nop word [eax + eax]
mov dword [edi + 0x5c], 0
mov dword [edi + 0x60], 0
mov dword [edi + 0x64], 0
mov dword [edi + 0x68], 0
mov dword [edi + 0x6c], 0
mov byte [edi + 0x70], 0
call dword [sym.imp.KERNEL32.dll_GetTickCount]
push dword [ebp + 0x24]
mov dword [ebp + 0x18], eax
push dword [ebp + 0x20]
push dword [ebp + 0x1c]
push ebx
push esi
push dword [ebp + 0x14]
push dword [ebp + 0x10]
call dword [0x456688]
test eax, eax
jne 0x4148ad
call dword [sym.imp.KERNEL32.dll_GetLastError]
test eax, eax
jle 0x4147d1
movzx eax, ax
or eax, 0x80070000
cmp eax, 0x80070057
jne 0x4147fd
push dword [ebp + 0x24]
and ebx, 0xffbfffff
push dword [ebp + 0x20]
push dword [ebp + 0x1c]
push ebx
push esi
push dword [ebp + 0x14]
push dword [ebp + 0x10]
call dword [0x456688]
test eax, eax
jne 0x4148ad
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov esi, eax
test esi, esi
jle 0x414812
movzx esi, si
or esi, 0x80070000
cmp dword [0x456674], 0
jne 0x41487d
cmp byte [edi + 0x71], 0
je 0x41487d
test bl, 2
jne 0x41487d
cmp esi, 0x80070057
je 0x41483c
cmp esi, 0x800704c7
jne 0x41487d
cmp dword [edi + 0x5c], 0
je 0x41487d
push 0x451e08
push 1
push 0
call fcn.00414dd0
mov ecx, dword [edi + 0x74]
add esp, 0xc
test ecx, ecx
je 0x414859
call fcn.0040ae80
mov esi, dword [ebp + 0xc]
xorps xmm0, xmm0
push 0
push 0
movlpd qword [ebp - 8], xmm0
push dword [ebp - 4]
push dword [ebp - 8]
push esi
call dword [sym.imp.KERNEL32.dll_SetFilePointerEx]
or ebx, 2
jmp 0x414770
push esi
push 0x451ee0
push 0x451f24
push edi
call fcn.00413540
push 0x44514c
mov edx, 0x44514c
mov ecx, esi
call fcn.0040a300
add esp, 0x14
mov eax, esi
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0x20
call dword [sym.imp.KERNEL32.dll_GetTickCount]
mov ecx, dword [edi + 0x60]
mov esi, eax
mov edx, dword [edi + 0x64]
lea eax, [ebp - 8]
sub esi, dword [ebp + 0x18]
push eax
push dword [ebp + 0xc]
mov dword [ebp - 8], ecx
mov dword [ebp - 4], edx
call dword [sym.imp.KERNEL32.dll_GetFileSizeEx]
movd xmm0, esi
sub esp, 8
cvtdq2pd xmm0, xmm0
shr esi, 0x1f
mov ecx, dword [ebp - 8]
mov eax, dword [ebp - 4]
add ecx, 0xf9fff
adc eax, 0
addsd xmm0, qword [esi*8 + 0x452290]
cvtpd2ps xmm0, xmm0
cvtps2pd xmm0, xmm0
divsd xmm0, qword [0x452288]
movsd qword [esp], xmm0
push 0
push 0xfa000
push eax
push ecx
call fcn.00436a70
push eax
push 0x451d60
push 0x448dd0
push edi
call fcn.00413540
mov eax, dword [ebp + 8]
add esp, 0x18
mov eax, dword [edi + eax*4 + 4]
test eax, eax
je 0x4149a5
cmp dword [eax + 0x70], 0xffffffff
je 0x4149a5
mov ecx, dword [eax + 0x80]
test ecx, ecx
js 0x41496b
cmp dword [eax + 0x34], 0
jne 0x414958
xor eax, eax
push eax
push 0x451cf0
jmp 0x414997
add eax, 0x24
cmp dword [eax + 0x14], 8
jb 0x414963
mov eax, dword [eax]
push eax
push 0x451cf0
jmp 0x414997
cmp ecx, 0xd0000022
jne 0x414991
push 0x451db4
push 0x451da4
push edi
call fcn.00413540
add esp, 0xc
xor eax, eax
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0x20
push ecx
push 0x451dec
push 0x451da4
push edi
call fcn.00413540
add esp, 0x10
pop edi
pop esi
xor eax, eax
pop ebx
mov esp, ebp
pop ebp
ret 0x20