// File: /workspace/github_cpp_makefile_star2_O3/openflightmaps[P]ofm2xplane/main.cpp
// Function: complete_Ahp(rapidxml::xml_node<char> const*, std::basic_ofstream<char, std::char_traits<char>>&)
xml_node<> * complete_Ahp(const xml_node<> *Ahp, ofstream &out)
{
    xml_node<> * current;
    xml_node<> * Rwy, *Rdn1, *Rdn2;
    xml_node<> * Twy, *Tly, *Apn, *misc;
    xml_node<> * to_return;
    string s;
    
    int heli_count=0;
    double hlen, hwid, hhdg;
    double ahphdg=-1;

    int ID=my_stoi(string(Ahp->first_node("AhpUid")->first_attribute("mid")->value()));
    out << endl << "1 ";

    if(Ahp->first_node("valElev")!=NULL && Ahp->first_node("uomElev")!=NULL)
    {
        string buf(Ahp->first_node("uomElev")->value());
        if(buf.compare("FT")==0)
            out << Ahp->first_node("valElev")->value() << " ";
        else
        {
            if(buf.compare("M")==0)
            {
                string buf2(Ahp->first_node("valElev")->value());
                out << int(my_stof(buf2)*3.28083) << " ";
            }else
            {
                cout << "Attention: unknown unit uomElev: " << buf << endl;
                string buf2(Ahp->first_node("valElev")->value());
                out << int(my_stof(buf2)) << " ";
            }
        }
    }else
    {
        cout << "Warning: default field elevation given!" << endl;
        out << def->first_node("Ahp")->first_node("altitude")->value() << " ";
    }
    out << "0 0 ";
    string buf2(Ahp->first_node("codeType")->value());

    if(buf2.compare("AD")==0)
    {
        if(Ahp->first_node("codeIcao")!=NULL)
            out << Ahp->first_node("codeIcao")->value() << " ";
        else
            out << Ahp->first_node("xt_GpsIdent")->value() << " ";
    }
    if(buf2.compare("ELS")==0)
    {
        non_ICAO++;
        s=string(Ahp->first_attribute("xt_fir")->value()).substr(0,2);
        s=s.append(my_itos(non_ICAO,2));
        out << s << " ";
        cout << "non-ICAO code given: " << s << endl;
    }
    
    out << Ahp->first_node("txtName")->value() << endl;
    //--------AHP line finished-----------

    if(Ahp->next_sibling()!=NULL)
        current=Ahp->next_sibling();
    else
        return NULL;
    while(true)
    {
        if(check_ID(current,ID)==false)
            goto cont;

        // ----------------------------- Making runway ----------------
        if(string(current->name()).compare("Rwy")==0)
        {
            Rwy=current;
            Rdn1=Rwy->next_sibling("Rdn");
            Rdn2=Rdn1->next_sibling("Rdn");
            
            out << "100 ";
            if(string(Rwy->first_node("uomDimRwy")->value()).compare("M")==0)
                out << Rwy->first_node("valWid")->value() << " ";
            if(string(Rwy->first_node("uomDimRwy")->value()).compare("FT")==0)
                out << my_stof(string(Rwy->first_node("valWid")->value()))*3.28083 << " ";
            
            out << surface_code(Rwy) << " ";
            out << def->first_node("Rwy")->first_node("shoulder_surface")->value() << " ";
            out << def->first_node("Rwy")->first_node("smoothness")->value() << " ";
            
            
            
            if(Rwy->first_node("xt_lighting")->first_node()!=NULL)
            {
                if(Rwy->first_node("xt_lighting")->first_node("CENTER_LIGHTS")!=NULL)
                    out << "1 ";
                else
                    out << "0 ";
                if(Rwy->first_node("xt_lighting")->first_node("EDGE_LIGTHS")!=NULL)
                    out << "2 ";
                else
                    out << "0 ";
            }else
            {
                out << def->first_node("Rwy")->first_node("center_lights")->value() << " ";
                out << def->first_node("Rwy")->first_node("edge_lights")->value() << " ";
            }
            
            out << def->first_node("Rwy")->first_node("generate_signs")->value() << " ";
            
            
            // --- Rdn1 --- //
            if(ahphdg==-1)
                ahphdg=my_stod(string(Rdn1->first_node("valueTruBrg")->value()));
            if(string(Rdn1->first_node("RdnUid")->first_node("txtDesig")->value()).length()!=0)
                out << Rdn1->first_node("RdnUid")->first_node("txtDesig")->value() << " ";
            else
                out << def->first_node("Rdn")->first_node("desig_1")->value() << " ";
            out << Rdn1->first_node("geoLat")->value() << " ";
            out << Rdn1->first_node("geoLon")->value() << " ";
            
            out << def->first_node("Rdn")->first_node("disptr")->value() << " ";
            if(Rdn1->first_node("xt_valDispTres")!=NULL)
            {
                if(string(Rdn1->first_node("xt_uomDispTres")->value()).compare("FT")==0)
                    out << my_stof(string(Rdn1->first_node("xt_valDispTres")->value()))*0.3048 << " ";
                else
                    out << Rdn1->first_node("xt_valDispTres")->value() << " ";
            }else
                out << "0.00 ";
            
            
            if(Ahp->first_node("xt_TypeOfTraffic")->first_node("Ifr")!=0)
                out << "3 ";
            else
                out << "1 ";
            
            out << def->first_node("Rdn")->first_node("Apr_light")->value() << " ";
            out << def->first_node("Rdn")->first_node("TDZ_light")->value() << " ";
            out << def->first_node("Rdn")->first_node("REIL")->value() << " ";
            
            // --- Rdn2 --- //
            if(!string(Rdn2->first_node("RdnUid")->first_node("txtDesig")->value()).empty())
                out << Rdn2->first_node("RdnUid")->first_node("txtDesig")->value() << " ";
            else
                out << def->first_node("Rdn")->first_node("desig_2")->value() << " ";
            out << Rdn2->first_node("geoLat")->value() << " ";
            out << Rdn2->first_node("geoLon")->value() << " ";
            
            out << def->first_node("Rdn")->first_node("disptr")->value() << " ";
            if(Rdn2->first_node("xt_valDispTres")!=NULL)
            {
                if(string(Rdn2->first_node("xt_uomDispTres")->value()).compare("FT")==0)
                    out << my_stof(string(Rdn2->first_node("xt_valDispTres")->value()))*0.3048 << " ";
                else
                    out << Rdn2->first_node("xt_valDispTres")->value() << " ";
            }else
                out << "0.00 ";
            
            
            if(Ahp->first_node("xt_TypeOfTraffic")->first_node("Ifr")!=0)
                out << "3 ";
            else
                out << "1 ";
            
            out << def->first_node("Rdn")->first_node("Apr_light")->value() << " ";
            out << def->first_node("Rdn")->first_node("TDZ_light")->value() << " ";
            out << def->first_node("Rdn")->first_node("REIL")->value() << " " << endl;
            goto cont;
            
        } // -------------- End of making runway ----------------
        
        
        // ---------------- Making taxiway --------------
        if(string(current->name()).compare("Twy")==0)
        {
            Twy=current;
            out << "110 ";
            out << surface_code(Twy) << " ";
            out << def->first_node("Twy")->first_node("smoothness")->value() << " ";
            if(ahphdg==-1)
                out << def->first_node("Twy")->first_node("orientation")->value() << " ";
            else
                out << ahphdg << " ";
            out << Twy->first_node("TwyUid")->first_node("txtDesig")->value() << " " << endl;
            if(surface_code(Twy)==2)
                write_coordinatesC(Twy->first_node("xt_surface")->first_node("gmlPosList"),out); // 53,102
            else
                write_coordinatesC(Twy->first_node("xt_surface")->first_node("gmlPosList"),out); // 3,102
            /* if (string(Ahp->first_node()->first_attribute()->value()).compare("7459")==0)
                system("PAUSE"); */
            goto cont;
        }
        
        // -------------- Making taxiway lines -----------
        if(string(current->name()).compare("Tly")==0)
        {
            Tly=current;
            if(Tly->first_node("xt_surface")!=NULL)
            {    
                out << "120 ";
                out << Tly->first_node("TlyUid")->first_node("TwyUid")->first_node("txtDesig")->value() << endl;
                if(surface_code(Twy)==2)
                    write_coordinates(Tly->first_node("xt_surface")->first_node("gmlPosList"),out,51,101);
                else
                    write_coordinates(Tly->first_node("xt_surface")->first_node("gmlPosList"),out,1,101);
            }
            goto cont;
        }
        
        // --------------- Making apron ------------------
        if(string(current->name()).compare("Apn")==0)
        {
            Apn=current;
            out << "110 ";
            out << surface_code(Apn) << " ";
            out << def->first_node("Apn")->first_node("smoothness")->value() << " ";
            if(ahphdg==-1)
                out << def->first_node("Apn")->first_node("orientation")->value() << " ";
            else
                out << ahphdg << " ";
            out << Apn->first_node("ApnUid")->first_node("txtName")->value() << " " << endl;
            if(surface_code(Apn)==2)
                write_coordinatesC(Apn->first_node("xt_surface")->first_node("gmlPosList"),out);  //   52           
            else
                write_coordinatesC(Apn->first_node("xt_surface")->first_node("gmlPosList"),out); // 2
            goto cont;
        }
        
        
        // --------------- Checking misc -----------------
        if(string(current->name()).compare("misc")==0)
        {
            misc=current;
            s=string(misc->first_node("type")->value());
            // ------------ Windsock -------------
            if(s.compare("Windsock")==0)
            {
                out << "19 ";
                write_center(misc->first_node("xt_surface")->first_node("gmlPosList"),out);
                out << def->first_node("misc")->first_node("WS_light")->value() << endl;
                goto cont;
            }
            
            // ------------ Helipad --------------
            if(s.compare("Helipad")==0)
            {
                heli_count++;
                out << "102 ";
                out << "H" << heli_count << " ";
                write_center(misc->first_node("xt_surface")->first_node("gmlPosList"),out);
                dimension(misc->first_node("xt_surface")->first_node("gmlPosList"),hhdg,hlen,hwid);
                out << hhdg << " ";
                out << hlen << " ";
                out << hwid << " ";
                out << surface_code(Rwy) << " ";
                out << "0 ";
                out << surface_code(Rwy) << " ";
                out << def->first_node("misc")->first_node("heli_smooth")->value() << " ";
                out << def->first_node("misc")->first_node("heli_lights")->value() << endl;
                goto cont;
            }
            
            // -------------- Ramps --------------
            if(s.find("ramp")!=s.npos)
            {
                if(misc->first_node("xt_label")!=NULL && false)
                {
                    out << "1300 ";
                    out << def->first_node("misc")->first_node("ramp")->first_node("zone_class")->value() << " ";
                    
                    s=string(misc->first_node("xt_label")->first_node("geoLat")->value());
                    if(s[s.length()-1]=='N')
                        out << my_stold(s) << " ";
                    else
                        out << "-" << my_stold(s) << " ";
                    
                    s=string(misc->first_node("xt_label")->first_node("geoLon")->value());
                    if(s[s.length()-1]=='E')
                        out << my_stold(s) << " ";
                    else
                        out << "-" << my_stold(s) << " ";
                    
                    if(string(misc->first_node("xt_label")->first_node("angle")->value()).length()!=0)
                        out << misc->first_node("xt_label")->first_node("angle")->value() << " ";
                    else
                        out << def->first_node("misc")->first_node("ramp")->first_node("angle")->value() << " ";
                    out << def->first_node("misc")->first_node("ramp")->first_node("type")->value() << " ";
                    out << def->first_node("misc")->first_node("ramp")->first_node("airplane")->value() << endl;
                }
                out << "120 ";
                out << misc->first_node("miscUid")->first_node("txtName")->value() << endl;
                if(surface_code(Apn)==2)
                    write_coordinates(misc->first_node("xt_surface")->first_node("gmlPosList"),out,51);  //   52           
                else
                    write_coordinates(misc->first_node("xt_surface")->first_node("gmlPosList"),out,1);
                goto cont;
            }
            
            // Airport boundary
            if(s.compare("airport zone")==0)
            {
                //cout << "Zone written in " << Ahp->first_node("txtName")->value() << endl;
                out << "130 ";
                out << misc->first_node("miscUid")->first_node("txtName")->value() << endl;
                write_coordinatesC(misc->first_node("xt_surface")->first_node("gmlPosList"),out,2);
                goto cont;
            }
        }
        
            
        cont:
        if(current->next_sibling()!=NULL)
            current=current->next_sibling();
        else
        {
            out << endl;
            return NULL;
        }
    }
    
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
pushq %r15
pushq %r14
pushq %r13
pushq %r12
pushq %rbx
subq $0x1b8, %rsp            # imm = 0x1B8
movq %rsi, %rbx
movq %rdi, %r12
leaq -0x58(%rbp), %r15
movq %r15, -0x10(%r15)
movq $0x0, -0x8(%r15)
movb $0x0, (%r15)
leaq 0x85a0(%rip), %rsi      # 0xb257
xorl %edx, %edx
movl $0x1, %ecx
callq 0x8774
leaq 0x8594(%rip), %rsi      # 0xb25e
movq %rax, %rdi
xorl %edx, %edx
movl $0x1, %ecx
callq 0x8940
movq 0x8(%rax), %rsi
testq %rsi, %rsi
leaq 0xc501(%rip), %rax      # 0xf1e8
cmoveq %rax, %rsi
leaq -0x1e0(%rbp), %rdi
leaq -0xc8(%rbp), %rdx
callq 0x8a02
leaq -0x1e0(%rbp), %rdi
callq 0x5471
movl %eax, -0xcc(%rbp)
leaq -0x1d0(%rbp), %rax
movq -0x10(%rax), %rdi
cmpq %rax, %rdi
je 0x2d2f
movq -0x1d0(%rbp), %rsi
incq %rsi
callq 0x21b0
movq (%rbx), %rax
movq -0x18(%rax), %rdi
addq %rbx, %rdi
movl $0xa, %esi
callq 0x2190
movsbl %al, %esi
movq %rbx, %rdi
callq 0x2040
movq %rax, %rdi
callq 0x2140
leaq 0x87e8(%rip), %rsi      # 0xb545
movl $0x2, %edx
movq %rax, %rdi
callq 0x21d0
leaq 0x84f1(%rip), %rsi      # 0xb262
movq %r12, %rdi
xorl %edx, %edx
movl $0x1, %ecx
callq 0x8774
testq %rax, %rax
je 0x2f16
leaq 0x84da(%rip), %rsi      # 0xb26a
movq %r12, %rdi
xorl %edx, %edx
movl $0x1, %ecx
callq 0x8774
testq %rax, %rax
je 0x2f16
leaq 0x84bb(%rip), %rsi      # 0xb26a
movq %r12, %rdi
xorl %edx, %edx
movl $0x1, %ecx
callq 0x8774
movq 0x8(%rax), %rsi
testq %rsi, %rsi
leaq 0xc41c(%rip), %rax      # 0xf1e8
cmoveq %rax, %rsi
leaq -0xc8(%rbp), %rdi
leaq -0x48(%rbp), %rdx
callq 0x8a02
leaq 0x848b(%rip), %rsi      # 0xb272
leaq -0xc8(%rbp), %rdi
callq 0x20a0
testl %eax, %eax
je 0x2fcd
leaq 0x8473(%rip), %rsi      # 0xb275
leaq -0xc8(%rbp), %rdi
callq 0x20a0
testl %eax, %eax
je 0x3024
movq 0xc1b3(%rip), %rdi      # 0xefd0
leaq 0x8453(%rip), %rsi      # 0xb277
movl $0x21, %edx
callq 0x21d0
movq -0xc8(%rbp), %rsi
movq -0xc0(%rbp), %rdx
movq 0xc18d(%rip), %rdi      # 0xefd0
callq 0x21d0
movq %rax, %r14
movq (%rax), %rax
movq -0x18(%rax), %rdi
addq %r14, %rdi
movl $0xa, %esi
callq 0x2190
movsbl %al, %esi
movq %r14, %rdi
callq 0x2040
movq %rax, %rdi
callq 0x2140
leaq 0x83e9(%rip), %rsi      # 0xb262
movq %r12, %rdi
xorl %edx, %edx
movl $0x1, %ecx
callq 0x8774
movq 0x8(%rax), %rsi
testq %rsi, %rsi
leaq 0xc352(%rip), %rax      # 0xf1e8
cmoveq %rax, %rsi
leaq -0x48(%rbp), %rdi
leaq -0xa8(%rbp), %rdx
callq 0x8a02
leaq -0x190(%rbp), %r14
movq %r14, -0x10(%r14)
movq -0x48(%rbp), %rsi
movq -0x40(%rbp), %rdx
addq %rsi, %rdx
leaq -0x1a0(%rbp), %rdi
callq 0x8ab0
leaq -0x1a0(%rbp), %rdi
xorl %esi, %esi
callq 0x5591
cvttss2si %xmm0, %esi
movq %rbx, %rdi
callq 0x2310
leaq 0x8361(%rip), %rsi      # 0xb24e
movl $0x1, %edx
movq %rax, %rdi
callq 0x21d0
movq -0x1a0(%rbp), %rdi
cmpq %r14, %rdi
je 0x30d3
movq -0x190(%rbp), %rsi
jmp 0x30cb
movq 0xc0b3(%rip), %r14      # 0xefd0
leaq 0x8375(%rip), %rsi      # 0xb299
movl $0x27, %edx
movq %r14, %rdi
callq 0x21d0
movq (%r14), %rax
addq -0x18(%rax), %r14
movq %r14, %rdi
movl $0xa, %esi
callq 0x2190
movsbl %al, %esi
movq 0xc081(%rip), %rdi      # 0xefd0
callq 0x2040
movq %rax, %rdi
callq 0x2140
movq 0xc27d(%rip), %rdi      # 0xf1e0
leaq 0x82e6(%rip), %rsi      # 0xb250
xorl %edx, %edx
movl $0x1, %ecx
callq 0x8774
leaq 0x8344(%rip), %rsi      # 0xb2c1
movq %rax, %rdi
xorl %edx, %edx
movl $0x1, %ecx
callq 0x8774
movq 0x8(%rax), %r14
testq %r14, %r14
leaq 0xc24e(%rip), %rax      # 0xf1e8
cmoveq %rax, %r14
movq %r14, %rdi
callq 0x20e0
movq %rbx, %rdi
movq %r14, %rsi
movq %rax, %rdx
callq 0x21d0
leaq 0x8293(%rip), %rsi      # 0xb24e
movl $0x1, %edx
movq %rbx, %rdi
callq 0x21d0
jmp 0x310b
leaq 0x828e(%rip), %rsi      # 0xb262
movq %r12, %rdi
xorl %edx, %edx
movl $0x1, %ecx
callq 0x8774
movq 0x8(%rax), %r14
testq %r14, %r14
leaq 0xc1f7(%rip), %rax      # 0xf1e8
cmoveq %rax, %r14
movq %r14, %rdi
callq 0x20e0
movq %rbx, %rdi
movq %r14, %rsi
movq %rax, %rdx
callq 0x21d0
leaq 0x823c(%rip), %rsi      # 0xb24e
movl $0x1, %edx
movq %rbx, %rdi
callq 0x21d0
jmp 0x30ec
leaq 0x8237(%rip), %rsi      # 0xb262
movq %r12, %rdi
xorl %edx, %edx
movl $0x1, %ecx
callq 0x8774
movq 0x8(%rax), %rsi
testq %rsi, %rsi
leaq 0xc1a0(%rip), %rax      # 0xf1e8
cmoveq %rax, %rsi
leaq -0x48(%rbp), %rdi
leaq -0xa8(%rbp), %rdx
callq 0x8a02
leaq -0x1b0(%rbp), %r14
movq %r14, -0x10(%r14)
movq -0x48(%rbp), %rsi
movq -0x40(%rbp), %rdx
addq %rsi, %rdx
leaq -0x1c0(%rbp), %rdi
callq 0x8ab0
leaq -0x1c0(%rbp), %rdi
xorl %esi, %esi
callq 0x5591
cvtss2sd %xmm0, %xmm0
mulsd 0x7f70(%rip), %xmm0     # 0xb008
cvttsd2si %xmm0, %esi
movq %rbx, %rdi
callq 0x2310
leaq 0x81a3(%rip), %rsi      # 0xb24e
movl $0x1, %edx
movq %rax, %rdi
callq 0x21d0
movq -0x1c0(%rbp), %rdi
cmpq %r14, %rdi
je 0x30d3
movq -0x1b0(%rbp), %rsi
incq %rsi
callq 0x21b0
leaq -0x38(%rbp), %rax
movq -0x10(%rax), %rdi
cmpq %rax, %rdi
je 0x30ec
movq -0x38(%rbp), %rsi
incq %rsi
callq 0x21b0
leaq -0xb8(%rbp), %rax
movq -0x10(%rax), %rdi
cmpq %rax, %rdi
je 0x310b
movq -0xb8(%rbp), %rsi
incq %rsi
callq 0x21b0
leaq 0x81b8(%rip), %rsi      # 0xb2ca
movl $0x4, %edx
movq %rbx, %rdi
callq 0x21d0
leaq 0x81a9(%rip), %rsi      # 0xb2cf
movq %r12, %rdi
xorl %edx, %edx
movl $0x1, %ecx
callq 0x8774
movq %r12, -0x78(%rbp)
movq 0x8(%rax), %rsi
testq %rsi, %rsi
leaq 0xc0a1(%rip), %rax      # 0xf1e8
cmoveq %rax, %rsi
leaq -0xc8(%rbp), %rdi
leaq -0x48(%rbp), %rdx
callq 0x8a02
leaq 0x8176(%rip), %rsi      # 0xb2d8
leaq -0xc8(%rbp), %rdi
callq 0x20a0
testl %eax, %eax
jne 0x31e9
leaq 0x8162(%rip), %r14      # 0xb2db
movq -0x78(%rbp), %rdi
movq %r14, %rsi
xorl %edx, %edx
movl $0x1, %ecx
callq 0x8774
testq %rax, %rax
leaq 0x814e(%rip), %rax      # 0xb2e4
cmoveq %rax, %r14
movq -0x78(%rbp), %rdi
movq %r14, %rsi
xorl %edx, %edx
movl $0x1, %ecx
callq 0x8774
movq 0x8(%rax), %r14
testq %r14, %r14
leaq 0xc02d(%rip), %rax      # 0xf1e8
cmoveq %rax, %r14
movq %r14, %rdi
callq 0x20e0
movq %rbx, %rdi
movq %r14, %rsi
movq %rax, %rdx
callq 0x21d0
leaq 0x8072(%rip), %rsi      # 0xb24e
movl $0x1, %edx
movq %rbx, %rdi
callq 0x21d0
leaq 0x8100(%rip), %rsi      # 0xb2f0
leaq -0xc8(%rbp), %rdi
callq 0x20a0
testl %eax, %eax
jne 0x3361
incl 0xbfd2(%rip)            # 0xf1dc
leaq 0x80e3(%rip), %rsi      # 0xb2f4
movq -0x78(%rbp), %rdi
xorl %edx, %edx
movl $0x1, %ecx
callq 0x8940
movq 0x8(%rax), %rsi
testq %rsi, %rsi
leaq 0xbfb9(%rip), %rax      # 0xf1e8
cmoveq %rax, %rsi
leaq -0xa8(%rbp), %rdi
leaq -0x79(%rbp), %rdx
callq 0x8a02
leaq -0x48(%rbp), %rdi
leaq -0xa8(%rbp), %rsi
movl $0x2, %ecx
xorl %edx, %edx
callq 0x21c0
leaq -0x68(%rbp), %rdi
leaq -0x48(%rbp), %r14
movq %r14, %rsi
callq 0x21f0
movq (%r14), %rdi
leaq -0x38(%rbp), %r14
cmpq %r14, %rdi
je 0x3282
movq -0x38(%rbp), %rsi
incq %rsi
callq 0x21b0
leaq -0x98(%rbp), %rax
movq -0x10(%rax), %rdi
cmpq %rax, %rdi
je 0x32a1
movq -0x98(%rbp), %rsi
incq %rsi
callq 0x21b0
movl 0xbf35(%rip), %esi      # 0xf1dc
leaq -0x48(%rbp), %rdi
movl $0x2, %edx
callq 0x573c
movq -0x48(%rbp), %rsi
movq -0x40(%rbp), %rdx
leaq -0x68(%rbp), %rdi
callq 0x20b0
leaq -0x68(%rbp), %rdi
movq %rax, %rsi
callq 0x2120
movq -0x48(%rbp), %rdi
cmpq %r14, %rdi
je 0x32e7
movq -0x38(%rbp), %rsi
incq %rsi
callq 0x21b0
movq -0x68(%rbp), %rsi
movq -0x60(%rbp), %rdx
movq %rbx, %rdi
callq 0x21d0
leaq 0x7f50(%rip), %rsi      # 0xb24e
movl $0x1, %edx
movq %rax, %rdi
callq 0x21d0
movq 0xbcbe(%rip), %rdi      # 0xefd0
leaq 0x7fe2(%rip), %rsi      # 0xb2fb
movl $0x15, %edx
callq 0x21d0
movq -0x68(%rbp), %rsi
movq -0x60(%rbp), %rdx
movq 0xbc9e(%rip), %rdi      # 0xefd0
callq 0x21d0
movq %rax, %r14
movq (%rax), %rax
movq -0x18(%rax), %rdi
addq %r14, %rdi
movl $0xa, %esi
callq 0x2190
movsbl %al, %esi
movq %r14, %rdi
callq 0x2040
movq %rax, %rdi
callq 0x2140
leaq 0x7fa9(%rip), %rsi      # 0xb311
movq -0x78(%rbp), %rdi
xorl %edx, %edx
movl $0x1, %ecx
callq 0x8774
movq 0x8(%rax), %r14
testq %r14, %r14
leaq 0xbe62(%rip), %rax      # 0xf1e8
cmoveq %rax, %r14
movq %r14, %rdi
callq 0x20e0
movq %rbx, %rdi
movq %r14, %rsi
movq %rax, %rdx
callq 0x21d0
movq (%rbx), %rax
movq -0x18(%rax), %rdi
addq %rbx, %rdi
movl $0xa, %esi
callq 0x2190
movsbl %al, %esi
movq %rbx, %rdi
callq 0x2040
movq %rax, %rdi
callq 0x2140
movq -0x78(%rbp), %rax
cmpq $0x0, 0x20(%rax)
je 0x5225
movq 0x58(%rax), %r13
testq %r13, %r13
je 0x51d9
movsd 0x7c25(%rip), %xmm0     # 0xb010
movq $0x0, -0xd8(%rbp)
movsd %xmm0, -0x88(%rbp)
movq %r13, %rdi
movl -0xcc(%rbp), %esi
callq 0x582d
testb %al, %al
je 0x4d13
movq (%r13), %rsi
testq %rsi, %rsi
leaq 0xbdc6(%rip), %rax      # 0xf1e8
cmoveq %rax, %rsi
leaq -0x48(%rbp), %r14
movq %r14, %rdi
leaq -0xa8(%rbp), %rdx
callq 0x8a02
movq %r14, %rdi
leaq 0x7ee5(%rip), %rsi      # 0xb328
callq 0x20a0
movl %eax, %r14d
movq -0x48(%rbp), %rdi
leaq -0x38(%rbp), %rax
cmpq %rax, %rdi
je 0x3464
movq -0x38(%rbp), %rsi
incq %rsi
callq 0x21b0
testl %r14d, %r14d
je 0x3771
movq (%r13), %rsi
testq %rsi, %rsi
leaq 0xbd6d(%rip), %rax      # 0xf1e8
cmoveq %rax, %rsi
leaq -0x48(%rbp), %r14
movq %r14, %rdi
leaq -0xa8(%rbp), %rdx
callq 0x8a02
movq %r14, %rdi
leaq 0x7f95(%rip), %rsi      # 0xb431
callq 0x20a0
movl %eax, %r14d
movq -0x48(%rbp), %rdi
leaq -0x38(%rbp), %rax
cmpq %rax, %rdi
je 0x34bd
movq -0x38(%rbp), %rsi
incq %rsi
callq 0x21b0
testl %r14d, %r14d
je 0x3b28
movq (%r13), %rsi
testq %rsi, %rsi
leaq 0xbd14(%rip), %rax      # 0xf1e8
cmoveq %rax, %rsi
leaq -0x48(%rbp), %r14
movq %r14, %rdi
leaq -0xa8(%rbp), %rdx
callq 0x8a02
movq %r14, %rdi
leaq 0x7f6e(%rip), %rsi      # 0xb463
callq 0x20a0
movl %eax, %r14d
movq -0x48(%rbp), %rdi
leaq -0x38(%rbp), %rax
cmpq %rax, %rdi
je 0x3516
movq -0x38(%rbp), %rsi
incq %rsi
callq 0x21b0
testl %r14d, %r14d
je 0x3c4a
movq (%r13), %rsi
testq %rsi, %rsi
leaq 0xbcbb(%rip), %rax      # 0xf1e8
cmoveq %rax, %rsi
leaq -0x48(%rbp), %r14
movq %r14, %rdi
leaq -0xa8(%rbp), %rdx
callq 0x8a02
movq %r14, %rdi
leaq 0x7f25(%rip), %rsi      # 0xb473
callq 0x20a0
movl %eax, %r14d
movq -0x48(%rbp), %rdi
leaq -0x38(%rbp), %rax
cmpq %rax, %rdi
je 0x356f
movq -0x38(%rbp), %rsi
incq %rsi
callq 0x21b0
testl %r14d, %r14d
je 0x4883
movq (%r13), %rsi
testq %rsi, %rsi
leaq 0xbc62(%rip), %rax      # 0xf1e8
cmoveq %rax, %rsi
leaq -0x48(%rbp), %r14
movq %r14, %rdi
leaq -0xa8(%rbp), %rdx
callq 0x8a02
movq %r14, %rdi
leaq 0x7ed7(%rip), %rsi      # 0xb47e
callq 0x20a0
movl %eax, %r14d
movq -0x48(%rbp), %rdi
leaq -0x38(%rbp), %rax
cmpq %rax, %rdi
je 0x35c8
movq -0x38(%rbp), %rsi
incq %rsi
callq 0x21b0
testl %r14d, %r14d
jne 0x4d13
movq %r13, %rdi
leaq 0x7ea8(%rip), %rsi      # 0xb483
xorl %edx, %edx
movl $0x1, %ecx
callq 0x8774
movq 0x8(%rax), %rsi
testq %rsi, %rsi
leaq 0xbbf3(%rip), %rax      # 0xf1e8
cmoveq %rax, %rsi
leaq -0x48(%rbp), %r14
movq %r14, %rdi
leaq -0xa8(%rbp), %rdx
callq 0x8a02
leaq -0x68(%rbp), %rdi
movq %r14, %rsi
callq 0x21f0
movq -0x48(%rbp), %rdi
leaq -0x38(%rbp), %rax
cmpq %rax, %rdi
je 0x3631
movq -0x38(%rbp), %rsi
incq %rsi
callq 0x21b0
leaq -0x68(%rbp), %r14
movq %r14, %rdi
leaq 0x7e49(%rip), %rsi      # 0xb488
callq 0x20a0
testl %eax, %eax
je 0x4d30
movq %r14, %rdi
leaq 0x7e48(%rip), %rsi      # 0xb49e
callq 0x20a0
testl %eax, %eax
je 0x4dff
movl $0x4, %ecx
movq %r14, %rdi
leaq 0x7e51(%rip), %rsi      # 0xb4c3
xorl %edx, %edx
callq 0x2320
cmpq $-0x1, %rax
je 0x508f
movq %r13, %rdi
leaq 0x7e3b(%rip), %rsi      # 0xb4c8
xorl %edx, %edx
movl $0x1, %ecx
callq 0x8774
movl $0x4, %edx
movq %rbx, %rdi
leaq 0x7dbf(%rip), %rsi      # 0xb467
callq 0x21d0
movq %r13, %rdi
leaq 0x7e1a(%rip), %rsi      # 0xb4d1
xorl %edx, %edx
movl $0x1, %ecx
callq 0x8774
movq %rax, %rdi
leaq 0x7c44(%rip), %rsi      # 0xb311
xorl %edx, %edx
movl $0x1, %ecx
callq 0x8774
movq 0x8(%rax), %r14
testq %r14, %r14
leaq 0xbb01(%rip), %rax      # 0xf1e8
cmoveq %rax, %r14
movq %r14, %rdi
callq 0x20e0
movq %rbx, %rdi
movq %r14, %rsi
movq %rax, %rdx
callq 0x21d0
movq (%rbx), %rax
movq -0x18(%rax), %rdi
addq %rbx, %rdi
movl $0xa, %esi
callq 0x2190
movsbl %al, %esi
movq %rbx, %rdi
callq 0x2040
movq %rax, %rdi
callq 0x2140
movq -0xe0(%rbp), %rdi
callq 0x5911
cmpl $0x2, %eax
jne 0x5178
movq %r13, %rdi
leaq 0x7d06(%rip), %rsi      # 0xb44d
xorl %edx, %edx
movl $0x1, %ecx
callq 0x8774
xorl %r12d, %r12d
movq %rax, %rdi
leaq 0x7cf8(%rip), %rsi      # 0xb458
xorl %edx, %edx
movl $0x1, %ecx
callq 0x8774
jmp 0x3d55
movq %r13, %rdi
leaq 0x7b9e(%rip), %rsi      # 0xb319
xorl %edx, %edx
movl $0x1, %ecx
callq 0x885a
movq %rax, %r12
movq %rax, %rdi
leaq 0x7b85(%rip), %rsi      # 0xb319
xorl %edx, %edx
movl $0x1, %ecx
callq 0x885a
movq %rax, -0x70(%rbp)
movl $0x4, %edx
movq %rbx, %rdi
leaq 0x7b6a(%rip), %rsi      # 0xb31d
callq 0x21d0
movq %r13, %rdi
leaq 0x7b60(%rip), %rsi      # 0xb322
xorl %edx, %edx
movl $0x1, %ecx
callq 0x8774
movq 0x8(%rax), %rsi
testq %rsi, %rsi
leaq 0xba0c(%rip), %rax      # 0xf1e8
cmoveq %rax, %rsi
leaq -0x48(%rbp), %r14
movq %r14, %rdi
leaq -0xa8(%rbp), %rdx
callq 0x8a02
movq %r14, %rdi
leaq 0x7a78(%rip), %rsi      # 0xb275
callq 0x20a0
movl %eax, %r15d
movq -0x48(%rbp), %rdi
leaq -0x38(%rbp), %rax
cmpq %rax, %rdi
je 0x381e
movq -0x38(%rbp), %rsi
incq %rsi
callq 0x21b0
testl %r15d, %r15d
jne 0x3875
movq %r13, %rdi
leaq 0x7aff(%rip), %rsi      # 0xb32c
xorl %edx, %edx
movl $0x1, %ecx
callq 0x8774
movq 0x8(%rax), %r15
testq %r15, %r15
leaq 0xb9a1(%rip), %rax      # 0xf1e8
cmoveq %rax, %r15
movq %r15, %rdi
callq 0x20e0
movq %rbx, %rdi
movq %r15, %rsi
movq %rax, %rdx
callq 0x21d0
movl $0x1, %edx
movq %rbx, %rdi
leaq 0x79de(%rip), %rsi      # 0xb24e
callq 0x21d0
movq %r13, %rdi
leaq 0x7aa3(%rip), %rsi      # 0xb322
xorl %edx, %edx
movl $0x1, %ecx
callq 0x8774
movq 0x8(%rax), %rsi
testq %rsi, %rsi
leaq 0xb94f(%rip), %rax      # 0xf1e8
cmoveq %rax, %rsi
movq %r14, %rdi
leaq -0xa8(%rbp), %rdx
callq 0x8a02
movq %r14, %rdi
leaq 0x79bc(%rip), %rsi      # 0xb272
callq 0x20a0
movl %eax, %r15d
movq -0x48(%rbp), %rdi
leaq -0x38(%rbp), %rax
cmpq %rax, %rdi
je 0x38d7
movq -0x38(%rbp), %rsi
incq %rsi
callq 0x21b0
testl %r15d, %r15d
jne 0x396f
movq %r13, %rdi
leaq 0x7a42(%rip), %rsi      # 0xb32c
xorl %edx, %edx
movl $0x1, %ecx
callq 0x8774
movq 0x8(%rax), %rsi
testq %rsi, %rsi
leaq 0xb8e4(%rip), %rax      # 0xf1e8
cmoveq %rax, %rsi
leaq -0x180(%rbp), %r14
movq %r14, %rdi
leaq -0x48(%rbp), %rdx
callq 0x8a02
movq %r14, %rdi
xorl %esi, %esi
callq 0x5591
cvtss2sd %xmm0, %xmm0
mulsd 0x76d7(%rip), %xmm0     # 0xb008
movq %rbx, %rdi
callq 0x2290
movl $0x1, %edx
movq %rax, %rdi
leaq 0x7906(%rip), %rsi      # 0xb24e
callq 0x21d0
movq -0x180(%rbp), %rdi
leaq -0x170(%rbp), %rax
cmpq %rax, %rdi
je 0x396f
movq -0x170(%rbp), %rsi
incq %rsi
callq 0x21b0
movq %r13, %rdi
callq 0x5911
movq %rbx, %rdi
movl %eax, %esi
callq 0x2310
movl $0x1, %edx
movq %rax, %rdi
leaq 0x78be(%rip), %rsi      # 0xb24e
callq 0x21d0
movq 0xb844(%rip), %rdi      # 0xf1e0
leaq 0x7985(%rip), %rsi      # 0xb328
xorl %edx, %edx
movl $0x1, %ecx
callq 0x8774
movq %rax, %rdi
leaq 0x797a(%rip), %rsi      # 0xb333
xorl %edx, %edx
movl $0x1, %ecx
callq 0x8774
movq 0x8(%rax), %r15
testq %r15, %r15
leaq 0xb815(%rip), %rax      # 0xf1e8
cmoveq %rax, %r15
movq %r15, %rdi
callq 0x20e0
movq %rbx, %rdi
movq %r15, %rsi
movq %rax, %rdx
callq 0x21d0
movl $0x1, %edx
movq %rbx, %rdi
leaq 0x7852(%rip), %rsi      # 0xb24e
callq 0x21d0
movq 0xb7d8(%rip), %rdi      # 0xf1e0
leaq 0x7919(%rip), %rsi      # 0xb328
xorl %edx, %edx
movl $0x1, %ecx
callq 0x8774
movq %rax, %rdi
leaq 0x791f(%rip), %rsi      # 0xb344
xorl %edx, %edx
movl $0x1, %ecx
callq 0x8774
movq 0x8(%rax), %r15
testq %r15, %r15
leaq 0xb7a9(%rip), %rax      # 0xf1e8
cmoveq %rax, %r15
movq %r15, %rdi
callq 0x20e0
movq %rbx, %rdi
movq %r15, %rsi
movq %rax, %rdx
callq 0x21d0
movl $0x1, %edx
movq %rbx, %rdi
leaq 0x77e6(%rip), %rsi      # 0xb24e
callq 0x21d0
movq %r13, %rdi
leaq 0x78d8(%rip), %rsi      # 0xb34f
xorl %edx, %edx
movl $0x1, %ecx
callq 0x8774
cmpq $0x0, 0x30(%rax)
je 0x3d60
movq %r13, %rdi
leaq 0x78b7(%rip), %rsi      # 0xb34f
xorl %edx, %edx
movl $0x1, %ecx
callq 0x8774
movq %rax, %rdi
leaq 0x78ad(%rip), %rsi      # 0xb35b
xorl %edx, %edx
movl $0x1, %ecx
callq 0x8774
testq %rax, %rax
leaq 0x7a81(%rip), %rsi      # 0xb545
leaq 0x7801(%rip), %rax      # 0xb2cc
cmoveq %rax, %rsi
movl $0x2, %edx
movq %rbx, %rdi
callq 0x21d0
movq %r13, %rdi
leaq 0x7869(%rip), %rsi      # 0xb34f
xorl %edx, %edx
movl $0x1, %ecx
callq 0x8774
movq %rax, %rdi
leaq 0x786d(%rip), %rsi      # 0xb369
xorl %edx, %edx
movl $0x1, %ecx
callq 0x8774
testq %rax, %rax
leaq 0x7996(%rip), %rsi      # 0xb4a8
leaq 0x77b3(%rip), %rax      # 0xb2cc
cmoveq %rax, %rsi
movl $0x2, %r15d
jmp 0x3e31
movl $0x4, %edx
movq %rbx, %rdi
leaq 0x78fe(%rip), %rsi      # 0xb435
callq 0x21d0
movq %r13, %rdi
callq 0x5911
movq %rbx, %rdi
movl %eax, %esi
callq 0x2310
movl $0x1, %edx
movq %rax, %rdi
leaq 0x76f1(%rip), %rsi      # 0xb24e
callq 0x21d0
movq 0xb677(%rip), %rdi      # 0xf1e0
leaq 0x78c1(%rip), %rsi      # 0xb431
xorl %edx, %edx
movl $0x1, %ecx
callq 0x8774
movq %rax, %rdi
leaq 0x77be(%rip), %rsi      # 0xb344
xorl %edx, %edx
movl $0x1, %ecx
callq 0x8774
movq 0x8(%rax), %r14
testq %r14, %r14
leaq 0xb648(%rip), %rax      # 0xf1e8
cmoveq %rax, %r14
movq %r14, %rdi
callq 0x20e0
movq %rbx, %rdi
movq %r14, %rsi
movq %rax, %rdx
callq 0x21d0
movl $0x1, %edx
movq %rbx, %rdi
leaq 0x7685(%rip), %rsi      # 0xb24e
callq 0x21d0
movsd -0x88(%rbp), %xmm0
ucomisd 0x7432(%rip), %xmm0     # 0xb010
jne 0x49a5
jp 0x49a5
movq 0xb5ef(%rip), %rdi      # 0xf1e0
leaq 0x7839(%rip), %rsi      # 0xb431
xorl %edx, %edx
movl $0x1, %ecx
callq 0x8774
movq %rax, %rdi
leaq 0x782c(%rip), %rsi      # 0xb43a
xorl %edx, %edx
movl $0x1, %ecx
callq 0x8774
movq 0x8(%rax), %r14
testq %r14, %r14
leaq 0xb5c0(%rip), %rax      # 0xf1e8
cmoveq %rax, %r14
movq %r14, %rdi
callq 0x20e0
movq %rbx, %rdi
movq %r14, %rsi
movq %rax, %rdx
callq 0x21d0
movq %rbx, %rax
jmp 0x49ad
movq %r13, %rdi
leaq 0x77f9(%rip), %rsi      # 0xb44d
xorl %edx, %edx
movl $0x1, %ecx
callq 0x8774
testq %rax, %rax
je 0x4d13
movl $0x4, %edx
movq %rbx, %rdi
leaq 0x77ef(%rip), %rsi      # 0xb467
callq 0x21d0
movq %r13, %rdi
leaq 0x77e5(%rip), %rsi      # 0xb46c
xorl %edx, %edx
movl $0x1, %ecx
callq 0x8774
movq %rax, %rdi
leaq 0x77a9(%rip), %rsi      # 0xb446
xorl %edx, %edx
movl $0x1, %ecx
callq 0x8774
movq %rax, %rdi
leaq 0x76fe(%rip), %rsi      # 0xb3b1
xorl %edx, %edx
movl $0x1, %ecx
callq 0x8774
movq 0x8(%rax), %r14
testq %r14, %r14
leaq 0xb51b(%rip), %rax      # 0xf1e8
cmoveq %rax, %r14
movq %r14, %rdi
callq 0x20e0
movq %rbx, %rdi
movq %r14, %rsi
movq %rax, %rdx
callq 0x21d0
movq (%rbx), %rax
movq -0x18(%rax), %rdi
addq %rbx, %rdi
movl $0xa, %esi
callq 0x2190
movsbl %al, %esi
movq %rbx, %rdi
callq 0x2040
movq %rax, %rdi
callq 0x2140
movq -0xe8(%rbp), %rdi
callq 0x5911
cmpl $0x2, %eax
jne 0x4bd0
movq %r13, %rdi
leaq 0x7720(%rip), %rsi      # 0xb44d
xorl %edx, %edx
movl $0x1, %ecx
callq 0x8774
movq %rax, %rdi
leaq 0x7715(%rip), %rsi      # 0xb458
xorl %edx, %edx
movl $0x1, %ecx
callq 0x8774
movl $0x65, %r12d
movl $0x33, %r14d
jmp 0x4c08
movq 0xb479(%rip), %rdi      # 0xf1e0
leaq 0x75ba(%rip), %rsi      # 0xb328
xorl %edx, %edx
movl $0x1, %ecx
callq 0x8774
movq %rax, %rdi
leaq 0x75f1(%rip), %rsi      # 0xb375
xorl %edx, %edx
movl $0x1, %ecx
callq 0x8774
movq 0x8(%rax), %r15
testq %r15, %r15
leaq 0xb44a(%rip), %rax      # 0xf1e8
cmoveq %rax, %r15
movq %r15, %rdi
callq 0x20e0
movq %rbx, %rdi
movq %r15, %rsi
movq %rax, %rdx
callq 0x21d0
movl $0x1, %edx
movq %rbx, %rdi
leaq 0x7487(%rip), %rsi      # 0xb24e
callq 0x21d0
movq 0xb40d(%rip), %rdi      # 0xf1e0
leaq 0x754e(%rip), %rsi      # 0xb328
xorl %edx, %edx
movl $0x1, %ecx
callq 0x8774
movq %rax, %rdi
leaq 0x7593(%rip), %rsi      # 0xb383
xorl %edx, %edx
movl $0x1, %ecx
callq 0x8774
movq 0x8(%rax), %r14
testq %r14, %r14
leaq 0xb3de(%rip), %rax      # 0xf1e8
cmoveq %rax, %r14
movq %r14, %rdi
callq 0x20e0
movl $0x1, %r15d
movq %rbx, %rdi
movq %r14, %rsi
movq %rax, %rdx
callq 0x21d0
leaq 0x741d(%rip), %rsi      # 0xb24e
movq %rbx, %rdi
movq %r15, %rdx
callq 0x21d0
movq 0xb39d(%rip), %rdi      # 0xf1e0
leaq 0x74de(%rip), %rsi      # 0xb328
xorl %edx, %edx
movl $0x1, %ecx
callq 0x8774
movq %rax, %rdi
leaq 0x752f(%rip), %rsi      # 0xb38f
xorl %edx, %edx
movl $0x1, %ecx
callq 0x8774
movq 0x8(%rax), %r14
testq %r14, %r14
leaq 0xb36e(%rip), %rax      # 0xf1e8
cmoveq %rax, %r14
movq %r14, %rdi
callq 0x20e0
movq %rbx, %rdi
movq %r14, %rsi
movq %rax, %rdx
callq 0x21d0
movl $0x1, %edx
movq %rbx, %rdi
leaq 0x73ab(%rip), %rsi      # 0xb24e
callq 0x21d0
movsd -0x88(%rbp), %xmm0
ucomisd 0x7158(%rip), %xmm0     # 0xb010
jne 0x3f2b
jp 0x3f2b
movq %r12, %rdi
leaq 0x74d8(%rip), %rsi      # 0xb39e
xorl %edx, %edx
movl $0x1, %ecx
callq 0x8774
movq 0x8(%rax), %rsi
testq %rsi, %rsi
leaq 0xb308(%rip), %rax      # 0xf1e8
cmoveq %rax, %rsi
leaq -0x160(%rbp), %r14
movq %r14, %rdi
leaq -0x48(%rbp), %rdx
callq 0x8a02
movq %r14, %rdi
xorl %esi, %esi
callq 0x5a62
movsd %xmm0, -0x88(%rbp)
movq -0x160(%rbp), %rdi
leaq -0x150(%rbp), %rax
cmpq %rax, %rdi
je 0x3f2b
movq -0x150(%rbp), %rsi
incq %rsi
callq 0x21b0
movq %r12, %rdi
leaq 0x7475(%rip), %rsi      # 0xb3aa
xorl %edx, %edx
movl $0x1, %ecx
callq 0x8774
movq %rax, %rdi
leaq 0x7466(%rip), %rsi      # 0xb3b1
xorl %edx, %edx
movl $0x1, %ecx
callq 0x8774
movq 0x8(%rax), %rsi
testq %rsi, %rsi
leaq 0xb283(%rip), %rax      # 0xf1e8
cmoveq %rax, %rsi
leaq -0x48(%rbp), %rdi
leaq -0xa8(%rbp), %rdx
callq 0x8a02
movq -0x48(%rbp), %rdi
movq -0x40(%rbp), %r14
leaq -0x38(%rbp), %rax
cmpq %rax, %rdi
je 0x3f96
movq -0x38(%rbp), %rsi
incq %rsi
callq 0x21b0
testq %r14, %r14
je 0x3fba
movq %r12, %rdi
leaq 0x7405(%rip), %rsi      # 0xb3aa
xorl %edx, %edx
movl $0x1, %ecx
callq 0x8774
leaq 0x73f9(%rip), %rsi      # 0xb3b1
jmp 0x3fdb
movq 0xb21f(%rip), %rdi      # 0xf1e0
leaq 0x7351(%rip), %rsi      # 0xb319
xorl %edx, %edx
movl $0x1, %ecx
callq 0x8774
leaq 0x73df(%rip), %rsi      # 0xb3ba
movq %rax, %rdi
xorl %edx, %edx
movl $0x1, %ecx
callq 0x8774
movq 0x8(%rax), %r14
testq %r14, %r14
leaq 0xb1f0(%rip), %rax      # 0xf1e8
cmoveq %rax, %r14
movq %r14, %rdi
callq 0x20e0
movq %rbx, %rdi
movq %r14, %rsi
movq %rax, %rdx
callq 0x21d0
movl $0x1, %edx
movq %rbx, %rdi
leaq 0x722d(%rip), %rsi      # 0xb24e
callq 0x21d0
movq %r12, %rdi
leaq 0x7392(%rip), %rsi      # 0xb3c2
xorl %edx, %edx
movl $0x1, %ecx
callq 0x8774
movq 0x8(%rax), %r14
testq %r14, %r14
leaq 0xb19e(%rip), %rax      # 0xf1e8
cmoveq %rax, %r14
movq %r14, %rdi
callq 0x20e0
movq %rbx, %rdi
movq %r14, %rsi
movq %rax, %rdx
callq 0x21d0
movl $0x1, %edx
movq %rbx, %rdi
leaq 0x71db(%rip), %rsi      # 0xb24e
callq 0x21d0
movq %r12, %rdi
leaq 0x7347(%rip), %rsi      # 0xb3c9
xorl %edx, %edx
movl $0x1, %ecx
callq 0x8774
movq 0x8(%rax), %r14
testq %r14, %r14
leaq 0xb14c(%rip), %rax      # 0xf1e8
cmoveq %rax, %r14
movq %r14, %rdi
callq 0x20e0
movq %rbx, %rdi
movq %r14, %rsi
movq %rax, %rdx
callq 0x21d0
movl $0x1, %edx
movq %rbx, %rdi
leaq 0x7189(%rip), %rsi      # 0xb24e
callq 0x21d0
movq 0xb10f(%rip), %rdi      # 0xf1e0
leaq 0x7241(%rip), %rsi      # 0xb319
xorl %edx, %edx
movl $0x1, %ecx
callq 0x8774
movq %rax, %rdi
leaq 0x72e2(%rip), %rsi      # 0xb3d0
xorl %edx, %edx
movl $0x1, %ecx
callq 0x8774
movq 0x8(%rax), %r14
testq %r14, %r14
leaq 0xb0e0(%rip), %rax      # 0xf1e8
cmoveq %rax, %r14
movq %r14, %rdi
callq 0x20e0
movq %rbx, %rdi
movq %r14, %rsi
movq %rax, %rdx
callq 0x21d0
movl $0x1, %edx
movq %rbx, %rdi
leaq 0x711d(%rip), %rsi      # 0xb24e
callq 0x21d0
movq %r12, %rdi
leaq 0x7297(%rip), %rsi      # 0xb3d7
xorl %edx, %edx
movl $0x1, %ecx
callq 0x8774
testq %rax, %rax
je 0x4211
movq %r12, %rdi
leaq 0x7287(%rip), %rsi      # 0xb3e6
xorl %edx, %edx
movl $0x1, %ecx
callq 0x8774
movq 0x8(%rax), %rsi
testq %rsi, %rsi
leaq 0xb06f(%rip), %rax      # 0xf1e8
cmoveq %rax, %rsi
leaq -0x48(%rbp), %r14
movq %r14, %rdi
leaq -0xa8(%rbp), %rdx
callq 0x8a02
movq %r14, %rdi
leaq 0x70d8(%rip), %rsi      # 0xb272
callq 0x20a0
movl %eax, %r15d
movq -0x48(%rbp), %rdi
leaq -0x38(%rbp), %rax
cmpq %rax, %rdi
je 0x41bb
movq -0x38(%rbp), %rsi
incq %rsi
callq 0x21b0
testl %r15d, %r15d
je 0x4a9f
movq %r12, %rdi
leaq 0x7209(%rip), %rsi      # 0xb3d7
xorl %edx, %edx
movl $0x1, %ecx
callq 0x8774
movq 0x8(%rax), %r14
testq %r14, %r14
leaq 0xb000(%rip), %rax      # 0xf1e8
cmoveq %rax, %r14
movq %r14, %rdi
callq 0x20e0
movl $0x1, %r12d
movq %rbx, %rdi
movq %r14, %rsi
movq %rax, %rdx
callq 0x21d0
leaq 0x703f(%rip), %rsi      # 0xb24e
jmp 0x421e
movl $0x5, %r12d
leaq 0x71d7(%rip), %rsi      # 0xb3f5
movq %rbx, %rdi
movq %r12, %rdx
callq 0x21d0
movq -0x78(%rbp), %rdi
leaq 0x71c7(%rip), %rsi      # 0xb3fb
xorl %edx, %edx
movl $0x1, %ecx
callq 0x8774
movq %rax, %rdi
leaq 0x71c2(%rip), %rsi      # 0xb40c
xorl %edx, %edx
movl $0x1, %ecx
callq 0x8774
testq %rax, %rax
leaq 0x72ea(%rip), %rsi      # 0xb54a
leaq 0x72de(%rip), %rax      # 0xb545
cmoveq %rax, %rsi
movl $0x2, %edx
movq %rbx, %rdi
callq 0x21d0
movq 0xaf61(%rip), %rdi      # 0xf1e0
leaq 0x7093(%rip), %rsi      # 0xb319
xorl %edx, %edx
movl $0x1, %ecx
callq 0x8774
movq %rax, %rdi
leaq 0x7174(%rip), %rsi      # 0xb410
xorl %edx, %edx
movl $0x1, %ecx
callq 0x8774
movq 0x8(%rax), %r14
testq %r14, %r14
leaq 0xaf32(%rip), %rax      # 0xf1e8
cmoveq %rax, %r14
movq %r14, %rdi
callq 0x20e0
movq %rbx, %rdi
movq %r14, %rsi
movq %rax, %rdx
callq 0x21d0
movl $0x1, %edx
movq %rbx, %rdi
leaq 0x6f6f(%rip), %rsi      # 0xb24e
callq 0x21d0
movq 0xaef5(%rip), %rdi      # 0xf1e0
leaq 0x7027(%rip), %rsi      # 0xb319
xorl %edx, %edx
movl $0x1, %ecx
callq 0x8774
movq %rax, %rdi
leaq 0x7112(%rip), %rsi      # 0xb41a
xorl %edx, %edx
movl $0x1, %ecx
callq 0x8774
movq 0x8(%rax), %r14
testq %r14, %r14
leaq 0xaec6(%rip), %rax      # 0xf1e8
cmoveq %rax, %r14
movq %r14, %rdi
callq 0x20e0
movq %rbx, %rdi
movq %r14, %rsi
movq %rax, %rdx
callq 0x21d0
movl $0x1, %edx
movq %rbx, %rdi
leaq 0x6f03(%rip), %rsi      # 0xb24e
callq 0x21d0
movq 0xae89(%rip), %rdi      # 0xf1e0
leaq 0x6fbb(%rip), %rsi      # 0xb319
xorl %edx, %edx
movl $0x1, %ecx
callq 0x8774
movq %rax, %rdi
leaq 0x70b0(%rip), %rsi      # 0xb424
xorl %edx, %edx
movl $0x1, %ecx
callq 0x8774
movq 0x8(%rax), %r14
testq %r14, %r14
leaq 0xae5a(%rip), %rax      # 0xf1e8
cmoveq %rax, %r14
movq %r14, %rdi
callq 0x20e0
movq %rbx, %rdi
movq %r14, %rsi
movq %rax, %rdx
callq 0x21d0
movl $0x1, %edx
movq %rbx, %rdi
leaq 0x6e97(%rip), %rsi      # 0xb24e
callq 0x21d0
movq -0x70(%rbp), %rdi
leaq 0x6fe3(%rip), %rsi      # 0xb3aa
xorl %edx, %edx
movl $0x1, %ecx
callq 0x8774
movq %rax, %rdi
leaq 0x6fd4(%rip), %rsi      # 0xb3b1
xorl %edx, %edx
movl $0x1, %ecx
callq 0x8774
movq 0x8(%rax), %rsi
testq %rsi, %rsi
leaq 0xadf1(%rip), %rax      # 0xf1e8
cmoveq %rax, %rsi
leaq -0x48(%rbp), %rdi
leaq -0xa8(%rbp), %rdx
callq 0x8a02
movq -0x48(%rbp), %rdi
movq -0x40(%rbp), %r14
leaq -0x38(%rbp), %rax
cmpq %rax, %rdi
je 0x4428
movq -0x38(%rbp), %rsi
incq %rsi
callq 0x21b0
testq %r14, %r14
je 0x444d
movq -0x70(%rbp), %rdi
leaq 0x6f72(%rip), %rsi      # 0xb3aa
xorl %edx, %edx
movl $0x1, %ecx
callq 0x8774
leaq 0x6f66(%rip), %rsi      # 0xb3b1
jmp 0x446e
movq 0xad8c(%rip), %rdi      # 0xf1e0
leaq 0x6ebe(%rip), %rsi      # 0xb319
xorl %edx, %edx
movl $0x1, %ecx
callq 0x8774
leaq 0x6fbb(%rip), %rsi      # 0xb429
movq %rax, %rdi
xorl %edx, %edx
movl $0x1, %ecx
callq 0x8774
movq 0x8(%rax), %r14
testq %r14, %r14
leaq 0xad5d(%rip), %rax      # 0xf1e8
cmoveq %rax, %r14
movq %r14, %rdi
callq 0x20e0
movq %rbx, %rdi
movq %r14, %rsi
movq %rax, %rdx
callq 0x21d0
movl $0x1, %edx
movq %rbx, %rdi
leaq 0x6d9a(%rip), %rsi      # 0xb24e
callq 0x21d0
movq -0x70(%rbp), %rdi
leaq 0x6efe(%rip), %rsi      # 0xb3c2
xorl %edx, %edx
movl $0x1, %ecx
callq 0x8774
movq 0x8(%rax), %r14
testq %r14, %r14
leaq 0xad0a(%rip), %rax      # 0xf1e8
cmoveq %rax, %r14
movq %r14, %rdi
callq 0x20e0
movq %rbx, %rdi
movq %r14, %rsi
movq %rax, %rdx
callq 0x21d0
movl $0x1, %edx
movq %rbx, %rdi
leaq 0x6d47(%rip), %rsi      # 0xb24e
callq 0x21d0
movq -0x70(%rbp), %rdi
leaq 0x6eb2(%rip), %rsi      # 0xb3c9
xorl %edx, %edx
movl $0x1, %ecx
callq 0x8774
movq 0x8(%rax), %r14
testq %r14, %r14
leaq 0xacb7(%rip), %rax      # 0xf1e8
cmoveq %rax, %r14
movq %r14, %rdi
callq 0x20e0
movq %rbx, %rdi
movq %r14, %rsi
movq %rax, %rdx
callq 0x21d0
movl $0x1, %edx
movq %rbx, %rdi
leaq 0x6cf4(%rip), %rsi      # 0xb24e
callq 0x21d0
movq 0xac7a(%rip), %rdi      # 0xf1e0
leaq 0x6dac(%rip), %rsi      # 0xb319
xorl %edx, %edx
movl $0x1, %ecx
callq 0x8774
movq %rax, %rdi
leaq 0x6e4d(%rip), %rsi      # 0xb3d0
xorl %edx, %edx
movl $0x1, %ecx
callq 0x8774
movq 0x8(%rax), %r14
testq %r14, %r14
leaq 0xac4b(%rip), %rax      # 0xf1e8
cmoveq %rax, %r14
movq %r14, %rdi
callq 0x20e0
movq %rbx, %rdi
movq %r14, %rsi
movq %rax, %rdx
callq 0x21d0
movl $0x1, %edx
movq %rbx, %rdi
leaq 0x6c88(%rip), %rsi      # 0xb24e
callq 0x21d0
movq -0x70(%rbp), %rdi
leaq 0x6e01(%rip), %rsi      # 0xb3d7
xorl %edx, %edx
movl $0x1, %ecx
callq 0x8774
testq %rax, %rax
je 0x46a9
movq -0x70(%rbp), %rdi
leaq 0x6df0(%rip), %rsi      # 0xb3e6
xorl %edx, %edx
movl $0x1, %ecx
callq 0x8774
movq 0x8(%rax), %rsi
testq %rsi, %rsi
leaq 0xabd8(%rip), %rax      # 0xf1e8
cmoveq %rax, %rsi
leaq -0x48(%rbp), %r14
movq %r14, %rdi
leaq -0xa8(%rbp), %rdx
callq 0x8a02
movq %r14, %rdi
leaq 0x6c41(%rip), %rsi      # 0xb272
callq 0x20a0
movl %eax, %r15d
movq -0x48(%rbp), %rdi
leaq -0x38(%rbp), %rax
cmpq %rax, %rdi
je 0x4652
movq -0x38(%rbp), %rsi
incq %rsi
callq 0x21b0
testl %r15d, %r15d
je 0x4b37
movq -0x70(%rbp), %rdi
leaq 0x6d71(%rip), %rsi      # 0xb3d7
xorl %edx, %edx
movl $0x1, %ecx
callq 0x8774
movq 0x8(%rax), %r15
testq %r15, %r15
leaq 0xab68(%rip), %rax      # 0xf1e8
cmoveq %rax, %r15
movq %r15, %rdi
callq 0x20e0
movl $0x1, %r14d
movq %rbx, %rdi
movq %r15, %rsi
movq %rax, %rdx
callq 0x21d0
leaq 0x6ba7(%rip), %rsi      # 0xb24e
jmp 0x46b6
movl $0x5, %r14d
leaq 0x6d3f(%rip), %rsi      # 0xb3f5
movq %rbx, %rdi
movq %r14, %rdx
callq 0x21d0
movq -0x78(%rbp), %rdi
leaq 0x6d2f(%rip), %rsi      # 0xb3fb
xorl %edx, %edx
movl $0x1, %ecx
callq 0x8774
movq %rax, %rdi
leaq 0x6d2a(%rip), %rsi      # 0xb40c
xorl %edx, %edx
movl $0x1, %ecx
callq 0x8774
testq %rax, %rax
leaq 0x6e52(%rip), %rsi      # 0xb54a
leaq 0x6e46(%rip), %rax      # 0xb545
cmoveq %rax, %rsi
movl $0x2, %edx
movq %rbx, %rdi
callq 0x21d0
movq 0xaac9(%rip), %rdi      # 0xf1e0
leaq 0x6bfb(%rip), %rsi      # 0xb319
xorl %edx, %edx
movl $0x1, %ecx
callq 0x8774
movq %rax, %rdi
leaq 0x6cdc(%rip), %rsi      # 0xb410
xorl %edx, %edx
movl $0x1, %ecx
callq 0x8774
movq 0x8(%rax), %r14
testq %r14, %r14
leaq 0xaa9a(%rip), %rax      # 0xf1e8
cmoveq %rax, %r14
movq %r14, %rdi
callq 0x20e0
movq %rbx, %rdi
movq %r14, %rsi
movq %rax, %rdx
callq 0x21d0
movl $0x1, %edx
movq %rbx, %rdi
leaq 0x6ad7(%rip), %rsi      # 0xb24e
callq 0x21d0
movq 0xaa5d(%rip), %rdi      # 0xf1e0
leaq 0x6b8f(%rip), %rsi      # 0xb319
xorl %edx, %edx
movl $0x1, %ecx
callq 0x8774
movq %rax, %rdi
leaq 0x6c7a(%rip), %rsi      # 0xb41a
xorl %edx, %edx
movl $0x1, %ecx
callq 0x8774
movq 0x8(%rax), %r14
testq %r14, %r14
leaq 0xaa2e(%rip), %rax      # 0xf1e8
cmoveq %rax, %r14
movq %r14, %rdi
callq 0x20e0
movq %rbx, %rdi
movq %r14, %rsi
movq %rax, %rdx
callq 0x21d0
movl $0x1, %edx
movq %rbx, %rdi
leaq 0x6a6b(%rip), %rsi      # 0xb24e
callq 0x21d0
movq 0xa9f1(%rip), %rdi      # 0xf1e0
leaq 0x6b23(%rip), %rsi      # 0xb319
xorl %edx, %edx
movl $0x1, %ecx
callq 0x8774
movq %rax, %rdi
leaq 0x6c18(%rip), %rsi      # 0xb424
xorl %edx, %edx
movl $0x1, %ecx
callq 0x8774
movq 0x8(%rax), %r14
testq %r14, %r14
leaq 0xa9c2(%rip), %rax      # 0xf1e8
cmoveq %rax, %r14
movq %r14, %rdi
callq 0x20e0
movq %rbx, %rdi
movq %r14, %rsi
movq %rax, %rdx
callq 0x21d0
movl $0x1, %edx
movq %rbx, %rdi
leaq 0x69ff(%rip), %rsi      # 0xb24e
callq 0x21d0
movq (%rbx), %rax
movq -0x18(%rax), %rdi
addq %rbx, %rdi
movl $0xa, %esi
callq 0x2190
movsbl %al, %esi
movq %rbx, %rdi
callq 0x2040
movq %rax, %rdi
callq 0x2140
movq %r13, %r15
jmp 0x4d13
movl $0x4, %edx
movq %rbx, %rdi
leaq 0x6ba3(%rip), %rsi      # 0xb435
callq 0x21d0
movq %r13, %rdi
callq 0x5911
movq %rbx, %rdi
movl %eax, %esi
callq 0x2310
movl $0x1, %edx
movq %rax, %rdi
leaq 0x6996(%rip), %rsi      # 0xb24e
callq 0x21d0
movq 0xa91c(%rip), %rdi      # 0xf1e0
leaq 0x6ba8(%rip), %rsi      # 0xb473
xorl %edx, %edx
movl $0x1, %ecx
callq 0x8774
movq %rax, %rdi
leaq 0x6a63(%rip), %rsi      # 0xb344
xorl %edx, %edx
movl $0x1, %ecx
callq 0x8774
movq 0x8(%rax), %r14
testq %r14, %r14
leaq 0xa8ed(%rip), %rax      # 0xf1e8
cmoveq %rax, %r14
movq %r14, %rdi
callq 0x20e0
movq %rbx, %rdi
movq %r14, %rsi
movq %rax, %rdx
callq 0x21d0
movl $0x1, %edx
movq %rbx, %rdi
leaq 0x692a(%rip), %rsi      # 0xb24e
callq 0x21d0
movsd -0x88(%rbp), %xmm0
ucomisd 0x66d7(%rip), %xmm0     # 0xb010
jne 0x4c1e
jp 0x4c1e
movq 0xa894(%rip), %rdi      # 0xf1e0
leaq 0x6b20(%rip), %rsi      # 0xb473
xorl %edx, %edx
movl $0x1, %ecx
callq 0x8774
movq %rax, %rdi
leaq 0x6ad1(%rip), %rsi      # 0xb43a
xorl %edx, %edx
movl $0x1, %ecx
callq 0x8774
movq 0x8(%rax), %r14
testq %r14, %r14
leaq 0xa865(%rip), %rax      # 0xf1e8
cmoveq %rax, %r14
movq %r14, %rdi
callq 0x20e0
movq %rbx, %rdi
movq %r14, %rsi
movq %rax, %rdx
callq 0x21d0
movq %rbx, %rax
jmp 0x4c26
movq %rbx, %rdi
callq 0x2290
movl $0x1, %edx
movq %rax, %rdi
leaq 0x6892(%rip), %rsi      # 0xb24e
callq 0x21d0
movq %r13, %rdi
leaq 0x6a7b(%rip), %rsi      # 0xb446
xorl %edx, %edx
movl $0x1, %ecx
callq 0x8774
movq %rax, %rdi
leaq 0x69d0(%rip), %rsi      # 0xb3b1
xorl %edx, %edx
movl $0x1, %ecx
callq 0x8774
movq 0x8(%rax), %r14
testq %r14, %r14
leaq 0xa7ed(%rip), %rax      # 0xf1e8
cmoveq %rax, %r14
movq %r14, %rdi
callq 0x20e0
movq %rbx, %rdi
movq %r14, %rsi
movq %rax, %rdx
callq 0x21d0
movl $0x1, %edx
movq %rbx, %rdi
leaq 0x682a(%rip), %rsi      # 0xb24e
callq 0x21d0
movq (%rbx), %rax
movq -0x18(%rax), %rdi
addq %rbx, %rdi
movl $0xa, %esi
callq 0x2190
movsbl %al, %esi
movq %rbx, %rdi
callq 0x2040
movq %rax, %rdi
callq 0x2140
movq %r13, %rdi
callq 0x5911
movq %r13, %rdi
leaq 0x69eb(%rip), %rsi      # 0xb44d
xorl %edx, %edx
movl $0x1, %ecx
callq 0x8774
movq %rax, %rdi
leaq 0x69e0(%rip), %rsi      # 0xb458
xorl %edx, %edx
movl $0x1, %ecx
callq 0x8774
movq %rax, %rdi
movq %rbx, %rsi
xorl %edx, %edx
xorl %ecx, %ecx
callq 0x5c04
movq %r13, -0xe8(%rbp)
jmp 0x4d13
movq %r12, %rdi
leaq 0x692e(%rip), %rsi      # 0xb3d7
xorl %edx, %edx
movl $0x1, %ecx
callq 0x8774
movq 0x8(%rax), %rsi
testq %rsi, %rsi
leaq 0xa725(%rip), %rax      # 0xf1e8
cmoveq %rax, %rsi
leaq -0x140(%rbp), %r14
movq %r14, %rdi
leaq -0x48(%rbp), %rdx
callq 0x8a02
movq %r14, %rdi
xorl %esi, %esi
callq 0x5591
cvtss2sd %xmm0, %xmm0
mulsd 0x6528(%rip), %xmm0     # 0xb018
movq %rbx, %rdi
callq 0x2290
movl $0x1, %edx
movq %rax, %rdi
leaq 0x6747(%rip), %rsi      # 0xb24e
callq 0x21d0
movq -0x140(%rbp), %rdi
leaq -0x130(%rbp), %rax
cmpq %rax, %rdi
je 0x4229
movq -0x130(%rbp), %rsi
incq %rsi
callq 0x21b0
jmp 0x4229
movq -0x70(%rbp), %rdi
leaq 0x6895(%rip), %rsi      # 0xb3d7
xorl %edx, %edx
movl $0x1, %ecx
callq 0x8774
movq 0x8(%rax), %rsi
testq %rsi, %rsi
leaq 0xa68c(%rip), %rax      # 0xf1e8
cmoveq %rax, %rsi
leaq -0x120(%rbp), %r14
movq %r14, %rdi
leaq -0x48(%rbp), %rdx
callq 0x8a02
movq %r14, %rdi
xorl %esi, %esi
callq 0x5591
cvtss2sd %xmm0, %xmm0
mulsd 0x648f(%rip), %xmm0     # 0xb018
movq %rbx, %rdi
callq 0x2290
movl $0x1, %edx
movq %rax, %rdi
leaq 0x66ae(%rip), %rsi      # 0xb24e
callq 0x21d0
movq -0x120(%rbp), %rdi
leaq -0x110(%rbp), %rax
cmpq %rax, %rdi
je 0x46c1
movq -0x110(%rbp), %rsi
incq %rsi
callq 0x21b0
jmp 0x46c1
movq %r13, %rdi
leaq 0x6873(%rip), %rsi      # 0xb44d
xorl %edx, %edx
movl $0x1, %ecx
callq 0x8774
movl $0x1, %r14d
movq %rax, %rdi
leaq 0x6862(%rip), %rsi      # 0xb458
xorl %edx, %edx
movl $0x1, %ecx
callq 0x8774
movl $0x65, %r12d
movq %rax, %rdi
movq %rbx, %rsi
movl %r14d, %edx
movl %r12d, %ecx
callq 0x6865
jmp 0x4d13
movq %rbx, %rdi
callq 0x2290
movl $0x1, %edx
movq %rax, %rdi
leaq 0x6619(%rip), %rsi      # 0xb24e
callq 0x21d0
movq %r13, %rdi
leaq 0x6833(%rip), %rsi      # 0xb477
xorl %edx, %edx
movl $0x1, %ecx
callq 0x8774
movq %rax, %rdi
leaq 0x66b7(%rip), %rsi      # 0xb311
xorl %edx, %edx
movl $0x1, %ecx
callq 0x8774
movq 0x8(%rax), %r14
testq %r14, %r14
leaq 0xa574(%rip), %rax      # 0xf1e8
cmoveq %rax, %r14
movq %r14, %rdi
callq 0x20e0
movq %rbx, %rdi
movq %r14, %rsi
movq %rax, %rdx
callq 0x21d0
movl $0x1, %edx
movq %rbx, %rdi
leaq 0x65b1(%rip), %rsi      # 0xb24e
callq 0x21d0
movq (%rbx), %rax
movq -0x18(%rax), %rdi
addq %rbx, %rdi
movl $0xa, %esi
callq 0x2190
movsbl %al, %esi
movq %rbx, %rdi
callq 0x2040
movq %rax, %rdi
callq 0x2140
movq %r13, %rdi
callq 0x5911
movq %r13, %rdi
leaq 0x6772(%rip), %rsi      # 0xb44d
xorl %edx, %edx
movl $0x1, %ecx
callq 0x8774
movq %rax, %rdi
leaq 0x6767(%rip), %rsi      # 0xb458
xorl %edx, %edx
movl $0x1, %ecx
callq 0x8774
movq %rax, %rdi
movq %rbx, %rsi
xorl %edx, %edx
xorl %ecx, %ecx
callq 0x5c04
movq %r13, -0xe0(%rbp)
cmpq $0x0, 0x20(%r13)
je 0x5225
movq 0x58(%r13), %r13
testq %r13, %r13
jne 0x33fe
jmp 0x51b2
movl $0x3, %edx
movq %rbx, %rdi
leaq 0x6752(%rip), %rsi      # 0xb491
callq 0x21d0
movq %r13, %rdi
leaq 0x66ff(%rip), %rsi      # 0xb44d
xorl %edx, %edx
movl $0x1, %ecx
callq 0x8774
movq %rax, %rdi
leaq 0x66f4(%rip), %rsi      # 0xb458
xorl %edx, %edx
movl $0x1, %ecx
callq 0x8774
movq %rax, %rdi
movq %rbx, %rsi
callq 0x73ed
movq 0xa45e(%rip), %rdi      # 0xf1e0
leaq 0x66f5(%rip), %rsi      # 0xb47e
xorl %edx, %edx
movl $0x1, %ecx
callq 0x8774
movq %rax, %rdi
leaq 0x66f6(%rip), %rsi      # 0xb495
xorl %edx, %edx
movl $0x1, %ecx
callq 0x8774
movq 0x8(%rax), %r14
testq %r14, %r14
leaq 0xa42f(%rip), %rax      # 0xf1e8
cmoveq %rax, %r14
movq %r14, %rdi
callq 0x20e0
movq %rbx, %rdi
movq %r14, %rsi
movq %rax, %rdx
callq 0x21d0
movq (%rbx), %rax
movq -0x18(%rax), %rdi
addq %rbx, %rdi
movl $0xa, %esi
callq 0x2190
movsbl %al, %esi
movq %rbx, %rdi
callq 0x2040
movq %rax, %rdi
callq 0x2140
jmp 0x4d13
movl $0x4, %edx
movq %rbx, %rdi
leaq 0x6698(%rip), %rsi      # 0xb4a6
callq 0x21d0
movl $0x1, %edx
movq %rbx, %rdi
leaq 0x66e5(%rip), %rsi      # 0xb507
callq 0x21d0
movq -0xd8(%rbp), %rsi
incl %esi
movq %rbx, %rdi
movq %rsi, -0xd8(%rbp)
callq 0x2310
movl $0x1, %edx
movq %rax, %rdi
leaq 0x6400(%rip), %rsi      # 0xb24e
callq 0x21d0
movq %r13, %rdi
leaq 0x65f0(%rip), %rsi      # 0xb44d
xorl %edx, %edx
movl $0x1, %ecx
callq 0x8774
movq %rax, %rdi
leaq 0x65e5(%rip), %rsi      # 0xb458
xorl %edx, %edx
movl $0x1, %ecx
callq 0x8774
movq %rax, %rdi
movq %rbx, %rsi
callq 0x73ed
movq %r13, %rdi
leaq 0x65b9(%rip), %rsi      # 0xb44d
xorl %edx, %edx
movl $0x1, %ecx
callq 0x8774
movq %rax, %rdi
leaq 0x65ae(%rip), %rsi      # 0xb458
xorl %edx, %edx
movl $0x1, %ecx
callq 0x8774
movq %rax, %rdi
leaq -0xf0(%rbp), %rsi
leaq -0x100(%rbp), %rdx
leaq -0xf8(%rbp), %rcx
callq 0x7636
movsd -0xf0(%rbp), %xmm0
movq %rbx, %rdi
callq 0x2290
movl $0x1, %edx
movq %rax, %rdi
leaq 0x635c(%rip), %rsi      # 0xb24e
callq 0x21d0
movsd -0x100(%rbp), %xmm0
movq %rbx, %rdi
callq 0x2290
movl $0x1, %edx
movq %rax, %rdi
leaq 0x6338(%rip), %rsi      # 0xb24e
callq 0x21d0
movsd -0xf8(%rbp), %xmm0
movq %rbx, %rdi
callq 0x2290
movl $0x1, %edx
movq %rax, %rdi
leaq 0x6314(%rip), %rsi      # 0xb24e
callq 0x21d0
movq %r15, %rdi
callq 0x5911
movq %rbx, %rdi
movl %eax, %esi
callq 0x2310
movl $0x1, %edx
movq %rax, %rdi
leaq 0x62ee(%rip), %rsi      # 0xb24e
callq 0x21d0
movl $0x2, %edx
movq %rbx, %rdi
leaq 0x6358(%rip), %rsi      # 0xb2cc
callq 0x21d0
movq %r15, %rdi
callq 0x5911
movq %rbx, %rdi
movl %eax, %esi
callq 0x2310
movl $0x1, %edx
movq %rax, %rdi
leaq 0x62b4(%rip), %rsi      # 0xb24e
callq 0x21d0
movq 0xa23a(%rip), %rdi      # 0xf1e0
leaq 0x64d1(%rip), %rsi      # 0xb47e
xorl %edx, %edx
movl $0x1, %ecx
callq 0x8774
movq %rax, %rdi
leaq 0x64e8(%rip), %rsi      # 0xb4ab
xorl %edx, %edx
movl $0x1, %ecx
callq 0x8774
movq 0x8(%rax), %r14
testq %r14, %r14
leaq 0xa20b(%rip), %rax      # 0xf1e8
cmoveq %rax, %r14
movq %r14, %rdi
callq 0x20e0
movq %rbx, %rdi
movq %r14, %rsi
movq %rax, %rdx
callq 0x21d0
movl $0x1, %edx
movq %rbx, %rdi
leaq 0x6248(%rip), %rsi      # 0xb24e
callq 0x21d0
movq 0xa1ce(%rip), %rdi      # 0xf1e0
leaq 0x6465(%rip), %rsi      # 0xb47e
xorl %edx, %edx
movl $0x1, %ecx
callq 0x8774
movq %rax, %rdi
leaq 0x6488(%rip), %rsi      # 0xb4b7
xorl %edx, %edx
movl $0x1, %ecx
callq 0x8774
movq 0x8(%rax), %r14
testq %r14, %r14
leaq 0xa19f(%rip), %rax      # 0xf1e8
cmoveq %rax, %r14
movq %r14, %rdi
callq 0x20e0
movq %rbx, %rdi
movq %r14, %rsi
movq %rax, %rdx
callq 0x21d0
movq (%rbx), %rax
movq -0x18(%rax), %rdi
addq %rbx, %rdi
movl $0xa, %esi
callq 0x2190
movsbl %al, %esi
movq %rbx, %rdi
callq 0x2040
movq %rax, %rdi
callq 0x2140
jmp 0x4d13
movq %r14, %rdi
leaq 0x6440(%rip), %rsi      # 0xb4d9
callq 0x20a0
testl %eax, %eax
jne 0x4d13
movl $0x4, %edx
movq %rbx, %rdi
leaq 0x6431(%rip), %rsi      # 0xb4e6
callq 0x21d0
movq %r13, %rdi
leaq 0x640d(%rip), %rsi      # 0xb4d1
xorl %edx, %edx
movl $0x1, %ecx
callq 0x8774
movq %rax, %rdi
leaq 0x6237(%rip), %rsi      # 0xb311
xorl %edx, %edx
movl $0x1, %ecx
callq 0x8774
movq 0x8(%rax), %r14
testq %r14, %r14
leaq 0xa0f4(%rip), %rax      # 0xf1e8
cmoveq %rax, %r14
movq %r14, %rdi
callq 0x20e0
movq %rbx, %rdi
movq %r14, %rsi
movq %rax, %rdx
callq 0x21d0
movq (%rbx), %rax
movq -0x18(%rax), %rdi
addq %rbx, %rdi
movl $0xa, %esi
callq 0x2190
movsbl %al, %esi
movq %rbx, %rdi
callq 0x2040
movq %rax, %rdi
callq 0x2140
movq %r13, %rdi
leaq 0x630e(%rip), %rsi      # 0xb44d
xorl %edx, %edx
movl $0x1, %ecx
callq 0x8774
movq %rax, %rdi
leaq 0x6303(%rip), %rsi      # 0xb458
xorl %edx, %edx
movl $0x1, %ecx
callq 0x8774
movq %rax, %rdi
movq %rbx, %rsi
movl $0x2, %edx
xorl %ecx, %ecx
callq 0x5c04
jmp 0x4d13
movq %r13, %rdi
leaq 0x62cb(%rip), %rsi      # 0xb44d
xorl %edx, %edx
movl $0x1, %ecx
callq 0x8774
xorl %r12d, %r12d
movl $0x1, %r14d
movq %rax, %rdi
leaq 0x62b7(%rip), %rsi      # 0xb458
xorl %edx, %edx
movl $0x1, %ecx
callq 0x8774
jmp 0x4c08
movq (%rbx), %rax
movq -0x18(%rax), %rdi
addq %rbx, %rdi
movl $0xa, %esi
callq 0x2190
movsbl %al, %esi
movq %rbx, %rdi
callq 0x2040
movq %rax, %rdi
callq 0x2140
leaq -0xb8(%rbp), %rax
movq -0x10(%rax), %rdi
cmpq %rax, %rdi
je 0x51f8
movq -0xb8(%rbp), %rsi
incq %rsi
callq 0x21b0
movq -0x68(%rbp), %rdi
leaq -0x58(%rbp), %rax
cmpq %rax, %rdi
je 0x5211
movq -0x58(%rbp), %rsi
incq %rsi
callq 0x21b0
xorl %eax, %eax
addq $0x1b8, %rsp            # imm = 0x1B8
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
retq
leaq 0x65b3(%rip), %rdi      # 0xb7df
leaq 0x6397(%rip), %rsi      # 0xb5ca
leaq 0x65b4(%rip), %rcx      # 0xb7ee
movl $0x3ee, %edx            # imm = 0x3EE
callq 0x2130
jmp 0x5250
jmp 0x5359
jmp 0x5359
movq %rax, %rbx
jmp 0x52d1
jmp 0x5359
jmp 0x5359
movq %rax, %rbx
movq -0x1c0(%rbp), %rdi
cmpq %r14, %rdi
je 0x52d1
movq -0x1b0(%rbp), %rsi
jmp 0x52c9
jmp 0x542e
movq %rax, %rbx
leaq -0x98(%rbp), %rax
movq -0x10(%rax), %rdi
cmpq %rax, %rdi
je 0x5431
movq -0x98(%rbp), %rsi
jmp 0x5415
jmp 0x542e
jmp 0x542e
jmp 0x5429
jmp 0x5429
movq %rax, %rbx
movq -0x1a0(%rbp), %rdi
cmpq %r14, %rdi
je 0x52d1
movq -0x190(%rbp), %rsi
incq %rsi
callq 0x21b0
leaq -0x38(%rbp), %rax
movq -0x10(%rax), %rdi
cmpq %rax, %rdi
je 0x5435
movq -0x38(%rbp), %rsi
incq %rsi
callq 0x21b0
jmp 0x5435
jmp 0x542e
jmp 0x542e
movq %rax, %rbx
movq -0x48(%rbp), %rdi
cmpq %r14, %rdi
je 0x5431
movq -0x38(%rbp), %rsi
jmp 0x5415
jmp 0x542e
jmp 0x542e
movq %rax, %rbx
leaq -0x58(%rbp), %r15
jmp 0x5454
jmp 0x5429
movq %rax, %rbx
leaq -0x1d0(%rbp), %rax
movq -0x10(%rax), %rdi
cmpq %rax, %rdi
je 0x5454
movq -0x1d0(%rbp), %rsi
jmp 0x544c
jmp 0x5429
movq %rax, %rbx
jmp 0x5435
jmp 0x542e
jmp 0x542e
jmp 0x542e
jmp 0x542e
jmp 0x542e
movq %rax, %rbx
movq -0x160(%rbp), %rdi
leaq -0x150(%rbp), %rax
cmpq %rax, %rdi
je 0x5431
movq -0x150(%rbp), %rsi
jmp 0x5415
jmp 0x542e
jmp 0x542e
jmp 0x542e
movq %rax, %rbx
movq -0x140(%rbp), %rdi
leaq -0x130(%rbp), %rax
cmpq %rax, %rdi
je 0x5431
movq -0x130(%rbp), %rsi
jmp 0x5415
movq %rax, %rbx
movq -0x120(%rbp), %rdi
leaq -0x110(%rbp), %rax
cmpq %rax, %rdi
je 0x5431
movq -0x110(%rbp), %rsi
jmp 0x5415
jmp 0x542e
jmp 0x542e
jmp 0x542e
jmp 0x542e
jmp 0x542e
jmp 0x542e
jmp 0x542e
movq %rax, %rbx
movq -0x180(%rbp), %rdi
leaq -0x170(%rbp), %rax
cmpq %rax, %rdi
je 0x5431
movq -0x170(%rbp), %rsi
incq %rsi
callq 0x21b0
jmp 0x5431
jmp 0x542e
jmp 0x542e
jmp 0x542e
jmp 0x542e
jmp 0x542e
movq %rax, %rbx
jmp 0x5454
movq %rax, %rbx
leaq -0x58(%rbp), %r15
leaq -0xb8(%rbp), %rax
movq -0x10(%rax), %rdi
cmpq %rax, %rdi
je 0x5454
movq -0xb8(%rbp), %rsi
incq %rsi
callq 0x21b0
movq -0x68(%rbp), %rdi
cmpq %r15, %rdi
je 0x5469
movq -0x58(%rbp), %rsi
incq %rsi
callq 0x21b0
movq %rbx, %rdi
callq 0x2330