Function at 0x448417
Capabilities:
Clear file content

Disassembly:
push 0x60
mov eax, 0x454eca
call fcn.0044fcfd
mov ebx, ecx
lea edi, [ebx + 0x1c]
push edi
mov dword [ebp - 0x6c], edi
call dword [sym.imp.KERNEL32.dll_EnterCriticalSection]
xor esi, esi
mov dword [ebp - 4], esi
cmp dword [edi + 0x18], 0xffffffff
jne 0x44847e
mov eax, dword [ebx]
mov ecx, ebx
call dword [eax + 8]
cmp byte [eax + 0xc0], 0
jne 0x448463
mov eax, dword [ebx]
mov ecx, ebx
call dword [eax + 8]
cmp dword [eax + 0xa8], esi
je 0x448463
mov ebx, 0x8000ffff
jmp 0x448465
xor ebx, ebx
or dword [ebp - 4], 0xffffffff
call fcn.0043d8a6
push dword [ebp - 0x6c]
call dword [eax + 0x28]
mov eax, ebx
call fcn.0044fd80
ret 4
push dword [ebp + 8]
push dword [0x47a790]
push esi
call fcn.0043d066
fld qword [0x473920]
fstp qword [ebp - 0x50]
add esp, 0xc
fld qword [0x473918]
fstp qword [ebp - 0x58]
fld qword [0x473910]
fstp qword [ebp - 0x68]
fld qword [0x473908]
fstp qword [ebp - 0x68]
fld qword [0x473900]
fstp qword [ebp - 0x68]
fld qword [ebp - 0x58]
fcomp qword [ebp - 0x58]
fnstsw ax
test ah, 1
jne 0x4484d3
fld qword [ebp - 0x68]
fadd qword [ebp - 0x50]
fstp qword [ebp - 0x68]
push dword [0x47a77c]
lea eax, [ebp - 0x2c]
call fcn.00404c9d
mov byte [ebp - 4], 1
fld qword [0x4739c0]
fstp qword [ebp - 0x58]
xor eax, eax
fld qword [0x473a48]
push eax
fstp qword [ebp - 0x58]
push dword [ebp + 8]
fld qword [0x473928]
fstp qword [ebp - 0x58]
fld qword [0x4739b8]
fstp qword [ebp - 0x68]
fld qword [0x4739b0]
fstp qword [ebp - 0x50]
fld qword [0x473a50]
fstp qword [ebp - 0x58]
fld qword [ebp - 0x58]
fmul qword [ebp - 0x68]
fmul qword [ebp - 0x50]
fsub qword [0x4739a8]
fsub qword [ebp - 0x58]
push dword [edi + 0x18]
fstp qword [ebp - 0x68]
call fcn.0043ee75
mov dword [ebp - 0x4c], 0x4f
mov dword [ebp - 0x4c], 0x47
test eax, eax
mov dword [ebp - 0x5c], 0x15
mov eax, dword [ebp - 0x5c]
mov edx, dword [ebp - 0x4c]
setne cl
cmp edx, eax
jle 0x44857f
mov eax, dword [ebp - 0x5c]
mov edx, dword [ebp - 0x5c]
cmp eax, edx
je 0x44857f
mov eax, dword [ebp - 0x4c]
mov edx, dword [ebp - 0x5c]
imul eax, eax, 0x29
lea eax, [eax + edx - 0x12]
add eax, dword [ebp - 0x4c]
mov dword [ebp - 0x5c], eax
test cl, cl
je 0x4485eb
mov eax, dword [str.DSE_LS6]
push eax
mov esi, eax
call fcn.00413530
pop ecx
mov ecx, esi
lea esi, [ebp - 0x2c]
call fcn.00404c34
push dword [edi + 0x18]
call dword [sym.imp.KERNEL32.dll_SetEndOfFile]
fld qword [0x473958]
fstp qword [ebp - 0x58]
test eax, eax
fld qword [0x473950]
setne cl
fstp qword [ebp - 0x58]
fld qword [0x473948]
fstp qword [ebp - 0x58]
fld qword [0x473940]
fstp qword [ebp - 0x58]
fld qword [0x473938]
fstp qword [ebp - 0x58]
fld qword [0x473930]
fstp qword [ebp - 0x68]
fld qword [ebp - 0x58]
fadd qword [0x473928]
fstp qword [ebp - 0x58]
fld qword [0x4739a0]
fst qword [ebp - 0x60]
fld qword [0x473998]
fst qword [ebp - 0x68]
fld qword [0x473990]
fst qword [ebp - 0x50]
fld qword [0x473988]
fst qword [ebp - 0x58]
fld qword [ebp - 0x50]
fcomp qword [ebp - 0x60]
fnstsw ax
fld qword [0x473978]
test ah, 5
jp 0x448697
fld qword [ebp - 0x68]
fadd qword [0x473980]
fstp qword [ebp - 0x68]
fld qword [ebp - 0x50]
fld qword [ebp - 0x50]
fucompp
fnstsw ax
test ah, 0x44
jp 0x448697
fld qword [ebp - 0x58]
fld qword [ebp - 0x58]
fucompp
fnstsw ax
test ah, 0x44
jp 0x448681
fld qword [ebp - 0x50]
fld qword [ebp - 0x58]
fmul st(2)
fsubp st(1)
fstp qword [ebp - 0x60]
fld qword [ebp - 0x68]
fadd qword [0x473970]
fadd qword [ebp - 0x50]
fadd qword [ebp - 0x60]
fld qword [ebp - 0x60]
fmul qword [0x473968]
fsubp st(1)
fld qword [ebp - 0x50]
fmul qword [0x473960]
fsubp st(1)
fstp qword [ebp - 0x50]
fld qword [ebp - 0x68]
fcomp qword [ebp - 0x60]
fnstsw ax
test ah, 0x41
jp 0x448697
fld qword [ebp - 0x58]
fsub qword [ebp - 0x50]
fstp qword [ebp - 0x60]
test cl, cl
jne 0x448757
fstp st(4)
fstp st(2)
fstp st(0)
fstp st(0)
fstp st(0)
call dword [sym.imp.KERNEL32.dll_GetLastError]
test eax, eax
jle 0x4486bd
and eax, 0xffff
or eax, 0x80070000
mov ecx, dword [ebx + 8]
mov dword [ecx + 0x15c], eax
mov eax, dword [ebx]
mov ecx, ebx
call dword [eax + 8]
add eax, 0x98
push eax
mov ecx, 0xfde9
lea edx, [ebp - 0x48]
call fcn.0044abe1
pop ecx
mov byte [ebp - 4], 2
cmp dword [eax + 0x14], 0x10
jb 0x4486ed
mov eax, dword [eax]
cmp dword [ebp - 0x18], 0x10
mov ecx, dword [ebp - 0x2c]
jae 0x4486f9
lea ecx, [ebp - 0x2c]
push eax
push dword [ebp + 8]
mov eax, dword [ebx + 8]
push dword [eax + 0x15c]
mov eax, dword [ebx]
push ecx
push dword [0x47a798]
mov ecx, ebx
call dword [eax + 8]
mov eax, dword [eax + 0xb8]
or eax, 1
push eax
call fcn.0043d066
add esp, 0x18
push 1
xor edi, edi
lea esi, [ebp - 0x48]
mov byte [ebp - 4], 1
call fcn.004051ee
mov edi, ebx
call fcn.00446931
mov eax, dword [ebx + 8]
mov ebx, dword [eax + 0x15c]
push 1
xor edi, edi
lea esi, [ebp - 0x2c]
call fcn.004051ee
jmp 0x448465
fxch st(4)
fstp qword [ebp - 0x60]
fxch st(2)
fstp qword [ebp - 0x58]
fstp qword [ebp - 0x50]
fstp qword [ebp - 0x68]
fld qword [ebp - 0x50]
fcomp qword [ebp - 0x60]
fnstsw ax
test ah, 5
jp 0x4487ef
fld qword [ebp - 0x58]
fadd qword [0x473980]
fstp qword [ebp - 0x58]
fld qword [ebp - 0x50]
fld qword [ebp - 0x50]
fucompp
fnstsw ax
test ah, 0x44
jp 0x4487ef
fld qword [ebp - 0x68]
fld qword [ebp - 0x68]
fucompp
fnstsw ax
test ah, 0x44
jp 0x4487d5
fld qword [ebp - 0x50]
fld qword [ebp - 0x68]
fmulp st(2)
fsubrp st(1)
fstp qword [ebp - 0x60]
fld qword [ebp - 0x58]
fadd qword [0x473970]
fadd qword [ebp - 0x50]
fadd qword [ebp - 0x60]
fld qword [ebp - 0x60]
fmul qword [0x473968]
fsubp st(1)
fld qword [ebp - 0x50]
fmul qword [0x473960]
fsubp st(1)
fstp qword [ebp - 0x50]
jmp 0x4487d7
fstp st(0)
fld qword [ebp - 0x58]
fcomp qword [ebp - 0x60]
fnstsw ax
test ah, 0x41
jp 0x4487f1
fld qword [ebp - 0x68]
fsub qword [ebp - 0x50]
fstp qword [ebp - 0x60]
jmp 0x4487f1
fstp st(0)
push 1
xor edi, edi
lea esi, [ebp - 0x2c]
call fcn.004051ee
jmp 0x448463