Function at 0x43e718
Capabilities:
Write file on windows

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x68
mov dword [ebp - 0x2c], ecx
mov eax, dword [ebp + 8]
mov byte [ebp - 0x30], al
mov eax, dword [ebp - 0x2c]
mov eax, dword [eax + 0x188]
cmp eax, 3
je 0x43e929
mov edx, dword [ebp - 0x2c]
fld qword [edx + 0x18]
fldz
fxch st(1)
fucomi st(1)
fstp st(1)
jbe 0x43e91d
mov edx, dword [ebp - 0x2c]
movzx edx, byte [edx + 0x17c]
test dl, dl
jne 0x43e921
mov edx, dword [ebp - 0x2c]
fld qword [edx + 0x40]
mov edx, dword [ebp - 0x2c]
fld qword [edx + 0x38]
faddp st(1)
mov edx, dword [ebp - 0x2c]
fld qword [edx + 8]
fucomi st(1)
fstp st(1)
ja 0x43e783
cmp byte [ebp - 0x30], 0
je 0x43e925
cmp eax, 1
sete dl
cmp eax, 5
sete al
or eax, edx
test al, al
je 0x43e7c3
fstp st(0)
fstp st(0)
mov eax, dword [ebp - 0x2c]
mov eax, dword [eax]
mov dword [esp + 0xc], eax
mov dword [esp + 8], 4
mov dword [esp + 4], 1
mov dword [esp], str.G10_n
call sym._fwrite
jmp 0x43e8cc
fsubrp st(1)
mov eax, dword [ebp - 0x2c]
mov eax, dword [eax + 0x180]
mov edx, dword [ebp - 0x2c]
movzx eax, byte [edx + eax + 0x160]
movsx edx, al
mov eax, dword [ebp - 0x2c]
mov eax, dword [eax + 0x174]
shl eax, 2
mov ecx, eax
shl ecx, 4
sub ecx, eax
mov eax, dword [ebp - 0x2c]
mov eax, dword [eax]
fstp qword [esp + 0x10]
mov dword [esp + 0xc], edx
mov dword [esp + 8], ecx
mov dword [esp + 4], str.G1_F_i__c_0.5f_n
mov dword [esp], eax
call sym._fprintf
mov eax, dword [ebp - 0x2c]
mov eax, dword [eax + 0x174]
mov edx, dword [ebp - 0x2c]
mov dword [edx + 0x170], eax
mov dword [ebp - 0x34], eax
fild dword [ebp - 0x34]
mov eax, dword [ebp - 0x2c]
fld qword [eax + 8]
mov eax, dword [ebp - 0x2c]
fld qword [eax + 0x18]
fsubp st(1)
mov eax, dword [ebp - 0x2c]
mov eax, dword [eax + 0x50]
mov dword [ebp - 0x34], eax
fild dword [ebp - 0x34]
fld qword [0x462380]
fdivp st(1)
mov eax, dword [ebp - 0x2c]
mov eax, dword [eax + 0x4c]
mov dword [ebp - 0x34], eax
fild dword [ebp - 0x34]
fld qword [0x462380]
fdivp st(1)
mov eax, dword [ebp - 0x2c]
mov eax, dword [eax + 0x48]
mov dword [ebp - 0x34], eax
fild dword [ebp - 0x34]
fld qword [0x462380]
fdivp st(1)
fstp qword [ebp - 0x28]
fstp qword [ebp - 0x20]
fstp qword [ebp - 0x18]
fstp qword [ebp - 0x10]
mov eax, dword [ebp - 0x2c]
lea edx, [eax + 0x220]
fstp qword [esp + 0x20]
mov eax, dword [ebp - 0x28]
mov dword [esp], eax
mov eax, dword [ebp - 0x24]
mov dword [esp + 4], eax
mov eax, dword [ebp - 0x20]
mov dword [esp + 8], eax
mov eax, dword [ebp - 0x1c]
mov dword [esp + 0xc], eax
mov eax, dword [ebp - 0x18]
mov dword [esp + 0x10], eax
mov eax, dword [ebp - 0x14]
mov dword [esp + 0x14], eax
mov eax, dword [ebp - 0x10]
mov dword [esp + 0x18], eax
mov eax, dword [ebp - 0xc]
mov dword [esp + 0x1c], eax
mov ecx, edx
call method.TimeEstimateCalculator.plan_TimeEstimateCalculator::Position__double_
sub esp, 0x28
mov eax, dword [ebp - 0x2c]
mov eax, dword [eax + 0x28]
test eax, eax
jle 0x43e905
mov edx, dword [ebp - 0x2c]
mov edx, dword [edx + 0x50]
add eax, edx
mov dword [ebp - 0x34], eax
fild dword [ebp - 0x34]
fld qword [0x462380]
fdivp st(1)
mov eax, dword [ebp - 0x2c]
mov eax, dword [eax]
fstp qword [esp + 8]
mov dword [esp + 4], str.G1_Z_0.3f_n
mov dword [esp], eax
call sym._fprintf
mov eax, dword [ebp - 0x2c]
fld qword [eax + 8]
mov eax, dword [ebp - 0x2c]
fstp qword [eax + 0x40]
mov eax, dword [ebp - 0x2c]
mov byte [eax + 0x17c], 1
jmp 0x43e929
fstp st(0)
jmp 0x43e929
fstp st(0)
jmp 0x43e929
fstp st(0)
fstp st(0)
leave
ret 4