// File: /workspace/github_cpp_makefile_star2_O1/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 0x8581(%rip), %rsi      # 0xb257
xorl %edx, %edx
movl $0x1, %ecx
callq 0x86f4
leaq 0x8575(%rip), %rsi      # 0xb25e
movq %rax, %rdi
xorl %edx, %edx
movl $0x1, %ecx
callq 0x894c
movq 0x8(%rax), %rsi
testq %rsi, %rsi
leaq 0xc4ea(%rip), %rax      # 0xf1f0
cmoveq %rax, %rsi
leaq -0x1e0(%rbp), %rdi
leaq -0xc8(%rbp), %rdx
callq 0x8a4c
leaq -0x1e0(%rbp), %rdi
callq 0x5490
movl %eax, -0xcc(%rbp)
leaq -0x1d0(%rbp), %rax
movq -0x10(%rax), %rdi
cmpq %rax, %rdi
je 0x2d4e
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 0x87c9(%rip), %rsi      # 0xb545
movl $0x2, %edx
movq %rax, %rdi
callq 0x21d0
leaq 0x84d2(%rip), %rsi      # 0xb262
movq %r12, %rdi
xorl %edx, %edx
movl $0x1, %ecx
callq 0x86f4
testq %rax, %rax
je 0x2f35
leaq 0x84bb(%rip), %rsi      # 0xb26a
movq %r12, %rdi
xorl %edx, %edx
movl $0x1, %ecx
callq 0x86f4
testq %rax, %rax
je 0x2f35
leaq 0x849c(%rip), %rsi      # 0xb26a
movq %r12, %rdi
xorl %edx, %edx
movl $0x1, %ecx
callq 0x86f4
movq 0x8(%rax), %rsi
testq %rsi, %rsi
leaq 0xc405(%rip), %rax      # 0xf1f0
cmoveq %rax, %rsi
leaq -0xc8(%rbp), %rdi
leaq -0x48(%rbp), %rdx
callq 0x8a4c
leaq 0x846c(%rip), %rsi      # 0xb272
leaq -0xc8(%rbp), %rdi
callq 0x20a0
testl %eax, %eax
je 0x2fec
leaq 0x8454(%rip), %rsi      # 0xb275
leaq -0xc8(%rbp), %rdi
callq 0x20a0
testl %eax, %eax
je 0x3043
movq 0xc194(%rip), %rdi      # 0xefd0
leaq 0x8434(%rip), %rsi      # 0xb277
movl $0x21, %edx
callq 0x21d0
movq -0xc8(%rbp), %rsi
movq -0xc0(%rbp), %rdx
movq 0xc16e(%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 0x83ca(%rip), %rsi      # 0xb262
movq %r12, %rdi
xorl %edx, %edx
movl $0x1, %ecx
callq 0x86f4
movq 0x8(%rax), %rsi
testq %rsi, %rsi
leaq 0xc33b(%rip), %rax      # 0xf1f0
cmoveq %rax, %rsi
leaq -0x48(%rbp), %rdi
leaq -0xa8(%rbp), %rdx
callq 0x8a4c
leaq -0x190(%rbp), %r14
movq %r14, -0x10(%r14)
movq -0x48(%rbp), %rsi
movq -0x40(%rbp), %rdx
addq %rsi, %rdx
leaq -0x1a0(%rbp), %rdi
callq 0x8afc
leaq -0x1a0(%rbp), %rdi
xorl %esi, %esi
callq 0x55b0
cvttss2si %xmm0, %esi
movq %rbx, %rdi
callq 0x2320
leaq 0x8342(%rip), %rsi      # 0xb24e
movl $0x1, %edx
movq %rax, %rdi
callq 0x21d0
movq -0x1a0(%rbp), %rdi
cmpq %r14, %rdi
je 0x30f2
movq -0x190(%rbp), %rsi
jmp 0x30ea
movq 0xc094(%rip), %r14      # 0xefd0
leaq 0x8356(%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 0xc062(%rip), %rdi      # 0xefd0
callq 0x2040
movq %rax, %rdi
callq 0x2140
movq 0xc266(%rip), %rdi      # 0xf1e8
leaq 0x82c7(%rip), %rsi      # 0xb250
xorl %edx, %edx
movl $0x1, %ecx
callq 0x86f4
leaq 0x8325(%rip), %rsi      # 0xb2c1
movq %rax, %rdi
xorl %edx, %edx
movl $0x1, %ecx
callq 0x86f4
movq 0x8(%rax), %r14
testq %r14, %r14
leaq 0xc237(%rip), %rax      # 0xf1f0
cmoveq %rax, %r14
movq %r14, %rdi
callq 0x20e0
movq %rbx, %rdi
movq %r14, %rsi
movq %rax, %rdx
callq 0x21d0
leaq 0x8274(%rip), %rsi      # 0xb24e
movl $0x1, %edx
movq %rbx, %rdi
callq 0x21d0
jmp 0x312a
leaq 0x826f(%rip), %rsi      # 0xb262
movq %r12, %rdi
xorl %edx, %edx
movl $0x1, %ecx
callq 0x86f4
movq 0x8(%rax), %r14
testq %r14, %r14
leaq 0xc1e0(%rip), %rax      # 0xf1f0
cmoveq %rax, %r14
movq %r14, %rdi
callq 0x20e0
movq %rbx, %rdi
movq %r14, %rsi
movq %rax, %rdx
callq 0x21d0
leaq 0x821d(%rip), %rsi      # 0xb24e
movl $0x1, %edx
movq %rbx, %rdi
callq 0x21d0
jmp 0x310b
leaq 0x8218(%rip), %rsi      # 0xb262
movq %r12, %rdi
xorl %edx, %edx
movl $0x1, %ecx
callq 0x86f4
movq 0x8(%rax), %rsi
testq %rsi, %rsi
leaq 0xc189(%rip), %rax      # 0xf1f0
cmoveq %rax, %rsi
leaq -0x48(%rbp), %rdi
leaq -0xa8(%rbp), %rdx
callq 0x8a4c
leaq -0x1b0(%rbp), %r14
movq %r14, -0x10(%r14)
movq -0x48(%rbp), %rsi
movq -0x40(%rbp), %rdx
addq %rsi, %rdx
leaq -0x1c0(%rbp), %rdi
callq 0x8afc
leaq -0x1c0(%rbp), %rdi
xorl %esi, %esi
callq 0x55b0
cvtss2sd %xmm0, %xmm0
mulsd 0x7f51(%rip), %xmm0     # 0xb008
cvttsd2si %xmm0, %esi
movq %rbx, %rdi
callq 0x2320
leaq 0x8184(%rip), %rsi      # 0xb24e
movl $0x1, %edx
movq %rax, %rdi
callq 0x21d0
movq -0x1c0(%rbp), %rdi
cmpq %r14, %rdi
je 0x30f2
movq -0x1b0(%rbp), %rsi
incq %rsi
callq 0x21b0
leaq -0x38(%rbp), %rax
movq -0x10(%rax), %rdi
cmpq %rax, %rdi
je 0x310b
movq -0x38(%rbp), %rsi
incq %rsi
callq 0x21b0
leaq -0xb8(%rbp), %rax
movq -0x10(%rax), %rdi
cmpq %rax, %rdi
je 0x312a
movq -0xb8(%rbp), %rsi
incq %rsi
callq 0x21b0
leaq 0x8199(%rip), %rsi      # 0xb2ca
movl $0x4, %edx
movq %rbx, %rdi
callq 0x21d0
leaq 0x818a(%rip), %rsi      # 0xb2cf
movq %r12, %rdi
xorl %edx, %edx
movl $0x1, %ecx
callq 0x86f4
movq %r12, -0x78(%rbp)
movq 0x8(%rax), %rsi
testq %rsi, %rsi
leaq 0xc08a(%rip), %rax      # 0xf1f0
cmoveq %rax, %rsi
leaq -0xc8(%rbp), %rdi
leaq -0x48(%rbp), %rdx
callq 0x8a4c
leaq 0x8157(%rip), %rsi      # 0xb2d8
leaq -0xc8(%rbp), %rdi
callq 0x20a0
testl %eax, %eax
jne 0x3208
leaq 0x8143(%rip), %r14      # 0xb2db
movq -0x78(%rbp), %rdi
movq %r14, %rsi
xorl %edx, %edx
movl $0x1, %ecx
callq 0x86f4
testq %rax, %rax
leaq 0x812f(%rip), %rax      # 0xb2e4
cmoveq %rax, %r14
movq -0x78(%rbp), %rdi
movq %r14, %rsi
xorl %edx, %edx
movl $0x1, %ecx
callq 0x86f4
movq 0x8(%rax), %r14
testq %r14, %r14
leaq 0xc016(%rip), %rax      # 0xf1f0
cmoveq %rax, %r14
movq %r14, %rdi
callq 0x20e0
movq %rbx, %rdi
movq %r14, %rsi
movq %rax, %rdx
callq 0x21d0
leaq 0x8053(%rip), %rsi      # 0xb24e
movl $0x1, %edx
movq %rbx, %rdi
callq 0x21d0
leaq 0x80e1(%rip), %rsi      # 0xb2f0
leaq -0xc8(%rbp), %rdi
callq 0x20a0
testl %eax, %eax
jne 0x3380
incl 0xbfbb(%rip)            # 0xf1e4
leaq 0x80c4(%rip), %rsi      # 0xb2f4
movq -0x78(%rbp), %rdi
xorl %edx, %edx
movl $0x1, %ecx
callq 0x894c
movq 0x8(%rax), %rsi
testq %rsi, %rsi
leaq 0xbfa2(%rip), %rax      # 0xf1f0
cmoveq %rax, %rsi
leaq -0xa8(%rbp), %rdi
leaq -0x79(%rbp), %rdx
callq 0x8a4c
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 0x32a1
movq -0x38(%rbp), %rsi
incq %rsi
callq 0x21b0
leaq -0x98(%rbp), %rax
movq -0x10(%rax), %rdi
cmpq %rax, %rdi
je 0x32c0
movq -0x98(%rbp), %rsi
incq %rsi
callq 0x21b0
movl 0xbf1e(%rip), %esi      # 0xf1e4
leaq -0x48(%rbp), %rdi
movl $0x2, %edx
callq 0x575d
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 0x3306
movq -0x38(%rbp), %rsi
incq %rsi
callq 0x21b0
movq -0x68(%rbp), %rsi
movq -0x60(%rbp), %rdx
movq %rbx, %rdi
callq 0x21d0
leaq 0x7f31(%rip), %rsi      # 0xb24e
movl $0x1, %edx
movq %rax, %rdi
callq 0x21d0
movq 0xbc9f(%rip), %rdi      # 0xefd0
leaq 0x7fc3(%rip), %rsi      # 0xb2fb
movl $0x15, %edx
callq 0x21d0
movq -0x68(%rbp), %rsi
movq -0x60(%rbp), %rdx
movq 0xbc7f(%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 0x7f8a(%rip), %rsi      # 0xb311
movq -0x78(%rbp), %rdi
xorl %edx, %edx
movl $0x1, %ecx
callq 0x86f4
movq 0x8(%rax), %r14
testq %r14, %r14
leaq 0xbe4b(%rip), %rax      # 0xf1f0
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 0x5244
movq 0x58(%rax), %r13
testq %r13, %r13
je 0x51f8
movsd 0x7c06(%rip), %xmm0     # 0xb010
movq $0x0, -0xd8(%rbp)
movsd %xmm0, -0x88(%rbp)
movq %r13, %rdi
movl -0xcc(%rbp), %esi
callq 0x584e
testb %al, %al
je 0x4d32
movq (%r13), %rsi
testq %rsi, %rsi
leaq 0xbdaf(%rip), %rax      # 0xf1f0
cmoveq %rax, %rsi
leaq -0x48(%rbp), %r14
movq %r14, %rdi
leaq -0xa8(%rbp), %rdx
callq 0x8a4c
movq %r14, %rdi
leaq 0x7ec6(%rip), %rsi      # 0xb328
callq 0x20a0
movl %eax, %r14d
movq -0x48(%rbp), %rdi
leaq -0x38(%rbp), %rax
cmpq %rax, %rdi
je 0x3483
movq -0x38(%rbp), %rsi
incq %rsi
callq 0x21b0
testl %r14d, %r14d
je 0x3790
movq (%r13), %rsi
testq %rsi, %rsi
leaq 0xbd56(%rip), %rax      # 0xf1f0
cmoveq %rax, %rsi
leaq -0x48(%rbp), %r14
movq %r14, %rdi
leaq -0xa8(%rbp), %rdx
callq 0x8a4c
movq %r14, %rdi
leaq 0x7f76(%rip), %rsi      # 0xb431
callq 0x20a0
movl %eax, %r14d
movq -0x48(%rbp), %rdi
leaq -0x38(%rbp), %rax
cmpq %rax, %rdi
je 0x34dc
movq -0x38(%rbp), %rsi
incq %rsi
callq 0x21b0
testl %r14d, %r14d
je 0x3b47
movq (%r13), %rsi
testq %rsi, %rsi
leaq 0xbcfd(%rip), %rax      # 0xf1f0
cmoveq %rax, %rsi
leaq -0x48(%rbp), %r14
movq %r14, %rdi
leaq -0xa8(%rbp), %rdx
callq 0x8a4c
movq %r14, %rdi
leaq 0x7f4f(%rip), %rsi      # 0xb463
callq 0x20a0
movl %eax, %r14d
movq -0x48(%rbp), %rdi
leaq -0x38(%rbp), %rax
cmpq %rax, %rdi
je 0x3535
movq -0x38(%rbp), %rsi
incq %rsi
callq 0x21b0
testl %r14d, %r14d
je 0x3c69
movq (%r13), %rsi
testq %rsi, %rsi
leaq 0xbca4(%rip), %rax      # 0xf1f0
cmoveq %rax, %rsi
leaq -0x48(%rbp), %r14
movq %r14, %rdi
leaq -0xa8(%rbp), %rdx
callq 0x8a4c
movq %r14, %rdi
leaq 0x7f06(%rip), %rsi      # 0xb473
callq 0x20a0
movl %eax, %r14d
movq -0x48(%rbp), %rdi
leaq -0x38(%rbp), %rax
cmpq %rax, %rdi
je 0x358e
movq -0x38(%rbp), %rsi
incq %rsi
callq 0x21b0
testl %r14d, %r14d
je 0x48a2
movq (%r13), %rsi
testq %rsi, %rsi
leaq 0xbc4b(%rip), %rax      # 0xf1f0
cmoveq %rax, %rsi
leaq -0x48(%rbp), %r14
movq %r14, %rdi
leaq -0xa8(%rbp), %rdx
callq 0x8a4c
movq %r14, %rdi
leaq 0x7eb8(%rip), %rsi      # 0xb47e
callq 0x20a0
movl %eax, %r14d
movq -0x48(%rbp), %rdi
leaq -0x38(%rbp), %rax
cmpq %rax, %rdi
je 0x35e7
movq -0x38(%rbp), %rsi
incq %rsi
callq 0x21b0
testl %r14d, %r14d
jne 0x4d32
movq %r13, %rdi
leaq 0x7e89(%rip), %rsi      # 0xb483
xorl %edx, %edx
movl $0x1, %ecx
callq 0x86f4
movq 0x8(%rax), %rsi
testq %rsi, %rsi
leaq 0xbbdc(%rip), %rax      # 0xf1f0
cmoveq %rax, %rsi
leaq -0x48(%rbp), %r14
movq %r14, %rdi
leaq -0xa8(%rbp), %rdx
callq 0x8a4c
leaq -0x68(%rbp), %rdi
movq %r14, %rsi
callq 0x21f0
movq -0x48(%rbp), %rdi
leaq -0x38(%rbp), %rax
cmpq %rax, %rdi
je 0x3650
movq -0x38(%rbp), %rsi
incq %rsi
callq 0x21b0
leaq -0x68(%rbp), %r14
movq %r14, %rdi
leaq 0x7e2a(%rip), %rsi      # 0xb488
callq 0x20a0
testl %eax, %eax
je 0x4d4f
movq %r14, %rdi
leaq 0x7e29(%rip), %rsi      # 0xb49e
callq 0x20a0
testl %eax, %eax
je 0x4e1e
movl $0x4, %ecx
movq %r14, %rdi
leaq 0x7e32(%rip), %rsi      # 0xb4c3
xorl %edx, %edx
callq 0x2330
cmpq $-0x1, %rax
je 0x50ae
movq %r13, %rdi
leaq 0x7e1c(%rip), %rsi      # 0xb4c8
xorl %edx, %edx
movl $0x1, %ecx
callq 0x86f4
movl $0x4, %edx
movq %rbx, %rdi
leaq 0x7da0(%rip), %rsi      # 0xb467
callq 0x21d0
movq %r13, %rdi
leaq 0x7dfb(%rip), %rsi      # 0xb4d1
xorl %edx, %edx
movl $0x1, %ecx
callq 0x86f4
movq %rax, %rdi
leaq 0x7c25(%rip), %rsi      # 0xb311
xorl %edx, %edx
movl $0x1, %ecx
callq 0x86f4
movq 0x8(%rax), %r14
testq %r14, %r14
leaq 0xbaea(%rip), %rax      # 0xf1f0
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 0x5932
cmpl $0x2, %eax
jne 0x5197
movq %r13, %rdi
leaq 0x7ce7(%rip), %rsi      # 0xb44d
xorl %edx, %edx
movl $0x1, %ecx
callq 0x86f4
xorl %r12d, %r12d
movq %rax, %rdi
leaq 0x7cd9(%rip), %rsi      # 0xb458
xorl %edx, %edx
movl $0x1, %ecx
callq 0x86f4
jmp 0x3d74
movq %r13, %rdi
leaq 0x7b7f(%rip), %rsi      # 0xb319
xorl %edx, %edx
movl $0x1, %ecx
callq 0x8822
movq %rax, %r12
movq %rax, %rdi
leaq 0x7b66(%rip), %rsi      # 0xb319
xorl %edx, %edx
movl $0x1, %ecx
callq 0x8822
movq %rax, -0x70(%rbp)
movl $0x4, %edx
movq %rbx, %rdi
leaq 0x7b4b(%rip), %rsi      # 0xb31d
callq 0x21d0
movq %r13, %rdi
leaq 0x7b41(%rip), %rsi      # 0xb322
xorl %edx, %edx
movl $0x1, %ecx
callq 0x86f4
movq 0x8(%rax), %rsi
testq %rsi, %rsi
leaq 0xb9f5(%rip), %rax      # 0xf1f0
cmoveq %rax, %rsi
leaq -0x48(%rbp), %r14
movq %r14, %rdi
leaq -0xa8(%rbp), %rdx
callq 0x8a4c
movq %r14, %rdi
leaq 0x7a59(%rip), %rsi      # 0xb275
callq 0x20a0
movl %eax, %r15d
movq -0x48(%rbp), %rdi
leaq -0x38(%rbp), %rax
cmpq %rax, %rdi
je 0x383d
movq -0x38(%rbp), %rsi
incq %rsi
callq 0x21b0
testl %r15d, %r15d
jne 0x3894
movq %r13, %rdi
leaq 0x7ae0(%rip), %rsi      # 0xb32c
xorl %edx, %edx
movl $0x1, %ecx
callq 0x86f4
movq 0x8(%rax), %r15
testq %r15, %r15
leaq 0xb98a(%rip), %rax      # 0xf1f0
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 0x79bf(%rip), %rsi      # 0xb24e
callq 0x21d0
movq %r13, %rdi
leaq 0x7a84(%rip), %rsi      # 0xb322
xorl %edx, %edx
movl $0x1, %ecx
callq 0x86f4
movq 0x8(%rax), %rsi
testq %rsi, %rsi
leaq 0xb938(%rip), %rax      # 0xf1f0
cmoveq %rax, %rsi
movq %r14, %rdi
leaq -0xa8(%rbp), %rdx
callq 0x8a4c
movq %r14, %rdi
leaq 0x799d(%rip), %rsi      # 0xb272
callq 0x20a0
movl %eax, %r15d
movq -0x48(%rbp), %rdi
leaq -0x38(%rbp), %rax
cmpq %rax, %rdi
je 0x38f6
movq -0x38(%rbp), %rsi
incq %rsi
callq 0x21b0
testl %r15d, %r15d
jne 0x398e
movq %r13, %rdi
leaq 0x7a23(%rip), %rsi      # 0xb32c
xorl %edx, %edx
movl $0x1, %ecx
callq 0x86f4
movq 0x8(%rax), %rsi
testq %rsi, %rsi
leaq 0xb8cd(%rip), %rax      # 0xf1f0
cmoveq %rax, %rsi
leaq -0x180(%rbp), %r14
movq %r14, %rdi
leaq -0x48(%rbp), %rdx
callq 0x8a4c
movq %r14, %rdi
xorl %esi, %esi
callq 0x55b0
cvtss2sd %xmm0, %xmm0
mulsd 0x76b8(%rip), %xmm0     # 0xb008
movq %rbx, %rdi
callq 0x22a0
movl $0x1, %edx
movq %rax, %rdi
leaq 0x78e7(%rip), %rsi      # 0xb24e
callq 0x21d0
movq -0x180(%rbp), %rdi
leaq -0x170(%rbp), %rax
cmpq %rax, %rdi
je 0x398e
movq -0x170(%rbp), %rsi
incq %rsi
callq 0x21b0
movq %r13, %rdi
callq 0x5932
movq %rbx, %rdi
movl %eax, %esi
callq 0x2320
movl $0x1, %edx
movq %rax, %rdi
leaq 0x789f(%rip), %rsi      # 0xb24e
callq 0x21d0
movq 0xb82d(%rip), %rdi      # 0xf1e8
leaq 0x7966(%rip), %rsi      # 0xb328
xorl %edx, %edx
movl $0x1, %ecx
callq 0x86f4
movq %rax, %rdi
leaq 0x795b(%rip), %rsi      # 0xb333
xorl %edx, %edx
movl $0x1, %ecx
callq 0x86f4
movq 0x8(%rax), %r15
testq %r15, %r15
leaq 0xb7fe(%rip), %rax      # 0xf1f0
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 0x7833(%rip), %rsi      # 0xb24e
callq 0x21d0
movq 0xb7c1(%rip), %rdi      # 0xf1e8
leaq 0x78fa(%rip), %rsi      # 0xb328
xorl %edx, %edx
movl $0x1, %ecx
callq 0x86f4
movq %rax, %rdi
leaq 0x7900(%rip), %rsi      # 0xb344
xorl %edx, %edx
movl $0x1, %ecx
callq 0x86f4
movq 0x8(%rax), %r15
testq %r15, %r15
leaq 0xb792(%rip), %rax      # 0xf1f0
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 0x77c7(%rip), %rsi      # 0xb24e
callq 0x21d0
movq %r13, %rdi
leaq 0x78b9(%rip), %rsi      # 0xb34f
xorl %edx, %edx
movl $0x1, %ecx
callq 0x86f4
cmpq $0x0, 0x30(%rax)
je 0x3d7f
movq %r13, %rdi
leaq 0x7898(%rip), %rsi      # 0xb34f
xorl %edx, %edx
movl $0x1, %ecx
callq 0x86f4
movq %rax, %rdi
leaq 0x788e(%rip), %rsi      # 0xb35b
xorl %edx, %edx
movl $0x1, %ecx
callq 0x86f4
testq %rax, %rax
leaq 0x7a62(%rip), %rsi      # 0xb545
leaq 0x77e2(%rip), %rax      # 0xb2cc
cmoveq %rax, %rsi
movl $0x2, %edx
movq %rbx, %rdi
callq 0x21d0
movq %r13, %rdi
leaq 0x784a(%rip), %rsi      # 0xb34f
xorl %edx, %edx
movl $0x1, %ecx
callq 0x86f4
movq %rax, %rdi
leaq 0x784e(%rip), %rsi      # 0xb369
xorl %edx, %edx
movl $0x1, %ecx
callq 0x86f4
testq %rax, %rax
leaq 0x7977(%rip), %rsi      # 0xb4a8
leaq 0x7794(%rip), %rax      # 0xb2cc
cmoveq %rax, %rsi
movl $0x2, %r15d
jmp 0x3e50
movl $0x4, %edx
movq %rbx, %rdi
leaq 0x78df(%rip), %rsi      # 0xb435
callq 0x21d0
movq %r13, %rdi
callq 0x5932
movq %rbx, %rdi
movl %eax, %esi
callq 0x2320
movl $0x1, %edx
movq %rax, %rdi
leaq 0x76d2(%rip), %rsi      # 0xb24e
callq 0x21d0
movq 0xb660(%rip), %rdi      # 0xf1e8
leaq 0x78a2(%rip), %rsi      # 0xb431
xorl %edx, %edx
movl $0x1, %ecx
callq 0x86f4
movq %rax, %rdi
leaq 0x779f(%rip), %rsi      # 0xb344
xorl %edx, %edx
movl $0x1, %ecx
callq 0x86f4
movq 0x8(%rax), %r14
testq %r14, %r14
leaq 0xb631(%rip), %rax      # 0xf1f0
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 0x7666(%rip), %rsi      # 0xb24e
callq 0x21d0
movsd -0x88(%rbp), %xmm0
ucomisd 0x7413(%rip), %xmm0     # 0xb010
jne 0x49c4
jp 0x49c4
movq 0xb5d8(%rip), %rdi      # 0xf1e8
leaq 0x781a(%rip), %rsi      # 0xb431
xorl %edx, %edx
movl $0x1, %ecx
callq 0x86f4
movq %rax, %rdi
leaq 0x780d(%rip), %rsi      # 0xb43a
xorl %edx, %edx
movl $0x1, %ecx
callq 0x86f4
movq 0x8(%rax), %r14
testq %r14, %r14
leaq 0xb5a9(%rip), %rax      # 0xf1f0
cmoveq %rax, %r14
movq %r14, %rdi
callq 0x20e0
movq %rbx, %rdi
movq %r14, %rsi
movq %rax, %rdx
callq 0x21d0
movq %rbx, %rax
jmp 0x49cc
movq %r13, %rdi
leaq 0x77da(%rip), %rsi      # 0xb44d
xorl %edx, %edx
movl $0x1, %ecx
callq 0x86f4
testq %rax, %rax
je 0x4d32
movl $0x4, %edx
movq %rbx, %rdi
leaq 0x77d0(%rip), %rsi      # 0xb467
callq 0x21d0
movq %r13, %rdi
leaq 0x77c6(%rip), %rsi      # 0xb46c
xorl %edx, %edx
movl $0x1, %ecx
callq 0x86f4
movq %rax, %rdi
leaq 0x778a(%rip), %rsi      # 0xb446
xorl %edx, %edx
movl $0x1, %ecx
callq 0x86f4
movq %rax, %rdi
leaq 0x76df(%rip), %rsi      # 0xb3b1
xorl %edx, %edx
movl $0x1, %ecx
callq 0x86f4
movq 0x8(%rax), %r14
testq %r14, %r14
leaq 0xb504(%rip), %rax      # 0xf1f0
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 0x5932
cmpl $0x2, %eax
jne 0x4bef
movq %r13, %rdi
leaq 0x7701(%rip), %rsi      # 0xb44d
xorl %edx, %edx
movl $0x1, %ecx
callq 0x86f4
movq %rax, %rdi
leaq 0x76f6(%rip), %rsi      # 0xb458
xorl %edx, %edx
movl $0x1, %ecx
callq 0x86f4
movl $0x65, %r12d
movl $0x33, %r14d
jmp 0x4c27
movq 0xb462(%rip), %rdi      # 0xf1e8
leaq 0x759b(%rip), %rsi      # 0xb328
xorl %edx, %edx
movl $0x1, %ecx
callq 0x86f4
movq %rax, %rdi
leaq 0x75d2(%rip), %rsi      # 0xb375
xorl %edx, %edx
movl $0x1, %ecx
callq 0x86f4
movq 0x8(%rax), %r15
testq %r15, %r15
leaq 0xb433(%rip), %rax      # 0xf1f0
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 0x7468(%rip), %rsi      # 0xb24e
callq 0x21d0
movq 0xb3f6(%rip), %rdi      # 0xf1e8
leaq 0x752f(%rip), %rsi      # 0xb328
xorl %edx, %edx
movl $0x1, %ecx
callq 0x86f4
movq %rax, %rdi
leaq 0x7574(%rip), %rsi      # 0xb383
xorl %edx, %edx
movl $0x1, %ecx
callq 0x86f4
movq 0x8(%rax), %r14
testq %r14, %r14
leaq 0xb3c7(%rip), %rax      # 0xf1f0
cmoveq %rax, %r14
movq %r14, %rdi
callq 0x20e0
movl $0x1, %r15d
movq %rbx, %rdi
movq %r14, %rsi
movq %rax, %rdx
callq 0x21d0
leaq 0x73fe(%rip), %rsi      # 0xb24e
movq %rbx, %rdi
movq %r15, %rdx
callq 0x21d0
movq 0xb386(%rip), %rdi      # 0xf1e8
leaq 0x74bf(%rip), %rsi      # 0xb328
xorl %edx, %edx
movl $0x1, %ecx
callq 0x86f4
movq %rax, %rdi
leaq 0x7510(%rip), %rsi      # 0xb38f
xorl %edx, %edx
movl $0x1, %ecx
callq 0x86f4
movq 0x8(%rax), %r14
testq %r14, %r14
leaq 0xb357(%rip), %rax      # 0xf1f0
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 0x738c(%rip), %rsi      # 0xb24e
callq 0x21d0
movsd -0x88(%rbp), %xmm0
ucomisd 0x7139(%rip), %xmm0     # 0xb010
jne 0x3f4a
jp 0x3f4a
movq %r12, %rdi
leaq 0x74b9(%rip), %rsi      # 0xb39e
xorl %edx, %edx
movl $0x1, %ecx
callq 0x86f4
movq 0x8(%rax), %rsi
testq %rsi, %rsi
leaq 0xb2f1(%rip), %rax      # 0xf1f0
cmoveq %rax, %rsi
leaq -0x160(%rbp), %r14
movq %r14, %rdi
leaq -0x48(%rbp), %rdx
callq 0x8a4c
movq %r14, %rdi
xorl %esi, %esi
callq 0x5a83
movsd %xmm0, -0x88(%rbp)
movq -0x160(%rbp), %rdi
leaq -0x150(%rbp), %rax
cmpq %rax, %rdi
je 0x3f4a
movq -0x150(%rbp), %rsi
incq %rsi
callq 0x21b0
movq %r12, %rdi
leaq 0x7456(%rip), %rsi      # 0xb3aa
xorl %edx, %edx
movl $0x1, %ecx
callq 0x86f4
movq %rax, %rdi
leaq 0x7447(%rip), %rsi      # 0xb3b1
xorl %edx, %edx
movl $0x1, %ecx
callq 0x86f4
movq 0x8(%rax), %rsi
testq %rsi, %rsi
leaq 0xb26c(%rip), %rax      # 0xf1f0
cmoveq %rax, %rsi
leaq -0x48(%rbp), %rdi
leaq -0xa8(%rbp), %rdx
callq 0x8a4c
movq -0x48(%rbp), %rdi
movq -0x40(%rbp), %r14
leaq -0x38(%rbp), %rax
cmpq %rax, %rdi
je 0x3fb5
movq -0x38(%rbp), %rsi
incq %rsi
callq 0x21b0
testq %r14, %r14
je 0x3fd9
movq %r12, %rdi
leaq 0x73e6(%rip), %rsi      # 0xb3aa
xorl %edx, %edx
movl $0x1, %ecx
callq 0x86f4
leaq 0x73da(%rip), %rsi      # 0xb3b1
jmp 0x3ffa
movq 0xb208(%rip), %rdi      # 0xf1e8
leaq 0x7332(%rip), %rsi      # 0xb319
xorl %edx, %edx
movl $0x1, %ecx
callq 0x86f4
leaq 0x73c0(%rip), %rsi      # 0xb3ba
movq %rax, %rdi
xorl %edx, %edx
movl $0x1, %ecx
callq 0x86f4
movq 0x8(%rax), %r14
testq %r14, %r14
leaq 0xb1d9(%rip), %rax      # 0xf1f0
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 0x720e(%rip), %rsi      # 0xb24e
callq 0x21d0
movq %r12, %rdi
leaq 0x7373(%rip), %rsi      # 0xb3c2
xorl %edx, %edx
movl $0x1, %ecx
callq 0x86f4
movq 0x8(%rax), %r14
testq %r14, %r14
leaq 0xb187(%rip), %rax      # 0xf1f0
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 0x71bc(%rip), %rsi      # 0xb24e
callq 0x21d0
movq %r12, %rdi
leaq 0x7328(%rip), %rsi      # 0xb3c9
xorl %edx, %edx
movl $0x1, %ecx
callq 0x86f4
movq 0x8(%rax), %r14
testq %r14, %r14
leaq 0xb135(%rip), %rax      # 0xf1f0
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 0x716a(%rip), %rsi      # 0xb24e
callq 0x21d0
movq 0xb0f8(%rip), %rdi      # 0xf1e8
leaq 0x7222(%rip), %rsi      # 0xb319
xorl %edx, %edx
movl $0x1, %ecx
callq 0x86f4
movq %rax, %rdi
leaq 0x72c3(%rip), %rsi      # 0xb3d0
xorl %edx, %edx
movl $0x1, %ecx
callq 0x86f4
movq 0x8(%rax), %r14
testq %r14, %r14
leaq 0xb0c9(%rip), %rax      # 0xf1f0
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 0x70fe(%rip), %rsi      # 0xb24e
callq 0x21d0
movq %r12, %rdi
leaq 0x7278(%rip), %rsi      # 0xb3d7
xorl %edx, %edx
movl $0x1, %ecx
callq 0x86f4
testq %rax, %rax
je 0x4230
movq %r12, %rdi
leaq 0x7268(%rip), %rsi      # 0xb3e6
xorl %edx, %edx
movl $0x1, %ecx
callq 0x86f4
movq 0x8(%rax), %rsi
testq %rsi, %rsi
leaq 0xb058(%rip), %rax      # 0xf1f0
cmoveq %rax, %rsi
leaq -0x48(%rbp), %r14
movq %r14, %rdi
leaq -0xa8(%rbp), %rdx
callq 0x8a4c
movq %r14, %rdi
leaq 0x70b9(%rip), %rsi      # 0xb272
callq 0x20a0
movl %eax, %r15d
movq -0x48(%rbp), %rdi
leaq -0x38(%rbp), %rax
cmpq %rax, %rdi
je 0x41da
movq -0x38(%rbp), %rsi
incq %rsi
callq 0x21b0
testl %r15d, %r15d
je 0x4abe
movq %r12, %rdi
leaq 0x71ea(%rip), %rsi      # 0xb3d7
xorl %edx, %edx
movl $0x1, %ecx
callq 0x86f4
movq 0x8(%rax), %r14
testq %r14, %r14
leaq 0xafe9(%rip), %rax      # 0xf1f0
cmoveq %rax, %r14
movq %r14, %rdi
callq 0x20e0
movl $0x1, %r12d
movq %rbx, %rdi
movq %r14, %rsi
movq %rax, %rdx
callq 0x21d0
leaq 0x7020(%rip), %rsi      # 0xb24e
jmp 0x423d
movl $0x5, %r12d
leaq 0x71b8(%rip), %rsi      # 0xb3f5
movq %rbx, %rdi
movq %r12, %rdx
callq 0x21d0
movq -0x78(%rbp), %rdi
leaq 0x71a8(%rip), %rsi      # 0xb3fb
xorl %edx, %edx
movl $0x1, %ecx
callq 0x86f4
movq %rax, %rdi
leaq 0x71a3(%rip), %rsi      # 0xb40c
xorl %edx, %edx
movl $0x1, %ecx
callq 0x86f4
testq %rax, %rax
leaq 0x72cb(%rip), %rsi      # 0xb54a
leaq 0x72bf(%rip), %rax      # 0xb545
cmoveq %rax, %rsi
movl $0x2, %edx
movq %rbx, %rdi
callq 0x21d0
movq 0xaf4a(%rip), %rdi      # 0xf1e8
leaq 0x7074(%rip), %rsi      # 0xb319
xorl %edx, %edx
movl $0x1, %ecx
callq 0x86f4
movq %rax, %rdi
leaq 0x7155(%rip), %rsi      # 0xb410
xorl %edx, %edx
movl $0x1, %ecx
callq 0x86f4
movq 0x8(%rax), %r14
testq %r14, %r14
leaq 0xaf1b(%rip), %rax      # 0xf1f0
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 0x6f50(%rip), %rsi      # 0xb24e
callq 0x21d0
movq 0xaede(%rip), %rdi      # 0xf1e8
leaq 0x7008(%rip), %rsi      # 0xb319
xorl %edx, %edx
movl $0x1, %ecx
callq 0x86f4
movq %rax, %rdi
leaq 0x70f3(%rip), %rsi      # 0xb41a
xorl %edx, %edx
movl $0x1, %ecx
callq 0x86f4
movq 0x8(%rax), %r14
testq %r14, %r14
leaq 0xaeaf(%rip), %rax      # 0xf1f0
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 0x6ee4(%rip), %rsi      # 0xb24e
callq 0x21d0
movq 0xae72(%rip), %rdi      # 0xf1e8
leaq 0x6f9c(%rip), %rsi      # 0xb319
xorl %edx, %edx
movl $0x1, %ecx
callq 0x86f4
movq %rax, %rdi
leaq 0x7091(%rip), %rsi      # 0xb424
xorl %edx, %edx
movl $0x1, %ecx
callq 0x86f4
movq 0x8(%rax), %r14
testq %r14, %r14
leaq 0xae43(%rip), %rax      # 0xf1f0
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 0x6e78(%rip), %rsi      # 0xb24e
callq 0x21d0
movq -0x70(%rbp), %rdi
leaq 0x6fc4(%rip), %rsi      # 0xb3aa
xorl %edx, %edx
movl $0x1, %ecx
callq 0x86f4
movq %rax, %rdi
leaq 0x6fb5(%rip), %rsi      # 0xb3b1
xorl %edx, %edx
movl $0x1, %ecx
callq 0x86f4
movq 0x8(%rax), %rsi
testq %rsi, %rsi
leaq 0xadda(%rip), %rax      # 0xf1f0
cmoveq %rax, %rsi
leaq -0x48(%rbp), %rdi
leaq -0xa8(%rbp), %rdx
callq 0x8a4c
movq -0x48(%rbp), %rdi
movq -0x40(%rbp), %r14
leaq -0x38(%rbp), %rax
cmpq %rax, %rdi
je 0x4447
movq -0x38(%rbp), %rsi
incq %rsi
callq 0x21b0
testq %r14, %r14
je 0x446c
movq -0x70(%rbp), %rdi
leaq 0x6f53(%rip), %rsi      # 0xb3aa
xorl %edx, %edx
movl $0x1, %ecx
callq 0x86f4
leaq 0x6f47(%rip), %rsi      # 0xb3b1
jmp 0x448d
movq 0xad75(%rip), %rdi      # 0xf1e8
leaq 0x6e9f(%rip), %rsi      # 0xb319
xorl %edx, %edx
movl $0x1, %ecx
callq 0x86f4
leaq 0x6f9c(%rip), %rsi      # 0xb429
movq %rax, %rdi
xorl %edx, %edx
movl $0x1, %ecx
callq 0x86f4
movq 0x8(%rax), %r14
testq %r14, %r14
leaq 0xad46(%rip), %rax      # 0xf1f0
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 0x6d7b(%rip), %rsi      # 0xb24e
callq 0x21d0
movq -0x70(%rbp), %rdi
leaq 0x6edf(%rip), %rsi      # 0xb3c2
xorl %edx, %edx
movl $0x1, %ecx
callq 0x86f4
movq 0x8(%rax), %r14
testq %r14, %r14
leaq 0xacf3(%rip), %rax      # 0xf1f0
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 0x6d28(%rip), %rsi      # 0xb24e
callq 0x21d0
movq -0x70(%rbp), %rdi
leaq 0x6e93(%rip), %rsi      # 0xb3c9
xorl %edx, %edx
movl $0x1, %ecx
callq 0x86f4
movq 0x8(%rax), %r14
testq %r14, %r14
leaq 0xaca0(%rip), %rax      # 0xf1f0
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 0x6cd5(%rip), %rsi      # 0xb24e
callq 0x21d0
movq 0xac63(%rip), %rdi      # 0xf1e8
leaq 0x6d8d(%rip), %rsi      # 0xb319
xorl %edx, %edx
movl $0x1, %ecx
callq 0x86f4
movq %rax, %rdi
leaq 0x6e2e(%rip), %rsi      # 0xb3d0
xorl %edx, %edx
movl $0x1, %ecx
callq 0x86f4
movq 0x8(%rax), %r14
testq %r14, %r14
leaq 0xac34(%rip), %rax      # 0xf1f0
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 0x6c69(%rip), %rsi      # 0xb24e
callq 0x21d0
movq -0x70(%rbp), %rdi
leaq 0x6de2(%rip), %rsi      # 0xb3d7
xorl %edx, %edx
movl $0x1, %ecx
callq 0x86f4
testq %rax, %rax
je 0x46c8
movq -0x70(%rbp), %rdi
leaq 0x6dd1(%rip), %rsi      # 0xb3e6
xorl %edx, %edx
movl $0x1, %ecx
callq 0x86f4
movq 0x8(%rax), %rsi
testq %rsi, %rsi
leaq 0xabc1(%rip), %rax      # 0xf1f0
cmoveq %rax, %rsi
leaq -0x48(%rbp), %r14
movq %r14, %rdi
leaq -0xa8(%rbp), %rdx
callq 0x8a4c
movq %r14, %rdi
leaq 0x6c22(%rip), %rsi      # 0xb272
callq 0x20a0
movl %eax, %r15d
movq -0x48(%rbp), %rdi
leaq -0x38(%rbp), %rax
cmpq %rax, %rdi
je 0x4671
movq -0x38(%rbp), %rsi
incq %rsi
callq 0x21b0
testl %r15d, %r15d
je 0x4b56
movq -0x70(%rbp), %rdi
leaq 0x6d52(%rip), %rsi      # 0xb3d7
xorl %edx, %edx
movl $0x1, %ecx
callq 0x86f4
movq 0x8(%rax), %r15
testq %r15, %r15
leaq 0xab51(%rip), %rax      # 0xf1f0
cmoveq %rax, %r15
movq %r15, %rdi
callq 0x20e0
movl $0x1, %r14d
movq %rbx, %rdi
movq %r15, %rsi
movq %rax, %rdx
callq 0x21d0
leaq 0x6b88(%rip), %rsi      # 0xb24e
jmp 0x46d5
movl $0x5, %r14d
leaq 0x6d20(%rip), %rsi      # 0xb3f5
movq %rbx, %rdi
movq %r14, %rdx
callq 0x21d0
movq -0x78(%rbp), %rdi
leaq 0x6d10(%rip), %rsi      # 0xb3fb
xorl %edx, %edx
movl $0x1, %ecx
callq 0x86f4
movq %rax, %rdi
leaq 0x6d0b(%rip), %rsi      # 0xb40c
xorl %edx, %edx
movl $0x1, %ecx
callq 0x86f4
testq %rax, %rax
leaq 0x6e33(%rip), %rsi      # 0xb54a
leaq 0x6e27(%rip), %rax      # 0xb545
cmoveq %rax, %rsi
movl $0x2, %edx
movq %rbx, %rdi
callq 0x21d0
movq 0xaab2(%rip), %rdi      # 0xf1e8
leaq 0x6bdc(%rip), %rsi      # 0xb319
xorl %edx, %edx
movl $0x1, %ecx
callq 0x86f4
movq %rax, %rdi
leaq 0x6cbd(%rip), %rsi      # 0xb410
xorl %edx, %edx
movl $0x1, %ecx
callq 0x86f4
movq 0x8(%rax), %r14
testq %r14, %r14
leaq 0xaa83(%rip), %rax      # 0xf1f0
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 0x6ab8(%rip), %rsi      # 0xb24e
callq 0x21d0
movq 0xaa46(%rip), %rdi      # 0xf1e8
leaq 0x6b70(%rip), %rsi      # 0xb319
xorl %edx, %edx
movl $0x1, %ecx
callq 0x86f4
movq %rax, %rdi
leaq 0x6c5b(%rip), %rsi      # 0xb41a
xorl %edx, %edx
movl $0x1, %ecx
callq 0x86f4
movq 0x8(%rax), %r14
testq %r14, %r14
leaq 0xaa17(%rip), %rax      # 0xf1f0
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 0x6a4c(%rip), %rsi      # 0xb24e
callq 0x21d0
movq 0xa9da(%rip), %rdi      # 0xf1e8
leaq 0x6b04(%rip), %rsi      # 0xb319
xorl %edx, %edx
movl $0x1, %ecx
callq 0x86f4
movq %rax, %rdi
leaq 0x6bf9(%rip), %rsi      # 0xb424
xorl %edx, %edx
movl $0x1, %ecx
callq 0x86f4
movq 0x8(%rax), %r14
testq %r14, %r14
leaq 0xa9ab(%rip), %rax      # 0xf1f0
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 0x69e0(%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 0x4d32
movl $0x4, %edx
movq %rbx, %rdi
leaq 0x6b84(%rip), %rsi      # 0xb435
callq 0x21d0
movq %r13, %rdi
callq 0x5932
movq %rbx, %rdi
movl %eax, %esi
callq 0x2320
movl $0x1, %edx
movq %rax, %rdi
leaq 0x6977(%rip), %rsi      # 0xb24e
callq 0x21d0
movq 0xa905(%rip), %rdi      # 0xf1e8
leaq 0x6b89(%rip), %rsi      # 0xb473
xorl %edx, %edx
movl $0x1, %ecx
callq 0x86f4
movq %rax, %rdi
leaq 0x6a44(%rip), %rsi      # 0xb344
xorl %edx, %edx
movl $0x1, %ecx
callq 0x86f4
movq 0x8(%rax), %r14
testq %r14, %r14
leaq 0xa8d6(%rip), %rax      # 0xf1f0
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 0x690b(%rip), %rsi      # 0xb24e
callq 0x21d0
movsd -0x88(%rbp), %xmm0
ucomisd 0x66b8(%rip), %xmm0     # 0xb010
jne 0x4c3d
jp 0x4c3d
movq 0xa87d(%rip), %rdi      # 0xf1e8
leaq 0x6b01(%rip), %rsi      # 0xb473
xorl %edx, %edx
movl $0x1, %ecx
callq 0x86f4
movq %rax, %rdi
leaq 0x6ab2(%rip), %rsi      # 0xb43a
xorl %edx, %edx
movl $0x1, %ecx
callq 0x86f4
movq 0x8(%rax), %r14
testq %r14, %r14
leaq 0xa84e(%rip), %rax      # 0xf1f0
cmoveq %rax, %r14
movq %r14, %rdi
callq 0x20e0
movq %rbx, %rdi
movq %r14, %rsi
movq %rax, %rdx
callq 0x21d0
movq %rbx, %rax
jmp 0x4c45
movq %rbx, %rdi
callq 0x22a0
movl $0x1, %edx
movq %rax, %rdi
leaq 0x6873(%rip), %rsi      # 0xb24e
callq 0x21d0
movq %r13, %rdi
leaq 0x6a5c(%rip), %rsi      # 0xb446
xorl %edx, %edx
movl $0x1, %ecx
callq 0x86f4
movq %rax, %rdi
leaq 0x69b1(%rip), %rsi      # 0xb3b1
xorl %edx, %edx
movl $0x1, %ecx
callq 0x86f4
movq 0x8(%rax), %r14
testq %r14, %r14
leaq 0xa7d6(%rip), %rax      # 0xf1f0
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 0x680b(%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 0x5932
movq %r13, %rdi
leaq 0x69cc(%rip), %rsi      # 0xb44d
xorl %edx, %edx
movl $0x1, %ecx
callq 0x86f4
movq %rax, %rdi
leaq 0x69c1(%rip), %rsi      # 0xb458
xorl %edx, %edx
movl $0x1, %ecx
callq 0x86f4
movq %rax, %rdi
movq %rbx, %rsi
xorl %edx, %edx
xorl %ecx, %ecx
callq 0x5c27
movq %r13, -0xe8(%rbp)
jmp 0x4d32
movq %r12, %rdi
leaq 0x690f(%rip), %rsi      # 0xb3d7
xorl %edx, %edx
movl $0x1, %ecx
callq 0x86f4
movq 0x8(%rax), %rsi
testq %rsi, %rsi
leaq 0xa70e(%rip), %rax      # 0xf1f0
cmoveq %rax, %rsi
leaq -0x140(%rbp), %r14
movq %r14, %rdi
leaq -0x48(%rbp), %rdx
callq 0x8a4c
movq %r14, %rdi
xorl %esi, %esi
callq 0x55b0
cvtss2sd %xmm0, %xmm0
mulsd 0x6509(%rip), %xmm0     # 0xb018
movq %rbx, %rdi
callq 0x22a0
movl $0x1, %edx
movq %rax, %rdi
leaq 0x6728(%rip), %rsi      # 0xb24e
callq 0x21d0
movq -0x140(%rbp), %rdi
leaq -0x130(%rbp), %rax
cmpq %rax, %rdi
je 0x4248
movq -0x130(%rbp), %rsi
incq %rsi
callq 0x21b0
jmp 0x4248
movq -0x70(%rbp), %rdi
leaq 0x6876(%rip), %rsi      # 0xb3d7
xorl %edx, %edx
movl $0x1, %ecx
callq 0x86f4
movq 0x8(%rax), %rsi
testq %rsi, %rsi
leaq 0xa675(%rip), %rax      # 0xf1f0
cmoveq %rax, %rsi
leaq -0x120(%rbp), %r14
movq %r14, %rdi
leaq -0x48(%rbp), %rdx
callq 0x8a4c
movq %r14, %rdi
xorl %esi, %esi
callq 0x55b0
cvtss2sd %xmm0, %xmm0
mulsd 0x6470(%rip), %xmm0     # 0xb018
movq %rbx, %rdi
callq 0x22a0
movl $0x1, %edx
movq %rax, %rdi
leaq 0x668f(%rip), %rsi      # 0xb24e
callq 0x21d0
movq -0x120(%rbp), %rdi
leaq -0x110(%rbp), %rax
cmpq %rax, %rdi
je 0x46e0
movq -0x110(%rbp), %rsi
incq %rsi
callq 0x21b0
jmp 0x46e0
movq %r13, %rdi
leaq 0x6854(%rip), %rsi      # 0xb44d
xorl %edx, %edx
movl $0x1, %ecx
callq 0x86f4
movl $0x1, %r14d
movq %rax, %rdi
leaq 0x6843(%rip), %rsi      # 0xb458
xorl %edx, %edx
movl $0x1, %ecx
callq 0x86f4
movl $0x65, %r12d
movq %rax, %rdi
movq %rbx, %rsi
movl %r14d, %edx
movl %r12d, %ecx
callq 0x6833
jmp 0x4d32
movq %rbx, %rdi
callq 0x22a0
movl $0x1, %edx
movq %rax, %rdi
leaq 0x65fa(%rip), %rsi      # 0xb24e
callq 0x21d0
movq %r13, %rdi
leaq 0x6814(%rip), %rsi      # 0xb477
xorl %edx, %edx
movl $0x1, %ecx
callq 0x86f4
movq %rax, %rdi
leaq 0x6698(%rip), %rsi      # 0xb311
xorl %edx, %edx
movl $0x1, %ecx
callq 0x86f4
movq 0x8(%rax), %r14
testq %r14, %r14
leaq 0xa55d(%rip), %rax      # 0xf1f0
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 0x6592(%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 0x5932
movq %r13, %rdi
leaq 0x6753(%rip), %rsi      # 0xb44d
xorl %edx, %edx
movl $0x1, %ecx
callq 0x86f4
movq %rax, %rdi
leaq 0x6748(%rip), %rsi      # 0xb458
xorl %edx, %edx
movl $0x1, %ecx
callq 0x86f4
movq %rax, %rdi
movq %rbx, %rsi
xorl %edx, %edx
xorl %ecx, %ecx
callq 0x5c27
movq %r13, -0xe0(%rbp)
cmpq $0x0, 0x20(%r13)
je 0x5244
movq 0x58(%r13), %r13
testq %r13, %r13
jne 0x341d
jmp 0x51d1
movl $0x3, %edx
movq %rbx, %rdi
leaq 0x6733(%rip), %rsi      # 0xb491
callq 0x21d0
movq %r13, %rdi
leaq 0x66e0(%rip), %rsi      # 0xb44d
xorl %edx, %edx
movl $0x1, %ecx
callq 0x86f4
movq %rax, %rdi
leaq 0x66d5(%rip), %rsi      # 0xb458
xorl %edx, %edx
movl $0x1, %ecx
callq 0x86f4
movq %rax, %rdi
movq %rbx, %rsi
callq 0x73d6
movq 0xa447(%rip), %rdi      # 0xf1e8
leaq 0x66d6(%rip), %rsi      # 0xb47e
xorl %edx, %edx
movl $0x1, %ecx
callq 0x86f4
movq %rax, %rdi
leaq 0x66d7(%rip), %rsi      # 0xb495
xorl %edx, %edx
movl $0x1, %ecx
callq 0x86f4
movq 0x8(%rax), %r14
testq %r14, %r14
leaq 0xa418(%rip), %rax      # 0xf1f0
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 0x4d32
movl $0x4, %edx
movq %rbx, %rdi
leaq 0x6679(%rip), %rsi      # 0xb4a6
callq 0x21d0
movl $0x1, %edx
movq %rbx, %rdi
leaq 0x66c6(%rip), %rsi      # 0xb507
callq 0x21d0
movq -0xd8(%rbp), %rsi
incl %esi
movq %rbx, %rdi
movq %rsi, -0xd8(%rbp)
callq 0x2320
movl $0x1, %edx
movq %rax, %rdi
leaq 0x63e1(%rip), %rsi      # 0xb24e
callq 0x21d0
movq %r13, %rdi
leaq 0x65d1(%rip), %rsi      # 0xb44d
xorl %edx, %edx
movl $0x1, %ecx
callq 0x86f4
movq %rax, %rdi
leaq 0x65c6(%rip), %rsi      # 0xb458
xorl %edx, %edx
movl $0x1, %ecx
callq 0x86f4
movq %rax, %rdi
movq %rbx, %rsi
callq 0x73d6
movq %r13, %rdi
leaq 0x659a(%rip), %rsi      # 0xb44d
xorl %edx, %edx
movl $0x1, %ecx
callq 0x86f4
movq %rax, %rdi
leaq 0x658f(%rip), %rsi      # 0xb458
xorl %edx, %edx
movl $0x1, %ecx
callq 0x86f4
movq %rax, %rdi
leaq -0xf0(%rbp), %rsi
leaq -0x100(%rbp), %rdx
leaq -0xf8(%rbp), %rcx
callq 0x7624
movsd -0xf0(%rbp), %xmm0
movq %rbx, %rdi
callq 0x22a0
movl $0x1, %edx
movq %rax, %rdi
leaq 0x633d(%rip), %rsi      # 0xb24e
callq 0x21d0
movsd -0x100(%rbp), %xmm0
movq %rbx, %rdi
callq 0x22a0
movl $0x1, %edx
movq %rax, %rdi
leaq 0x6319(%rip), %rsi      # 0xb24e
callq 0x21d0
movsd -0xf8(%rbp), %xmm0
movq %rbx, %rdi
callq 0x22a0
movl $0x1, %edx
movq %rax, %rdi
leaq 0x62f5(%rip), %rsi      # 0xb24e
callq 0x21d0
movq %r15, %rdi
callq 0x5932
movq %rbx, %rdi
movl %eax, %esi
callq 0x2320
movl $0x1, %edx
movq %rax, %rdi
leaq 0x62cf(%rip), %rsi      # 0xb24e
callq 0x21d0
movl $0x2, %edx
movq %rbx, %rdi
leaq 0x6339(%rip), %rsi      # 0xb2cc
callq 0x21d0
movq %r15, %rdi
callq 0x5932
movq %rbx, %rdi
movl %eax, %esi
callq 0x2320
movl $0x1, %edx
movq %rax, %rdi
leaq 0x6295(%rip), %rsi      # 0xb24e
callq 0x21d0
movq 0xa223(%rip), %rdi      # 0xf1e8
leaq 0x64b2(%rip), %rsi      # 0xb47e
xorl %edx, %edx
movl $0x1, %ecx
callq 0x86f4
movq %rax, %rdi
leaq 0x64c9(%rip), %rsi      # 0xb4ab
xorl %edx, %edx
movl $0x1, %ecx
callq 0x86f4
movq 0x8(%rax), %r14
testq %r14, %r14
leaq 0xa1f4(%rip), %rax      # 0xf1f0
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 0x6229(%rip), %rsi      # 0xb24e
callq 0x21d0
movq 0xa1b7(%rip), %rdi      # 0xf1e8
leaq 0x6446(%rip), %rsi      # 0xb47e
xorl %edx, %edx
movl $0x1, %ecx
callq 0x86f4
movq %rax, %rdi
leaq 0x6469(%rip), %rsi      # 0xb4b7
xorl %edx, %edx
movl $0x1, %ecx
callq 0x86f4
movq 0x8(%rax), %r14
testq %r14, %r14
leaq 0xa188(%rip), %rax      # 0xf1f0
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 0x4d32
movq %r14, %rdi
leaq 0x6421(%rip), %rsi      # 0xb4d9
callq 0x20a0
testl %eax, %eax
jne 0x4d32
movl $0x4, %edx
movq %rbx, %rdi
leaq 0x6412(%rip), %rsi      # 0xb4e6
callq 0x21d0
movq %r13, %rdi
leaq 0x63ee(%rip), %rsi      # 0xb4d1
xorl %edx, %edx
movl $0x1, %ecx
callq 0x86f4
movq %rax, %rdi
leaq 0x6218(%rip), %rsi      # 0xb311
xorl %edx, %edx
movl $0x1, %ecx
callq 0x86f4
movq 0x8(%rax), %r14
testq %r14, %r14
leaq 0xa0dd(%rip), %rax      # 0xf1f0
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 0x62ef(%rip), %rsi      # 0xb44d
xorl %edx, %edx
movl $0x1, %ecx
callq 0x86f4
movq %rax, %rdi
leaq 0x62e4(%rip), %rsi      # 0xb458
xorl %edx, %edx
movl $0x1, %ecx
callq 0x86f4
movq %rax, %rdi
movq %rbx, %rsi
movl $0x2, %edx
xorl %ecx, %ecx
callq 0x5c27
jmp 0x4d32
movq %r13, %rdi
leaq 0x62ac(%rip), %rsi      # 0xb44d
xorl %edx, %edx
movl $0x1, %ecx
callq 0x86f4
xorl %r12d, %r12d
movl $0x1, %r14d
movq %rax, %rdi
leaq 0x6298(%rip), %rsi      # 0xb458
xorl %edx, %edx
movl $0x1, %ecx
callq 0x86f4
jmp 0x4c27
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 0x5217
movq -0xb8(%rbp), %rsi
incq %rsi
callq 0x21b0
movq -0x68(%rbp), %rdi
leaq -0x58(%rbp), %rax
cmpq %rax, %rdi
je 0x5230
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 0x6594(%rip), %rdi      # 0xb7df
leaq 0x6378(%rip), %rsi      # 0xb5ca
leaq 0x6595(%rip), %rcx      # 0xb7ee
movl $0x3ee, %edx            # imm = 0x3EE
callq 0x2130
jmp 0x526f
jmp 0x5378
jmp 0x5378
movq %rax, %rbx
jmp 0x52f0
jmp 0x5378
jmp 0x5378
movq %rax, %rbx
movq -0x1c0(%rbp), %rdi
cmpq %r14, %rdi
je 0x52f0
movq -0x1b0(%rbp), %rsi
jmp 0x52e8
jmp 0x544d
movq %rax, %rbx
leaq -0x98(%rbp), %rax
movq -0x10(%rax), %rdi
cmpq %rax, %rdi
je 0x5450
movq -0x98(%rbp), %rsi
jmp 0x5434
jmp 0x544d
jmp 0x544d
jmp 0x5448
jmp 0x5448
movq %rax, %rbx
movq -0x1a0(%rbp), %rdi
cmpq %r14, %rdi
je 0x52f0
movq -0x190(%rbp), %rsi
incq %rsi
callq 0x21b0
leaq -0x38(%rbp), %rax
movq -0x10(%rax), %rdi
cmpq %rax, %rdi
je 0x5454
movq -0x38(%rbp), %rsi
incq %rsi
callq 0x21b0
jmp 0x5454
jmp 0x544d
jmp 0x544d
movq %rax, %rbx
movq -0x48(%rbp), %rdi
cmpq %r14, %rdi
je 0x5450
movq -0x38(%rbp), %rsi
jmp 0x5434
jmp 0x544d
jmp 0x544d
movq %rax, %rbx
leaq -0x58(%rbp), %r15
jmp 0x5473
jmp 0x5448
movq %rax, %rbx
leaq -0x1d0(%rbp), %rax
movq -0x10(%rax), %rdi
cmpq %rax, %rdi
je 0x5473
movq -0x1d0(%rbp), %rsi
jmp 0x546b
jmp 0x5448
movq %rax, %rbx
jmp 0x5454
jmp 0x544d
jmp 0x544d
jmp 0x544d
jmp 0x544d
jmp 0x544d
movq %rax, %rbx
movq -0x160(%rbp), %rdi
leaq -0x150(%rbp), %rax
cmpq %rax, %rdi
je 0x5450
movq -0x150(%rbp), %rsi
jmp 0x5434
jmp 0x544d
jmp 0x544d
jmp 0x544d
movq %rax, %rbx
movq -0x140(%rbp), %rdi
leaq -0x130(%rbp), %rax
cmpq %rax, %rdi
je 0x5450
movq -0x130(%rbp), %rsi
jmp 0x5434
movq %rax, %rbx
movq -0x120(%rbp), %rdi
leaq -0x110(%rbp), %rax
cmpq %rax, %rdi
je 0x5450
movq -0x110(%rbp), %rsi
jmp 0x5434
jmp 0x544d
jmp 0x544d
jmp 0x544d
jmp 0x544d
jmp 0x544d
jmp 0x544d
jmp 0x544d
movq %rax, %rbx
movq -0x180(%rbp), %rdi
leaq -0x170(%rbp), %rax
cmpq %rax, %rdi
je 0x5450
movq -0x170(%rbp), %rsi
incq %rsi
callq 0x21b0
jmp 0x5450
jmp 0x544d
jmp 0x544d
jmp 0x544d
jmp 0x544d
jmp 0x544d
movq %rax, %rbx
jmp 0x5473
movq %rax, %rbx
leaq -0x58(%rbp), %r15
leaq -0xb8(%rbp), %rax
movq -0x10(%rax), %rdi
cmpq %rax, %rdi
je 0x5473
movq -0xb8(%rbp), %rsi
incq %rsi
callq 0x21b0
movq -0x68(%rbp), %rdi
cmpq %r15, %rdi
je 0x5488
movq -0x58(%rbp), %rsi
incq %rsi
callq 0x21b0
movq %rbx, %rdi
callq 0x2340