Function at 0x408cb0
Capabilities:
Get file size

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
push 0xffffffffffffffff
push 0x43f4d0
mov eax, dword fs:[0]
push eax
sub esp, 0x118
mov eax, dword [0x44c6b0]
xor eax, esp
mov dword [esp + 0x110], eax
push ebx
push esi
push edi
mov eax, dword [0x44c6b0]
xor eax, esp
push eax
lea eax, [esp + 0x128]
mov dword fs:[0], eax
push 0x1894
mov esi, ecx
call fcn.00428fd0
add esp, 4
mov dword [esp + 0x10], eax
xor edi, edi
mov dword [esp + 0x130], edi
cmp eax, edi
je 0x408d19
mov ecx, eax
call fcn.00416260
jmp 0x408d1b
xor eax, eax
or ebx, 0xffffffff
mov ecx, eax
mov dword [esp + 0x130], ebx
mov dword [0x44dd58], eax
call fcn.00416d70
push 0x7c0
call fcn.00428fd0
add esp, 4
mov dword [esp + 0x10], eax
mov dword [esp + 0x130], 1
cmp eax, edi
je 0x408d5a
mov ecx, eax
call fcn.00418d70
jmp 0x408d5c
xor eax, eax
mov ecx, eax
mov dword [esp + 0x130], ebx
mov dword [0x44dd5c], eax
call fcn.0041b990
push 0xc3f98
call fcn.00428fd0
add esp, 4
mov dword [esp + 0x10], eax
mov dword [esp + 0x130], 2
cmp eax, edi
je 0x408d98
mov ecx, eax
call fcn.0041c440
jmp 0x408d9a
xor eax, eax
mov ecx, eax
mov dword [esp + 0x130], ebx
mov dword [0x44dd44], eax
call fcn.0041e7f0
push 0x4ec
call fcn.00428fd0
add esp, 4
mov dword [esp + 0x10], eax
mov dword [esp + 0x130], 3
cmp eax, edi
je 0x408dd6
mov ecx, eax
call fcn.00424830
jmp 0x408dd8
xor eax, eax
mov ecx, eax
mov dword [esp + 0x130], ebx
mov dword [0x44dd60], eax
call fcn.00425680
push 0x9fc
call fcn.00428fd0
add esp, 4
mov dword [esp + 0x10], eax
mov dword [esp + 0x130], 4
cmp eax, edi
je 0x408e14
mov ecx, eax
call fcn.0040ee80
jmp 0x408e16
xor eax, eax
mov ecx, eax
mov dword [esp + 0x130], ebx
mov dword [0x44dd48], eax
call fcn.0040f150
push 0x62150
call fcn.00428fd0
add esp, 4
mov dword [esp + 0x10], eax
mov dword [esp + 0x130], 5
cmp eax, edi
je 0x408e52
mov ecx, eax
call fcn.004210b0
jmp 0x408e54
xor eax, eax
mov ecx, eax
mov dword [esp + 0x130], ebx
mov dword [0x44dd54], eax
call fcn.004237f0
push 0x2b0
call fcn.00428fd0
add esp, 4
mov dword [esp + 0x10], eax
mov dword [esp + 0x130], 6
cmp eax, edi
je 0x408e90
mov ecx, eax
call fcn.0040ac50
jmp 0x408e92
xor eax, eax
mov ecx, eax
mov dword [esp + 0x130], ebx
mov dword [0x44dd50], eax
call fcn.0040aed0
push 0xd6c
call fcn.00428fd0
add esp, 4
mov dword [esp + 0x10], eax
mov dword [esp + 0x130], 7
cmp eax, edi
je 0x408ece
mov ecx, eax
call fcn.00415e70
jmp 0x408ed0
xor eax, eax
mov ecx, eax
mov dword [esp + 0x130], ebx
mov dword [0x44dd4c], eax
call fcn.004160b0
push 0x440898
push edi
push edi
push edi
push edi
push 0x81
push edi
push edi
push edi
push 0x320
push edi
push edi
push edi
push 0x19
call dword [sym.imp.GDI32.dll_CreateFontA]
fldz
push 0x3f
fstp qword [esp + 0x30]
mov dword [esi + 0x14], eax
lea eax, [esp + 0xe1]
push edi
push eax
mov dword [esp + 0x1c], ebx
mov byte [esp + 0xe8], 0
call fcn.00428f30
add esp, 0xc
push edi
lea ecx, [esp + 0xe0]
push str.code_sav_02d.t1
push ecx
call fcn.0042ab73
add esp, 0xc
push 0
lea edx, [esp + 0x58]
push edx
lea eax, [esp + 0xe4]
push eax
mov byte [esp + 0x60], 0x88
call dword [sym.imp.KERNEL32.dll_OpenFile]
mov esi, eax
cmp esi, 0xffffffff
je 0x409051
push 0
push esi
call dword [sym.imp.KERNEL32.dll_GetFileSize]
cmp eax, 0x61
jb 0x409051
lea ecx, [esp + 0x3c]
push ecx
push 0
push 0
push esi
call dword [sym.imp.KERNEL32.dll_GetFileTime]
lea edx, [esp + 0x44]
push edx
lea eax, [esp + 0x40]
push eax
call dword [sym.imp.KERNEL32.dll_FileTimeToSystemTime]
lea ecx, [esp + 0x14]
push ecx
lea edx, [esp + 0x48]
push edx
push 0
call dword [sym.imp.KERNEL32.dll_SystemTimeToTzSpecificLocalTime]
movzx eax, word [esp + 0x14]
cdq
mov ecx, 0x64
idiv ecx
push 2
push 0x540be400
mov eax, edx
cdq
push edx
push eax
call fcn.0042add0
mov ecx, eax
movzx eax, word [esp + 0x16]
imul eax, eax, 0x5f5e100
mov ebx, edx
cdq
add ecx, eax
movzx eax, word [esp + 0x1a]
adc ebx, edx
imul eax, eax, 0xf4240
cdq
add ecx, eax
movzx eax, word [esp + 0x1c]
adc ebx, edx
imul eax, eax, 0x2710
cdq
add ecx, eax
movzx eax, word [esp + 0x1e]
adc ebx, edx
imul eax, eax, 0x64
cdq
add ecx, eax
movzx eax, word [esp + 0x20]
adc ebx, edx
cdq
add ecx, eax
adc ebx, edx
mov dword [esp + 0x24], ecx
mov dword [esp + 0x28], ebx
push esi
fild qword [esp + 0x28]
fstp qword [esp + 0x38]
call dword [sym.imp.KERNEL32.dll__lclose]
fld qword [esp + 0x2c]
fld qword [esp + 0x34]
fcom st(1)
fnstsw ax
test ah, 0x41
je 0x409093
mov ebx, dword [esp + 0x10]
fucom st(1)
fnstsw ax
fstp st(1)
test ah, 0x44
jp 0x40904f
test ebx, ebx
jne 0x409095
fstp st(0)
inc edi
cmp edi, 0x64
jl 0x408f2c
xor esi, esi
test ebx, ebx
jl 0x4090a1
mov ecx, dword [0x44dd58]
push ebx
call fcn.004165b0
test al, al
jne 0x4090b0
sub ebx, 1
jns 0x40907b
mov ebx, 0x63
inc esi
cmp esi, 0x64
jge 0x4090a1
mov ecx, dword [0x44dd58]
push ebx
call fcn.004165b0
test al, al
je 0x409071
jmp 0x4090b0
fstp st(1)
mov ebx, edi
fstp qword [esp + 0x2c]
mov dword [esp + 0x10], ebx
jmp 0x409051
push 1
call dword [sym.imp.USER32.dll_PostQuitMessage]
mov byte [0x450ed4], 1
mov edx, dword [0x44dd40]
mov eax, dword [edx + 0x378]
mov ecx, dword [0x44dd58]
push eax
call fcn.004172f0
push 0
call fcn.0042ad72
push eax
call fcn.0042ad3e
add esp, 8
mov ecx, dword [esp + 0x128]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov ecx, dword [esp + 0x110]
xor ecx, esp
call fcn.00428f13
mov esp, ebp
pop ebp
ret