// File: /workspace/github_c_makefile_star2_O1/minoki[P]icfpc2006/run_verbose.c
// Function: main
int main(int argc, char *argv[])
{
    if (argc <= 1) {
        fprintf(stderr, "Usage: %s file.um\n", argv[0]);
        return 1;
    }
    void *rawprogram = NULL;
    size_t rawprogsize = 0;
    {
        FILE *f = fopen(argv[1], "rb");
        assert(f != NULL);
        int seekresult = fseek(f, 0, SEEK_END);
        assert(seekresult == 0);
        long size = ftell(f);
        assert(size >= 0);
        rawprogsize = size;
        seekresult = fseek(f, 0, SEEK_SET);
        assert(seekresult == 0);
        rawprogram = malloc(rawprogsize);
        assert(rawprogram != NULL);
        size_t result = fread(rawprogram, 1, rawprogsize, f);
        assert(result == rawprogsize);
        fclose(f);
    }
    assert(rawprogsize % 4 == 0);
    struct array *program = malloc(sizeof(uint32_t) + rawprogsize);
    assert(program != NULL);
    program->length = rawprogsize / 4;
    {
        uint8_t *rawprogram_ = (uint8_t *)rawprogram;
        for (size_t i = 0; i < rawprogsize / 4; ++i) {
            uint32_t a = (uint32_t)rawprogram_[4 * i];
            uint32_t b = (uint32_t)rawprogram_[4 * i + 1];
            uint32_t c = (uint32_t)rawprogram_[4 * i + 2];
            uint32_t d = (uint32_t)rawprogram_[4 * i + 3];
            program->data[i] = (a << 24) | (b << 16) | (c << 8) | d;
        }
        free(rawprogram);
    }
    fprintf(stderr, "<<<Loaded program. size=%zu bytes>>>\n", rawprogsize);
    size_t pc = 0;
    uint32_t reg[8] = {0};
    struct array **arr = calloc(1, sizeof(struct array *));
    arr[0] = program;
    size_t arraycount = 1;
    uint32_t *freelist = NULL, *freelist_end = NULL;
    uint32_t freelist_capacity = 0;
    int arrayamend0 = 0;
    bool modified[8] = {0};
    while (1) {
        uint32_t op = program->data[pc];
        ++pc;
        switch (op >> 28) {
        case 0: /* Conditional Move */
            {
                uint32_t a = (op >> 6) & 7;
                uint32_t b = (op >> 3) & 7;
                uint32_t c = op & 7;
                if (reg[c] != 0) {
                    reg[a] = reg[b];
                    if (!modified[a] && reg[a] != 0) {
                        fflush(stdout);
                        fprintf(stderr, "<<<REG[%u] modified>>>", (unsigned int)a);
                        modified[a] = true;
                    }
                }
                break;
            }
        case 1: /* Array Index */
            {
                uint32_t a = (op >> 6) & 7;
                uint32_t b = (op >> 3) & 7;
                uint32_t c = op & 7;
                uint32_t i = reg[b];
                assert(i < arraycount);
                struct array *ai = arr[i];
                assert(ai != NULL);
                assert(reg[c] < ai->length);
                reg[a] = ai->data[reg[c]];
                if (!modified[a] && reg[a] != 0) {
                    fflush(stdout);
                    fprintf(stderr, "<<<REG[%u] modified>>>", (unsigned int)a);
                    modified[a] = true;
                }
                break;
            }
        case 2: /* Array Amendment */
            {
                uint32_t a = (op >> 6) & 7;
                uint32_t b = (op >> 3) & 7;
                uint32_t c = op & 7;
                uint32_t i = reg[a];
                assert(i < arraycount);
                struct array *ai = arr[i];
                assert(ai != NULL);
                assert(reg[b] < ai->length);
                if (i == 0 && ai->data[reg[b]] != reg[c]) {
                    ++arrayamend0;
                }
                ai->data[reg[b]] = reg[c];
                break;
            }
        case 3: /* Addition */
            {
                uint32_t a = (op >> 6) & 7;
                uint32_t b = (op >> 3) & 7;
                uint32_t c = op & 7;
                reg[a] = reg[b] + reg[c];
                if (!modified[a] && reg[a] != 0) {
                    fflush(stdout);
                    fprintf(stderr, "<<<REG[%u] modified>>>", (unsigned int)a);
                    modified[a] = true;
                }
                break;
            }
        case 4: /* Multiplication */
            {
                uint32_t a = (op >> 6) & 7;
                uint32_t b = (op >> 3) & 7;
                uint32_t c = op & 7;
                reg[a] = reg[b] * reg[c];
                if (!modified[a] && reg[a] != 0) {
                    fflush(stdout);
                    fprintf(stderr, "<<<REG[%u] modified>>>", (unsigned int)a);
                    modified[a] = true;
                }
                break;
            }
        case 5: /* Division */
            {
                uint32_t a = (op >> 6) & 7;
                uint32_t b = (op >> 3) & 7;
                uint32_t c = op & 7;
                assert(reg[c] != 0);
                reg[a] = reg[b] / reg[c];
                if (!modified[a] && reg[a] != 0) {
                    fflush(stdout);
                    fprintf(stderr, "<<<REG[%u] modified>>>", (unsigned int)a);
                    modified[a] = true;
                }
                break;
            }
        case 6: /* Not-And */
            {
                uint32_t a = (op >> 6) & 7;
                uint32_t b = (op >> 3) & 7;
                uint32_t c = op & 7;
                reg[a] = ~(reg[b] & reg[c]);
                if (!modified[a] && reg[a] != 0) {
                    fflush(stdout);
                    fprintf(stderr, "<<<REG[%u] modified>>>", (unsigned int)a);
                    modified[a] = true;
                }
                break;
            }
        case 7: /* Halt */
            fflush(stdout);
            fprintf(stderr, "<<<HALT>>>\n");
            return 0;
        case 8: /* Allocation */
            {
                uint32_t b = (op >> 3) & 7;
                uint32_t c = op & 7;
                uint32_t capacity = reg[c];
                uint32_t i = 0;
                if (freelist_end == freelist) {
                    i = arraycount;
                    ++arraycount;
                    arr = realloc(arr, sizeof(struct array *) * arraycount);
                    assert(arr != NULL);
                } else {
                    i = *(--freelist_end);
                    *freelist_end = 0;
                }
                struct array *newarr = calloc(1 + capacity, sizeof(uint32_t));
                assert(newarr != NULL);
                newarr->length = capacity;
                arr[i] = newarr;
                reg[b] = i;
                if (!modified[b] && reg[b] != 0) {
                    fflush(stdout);
                    fprintf(stderr, "<<<REG[%u] modified>>>", (unsigned int)b);
                    modified[b] = true;
                }
                break;
            }
        case 9: /* Abandonment */
            {
                uint32_t c = op & 7;
                uint32_t i = reg[c];
                assert(i < arraycount);
                assert(i != 0);
                assert(arr[i] != NULL);
                free(arr[i]);
                arr[i] = NULL;
                if (freelist_end - freelist == freelist_capacity) {
                    uint32_t freelist_new_capacity = freelist_capacity == 0 ? 32 : freelist_capacity * 2;
                    freelist = realloc(freelist, freelist_new_capacity * sizeof(uint32_t));
                    memset(freelist + freelist_capacity, 0, (freelist_new_capacity - freelist_capacity) * sizeof(uint32_t));
                    freelist_end = freelist + freelist_capacity;
                    freelist_capacity = freelist_new_capacity;
                }
                *freelist_end++ = i;
                break;
            }
        case 10: /* Output */
            {
                uint32_t c = op & 7;
                assert(reg[c] <= 255);
                if (arrayamend0 > 0) {
                    fflush(stdout);
                    fprintf(stderr, "<<<%d Array Amendment on #0>>>", arrayamend0);
                    arrayamend0 = 0;
                }
                putchar(reg[c]);
                break;
            }
        case 11: /* Input */
            {
                uint32_t c = op & 7;
                fflush(stdout);
                int ch = getchar();
                if (ch == EOF) {
                    reg[c] = (uint32_t)(-1);
                } else {
                    assert(0 <= ch && ch <= 255);
                    reg[c] = (uint32_t)ch;
                }
                if (!modified[c]) {
                    fflush(stdout);
                    fprintf(stderr, "<<<REG[%u] modified>>>", (unsigned int)c);
                    modified[c] = true;
                }
                break;
            }
        case 12: /* Load Program */
            {
                uint32_t b = (op >> 3) & 7;
                uint32_t c = op & 7;
                uint32_t i = reg[b];
                if (i != 0) {
                    assert(i < arraycount);
                    assert(arr[i] != NULL);
                    uint32_t length = arr[i]->length;
                    struct array *newprogram = malloc((length + 1) * sizeof(uint32_t));
                    assert(newprogram != NULL);
                    memcpy(newprogram, arr[i], (length + 1) * sizeof(uint32_t));
                    free(program);
                    program = newprogram;
                    arr[0] = newprogram;
                    fflush(stdout);
                    fputs("<<<Load Array #0>>>", stderr);
                }
                pc = reg[c];
                break;
            }
        case 13: /* Orthography */
            {
                uint32_t a = (op >> 25) & 7;
                uint32_t value = op & ((UINT32_C(1) << 25) - 1);
                reg[a] = value;
                if (!modified[a] && reg[a] != 0) {
                    fflush(stdout);
                    fprintf(stderr, "<<<REG[%u] modified>>>", (unsigned int)a);
                    modified[a] = true;
                }
                break;
            }
        default:
            fprintf(stderr, "<<<Invalid Instruction: %08X>>>\n", op);
            abort();
        }
    }
}

// Assembly:
pushq %rbp
pushq %r15
pushq %r14
pushq %r13
pushq %r12
pushq %rbx
subq $0x58, %rsp
cmpl $0x1, %edi
jg 0x1531
movq %rsi, %rdi
callq 0x13fd
movl $0x1, %eax
jmp 0x1c33
movq 0x8(%rsi), %rdi
leaq 0xb13(%rip), %rsi       # 0x204f
callq 0x1140
testq %rax, %rax
je 0x1c42
movq %rax, %rbx
movq %rax, %rdi
xorl %esi, %esi
movl $0x2, %edx
callq 0x1120
testl %eax, %eax
jne 0x1c61
movq %rbx, %rdi
callq 0x10e0
testq %rax, %rax
js 0x1c80
movq %rax, %r15
movq %rbx, %rdi
xorl %esi, %esi
xorl %edx, %edx
callq 0x1120
testl %eax, %eax
jne 0x1c9f
movq %r15, %rdi
callq 0x1100
testq %rax, %rax
je 0x1cbe
movq %rax, %r14
movl $0x1, %esi
movq %rax, %rdi
movq %r15, %rdx
movq %rbx, %rcx
callq 0x1060
cmpq %r15, %rax
jne 0x1cdd
movq %rbx, %rdi
callq 0x1070
testb $0x3, %r15b
jne 0x1cfc
leaq 0x4(%r15), %rdi
callq 0x1100
testq %rax, %rax
je 0x1d1b
movq %rax, %rbx
movq %r15, %rax
shrq $0x2, %rax
movl %eax, (%rbx)
testq %r15, %r15
je 0x1605
xorl %ecx, %ecx
movl (%r14,%rcx,4), %edx
bswapl %edx
movl %edx, 0x4(%rbx,%rcx,4)
incq %rcx
cmpq %rcx, %rax
jne 0x15f3
movq %r14, %rdi
callq 0x1030
movq 0x29e4(%rip), %rax      # 0x3ff8
movq (%rax), %rdi
leaq 0xabb(%rip), %rsi       # 0x20d9
movq $0x0, 0x40(%rsp)
movq %r15, %rdx
xorl %eax, %eax
callq 0x10d0
xorps %xmm0, %xmm0
movaps %xmm0, 0x20(%rsp)
movaps %xmm0, 0x10(%rsp)
movl $0x1, %ebp
movl $0x1, %edi
movl $0x8, %esi
callq 0x10b0
movq %rax, %r15
movq %rbx, (%rax)
movq $0x0, (%rsp)
leaq 0x99d(%rip), %r8        # 0x2004
movq $0x0, 0x50(%rsp)
movq $0x0, 0x38(%rsp)
movq $0x0, 0x48(%rsp)
xorl %r13d, %r13d
movl 0x4(%rbx,%r13,4), %r12d
movl %r12d, %eax
shrl $0x1c, %eax
cmpl $0xd, %eax
ja 0x1d3a
incq %r13
movslq (%r8,%rax,4), %rax
addq %r8, %rax
jmpq *%rax
movl %r12d, %eax
andl $0x7, %eax
movb $0x1, %r14b
cmpl $0x0, 0x10(%rsp,%rax,4)
je 0x1b49
movl %r12d, %edi
shrl $0x6, %edi
andl $0x7, %edi
shrl %r12d
andl $0x1c, %r12d
movl 0x10(%rsp,%r12), %eax
movl %eax, 0x10(%rsp,%rdi,4)
cmpb $0x0, (%rsp,%rdi)
jne 0x1b49
testl %eax, %eax
je 0x1b49
leaq (%rsp,%rdi), %rsi
callq 0x13a2
jmp 0x186e
movl %r12d, %eax
andl $0x7, %eax
movl 0x10(%rsp,%rax,4), %r14d
movq 0x38(%rsp), %rax
cmpq 0x48(%rsp), %rax
je 0x1ab2
movq %rbp, 0x8(%rsp)
movl -0x4(%rax), %ebp
movl $0x0, -0x4(%rax)
addq $-0x4, %rax
movq %rax, 0x38(%rsp)
jmp 0x1ad9
movl %r12d, %eax
shrl %eax
andl $0x1c, %eax
movl 0x10(%rsp,%rax), %eax
testq %rax, %rax
jne 0x1b68
andl $0x7, %r12d
movl 0x10(%rsp,%r12,4), %r13d
jmp 0x1aaa
movl %r12d, %edi
shrl $0x6, %edi
andl $0x7, %edi
movl %r12d, %eax
andl $0x7, %eax
shrl %r12d
andl $0x1c, %r12d
movl 0x10(%rsp,%rax,4), %eax
imull 0x10(%rsp,%r12), %eax
movl %eax, 0x10(%rsp,%rdi,4)
movb $0x1, %r14b
cmpb $0x0, (%rsp,%rdi)
jne 0x1b49
testl %eax, %eax
je 0x1b49
leaq (%rsp,%rdi), %rsi
callq 0x12f1
jmp 0x186e
movl %r12d, %eax
shrl $0x4, %eax
andl $0x1c, %eax
movl 0x10(%rsp,%rax), %edx
cmpq %rdx, %rbp
jbe 0x1dfc
movq (%r15,%rdx,8), %rax
testq %rax, %rax
je 0x1e3a
movl %r12d, %ecx
shrl $0x3, %ecx
andl $0x7, %ecx
movl 0x10(%rsp,%rcx,4), %ecx
cmpl (%rax), %ecx
jae 0x1e1b
andl $0x7, %r12d
movl %r12d, %esi
testq %rdx, %rdx
jne 0x17f2
movl 0x4(%rax,%rcx,4), %edx
xorl %edi, %edi
cmpl 0x10(%rsp,%rsi,4), %edx
setne %dil
movq 0x40(%rsp), %rdx
addl %edi, %edx
movq %rdx, 0x40(%rsp)
movl 0x10(%rsp,%rsi,4), %edx
movl %edx, 0x4(%rax,%rcx,4)
jmp 0x1aaa
movl %r12d, %edi
shrl $0x6, %edi
andl $0x7, %edi
movl %r12d, %eax
andl $0x7, %eax
shrl %r12d
andl $0x1c, %r12d
movl 0x10(%rsp,%rax,4), %eax
addl 0x10(%rsp,%r12), %eax
movl %eax, 0x10(%rsp,%rdi,4)
movb $0x1, %r14b
cmpb $0x0, (%rsp,%rdi)
jne 0x1b49
testl %eax, %eax
je 0x1b49
leaq (%rsp,%rdi), %rsi
callq 0x132c
jmp 0x186e
andl $0x7, %r12d
movl 0x10(%rsp,%r12,4), %r14d
cmpl $0x100, %r14d           # imm = 0x100
jae 0x1d42
cmpl $0x0, 0x40(%rsp)
jg 0x1c19
movl %r14d, %edi
callq 0x1040
movb $0x1, %r14b
leaq 0x78f(%rip), %r8        # 0x2004
jmp 0x1b49
movl %r12d, %eax
shrl %eax
andl $0x1c, %eax
movl 0x10(%rsp,%rax), %eax
cmpq %rax, %rbp
jbe 0x1e59
movq (%r15,%rax,8), %rax
testq %rax, %rax
je 0x1e97
movl %r12d, %ecx
andl $0x7, %ecx
movl 0x10(%rsp,%rcx,4), %ecx
cmpl (%rax), %ecx
jae 0x1e78
shrl $0x6, %r12d
andl $0x7, %r12d
movl 0x4(%rax,%rcx,4), %eax
movl %eax, 0x10(%rsp,%r12,4)
movb $0x1, %r14b
cmpb $0x0, (%rsp,%r12)
jne 0x1b49
testl %eax, %eax
je 0x1b49
leaq (%rsp,%r12), %rsi
movl %r12d, %edi
callq 0x1367
jmp 0x186e
movl %r12d, %eax
andl $0x7, %eax
movl 0x10(%rsp,%rax,4), %esi
testl %esi, %esi
je 0x1ddd
movl %r12d, %edi
shrl $0x6, %edi
andl $0x7, %edi
shrl %r12d
andl $0x1c, %r12d
movl 0x10(%rsp,%r12), %ecx
movl %ecx, %eax
xorl %edx, %edx
divl %esi
movl %eax, 0x10(%rsp,%rdi,4)
movb $0x1, %r14b
cmpb $0x0, (%rsp,%rdi)
jne 0x1b49
cmpl %ecx, %esi
ja 0x1b49
leaq (%rsp,%rdi), %rsi
callq 0x12b6
jmp 0x186e
movl %r12d, %edi
shrl $0x6, %edi
andl $0x7, %edi
movl %r12d, %eax
andl $0x7, %eax
shrl %r12d
andl $0x1c, %r12d
movl 0x10(%rsp,%rax,4), %eax
andl 0x10(%rsp,%r12), %eax
movl %eax, %ecx
notl %ecx
movl %ecx, 0x10(%rsp,%rdi,4)
movb $0x1, %r14b
cmpb $0x0, (%rsp,%rdi)
jne 0x1b49
cmpl $-0x1, %eax
je 0x1b49
leaq (%rsp,%rdi), %rsi
callq 0x127b
jmp 0x186e
andl $0x7, %r12d
movl 0x10(%rsp,%r12,4), %r14d
cmpq %r14, %rbp
jbe 0x1d61
testl %r14d, %r14d
je 0x1d9f
movq (%r15,%r14,8), %rdi
testq %rdi, %rdi
je 0x1d80
callq 0x1030
movq $0x0, (%r15,%r14,8)
movq 0x38(%rsp), %rdx
movq %rdx, %rax
movq 0x48(%rsp), %rdi
subq %rdi, %rax
sarq $0x2, %rax
movq 0x50(%rsp), %rcx
movl %ecx, %r12d
cmpq %r12, %rax
jne 0x1a93
movq %r15, 0x38(%rsp)
movq %rbp, 0x8(%rsp)
leal (%rcx,%rcx), %ebp
testl %ecx, %ecx
movl $0x20, %eax
cmovel %eax, %ebp
leaq (,%rbp,4), %rsi
movq %rcx, %r15
callq 0x1130
movq %rax, 0x48(%rsp)
leaq (%rax,%r12,4), %r12
movl %ebp, %edx
subl %r15d, %edx
shlq $0x2, %rdx
movq %r12, %rdi
xorl %esi, %esi
callq 0x10a0
movq %rbp, 0x50(%rsp)
movq 0x8(%rsp), %rbp
movq 0x38(%rsp), %r15
jmp 0x1a96
movq 0x25a1(%rip), %rax      # 0x3fd8
movq (%rax), %rdi
callq 0x1110
callq 0x10c0
cmpl $-0x1, %eax
je 0x1b26
cmpl $0x100, %eax            # imm = 0x100
jb 0x1b2b
jmp 0x1f13
movl %r12d, %edi
shrl $0x19, %edi
andl $0x7, %edi
movb $0x1, %r14b
andl $0x1ffffff, %r12d       # imm = 0x1FFFFFF
movl %r12d, 0x10(%rsp,%rdi,4)
je 0x1b49
cmpb $0x0, (%rsp,%rdi)
jne 0x1b49
leaq (%rsp,%rdi), %rsi
callq 0x1170
jmp 0x186e
movq %rdx, %r12
leaq 0x567(%rip), %r8        # 0x2004
movl %r14d, (%r12)
addq $0x4, %r12
movq %r12, 0x38(%rsp)
movb $0x1, %r14b
jmp 0x1b49
leaq 0x8(,%rbp,8), %rsi
movq %r15, %rdi
callq 0x1130
testq %rax, %rax
je 0x1f32
movq %rax, %r15
movq %rbp, %rax
incq %rax
movq %rax, 0x8(%rsp)
leal 0x1(%r14), %edi
movl $0x4, %esi
callq 0x10b0
testq %rax, %rax
je 0x1dbe
shrl $0x3, %r12d
andl $0x7, %r12d
movl %r14d, (%rax)
movl %ebp, %ecx
movq %rax, (%r15,%rcx,8)
movl %ebp, 0x10(%rsp,%r12,4)
movb $0x1, %r14b
cmpb $0x0, (%rsp,%r12)
leaq 0x4ef(%rip), %r8        # 0x2004
jne 0x1b1f
testl %ebp, %ebp
jne 0x1c01
movq 0x8(%rsp), %rbp
jmp 0x1b49
movl $0xffffffff, %eax       # imm = 0xFFFFFFFF
andl $0x7, %r12d
movl %eax, 0x10(%rsp,%r12,4)
movb $0x1, %r14b
cmpb $0x0, (%rsp,%r12)
leaq 0x4c1(%rip), %r8        # 0x2004
je 0x1bf0
testb %r14b, %r14b
jne 0x1685
jmp 0x1c31
callq 0x124e
leaq 0x4a1(%rip), %r8        # 0x2004
xorl %r14d, %r14d
jmp 0x1b49
cmpq %rax, %rbp
jbe 0x1eb6
movq (%r15,%rax,8), %rax
testq %rax, %rax
je 0x1ef4
movq %rax, 0x8(%rsp)
movl (%rax), %r13d
incl %r13d
shlq $0x2, %r13
movq %r13, %rdi
callq 0x1100
testq %rax, %rax
je 0x1ed5
movq %rax, %r14
movq %rax, %rdi
movq 0x8(%rsp), %rsi
movq %r13, %rdx
callq 0x10f0
movq %rbx, %rdi
callq 0x1030
movq %r14, (%r15)
movq 0x2415(%rip), %rax      # 0x3fd8
movq (%rax), %rdi
callq 0x1110
movq 0x2426(%rip), %rax      # 0x3ff8
movq (%rax), %rsi
leaq 0x60e(%rip), %rdi       # 0x21ea
callq 0x1090
movq %r14, %rbx
leaq 0x419(%rip), %r8        # 0x2004
jmp 0x173f
leaq (%rsp,%r12), %rsi
movl %r12d, %edi
callq 0x11ab
jmp 0x186e
leaq (%rsp,%r12), %rsi
movl %r12d, %edi
callq 0x1213
leaq 0x3f0(%rip), %r8        # 0x2004
jmp 0x1b1f
movq 0x40(%rsp), %rdi
callq 0x11e6
movq $0x0, 0x40(%rsp)
jmp 0x1863
xorl %eax, %eax
addq $0x58, %rsp
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
retq
leaq 0x409(%rip), %rdi       # 0x2052
leaq 0x40c(%rip), %rsi       # 0x205c
leaq 0x413(%rip), %rcx       # 0x206a
movl $0x15, %edx
callq 0x1080
leaq 0x419(%rip), %rdi       # 0x2081
leaq 0x3ed(%rip), %rsi       # 0x205c
leaq 0x3f4(%rip), %rcx       # 0x206a
movl $0x17, %edx
callq 0x1080
leaq 0x40a(%rip), %rdi       # 0x2091
leaq 0x3ce(%rip), %rsi       # 0x205c
leaq 0x3d5(%rip), %rcx       # 0x206a
movl $0x19, %edx
callq 0x1080
leaq 0x3db(%rip), %rdi       # 0x2081
leaq 0x3af(%rip), %rsi       # 0x205c
leaq 0x3b6(%rip), %rcx       # 0x206a
movl $0x1c, %edx
callq 0x1080
leaq 0x3d6(%rip), %rdi       # 0x209b
leaq 0x390(%rip), %rsi       # 0x205c
leaq 0x397(%rip), %rcx       # 0x206a
movl $0x1e, %edx
callq 0x1080
leaq 0x3ca(%rip), %rdi       # 0x20ae
leaq 0x371(%rip), %rsi       # 0x205c
leaq 0x378(%rip), %rcx       # 0x206a
movl $0x20, %edx
callq 0x1080
leaq 0x3c1(%rip), %rdi       # 0x20c4
leaq 0x352(%rip), %rsi       # 0x205c
leaq 0x359(%rip), %rcx       # 0x206a
movl $0x23, %edx
callq 0x1080
leaq 0x37c(%rip), %rdi       # 0x209e
leaq 0x333(%rip), %rsi       # 0x205c
leaq 0x33a(%rip), %rcx       # 0x206a
movl $0x25, %edx
callq 0x1080
movl %r12d, %edi
callq 0x13dd
leaq 0x44c(%rip), %rdi       # 0x2195
leaq 0x30c(%rip), %rsi       # 0x205c
leaq 0x313(%rip), %rcx       # 0x206a
movl $0xdb, %edx
callq 0x1080
leaq 0x3ae(%rip), %rdi       # 0x2116
leaq 0x2ed(%rip), %rsi       # 0x205c
leaq 0x2f4(%rip), %rcx       # 0x206a
movl $0xc9, %edx
callq 0x1080
leaq 0x3ff(%rip), %rdi       # 0x2186
leaq 0x2ce(%rip), %rsi       # 0x205c
leaq 0x2d5(%rip), %rcx       # 0x206a
movl $0xcb, %edx
callq 0x1080
leaq 0x3d9(%rip), %rdi       # 0x217f
leaq 0x2af(%rip), %rsi       # 0x205c
leaq 0x2b6(%rip), %rcx       # 0x206a
movl $0xca, %edx
callq 0x1080
leaq 0x3ab(%rip), %rdi       # 0x2170
leaq 0x290(%rip), %rsi       # 0x205c
leaq 0x297(%rip), %rcx       # 0x206a
movl $0xba, %edx
callq 0x1080
leaq 0x374(%rip), %rdi       # 0x2158
leaq 0x271(%rip), %rsi       # 0x205c
leaq 0x278(%rip), %rcx       # 0x206a
movl $0x90, %edx
callq 0x1080
leaq 0x313(%rip), %rdi       # 0x2116
leaq 0x252(%rip), %rsi       # 0x205c
leaq 0x259(%rip), %rcx       # 0x206a
movl $0x67, %edx
callq 0x1080
leaq 0x322(%rip), %rdi       # 0x2144
leaq 0x233(%rip), %rsi       # 0x205c
leaq 0x23a(%rip), %rcx       # 0x206a
movl $0x6a, %edx
callq 0x1080
leaq 0x2e4(%rip), %rdi       # 0x2125
leaq 0x214(%rip), %rsi       # 0x205c
leaq 0x21b(%rip), %rcx       # 0x206a
movl $0x69, %edx
callq 0x1080
leaq 0x2b6(%rip), %rdi       # 0x2116
leaq 0x1f5(%rip), %rsi       # 0x205c
leaq 0x1fc(%rip), %rcx       # 0x206a
movl $0x55, %edx
callq 0x1080
leaq 0x2b1(%rip), %rdi       # 0x2130
leaq 0x1d6(%rip), %rsi       # 0x205c
leaq 0x1dd(%rip), %rcx       # 0x206a
movl $0x58, %edx
callq 0x1080
leaq 0x287(%rip), %rdi       # 0x2125
leaq 0x1b7(%rip), %rsi       # 0x205c
leaq 0x1be(%rip), %rcx       # 0x206a
movl $0x57, %edx
callq 0x1080
leaq 0x259(%rip), %rdi       # 0x2116
leaq 0x198(%rip), %rsi       # 0x205c
leaq 0x19f(%rip), %rcx       # 0x206a
movl $0xfc, %edx
callq 0x1080
leaq 0x2fb(%rip), %rdi       # 0x21d7
leaq 0x179(%rip), %rsi       # 0x205c
leaq 0x180(%rip), %rcx       # 0x206a
movl $0x100, %edx            # imm = 0x100
callq 0x1080
leaq 0x28b(%rip), %rdi       # 0x2186
leaq 0x15a(%rip), %rsi       # 0x205c
leaq 0x161(%rip), %rcx       # 0x206a
movl $0xfd, %edx
callq 0x1080
leaq 0x2a8(%rip), %rdi       # 0x21c2
leaq 0x13b(%rip), %rsi       # 0x205c
leaq 0x142(%rip), %rcx       # 0x206a
movl $0xec, %edx
callq 0x1080
leaq 0x23a(%rip), %rdi       # 0x2173
leaq 0x11c(%rip), %rsi       # 0x205c
leaq 0x123(%rip), %rcx       # 0x206a
movl $0xb4, %edx
callq 0x1080