// File: /workspace/github_cpp_makefile_star2_O3/openflightmaps[P]ofm2xplane/main.cpp
// Function: write_coordinatesC(rapidxml::xml_node<char>*, std::basic_ofstream<char, std::char_traits<char>>&, int, int)
void write_coordinatesC(xml_node<> *source, ofstream &out, int line, int light)
{
    // Same as write_coordinates(), but ending with a closed loop.
    // Extracting coordinates 
    string s(source->value());
    size_t l=0,r=-1, ll, rr;
    int c=0;
    long double x,y,bx,by,n;
    long double shift, factor, exponent;
    int last;
    int ex;
    
    long double area=0;
    
    long double x1, y1, x2, y2, x3, y3, x4, y4;
    long double t, c1, c2;
    
    shift=my_stold(string(def->first_node("others")->first_node("Bezier")->first_node("Shift")->value()));
    factor=my_stold(string(def->first_node("others")->first_node("Bezier")->first_node("Factor")->value()));
    exponent=my_stold(string(def->first_node("others")->first_node("Bezier")->first_node("Exp")->value()));
    
    while(true)
    {
        l=s.find_first_of("1234567890.",r+1);
        r=s.find_first_not_of("1234567890.",l)-1;
        c++;
        if(r==s.npos-1)
            break;
    }
    c--;

    long double *coor=new long double[c];
    l=0;
    r=-1;
    
    for(int i=0;i<c;i++)
    {
        l=s.find_first_of("1234567890.",r+1);
        r=s.find_first_not_of("11234567890.",l)-1;
        coor[i]=my_stold(s.substr(l,r-l+1));
    }
    for(int i=0;i<c-2;i=i+6)
        area+=coor[i]*coor[i+7]-coor[i+6]*coor[i+1];
    area-=coor[0]*coor[c-1] - coor[1]*coor[c-2];
    
    
    if(area<0)
    {
        last=6;
        while(coor[last]==coor[last-6] && coor[last+1]==coor[last-5])
            last+=6;
        //cout << "Correction of direction!" << endl;
        for(int i=c-2;i>0;i=i-6)
        {
            /*x1=coor[i], y1=coor[i+1], 
            x2=coor[i-2], y2=coor[i-1],
            x3=coor[i-4], y3=coor[i-3], 
            x4=coor[i-6], y4=coor[i-5];*/
            if(coor[i]==coor[i-6] && coor[i+1]==coor[i-5])
                continue;

            area=coor[i]*(coor[i-1]-coor[i-5])+coor[i-2]*(coor[i-3]-coor[i+1])+coor[i-4]*(coor[i-5]-coor[i-1])+coor[i-6]*(coor[i+1]-coor[i-3]);
            
            if(area==0 || isnan(area))
                n=1.0;
            else
            {
                frexpl(area,&ex);
                n=int(pow((ex+shift)*factor, exponent))+1.0;
            }
            for(long double j=0.0; j<=n; j=j+1.0)
            {
                /* if(i!=c-2 && j==0)
                    continue; */
                t=j/n;
                x=(1-t)*(1-t)*(1-t)*coor[i] + 
                3*(1-t)*(1-t)*t*coor[i-2] +
                3*(1-t)*t*t*coor[i-4] +
                t*t*t*coor[i-6];
                
                y=(1-t)*(1-t)*(1-t)*coor[i+1] +
                3*(1-t)*(1-t)*t*coor[i-1] + 
                3*(1-t)*t*t*coor[i-3] +
                t*t*t*coor[i-5];
                if(i>last || j<n)
                    out << "111 " << y << " " << x << " ";    
                else
                    out << "113 " << y << " " << x << " ";
                if(line!=0)
                    out << line << " ";
                if(light!=0)
                    out << light << " ";
                out << endl;
            }
        }
    }
    else
    {
        //cout << "Good direction!" << endl;
        last=c-8;
        while(coor[last]==coor[last+6] && coor[last+1]==coor[last+7])
            last-=6;
        for(int i=0;i<c-2;i=i+6)
        {
            /*x1=coor[i], y1=coor[i+1], 
            x2=coor[i+2], y2=coor[i+3],
            x3=coor[i+4], y3=coor[i+5], 
            x4=coor[i+6], y4=coor[i+7];*/
            if(coor[i]==coor[i+6] && coor[i+1]==coor[i+7])
                continue;
            
            area=coor[i]*(coor[i+3]-coor[i+7])+coor[i+2]*(coor[i+5]-coor[i+1])+coor[i+4]*(coor[i+7]-coor[i+3])+coor[i+6]*(coor[i+1]-coor[i+5]);

            if(area==0 || isnan(area))
                n=1;
            else
            {
                frexpl(area,&ex);
                n=int(pow((ex+shift)*factor, exponent))+1.0;
            }
            
            for(long double j=0.0; j<=n; j=j+1)
            {
                /* if(j==0 && i!=0)
                    continue; */
                t=j/n;
                
                x=(1-t)*(1-t)*(1-t)*coor[i] + 
                3*(1-t)*(1-t)*t*coor[i+2] +
                3*(1-t)*t*t*coor[i+4] +
                t*t*t*coor[i+6];
                
                y=(1-t)*(1-t)*(1-t)*coor[i+1] +
                3*(1-t)*(1-t)*t*coor[i+3] + 
                3*(1-t)*t*t*coor[i+5] +
                t*t*t*coor[i+7];
                
                if(i<last || j<n)
                    out << "111 " << y << " " << x << " ";
                else
                    out << "113 " << y << " " << x << " ";
                if(line!=0)
                    out << line << " ";
                if(light!=0)
                    out << light << " ";
                out << endl;
            }
        }
    }
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
pushq %r15
pushq %r14
pushq %r13
pushq %r12
pushq %rbx
subq $0x1d8, %rsp            # imm = 0x1D8
movl %ecx, -0x34(%rbp)
movl %edx, -0x38(%rbp)
movq %rsi, %r15
movq 0x8(%rdi), %rsi
testq %rsi, %rsi
leaq 0x95b9(%rip), %r12      # 0xf1e8
cmoveq %r12, %rsi
leaq -0x160(%rbp), %rdi
leaq -0x3c(%rbp), %rdx
callq 0x8a02
movq 0x9596(%rip), %rdi      # 0xf1e0
leaq 0x58ac(%rip), %rsi      # 0xb4fd
xorl %edx, %edx
movl $0x1, %ecx
callq 0x8774
leaq 0x58c7(%rip), %rsi      # 0xb52b
movq %rax, %rdi
xorl %edx, %edx
movl $0x1, %ecx
callq 0x8774
leaq 0x58b8(%rip), %rsi      # 0xb532
movq %rax, %rdi
xorl %edx, %edx
movl $0x1, %ecx
callq 0x8774
movq 0x8(%rax), %rsi
testq %rsi, %rsi
cmoveq %r12, %rsi
leaq -0x1e0(%rbp), %rdi
leaq -0x29(%rbp), %rdx
callq 0x8a02
leaq -0x1e0(%rbp), %rdi
xorl %esi, %esi
callq 0x7c10
fstpt -0x12c(%rbp)
leaq -0x1d0(%rbp), %rax
movq -0x10(%rax), %rdi
cmpq %rax, %rdi
je 0x5cd7
movq -0x1d0(%rbp), %rsi
incq %rsi
callq 0x21b0
movq 0x9502(%rip), %rdi      # 0xf1e0
leaq 0x5818(%rip), %rsi      # 0xb4fd
xorl %edx, %edx
movl $0x1, %ecx
callq 0x8774
leaq 0x5833(%rip), %rsi      # 0xb52b
movq %rax, %rdi
xorl %edx, %edx
movl $0x1, %ecx
callq 0x8774
leaq 0x582a(%rip), %rsi      # 0xb538
movq %rax, %rdi
xorl %edx, %edx
movl $0x1, %ecx
callq 0x8774
movq 0x8(%rax), %rsi
testq %rsi, %rsi
cmoveq %r12, %rsi
leaq -0x1c0(%rbp), %rdi
leaq -0x29(%rbp), %rdx
callq 0x8a02
leaq -0x1c0(%rbp), %rdi
xorl %esi, %esi
callq 0x7c10
fstpt -0x120(%rbp)
leaq -0x1b0(%rbp), %rax
movq -0x10(%rax), %rdi
cmpq %rax, %rdi
je 0x5d6b
movq -0x1b0(%rbp), %rsi
incq %rsi
callq 0x21b0
movq 0x946e(%rip), %rdi      # 0xf1e0
leaq 0x5784(%rip), %rsi      # 0xb4fd
xorl %edx, %edx
movl $0x1, %ecx
callq 0x8774
leaq 0x579f(%rip), %rsi      # 0xb52b
movq %rax, %rdi
xorl %edx, %edx
movl $0x1, %ecx
callq 0x8774
leaq 0x579d(%rip), %rsi      # 0xb53f
movq %rax, %rdi
xorl %edx, %edx
movl $0x1, %ecx
callq 0x8774
movq 0x8(%rax), %rax
testq %rax, %rax
cmovneq %rax, %r12
leaq -0x1a0(%rbp), %rdi
leaq -0x29(%rbp), %rdx
movq %r12, %rsi
callq 0x8a02
leaq -0x1a0(%rbp), %rdi
xorl %esi, %esi
callq 0x7c10
fstpt -0x114(%rbp)
leaq -0x190(%rbp), %rax
movq -0x10(%rax), %rdi
cmpq %rax, %rdi
je 0x5e02
movq -0x190(%rbp), %rsi
incq %rsi
callq 0x21b0
movq $-0x3, %rbx
movq $-0x20, %r14
xorl %eax, %eax
leaq 0x56fc(%rip), %r12      # 0xb515
leaq -0x160(%rbp), %r13
movl $0xb, %ecx
movq %r13, %rdi
movq %r12, %rsi
movq %rax, %rdx
callq 0x2250
movl $0xb, %ecx
movq %r13, %rdi
movq %r12, %rsi
movq %rax, %rdx
callq 0x22d0
incq %rbx
addq $0x10, %r14
cmpq $-0x1, %rax
jne 0x5e20
movq %r14, -0x58(%rbp)
leaq 0x10(%r14), %rdi
callq 0x2030
movq %rax, %r14
fldz
movl $0xfffffffe, %eax       # imm = 0xFFFFFFFE
cmpl $-0x2, %ebx
movq %r14, -0x108(%rbp)
je 0x5f86
fstp %st(0)
movq %rbx, -0x70(%rbp)
leaq 0x2(%rbx), %rax
xorl %r13d, %r13d
leaq -0x180(%rbp), %r12
movq %r14, %rbx
movq %rax, -0x98(%rbp)
movq %rax, %r14
movq %r14, -0x48(%rbp)
movl $0xb, %ecx
leaq -0x160(%rbp), %r14
movq %r14, %rdi
leaq 0x5660(%rip), %rsi      # 0xb515
movq %r13, %rdx
callq 0x2250
movq %rax, %r13
movl $0xc, %ecx
movq %r14, %rdi
leaq 0x5645(%rip), %rsi      # 0xb514
movq %rax, %rdx
callq 0x22d0
movq %rax, %r14
movq %rax, %rcx
subq %r13, %rcx
movq %r12, %rdi
leaq -0x160(%rbp), %rsi
movq %r13, %rdx
callq 0x21c0
movq %r12, %rdi
xorl %esi, %esi
callq 0x7c10
fstpt (%rbx)
movq -0x180(%rbp), %rdi
leaq -0x170(%rbp), %rax
cmpq %rax, %rdi
movq %r14, %r13
movq -0x48(%rbp), %r14
je 0x5f27
movq -0x170(%rbp), %rsi
incq %rsi
callq 0x21b0
addq $0x10, %rbx
decq %r14
jne 0x5e9b
movq -0x108(%rbp), %r14
fldt (%r14)
cmpl $0x3, -0x98(%rbp)
setae %al
jb 0x5f80
leaq 0x70(%r14), %rcx
fldz
xorl %edx, %edx
fld %st(1)
movq -0x70(%rbp), %rbx
fldt (%rcx)
addq $0x6, %rdx
fmulp %st, %st(1)
fldt -0x10(%rcx)
fldt -0x60(%rcx)
fmul %st(1), %st
fsubrp %st, %st(2)
fxch %st(2)
faddp %st, %st(1)
addq $0x60, %rcx
cmpq %rbx, %rdx
fxch %st(1)
jl 0x5f58
fstp %st(0)
movq %rbx, %rdx
jmp 0x5f8d
movq -0x70(%rbp), %rbx
movl %ebx, %eax
movslq %eax, %rdx
fldz
xorl %eax, %eax
movq -0x58(%rbp), %rsi
fldt (%r14,%rsi)
fldt 0x10(%r14)
movq %rdx, %rcx
shlq $0x4, %rcx
fldt (%r14,%rcx)
fmul %st, %st(1)
fxch %st(2)
fmul %st(4), %st
fsubp %st, %st(1)
fucompi %st(2), %st
fstp %st(1)
jbe 0x6003
fstp %st(0)
fldt 0x60(%r14)
fucompi %st(1), %st
fstp %st(0)
jne 0x605e
jp 0x605e
leaq 0xc0(%r14), %rdx
movl $0x6, %ecx
fldt -0x50(%rdx)
fldt -0xb0(%rdx)
fxch %st(1)
fucompi %st(1), %st
fstp %st(0)
jne 0x5ffe
jp 0x5ffe
addq $0x6, %rcx
fldt (%rdx)
fldt -0x60(%rdx)
addq $0x60, %rdx
fxch %st(1)
fucompi %st(1), %st
fstp %st(0)
jne 0x5ffe
jnp 0x5fd4
movslq %ecx, %rcx
jmp 0x6063
fldt -0x70(%r14,%rsi)
fucompi %st(1), %st
fstp %st(0)
movq %rdx, -0x70(%rbp)
jne 0x6403
jp 0x6403
addq $-0x6, %rbx
addq %r14, %rsi
fldt -0x60(%rsi)
fldt (%rsi)
fxch %st(1)
fucompi %st(1), %st
fstp %st(0)
jne 0x6407
jp 0x6407
addq $-0x6, %rbx
fldt -0xd0(%rsi)
fldt -0x70(%rsi)
addq $-0x60, %rsi
fxch %st(1)
fucompi %st(1), %st
fstp %st(0)
jne 0x6407
jnp 0x6023
jmp 0x6407
movl $0x6, %ecx
movq %rcx, -0x88(%rbp)
testb %al, %al
fldz
je 0x677a
fstp %st(0)
movq -0x58(%rbp), %rax
fldt -0x10(%r14,%rax)
fstpt -0x64(%rbp)
leaq 0x51c5(%rip), %r12      # 0xb24e
fldz
fstp %st(0)
fldt -0x64(%rbp)
movq %rbx, %r13
shlq $0x4, %r13
addq %r14, %r13
leaq -0x6(%rbx), %rax
movq %rax, -0x70(%rbp)
shlq $0x4, %rax
fldt (%r14,%rax)
fld %st(0)
fstpt -0x64(%rbp)
fxch %st(1)
fucomi %st(1), %st
fstp %st(1)
jne 0x60da
jp 0x60da
fldt 0x10(%r13)
fldt -0x50(%r13)
fld %st(0)
fstpt -0x7c(%rbp)
fxch %st(1)
fucomi %st(1), %st
fstp %st(1)
fldz
fldz
jne 0x60e9
jnp 0x63e6
jmp 0x60e9
fldt -0x50(%r13)
fstpt -0x7c(%rbp)
fldt 0x10(%r13)
fldz
fldz
fstp %st(1)
fstp %st(0)
fldt -0x10(%r13)
fldt -0x7c(%rbp)
fld %st(1)
fsub %st(1), %st
fstpt -0x58(%rbp)
fldt -0x20(%r13)
fldt -0x30(%r13)
fld %st(4)
fstpt -0x48(%rbp)
fsub %st, %st(4)
fld %st(1)
fstpt -0xa4(%rbp)
fxch %st(1)
fmulp %st, %st(4)
fldt -0x58(%rbp)
fmulp %st, %st(5)
fxch %st(4)
faddp %st, %st(3)
fldt -0x40(%r13)
fld %st(2)
fstpt -0xb0(%rbp)
fxch %st(1)
fsubp %st, %st(2)
fld %st(0)
fstpt -0xf0(%rbp)
fmulp %st, %st(1)
faddp %st, %st(1)
fld %st(1)
fstpt -0xfc(%rbp)
fldt -0x48(%rbp)
fsubp %st, %st(2)
fldt -0x64(%rbp)
fmulp %st, %st(2)
faddp %st, %st(1)
fldz
fxch %st(1)
fucomi %st(1), %st
fstp %st(1)
fld1
fldz
fldz
fxch %st(1)
fxch %st(2)
fxch %st(1)
je 0x6202
fstp %st(1)
fstp %st(1)
fstp %st(0)
fstpt (%rsp)
leaq -0x3c(%rbp), %rdi
callq 0x2270
fstp %st(0)
movl -0x3c(%rbp), %eax
movl %eax, -0xc0(%rbp)
fldt -0x12c(%rbp)
fiaddl -0xc0(%rbp)
fldt -0x120(%rbp)
fmulp %st, %st(1)
fldt -0x114(%rbp)
fstpt 0x10(%rsp)
fstpt (%rsp)
callq 0x22c0
fnstcw -0x2e(%rbp)
movzwl -0x2e(%rbp), %eax
orl $0xc00, %eax            # imm = 0xC00
movw %ax, -0x4c(%rbp)
fldcw -0x4c(%rbp)
fistpl -0xc4(%rbp)
fldcw -0x2e(%rbp)
cvtsi2sdl -0xc4(%rbp), %xmm0
addsd 0x4e50(%rip), %xmm0     # 0xb028
movsd %xmm0, -0x138(%rbp)
fldl -0x138(%rbp)
ucomisd 0x4e4a(%rip), %xmm0     # 0xb038
fldz
fldz
fldz
fxch %st(2)
fxch %st(3)
fxch %st(1)
fxch %st(2)
jb 0x63e6
fstp %st(3)
fstp %st(1)
fstp %st(1)
fldt (%r13)
fstpt -0xe4(%rbp)
fldt 0x10(%r13)
fstpt -0xd8(%rbp)
fldz
fld %st(1)
fstpt -0xbc(%rbp)
fldz
fldz
fxch %st(1)
fxch %st(3)
fxch %st(1)
fxch %st(2)
fstp %st(3)
fstp %st(1)
fdivr %st(1), %st
fld1
fsub %st(1), %st
fld %st(0)
fmul %st(1), %st
fmul %st(1), %st
fld %st(1)
fmuls 0x4e0a(%rip)            # 0xb054
fmul %st, %st(2)
fxch %st(2)
fmul %st(3), %st
fldt -0xa4(%rbp)
fmul %st(1), %st
fldt -0xe4(%rbp)
fmul %st(3), %st
faddp %st, %st(1)
fxch %st(3)
fmul %st(4), %st
fmul %st(4), %st
fldt -0xf0(%rbp)
fmul %st(1), %st
faddp %st, %st(4)
fld %st(4)
fmul %st(5), %st
fmulp %st, %st(5)
fldt -0x64(%rbp)
fmul %st(5), %st
faddp %st, %st(4)
fxch %st(3)
fstpt -0x58(%rbp)
fldt -0xb0(%rbp)
fmulp %st, %st(1)
fldt -0xd8(%rbp)
fmulp %st, %st(2)
faddp %st, %st(1)
fldt -0xfc(%rbp)
fmulp %st, %st(2)
faddp %st, %st(1)
fldt -0x7c(%rbp)
fmulp %st, %st(2)
faddp %st, %st(1)
fstpt -0x48(%rbp)
cmpq -0x88(%rbp), %rbx
fld %st(0)
fstpt -0x98(%rbp)
jg 0x6302
fldt -0xbc(%rbp)
fucompi %st(1), %st
fstp %st(0)
fldz
ja 0x6302
fstp %st(0)
movl $0x4, %edx
movq %r15, %rdi
leaq 0x526e(%rip), %rsi      # 0xb548
callq 0x21d0
fldt -0x48(%rbp)
fstpt (%rsp)
movq %r15, %rdi
callq 0x2100
movq %rax, %r13
movl $0x1, %edx
movq %rax, %rdi
movq %r12, %rsi
callq 0x21d0
jmp 0x6339
fstp %st(0)
movl $0x4, %edx
movq %r15, %rdi
leaq 0x5230(%rip), %rsi      # 0xb543
callq 0x21d0
fldt -0x48(%rbp)
fstpt (%rsp)
movq %r15, %rdi
callq 0x2100
movq %rax, %r13
movl $0x1, %edx
movq %rax, %rdi
movq %r12, %rsi
callq 0x21d0
fldt -0x58(%rbp)
fstpt (%rsp)
movq %r13, %rdi
callq 0x2100
movl $0x1, %edx
movq %rax, %rdi
movq %r12, %rsi
callq 0x21d0
cmpl $0x0, -0x38(%rbp)
je 0x6378
movq %r15, %rdi
movl -0x38(%rbp), %esi
callq 0x2310
movl $0x1, %edx
movq %rax, %rdi
movq %r12, %rsi
callq 0x21d0
cmpl $0x0, -0x34(%rbp)
je 0x6399
movq %r15, %rdi
movl -0x34(%rbp), %esi
callq 0x2310
movl $0x1, %edx
movq %rax, %rdi
movq %r12, %rsi
callq 0x21d0
movq (%r15), %rax
movq -0x18(%rax), %rdi
addq %r15, %rdi
movl $0xa, %esi
callq 0x2190
movsbl %al, %esi
movq %r15, %rdi
callq 0x2040
movq %rax, %rdi
callq 0x2140
fld1
fldt -0x98(%rbp)
faddp %st, %st(1)
fldt -0xbc(%rbp)
fucomi %st(1), %st
fldz
fldz
fxch %st(1)
fxch %st(3)
fxch %st(1)
fxch %st(2)
fxch %st(1)
jae 0x6232
fstp %st(3)
fstp %st(0)
fstp %st(0)
fstp %st(0)
cmpq $0x6, %rbx
movq -0x70(%rbp), %rbx
fldz
jg 0x608b
jmp 0x677a
addq $-0x6, %rbx
testb %al, %al
je 0x677a
movslq %ebx, %rbx
xorl %eax, %eax
leaq 0x4e33(%rip), %r13      # 0xb24e
movq %r14, %rsi
movq %rax, %r14
movq %rax, %rcx
shlq $0x4, %rcx
leaq (%rsi,%rcx), %rax
leaq 0x6(%r14), %rdx
movq %rdx, -0x88(%rbp)
shlq $0x4, %rdx
fldt (%rsi,%rdx)
fld %st(0)
fstpt -0x64(%rbp)
fld %st(1)
fstpt -0x7c(%rbp)
fxch %st(1)
fucompi %st(1), %st
fstp %st(0)
jne 0x647f
jp 0x647f
fldt 0x10(%rsi,%rcx)
fldt 0x70(%rax)
fld %st(1)
fstpt -0xb0(%rbp)
fld %st(0)
fstpt -0xa4(%rbp)
fxch %st(1)
fucompi %st(1), %st
fstp %st(0)
fldz
fldz
fldz
jne 0x6498
jnp 0x6759
jmp 0x6498
fldt 0x70(%rax)
fstpt -0xa4(%rbp)
fldt 0x10(%rsi,%rcx)
fstpt -0xb0(%rbp)
fldz
fldz
fldz
fstp %st(2)
fstp %st(0)
fstp %st(0)
fldt 0x30(%rax)
fldt -0xa4(%rbp)
fld %st(1)
fsub %st(1), %st
fldt 0x20(%rax)
fldt 0x50(%rax)
fldt -0xb0(%rbp)
fld %st(1)
fsub %st(1), %st
fld %st(3)
fstpt -0xf0(%rbp)
fmulp %st, %st(3)
fldt -0x7c(%rbp)
fmulp %st, %st(4)
fxch %st(3)
faddp %st, %st(2)
fldt 0x40(%rax)
fld %st(5)
fstpt -0xfc(%rbp)
fxch %st(4)
fsubp %st, %st(5)
fld %st(3)
fstpt -0xd8(%rbp)
fxch %st(3)
fmulp %st, %st(4)
faddp %st, %st(3)
fld %st(1)
fstpt -0xe4(%rbp)
fsubp %st, %st(1)
fldt -0x64(%rbp)
fmulp %st, %st(1)
faddp %st, %st(1)
fldz
fxch %st(1)
fucomi %st(1), %st
fstp %st(1)
fld1
fldz
je 0x65a1
fstp %st(1)
fstp %st(0)
fstpt (%rsp)
leaq -0x3c(%rbp), %rdi
callq 0x2270
fstp %st(0)
movl -0x3c(%rbp), %eax
movl %eax, -0xc8(%rbp)
fldt -0x12c(%rbp)
fiaddl -0xc8(%rbp)
fldt -0x120(%rbp)
fmulp %st, %st(1)
fldt -0x114(%rbp)
fstpt 0x10(%rsp)
fstpt (%rsp)
callq 0x22c0
fnstcw -0x2c(%rbp)
movzwl -0x2c(%rbp), %eax
orl $0xc00, %eax            # imm = 0xC00
movw %ax, -0x4a(%rbp)
fldcw -0x4a(%rbp)
fistpl -0xcc(%rbp)
fldcw -0x2c(%rbp)
cvtsi2sdl -0xcc(%rbp), %xmm0
addsd 0x4aad(%rip), %xmm0     # 0xb028
movsd %xmm0, -0x140(%rbp)
fldl -0x140(%rbp)
ucomisd 0x4aa7(%rip), %xmm0     # 0xb038
fldz
fldz
fxch %st(1)
fxch %st(2)
fxch %st(1)
jb 0x6759
fstp %st(2)
fstp %st(1)
fldz
fld %st(1)
fstpt -0xbc(%rbp)
fldz
fxch %st(2)
fxch %st(1)
fstp %st(2)
fdivr %st(1), %st
fld1
fsub %st(1), %st
fld %st(0)
fmul %st(1), %st
fmul %st(1), %st
fld %st(1)
fmuls 0x4a89(%rip)            # 0xb054
fmul %st, %st(2)
fxch %st(2)
fmul %st(3), %st
fldt -0xf0(%rbp)
fmul %st(1), %st
fldt -0x7c(%rbp)
fmul %st(3), %st
faddp %st, %st(1)
fxch %st(3)
fmul %st(4), %st
fmul %st(4), %st
fldt -0xd8(%rbp)
fmul %st(1), %st
faddp %st, %st(4)
fld %st(4)
fmul %st(5), %st
fmulp %st, %st(5)
fldt -0x64(%rbp)
fmul %st(5), %st
faddp %st, %st(4)
fxch %st(3)
fstpt -0x58(%rbp)
fldt -0xfc(%rbp)
fmulp %st, %st(1)
fldt -0xb0(%rbp)
fmulp %st, %st(2)
faddp %st, %st(1)
fldt -0xe4(%rbp)
fmulp %st, %st(2)
faddp %st, %st(1)
fldt -0xa4(%rbp)
fmulp %st, %st(2)
faddp %st, %st(1)
fstpt -0x48(%rbp)
cmpq %rbx, %r14
fld %st(0)
fstpt -0x98(%rbp)
jl 0x667f
fldt -0xbc(%rbp)
fucompi %st(1), %st
fstp %st(0)
fldz
ja 0x667f
fstp %st(0)
movl $0x4, %edx
movq %r15, %rdi
leaq 0x4ef1(%rip), %rsi      # 0xb548
callq 0x21d0
fldt -0x48(%rbp)
fstpt (%rsp)
movq %r15, %rdi
callq 0x2100
movq %rax, %r12
movl $0x1, %edx
movq %rax, %rdi
movq %r13, %rsi
callq 0x21d0
jmp 0x66b6
fstp %st(0)
movl $0x4, %edx
movq %r15, %rdi
leaq 0x4eb3(%rip), %rsi      # 0xb543
callq 0x21d0
fldt -0x48(%rbp)
fstpt (%rsp)
movq %r15, %rdi
callq 0x2100
movq %rax, %r12
movl $0x1, %edx
movq %rax, %rdi
movq %r13, %rsi
callq 0x21d0
fldt -0x58(%rbp)
fstpt (%rsp)
movq %r12, %rdi
callq 0x2100
movl $0x1, %edx
movq %rax, %rdi
movq %r13, %rsi
callq 0x21d0
cmpl $0x0, -0x38(%rbp)
je 0x66f5
movq %r15, %rdi
movl -0x38(%rbp), %esi
callq 0x2310
movl $0x1, %edx
movq %rax, %rdi
movq %r13, %rsi
callq 0x21d0
cmpl $0x0, -0x34(%rbp)
je 0x6716
movq %r15, %rdi
movl -0x34(%rbp), %esi
callq 0x2310
movl $0x1, %edx
movq %rax, %rdi
movq %r13, %rsi
callq 0x21d0
movq (%r15), %rax
movq -0x18(%rax), %rdi
addq %r15, %rdi
movl $0xa, %esi
callq 0x2190
movsbl %al, %esi
movq %r15, %rdi
callq 0x2040
movq %rax, %rdi
callq 0x2140
fld1
fldt -0x98(%rbp)
faddp %st, %st(1)
fldt -0xbc(%rbp)
fucomi %st(1), %st
fldz
fxch %st(2)
jae 0x65b5
fstp %st(2)
fstp %st(0)
fstp %st(0)
movq -0x88(%rbp), %rax
cmpq -0x70(%rbp), %rax
movq -0x108(%rbp), %r14
fldt -0x64(%rbp)
jl 0x641b
fstp %st(0)
leaq -0x150(%rbp), %rax
movq -0x10(%rax), %rdi
cmpq %rax, %rdi
je 0x679b
movq -0x150(%rbp), %rsi
incq %rsi
callq 0x21b0
addq $0x1d8, %rsp            # imm = 0x1D8
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
retq
jmp 0x683b
movq %rax, %rbx
leaq -0x190(%rbp), %rax
movq -0x10(%rax), %rdi
cmpq %rax, %rdi
je 0x683e
movq -0x190(%rbp), %rsi
jmp 0x682f
jmp 0x683b
movq %rax, %rbx
leaq -0x1b0(%rbp), %rax
movq -0x10(%rax), %rdi
cmpq %rax, %rdi
je 0x683e
movq -0x1b0(%rbp), %rsi
jmp 0x682f
jmp 0x683b
movq %rax, %rbx
leaq -0x1d0(%rbp), %rax
movq -0x10(%rax), %rdi
cmpq %rax, %rdi
je 0x683e
movq -0x1d0(%rbp), %rsi
jmp 0x682f
jmp 0x683b
jmp 0x683b
jmp 0x683b
fstp %st(0)
movq %rax, %rbx
movq -0x180(%rbp), %rdi
leaq -0x170(%rbp), %rax
cmpq %rax, %rdi
je 0x683e
movq -0x170(%rbp), %rsi
incq %rsi
callq 0x21b0
jmp 0x683e
jmp 0x683b
movq %rax, %rbx
leaq -0x150(%rbp), %rax
movq -0x10(%rax), %rdi
cmpq %rax, %rdi
je 0x685d
movq -0x150(%rbp), %rsi
incq %rsi
callq 0x21b0
movq %rbx, %rdi
callq 0x2330