// File: Heptagon196[P]Gos/GosVM.cpp
// Function: GosVM::VMProgram::Read(std::istream&, bool)
void GosVM::VMProgram::Read(std::istream& input, bool prettified) {
    startPos = 0;
    if (prettified) {
        std::string command;
        IRTokenizer tokenizer(input);
        content = "";
        while (!tokenizer.IsEOF()) {
            command = tokenizer.GetToken();
            int op = 0;
            for (int i = 0; i < operatorsCount; i++) {
                if (operatorInfos[i].name == command) {
                    op = i;
                    break;
                }
            }
            AddOperation(op);
            if (op == DEF_CLASS) {
                AddParamString(tokenizer.GetToken());
                int len = tokenizer.GetToken<int>();
                AddParamInt(len);
                while (len--) {
                    AddParamString(tokenizer.GetToken());
                }
            } else if (op == ATTR) {
                AddParamString(tokenizer.GetToken());
                int len = tokenizer.GetToken<int>();
                AddParamInt(len);
                while (len--) {
                    AddParamString(tokenizer.GetToken());
                }
            } else if (op == DEF_MEMBER_VAR) {
                AddParamString(tokenizer.GetToken());
                AddParamString(tokenizer.GetToken());
            } else if (op == DEF_MEMBER_FUNC) {
                AddParamString(tokenizer.GetToken());
                AddParamString(tokenizer.GetToken());
                int len = tokenizer.GetToken<int>();
                AddParamInt(len);
                while (len--) {
                    AddParamString(tokenizer.GetToken());
                }
                AddParamInt(tokenizer.GetToken<int>());
            } else if (op == DEF_STATIC_VAR) {
                AddParamString(tokenizer.GetToken());
                AddParamString(tokenizer.GetToken());
            } else if (op == DEF_STATIC_FUNC) {
                AddParamString(tokenizer.GetToken());
                AddParamString(tokenizer.GetToken());
                int len = tokenizer.GetToken<int>();
                AddParamInt(len);
                while (len--) {
                    AddParamString(tokenizer.GetToken());
                }
                AddParamInt(tokenizer.GetToken<int>());
            } else if (op == ALLOC) {
                AddParamInt(tokenizer.GetToken<int>());
            } else if (op == STR) {
                int id = tokenizer.GetToken<int>();
                [[maybe_unused]] int len = tokenizer.GetToken<int>();
                std::string s = tokenizer.GetToken();
                cst->setStrID(s, id);
            } else if (op == NUM) {
                int id = tokenizer.GetToken<int>();
                RTConstNum num;
                num.data.i64 = tokenizer.GetToken<int64_t>();
                cst->setNumID(num, id);
            } else if (op == NS) {
                AddParamString(tokenizer.GetToken());
            } else if (op == NEW) {
                AddParamString(tokenizer.GetToken());
                AddParamInt(tokenizer.GetToken<int>());
                int len = tokenizer.GetToken<int>();
                AddParamInt(len);
                while (len--) {
                    AddParamInt(tokenizer.GetToken<int>());
                }
            } else if (op == NEW_STR) {
                AddParamInt(tokenizer.GetToken<int>());
                AddParamString(tokenizer.GetToken());
            } else if (op == NEW_NUM) {
                int8_t type = tokenizer.GetToken<int>();
                AddParamByte(type);
                AddParamInt(tokenizer.GetToken<int>());
                RTConstNum num;
                num.data.i64 = 0;
                std::stringstream ss;
                ss << tokenizer.GetToken();
                switch (type) {
                    case 0: ss >> num.data.i32; break;
                    case 1: ss >> num.data.i32; break;
                    case 2: ss >> num.data.i64; break;
                    case 3: ss >> num.data.f; break;
                    case 4: ss >> num.data.d; break;
                }
                AddParamInt(cst->getNumID(num));
            } else if (op == MOV) {
                AddParamInt(tokenizer.GetToken<int>());
                AddParamInt(tokenizer.GetToken<int>());
            } else if (op == REF) {
                AddParamInt(tokenizer.GetToken<int>());
                AddParamInt(tokenizer.GetToken<int>());
            } else if (op == CLONE) {
                AddParamInt(tokenizer.GetToken<int>());
                AddParamInt(tokenizer.GetToken<int>());
            } else if (op == ARG) {
                AddParamInt(tokenizer.GetToken<int>());
                AddParamInt(tokenizer.GetToken<int>());
            } else if (op == GET_FIELD) {
                AddParamInt(tokenizer.GetToken<int>());
                AddParamInt(tokenizer.GetToken<int>());
                AddParamString(tokenizer.GetToken());
            } else if (op == ADD) {
                AddParamInt(tokenizer.GetToken<int>());
                AddParamInt(tokenizer.GetToken<int>());
            } else if (op == SUB) {
                AddParamInt(tokenizer.GetToken<int>());
                AddParamInt(tokenizer.GetToken<int>());
            } else if (op == MUL) {
                AddParamInt(tokenizer.GetToken<int>());
                AddParamInt(tokenizer.GetToken<int>());
            } else if (op == DIV) {
                AddParamInt(tokenizer.GetToken<int>());
                AddParamInt(tokenizer.GetToken<int>());
            } else if (op == REM) {
                AddParamInt(tokenizer.GetToken<int>());
                AddParamInt(tokenizer.GetToken<int>());
            } else if (op == AND) {
                AddParamInt(tokenizer.GetToken<int>());
                AddParamInt(tokenizer.GetToken<int>());
            } else if (op == OR) {
                AddParamInt(tokenizer.GetToken<int>());
                AddParamInt(tokenizer.GetToken<int>());
            } else if (op == XOR) {
                AddParamInt(tokenizer.GetToken<int>());
                AddParamInt(tokenizer.GetToken<int>());
            } else if (op == NOT) {
                AddParamInt(tokenizer.GetToken<int>());
            } else if (op == RET) {
                AddParamInt(tokenizer.GetToken<int>());
            } else if (op == JMP) {
                AddParamInt(tokenizer.GetToken<int>());
            } else if (op == IF) {
                AddParamInt(tokenizer.GetToken<int>());
                AddParamInt(tokenizer.GetToken<int>());
            } else if (op == BOX) {
                AddParamInt(tokenizer.GetToken<int>());
                AddParamInt(tokenizer.GetToken<int>());
            } else if (op == UNBOX) {
                AddParamInt(tokenizer.GetToken<int>());
                AddParamInt(tokenizer.GetToken<int>());
            } else if (op == CALL) {
                AddParamInt(tokenizer.GetToken<int>());
                AddParamString(tokenizer.GetToken());
                int cnt = tokenizer.GetToken<int>();
                AddParamInt(cnt);
                for (int i = 0; i < cnt; i++) {
                    AddParamInt(tokenizer.GetToken<int>());
                }
            }
        }
    } else {
        std::stringstream buffer;
        buffer << input.rdbuf();
        content = buffer.str();
    }
    endPos = content.size() - 1;
}

// Assembly:
subq $0x7d8, %rsp            # imm = 0x7D8
movb %dl, %al
movq %rdi, 0x7d0(%rsp)
movq %rsi, 0x7c8(%rsp)
andb $0x1, %al
movb %al, 0x7c7(%rsp)
movq 0x7d0(%rsp), %rax
movq %rax, 0x118(%rsp)
movl $0x0, 0x10(%rax)
testb $0x1, 0x7c7(%rsp)
je 0x1ae919
leaq 0x7a0(%rsp), %rdi
callq 0x7ace0
movq 0x7c8(%rsp), %rsi
leaq 0x790(%rsp), %rdi
callq 0x1a93c0
jmp 0x1ad1fb
movq 0x118(%rsp), %rdi
addq $0x20, %rdi
leaq 0x73ab8(%rip), %rsi     # 0x220cc6
callq 0x1652e0
jmp 0x1ad215
jmp 0x1ad217
leaq 0x790(%rsp), %rdi
callq 0x1a95e0
movb %al, 0x117(%rsp)
jmp 0x1ad22d
movb 0x117(%rsp), %al
xorb $-0x1, %al
testb $0x1, %al
jne 0x1ad23f
jmp 0x1ae8f5
leaq 0x760(%rsp), %rdi
leaq 0x790(%rsp), %rsi
callq 0x1a93e0
jmp 0x1ad256
leaq 0x7a0(%rsp), %rdi
leaq 0x760(%rsp), %rsi
callq 0x7b460
leaq 0x760(%rsp), %rdi
callq 0x52f50
movl $0x0, 0x75c(%rsp)
movl $0x0, 0x758(%rsp)
cmpl $0x22, 0x758(%rsp)
jge 0x1ad2ff
movslq 0x758(%rsp), %rax
leaq 0x1543d9(%rip), %rdi    # 0x301680
shlq $0x5, %rax
addq %rax, %rdi
leaq 0x7a0(%rsp), %rsi
callq 0x111710
testb $0x1, %al
jne 0x1ad2c1
jmp 0x1ad2ea
movl 0x758(%rsp), %eax
movl %eax, 0x75c(%rsp)
jmp 0x1ad2ff
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x788(%rsp)
movl %eax, 0x784(%rsp)
jmp 0x1ae907
jmp 0x1ad2ec
movl 0x758(%rsp), %eax
addl $0x1, %eax
movl %eax, 0x758(%rsp)
jmp 0x1ad28e
movq 0x118(%rsp), %rdi
movsbl 0x75c(%rsp), %esi
callq 0x1a96f0
jmp 0x1ad316
cmpl $0x1, 0x75c(%rsp)
jne 0x1ad445
leaq 0x738(%rsp), %rdi
leaq 0x790(%rsp), %rsi
callq 0x1a93e0
jmp 0x1ad33b
movq 0x118(%rsp), %rdi
leaq 0x738(%rsp), %rsi
callq 0x1a98d0
jmp 0x1ad352
leaq 0x738(%rsp), %rdi
callq 0x52f50
leaq 0x790(%rsp), %rdi
callq 0x1b4c80
movl %eax, 0x110(%rsp)
jmp 0x1ad375
movq 0x118(%rsp), %rdi
movl 0x110(%rsp), %eax
movl %eax, 0x734(%rsp)
movl 0x734(%rsp), %esi
callq 0x1a9780
jmp 0x1ad399
jmp 0x1ad39b
movl 0x734(%rsp), %eax
movl %eax, %ecx
addl $-0x1, %ecx
movl %ecx, 0x734(%rsp)
cmpl $0x0, %eax
je 0x1ad440
leaq 0x710(%rsp), %rdi
leaq 0x790(%rsp), %rsi
callq 0x1a93e0
jmp 0x1ad3ce
movq 0x118(%rsp), %rdi
leaq 0x710(%rsp), %rsi
callq 0x1a98d0
jmp 0x1ad3e5
leaq 0x710(%rsp), %rdi
callq 0x52f50
jmp 0x1ad39b
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x788(%rsp)
movl %eax, 0x784(%rsp)
leaq 0x738(%rsp), %rdi
callq 0x52f50
jmp 0x1ae907
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x788(%rsp)
movl %eax, 0x784(%rsp)
leaq 0x710(%rsp), %rdi
callq 0x52f50
jmp 0x1ae907
jmp 0x1ae8f0
cmpl $0x2, 0x75c(%rsp)
jne 0x1ad574
leaq 0x6f0(%rsp), %rdi
leaq 0x790(%rsp), %rsi
callq 0x1a93e0
jmp 0x1ad46a
movq 0x118(%rsp), %rdi
leaq 0x6f0(%rsp), %rsi
callq 0x1a98d0
jmp 0x1ad481
leaq 0x6f0(%rsp), %rdi
callq 0x52f50
leaq 0x790(%rsp), %rdi
callq 0x1b4c80
movl %eax, 0x10c(%rsp)
jmp 0x1ad4a4
movq 0x118(%rsp), %rdi
movl 0x10c(%rsp), %eax
movl %eax, 0x6ec(%rsp)
movl 0x6ec(%rsp), %esi
callq 0x1a9780
jmp 0x1ad4c8
jmp 0x1ad4ca
movl 0x6ec(%rsp), %eax
movl %eax, %ecx
addl $-0x1, %ecx
movl %ecx, 0x6ec(%rsp)
cmpl $0x0, %eax
je 0x1ad56f
leaq 0x6c8(%rsp), %rdi
leaq 0x790(%rsp), %rsi
callq 0x1a93e0
jmp 0x1ad4fd
movq 0x118(%rsp), %rdi
leaq 0x6c8(%rsp), %rsi
callq 0x1a98d0
jmp 0x1ad514
leaq 0x6c8(%rsp), %rdi
callq 0x52f50
jmp 0x1ad4ca
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x788(%rsp)
movl %eax, 0x784(%rsp)
leaq 0x6f0(%rsp), %rdi
callq 0x52f50
jmp 0x1ae907
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x788(%rsp)
movl %eax, 0x784(%rsp)
leaq 0x6c8(%rsp), %rdi
callq 0x52f50
jmp 0x1ae907
jmp 0x1ae8ee
cmpl $0x3, 0x75c(%rsp)
jne 0x1ad649
leaq 0x6a8(%rsp), %rdi
leaq 0x790(%rsp), %rsi
callq 0x1a93e0
jmp 0x1ad599
movq 0x118(%rsp), %rdi
leaq 0x6a8(%rsp), %rsi
callq 0x1a98d0
jmp 0x1ad5b0
leaq 0x6a8(%rsp), %rdi
callq 0x52f50
leaq 0x688(%rsp), %rdi
leaq 0x790(%rsp), %rsi
callq 0x1a93e0
jmp 0x1ad5d4
movq 0x118(%rsp), %rdi
leaq 0x688(%rsp), %rsi
callq 0x1a98d0
jmp 0x1ad5eb
leaq 0x688(%rsp), %rdi
callq 0x52f50
jmp 0x1ae8ec
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x788(%rsp)
movl %eax, 0x784(%rsp)
leaq 0x6a8(%rsp), %rdi
callq 0x52f50
jmp 0x1ae907
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x788(%rsp)
movl %eax, 0x784(%rsp)
leaq 0x688(%rsp), %rdi
callq 0x52f50
jmp 0x1ae907
cmpl $0x4, 0x75c(%rsp)
jne 0x1ad805
leaq 0x668(%rsp), %rdi
leaq 0x790(%rsp), %rsi
callq 0x1a93e0
jmp 0x1ad66e
movq 0x118(%rsp), %rdi
leaq 0x668(%rsp), %rsi
callq 0x1a98d0
jmp 0x1ad685
leaq 0x668(%rsp), %rdi
callq 0x52f50
leaq 0x648(%rsp), %rdi
leaq 0x790(%rsp), %rsi
callq 0x1a93e0
jmp 0x1ad6a9
movq 0x118(%rsp), %rdi
leaq 0x648(%rsp), %rsi
callq 0x1a98d0
jmp 0x1ad6c0
leaq 0x648(%rsp), %rdi
callq 0x52f50
leaq 0x790(%rsp), %rdi
callq 0x1b4c80
movl %eax, 0x108(%rsp)
jmp 0x1ad6e3
movq 0x118(%rsp), %rdi
movl 0x108(%rsp), %eax
movl %eax, 0x644(%rsp)
movl 0x644(%rsp), %esi
callq 0x1a9780
jmp 0x1ad707
jmp 0x1ad709
movl 0x644(%rsp), %eax
movl %eax, %ecx
addl $-0x1, %ecx
movl %ecx, 0x644(%rsp)
cmpl $0x0, %eax
je 0x1ad7d4
leaq 0x620(%rsp), %rdi
leaq 0x790(%rsp), %rsi
callq 0x1a93e0
jmp 0x1ad73c
movq 0x118(%rsp), %rdi
leaq 0x620(%rsp), %rsi
callq 0x1a98d0
jmp 0x1ad753
leaq 0x620(%rsp), %rdi
callq 0x52f50
jmp 0x1ad709
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x788(%rsp)
movl %eax, 0x784(%rsp)
leaq 0x668(%rsp), %rdi
callq 0x52f50
jmp 0x1ae907
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x788(%rsp)
movl %eax, 0x784(%rsp)
leaq 0x648(%rsp), %rdi
callq 0x52f50
jmp 0x1ae907
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x788(%rsp)
movl %eax, 0x784(%rsp)
leaq 0x620(%rsp), %rdi
callq 0x52f50
jmp 0x1ae907
leaq 0x790(%rsp), %rdi
callq 0x1b4c80
movl %eax, 0x104(%rsp)
jmp 0x1ad7ea
movl 0x104(%rsp), %esi
movq 0x118(%rsp), %rdi
callq 0x1a9780
jmp 0x1ad800
jmp 0x1ae8ea
cmpl $0x5, 0x75c(%rsp)
jne 0x1ad8da
leaq 0x600(%rsp), %rdi
leaq 0x790(%rsp), %rsi
callq 0x1a93e0
jmp 0x1ad82a
movq 0x118(%rsp), %rdi
leaq 0x600(%rsp), %rsi
callq 0x1a98d0
jmp 0x1ad841
leaq 0x600(%rsp), %rdi
callq 0x52f50
leaq 0x5e0(%rsp), %rdi
leaq 0x790(%rsp), %rsi
callq 0x1a93e0
jmp 0x1ad865
movq 0x118(%rsp), %rdi
leaq 0x5e0(%rsp), %rsi
callq 0x1a98d0
jmp 0x1ad87c
leaq 0x5e0(%rsp), %rdi
callq 0x52f50
jmp 0x1ae8e8
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x788(%rsp)
movl %eax, 0x784(%rsp)
leaq 0x600(%rsp), %rdi
callq 0x52f50
jmp 0x1ae907
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x788(%rsp)
movl %eax, 0x784(%rsp)
leaq 0x5e0(%rsp), %rdi
callq 0x52f50
jmp 0x1ae907
cmpl $0x6, 0x75c(%rsp)
jne 0x1ada96
leaq 0x5c0(%rsp), %rdi
leaq 0x790(%rsp), %rsi
callq 0x1a93e0
jmp 0x1ad8ff
movq 0x118(%rsp), %rdi
leaq 0x5c0(%rsp), %rsi
callq 0x1a98d0
jmp 0x1ad916
leaq 0x5c0(%rsp), %rdi
callq 0x52f50
leaq 0x5a0(%rsp), %rdi
leaq 0x790(%rsp), %rsi
callq 0x1a93e0
jmp 0x1ad93a
movq 0x118(%rsp), %rdi
leaq 0x5a0(%rsp), %rsi
callq 0x1a98d0
jmp 0x1ad951
leaq 0x5a0(%rsp), %rdi
callq 0x52f50
leaq 0x790(%rsp), %rdi
callq 0x1b4c80
movl %eax, 0x100(%rsp)
jmp 0x1ad974
movq 0x118(%rsp), %rdi
movl 0x100(%rsp), %eax
movl %eax, 0x59c(%rsp)
movl 0x59c(%rsp), %esi
callq 0x1a9780
jmp 0x1ad998
jmp 0x1ad99a
movl 0x59c(%rsp), %eax
movl %eax, %ecx
addl $-0x1, %ecx
movl %ecx, 0x59c(%rsp)
cmpl $0x0, %eax
je 0x1ada65
leaq 0x578(%rsp), %rdi
leaq 0x790(%rsp), %rsi
callq 0x1a93e0
jmp 0x1ad9cd
movq 0x118(%rsp), %rdi
leaq 0x578(%rsp), %rsi
callq 0x1a98d0
jmp 0x1ad9e4
leaq 0x578(%rsp), %rdi
callq 0x52f50
jmp 0x1ad99a
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x788(%rsp)
movl %eax, 0x784(%rsp)
leaq 0x5c0(%rsp), %rdi
callq 0x52f50
jmp 0x1ae907
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x788(%rsp)
movl %eax, 0x784(%rsp)
leaq 0x5a0(%rsp), %rdi
callq 0x52f50
jmp 0x1ae907
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x788(%rsp)
movl %eax, 0x784(%rsp)
leaq 0x578(%rsp), %rdi
callq 0x52f50
jmp 0x1ae907
leaq 0x790(%rsp), %rdi
callq 0x1b4c80
movl %eax, 0xfc(%rsp)
jmp 0x1ada7b
movl 0xfc(%rsp), %esi
movq 0x118(%rsp), %rdi
callq 0x1a9780
jmp 0x1ada91
jmp 0x1ae8e6
cmpl $0x7, 0x75c(%rsp)
jne 0x1adad1
leaq 0x790(%rsp), %rdi
callq 0x1b4c80
movl %eax, 0xf8(%rsp)
jmp 0x1adab6
movl 0xf8(%rsp), %esi
movq 0x118(%rsp), %rdi
callq 0x1a9780
jmp 0x1adacc
jmp 0x1ae8e4
cmpl $0x8, 0x75c(%rsp)
jne 0x1adb98
leaq 0x790(%rsp), %rdi
callq 0x1b4c80
movl %eax, 0xf4(%rsp)
jmp 0x1adaf5
movl 0xf4(%rsp), %eax
movl %eax, 0x574(%rsp)
leaq 0x790(%rsp), %rdi
callq 0x1b4c80
movl %eax, 0xf0(%rsp)
jmp 0x1adb19
movl 0xf0(%rsp), %eax
movl %eax, 0x570(%rsp)
leaq 0x550(%rsp), %rdi
leaq 0x790(%rsp), %rsi
callq 0x1a93e0
jmp 0x1adb3e
movq 0x118(%rsp), %rax
movq 0x60(%rax), %rdi
movl 0x574(%rsp), %edx
leaq 0x550(%rsp), %rsi
callq 0x1a90a0
jmp 0x1adb60
leaq 0x550(%rsp), %rdi
callq 0x52f50
jmp 0x1ae8e2
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x788(%rsp)
movl %eax, 0x784(%rsp)
leaq 0x550(%rsp), %rdi
callq 0x52f50
jmp 0x1ae907
cmpl $0x9, 0x75c(%rsp)
jne 0x1adc28
leaq 0x790(%rsp), %rdi
callq 0x1b4c80
movl %eax, 0xec(%rsp)
jmp 0x1adbbc
movl 0xec(%rsp), %eax
movl %eax, 0x54c(%rsp)
leaq 0x790(%rsp), %rdi
callq 0x1b4cf0
movq %rax, 0xe0(%rsp)
jmp 0x1adbe1
movq 0x118(%rsp), %rax
movq 0xe0(%rsp), %rcx
movq %rcx, 0x540(%rsp)
movq 0x60(%rax), %rdi
movq 0x540(%rsp), %rax
movq %rax, 0x538(%rsp)
movl 0x54c(%rsp), %edx
movq 0x538(%rsp), %rsi
callq 0x1a92c0
jmp 0x1adc23
jmp 0x1ae8e0
cmpl $0xa, 0x75c(%rsp)
jne 0x1adc98
leaq 0x518(%rsp), %rdi
leaq 0x790(%rsp), %rsi
callq 0x1a93e0
jmp 0x1adc49
movq 0x118(%rsp), %rdi
leaq 0x518(%rsp), %rsi
callq 0x1a98d0
jmp 0x1adc60
leaq 0x518(%rsp), %rdi
callq 0x52f50
jmp 0x1ae8de
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x788(%rsp)
movl %eax, 0x784(%rsp)
leaq 0x518(%rsp), %rdi
callq 0x52f50
jmp 0x1ae907
cmpl $0xb, 0x75c(%rsp)
jne 0x1addba
leaq 0x4f8(%rsp), %rdi
leaq 0x790(%rsp), %rsi
callq 0x1a93e0
jmp 0x1adcbd
movq 0x118(%rsp), %rdi
leaq 0x4f8(%rsp), %rsi
callq 0x1a98d0
jmp 0x1adcd4
leaq 0x4f8(%rsp), %rdi
callq 0x52f50
leaq 0x790(%rsp), %rdi
callq 0x1b4c80
movl %eax, 0xdc(%rsp)
jmp 0x1adcf7
movl 0xdc(%rsp), %esi
movq 0x118(%rsp), %rdi
callq 0x1a9780
jmp 0x1add0d
leaq 0x790(%rsp), %rdi
callq 0x1b4c80
movl %eax, 0xd8(%rsp)
jmp 0x1add23
movq 0x118(%rsp), %rdi
movl 0xd8(%rsp), %eax
movl %eax, 0x4f4(%rsp)
movl 0x4f4(%rsp), %esi
callq 0x1a9780
jmp 0x1add47
jmp 0x1add49
movl 0x4f4(%rsp), %eax
movl %eax, %ecx
addl $-0x1, %ecx
movl %ecx, 0x4f4(%rsp)
cmpl $0x0, %eax
je 0x1addb5
leaq 0x790(%rsp), %rdi
callq 0x1b4c80
movl %eax, 0xd4(%rsp)
jmp 0x1add77
movl 0xd4(%rsp), %esi
movq 0x118(%rsp), %rdi
callq 0x1a9780
jmp 0x1add8d
jmp 0x1add49
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x788(%rsp)
movl %eax, 0x784(%rsp)
leaq 0x4f8(%rsp), %rdi
callq 0x52f50
jmp 0x1ae907
jmp 0x1ae8dc
cmpl $0xc, 0x75c(%rsp)
jne 0x1ade5a
leaq 0x790(%rsp), %rdi
callq 0x1b4c80
movl %eax, 0xd0(%rsp)
jmp 0x1addde
movl 0xd0(%rsp), %esi
movq 0x118(%rsp), %rdi
callq 0x1a9780
jmp 0x1addf4
leaq 0x4d0(%rsp), %rdi
leaq 0x790(%rsp), %rsi
callq 0x1a93e0
jmp 0x1ade0b
movq 0x118(%rsp), %rdi
leaq 0x4d0(%rsp), %rsi
callq 0x1a98d0
jmp 0x1ade22
leaq 0x4d0(%rsp), %rdi
callq 0x52f50
jmp 0x1ae8da
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x788(%rsp)
movl %eax, 0x784(%rsp)
leaq 0x4d0(%rsp), %rdi
callq 0x52f50
jmp 0x1ae907
cmpl $0xd, 0x75c(%rsp)
jne 0x1ae090
leaq 0x790(%rsp), %rdi
callq 0x1b4c80
movl %eax, 0xcc(%rsp)
jmp 0x1ade7e
movq 0x118(%rsp), %rdi
movl 0xcc(%rsp), %eax
movb %al, 0x4cf(%rsp)
movsbl 0x4cf(%rsp), %esi
callq 0x1a9750
jmp 0x1adea3
leaq 0x790(%rsp), %rdi
callq 0x1b4c80
movl %eax, 0xc8(%rsp)
jmp 0x1adeb9
movl 0xc8(%rsp), %esi
movq 0x118(%rsp), %rdi
callq 0x1a9780
jmp 0x1adecf
movq $0x0, 0x4c0(%rsp)
leaq 0x338(%rsp), %rdi
callq 0x131b0
jmp 0x1adeea
leaq 0x348(%rsp), %rax
movq %rax, 0xc0(%rsp)
leaq 0x318(%rsp), %rdi
leaq 0x790(%rsp), %rsi
callq 0x1a93e0
jmp 0x1adf11
movq 0xc0(%rsp), %rdi
leaq 0x318(%rsp), %rsi
callq 0x131a0
jmp 0x1adf28
leaq 0x318(%rsp), %rdi
callq 0x52f50
movsbl 0x4cf(%rsp), %eax
movl %eax, %ecx
movq %rcx, 0xb8(%rsp)
subl $0x4, %eax
ja 0x1ae024
movq 0xb8(%rsp), %rax
leaq 0x725fd(%rip), %rcx     # 0x22055c
movslq (%rcx,%rax,4), %rax
addq %rcx, %rax
jmpq *%rax
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x788(%rsp)
movl %eax, 0x784(%rsp)
jmp 0x1ae07e
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x788(%rsp)
movl %eax, 0x784(%rsp)
leaq 0x318(%rsp), %rdi
callq 0x52f50
jmp 0x1ae07e
leaq 0x338(%rsp), %rdi
leaq 0x4c0(%rsp), %rsi
callq 0x13680
jmp 0x1adfbe
jmp 0x1ae024
leaq 0x338(%rsp), %rdi
leaq 0x4c0(%rsp), %rsi
callq 0x13680
jmp 0x1adfd7
jmp 0x1ae024
leaq 0x338(%rsp), %rdi
leaq 0x4c0(%rsp), %rsi
callq 0x133c0
jmp 0x1adff0
jmp 0x1ae024
leaq 0x338(%rsp), %rdi
leaq 0x4c0(%rsp), %rsi
callq 0x13530
jmp 0x1ae009
jmp 0x1ae024
leaq 0x338(%rsp), %rdi
leaq 0x4c0(%rsp), %rsi
callq 0x13690
jmp 0x1ae022
jmp 0x1ae024
movq 0x118(%rsp), %rax
movq 0x60(%rax), %rdi
movq 0x4c0(%rsp), %rax
movq %rax, 0x310(%rsp)
movq 0x310(%rsp), %rsi
callq 0x1a91f0
movl %eax, 0xb4(%rsp)
jmp 0x1ae056
movl 0xb4(%rsp), %esi
movq 0x118(%rsp), %rdi
callq 0x1a9780
jmp 0x1ae06c
leaq 0x338(%rsp), %rdi
callq 0x13240
jmp 0x1ae8d8
leaq 0x338(%rsp), %rdi
callq 0x13240
jmp 0x1ae907
cmpl $0xe, 0x75c(%rsp)
jne 0x1ae0f7
leaq 0x790(%rsp), %rdi
callq 0x1b4c80
movl %eax, 0xb0(%rsp)
jmp 0x1ae0b0
movl 0xb0(%rsp), %esi
movq 0x118(%rsp), %rdi
callq 0x1a9780
jmp 0x1ae0c6
leaq 0x790(%rsp), %rdi
callq 0x1b4c80
movl %eax, 0xac(%rsp)
jmp 0x1ae0dc
movl 0xac(%rsp), %esi
movq 0x118(%rsp), %rdi
callq 0x1a9780
jmp 0x1ae0f2
jmp 0x1ae8d6
cmpl $0xf, 0x75c(%rsp)
jne 0x1ae15e
leaq 0x790(%rsp), %rdi
callq 0x1b4c80
movl %eax, 0xa8(%rsp)
jmp 0x1ae117
movl 0xa8(%rsp), %esi
movq 0x118(%rsp), %rdi
callq 0x1a9780
jmp 0x1ae12d
leaq 0x790(%rsp), %rdi
callq 0x1b4c80
movl %eax, 0xa4(%rsp)
jmp 0x1ae143
movl 0xa4(%rsp), %esi
movq 0x118(%rsp), %rdi
callq 0x1a9780
jmp 0x1ae159
jmp 0x1ae8d4
cmpl $0x10, 0x75c(%rsp)
jne 0x1ae1c5
leaq 0x790(%rsp), %rdi
callq 0x1b4c80
movl %eax, 0xa0(%rsp)
jmp 0x1ae17e
movl 0xa0(%rsp), %esi
movq 0x118(%rsp), %rdi
callq 0x1a9780
jmp 0x1ae194
leaq 0x790(%rsp), %rdi
callq 0x1b4c80
movl %eax, 0x9c(%rsp)
jmp 0x1ae1aa
movl 0x9c(%rsp), %esi
movq 0x118(%rsp), %rdi
callq 0x1a9780
jmp 0x1ae1c0
jmp 0x1ae8d2
cmpl $0x11, 0x75c(%rsp)
jne 0x1ae22c
leaq 0x790(%rsp), %rdi
callq 0x1b4c80
movl %eax, 0x98(%rsp)
jmp 0x1ae1e5
movl 0x98(%rsp), %esi
movq 0x118(%rsp), %rdi
callq 0x1a9780
jmp 0x1ae1fb
leaq 0x790(%rsp), %rdi
callq 0x1b4c80
movl %eax, 0x94(%rsp)
jmp 0x1ae211
movl 0x94(%rsp), %esi
movq 0x118(%rsp), %rdi
callq 0x1a9780
jmp 0x1ae227
jmp 0x1ae8d0
cmpl $0x12, 0x75c(%rsp)
jne 0x1ae2f8
leaq 0x790(%rsp), %rdi
callq 0x1b4c80
movl %eax, 0x90(%rsp)
jmp 0x1ae250
movl 0x90(%rsp), %esi
movq 0x118(%rsp), %rdi
callq 0x1a9780
jmp 0x1ae266
leaq 0x790(%rsp), %rdi
callq 0x1b4c80
movl %eax, 0x8c(%rsp)
jmp 0x1ae27c
movl 0x8c(%rsp), %esi
movq 0x118(%rsp), %rdi
callq 0x1a9780
jmp 0x1ae292
leaq 0x2f0(%rsp), %rdi
leaq 0x790(%rsp), %rsi
callq 0x1a93e0
jmp 0x1ae2a9
movq 0x118(%rsp), %rdi
leaq 0x2f0(%rsp), %rsi
callq 0x1a98d0
jmp 0x1ae2c0
leaq 0x2f0(%rsp), %rdi
callq 0x52f50
jmp 0x1ae8ce
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x788(%rsp)
movl %eax, 0x784(%rsp)
leaq 0x2f0(%rsp), %rdi
callq 0x52f50
jmp 0x1ae907
cmpl $0x13, 0x75c(%rsp)
jne 0x1ae35f
leaq 0x790(%rsp), %rdi
callq 0x1b4c80
movl %eax, 0x88(%rsp)
jmp 0x1ae318
movl 0x88(%rsp), %esi
movq 0x118(%rsp), %rdi
callq 0x1a9780
jmp 0x1ae32e
leaq 0x790(%rsp), %rdi
callq 0x1b4c80
movl %eax, 0x84(%rsp)
jmp 0x1ae344
movl 0x84(%rsp), %esi
movq 0x118(%rsp), %rdi
callq 0x1a9780
jmp 0x1ae35a
jmp 0x1ae8cc
cmpl $0x14, 0x75c(%rsp)
jne 0x1ae3c0
leaq 0x790(%rsp), %rdi
callq 0x1b4c80
movl %eax, 0x80(%rsp)
jmp 0x1ae37f
movl 0x80(%rsp), %esi
movq 0x118(%rsp), %rdi
callq 0x1a9780
jmp 0x1ae395
leaq 0x790(%rsp), %rdi
callq 0x1b4c80
movl %eax, 0x7c(%rsp)
jmp 0x1ae3a8
movl 0x7c(%rsp), %esi
movq 0x118(%rsp), %rdi
callq 0x1a9780
jmp 0x1ae3bb
jmp 0x1ae8ca
cmpl $0x15, 0x75c(%rsp)
jne 0x1ae41b
leaq 0x790(%rsp), %rdi
callq 0x1b4c80
movl %eax, 0x78(%rsp)
jmp 0x1ae3dd
movl 0x78(%rsp), %esi
movq 0x118(%rsp), %rdi
callq 0x1a9780
jmp 0x1ae3f0
leaq 0x790(%rsp), %rdi
callq 0x1b4c80
movl %eax, 0x74(%rsp)
jmp 0x1ae403
movl 0x74(%rsp), %esi
movq 0x118(%rsp), %rdi
callq 0x1a9780
jmp 0x1ae416
jmp 0x1ae8c8
cmpl $0x16, 0x75c(%rsp)
jne 0x1ae476
leaq 0x790(%rsp), %rdi
callq 0x1b4c80
movl %eax, 0x70(%rsp)
jmp 0x1ae438
movl 0x70(%rsp), %esi
movq 0x118(%rsp), %rdi
callq 0x1a9780
jmp 0x1ae44b
leaq 0x790(%rsp), %rdi
callq 0x1b4c80
movl %eax, 0x6c(%rsp)
jmp 0x1ae45e
movl 0x6c(%rsp), %esi
movq 0x118(%rsp), %rdi
callq 0x1a9780
jmp 0x1ae471
jmp 0x1ae8c6
cmpl $0x17, 0x75c(%rsp)
jne 0x1ae4d1
leaq 0x790(%rsp), %rdi
callq 0x1b4c80
movl %eax, 0x68(%rsp)
jmp 0x1ae493
movl 0x68(%rsp), %esi
movq 0x118(%rsp), %rdi
callq 0x1a9780
jmp 0x1ae4a6
leaq 0x790(%rsp), %rdi
callq 0x1b4c80
movl %eax, 0x64(%rsp)
jmp 0x1ae4b9
movl 0x64(%rsp), %esi
movq 0x118(%rsp), %rdi
callq 0x1a9780
jmp 0x1ae4cc
jmp 0x1ae8c4
cmpl $0x18, 0x75c(%rsp)
jne 0x1ae52c
leaq 0x790(%rsp), %rdi
callq 0x1b4c80
movl %eax, 0x60(%rsp)
jmp 0x1ae4ee
movl 0x60(%rsp), %esi
movq 0x118(%rsp), %rdi
callq 0x1a9780
jmp 0x1ae501
leaq 0x790(%rsp), %rdi
callq 0x1b4c80
movl %eax, 0x5c(%rsp)
jmp 0x1ae514
movl 0x5c(%rsp), %esi
movq 0x118(%rsp), %rdi
callq 0x1a9780
jmp 0x1ae527
jmp 0x1ae8c2
cmpl $0x19, 0x75c(%rsp)
jne 0x1ae587
leaq 0x790(%rsp), %rdi
callq 0x1b4c80
movl %eax, 0x58(%rsp)
jmp 0x1ae549
movl 0x58(%rsp), %esi
movq 0x118(%rsp), %rdi
callq 0x1a9780
jmp 0x1ae55c
leaq 0x790(%rsp), %rdi
callq 0x1b4c80
movl %eax, 0x54(%rsp)
jmp 0x1ae56f
movl 0x54(%rsp), %esi
movq 0x118(%rsp), %rdi
callq 0x1a9780
jmp 0x1ae582
jmp 0x1ae8c0
cmpl $0x1a, 0x75c(%rsp)
jne 0x1ae5e2
leaq 0x790(%rsp), %rdi
callq 0x1b4c80
movl %eax, 0x50(%rsp)
jmp 0x1ae5a4
movl 0x50(%rsp), %esi
movq 0x118(%rsp), %rdi
callq 0x1a9780
jmp 0x1ae5b7
leaq 0x790(%rsp), %rdi
callq 0x1b4c80
movl %eax, 0x4c(%rsp)
jmp 0x1ae5ca
movl 0x4c(%rsp), %esi
movq 0x118(%rsp), %rdi
callq 0x1a9780
jmp 0x1ae5dd
jmp 0x1ae8be
cmpl $0x1b, 0x75c(%rsp)
jne 0x1ae617
leaq 0x790(%rsp), %rdi
callq 0x1b4c80
movl %eax, 0x48(%rsp)
jmp 0x1ae5ff
movl 0x48(%rsp), %esi
movq 0x118(%rsp), %rdi
callq 0x1a9780
jmp 0x1ae612
jmp 0x1ae8bc
cmpl $0x1c, 0x75c(%rsp)
jne 0x1ae64c
leaq 0x790(%rsp), %rdi
callq 0x1b4c80
movl %eax, 0x44(%rsp)
jmp 0x1ae634
movl 0x44(%rsp), %esi
movq 0x118(%rsp), %rdi
callq 0x1a9780
jmp 0x1ae647
jmp 0x1ae8ba
cmpl $0x1d, 0x75c(%rsp)
jne 0x1ae681
leaq 0x790(%rsp), %rdi
callq 0x1b4c80
movl %eax, 0x40(%rsp)
jmp 0x1ae669
movl 0x40(%rsp), %esi
movq 0x118(%rsp), %rdi
callq 0x1a9780
jmp 0x1ae67c
jmp 0x1ae8b8
cmpl $0x1e, 0x75c(%rsp)
jne 0x1ae6dc
leaq 0x790(%rsp), %rdi
callq 0x1b4c80
movl %eax, 0x3c(%rsp)
jmp 0x1ae69e
movl 0x3c(%rsp), %esi
movq 0x118(%rsp), %rdi
callq 0x1a9780
jmp 0x1ae6b1
leaq 0x790(%rsp), %rdi
callq 0x1b4c80
movl %eax, 0x38(%rsp)
jmp 0x1ae6c4
movl 0x38(%rsp), %esi
movq 0x118(%rsp), %rdi
callq 0x1a9780
jmp 0x1ae6d7
jmp 0x1ae8b6
cmpl $0x1f, 0x75c(%rsp)
jne 0x1ae737
leaq 0x790(%rsp), %rdi
callq 0x1b4c80
movl %eax, 0x34(%rsp)
jmp 0x1ae6f9
movl 0x34(%rsp), %esi
movq 0x118(%rsp), %rdi
callq 0x1a9780
jmp 0x1ae70c
leaq 0x790(%rsp), %rdi
callq 0x1b4c80
movl %eax, 0x30(%rsp)
jmp 0x1ae71f
movl 0x30(%rsp), %esi
movq 0x118(%rsp), %rdi
callq 0x1a9780
jmp 0x1ae732
jmp 0x1ae8b4
cmpl $0x20, 0x75c(%rsp)
jne 0x1ae792
leaq 0x790(%rsp), %rdi
callq 0x1b4c80
movl %eax, 0x2c(%rsp)
jmp 0x1ae754
movl 0x2c(%rsp), %esi
movq 0x118(%rsp), %rdi
callq 0x1a9780
jmp 0x1ae767
leaq 0x790(%rsp), %rdi
callq 0x1b4c80
movl %eax, 0x28(%rsp)
jmp 0x1ae77a
movl 0x28(%rsp), %esi
movq 0x118(%rsp), %rdi
callq 0x1a9780
jmp 0x1ae78d
jmp 0x1ae8b2
cmpl $0x21, 0x75c(%rsp)
jne 0x1ae8b0
leaq 0x790(%rsp), %rdi
callq 0x1b4c80
movl %eax, 0x24(%rsp)
jmp 0x1ae7b3
movl 0x24(%rsp), %esi
movq 0x118(%rsp), %rdi
callq 0x1a9780
jmp 0x1ae7c6
leaq 0x2d0(%rsp), %rdi
leaq 0x790(%rsp), %rsi
callq 0x1a93e0
jmp 0x1ae7dd
movq 0x118(%rsp), %rdi
leaq 0x2d0(%rsp), %rsi
callq 0x1a98d0
jmp 0x1ae7f4
leaq 0x2d0(%rsp), %rdi
callq 0x52f50
leaq 0x790(%rsp), %rdi
callq 0x1b4c80
movl %eax, 0x20(%rsp)
jmp 0x1ae814
movq 0x118(%rsp), %rdi
movl 0x20(%rsp), %eax
movl %eax, 0x2cc(%rsp)
movl 0x2cc(%rsp), %esi
callq 0x1a9780
jmp 0x1ae835
movl $0x0, 0x2c8(%rsp)
movl 0x2c8(%rsp), %eax
cmpl 0x2cc(%rsp), %eax
jge 0x1ae8ae
leaq 0x790(%rsp), %rdi
callq 0x1b4c80
movl %eax, 0x1c(%rsp)
jmp 0x1ae863
movl 0x1c(%rsp), %esi
movq 0x118(%rsp), %rdi
callq 0x1a9780
jmp 0x1ae876
jmp 0x1ae878
movl 0x2c8(%rsp), %eax
addl $0x1, %eax
movl %eax, 0x2c8(%rsp)
jmp 0x1ae840
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x788(%rsp)
movl %eax, 0x784(%rsp)
leaq 0x2d0(%rsp), %rdi
callq 0x52f50
jmp 0x1ae907
jmp 0x1ae8b0
jmp 0x1ae8b2
jmp 0x1ae8b4
jmp 0x1ae8b6
jmp 0x1ae8b8
jmp 0x1ae8ba
jmp 0x1ae8bc
jmp 0x1ae8be
jmp 0x1ae8c0
jmp 0x1ae8c2
jmp 0x1ae8c4
jmp 0x1ae8c6
jmp 0x1ae8c8
jmp 0x1ae8ca
jmp 0x1ae8cc
jmp 0x1ae8ce
jmp 0x1ae8d0
jmp 0x1ae8d2
jmp 0x1ae8d4
jmp 0x1ae8d6
jmp 0x1ae8d8
jmp 0x1ae8da
jmp 0x1ae8dc
jmp 0x1ae8de
jmp 0x1ae8e0
jmp 0x1ae8e2
jmp 0x1ae8e4
jmp 0x1ae8e6
jmp 0x1ae8e8
jmp 0x1ae8ea
jmp 0x1ae8ec
jmp 0x1ae8ee
jmp 0x1ae8f0
jmp 0x1ad217
leaq 0x7a0(%rsp), %rdi
callq 0x52f50
jmp 0x1ae9d1
leaq 0x7a0(%rsp), %rdi
callq 0x52f50
jmp 0x1ae9fc
leaq 0x140(%rsp), %rdi
callq 0x131b0
leaq 0x150(%rsp), %rax
movq %rax, 0x8(%rsp)
movq 0x7c8(%rsp), %rdi
movq (%rdi), %rax
movq -0x18(%rax), %rax
addq %rax, %rdi
callq 0x130d0
movq %rax, 0x10(%rsp)
jmp 0x1ae951
movq 0x10(%rsp), %rsi
movq 0x8(%rsp), %rdi
callq 0x13150
jmp 0x1ae962
leaq 0x120(%rsp), %rdi
leaq 0x140(%rsp), %rsi
callq 0x13340
jmp 0x1ae979
movq 0x118(%rsp), %rdi
addq $0x20, %rdi
leaq 0x120(%rsp), %rsi
callq 0x7b460
leaq 0x120(%rsp), %rdi
callq 0x52f50
leaq 0x140(%rsp), %rdi
callq 0x13240
jmp 0x1ae9d1
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x788(%rsp)
movl %eax, 0x784(%rsp)
leaq 0x140(%rsp), %rdi
callq 0x13240
jmp 0x1ae9fc
movq 0x118(%rsp), %rdi
addq $0x20, %rdi
callq 0x55060
movq %rax, %rcx
movq 0x118(%rsp), %rax
subq $0x1, %rcx
movl %ecx, 0x14(%rax)
addq $0x7d8, %rsp            # imm = 0x7D8
retq
movq 0x788(%rsp), %rdi
callq 0x133f0
nopl (%rax)