// File: /workspace/github_c_makefile_star2_O3/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 $0x68, %rsp
cmpl $0x1, %edi
jg 0x1531
movq %rsi, %rdi
callq 0x13fd
movl $0x1, %eax
jmp 0x1be6
movq 0x8(%rsi), %rdi
leaq 0xb13(%rip), %rsi       # 0x204f
callq 0x1140
testq %rax, %rax
je 0x1e0b
movq %rax, %rbx
movq %rax, %rdi
xorl %esi, %esi
movl $0x2, %edx
callq 0x1120
testl %eax, %eax
jne 0x1e2a
movq %rbx, %rdi
callq 0x10e0
testq %rax, %rax
js 0x1e49
movq %rax, %r15
movq %rbx, %rdi
xorl %esi, %esi
xorl %edx, %edx
callq 0x1120
testl %eax, %eax
jne 0x1e68
movq %r15, %rdi
callq 0x1100
testq %rax, %rax
je 0x1e87
movq %rax, %r14
movl $0x1, %esi
movq %rax, %rdi
movq %r15, %rdx
movq %rbx, %rcx
callq 0x1060
cmpq %r15, %rax
jne 0x1ea6
movq %rbx, %rdi
callq 0x1070
testb $0x3, %r15b
jne 0x1ec5
leaq 0x4(%r15), %rdi
callq 0x1100
testq %rax, %rax
je 0x1ee4
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, 0x48(%rsp)
movq %r15, %rdx
xorl %eax, %eax
callq 0x10d0
xorps %xmm0, %xmm0
movaps %xmm0, 0x20(%rsp)
movaps %xmm0, 0x10(%rsp)
movl $0x1, %eax
movq %rax, 0x40(%rsp)
movl $0x1, %edi
movl $0x8, %esi
callq 0x10b0
movq %rax, %r13
movq %rbx, (%rax)
movq $0x0, 0x8(%rsp)
leaq 0x997(%rip), %r15       # 0x2004
movq $0x0, 0x58(%rsp)
movq $0x0, 0x38(%rsp)
movq $0x0, 0x50(%rsp)
xorl %r12d, %r12d
movl 0x4(%rbx,%r12,4), %ebp
movl %ebp, %eax
shrl $0x1c, %eax
cmpl $0xd, %eax
ja 0x1d69
incq %r12
movslq (%r15,%rax,4), %rax
addq %r15, %rax
jmpq *%rax
movl %ebp, %eax
andl $0x7, %eax
cmpl $0x0, 0x10(%rsp,%rax,4)
je 0x168b
movl %ebp, %edi
shrl $0x6, %edi
andl $0x7, %edi
shrl %ebp
andl $0x1c, %ebp
movl 0x10(%rsp,%rbp), %eax
movl %eax, 0x10(%rsp,%rdi,4)
cmpb $0x0, 0x8(%rsp,%rdi)
jne 0x168b
testl %eax, %eax
je 0x168b
leaq (%rsp,%rdi), %rsi
addq $0x8, %rsi
callq 0x13a2
jmp 0x168b
movl %ebp, %edi
shrl $0x19, %edi
andl $0x7, %edi
andl $0x1ffffff, %ebp        # imm = 0x1FFFFFF
movl %ebp, 0x10(%rsp,%rdi,4)
je 0x168b
cmpb $0x0, 0x8(%rsp,%rdi)
jne 0x168b
leaq (%rsp,%rdi), %rsi
addq $0x8, %rsi
callq 0x1170
jmp 0x168b
andl $0x7, %ebp
movl 0x10(%rsp,%rbp,4), %ebp
cmpl $0x100, %ebp            # imm = 0x100
jae 0x1bf5
cmpl $0x0, 0x48(%rsp)
jg 0x1bbd
movl %ebp, %edi
callq 0x1040
jmp 0x168b
movl %ebp, %edi
shrl $0x6, %edi
movl %ebp, %eax
andl $0x7, %eax
shrl %ebp
andl $0x1c, %ebp
movl 0x10(%rsp,%rax,4), %eax
imull 0x10(%rsp,%rbp), %eax
andl $0x7, %edi
movl %eax, 0x10(%rsp,%rdi,4)
cmpb $0x0, 0x8(%rsp,%rdi)
jne 0x168b
testl %eax, %eax
je 0x168b
leaq (%rsp,%rdi), %rsi
addq $0x8, %rsi
callq 0x12f1
jmp 0x168b
movl %ebp, %eax
shrl %eax
andl $0x1c, %eax
movl 0x10(%rsp,%rax), %eax
testq %rax, %rax
jne 0x1b32
andl $0x7, %ebp
movl 0x10(%rsp,%rbp,4), %r12d
jmp 0x168b
movq %r13, %r15
andl $0x7, %ebp
movl 0x10(%rsp,%rbp,4), %r13d
cmpq %r13, 0x40(%rsp)
jbe 0x1ced
testl %r13d, %r13d
je 0x1caf
movq (%r15,%r13,8), %rdi
testq %rdi, %rdi
je 0x1d0c
callq 0x1030
movq $0x0, (%r15,%r13,8)
movq 0x38(%rsp), %rsi
movq %rsi, %rbp
movq 0x50(%rsp), %rdi
subq %rdi, %rbp
movq %rbp, %rax
sarq $0x2, %rax
movq 0x58(%rsp), %rdx
movl %edx, %ecx
cmpq %rcx, %rax
jne 0x1849
movq %rbx, 0x38(%rsp)
movq %rdx, %rbx
leal (%rdx,%rdx), %r14d
testl %ebx, %ebx
movl $0x20, %eax
cmovel %eax, %r14d
leaq (,%r14,4), %rsi
callq 0x1130
movq %rax, 0x50(%rsp)
addq %rax, %rbp
movl %r14d, %edx
subl %ebx, %edx
movq 0x38(%rsp), %rbx
shlq $0x2, %rdx
movq %rbp, %rdi
xorl %esi, %esi
callq 0x10a0
movq %r14, 0x58(%rsp)
movq %rbp, %rsi
movl %r13d, (%rsi)
addq $0x4, %rsi
movq %rsi, 0x38(%rsp)
movq %r15, %r13
leaq 0x7a5(%rip), %r15       # 0x2004
jmp 0x168b
movq 0x276d(%rip), %rax      # 0x3fd8
movq (%rax), %rdi
callq 0x1110
callq 0x10c0
cmpl $-0x1, %eax
je 0x1a5a
cmpl $0x100, %eax            # imm = 0x100
jb 0x1a5f
jmp 0x1dcd
movl %ebp, %eax
shrl $0x4, %eax
andl $0x1c, %eax
movl 0x10(%rsp,%rax), %edx
cmpq %rdx, 0x40(%rsp)
jbe 0x1c33
movq (%r13,%rdx,8), %rax
testq %rax, %rax
je 0x1c71
movl %ebp, %ecx
shrl $0x3, %ecx
andl $0x7, %ecx
movl 0x10(%rsp,%rcx,4), %ecx
cmpl (%rax), %ecx
jae 0x1d2b
andl $0x7, %ebp
testq %rdx, %rdx
je 0x1b0d
movl %ebp, %edx
movl 0x10(%rsp,%rdx,4), %edx
jmp 0x1b29
movl %ebp, %eax
andl $0x7, %eax
movl 0x10(%rsp,%rax,4), %r15d
movq 0x38(%rsp), %rax
cmpq 0x50(%rsp), %rax
je 0x1a85
movl -0x4(%rax), %r14d
movl $0x0, -0x4(%rax)
addq $-0x4, %rax
movq %rax, 0x38(%rsp)
jmp 0x1ab1
movl %ebp, %edi
shrl $0x6, %edi
movl %ebp, %eax
andl $0x7, %eax
shrl %ebp
andl $0x1c, %ebp
movl 0x10(%rsp,%rax,4), %eax
addl 0x10(%rsp,%rbp), %eax
andl $0x7, %edi
movl %eax, 0x10(%rsp,%rdi,4)
cmpb $0x0, 0x8(%rsp,%rdi)
jne 0x168b
testl %eax, %eax
je 0x168b
leaq (%rsp,%rdi), %rsi
addq $0x8, %rsi
callq 0x132c
jmp 0x168b
movl %ebp, %eax
shrl %eax
andl $0x1c, %eax
movl 0x10(%rsp,%rax), %eax
cmpq %rax, 0x40(%rsp)
jbe 0x1c90
movq (%r13,%rax,8), %rax
testq %rax, %rax
je 0x1c52
movl %ebp, %ecx
andl $0x7, %ecx
movl 0x10(%rsp,%rcx,4), %ecx
cmpl (%rax), %ecx
jae 0x1d4a
shrl $0x6, %ebp
andl $0x7, %ebp
movl 0x4(%rax,%rcx,4), %eax
movl %eax, 0x10(%rsp,%rbp,4)
cmpb $0x0, 0x8(%rsp,%rbp)
jne 0x168b
testl %eax, %eax
je 0x168b
leaq (%rsp,%rbp), %rsi
addq $0x8, %rsi
movl %ebp, %edi
callq 0x1367
jmp 0x168b
movl %ebp, %eax
andl $0x7, %eax
movl 0x10(%rsp,%rax,4), %esi
testl %esi, %esi
je 0x1c14
movl %ebp, %edi
shrl $0x6, %edi
andl $0x7, %edi
shrl %ebp
andl $0x1c, %ebp
movl 0x10(%rsp,%rbp), %ecx
movl %ecx, %eax
xorl %edx, %edx
divl %esi
movl %eax, 0x10(%rsp,%rdi,4)
cmpb $0x0, 0x8(%rsp,%rdi)
jne 0x168b
cmpl %ecx, %esi
ja 0x168b
leaq (%rsp,%rdi), %rsi
addq $0x8, %rsi
callq 0x12b6
jmp 0x168b
movl %ebp, %edi
shrl $0x6, %edi
andl $0x7, %edi
movl %ebp, %eax
andl $0x7, %eax
shrl %ebp
andl $0x1c, %ebp
movl 0x10(%rsp,%rax,4), %eax
andl 0x10(%rsp,%rbp), %eax
movl %eax, %ecx
notl %ecx
movl %ecx, 0x10(%rsp,%rdi,4)
cmpb $0x0, 0x8(%rsp,%rdi)
jne 0x168b
cmpl $-0x1, %eax
je 0x168b
leaq (%rsp,%rdi), %rsi
addq $0x8, %rsi
callq 0x127b
jmp 0x168b
movl $0xffffffff, %eax       # imm = 0xFFFFFFFF
andl $0x7, %ebp
movl %eax, 0x10(%rsp,%rbp,4)
cmpb $0x0, 0x8(%rsp,%rbp)
jne 0x168b
leaq (%rsp,%rbp), %rsi
addq $0x8, %rsi
movl %ebp, %edi
callq 0x11ab
jmp 0x168b
movq 0x40(%rsp), %r14
leaq 0x8(,%r14,8), %rsi
movq %r13, %rdi
callq 0x1130
testq %rax, %rax
je 0x1dec
movq %rax, %r13
movq %r14, %rax
incq %rax
movq %rax, 0x40(%rsp)
leal 0x1(%r15), %edi
movl $0x4, %esi
callq 0x10b0
testq %rax, %rax
je 0x1cce
shrl $0x3, %ebp
andl $0x7, %ebp
movl %r15d, (%rax)
movl %r14d, %ecx
movq %rax, (%r13,%rcx,8)
movl %r14d, 0x10(%rsp,%rbp,4)
cmpb $0x0, 0x8(%rsp,%rbp)
leaq 0x51a(%rip), %r15       # 0x2004
jne 0x168b
testl %r14d, %r14d
je 0x168b
leaq (%rsp,%rbp), %rsi
addq $0x8, %rsi
movl %ebp, %edi
callq 0x1213
jmp 0x168b
movl %ebp, %edx
movl 0x10(%rsp,%rdx,4), %edx
xorl %esi, %esi
cmpl %edx, 0x4(%rax,%rcx,4)
setne %sil
movq 0x48(%rsp), %rdi
addl %esi, %edi
movq %rdi, 0x48(%rsp)
movl %edx, 0x4(%rax,%rcx,4)
jmp 0x168b
cmpq %rax, 0x40(%rsp)
jbe 0x1d70
movq (%r13,%rax,8), %rax
testq %rax, %rax
je 0x1d8f
movq %r13, 0x60(%rsp)
movq %rax, %r14
movl (%rax), %r13d
incl %r13d
shlq $0x2, %r13
movq %r13, %rdi
callq 0x1100
testq %rax, %rax
je 0x1dae
movq %rax, %r12
movq %rax, %rdi
movq %r14, %rsi
movq %r13, %rdx
callq 0x10f0
movq %rbx, %rdi
callq 0x1030
movq 0x60(%rsp), %r13
movq %r12, (%r13)
movq 0x2441(%rip), %rax      # 0x3fd8
movq (%rax), %rdi
callq 0x1110
movq 0x2452(%rip), %rax      # 0x3ff8
movq (%rax), %rsi
leaq 0x63a(%rip), %rdi       # 0x21ea
callq 0x1090
movq %r12, %rbx
jmp 0x1794
movq 0x48(%rsp), %rdi
callq 0x11e6
movq $0x0, 0x48(%rsp)
jmp 0x1730
leaq 0x8(%rsp), %rdi
leaq 0x10(%rsp), %rsi
callq 0x124e
xorl %eax, %eax
addq $0x68, %rsp
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
retq
leaq 0x599(%rip), %rdi       # 0x2195
leaq 0x459(%rip), %rsi       # 0x205c
leaq 0x460(%rip), %rcx       # 0x206a
movl $0xdb, %edx
callq 0x1080
leaq 0x53d(%rip), %rdi       # 0x2158
leaq 0x43a(%rip), %rsi       # 0x205c
leaq 0x441(%rip), %rcx       # 0x206a
movl $0x90, %edx
callq 0x1080
leaq 0x4dc(%rip), %rdi       # 0x2116
leaq 0x41b(%rip), %rsi       # 0x205c
leaq 0x422(%rip), %rcx       # 0x206a
movl $0x67, %edx
callq 0x1080
leaq 0x4cc(%rip), %rdi       # 0x2125
leaq 0x3fc(%rip), %rsi       # 0x205c
leaq 0x403(%rip), %rcx       # 0x206a
movl $0x57, %edx
callq 0x1080
leaq 0x4ad(%rip), %rdi       # 0x2125
leaq 0x3dd(%rip), %rsi       # 0x205c
leaq 0x3e4(%rip), %rcx       # 0x206a
movl $0x69, %edx
callq 0x1080
leaq 0x47f(%rip), %rdi       # 0x2116
leaq 0x3be(%rip), %rsi       # 0x205c
leaq 0x3c5(%rip), %rcx       # 0x206a
movl $0x55, %edx
callq 0x1080
leaq 0x4c9(%rip), %rdi       # 0x217f
leaq 0x39f(%rip), %rsi       # 0x205c
leaq 0x3a6(%rip), %rcx       # 0x206a
movl $0xca, %edx
callq 0x1080
leaq 0x49b(%rip), %rdi       # 0x2170
leaq 0x380(%rip), %rsi       # 0x205c
leaq 0x387(%rip), %rcx       # 0x206a
movl $0xba, %edx
callq 0x1080
leaq 0x422(%rip), %rdi       # 0x2116
leaq 0x361(%rip), %rsi       # 0x205c
leaq 0x368(%rip), %rcx       # 0x206a
movl $0xc9, %edx
callq 0x1080
leaq 0x473(%rip), %rdi       # 0x2186
leaq 0x342(%rip), %rsi       # 0x205c
leaq 0x349(%rip), %rcx       # 0x206a
movl $0xcb, %edx
callq 0x1080
leaq 0x412(%rip), %rdi       # 0x2144
leaq 0x323(%rip), %rsi       # 0x205c
leaq 0x32a(%rip), %rcx       # 0x206a
movl $0x6a, %edx
callq 0x1080
leaq 0x3df(%rip), %rdi       # 0x2130
leaq 0x304(%rip), %rsi       # 0x205c
leaq 0x30b(%rip), %rcx       # 0x206a
movl $0x58, %edx
callq 0x1080
movl %ebp, %edi
callq 0x13dd
leaq 0x39f(%rip), %rdi       # 0x2116
leaq 0x2de(%rip), %rsi       # 0x205c
leaq 0x2e5(%rip), %rcx       # 0x206a
movl $0xfc, %edx
callq 0x1080
leaq 0x3f0(%rip), %rdi       # 0x2186
leaq 0x2bf(%rip), %rsi       # 0x205c
leaq 0x2c6(%rip), %rcx       # 0x206a
movl $0xfd, %edx
callq 0x1080
leaq 0x422(%rip), %rdi       # 0x21d7
leaq 0x2a0(%rip), %rsi       # 0x205c
leaq 0x2a7(%rip), %rcx       # 0x206a
movl $0x100, %edx            # imm = 0x100
callq 0x1080
leaq 0x3ee(%rip), %rdi       # 0x21c2
leaq 0x281(%rip), %rsi       # 0x205c
leaq 0x288(%rip), %rcx       # 0x206a
movl $0xec, %edx
callq 0x1080
leaq 0x380(%rip), %rdi       # 0x2173
leaq 0x262(%rip), %rsi       # 0x205c
leaq 0x269(%rip), %rcx       # 0x206a
movl $0xb4, %edx
callq 0x1080
leaq 0x240(%rip), %rdi       # 0x2052
leaq 0x243(%rip), %rsi       # 0x205c
leaq 0x24a(%rip), %rcx       # 0x206a
movl $0x15, %edx
callq 0x1080
leaq 0x250(%rip), %rdi       # 0x2081
leaq 0x224(%rip), %rsi       # 0x205c
leaq 0x22b(%rip), %rcx       # 0x206a
movl $0x17, %edx
callq 0x1080
leaq 0x241(%rip), %rdi       # 0x2091
leaq 0x205(%rip), %rsi       # 0x205c
leaq 0x20c(%rip), %rcx       # 0x206a
movl $0x19, %edx
callq 0x1080
leaq 0x212(%rip), %rdi       # 0x2081
leaq 0x1e6(%rip), %rsi       # 0x205c
leaq 0x1ed(%rip), %rcx       # 0x206a
movl $0x1c, %edx
callq 0x1080
leaq 0x20d(%rip), %rdi       # 0x209b
leaq 0x1c7(%rip), %rsi       # 0x205c
leaq 0x1ce(%rip), %rcx       # 0x206a
movl $0x1e, %edx
callq 0x1080
leaq 0x201(%rip), %rdi       # 0x20ae
leaq 0x1a8(%rip), %rsi       # 0x205c
leaq 0x1af(%rip), %rcx       # 0x206a
movl $0x20, %edx
callq 0x1080
leaq 0x1f8(%rip), %rdi       # 0x20c4
leaq 0x189(%rip), %rsi       # 0x205c
leaq 0x190(%rip), %rcx       # 0x206a
movl $0x23, %edx
callq 0x1080
leaq 0x1b3(%rip), %rdi       # 0x209e
leaq 0x16a(%rip), %rsi       # 0x205c
leaq 0x171(%rip), %rcx       # 0x206a
movl $0x25, %edx
callq 0x1080