// File: Heptagon196[P]Gos/GosVM.cpp
// Function: GosVM::VMExecutable::Execute(ObjectPtr, std::vector<ObjectPtr, std::allocator<ObjectPtr>> const&)
SharedObject GosVM::VMExecutable::Execute(ObjectPtr instance, const std::vector<ObjectPtr>& params) {
    int progressBackup = readProgress;
    auto& memMgr = getMem();
    auto& mem = memMgr.mem;
    auto& cst = getConst();
    curContent = &getContent();
    auto& refl = ReflMgr::Instance();
    std::string* clsName;
    TypeID cls = Namespace::Global.Type();
    GosClass* clsInfo = nullptr;
    StartRead();
    while (readProgress < curContent->length() && readProgress < endPos) {
        int op = GetOperation();
        if (op == ATTR) {
            std::string attr = GetParamString();
            int len = GetParamInt();
            std::vector<std::string> attrs;
            while (len--) {
                attrs.push_back(GetParamString());
            }
            currentTag[attr] = attrs;
        } else if (op == DEF_CLASS) {
            clsName = &GetParamString();
            int len = GetParamInt();
            std::vector<std::string> inherits;
            while (len--) {
                inherits.push_back(GetParamString());
            }
            cls = ReflMgr::GetType(*clsName);
            if (!refl.HasClassInfo(cls)) {
                if (GosClass::classInfo.find(cls) == GosClass::classInfo.end()) {
                    GosClass::classInfo[cls] = GosClass(*clsName);
                }
                refl.AddVirtualClass(*clsName, [clsName](const std::vector<ObjectPtr>& params) {
                    auto ret = SharedObject::New<GosInstance>();
                    GosInstance& instance = ret.As<GosInstance>();
                    auto type = ReflMgr::GetType(*clsName);
                    GosClass* clsInfo = &GosClass::classInfo[type];
                    instance.info = clsInfo;
                    ret.ForceTypeTo(type);
                    for (auto [type, name] : clsInfo->vars) {
                        instance.field[name] = ReflMgr::Instance().New(type);
                    }
                    ret.ctor(params);
                    return ret;
                }, currentTag);
                currentTag = {};
                for (std::string& s : inherits) {
                    refl.AddVirtualInheritance(*clsName, s);
                }
            }
            clsInfo = &GosClass::classInfo[cls];
        } else if (op == DEF_MEMBER_VAR) {
            std::string& typeName = GetParamString();
            std::string& name = GetParamString();
            TypeID type = ReflMgr::GetType(typeName);
            clsInfo->vars.push_back({type, name});
            refl.RawAddField(cls, type, name, [&name](ObjectPtr instance) {
                return instance.As<GosInstance>().field[name];
            });
            refl.GetFieldTag(cls, name) = currentTag;
            currentTag = {};
        } else if (op == DEF_MEMBER_FUNC) {
            std::string& name = GetParamString();
            std::string& retName = GetParamString();
            TypeID ret = ReflMgr::GetType(retName);
            ArgsTypeList typeList;
            int cnt = GetParamInt();
            for (int i = 0; i < cnt; i++) {
                typeList.push_back(ReflMgr::GetType(GetParamString()));
            }
            int jmp = GetParamInt();
            clsInfo->method[name] = VMFunction(this, readProgress);
            auto* func = &clsInfo->method[name];
            refl.RawAddMethod(cls, name, ret, typeList, [func](ObjectPtr instance, const std::vector<ObjectPtr>& params) {
                return func->Execute(instance, params);
            });
            refl.GetMethodInfo(cls, name, typeList) = currentTag;
            currentTag = {};
            readProgress += jmp;
        } else if (op == DEF_STATIC_VAR) {
            TypeID type = ReflMgr::GetType(GetParamString());
            std::string& name = GetParamString();
            GosClass::staticVars[cls][name] = refl.New(type);
            SharedObject* obj = &GosClass::staticVars[cls][name];
            refl.RawAddStaticField(cls, type, name, [obj]() {
                return *obj;
            });
            refl.GetFieldTag(cls, name) = currentTag;
            currentTag = {};
        } else if (op == DEF_STATIC_FUNC) {
            std::string& name = GetParamString();
            std::string& retName = GetParamString();
            TypeID ret = ReflMgr::GetType(retName);
            ArgsTypeList typeList;
            int cnt = GetParamInt();
            for (int i = 0; i < cnt; i++) {
                typeList.push_back(ReflMgr::GetType(GetParamString()));
            }
            clsInfo->method[name] = VMFunction(this, readProgress);
            auto* func = &clsInfo->method[name];
            refl.RawAddStaticMethod(cls, name, ret, typeList, [func](const std::vector<ObjectPtr>& params) {
                return func->Execute(ObjectPtr::Null, params);
            });
            refl.GetMethodInfo(cls, name, typeList) = currentTag;
            currentTag = {};
            int jmp = GetParamInt();
            readProgress += jmp;
        } else if (op == ALLOC) {
            int size = GetParamInt();
            mem.resize(size);
        } else if (op == NS) {
            std::string& name = GetParamString();
            TypeID type = ReflMgr::GetType(name);
            GosClass::staticVars[cls][name] = SharedObject{ type, nullptr };
            SharedObject* obj = &GosClass::staticVars[cls][name];
            refl.RawAddStaticField(cls, type, name, [obj]() {
                return *obj;
            });
            refl.GetFieldTag(cls, name) = currentTag;
            currentTag = {};
        } else if (op == NEW) {
            auto& type = GetParamString();
            int id = GetParamInt();
            int len = GetParamInt();
            std::vector<ObjectPtr> params;
            while (len--) {
                params.push_back(mem[GetParamInt()]);
            }
            memMgr.NewVar(id, refl.New(type, params));
        } else if (op == NEW_STR) {
            int id = GetParamInt();
            std::string& s = GetParamString();
            memMgr.NewVar(id, SharedObject::New<std::string>(s));
        } else if (op == NEW_NUM) {
            int8_t type = GetParamByte();
            int id = GetParamInt();
            RTConstNum num = cst.nums[GetParamInt()];
            SharedObject obj;
            switch (type) {
                case 0: obj = SharedObject::New<int8_t>(num.data.i8); break;
                case 1: obj = SharedObject::New<int32_t>(num.data.i32); break;
                case 2: obj = SharedObject::New<int64_t>(num.data.i64); break;
                case 3: obj = SharedObject::New<float>(num.data.f); break;
                case 4: obj = SharedObject::New<double>(num.data.d); break;
            }
            memMgr.NewVar(id, obj);
        } else if (op == MOV) {
            int a = GetParamInt();
            int b = GetParamInt();
            mem[a].assign(mem[b]);
        } else if (op == REF) {
            int a = GetParamInt();
            int b = GetParamInt();
            mem[a] = mem[b];
        } else if (op == CLONE) {
            int a = GetParamInt();
            int b = GetParamInt();
            mem[a] = refl.New(mem[b].GetType());
            mem[a].assign(mem[b]);
        } else if (op == ARG) {
            int a = GetParamInt();
            int b = GetParamInt();
            SharedObject obj;
            if (b == 0) {
                obj = instance;
            } else {
                obj = params[b - 1];
                if (obj.GetType().getHash() == TypeID::get<ReflMgr::Any>().getHash()) {
                    obj = obj.As<ReflMgr::Any>().ToSharedPtr();
                }
            }
            memMgr.NewVar(a, obj);
        } else if (op == GET_FIELD) {
            int a = GetParamInt();
            int b = GetParamInt();
            std::string& field = GetParamString();
            mem[a] = mem[b].GetField(field);
        } else if (op == ADD) {
            int a = GetParamInt();
            int b = GetParamInt();
            mem[a].assign(mem[a] + mem[b]);
        } else if (op == SUB) {
            int a = GetParamInt();
            int b = GetParamInt();
            mem[a].assign(mem[a] - mem[b]);
        } else if (op == MUL) {
            int a = GetParamInt();
            int b = GetParamInt();
            mem[a].assign(mem[a] * mem[b]);
        } else if (op == DIV) {
            int a = GetParamInt();
            int b = GetParamInt();
            mem[a].assign(mem[a] / mem[b]);
        } else if (op == REM) {
            int a = GetParamInt();
            int b = GetParamInt();
            mem[a].assign(mem[a] % mem[b]);
        } else if (op == AND) {
            int a = GetParamInt();
            int b = GetParamInt();
            mem[a].As<bool>() = mem[a].Get<bool>() && mem[b].Get<bool>();
        } else if (op == OR) {
            int a = GetParamInt();
            int b = GetParamInt();
            mem[a].As<bool>() = mem[a].Get<bool>() || mem[b].Get<bool>();
        } else if (op == XOR) {
            int a = GetParamInt();
            int b = GetParamInt();
            mem[a].assign(mem[a] ^ mem[b]);
        } else if (op == NOT) {
            int a = GetParamInt();
            mem[a].As<bool>() = !mem[a].Get<bool>();
        } else if (op == RET) {
            int a = GetParamInt();
            readProgress = progressBackup;
            return mem[a];
        } else if (op == JMP) {
            int a = GetParamInt();
            readProgress += a;
        } else if (op == IF) {
            int a = GetParamInt();
            int b = GetParamInt();
            if (mem[a].Get<bool>()) {
                readProgress += b;
            }
        } else if (op == BOX) {
            int a = GetParamInt();
            int b = GetParamInt();
            mem[a] = SharedObject::New<SharedObject>(mem[b]);
        } else if (op == UNBOX) {
            int a = GetParamInt();
            int b = GetParamInt();
            mem[a] = mem[b].As<SharedObject>();
        } else if (op == CALL) {
            int i = GetParamInt();
            std::string& func = GetParamString();
            std::vector<ObjectPtr> params;
            int cnt = GetParamInt();
            while (cnt--) {
                int p = GetParamInt();
                params.push_back(mem[p]);
            }
            mem[0] = mem[i].Invoke(func, params);
            if (mem[0].GetType().getHash() == TypeID::get<ReflMgr::Any>().getHash()) {
                mem[0] = mem[0].As<ReflMgr::Any>().ToSharedPtr();
            }
        }
    }
    readProgress = progressBackup;
    return SharedObject::Null;
}

// Assembly:
subq $0x17b8, %rsp           # imm = 0x17B8
movq %rdx, 0x370(%rsp)
movq %rdi, 0x378(%rsp)
movq %rdi, %rax
movq %rax, 0x380(%rsp)
movq %rdi, 0x17b0(%rsp)
movq %rsi, 0x17a8(%rsp)
movq %rdx, 0x17a0(%rsp)
movq %rcx, 0x1798(%rsp)
movq 0x17a8(%rsp), %rdi
movq %rdi, 0x388(%rsp)
movl 0x18(%rdi), %eax
movl %eax, 0x1794(%rsp)
movq (%rdi), %rax
callq *(%rax)
movq 0x388(%rsp), %rdi
movq %rax, 0x1788(%rsp)
movq 0x1788(%rsp), %rax
movq %rax, 0x1780(%rsp)
movq (%rdi), %rax
callq *0x8(%rax)
movq 0x388(%rsp), %rdi
movq %rax, 0x1778(%rsp)
movq (%rdi), %rax
callq *0x10(%rax)
movq %rax, %rcx
movq 0x388(%rsp), %rax
movq %rcx, 0x8(%rax)
callq 0x4a240
movq %rax, 0x1770(%rsp)
leaq 0x1740(%rsp), %rdi
leaq 0x157688(%rip), %rsi    # 0x3013a0
callq 0x1dc20
movq 0x388(%rsp), %rdi
movq $0x0, 0x1738(%rsp)
callq 0x1a93a0
movq 0x388(%rsp), %rax
movslq 0x18(%rax), %rcx
movq %rcx, 0x360(%rsp)
movq 0x8(%rax), %rdi
callq 0x55b20
movq 0x360(%rsp), %rcx
movq %rax, %rdx
xorl %eax, %eax
cmpq %rdx, %rcx
movb %al, 0x36f(%rsp)
jae 0x1a9d84
movq 0x388(%rsp), %rcx
movl 0x18(%rcx), %eax
cmpl 0x14(%rcx), %eax
setl %al
movb %al, 0x36f(%rsp)
movb 0x36f(%rsp), %al
testb $0x1, %al
jne 0x1a9d94
jmp 0x1ad011
movq 0x388(%rsp), %rdi
callq 0x1a9910
movsbl (%rax), %eax
movl %eax, 0x1734(%rsp)
cmpl $0x2, 0x1734(%rsp)
jne 0x1a9ef2
movq 0x388(%rsp), %rdi
callq 0x1a9a90
movq %rax, %rsi
leaq 0x1710(%rsp), %rdi
callq 0x6f070
movq 0x388(%rsp), %rdi
callq 0x1a99a0
movq %rax, 0x358(%rsp)
jmp 0x1a9ded
movq 0x358(%rsp), %rax
movl (%rax), %eax
movl %eax, 0x170c(%rsp)
leaq 0x16e0(%rsp), %rdi
callq 0x1b4f70
movl 0x170c(%rsp), %eax
movl %eax, %ecx
addl $-0x1, %ecx
movl %ecx, 0x170c(%rsp)
cmpl $0x0, %eax
je 0x1a9e8c
movq 0x388(%rsp), %rdi
callq 0x1a9a90
movq %rax, 0x350(%rsp)
jmp 0x1a9e3a
movq 0x350(%rsp), %rsi
leaq 0x16e0(%rsp), %rdi
callq 0x1b4f80
jmp 0x1a9e51
jmp 0x1a9e0b
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x1700(%rsp)
movl %eax, 0x16fc(%rsp)
jmp 0x1a9ee0
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x1700(%rsp)
movl %eax, 0x16fc(%rsp)
leaq 0x16e0(%rsp), %rdi
callq 0x6ed80
jmp 0x1a9ee0
leaq 0x157745(%rip), %rdi    # 0x3015d8
leaq 0x1710(%rsp), %rsi
callq 0x1b4ff0
movq %rax, 0x348(%rsp)
jmp 0x1a9eaa
movq 0x348(%rsp), %rdi
leaq 0x16e0(%rsp), %rsi
callq 0x1b5020
jmp 0x1a9ec1
leaq 0x16e0(%rsp), %rdi
callq 0x6ed80
leaq 0x1710(%rsp), %rdi
callq 0x52f50
jmp 0x1ad00c
leaq 0x1710(%rsp), %rdi
callq 0x52f50
jmp 0x1ad047
cmpl $0x1, 0x1734(%rsp)
jne 0x1aa3ee
movq 0x388(%rsp), %rdi
callq 0x1a9a90
movq 0x388(%rsp), %rdi
movq %rax, 0x1768(%rsp)
callq 0x1a99a0
movl (%rax), %eax
movl %eax, 0x16dc(%rsp)
leaq 0x16c0(%rsp), %rdi
callq 0x1b4f70
movl 0x16dc(%rsp), %eax
movl %eax, %ecx
addl $-0x1, %ecx
movl %ecx, 0x16dc(%rsp)
cmpl $0x0, %eax
je 0x1a9f99
movq 0x388(%rsp), %rdi
callq 0x1a9a90
movq %rax, 0x340(%rsp)
jmp 0x1a9f67
movq 0x340(%rsp), %rsi
leaq 0x16c0(%rsp), %rdi
callq 0x1b4f80
jmp 0x1a9f7e
jmp 0x1a9f38
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x1700(%rsp)
movl %eax, 0x16fc(%rsp)
jmp 0x1aa3dc
movq 0x1768(%rsp), %rdi
callq 0x52f00
movq %rax, 0x1690(%rsp)
movq %rdx, 0x1698(%rsp)
movq 0x1690(%rsp), %rsi
movq 0x1698(%rsp), %rdx
leaq 0x16a0(%rsp), %rdi
callq 0x4a300
jmp 0x1a9fd5
movups 0x16a0(%rsp), %xmm0
movups 0x16aa(%rsp), %xmm1
movups %xmm1, 0x174a(%rsp)
movaps %xmm0, 0x1740(%rsp)
movq 0x1770(%rsp), %rdi
movaps 0x1740(%rsp), %xmm0
movaps 0x1750(%rsp), %xmm1
movaps %xmm1, 0x1680(%rsp)
movaps %xmm0, 0x1670(%rsp)
movaps 0x1670(%rsp), %xmm0
movaps 0x1680(%rsp), %xmm1
movq %rsp, %rax
movups %xmm1, 0x10(%rax)
movups %xmm0, (%rax)
callq 0x4a420
movb %al, 0x33f(%rsp)
jmp 0x1aa045
movb 0x33f(%rsp), %al
testb $0x1, %al
jne 0x1aa39c
jmp 0x1aa056
leaq 0x1575b3(%rip), %rdi    # 0x301610
leaq 0x1740(%rsp), %rsi
callq 0x1b5300
movq %rax, 0x330(%rsp)
jmp 0x1aa074
movq 0x330(%rsp), %rax
movq %rax, 0x1668(%rsp)
leaq 0x157585(%rip), %rdi    # 0x301610
callq 0x1b5330
movq %rax, 0x1660(%rsp)
leaq 0x1668(%rsp), %rdi
leaq 0x1660(%rsp), %rsi
callq 0x1b52e0
testb $0x1, %al
jne 0x1aa0b6
jmp 0x1aa17c
movq 0x1768(%rsp), %rsi
leaq 0x15d0(%rsp), %rdi
callq 0x6f070
jmp 0x1aa0cd
leaq 0x15f0(%rsp), %rdi
leaq 0x15d0(%rsp), %rsi
callq 0x1ad150
jmp 0x1aa0e4
leaq 0x157525(%rip), %rdi    # 0x301610
leaq 0x1740(%rsp), %rsi
callq 0x1b5360
movq %rax, 0x328(%rsp)
jmp 0x1aa102
movq 0x328(%rsp), %rdi
leaq 0x15f0(%rsp), %rsi
callq 0x1b5390
leaq 0x15f0(%rsp), %rdi
callq 0x1b53f0
leaq 0x15d0(%rsp), %rdi
callq 0x52f50
jmp 0x1aa17c
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x1700(%rsp)
movl %eax, 0x16fc(%rsp)
jmp 0x1aa16a
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x1700(%rsp)
movl %eax, 0x16fc(%rsp)
leaq 0x15f0(%rsp), %rdi
callq 0x1b53f0
leaq 0x15d0(%rsp), %rdi
callq 0x52f50
jmp 0x1aa3dc
movq 0x1770(%rsp), %rax
movq %rax, 0x320(%rsp)
movq 0x1768(%rsp), %rdi
callq 0x52f00
movq %rax, 0x15c0(%rsp)
movq %rdx, 0x15c8(%rsp)
movq 0x1768(%rsp), %rax
movq %rax, 0x1598(%rsp)
leaq 0x15a0(%rsp), %rdi
leaq 0x1598(%rsp), %rsi
callq 0x1b0310
leaq 0x157403(%rip), %rsi    # 0x3015d8
leaq 0x1560(%rsp), %rdi
callq 0x72420
jmp 0x1aa1e4
movq 0x320(%rsp), %rdi
movq 0x15c0(%rsp), %rsi
movq 0x15c8(%rsp), %rdx
leaq 0x15a0(%rsp), %rcx
leaq 0x1560(%rsp), %r8
callq 0x4beb0
jmp 0x1aa213
leaq 0x1560(%rsp), %rdi
callq 0x69ed0
leaq 0x15a0(%rsp), %rdi
callq 0x6d0c0
leaq 0x1550(%rsp), %rdi
callq 0x1b5430
movq 0x1550(%rsp), %rsi
movq 0x1558(%rsp), %rdx
leaq 0x157387(%rip), %rdi    # 0x3015d8
callq 0x1b5450
jmp 0x1aa258
leaq 0x16c0(%rsp), %rax
movq %rax, 0x1548(%rsp)
movq 0x1548(%rsp), %rdi
callq 0x1b54a0
movq %rax, 0x1540(%rsp)
movq 0x1548(%rsp), %rdi
callq 0x1b54d0
movq %rax, 0x1538(%rsp)
leaq 0x1540(%rsp), %rdi
leaq 0x1538(%rsp), %rsi
callq 0x1b5500
xorb $-0x1, %al
testb $0x1, %al
jne 0x1aa2b2
jmp 0x1aa39a
leaq 0x1540(%rsp), %rdi
callq 0x1b5540
movq %rax, 0x1530(%rsp)
movq 0x1770(%rsp), %rax
movq %rax, 0x318(%rsp)
movq 0x1768(%rsp), %rdi
callq 0x52f00
movq %rax, 0x1520(%rsp)
movq %rdx, 0x1528(%rsp)
movq 0x1530(%rsp), %rdi
callq 0x52f00
movq 0x318(%rsp), %rdi
movq %rax, 0x1510(%rsp)
movq %rdx, 0x1518(%rsp)
movq 0x1520(%rsp), %rsi
movq 0x1528(%rsp), %rdx
movq 0x1510(%rsp), %rcx
movq 0x1518(%rsp), %r8
callq 0x4bf60
jmp 0x1aa340
jmp 0x1aa342
leaq 0x1540(%rsp), %rdi
callq 0x1b5550
jmp 0x1aa292
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x1700(%rsp)
movl %eax, 0x16fc(%rsp)
jmp 0x1aa38b
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x1700(%rsp)
movl %eax, 0x16fc(%rsp)
leaq 0x1560(%rsp), %rdi
callq 0x69ed0
leaq 0x15a0(%rsp), %rdi
callq 0x6d0c0
jmp 0x1aa3dc
jmp 0x1aa39c
leaq 0x15726d(%rip), %rdi    # 0x301610
leaq 0x1740(%rsp), %rsi
callq 0x1b5360
movq %rax, 0x310(%rsp)
jmp 0x1aa3ba
movq 0x310(%rsp), %rax
movq %rax, 0x1738(%rsp)
leaq 0x16c0(%rsp), %rdi
callq 0x6ed80
jmp 0x1ad00a
leaq 0x16c0(%rsp), %rdi
callq 0x6ed80
jmp 0x1ad047
cmpl $0x3, 0x1734(%rsp)
jne 0x1aa702
movq 0x388(%rsp), %rdi
callq 0x1a9a90
movq 0x388(%rsp), %rdi
movq %rax, 0x1508(%rsp)
callq 0x1a9a90
movq %rax, 0x1500(%rsp)
movq 0x1508(%rsp), %rdi
callq 0x52f00
movq %rax, 0x14d0(%rsp)
movq %rdx, 0x14d8(%rsp)
movq 0x14d0(%rsp), %rsi
movq 0x14d8(%rsp), %rdx
leaq 0x14e0(%rsp), %rdi
movq %rdi, 0x2f8(%rsp)
callq 0x4a300
movq 0x2f8(%rsp), %rsi
movq 0x1738(%rsp), %rax
addq $0x20, %rax
movq %rax, 0x300(%rsp)
movq 0x1500(%rsp), %rdx
leaq 0x1490(%rsp), %rdi
movq %rdi, 0x308(%rsp)
callq 0x1b55a0
movq 0x300(%rsp), %rdi
movq 0x308(%rsp), %rsi
callq 0x1b5570
jmp 0x1aa4b8
leaq 0x1490(%rsp), %rdi
callq 0x164420
movq 0x1770(%rsp), %rax
movq %rax, 0x2e8(%rsp)
movups 0x1740(%rsp), %xmm0
movups 0x1750(%rsp), %xmm1
movaps %xmm1, 0x1480(%rsp)
movaps %xmm0, 0x1470(%rsp)
movups 0x14e0(%rsp), %xmm0
movups 0x14f0(%rsp), %xmm1
movaps %xmm1, 0x1460(%rsp)
movaps %xmm0, 0x1450(%rsp)
movq 0x1500(%rsp), %rdi
callq 0x52f00
movq %rax, 0x1440(%rsp)
movq %rdx, 0x1448(%rsp)
movq 0x1500(%rsp), %rax
movq %rax, 0x1418(%rsp)
leaq 0x1420(%rsp), %rdi
movq %rdi, 0x2f0(%rsp)
leaq 0x1418(%rsp), %rsi
callq 0x1b03a0
movq 0x2e8(%rsp), %rdi
movq 0x2f0(%rsp), %rcx
movq 0x1440(%rsp), %rsi
movq 0x1448(%rsp), %rdx
movaps 0x1450(%rsp), %xmm0
movaps 0x1460(%rsp), %xmm1
movq %rsp, %rax
movups %xmm1, 0x30(%rax)
movups %xmm0, 0x20(%rax)
movaps 0x1470(%rsp), %xmm0
movaps 0x1480(%rsp), %xmm1
movups %xmm1, 0x10(%rax)
movups %xmm0, (%rax)
callq 0x4c500
jmp 0x1aa5b8
leaq 0x1420(%rsp), %rdi
callq 0x198000
movq 0x1770(%rsp), %rax
movq %rax, 0x2e0(%rsp)
movq 0x1740(%rsp), %rax
movq %rax, 0x13f8(%rsp)
movq 0x1748(%rsp), %rax
movq %rax, 0x1400(%rsp)
movq 0x1750(%rsp), %rax
movq %rax, 0x1408(%rsp)
movq 0x1758(%rsp), %rax
movq %rax, 0x1410(%rsp)
movq 0x1500(%rsp), %rdi
callq 0x52f00
movq 0x2e0(%rsp), %rdi
movq %rax, 0x13e8(%rsp)
movq %rdx, 0x13f0(%rsp)
movq 0x13e8(%rsp), %rsi
movq 0x13f0(%rsp), %rdx
leaq 0x13f8(%rsp), %rax
movq (%rax), %rcx
movq %rcx, (%rsp)
movq 0x8(%rax), %rcx
movq %rcx, 0x8(%rsp)
movq 0x10(%rax), %rcx
movq %rcx, 0x10(%rsp)
movq 0x18(%rax), %rax
movq %rax, 0x18(%rsp)
callq 0x4c150
movq %rax, %rdi
leaq 0x156f55(%rip), %rsi    # 0x3015d8
callq 0x6ba00
leaq 0x13d8(%rsp), %rdi
callq 0x1b5430
movq 0x13d8(%rsp), %rsi
movq 0x13e0(%rsp), %rdx
leaq 0x156f2c(%rip), %rdi    # 0x3015d8
callq 0x1b5450
jmp 0x1ad008
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x1700(%rsp)
movl %eax, 0x16fc(%rsp)
leaq 0x1490(%rsp), %rdi
callq 0x164420
jmp 0x1ad047
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x1700(%rsp)
movl %eax, 0x16fc(%rsp)
leaq 0x1420(%rsp), %rdi
callq 0x198000
jmp 0x1ad047
cmpl $0x4, 0x1734(%rsp)
jne 0x1aab49
movq 0x388(%rsp), %rdi
callq 0x1a9a90
movq 0x388(%rsp), %rdi
movq %rax, 0x13d0(%rsp)
callq 0x1a9a90
movq %rax, 0x13c8(%rsp)
movq 0x13c8(%rsp), %rdi
callq 0x52f00
movq %rax, 0x1398(%rsp)
movq %rdx, 0x13a0(%rsp)
movq 0x1398(%rsp), %rsi
movq 0x13a0(%rsp), %rdx
leaq 0x13a8(%rsp), %rdi
callq 0x4a300
leaq 0x1380(%rsp), %rdi
callq 0x56250
movq 0x388(%rsp), %rdi
callq 0x1a99a0
movq %rax, 0x2d8(%rsp)
jmp 0x1aa798
movq 0x2d8(%rsp), %rax
movl (%rax), %eax
movl %eax, 0x137c(%rsp)
movl $0x0, 0x1378(%rsp)
movl 0x1378(%rsp), %eax
cmpl 0x137c(%rsp), %eax
jge 0x1aa863
movq 0x388(%rsp), %rdi
callq 0x1a9a90
movq %rax, 0x2d0(%rsp)
jmp 0x1aa7df
movq 0x2d0(%rsp), %rdi
callq 0x52f00
movq %rax, 0x1348(%rsp)
movq %rdx, 0x1350(%rsp)
movq 0x1348(%rsp), %rsi
movq 0x1350(%rsp), %rdx
leaq 0x1358(%rsp), %rdi
callq 0x4a300
jmp 0x1aa81b
leaq 0x1380(%rsp), %rdi
leaq 0x1358(%rsp), %rsi
callq 0x56310
jmp 0x1aa832
jmp 0x1aa834
movl 0x1378(%rsp), %eax
addl $0x1, %eax
movl %eax, 0x1378(%rsp)
jmp 0x1aa7b4
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x1700(%rsp)
movl %eax, 0x16fc(%rsp)
jmp 0x1aab37
movq 0x388(%rsp), %rdi
callq 0x1a99a0
movq %rax, 0x2c8(%rsp)
jmp 0x1aa87a
movq 0x388(%rsp), %rsi
movq 0x2c8(%rsp), %rax
movl (%rax), %eax
movl %eax, 0x1344(%rsp)
movl 0x18(%rsi), %edx
leaq 0x1310(%rsp), %rdi
callq 0x1ad0c0
jmp 0x1aa8a5
movq 0x1738(%rsp), %rdi
addq $0x38, %rdi
movq 0x13d0(%rsp), %rsi
callq 0x1b55f0
movq %rax, 0x2c0(%rsp)
jmp 0x1aa8c8
movq 0x2c0(%rsp), %rdi
leaq 0x1310(%rsp), %rsi
callq 0x1b5620
movq 0x1738(%rsp), %rdi
addq $0x38, %rdi
movq 0x13d0(%rsp), %rsi
callq 0x1b55f0
movq %rax, 0x2b8(%rsp)
jmp 0x1aa900
movq 0x2b8(%rsp), %rax
movq %rax, 0x1308(%rsp)
movq 0x1770(%rsp), %rax
movq %rax, 0x2a8(%rsp)
movups 0x1740(%rsp), %xmm0
movups 0x1750(%rsp), %xmm1
movaps %xmm1, 0x12f0(%rsp)
movaps %xmm0, 0x12e0(%rsp)
movq 0x13d0(%rsp), %rdi
callq 0x52f00
movq %rax, 0x12d0(%rsp)
movq %rdx, 0x12d8(%rsp)
movups 0x13a8(%rsp), %xmm0
movups 0x13b8(%rsp), %xmm1
movaps %xmm1, 0x12c0(%rsp)
movaps %xmm0, 0x12b0(%rsp)
movq 0x1308(%rsp), %rax
movq %rax, 0x1288(%rsp)
leaq 0x1290(%rsp), %rdi
movq %rdi, 0x2b0(%rsp)
leaq 0x1288(%rsp), %rsi
callq 0x1b0430
movq 0x2a8(%rsp), %rdi
movq 0x2b0(%rsp), %r8
movq 0x12d0(%rsp), %rsi
movq 0x12d8(%rsp), %rdx
movaps 0x12b0(%rsp), %xmm0
movaps 0x12c0(%rsp), %xmm1
movq %rsp, %rax
movups %xmm1, 0x30(%rax)
movups %xmm0, 0x20(%rax)
movaps 0x12e0(%rsp), %xmm0
movaps 0x12f0(%rsp), %xmm1
movups %xmm1, 0x10(%rax)
movups %xmm0, (%rax)
leaq 0x1380(%rsp), %rcx
callq 0x4cdc0
jmp 0x1aaa0b
leaq 0x1290(%rsp), %rdi
callq 0x192d00
movq 0x1770(%rsp), %rax
movq %rax, 0x298(%rsp)
movups 0x1740(%rsp), %xmm0
movups 0x1750(%rsp), %xmm1
movaps %xmm1, 0x1270(%rsp)
movaps %xmm0, 0x1260(%rsp)
movq 0x13d0(%rsp), %rdi
callq 0x52f00
movq 0x298(%rsp), %rdi
movq %rax, 0x1250(%rsp)
movq %rdx, 0x1258(%rsp)
movq 0x1250(%rsp), %rsi
movq 0x1258(%rsp), %rdx
movaps 0x1260(%rsp), %xmm0
movaps 0x1270(%rsp), %xmm1
movq %rsp, %rax
movups %xmm1, 0x10(%rax)
movups %xmm0, (%rax)
leaq 0x1380(%rsp), %rcx
callq 0x4c310
movq %rax, 0x2a0(%rsp)
jmp 0x1aaaae
movq 0x2a0(%rsp), %rdi
leaq 0x156b1b(%rip), %rsi    # 0x3015d8
callq 0x6ba00
jmp 0x1aaac4
leaq 0x1240(%rsp), %rdi
callq 0x1b5430
movq 0x1240(%rsp), %rsi
movq 0x1248(%rsp), %rdx
leaq 0x156af0(%rip), %rdi    # 0x3015d8
callq 0x1b5450
jmp 0x1aaaef
movq 0x388(%rsp), %rax
movl 0x1344(%rsp), %ecx
addl 0x18(%rax), %ecx
movl %ecx, 0x18(%rax)
leaq 0x1380(%rsp), %rdi
callq 0x56a10
jmp 0x1ad006
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x1700(%rsp)
movl %eax, 0x16fc(%rsp)
leaq 0x1290(%rsp), %rdi
callq 0x192d00
leaq 0x1380(%rsp), %rdi
callq 0x56a10
jmp 0x1ad047
cmpl $0x5, 0x1734(%rsp)
jne 0x1aaf43
movq 0x388(%rsp), %rdi
callq 0x1a9a90
movq %rax, %rdi
callq 0x52f00
movq %rax, 0x1210(%rsp)
movq %rdx, 0x1218(%rsp)
movq 0x1210(%rsp), %rsi
movq 0x1218(%rsp), %rdx
leaq 0x1220(%rsp), %rdi
callq 0x4a300
movq 0x388(%rsp), %rdi
callq 0x1a9a90
movq %rax, 0x1208(%rsp)
movq 0x1770(%rsp), %rax
movq %rax, 0x288(%rsp)
movups 0x1220(%rsp), %xmm0
movups 0x1230(%rsp), %xmm1
movaps %xmm1, 0x11c0(%rsp)
movaps %xmm0, 0x11b0(%rsp)
xorps %xmm0, %xmm0
movaps %xmm0, 0x1190(%rsp)
movq $0x0, 0x11a0(%rsp)
leaq 0x1190(%rsp), %rdi
movq %rdi, 0x290(%rsp)
callq 0x53b40
movq 0x288(%rsp), %rsi
movq 0x290(%rsp), %rdx
movaps 0x11b0(%rsp), %xmm0
movaps 0x11c0(%rsp), %xmm1
movq %rsp, %rax
movups %xmm1, 0x10(%rax)
movups %xmm0, (%rax)
leaq 0x11d0(%rsp), %rdi
callq 0x4b210
jmp 0x1aac43
leaq 0x1569fe(%rip), %rdi    # 0x301648
leaq 0x1740(%rsp), %rsi
callq 0x1b5660
movq %rax, 0x280(%rsp)
jmp 0x1aac61
movq 0x280(%rsp), %rdi
movq 0x1208(%rsp), %rsi
callq 0x1b5690
movq %rax, 0x278(%rsp)
jmp 0x1aac80
movq 0x278(%rsp), %rdi
leaq 0x11d0(%rsp), %rsi
movq %rsi, 0x260(%rsp)
callq 0x52cd0
movq 0x260(%rsp), %rdi
callq 0x23b00
leaq 0x1190(%rsp), %rdi
callq 0x53b50
leaq 0x15698a(%rip), %rdi    # 0x301648
leaq 0x1740(%rsp), %rsi
callq 0x1b5660
movq %rax, %rdi
movq 0x1208(%rsp), %rsi
callq 0x1b5690
movq %rax, 0x1188(%rsp)
movq 0x1770(%rsp), %rax
movq %rax, 0x268(%rsp)
movups 0x1740(%rsp), %xmm0
movups 0x1750(%rsp), %xmm1
movaps %xmm1, 0x1170(%rsp)
movaps %xmm0, 0x1160(%rsp)
movups 0x1220(%rsp), %xmm0
movups 0x1230(%rsp), %xmm1
movaps %xmm1, 0x1150(%rsp)
movaps %xmm0, 0x1140(%rsp)
movq 0x1208(%rsp), %rdi
callq 0x52f00
movq %rax, 0x1130(%rsp)
movq %rdx, 0x1138(%rsp)
movq 0x1188(%rsp), %rax
movq %rax, 0x1108(%rsp)
leaq 0x1110(%rsp), %rdi
movq %rdi, 0x270(%rsp)
leaq 0x1108(%rsp), %rsi
callq 0x1b04c0
movq 0x268(%rsp), %rdi
movq 0x270(%rsp), %rcx
movq 0x1130(%rsp), %rsi
movq 0x1138(%rsp), %rdx
movaps 0x1140(%rsp), %xmm0
movaps 0x1150(%rsp), %xmm1
movq %rsp, %rax
movups %xmm1, 0x30(%rax)
movups %xmm0, 0x20(%rax)
movaps 0x1160(%rsp), %xmm0
movaps 0x1170(%rsp), %xmm1
movups %xmm1, 0x10(%rax)
movups %xmm0, (%rax)
callq 0x4c910
jmp 0x1aadd6
leaq 0x1110(%rsp), %rdi
callq 0x198010
movq 0x1770(%rsp), %rax
movq %rax, 0x258(%rsp)
movq 0x1740(%rsp), %rax
movq %rax, 0x10e8(%rsp)
movq 0x1748(%rsp), %rax
movq %rax, 0x10f0(%rsp)
movq 0x1750(%rsp), %rax
movq %rax, 0x10f8(%rsp)
movq 0x1758(%rsp), %rax
movq %rax, 0x1100(%rsp)
movq 0x1208(%rsp), %rdi
callq 0x52f00
movq 0x258(%rsp), %rdi
movq %rax, 0x10d8(%rsp)
movq %rdx, 0x10e0(%rsp)
movq 0x10d8(%rsp), %rsi
movq 0x10e0(%rsp), %rdx
leaq 0x10e8(%rsp), %rax
movq (%rax), %rcx
movq %rcx, (%rsp)
movq 0x8(%rax), %rcx
movq %rcx, 0x8(%rsp)
movq 0x10(%rax), %rcx
movq %rcx, 0x10(%rsp)
movq 0x18(%rax), %rax
movq %rax, 0x18(%rsp)
callq 0x4c150
movq %rax, %rdi
leaq 0x156737(%rip), %rsi    # 0x3015d8
callq 0x6ba00
leaq 0x10c8(%rsp), %rdi
callq 0x1b5430
movq 0x10c8(%rsp), %rsi
movq 0x10d0(%rsp), %rdx
leaq 0x15670e(%rip), %rdi    # 0x3015d8
callq 0x1b5450
jmp 0x1ad004
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x1700(%rsp)
movl %eax, 0x16fc(%rsp)
jmp 0x1aaf0b
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x1700(%rsp)
movl %eax, 0x16fc(%rsp)
leaq 0x11d0(%rsp), %rdi
callq 0x23b00
leaq 0x1190(%rsp), %rdi
callq 0x53b50
jmp 0x1ad047
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x1700(%rsp)
movl %eax, 0x16fc(%rsp)
leaq 0x1110(%rsp), %rdi
callq 0x198010
jmp 0x1ad047
cmpl $0x6, 0x1734(%rsp)
jne 0x1ab38a
movq 0x388(%rsp), %rdi
callq 0x1a9a90
movq 0x388(%rsp), %rdi
movq %rax, 0x10c0(%rsp)
callq 0x1a9a90
movq %rax, 0x10b8(%rsp)
movq 0x10b8(%rsp), %rdi
callq 0x52f00
movq %rax, 0x1088(%rsp)
movq %rdx, 0x1090(%rsp)
movq 0x1088(%rsp), %rsi
movq 0x1090(%rsp), %rdx
leaq 0x1098(%rsp), %rdi
callq 0x4a300
leaq 0x1070(%rsp), %rdi
callq 0x56250
movq 0x388(%rsp), %rdi
callq 0x1a99a0
movq %rax, 0x250(%rsp)
jmp 0x1aafd9
movq 0x250(%rsp), %rax
movl (%rax), %eax
movl %eax, 0x106c(%rsp)
movl $0x0, 0x1068(%rsp)
movl 0x1068(%rsp), %eax
cmpl 0x106c(%rsp), %eax
jge 0x1ab0a4
movq 0x388(%rsp), %rdi
callq 0x1a9a90
movq %rax, 0x248(%rsp)
jmp 0x1ab020
movq 0x248(%rsp), %rdi
callq 0x52f00
movq %rax, 0x1038(%rsp)
movq %rdx, 0x1040(%rsp)
movq 0x1038(%rsp), %rsi
movq 0x1040(%rsp), %rdx
leaq 0x1048(%rsp), %rdi
callq 0x4a300
jmp 0x1ab05c
leaq 0x1070(%rsp), %rdi
leaq 0x1048(%rsp), %rsi
callq 0x56310
jmp 0x1ab073
jmp 0x1ab075
movl 0x1068(%rsp), %eax
addl $0x1, %eax
movl %eax, 0x1068(%rsp)
jmp 0x1aaff5
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x1700(%rsp)
movl %eax, 0x16fc(%rsp)
jmp 0x1ab378
movq 0x388(%rsp), %rsi
movl 0x18(%rsi), %edx
leaq 0x1008(%rsp), %rdi
callq 0x1ad0c0
jmp 0x1ab0be
movq 0x1738(%rsp), %rdi
addq $0x38, %rdi
movq 0x10c0(%rsp), %rsi
callq 0x1b55f0
movq %rax, 0x240(%rsp)
jmp 0x1ab0e1
movq 0x240(%rsp), %rdi
leaq 0x1008(%rsp), %rsi
callq 0x1b5620
movq 0x1738(%rsp), %rdi
addq $0x38, %rdi
movq 0x10c0(%rsp), %rsi
callq 0x1b55f0
movq %rax, 0x238(%rsp)
jmp 0x1ab119
movq 0x238(%rsp), %rax
movq %rax, 0x1000(%rsp)
movq 0x1770(%rsp), %rax
movq %rax, 0x228(%rsp)
movups 0x1740(%rsp), %xmm0
movups 0x1750(%rsp), %xmm1
movaps %xmm1, 0xff0(%rsp)
movaps %xmm0, 0xfe0(%rsp)
movq 0x10c0(%rsp), %rdi
callq 0x52f00
movq %rax, 0xfd0(%rsp)
movq %rdx, 0xfd8(%rsp)
movups 0x1098(%rsp), %xmm0
movups 0x10a8(%rsp), %xmm1
movaps %xmm1, 0xfc0(%rsp)
movaps %xmm0, 0xfb0(%rsp)
movq 0x1000(%rsp), %rax
movq %rax, 0xf88(%rsp)
leaq 0xf90(%rsp), %rdi
movq %rdi, 0x230(%rsp)
leaq 0xf88(%rsp), %rsi
callq 0x1b0550
movq 0x228(%rsp), %rdi
movq 0x230(%rsp), %r8
movq 0xfd0(%rsp), %rsi
movq 0xfd8(%rsp), %rdx
movaps 0xfb0(%rsp), %xmm0
movaps 0xfc0(%rsp), %xmm1
movq %rsp, %rax
movups %xmm1, 0x30(%rax)
movups %xmm0, 0x20(%rax)
movaps 0xfe0(%rsp), %xmm0
movaps 0xff0(%rsp), %xmm1
movups %xmm1, 0x10(%rax)
movups %xmm0, (%rax)
leaq 0x1070(%rsp), %rcx
callq 0x4d590
jmp 0x1ab224
leaq 0xf90(%rsp), %rdi
callq 0x6d0c0
movq 0x1770(%rsp), %rax
movq %rax, 0x218(%rsp)
movups 0x1740(%rsp), %xmm0
movups 0x1750(%rsp), %xmm1
movaps %xmm1, 0xf70(%rsp)
movaps %xmm0, 0xf60(%rsp)
movq 0x10c0(%rsp), %rdi
callq 0x52f00
movq 0x218(%rsp), %rdi
movq %rax, 0xf50(%rsp)
movq %rdx, 0xf58(%rsp)
movq 0xf50(%rsp), %rsi
movq 0xf58(%rsp), %rdx
movaps 0xf60(%rsp), %xmm0
movaps 0xf70(%rsp), %xmm1
movq %rsp, %rax
movups %xmm1, 0x10(%rax)
movups %xmm0, (%rax)
leaq 0x1070(%rsp), %rcx
callq 0x4c310
movq %rax, 0x220(%rsp)
jmp 0x1ab2c7
movq 0x220(%rsp), %rdi
leaq 0x156302(%rip), %rsi    # 0x3015d8
callq 0x6ba00
jmp 0x1ab2dd
leaq 0xf40(%rsp), %rdi
callq 0x1b5430
movq 0xf40(%rsp), %rsi
movq 0xf48(%rsp), %rdx
leaq 0x1562d7(%rip), %rdi    # 0x3015d8
callq 0x1b5450
jmp 0x1ab308
movq 0x388(%rsp), %rdi
callq 0x1a99a0
movq %rax, 0x210(%rsp)
jmp 0x1ab31f
movq 0x388(%rsp), %rax
movq 0x210(%rsp), %rcx
movl (%rcx), %ecx
movl %ecx, 0xf3c(%rsp)
movl 0xf3c(%rsp), %ecx
addl 0x18(%rax), %ecx
movl %ecx, 0x18(%rax)
leaq 0x1070(%rsp), %rdi
callq 0x56a10
jmp 0x1ad002
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x1700(%rsp)
movl %eax, 0x16fc(%rsp)
leaq 0xf90(%rsp), %rdi
callq 0x6d0c0
leaq 0x1070(%rsp), %rdi
callq 0x56a10
jmp 0x1ad047
cmpl $0x7, 0x1734(%rsp)
jne 0x1ab3c4
movq 0x388(%rsp), %rdi
callq 0x1a99a0
movl (%rax), %eax
movl %eax, 0xf38(%rsp)
movq 0x1780(%rsp), %rdi
movslq 0xf38(%rsp), %rsi
callq 0x1b56c0
jmp 0x1ad000
cmpl $0xa, 0x1734(%rsp)
jne 0x1ab73c
movq 0x388(%rsp), %rdi
callq 0x1a9a90
movq %rax, 0xf30(%rsp)
movq 0xf30(%rsp), %rdi
callq 0x52f00
movq %rax, 0xf00(%rsp)
movq %rdx, 0xf08(%rsp)
movq 0xf00(%rsp), %rsi
movq 0xf08(%rsp), %rdx
leaq 0xf10(%rsp), %rdi
callq 0x4a300
movups 0xf10(%rsp), %xmm0
movups 0xf20(%rsp), %xmm1
movaps %xmm1, 0xeb0(%rsp)
movaps %xmm0, 0xea0(%rsp)
movaps 0xea0(%rsp), %xmm0
movaps 0xeb0(%rsp), %xmm1
movq %rsp, %rax
movups %xmm1, 0x10(%rax)
movups %xmm0, (%rax)
xorl %eax, %eax
movl %eax, %esi
leaq 0xec8(%rsp), %rdi
callq 0x1e590
leaq 0x1561d5(%rip), %rdi    # 0x301648
leaq 0x1740(%rsp), %rsi
callq 0x1b5660
movq %rax, 0x208(%rsp)
jmp 0x1ab48a
movq 0x208(%rsp), %rdi
movq 0xf30(%rsp), %rsi
callq 0x1b5690
movq %rax, 0x200(%rsp)
jmp 0x1ab4a9
movq 0x200(%rsp), %rdi
leaq 0xec8(%rsp), %rsi
movq %rsi, 0x1e8(%rsp)
callq 0x52cd0
movq 0x1e8(%rsp), %rdi
callq 0x23b00
leaq 0x15616e(%rip), %rdi    # 0x301648
leaq 0x1740(%rsp), %rsi
callq 0x1b5660
movq %rax, %rdi
movq 0xf30(%rsp), %rsi
callq 0x1b5690
movq %rax, 0xe98(%rsp)
movq 0x1770(%rsp), %rax
movq %rax, 0x1f0(%rsp)
movups 0x1740(%rsp), %xmm0
movups 0x1750(%rsp), %xmm1
movaps %xmm1, 0xe80(%rsp)
movaps %xmm0, 0xe70(%rsp)
movups 0xf10(%rsp), %xmm0
movups 0xf20(%rsp), %xmm1
movaps %xmm1, 0xe60(%rsp)
movaps %xmm0, 0xe50(%rsp)
movq 0xf30(%rsp), %rdi
callq 0x52f00
movq %rax, 0xe40(%rsp)
movq %rdx, 0xe48(%rsp)
movq 0xe98(%rsp), %rax
movq %rax, 0xe18(%rsp)
leaq 0xe20(%rsp), %rdi
movq %rdi, 0x1f8(%rsp)
leaq 0xe18(%rsp), %rsi
callq 0x1b05e0
movq 0x1f0(%rsp), %rdi
movq 0x1f8(%rsp), %rcx
movq 0xe40(%rsp), %rsi
movq 0xe48(%rsp), %rdx
movaps 0xe50(%rsp), %xmm0
movaps 0xe60(%rsp), %xmm1
movq %rsp, %rax
movups %xmm1, 0x30(%rax)
movups %xmm0, 0x20(%rax)
movaps 0xe70(%rsp), %xmm0
movaps 0xe80(%rsp), %xmm1
movups %xmm1, 0x10(%rax)
movups %xmm0, (%rax)
callq 0x4c910
jmp 0x1ab5f2
leaq 0xe20(%rsp), %rdi
callq 0x198010
movq 0x1770(%rsp), %rax
movq %rax, 0x1e0(%rsp)
movq 0x1740(%rsp), %rax
movq %rax, 0xdf8(%rsp)
movq 0x1748(%rsp), %rax
movq %rax, 0xe00(%rsp)
movq 0x1750(%rsp), %rax
movq %rax, 0xe08(%rsp)
movq 0x1758(%rsp), %rax
movq %rax, 0xe10(%rsp)
movq 0xf30(%rsp), %rdi
callq 0x52f00
movq 0x1e0(%rsp), %rdi
movq %rax, 0xde8(%rsp)
movq %rdx, 0xdf0(%rsp)
movq 0xde8(%rsp), %rsi
movq 0xdf0(%rsp), %rdx
leaq 0xdf8(%rsp), %rax
movq (%rax), %rcx
movq %rcx, (%rsp)
movq 0x8(%rax), %rcx
movq %rcx, 0x8(%rsp)
movq 0x10(%rax), %rcx
movq %rcx, 0x10(%rsp)
movq 0x18(%rax), %rax
movq %rax, 0x18(%rsp)
callq 0x4c150
movq %rax, %rdi
leaq 0x155f1b(%rip), %rsi    # 0x3015d8
callq 0x6ba00
leaq 0xdd8(%rsp), %rdi
callq 0x1b5430
movq 0xdd8(%rsp), %rsi
movq 0xde0(%rsp), %rdx
leaq 0x155ef2(%rip), %rdi    # 0x3015d8
callq 0x1b5450
jmp 0x1acffe
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x1700(%rsp)
movl %eax, 0x16fc(%rsp)
leaq 0xec8(%rsp), %rdi
callq 0x23b00
jmp 0x1ad047
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x1700(%rsp)
movl %eax, 0x16fc(%rsp)
leaq 0xe20(%rsp), %rdi
callq 0x198010
jmp 0x1ad047
cmpl $0xb, 0x1734(%rsp)
jne 0x1ab924
movq 0x388(%rsp), %rdi
callq 0x1a9a90
movq 0x388(%rsp), %rdi
movq %rax, 0xdd0(%rsp)
callq 0x1a99a0
movq 0x388(%rsp), %rdi
movl (%rax), %eax
movl %eax, 0xdcc(%rsp)
callq 0x1a99a0
movl (%rax), %eax
movl %eax, 0xdc8(%rsp)
leaq 0xdb0(%rsp), %rdi
callq 0x53b40
movl 0xdc8(%rsp), %eax
movl %eax, %ecx
addl $-0x1, %ecx
movl %ecx, 0xdc8(%rsp)
cmpl $0x0, %eax
je 0x1ab83a
movq 0x388(%rsp), %rdi
movq 0x1780(%rsp), %rax
movq %rax, 0x1d0(%rsp)
callq 0x1a99a0
movq %rax, 0x1d8(%rsp)
jmp 0x1ab7db
movq 0x1d0(%rsp), %rdi
movq 0x1d8(%rsp), %rax
movslq (%rax), %rsi
callq 0x1b4f50
movq %rax, %rsi
leaq 0xd88(%rsp), %rdi
callq 0x1e190
jmp 0x1ab805
leaq 0xdb0(%rsp), %rdi
leaq 0xd88(%rsp), %rsi
callq 0x1a0430
jmp 0x1ab81c
jmp 0x1ab798
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x1700(%rsp)
movl %eax, 0x16fc(%rsp)
jmp 0x1ab912
movq 0x1788(%rsp), %rax
movq %rax, 0x1b8(%rsp)
movl 0xdcc(%rsp), %eax
movl %eax, 0x1c4(%rsp)
movq 0x1770(%rsp), %rax
movq %rax, 0x1c8(%rsp)
movq 0xdd0(%rsp), %rdi
callq 0x52f00
movq 0x1c8(%rsp), %rsi
movq %rax, 0xd40(%rsp)
movq %rdx, 0xd48(%rsp)
movq 0xd40(%rsp), %rdx
movq 0xd48(%rsp), %rcx
leaq 0xd50(%rsp), %rdi
leaq 0xdb0(%rsp), %r8
callq 0x4b490
jmp 0x1ab8b4
movl 0x1c4(%rsp), %esi
movq 0x1b8(%rsp), %rdi
leaq 0xd50(%rsp), %rdx
callq 0x1b0270
jmp 0x1ab8d2
leaq 0xd50(%rsp), %rdi
callq 0x23b00
leaq 0xdb0(%rsp), %rdi
callq 0x53b50
jmp 0x1acffc
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x1700(%rsp)
movl %eax, 0x16fc(%rsp)
leaq 0xd50(%rsp), %rdi
callq 0x23b00
leaq 0xdb0(%rsp), %rdi
callq 0x53b50
jmp 0x1ad047
cmpl $0xc, 0x1734(%rsp)
jne 0x1ab9ee
movq 0x388(%rsp), %rdi
callq 0x1a99a0
movq 0x388(%rsp), %rdi
movl (%rax), %eax
movl %eax, 0xd3c(%rsp)
callq 0x1a9a90
movq %rax, 0xd30(%rsp)
movq 0x1788(%rsp), %rax
movq %rax, 0x1a0(%rsp)
movl 0xd3c(%rsp), %eax
movl %eax, 0x1ac(%rsp)
movq 0xd30(%rsp), %rsi
leaq 0xcf8(%rsp), %rdi
movq %rdi, 0x1b0(%rsp)
callq 0x164bd0
movq 0x1a0(%rsp), %rdi
movl 0x1ac(%rsp), %esi
movq 0x1b0(%rsp), %rdx
callq 0x1b0270
jmp 0x1ab9b6
leaq 0xcf8(%rsp), %rdi
callq 0x23b00
jmp 0x1acffa
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x1700(%rsp)
movl %eax, 0x16fc(%rsp)
leaq 0xcf8(%rsp), %rdi
callq 0x23b00
jmp 0x1ad047
cmpl $0xd, 0x1734(%rsp)
jne 0x1abc8d
movq 0x388(%rsp), %rdi
callq 0x1a9970
movq 0x388(%rsp), %rdi
movb (%rax), %al
movb %al, 0xcf7(%rsp)
callq 0x1a99a0
movq 0x388(%rsp), %rdi
movl (%rax), %eax
movl %eax, 0xcf0(%rsp)
movq 0x1778(%rsp), %rax
addq $0x50, %rax
movq %rax, 0x190(%rsp)
callq 0x1a99a0
movq 0x190(%rsp), %rdi
movslq (%rax), %rsi
callq 0x1b4ad0
movq (%rax), %rax
movq %rax, 0xce8(%rsp)
leaq 0xcb0(%rsp), %rdi
callq 0x1e4e0
movsbl 0xcf7(%rsp), %eax
movl %eax, %ecx
movq %rcx, 0x198(%rsp)
subl $0x4, %eax
ja 0x1abbe8
movq 0x198(%rsp), %rax
leaq 0x74aad(%rip), %rcx     # 0x220548
movslq (%rcx,%rax,4), %rax
addq %rcx, %rax
jmpq *%rax
leaq 0xc78(%rsp), %rdi
leaq 0xce8(%rsp), %rsi
callq 0x1b5760
jmp 0x1ababb
leaq 0xcb0(%rsp), %rdi
leaq 0xc78(%rsp), %rsi
callq 0x52cd0
leaq 0xc78(%rsp), %rdi
callq 0x23b00
jmp 0x1abbe8
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x1700(%rsp)
movl %eax, 0x16fc(%rsp)
jmp 0x1abc7b
leaq 0xc40(%rsp), %rdi
leaq 0xce8(%rsp), %rsi
callq 0x164e10
jmp 0x1abb12
leaq 0xcb0(%rsp), %rdi
leaq 0xc40(%rsp), %rsi
callq 0x52cd0
leaq 0xc40(%rsp), %rdi
callq 0x23b00
jmp 0x1abbe8
leaq 0xc08(%rsp), %rdi
leaq 0xce8(%rsp), %rsi
callq 0x1b5840
jmp 0x1abb50
leaq 0xcb0(%rsp), %rdi
leaq 0xc08(%rsp), %rsi
callq 0x52cd0
leaq 0xc08(%rsp), %rdi
callq 0x23b00
jmp 0x1abbe8
leaq 0xbd0(%rsp), %rdi
leaq 0xce8(%rsp), %rsi
callq 0x1b5920
jmp 0x1abb8b
leaq 0xcb0(%rsp), %rdi
leaq 0xbd0(%rsp), %rsi
callq 0x52cd0
leaq 0xbd0(%rsp), %rdi
callq 0x23b00
jmp 0x1abbe8
leaq 0xb98(%rsp), %rdi
leaq 0xce8(%rsp), %rsi
callq 0x1b5a00
jmp 0x1abbc6
leaq 0xcb0(%rsp), %rdi
leaq 0xb98(%rsp), %rsi
callq 0x52cd0
leaq 0xb98(%rsp), %rdi
callq 0x23b00
movq 0x1788(%rsp), %rax
movq %rax, 0x180(%rsp)
movl 0xcf0(%rsp), %eax
movl %eax, 0x18c(%rsp)
leaq 0xb60(%rsp), %rdi
leaq 0xcb0(%rsp), %rsi
callq 0x1e520
jmp 0x1abc1d
movl 0x18c(%rsp), %esi
movq 0x180(%rsp), %rdi
leaq 0xb60(%rsp), %rdx
callq 0x1b0270
jmp 0x1abc3b
leaq 0xb60(%rsp), %rdi
callq 0x23b00
leaq 0xcb0(%rsp), %rdi
callq 0x23b00
jmp 0x1acff8
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x1700(%rsp)
movl %eax, 0x16fc(%rsp)
leaq 0xb60(%rsp), %rdi
callq 0x23b00
leaq 0xcb0(%rsp), %rdi
callq 0x23b00
jmp 0x1ad047
cmpl $0xe, 0x1734(%rsp)
jne 0x1abd38
movq 0x388(%rsp), %rdi
callq 0x1a99a0
movq 0x388(%rsp), %rdi
movl (%rax), %eax
movl %eax, 0xb5c(%rsp)
callq 0x1a99a0
movl (%rax), %eax
movl %eax, 0xb58(%rsp)
movq 0x1780(%rsp), %rdi
movslq 0xb5c(%rsp), %rsi
callq 0x1b4f50
movq %rax, 0x178(%rsp)
movq 0x1780(%rsp), %rdi
movslq 0xb58(%rsp), %rsi
callq 0x1b4f50
movq %rax, %rsi
leaq 0xaf8(%rsp), %rdi
callq 0x1e190
movq 0x178(%rsp), %rsi
leaq 0xb20(%rsp), %rdi
leaq 0xaf8(%rsp), %rdx
callq 0x21710
leaq 0xb20(%rsp), %rdi
callq 0x23b00
jmp 0x1acff6
cmpl $0xf, 0x1734(%rsp)
jne 0x1abdb5
movq 0x388(%rsp), %rdi
callq 0x1a99a0
movq 0x388(%rsp), %rdi
movl (%rax), %eax
movl %eax, 0xaf4(%rsp)
callq 0x1a99a0
movl (%rax), %eax
movl %eax, 0xaf0(%rsp)
movq 0x1780(%rsp), %rdi
movslq 0xaf0(%rsp), %rsi
callq 0x1b4f50
movq %rax, 0x170(%rsp)
movq 0x1780(%rsp), %rdi
movslq 0xaf4(%rsp), %rsi
callq 0x1b4f50
movq 0x170(%rsp), %rsi
movq %rax, %rdi
callq 0x52cd0
jmp 0x1acff4
cmpl $0x10, 0x1734(%rsp)
jne 0x1abf5f
movq 0x388(%rsp), %rdi
callq 0x1a99a0
movq 0x388(%rsp), %rdi
movl (%rax), %eax
movl %eax, 0xaec(%rsp)
callq 0x1a99a0
movl (%rax), %eax
movl %eax, 0xae8(%rsp)
movq 0x1770(%rsp), %rax
movq %rax, 0x160(%rsp)
movq 0x1780(%rsp), %rdi
movslq 0xae8(%rsp), %rsi
callq 0x1b4f50
movq %rax, %rsi
leaq 0xa90(%rsp), %rdi
callq 0x1e7e0
xorps %xmm0, %xmm0
movaps %xmm0, 0xa70(%rsp)
movq $0x0, 0xa80(%rsp)
leaq 0xa70(%rsp), %rdi
movq %rdi, 0x168(%rsp)
callq 0x53b40
movq 0x160(%rsp), %rsi
movq 0x168(%rsp), %rdx
movups 0xa90(%rsp), %xmm0
movups 0xaa0(%rsp), %xmm1
movq %rsp, %rax
movups %xmm1, 0x10(%rax)
movups %xmm0, (%rax)
leaq 0xab0(%rsp), %rdi
callq 0x4b210
jmp 0x1abe89
movq 0x1780(%rsp), %rdi
movslq 0xaec(%rsp), %rsi
callq 0x1b4f50
movq %rax, %rdi
leaq 0xab0(%rsp), %rsi
callq 0x52cd0
leaq 0xab0(%rsp), %rdi
callq 0x23b00
leaq 0xa70(%rsp), %rdi
callq 0x53b50
movq 0x1780(%rsp), %rdi
movslq 0xaec(%rsp), %rsi
callq 0x1b4f50
movq %rax, 0x158(%rsp)
movq 0x1780(%rsp), %rdi
movslq 0xae8(%rsp), %rsi
callq 0x1b4f50
movq %rax, %rsi
leaq 0xa10(%rsp), %rdi
callq 0x1e190
movq 0x158(%rsp), %rsi
leaq 0xa38(%rsp), %rdi
leaq 0xa10(%rsp), %rdx
callq 0x21710
leaq 0xa38(%rsp), %rdi
callq 0x23b00
jmp 0x1acff2
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x1700(%rsp)
movl %eax, 0x16fc(%rsp)
leaq 0xa70(%rsp), %rdi
callq 0x53b50
jmp 0x1ad047
cmpl $0x11, 0x1734(%rsp)
jne 0x1ac170
movq 0x388(%rsp), %rdi
callq 0x1a99a0
movq 0x388(%rsp), %rdi
movl (%rax), %eax
movl %eax, 0xa0c(%rsp)
callq 0x1a99a0
movl (%rax), %eax
movl %eax, 0xa08(%rsp)
leaq 0x9d0(%rsp), %rdi
callq 0x1e4e0
cmpl $0x0, 0xa08(%rsp)
jne 0x1abfe5
movq 0x370(%rsp), %rsi
leaq 0x9d0(%rsp), %rdi
callq 0x1b5ae0
jmp 0x1abfc7
jmp 0x1ac0cb
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x1700(%rsp)
movl %eax, 0x16fc(%rsp)
jmp 0x1ac15e
movq 0x1798(%rsp), %rdi
movl 0xa08(%rsp), %eax
decl %eax
movslq %eax, %rsi
callq 0x57a90
movq %rax, %rsi
leaq 0x9d0(%rsp), %rdi
callq 0x1b5ae0
jmp 0x1ac010
leaq 0x9b0(%rsp), %rdi
leaq 0x9d0(%rsp), %rsi
callq 0x1e7e0
jmp 0x1ac027
leaq 0x9b0(%rsp), %rdi
callq 0x2b410
movq %rax, 0x150(%rsp)
jmp 0x1ac03e
leaq 0x990(%rsp), %rdi
callq 0x56900
jmp 0x1ac04d
leaq 0x990(%rsp), %rdi
callq 0x2b410
movq %rax, 0x148(%rsp)
jmp 0x1ac064
movq 0x150(%rsp), %rax
movq 0x148(%rsp), %rcx
cmpq %rcx, %rax
jne 0x1ac0c9
leaq 0x9d0(%rsp), %rdi
callq 0x56990
movq %rax, 0x140(%rsp)
jmp 0x1ac090
movq 0x140(%rsp), %rsi
leaq 0x958(%rsp), %rdi
callq 0x1e290
jmp 0x1ac0a7
leaq 0x9d0(%rsp), %rdi
leaq 0x958(%rsp), %rsi
callq 0x52cd0
leaq 0x958(%rsp), %rdi
callq 0x23b00
jmp 0x1ac0cb
movq 0x1788(%rsp), %rax
movq %rax, 0x130(%rsp)
movl 0xa0c(%rsp), %eax
movl %eax, 0x13c(%rsp)
leaq 0x920(%rsp), %rdi
leaq 0x9d0(%rsp), %rsi
callq 0x1e520
jmp 0x1ac100
movl 0x13c(%rsp), %esi
movq 0x130(%rsp), %rdi
leaq 0x920(%rsp), %rdx
callq 0x1b0270
jmp 0x1ac11e
leaq 0x920(%rsp), %rdi
callq 0x23b00
leaq 0x9d0(%rsp), %rdi
callq 0x23b00
jmp 0x1acff0
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x1700(%rsp)
movl %eax, 0x16fc(%rsp)
leaq 0x920(%rsp), %rdi
callq 0x23b00
leaq 0x9d0(%rsp), %rdi
callq 0x23b00
jmp 0x1ad047
cmpl $0x12, 0x1734(%rsp)
jne 0x1ac248
movq 0x388(%rsp), %rdi
callq 0x1a99a0
movq 0x388(%rsp), %rdi
movl (%rax), %eax
movl %eax, 0x91c(%rsp)
callq 0x1a99a0
movq 0x388(%rsp), %rdi
movl (%rax), %eax
movl %eax, 0x918(%rsp)
callq 0x1a9a90
movq %rax, 0x910(%rsp)
movq 0x1780(%rsp), %rdi
movslq 0x918(%rsp), %rsi
callq 0x1b4f50
movq %rax, 0x128(%rsp)
movq 0x910(%rsp), %rdi
callq 0x52f00
movq 0x128(%rsp), %rsi
movq %rax, 0x8d8(%rsp)
movq %rdx, 0x8e0(%rsp)
movq 0x8d8(%rsp), %rdx
movq 0x8e0(%rsp), %rcx
leaq 0x8e8(%rsp), %rdi
callq 0x1e860
movq 0x1780(%rsp), %rdi
movslq 0x91c(%rsp), %rsi
callq 0x1b4f50
movq %rax, %rdi
leaq 0x8e8(%rsp), %rsi
callq 0x1b5ae0
jmp 0x1acfee
cmpl $0x13, 0x1734(%rsp)
jne 0x1ac36c
movq 0x388(%rsp), %rdi
callq 0x1a99a0
movq 0x388(%rsp), %rdi
movl (%rax), %eax
movl %eax, 0x8d4(%rsp)
callq 0x1a99a0
movl (%rax), %eax
movl %eax, 0x8d0(%rsp)
movq 0x1780(%rsp), %rdi
movslq 0x8d4(%rsp), %rsi
callq 0x1b4f50
movq %rax, 0x110(%rsp)
movq 0x1780(%rsp), %rdi
movslq 0x8d4(%rsp), %rsi
callq 0x1b4f50
movq %rax, 0x118(%rsp)
movq 0x1780(%rsp), %rdi
movslq 0x8d0(%rsp), %rsi
callq 0x1b4f50
movq 0x118(%rsp), %rsi
movq %rax, %rdx
leaq 0x838(%rsp), %rdi
movq %rdi, 0x120(%rsp)
callq 0x1ec00
movq 0x120(%rsp), %rsi
leaq 0x870(%rsp), %rdi
callq 0x1e190
jmp 0x1ac308
movq 0x110(%rsp), %rsi
leaq 0x898(%rsp), %rdi
leaq 0x870(%rsp), %rdx
callq 0x21710
jmp 0x1ac327
leaq 0x898(%rsp), %rdi
callq 0x23b00
leaq 0x838(%rsp), %rdi
callq 0x23b00
jmp 0x1acfec
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x1700(%rsp)
movl %eax, 0x16fc(%rsp)
leaq 0x838(%rsp), %rdi
callq 0x23b00
jmp 0x1ad047
cmpl $0x14, 0x1734(%rsp)
jne 0x1ac490
movq 0x388(%rsp), %rdi
callq 0x1a99a0
movq 0x388(%rsp), %rdi
movl (%rax), %eax
movl %eax, 0x834(%rsp)
callq 0x1a99a0
movl (%rax), %eax
movl %eax, 0x830(%rsp)
movq 0x1780(%rsp), %rdi
movslq 0x834(%rsp), %rsi
callq 0x1b4f50
movq %rax, 0xf8(%rsp)
movq 0x1780(%rsp), %rdi
movslq 0x834(%rsp), %rsi
callq 0x1b4f50
movq %rax, 0x100(%rsp)
movq 0x1780(%rsp), %rdi
movslq 0x830(%rsp), %rsi
callq 0x1b4f50
movq 0x100(%rsp), %rsi
movq %rax, %rdx
leaq 0x798(%rsp), %rdi
movq %rdi, 0x108(%rsp)
callq 0x1ee70
movq 0x108(%rsp), %rsi
leaq 0x7d0(%rsp), %rdi
callq 0x1e190
jmp 0x1ac42c
movq 0xf8(%rsp), %rsi
leaq 0x7f8(%rsp), %rdi
leaq 0x7d0(%rsp), %rdx
callq 0x21710
jmp 0x1ac44b
leaq 0x7f8(%rsp), %rdi
callq 0x23b00
leaq 0x798(%rsp), %rdi
callq 0x23b00
jmp 0x1acfea
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x1700(%rsp)
movl %eax, 0x16fc(%rsp)
leaq 0x798(%rsp), %rdi
callq 0x23b00
jmp 0x1ad047
cmpl $0x15, 0x1734(%rsp)
jne 0x1ac5b4
movq 0x388(%rsp), %rdi
callq 0x1a99a0
movq 0x388(%rsp), %rdi
movl (%rax), %eax
movl %eax, 0x794(%rsp)
callq 0x1a99a0
movl (%rax), %eax
movl %eax, 0x790(%rsp)
movq 0x1780(%rsp), %rdi
movslq 0x794(%rsp), %rsi
callq 0x1b4f50
movq %rax, 0xe0(%rsp)
movq 0x1780(%rsp), %rdi
movslq 0x794(%rsp), %rsi
callq 0x1b4f50
movq %rax, 0xe8(%rsp)
movq 0x1780(%rsp), %rdi
movslq 0x790(%rsp), %rsi
callq 0x1b4f50
movq 0xe8(%rsp), %rsi
movq %rax, %rdx
leaq 0x6f8(%rsp), %rdi
movq %rdi, 0xf0(%rsp)
callq 0x1f0e0
movq 0xf0(%rsp), %rsi
leaq 0x730(%rsp), %rdi
callq 0x1e190
jmp 0x1ac550
movq 0xe0(%rsp), %rsi
leaq 0x758(%rsp), %rdi
leaq 0x730(%rsp), %rdx
callq 0x21710
jmp 0x1ac56f
leaq 0x758(%rsp), %rdi
callq 0x23b00
leaq 0x6f8(%rsp), %rdi
callq 0x23b00
jmp 0x1acfe8
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x1700(%rsp)
movl %eax, 0x16fc(%rsp)
leaq 0x6f8(%rsp), %rdi
callq 0x23b00
jmp 0x1ad047
cmpl $0x16, 0x1734(%rsp)
jne 0x1ac6d8
movq 0x388(%rsp), %rdi
callq 0x1a99a0
movq 0x388(%rsp), %rdi
movl (%rax), %eax
movl %eax, 0x6f4(%rsp)
callq 0x1a99a0
movl (%rax), %eax
movl %eax, 0x6f0(%rsp)
movq 0x1780(%rsp), %rdi
movslq 0x6f4(%rsp), %rsi
callq 0x1b4f50
movq %rax, 0xc8(%rsp)
movq 0x1780(%rsp), %rdi
movslq 0x6f4(%rsp), %rsi
callq 0x1b4f50
movq %rax, 0xd0(%rsp)
movq 0x1780(%rsp), %rdi
movslq 0x6f0(%rsp), %rsi
callq 0x1b4f50
movq 0xd0(%rsp), %rsi
movq %rax, %rdx
leaq 0x658(%rsp), %rdi
movq %rdi, 0xd8(%rsp)
callq 0x1f350
movq 0xd8(%rsp), %rsi
leaq 0x690(%rsp), %rdi
callq 0x1e190
jmp 0x1ac674
movq 0xc8(%rsp), %rsi
leaq 0x6b8(%rsp), %rdi
leaq 0x690(%rsp), %rdx
callq 0x21710
jmp 0x1ac693
leaq 0x6b8(%rsp), %rdi
callq 0x23b00
leaq 0x658(%rsp), %rdi
callq 0x23b00
jmp 0x1acfe6
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x1700(%rsp)
movl %eax, 0x16fc(%rsp)
leaq 0x658(%rsp), %rdi
callq 0x23b00
jmp 0x1ad047
cmpl $0x17, 0x1734(%rsp)
jne 0x1ac7fc
movq 0x388(%rsp), %rdi
callq 0x1a99a0
movq 0x388(%rsp), %rdi
movl (%rax), %eax
movl %eax, 0x654(%rsp)
callq 0x1a99a0
movl (%rax), %eax
movl %eax, 0x650(%rsp)
movq 0x1780(%rsp), %rdi
movslq 0x654(%rsp), %rsi
callq 0x1b4f50
movq %rax, 0xb0(%rsp)
movq 0x1780(%rsp), %rdi
movslq 0x654(%rsp), %rsi
callq 0x1b4f50
movq %rax, 0xb8(%rsp)
movq 0x1780(%rsp), %rdi
movslq 0x650(%rsp), %rsi
callq 0x1b4f50
movq 0xb8(%rsp), %rsi
movq %rax, %rdx
leaq 0x5b8(%rsp), %rdi
movq %rdi, 0xc0(%rsp)
callq 0x1f5c0
movq 0xc0(%rsp), %rsi
leaq 0x5f0(%rsp), %rdi
callq 0x1e190
jmp 0x1ac798
movq 0xb0(%rsp), %rsi
leaq 0x618(%rsp), %rdi
leaq 0x5f0(%rsp), %rdx
callq 0x21710
jmp 0x1ac7b7
leaq 0x618(%rsp), %rdi
callq 0x23b00
leaq 0x5b8(%rsp), %rdi
callq 0x23b00
jmp 0x1acfe4
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x1700(%rsp)
movl %eax, 0x16fc(%rsp)
leaq 0x5b8(%rsp), %rdi
callq 0x23b00
jmp 0x1ad047
cmpl $0x18, 0x1734(%rsp)
jne 0x1ac8c6
movq 0x388(%rsp), %rdi
callq 0x1a99a0
movq 0x388(%rsp), %rdi
movl (%rax), %eax
movl %eax, 0x5b4(%rsp)
callq 0x1a99a0
movl (%rax), %eax
movl %eax, 0x5b0(%rsp)
movq 0x1780(%rsp), %rdi
movslq 0x5b4(%rsp), %rsi
callq 0x1b4f50
movq %rax, %rdi
callq 0x544f0
movq %rax, %rcx
xorl %eax, %eax
testb $0x1, (%rcx)
movb %al, 0xaf(%rsp)
je 0x1ac88a
movq 0x1780(%rsp), %rdi
movslq 0x5b0(%rsp), %rsi
callq 0x1b4f50
movq %rax, %rdi
callq 0x544f0
movb (%rax), %al
movb %al, 0xaf(%rsp)
movb 0xaf(%rsp), %al
movb %al, 0xae(%rsp)
movq 0x1780(%rsp), %rdi
movslq 0x5b4(%rsp), %rsi
callq 0x1b4f50
movq %rax, %rdi
callq 0x92d80
movb 0xae(%rsp), %cl
andb $0x1, %cl
movb %cl, (%rax)
jmp 0x1acfe2
cmpl $0x19, 0x1734(%rsp)
jne 0x1ac990
movq 0x388(%rsp), %rdi
callq 0x1a99a0
movq 0x388(%rsp), %rdi
movl (%rax), %eax
movl %eax, 0x5ac(%rsp)
callq 0x1a99a0
movl (%rax), %eax
movl %eax, 0x5a8(%rsp)
movq 0x1780(%rsp), %rdi
movslq 0x5ac(%rsp), %rsi
callq 0x1b4f50
movq %rax, %rdi
callq 0x544f0
movq %rax, %rcx
movb $0x1, %al
testb $0x1, (%rcx)
movb %al, 0xad(%rsp)
jne 0x1ac954
movq 0x1780(%rsp), %rdi
movslq 0x5a8(%rsp), %rsi
callq 0x1b4f50
movq %rax, %rdi
callq 0x544f0
movb (%rax), %al
movb %al, 0xad(%rsp)
movb 0xad(%rsp), %al
movb %al, 0xac(%rsp)
movq 0x1780(%rsp), %rdi
movslq 0x5ac(%rsp), %rsi
callq 0x1b4f50
movq %rax, %rdi
callq 0x92d80
movb 0xac(%rsp), %cl
andb $0x1, %cl
movb %cl, (%rax)
jmp 0x1acfe0
cmpl $0x1a, 0x1734(%rsp)
jne 0x1acab4
movq 0x388(%rsp), %rdi
callq 0x1a99a0
movq 0x388(%rsp), %rdi
movl (%rax), %eax
movl %eax, 0x5a4(%rsp)
callq 0x1a99a0
movl (%rax), %eax
movl %eax, 0x5a0(%rsp)
movq 0x1780(%rsp), %rdi
movslq 0x5a4(%rsp), %rsi
callq 0x1b4f50
movq %rax, 0x90(%rsp)
movq 0x1780(%rsp), %rdi
movslq 0x5a4(%rsp), %rsi
callq 0x1b4f50
movq %rax, 0x98(%rsp)
movq 0x1780(%rsp), %rdi
movslq 0x5a0(%rsp), %rsi
callq 0x1b4f50
movq 0x98(%rsp), %rsi
movq %rax, %rdx
leaq 0x508(%rsp), %rdi
movq %rdi, 0xa0(%rsp)
callq 0x1f830
movq 0xa0(%rsp), %rsi
leaq 0x540(%rsp), %rdi
callq 0x1e190
jmp 0x1aca50
movq 0x90(%rsp), %rsi
leaq 0x568(%rsp), %rdi
leaq 0x540(%rsp), %rdx
callq 0x21710
jmp 0x1aca6f
leaq 0x568(%rsp), %rdi
callq 0x23b00
leaq 0x508(%rsp), %rdi
callq 0x23b00
jmp 0x1acfde
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x1700(%rsp)
movl %eax, 0x16fc(%rsp)
leaq 0x508(%rsp), %rdi
callq 0x23b00
jmp 0x1ad047
cmpl $0x1b, 0x1734(%rsp)
jne 0x1acb2a
movq 0x388(%rsp), %rdi
callq 0x1a99a0
movl (%rax), %eax
movl %eax, 0x504(%rsp)
movq 0x1780(%rsp), %rdi
movslq 0x504(%rsp), %rsi
callq 0x1b4f50
movq %rax, %rdi
callq 0x544f0
movb (%rax), %al
xorb $-0x1, %al
movb %al, 0x8f(%rsp)
movq 0x1780(%rsp), %rdi
movslq 0x504(%rsp), %rsi
callq 0x1b4f50
movq %rax, %rdi
callq 0x92d80
movb 0x8f(%rsp), %cl
andb $0x1, %cl
movb %cl, (%rax)
jmp 0x1acfdc
cmpl $0x1c, 0x1734(%rsp)
jne 0x1acb89
movq 0x388(%rsp), %rdi
callq 0x1a99a0
movq %rax, %rcx
movq 0x388(%rsp), %rax
movl (%rcx), %ecx
movl %ecx, 0x500(%rsp)
movl 0x1794(%rsp), %ecx
movl %ecx, 0x18(%rax)
movq 0x1780(%rsp), %rdi
movslq 0x500(%rsp), %rsi
callq 0x1b4f50
movq 0x378(%rsp), %rdi
movq %rax, %rsi
callq 0x1e520
jmp 0x1ad037
cmpl $0x1d, 0x1734(%rsp)
jne 0x1acbc6
movq 0x388(%rsp), %rdi
callq 0x1a99a0
movq %rax, %rcx
movq 0x388(%rsp), %rax
movl (%rcx), %ecx
movl %ecx, 0x4fc(%rsp)
movl 0x4fc(%rsp), %ecx
addl 0x18(%rax), %ecx
movl %ecx, 0x18(%rax)
jmp 0x1acfd8
cmpl $0x1e, 0x1734(%rsp)
jne 0x1acc38
movq 0x388(%rsp), %rdi
callq 0x1a99a0
movq 0x388(%rsp), %rdi
movl (%rax), %eax
movl %eax, 0x4f8(%rsp)
callq 0x1a99a0
movl (%rax), %eax
movl %eax, 0x4f4(%rsp)
movq 0x1780(%rsp), %rdi
movslq 0x4f8(%rsp), %rsi
callq 0x1b4f50
movq %rax, %rdi
callq 0x544f0
testb $0x1, (%rax)
je 0x1acc33
movq 0x388(%rsp), %rax
movl 0x4f4(%rsp), %ecx
addl 0x18(%rax), %ecx
movl %ecx, 0x18(%rax)
jmp 0x1acfd6
cmpl $0x1f, 0x1734(%rsp)
jne 0x1accce
movq 0x388(%rsp), %rdi
callq 0x1a99a0
movq 0x388(%rsp), %rdi
movl (%rax), %eax
movl %eax, 0x4f0(%rsp)
callq 0x1a99a0
movl (%rax), %eax
movl %eax, 0x4ec(%rsp)
movq 0x1780(%rsp), %rdi
movslq 0x4ec(%rsp), %rsi
callq 0x1b4f50
movq %rax, %rsi
leaq 0x4b0(%rsp), %rdi
callq 0x1b5b30
movq 0x1780(%rsp), %rdi
movslq 0x4f0(%rsp), %rsi
callq 0x1b4f50
movq %rax, %rdi
leaq 0x4b0(%rsp), %rsi
callq 0x52cd0
leaq 0x4b0(%rsp), %rdi
callq 0x23b00
jmp 0x1acfd4
cmpl $0x20, 0x1734(%rsp)
jne 0x1acd53
movq 0x388(%rsp), %rdi
callq 0x1a99a0
movq 0x388(%rsp), %rdi
movl (%rax), %eax
movl %eax, 0x4ac(%rsp)
callq 0x1a99a0
movl (%rax), %eax
movl %eax, 0x4a8(%rsp)
movq 0x1780(%rsp), %rdi
movslq 0x4a8(%rsp), %rsi
callq 0x1b4f50
movq %rax, %rdi
callq 0x72240
movq %rax, 0x80(%rsp)
movq 0x1780(%rsp), %rdi
movslq 0x4ac(%rsp), %rsi
callq 0x1b4f50
movq 0x80(%rsp), %rsi
movq %rax, %rdi
callq 0x52cd0
jmp 0x1acfd2
cmpl $0x21, 0x1734(%rsp)
jne 0x1acfd0
movq 0x388(%rsp), %rdi
callq 0x1a99a0
movq 0x388(%rsp), %rdi
movl (%rax), %eax
movl %eax, 0x4a4(%rsp)
callq 0x1a9a90
movq %rax, 0x498(%rsp)
leaq 0x480(%rsp), %rdi
callq 0x53b40
movq 0x388(%rsp), %rdi
callq 0x1a99a0
movq %rax, 0x78(%rsp)
jmp 0x1acdad
movq 0x78(%rsp), %rax
movl (%rax), %eax
movl %eax, 0x47c(%rsp)
movl 0x47c(%rsp), %eax
movl %eax, %ecx
addl $-0x1, %ecx
movl %ecx, 0x47c(%rsp)
cmpl $0x0, %eax
je 0x1ace5f
movq 0x388(%rsp), %rdi
callq 0x1a99a0
movq %rax, 0x70(%rsp)
jmp 0x1acdeb
movq 0x70(%rsp), %rax
movl (%rax), %eax
movl %eax, 0x478(%rsp)
movq 0x1780(%rsp), %rdi
movslq 0x478(%rsp), %rsi
callq 0x1b4f50
movq %rax, %rsi
leaq 0x450(%rsp), %rdi
callq 0x1e190
jmp 0x1ace20
leaq 0x480(%rsp), %rdi
leaq 0x450(%rsp), %rsi
callq 0x1a0430
jmp 0x1ace37
jmp 0x1acdbb
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x1700(%rsp)
movl %eax, 0x16fc(%rsp)
leaq 0x480(%rsp), %rdi
callq 0x53b50
jmp 0x1ad047
movq 0x1780(%rsp), %rdi
movslq 0x4a4(%rsp), %rsi
callq 0x1b4f50
movq %rax, 0x68(%rsp)
movq 0x498(%rsp), %rdi
callq 0x52f00
movq 0x68(%rsp), %rsi
movq %rax, 0x408(%rsp)
movq %rdx, 0x410(%rsp)
movq 0x408(%rsp), %rdx
movq 0x410(%rsp), %rcx
leaq 0x418(%rsp), %rdi
leaq 0x480(%rsp), %r8
callq 0x1e930
jmp 0x1acec2
movq 0x1780(%rsp), %rdi
xorl %eax, %eax
movl %eax, %esi
movq %rsi, 0x60(%rsp)
callq 0x1b4f50
movq %rax, %rdi
leaq 0x418(%rsp), %rsi
movq %rsi, 0x58(%rsp)
callq 0x52cd0
movq 0x58(%rsp), %rdi
callq 0x23b00
movq 0x60(%rsp), %rsi
movq 0x1780(%rsp), %rdi
callq 0x1b4f50
movq %rax, %rsi
leaq 0x3e8(%rsp), %rdi
callq 0x1e7e0
jmp 0x1acf1b
leaq 0x3e8(%rsp), %rdi
callq 0x2b410
movq %rax, 0x50(%rsp)
jmp 0x1acf2f
leaq 0x3c8(%rsp), %rdi
callq 0x56900
jmp 0x1acf3e
leaq 0x3c8(%rsp), %rdi
callq 0x2b410
movq %rax, 0x48(%rsp)
jmp 0x1acf52
movq 0x50(%rsp), %rax
movq 0x48(%rsp), %rcx
cmpq %rcx, %rax
jne 0x1acfc3
movq 0x1780(%rsp), %rdi
xorl %eax, %eax
movl %eax, %esi
callq 0x1b4f50
movq %rax, %rdi
callq 0x56990
movq %rax, 0x40(%rsp)
jmp 0x1acf81
movq 0x40(%rsp), %rsi
leaq 0x390(%rsp), %rdi
callq 0x1e290
jmp 0x1acf95
movq 0x1780(%rsp), %rdi
xorl %eax, %eax
movl %eax, %esi
callq 0x1b4f50
movq %rax, %rdi
leaq 0x390(%rsp), %rsi
callq 0x52cd0
leaq 0x390(%rsp), %rdi
callq 0x23b00
leaq 0x480(%rsp), %rdi
callq 0x53b50
jmp 0x1acfd2
jmp 0x1acfd4
jmp 0x1acfd6
jmp 0x1acfd8
jmp 0x1acfda
jmp 0x1acfdc
jmp 0x1acfde
jmp 0x1acfe0
jmp 0x1acfe2
jmp 0x1acfe4
jmp 0x1acfe6
jmp 0x1acfe8
jmp 0x1acfea
jmp 0x1acfec
jmp 0x1acfee
jmp 0x1acff0
jmp 0x1acff2
jmp 0x1acff4
jmp 0x1acff6
jmp 0x1acff8
jmp 0x1acffa
jmp 0x1acffc
jmp 0x1acffe
jmp 0x1ad000
jmp 0x1ad002
jmp 0x1ad004
jmp 0x1ad006
jmp 0x1ad008
jmp 0x1ad00a
jmp 0x1ad00c
jmp 0x1a9d36
movq 0x378(%rsp), %rdi
movq 0x388(%rsp), %rax
movl 0x1794(%rsp), %ecx
movl %ecx, 0x18(%rax)
leaq 0x1543c6(%rip), %rsi    # 0x3013f8
callq 0x1e520
movq 0x380(%rsp), %rax
addq $0x17b8, %rsp           # imm = 0x17B8
retq
movq 0x1700(%rsp), %rdi
callq 0x133f0
nopw %cs:(%rax,%rax)