// File: /workspace/github_cpp_makefile_star2_O1/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 $0x1e8, %rsp            # imm = 0x1E8
movl %ecx, %ebx
movl %edx, -0x40(%rbp)
movq %rsi, -0x38(%rbp)
movq 0x8(%rdi), %rsi
testq %rsi, %rsi
leaq 0x959e(%rip), %r12      # 0xf1f0
cmoveq %r12, %rsi
leaq -0x168(%rbp), %rdi
leaq -0x44(%rbp), %rdx
callq 0x8a4c
movq 0x957b(%rip), %rdi      # 0xf1e8
leaq 0x5889(%rip), %rsi      # 0xb4fd
xorl %edx, %edx
movl $0x1, %ecx
callq 0x86f4
leaq 0x58a4(%rip), %rsi      # 0xb52b
movq %rax, %rdi
xorl %edx, %edx
movl $0x1, %ecx
callq 0x86f4
leaq 0x5895(%rip), %rsi      # 0xb532
movq %rax, %rdi
xorl %edx, %edx
movl $0x1, %ecx
callq 0x86f4
movq 0x8(%rax), %rsi
testq %rsi, %rsi
cmoveq %r12, %rsi
leaq -0x1e8(%rbp), %rdi
leaq -0x29(%rbp), %rdx
callq 0x8a4c
leaq -0x1e8(%rbp), %rdi
xorl %esi, %esi
callq 0x7b92
fstpt -0x138(%rbp)
leaq -0x1d8(%rbp), %rax
movq -0x10(%rax), %rdi
cmpq %rax, %rdi
je 0x5cfa
movq -0x1d8(%rbp), %rsi
incq %rsi
callq 0x21b0
movq 0x94e7(%rip), %rdi      # 0xf1e8
leaq 0x57f5(%rip), %rsi      # 0xb4fd
xorl %edx, %edx
movl $0x1, %ecx
callq 0x86f4
leaq 0x5810(%rip), %rsi      # 0xb52b
movq %rax, %rdi
xorl %edx, %edx
movl $0x1, %ecx
callq 0x86f4
leaq 0x5807(%rip), %rsi      # 0xb538
movq %rax, %rdi
xorl %edx, %edx
movl $0x1, %ecx
callq 0x86f4
movq 0x8(%rax), %rsi
testq %rsi, %rsi
cmoveq %r12, %rsi
leaq -0x1c8(%rbp), %rdi
leaq -0x29(%rbp), %rdx
callq 0x8a4c
leaq -0x1c8(%rbp), %rdi
xorl %esi, %esi
callq 0x7b92
fstpt -0x12c(%rbp)
leaq -0x1b8(%rbp), %rax
movq -0x10(%rax), %rdi
cmpq %rax, %rdi
je 0x5d8e
movq -0x1b8(%rbp), %rsi
incq %rsi
callq 0x21b0
movq 0x9453(%rip), %rdi      # 0xf1e8
leaq 0x5761(%rip), %rsi      # 0xb4fd
xorl %edx, %edx
movl $0x1, %ecx
callq 0x86f4
leaq 0x577c(%rip), %rsi      # 0xb52b
movq %rax, %rdi
xorl %edx, %edx
movl $0x1, %ecx
callq 0x86f4
leaq 0x577a(%rip), %rsi      # 0xb53f
movq %rax, %rdi
xorl %edx, %edx
movl $0x1, %ecx
callq 0x86f4
movq 0x8(%rax), %rax
testq %rax, %rax
cmovneq %rax, %r12
leaq -0x1a8(%rbp), %rdi
leaq -0x29(%rbp), %rdx
movq %r12, %rsi
callq 0x8a4c
leaq -0x1a8(%rbp), %rdi
xorl %esi, %esi
callq 0x7b92
fstpt -0x120(%rbp)
leaq -0x198(%rbp), %rax
movq -0x10(%rax), %rdi
cmpq %rax, %rdi
je 0x5e25
movq -0x198(%rbp), %rsi
incq %rsi
callq 0x21b0
movq $-0x3, %r15
movq $-0x20, %r14
xorl %eax, %eax
leaq 0x56d9(%rip), %r12      # 0xb515
leaq -0x168(%rbp), %r13
movl $0xb, %ecx
movq %r13, %rdi
movq %r12, %rsi
movq %rax, %rdx
callq 0x2260
movl $0xb, %ecx
movq %r13, %rdi
movq %r12, %rsi
movq %rax, %rdx
callq 0x22e0
incq %r15
addq $0x10, %r14
cmpq $-0x1, %rax
jne 0x5e43
movl %ebx, -0x98(%rbp)
leaq 0x10(%r14), %rdi
callq 0x2030
movq %rax, -0x50(%rbp)
leaq 0x2(%r15), %rax
movq %rax, -0x80(%rbp)
movq %r15, -0x70(%rbp)
cmpl $-0x2, %r15d
je 0x5f4a
xorl %ebx, %ebx
leaq -0x188(%rbp), %r13
movq -0x80(%rbp), %r12
movq -0x50(%rbp), %r15
movq %r12, -0x60(%rbp)
movl $0xb, %ecx
leaq -0x168(%rbp), %r12
movq %r12, %rdi
leaq 0x564b(%rip), %rsi      # 0xb515
movq %rbx, %rdx
callq 0x2260
movq %rax, %rbx
movl $0xc, %ecx
movq %r12, %rdi
leaq 0x5630(%rip), %rsi      # 0xb514
movq %rax, %rdx
callq 0x22e0
movq %rax, %r12
movq %rax, %rcx
subq %rbx, %rcx
movq %r13, %rdi
leaq -0x168(%rbp), %rsi
movq %rbx, %rdx
callq 0x21c0
movq %r13, %rdi
xorl %esi, %esi
callq 0x7b92
fstpt (%r15)
movq -0x188(%rbp), %rdi
leaq -0x178(%rbp), %rax
cmpq %rax, %rdi
movq %r12, %rbx
movq -0x60(%rbp), %r12
je 0x5f3d
movq -0x178(%rbp), %rsi
incq %rsi
callq 0x21b0
addq $0x10, %r15
decq %r12
jne 0x5eb0
fldz
movq -0x80(%rbp), %rdi
cmpl $0x3, %edi
movq -0x70(%rbp), %rdx
movq -0x50(%rbp), %rsi
jb 0x5f89
fstp %st(0)
leaq 0x70(%rsi), %rax
fldz
xorl %ecx, %ecx
fldt -0x70(%rax)
fldt (%rax)
addq $0x6, %rcx
fldt -0x10(%rax)
fldt -0x60(%rax)
fmulp %st, %st(1)
fxch %st(2)
fmulp %st, %st(1)
fsubp %st, %st(1)
faddp %st, %st(1)
addq $0x60, %rax
cmpq %rdx, %rcx
jl 0x5f67
fldt (%rsi)
fldt (%rsi,%r14)
fldt 0x10(%rsi)
fldt -0x10(%rsi,%r14)
fmulp %st, %st(1)
fxch %st(2)
fmulp %st, %st(1)
fsubp %st, %st(1)
fucompi %st(1), %st
fstp %st(0)
movl -0x98(%rbp), %r15d
jbe 0x5ffd
fldt 0x60(%rsi)
fldt (%rsi)
fxch %st(1)
fucompi %st(1), %st
fstp %st(0)
jne 0x6063
jp 0x6063
leaq 0xc0(%rsi), %rcx
movl $0x6, %eax
fldt -0x50(%rcx)
fldt -0xb0(%rcx)
fxch %st(1)
fucompi %st(1), %st
fstp %st(0)
jne 0x5ff9
jp 0x5ff9
addq $0x6, %rax
fldt (%rcx)
fldt -0x60(%rcx)
addq $0x60, %rcx
fxch %st(1)
fucompi %st(1), %st
fstp %st(0)
jne 0x5ff9
jnp 0x5fcf
cltq
jmp 0x6068
fldt -0x70(%rsi,%r14)
fldt -0x10(%rsi,%r14)
fxch %st(1)
fucompi %st(1), %st
fstp %st(0)
jne 0x63ea
jp 0x63ea
movq -0x70(%rbp), %rax
addq $-0x6, %rax
addq %rsi, %r14
fldt -0x60(%r14)
fldt (%r14)
fxch %st(1)
fucompi %st(1), %st
fstp %st(0)
jne 0x63f2
jp 0x63f2
addq $-0x6, %rax
fldt -0xd0(%r14)
fldt -0x70(%r14)
addq $-0x60, %r14
fxch %st(1)
fucompi %st(1), %st
fstp %st(0)
jne 0x63f2
jnp 0x6024
jmp 0x63f2
movl $0x6, %eax
movq %rax, -0x88(%rbp)
cmpl $0x3, %edi
jb 0x674a
leaq 0x51cf(%rip), %r13      # 0xb24e
movq -0x70(%rbp), %r14
movq %r14, %rax
shlq $0x4, %rax
movq -0x50(%rbp), %rcx
leaq (%rcx,%rax), %r12
fldt (%rcx,%rax)
leaq -0x6(%r14), %rbx
movq %rbx, -0x70(%rbp)
shlq $0x4, %rbx
fldt (%rcx,%rbx)
fxch %st(1)
fucomi %st(1), %st
fldz
jne 0x60ca
jp 0x60ca
fstp %st(0)
fldt 0x10(%r12)
fldt -0x50(%r12)
fxch %st(1)
fucompi %st(1), %st
fstp %st(0)
fldz
jne 0x60ca
jnp 0x63d5
fstp %st(0)
fldt -0x10(%r12)
fldt -0x20(%r12)
fldt -0x30(%r12)
fldt 0x10(%r12)
fld %st(1)
fsub %st(1), %st
fmulp %st, %st(3)
fxch %st(2)
fstpt -0x60(%rbp)
fldt -0x50(%r12)
fld %st(3)
fsub %st(1), %st
fmulp %st, %st(5)
fldt -0x60(%rbp)
faddp %st, %st(5)
fsubp %st, %st(3)
fldt -0x40(%r12)
fmulp %st, %st(3)
fxch %st(2)
faddp %st, %st(3)
fsubp %st, %st(1)
fmulp %st, %st(2)
faddp %st, %st(1)
fldz
fxch %st(1)
fucomi %st(1), %st
fstp %st(1)
fld1
je 0x6197
fstp %st(0)
fstpt (%rsp)
leaq -0x44(%rbp), %rdi
callq 0x2280
fstp %st(0)
movl -0x44(%rbp), %eax
movl %eax, -0xb4(%rbp)
fldt -0x138(%rbp)
fiaddl -0xb4(%rbp)
fldt -0x12c(%rbp)
fmulp %st, %st(1)
fldt -0x120(%rbp)
fstpt 0x10(%rsp)
fstpt (%rsp)
callq 0x22d0
fnstcw -0x3c(%rbp)
movzwl -0x3c(%rbp), %eax
orl $0xc00, %eax            # imm = 0xC00
movw %ax, -0x64(%rbp)
fldcw -0x64(%rbp)
fistpl -0xb8(%rbp)
fldcw -0x3c(%rbp)
cvtsi2sdl -0xb8(%rbp), %xmm0
addsd 0x4ea3(%rip), %xmm0     # 0xb028
movsd %xmm0, -0x140(%rbp)
fldl -0x140(%rbp)
fldz
fxch %st(1)
fstp %st(1)
fldz
fxch %st(1)
fucomi %st(1), %st
fstp %st(1)
fldz
fldz
fxch %st(1)
fxch %st(2)
fxch %st(1)
jb 0x63d5
fstp %st(2)
fstp %st(1)
addq -0x50(%rbp), %rbx
fldt (%r12)
fstpt -0xb0(%rbp)
fldt -0x20(%r12)
fstpt -0xa4(%rbp)
fldt -0x40(%r12)
fstpt -0x108(%rbp)
fldt (%rbx)
fstpt -0xfc(%rbp)
fldt 0x10(%r12)
fstpt -0xf0(%rbp)
fldt -0x10(%r12)
fstpt -0xe4(%rbp)
fldt -0x30(%r12)
fstpt -0xd8(%rbp)
fldt -0x50(%r12)
fstpt -0xcc(%rbp)
fldz
fld %st(1)
fstpt -0x94(%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 0x4e21(%rip)            # 0xb054
fmul %st, %st(2)
fxch %st(2)
fmul %st(3), %st
fldt -0xa4(%rbp)
fmul %st(1), %st
fldt -0xb0(%rbp)
fmul %st(3), %st
faddp %st, %st(1)
fxch %st(3)
fmul %st(4), %st
fmul %st(4), %st
fldt -0x108(%rbp)
fmul %st(1), %st
faddp %st, %st(4)
fld %st(4)
fmul %st(5), %st
fmulp %st, %st(5)
fldt -0xfc(%rbp)
fmul %st(5), %st
faddp %st, %st(4)
fxch %st(3)
fstpt -0x80(%rbp)
fldt -0xe4(%rbp)
fmulp %st, %st(1)
fldt -0xf0(%rbp)
fmulp %st, %st(2)
faddp %st, %st(1)
fldt -0xd8(%rbp)
fmulp %st, %st(2)
faddp %st, %st(1)
fldt -0xcc(%rbp)
fmulp %st, %st(2)
faddp %st, %st(1)
fstpt -0x60(%rbp)
cmpq -0x88(%rbp), %r14
fld %st(0)
fstpt -0x114(%rbp)
jg 0x62f3
fldt -0x94(%rbp)
fucompi %st(1), %st
fstp %st(0)
fldz
ja 0x62f3
fstp %st(0)
movl $0x4, %edx
movq -0x38(%rbp), %rdi
leaq 0x527e(%rip), %rsi      # 0xb548
callq 0x21d0
fldt -0x60(%rbp)
fstpt (%rsp)
movq -0x38(%rbp), %rdi
callq 0x2100
movq %rax, %r12
movl $0x1, %edx
movq %rax, %rdi
movq %r13, %rsi
callq 0x21d0
jmp 0x632c
fstp %st(0)
movl $0x4, %edx
movq -0x38(%rbp), %rdi
leaq 0x523e(%rip), %rsi      # 0xb543
callq 0x21d0
fldt -0x60(%rbp)
fstpt (%rsp)
movq -0x38(%rbp), %rdi
callq 0x2100
movq %rax, %r12
movl $0x1, %edx
movq %rax, %rdi
movq %r13, %rsi
callq 0x21d0
fldt -0x80(%rbp)
fstpt (%rsp)
movq %r12, %rdi
callq 0x2100
movl $0x1, %edx
movq %rax, %rdi
movq %r13, %rsi
callq 0x21d0
cmpl $0x0, -0x40(%rbp)
je 0x636c
movq -0x38(%rbp), %rdi
movl -0x40(%rbp), %esi
callq 0x2320
movl $0x1, %edx
movq %rax, %rdi
movq %r13, %rsi
callq 0x21d0
testl %r15d, %r15d
je 0x638d
movq -0x38(%rbp), %rdi
movl %r15d, %esi
callq 0x2320
movl $0x1, %edx
movq %rax, %rdi
movq %r13, %rsi
callq 0x21d0
movq -0x38(%rbp), %rcx
movq (%rcx), %rax
movq -0x18(%rax), %rdi
addq %rcx, %rdi
movl $0xa, %esi
callq 0x2190
movsbl %al, %esi
movq -0x38(%rbp), %rdi
callq 0x2040
movq %rax, %rdi
callq 0x2140
fld1
fldt -0x114(%rbp)
faddp %st, %st(1)
fldt -0x94(%rbp)
fucomi %st(1), %st
fldz
fxch %st(2)
jae 0x621d
fstp %st(2)
fstp %st(0)
fstp %st(0)
cmpq $0x6, %r14
jg 0x607f
jmp 0x674a
movq -0x70(%rbp), %rax
addq $-0x6, %rax
cmpl $0x3, %edi
jb 0x674a
movslq %eax, %rbx
xorl %r14d, %r14d
leaq 0x4e46(%rip), %r13      # 0xb24e
movq %r14, %rcx
shlq $0x4, %rcx
movq -0x50(%rbp), %rsi
leaq (%rsi,%rcx), %rax
fldt (%rsi,%rcx)
leaq 0x6(%r14), %rdx
movq %rdx, -0x88(%rbp)
shlq $0x4, %rdx
fldt (%rsi,%rdx)
fld %st(1)
fstpt -0xb0(%rbp)
fld %st(0)
fstpt -0xa4(%rbp)
fxch %st(1)
fucompi %st(1), %st
fstp %st(0)
fldz
fldz
jne 0x646b
jp 0x646b
fstp %st(1)
fstp %st(0)
movq -0x50(%rbp), %rdx
fldt 0x10(%rdx,%rcx)
fldt 0x70(%rax)
fxch %st(1)
fucompi %st(1), %st
fstp %st(0)
fldz
fldz
jne 0x646b
jnp 0x6735
fstp %st(1)
fstp %st(0)
fldt 0x30(%rax)
fldt 0x70(%rax)
fld %st(1)
fsub %st(1), %st
fldt 0x20(%rax)
fldt 0x50(%rax)
movq -0x50(%rbp), %rdx
fldt 0x10(%rdx,%rcx)
fld %st(1)
fsub %st(1), %st
fld %st(3)
fstpt -0xf0(%rbp)
fmulp %st, %st(3)
fldt -0xb0(%rbp)
fmulp %st, %st(4)
fxch %st(3)
faddp %st, %st(2)
fldt 0x40(%rax)
fld %st(5)
fstpt -0x108(%rbp)
fld %st(4)
fstpt -0xfc(%rbp)
fxch %st(4)
fsubp %st, %st(5)
fld %st(3)
fstpt -0xcc(%rbp)
fxch %st(3)
fmulp %st, %st(4)
faddp %st, %st(3)
fld %st(1)
fstpt -0xe4(%rbp)
fld %st(0)
fstpt -0xd8(%rbp)
fsubp %st, %st(1)
fldt -0xa4(%rbp)
fmulp %st, %st(1)
faddp %st, %st(1)
fldz
fxch %st(1)
fucomi %st(1), %st
fstp %st(1)
fld1
je 0x656b
fstp %st(0)
fstpt (%rsp)
leaq -0x44(%rbp), %rdi
callq 0x2280
fstp %st(0)
movl -0x44(%rbp), %eax
movl %eax, -0xbc(%rbp)
fldt -0x138(%rbp)
fiaddl -0xbc(%rbp)
fldt -0x12c(%rbp)
fmulp %st, %st(1)
fldt -0x120(%rbp)
fstpt 0x10(%rsp)
fstpt (%rsp)
callq 0x22d0
fnstcw -0x3a(%rbp)
movzwl -0x3a(%rbp), %eax
orl $0xc00, %eax            # imm = 0xC00
movw %ax, -0x62(%rbp)
fldcw -0x62(%rbp)
fistpl -0xc0(%rbp)
fldcw -0x3a(%rbp)
cvtsi2sdl -0xc0(%rbp), %xmm0
addsd 0x4acf(%rip), %xmm0     # 0xb028
movsd %xmm0, -0x148(%rbp)
fldl -0x148(%rbp)
fldz
fxch %st(1)
fstp %st(1)
fldz
fxch %st(1)
fucomi %st(1), %st
fxch %st(1)
jb 0x6735
fld %st(1)
fstpt -0x94(%rbp)
fdiv %st, %st(1)
fld1
fsub %st(2), %st
fld %st(0)
fmul %st(1), %st
fmul %st(1), %st
fld %st(1)
fmuls 0x4abd(%rip)            # 0xb054
fmul %st, %st(2)
fxch %st(2)
fmul %st(4), %st
fldt -0xf0(%rbp)
fmul %st(1), %st
fldt -0xb0(%rbp)
fmul %st(3), %st
faddp %st, %st(1)
fxch %st(3)
fmul %st(5), %st
fmul %st(5), %st
fldt -0xcc(%rbp)
fmul %st(1), %st
faddp %st, %st(4)
fld %st(5)
fmul %st(6), %st
fmulp %st, %st(6)
fldt -0xa4(%rbp)
fmul %st(6), %st
faddp %st, %st(4)
fxch %st(3)
fstpt -0x80(%rbp)
fldt -0x108(%rbp)
fmulp %st, %st(1)
fldt -0xd8(%rbp)
fmulp %st, %st(2)
faddp %st, %st(1)
fldt -0xe4(%rbp)
fmulp %st, %st(2)
faddp %st, %st(1)
fldt -0xfc(%rbp)
fmulp %st, %st(3)
faddp %st, %st(2)
fxch %st(1)
fstpt -0x60(%rbp)
cmpq %rbx, %r14
fld %st(0)
fstpt -0x114(%rbp)
jl 0x6655
fldt -0x94(%rbp)
fucompi %st(1), %st
fstp %st(0)
fldz
ja 0x6655
fstp %st(0)
movl $0x4, %edx
movq -0x38(%rbp), %rdi
leaq 0x4f1c(%rip), %rsi      # 0xb548
callq 0x21d0
fldt -0x60(%rbp)
fstpt (%rsp)
movq -0x38(%rbp), %rdi
callq 0x2100
movq %rax, %r12
movl $0x1, %edx
movq %rax, %rdi
movq %r13, %rsi
callq 0x21d0
jmp 0x668e
fstp %st(0)
movl $0x4, %edx
movq -0x38(%rbp), %rdi
leaq 0x4edc(%rip), %rsi      # 0xb543
callq 0x21d0
fldt -0x60(%rbp)
fstpt (%rsp)
movq -0x38(%rbp), %rdi
callq 0x2100
movq %rax, %r12
movl $0x1, %edx
movq %rax, %rdi
movq %r13, %rsi
callq 0x21d0
fldt -0x80(%rbp)
fstpt (%rsp)
movq %r12, %rdi
callq 0x2100
movl $0x1, %edx
movq %rax, %rdi
movq %r13, %rsi
callq 0x21d0
cmpl $0x0, -0x40(%rbp)
je 0x66ce
movq -0x38(%rbp), %rdi
movl -0x40(%rbp), %esi
callq 0x2320
movl $0x1, %edx
movq %rax, %rdi
movq %r13, %rsi
callq 0x21d0
testl %r15d, %r15d
je 0x66ef
movq -0x38(%rbp), %rdi
movl %r15d, %esi
callq 0x2320
movl $0x1, %edx
movq %rax, %rdi
movq %r13, %rsi
callq 0x21d0
movq -0x38(%rbp), %rcx
movq (%rcx), %rax
movq -0x18(%rax), %rdi
addq %rcx, %rdi
movl $0xa, %esi
callq 0x2190
movsbl %al, %esi
movq -0x38(%rbp), %rdi
callq 0x2040
movq %rax, %rdi
callq 0x2140
fld1
fldt -0x114(%rbp)
faddp %st, %st(1)
fldt -0x94(%rbp)
fucomi %st(1), %st
fxch %st(1)
jae 0x6583
fstp %st(1)
fstp %st(0)
movq -0x88(%rbp), %r14
cmpq -0x70(%rbp), %r14
jl 0x6408
leaq -0x158(%rbp), %rax
movq -0x10(%rax), %rdi
cmpq %rax, %rdi
je 0x6769
movq -0x158(%rbp), %rsi
incq %rsi
callq 0x21b0
addq $0x1e8, %rsp            # imm = 0x1E8
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
retq
jmp 0x6809
movq %rax, %rbx
leaq -0x198(%rbp), %rax
movq -0x10(%rax), %rdi
cmpq %rax, %rdi
je 0x680c
movq -0x198(%rbp), %rsi
jmp 0x67fd
jmp 0x6809
movq %rax, %rbx
leaq -0x1b8(%rbp), %rax
movq -0x10(%rax), %rdi
cmpq %rax, %rdi
je 0x680c
movq -0x1b8(%rbp), %rsi
jmp 0x67fd
jmp 0x6809
movq %rax, %rbx
leaq -0x1d8(%rbp), %rax
movq -0x10(%rax), %rdi
cmpq %rax, %rdi
je 0x680c
movq -0x1d8(%rbp), %rsi
jmp 0x67fd
jmp 0x6809
jmp 0x6809
jmp 0x6809
fstp %st(0)
movq %rax, %rbx
movq -0x188(%rbp), %rdi
leaq -0x178(%rbp), %rax
cmpq %rax, %rdi
je 0x680c
movq -0x178(%rbp), %rsi
incq %rsi
callq 0x21b0
jmp 0x680c
jmp 0x6809
movq %rax, %rbx
leaq -0x158(%rbp), %rax
movq -0x10(%rax), %rdi
cmpq %rax, %rdi
je 0x682b
movq -0x158(%rbp), %rsi
incq %rsi
callq 0x21b0
movq %rbx, %rdi
callq 0x2340