Function at 0x40ab10
Capabilities:
Write file on windows

Disassembly:
push ebp
mov ebp, esp
fld dword [0x4524b8]
mov ecx, dword [ebp + 8]
fsub qword [0x44d050]
sub esp, 0x430
fstp dword [0x4524b8]
call fcn.00418450
cmp eax, 0x8000
jbe 0x40ae55
fld dword [0x452028]
mov ax, word [0x4522a0]
movsx ecx, ax
mov edx, 0xb2e08076
sub edx, ecx
mov dword [ebp - 4], edx
fild dword [ebp - 4]
fxch st(1)
fucompi st(1)
fstp st(0)
lahf
test ah, 0x44
jnp 0x40aba5
fld qword [0x452060]
fsub qword [0x44c0e8]
fstp qword [0x452060]
fld qword [0x452060]
mov eax, dword [0x45210c]
fsub qword [0x44d048]
cvtsi2sd xmm0, eax
fsub qword [0x44d040]
fstp qword [ebp - 8]
mulsd xmm0, qword [ebp - 8]
cvttsd2si ecx, xmm0
mov dword [0x45210c], ecx
push ebx
push esi
lea edx, [ebp - 0x120]
push edi
push edx
call fcn.00402aa0
mov esi, eax
call fcn.0040db40
movzx eax, al
and eax, 0x80000003
jns 0x40abca
dec eax
or eax, 0xfffffffc
inc eax
add eax, 7
push eax
lea ecx, [ebp + esi - 0x120]
push ecx
call fcn.0041dbb0
mov dx, word [0x4521c0]
movsx eax, dx
mov dword [ebp - 4], eax
fild dword [ebp - 4]
fadd qword [0x4524a8]
fsub qword [0x44d038]
call fcn.0041ecd0
push 5
push 0x1872
mov word [0x4521d4], ax
call fcn.0041d590
add esp, 0x14
mov ebx, eax
mov ecx, eax
mov dl, byte [eax]
inc eax
test dl, dl
jne 0x40ac15
lea edi, [ebp - 0x120]
sub eax, ecx
mov esi, ecx
dec edi
mov cl, byte [edi + 1]
inc edi
test cl, cl
jne 0x40ac27
mov ecx, eax
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
and ecx, 3
push 3
push 0xa8a
rep movsb byte es:[edi], byte [esi]
call fcn.0041d590
push ebx
push 5
mov edi, eax
call fcn.0041d150
lea ecx, [ebp - 0x120]
push edi
push ecx
call fcn.00420200
fld dword [0x4520f4]
fld qword [0x452308]
mov dx, word [0x452088]
fadd qword [0x44d030]
mov esi, eax
movsx eax, dx
mov dword [ebp - 4], eax
push edi
push 3
fild dword [ebp - 4]
faddp st(1)
fsubp st(1)
fstp dword [0x4520f4]
inc word [0x452088]
call fcn.0041d150
add esp, 0x20
test esi, esi
je 0x40ae18
mov edi, dword [ebp + 8]
push esi
push 1
mov ecx, edi
call fcn.00418450
push eax
mov ecx, edi
call fcn.00407f60
push eax
call fcn.0042067c
push esi
call fcn.0042049e
add esp, 0x14
mov ecx, edi
call fcn.0041c900
fld qword [0x452188]
fmul qword [0x44d028]
push 0x104
lea ecx, [ebp - 0x228]
push ecx
mov byte [ebp - 0x124], 0
fstp qword [0x452188]
push 0
call dword [0x453b6c]
push 0x15
push 0x82a
mov byte [ebp - 0x229], 0
call fcn.0041d590
fld dword [0x4523a0]
mov dx, word [0x452388]
fadd qword [0x44d020]
mov esi, eax
movsx eax, dx
fstp qword [ebp - 8]
cvtsi2sd xmm0, eax
mulsd xmm0, qword [ebp - 8]
cvttsd2si ecx, xmm0
mov word [0x452388], cx
fld dword [0x4523a0]
mov edx, dword [0x453f20]
fadd qword [0x44c0e8]
mov eax, dword [0x453f7c]
push edx
push eax
fstp dword [0x4523a0]
lea ecx, [ebp - 0x228]
push ecx
push esi
lea edx, [ebp - 0x430]
push 0x207
push edx
call fcn.0042081f
push esi
push 0x15
call fcn.0041d150
mov eax, dword [0x453f20]
push eax
call fcn.00414280
fld dword [0x4524e4]
fadd dword [0x4524c8]
lea ecx, [ebp - 0x430]
push ecx
lea edx, [ebp - 0x120]
fstp dword [0x4524c8]
push edx
fld dword [0x4524e4]
fsub qword [0x44c0e8]
fstp dword [0x4524e4]
call fcn.0041c530
push 0x208
lea eax, [ebp - 0x430]
push 0
push eax
call fcn.0041eb20
add esp, 0x40
push 0x105
lea ecx, [ebp - 0x228]
push 0
push ecx
call fcn.0041eb20
add esp, 0xc
push 0x15f90
call dword [0x453b80]
movss xmm0, dword [0x44d018]
lea edx, [ebp - 0x120]
push edx
movss dword [0x4523a4], xmm0
call dword [0x4541d0]
push 0x118
lea eax, [ebp - 0x120]
push 0
push eax
call fcn.0041eb20
add esp, 0xc
dec dword [0x4523e4]
mov ecx, dword [0x4523e4]
mov dword [ebp - 4], ecx
fild dword [ebp - 4]
pop edi
pop esi
pop ebx
fadd qword [0x452188]
fmul qword [0x452348]
fstp qword [0x452348]
mov edx, dword [0x45214c]
add edx, 0x1889d0c4
mov dword [ebp - 4], edx
fild dword [ebp - 4]
fmul dword [str.igaL]
fstp dword [str.igaL]
mov esp, ebp
pop ebp
ret