Function at 0x4091dc
Capabilities:
Get file size

Disassembly:
push ebp
mov ebp, esp
push ebx
push esi
push edi
push 0x133f
sub esp, 0x70
push fcn.004091dc
xor esi, esi
xor edi, edi
mov ecx, 0x18
push esi
dec ecx
jne 0x4091f8
mov ebx, dword [ebp + 0x10]
call fcn.0041158b
call fcn.0041171e
mov esi, eax
mov eax, esi
test eax, eax
je 0x409238
mov eax, esi
push eax
call fcn.0040a55a
mov dword [ebp - 0xd4], eax
mov ebx, dword [ebp + 0x10]
call fcn.0041158b
mov ebx, dword [ebp - 0xd4]
xor ecx, ecx
call fcn.004115d4
mov ebx, dword [ebp + 0x14]
mov edx, dword [ebx]
call fcn.00411739
call fcn.0041171e
test eax, eax
je 0x409281
mov ebx, dword [ebp + 0x14]
mov edx, dword [ebx]
call fcn.00411739
call fcn.0041171e
push eax
call fcn.0040a55a
mov dword [ebp - 0xb4], eax
mov ebx, dword [ebp + 0x14]
mov edx, dword [ebx]
call fcn.00411739
mov ebx, dword [ebp - 0xb4]
xor ecx, ecx
call fcn.004115d4
mov ebx, dword [ebp + 8]
mov edx, dword [ebx]
call fcn.00411739
xor ebx, ebx
xor eax, eax
call fcn.0040b282
mov edx, 0x412bd4
call fcn.00411750
call fcn.00410f94
jne 0x4092ae
jmp 0x4094bc
push 0
push 0
push 0x40000000
push 3
push 0
push 1
fild qword [0x4145a4]
call fcn.00410c4f
push eax
mov ebx, dword [ebp + 8]
mov edx, dword [ebx]
call fcn.00411739
lea ebx, [esp + 0x18]
call fcn.00410d18
call dword [sym.imp.KERNEL32.DLL_CreateFileA]
push eax
mov ebx, esp
mov eax, dword [ebx + 4]
call fcn.0040f5cb
pop eax
add esp, 4
fldcw word [ebp - 0x10]
mov edi, eax
fild qword [0x414630]
mov dword [ebp - 0x6c], edi
fild dword [ebp - 0x6c]
fcompp
fnstsw ax
sahf
jne 0x40934b
push 0
push 0
call dword [sym.imp.KERNEL32.DLL_GetLastError]
fldcw word [ebp - 0x10]
lea ebx, [esp + 4]
push ebx
mov dword [ebx], eax
mov edx, 0x41350c
call fcn.00411750
lea ebx, [esp + 4]
push ebx
call fcn.00410c56
call fcn.004098a1
mov ebx, esp
mov eax, dword [ebx]
call fcn.0040f5cb
add esp, 8
jmp 0x4094bc
push 0
mov eax, edi
push eax
call dword [sym.imp.KERNEL32.DLL_GetFileSize]
fldcw word [ebp - 0x10]
mov dword [ebp - 0xe0], eax
cmp dword [ebp - 0xe0], 0x3d0900
jle 0x4093ad
cmp dword [ebp - 0xe0], 0xffffffff
je 0x4093ad
mov eax, edi
push eax
call dword [sym.imp.KERNEL32.DLL_CloseHandle]
fldcw word [ebp - 0x10]
mov ebx, dword [ebp + 0x14]
push ebx
push dword [ebp - 0xe0]
push dword [ebp + 0xc]
mov ebx, dword [ebp + 8]
push ebx
call fcn.004094dd
mov dword [ebp - 0x98], 0xffffffff
jmp 0x4094bc
mov dword [ebp - 0x9c], 0
cmp dword [ebp - 0xe0], 0
je 0x4093cd
cmp dword [ebp - 0xe0], 0xffffffff
jne 0x409417
push 0
push 0
call dword [sym.imp.KERNEL32.DLL_GetLastError]
fldcw word [ebp - 0x10]
lea ebx, [esp + 4]
push ebx
mov dword [ebx], eax
mov edx, 0x41352c
call fcn.00411750
lea ebx, [esp + 4]
push ebx
call fcn.00410c56
call fcn.004098a1
mov ebx, esp
mov eax, dword [ebx]
call fcn.0040f5cb
add esp, 8
mov eax, edi
push eax
call dword [sym.imp.KERNEL32.DLL_CloseHandle]
fldcw word [ebp - 0x10]
jmp 0x4094bc
mov eax, edi
push eax
push dword [0x412a84]
call fcn.00407751
mov dword [ebp - 0xe4], eax
mov eax, dword [ebp - 0xe4]
test eax, eax
mov eax, 0xffffffff
je 0x40943b
inc eax
test eax, eax
je 0x40944f
mov eax, edi
push eax
call dword [sym.imp.KERNEL32.DLL_CloseHandle]
fldcw word [ebp - 0x10]
mov dword [ebp - 0xc0], 0xffffffff
mov eax, dword [ebp + 0xc]
mov dword [ebp - 0xbc], eax
mov eax, dword [ebp - 0xd4]
mov dword [ebp - 0xb8], eax
lea ebx, [ebp - 0xd0]
push ebx
push dword [ebp - 0xe0]
mov eax, edi
push eax
call fcn.00407cba
mov dword [ebp - 0xe4], eax
mov eax, dword [ebp - 0xe4]
test eax, eax
mov eax, 0xffffffff
je 0x409499
inc eax
test eax, eax
je 0x4094b2
mov eax, edi
push eax
call dword [sym.imp.KERNEL32.DLL_CloseHandle]
fldcw word [ebp - 0x10]
jmp 0x4094bc
mov dword [ebp - 0x98], 0xffffffff
mov eax, dword [ebp - 0x98]
lea esp, [ebp - 0xc]
pop edi
pop esi
pop ebx
pop ebp
ret 0x10