// File: /workspace/github_c_makefile_star2_O0/jech[P]shncpd/send.c
// Function: format_my_state
int
format_my_state(unsigned char *buf, int buflen)
{
    int i = 0, j, k;
    struct node *node = find_node(myid, 0);
    int dlen, n_dns6, dns6_len, n_dns4, dns4_len;

    MEM_UNDEFINED(buf, buflen);

    for(j = 0; j < numneighs; j++) {
        CHECK(12);
        SHORT(8);
        SHORT(12);
        BYTES(neighs[j].id, 4);
        LONG(neighs[j].eid);
        LONG(neighs[j].interface->ifindex);
        PAD();
    }

    CHECK(11);
    SHORT(32);
    SHORT(12);
    SHORT(0);
    BYTE(0);
    BYTE(interface_dhcpv4_prio(neighs[j].interface) & 0x0F);

    BYTES("SHNCPD/0", 8);
    PAD();

    for(j = 0; j < numinterfaces; j++) {
        for(k = 0; k < interfaces[j].numassigned; k++) {
            const struct assigned_prefix *aa = &interfaces[j].assigned[k];
            int pbytes = (aa->assigned.plen + 7) / 8;
            if(aa->published) {
                assert(aa->assigned.plen > 0);
                CHECK(10 + pbytes);
                SHORT(35);
                SHORT(6 + pbytes);
                LONG(interfaces[j].ifindex);
                BYTE((aa->assigned.prio & 0x0F));
                BYTE(aa->assigned.plen);
                BYTES(&aa->assigned.p, pbytes);
                PAD();
            }
            if(!IN6_IS_ADDR_UNSPECIFIED(&aa->assigned_address)) {
                CHECK(24);
                SHORT(36);
                SHORT(20);
                LONG(interfaces[j].ifindex);
                BYTES(&aa->assigned_address, 16);
                PAD();
            }
        }
    }

    dlen = n_dns6 = n_dns4 = 0;
    for(j = 0; j < node->numexts; j++) {
        if(node->exts[j]->delegated) {
            for(k = 0; k < node->exts[j]->delegated->numprefixes; k++) {
                struct prefix *p = &node->exts[j]->delegated->prefixes[k];
                dlen += 4 + 9 + (p->plen + 7) / 8;
            }
        }
        if(node->exts[j]->dns) {
            for(k = 0; k < node->exts[j]->dns->numprefixes; k++) {
                struct prefix *p = &node->exts[j]->dns->prefixes[k];
                if(!prefix_v4(p))
                    n_dns6++;
                else
                    n_dns4++;
            }
        }
    }

    dns6_len = n_dns6 > 0 ? 4 + 4 + 16 * n_dns6 : 0;
    dns4_len = n_dns4 > 0 ? 4 + 2 + 4 * n_dns4 : 0;

    for(j = 0; j < node->numexts; j++) {
        CHECK(4);
        SHORT(33);
        SHORT(dlen + (-dlen & 3) +
              dns6_len + (-dns6_len & 3) +
              dns4_len + (-dns4_len & 3));
        if(node->exts[j]->delegated) {
            for(k = 0; k < node->exts[j]->delegated->numprefixes; k++) {
                struct prefix *p = &node->exts[j]->delegated->prefixes[k];
                CHECK(4 + 9 + (p->plen + 7) / 8 + 4);
                SHORT(34);
                SHORT(9 + (p->plen + 7) / 8);
                LONG(3600);
                LONG(1800);
                BYTE(p->plen);
                BYTES(&p->p, (p->plen + 7) / 8);
                PAD();
            }
        }
        if(n_dns6 > 0) {
            CHECK(4 + 4 + 16 * n_dns6 + 4);
            SHORT(37);
            SHORT(4 + 16 * n_dns6);
            SHORT(23);
            SHORT(16 * n_dns6);
            for(k = 0; k < node->exts[j]->dns->numprefixes; k++) {
                struct prefix *p = &node->exts[j]->dns->prefixes[k];
                if(!prefix_v4(p)) {
                    BYTES(&p->p, 16);
                }
            }
            PAD();
        }
        if(n_dns4 > 0) {
            CHECK(4 + 2 + 4 * n_dns4 + 4);
            SHORT(38);
            SHORT(2 + 4 * n_dns4);
            BYTE(6);
            BYTE(4 * n_dns4);
            for(k = 0; k < node->exts[j]->dns->numprefixes; k++) {
                struct prefix *p = &node->exts[j]->dns->prefixes[k];
                if(prefix_v4(p)) {
                    BYTES((char*)&p->p + 12, 4);
                }
            }
            PAD();
        }
    }

    return i;

 fail:
    return -1;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0xe0, %rsp
movq %rdi, -0x10(%rbp)
movl %esi, -0x14(%rbp)
movl $0x0, -0x18(%rbp)
leaq 0x10520(%rip), %rdi     # 0x16290
xorl %esi, %esi
callq 0x4c80
movq %rax, -0x28(%rbp)
jmp 0x5d7d
movl $0x0, -0x1c(%rbp)
movl -0x1c(%rbp), %eax
leaq 0x1052a(%rip), %rcx     # 0x162b8
cmpl (%rcx), %eax
jge 0x5ebf
movl -0x14(%rbp), %eax
movl -0x18(%rbp), %ecx
addl $0xc, %ecx
cmpl %ecx, %eax
jge 0x5da8
jmp 0x6abf
jmp 0x5daa
movl $0x8, %edi
callq 0x2100
movw %ax, -0x3e(%rbp)
movq -0x10(%rbp), %rax
movslq -0x18(%rbp), %rcx
movw -0x3e(%rbp), %dx
movw %dx, (%rax,%rcx)
movl -0x18(%rbp), %eax
addl $0x2, %eax
movl %eax, -0x18(%rbp)
movl $0xc, %edi
callq 0x2100
movw %ax, -0x40(%rbp)
movq -0x10(%rbp), %rax
movslq -0x18(%rbp), %rcx
movw -0x40(%rbp), %dx
movw %dx, (%rax,%rcx)
movl -0x18(%rbp), %eax
addl $0x2, %eax
movl %eax, -0x18(%rbp)
movq -0x10(%rbp), %rax
movslq -0x18(%rbp), %rcx
movslq -0x1c(%rbp), %rsi
leaq 0x11095(%rip), %rdx     # 0x16ea0
shlq $0x6, %rsi
addq %rsi, %rdx
movl 0x8(%rdx), %edx
movl %edx, (%rax,%rcx)
movl -0x18(%rbp), %eax
addl $0x4, %eax
movl %eax, -0x18(%rbp)
movslq -0x1c(%rbp), %rcx
leaq 0x11074(%rip), %rax     # 0x16ea0
shlq $0x6, %rcx
addq %rcx, %rax
movl 0xc(%rax), %edi
callq 0x2160
movl %eax, -0x44(%rbp)
movq -0x10(%rbp), %rax
movslq -0x18(%rbp), %rcx
movl -0x44(%rbp), %edx
movl %edx, (%rax,%rcx)
movl -0x18(%rbp), %eax
addl $0x4, %eax
movl %eax, -0x18(%rbp)
movslq -0x1c(%rbp), %rcx
leaq 0x11040(%rip), %rax     # 0x16ea0
shlq $0x6, %rcx
addq %rcx, %rax
movq (%rax), %rax
movl 0x8(%rax), %edi
callq 0x2160
movl %eax, -0x48(%rbp)
movq -0x10(%rbp), %rax
movslq -0x18(%rbp), %rcx
movl -0x48(%rbp), %edx
movl %edx, (%rax,%rcx)
movl -0x18(%rbp), %eax
addl $0x4, %eax
movl %eax, -0x18(%rbp)
movl -0x18(%rbp), %eax
andl $0x3, %eax
cmpl $0x0, %eax
je 0x5eaf
movq -0x10(%rbp), %rax
movl -0x18(%rbp), %ecx
movl %ecx, %edx
addl $0x1, %edx
movl %edx, -0x18(%rbp)
movslq %ecx, %rcx
movb $0x0, (%rax,%rcx)
jmp 0x5e8c
jmp 0x5eb1
movl -0x1c(%rbp), %eax
addl $0x1, %eax
movl %eax, -0x1c(%rbp)
jmp 0x5d84
movl -0x14(%rbp), %eax
movl -0x18(%rbp), %ecx
addl $0xb, %ecx
cmpl %ecx, %eax
jge 0x5ed1
jmp 0x6abf
jmp 0x5ed3
movl $0x20, %edi
callq 0x2100
movw %ax, -0x4a(%rbp)
movq -0x10(%rbp), %rax
movslq -0x18(%rbp), %rcx
movw -0x4a(%rbp), %dx
movw %dx, (%rax,%rcx)
movl -0x18(%rbp), %eax
addl $0x2, %eax
movl %eax, -0x18(%rbp)
movl $0xc, %edi
callq 0x2100
movw %ax, -0x4c(%rbp)
movq -0x10(%rbp), %rax
movslq -0x18(%rbp), %rcx
movw -0x4c(%rbp), %dx
movw %dx, (%rax,%rcx)
movl -0x18(%rbp), %eax
addl $0x2, %eax
movl %eax, -0x18(%rbp)
xorl %edi, %edi
callq 0x2100
movw %ax, -0x4e(%rbp)
movq -0x10(%rbp), %rax
movslq -0x18(%rbp), %rcx
movw -0x4e(%rbp), %dx
movw %dx, (%rax,%rcx)
movl -0x18(%rbp), %eax
addl $0x2, %eax
movl %eax, -0x18(%rbp)
movq -0x10(%rbp), %rax
movslq -0x18(%rbp), %rcx
movb $0x0, (%rax,%rcx)
movl -0x18(%rbp), %eax
addl $0x1, %eax
movl %eax, -0x18(%rbp)
movslq -0x1c(%rbp), %rcx
leaq 0x10f3b(%rip), %rax     # 0x16ea0
shlq $0x6, %rcx
addq %rcx, %rax
movq (%rax), %rdi
callq 0x9c50
andl $0xf, %eax
movb %al, %dl
movq -0x10(%rbp), %rax
movslq -0x18(%rbp), %rcx
movb %dl, (%rax,%rcx)
movl -0x18(%rbp), %eax
addl $0x1, %eax
movl %eax, -0x18(%rbp)
movq -0x10(%rbp), %rax
movslq -0x18(%rbp), %rcx
movq 0xc881(%rip), %rdx      # 0x1281d
movq %rdx, (%rax,%rcx)
movl -0x18(%rbp), %eax
addl $0x8, %eax
movl %eax, -0x18(%rbp)
movl -0x18(%rbp), %eax
andl $0x3, %eax
cmpl $0x0, %eax
je 0x5fcc
movq -0x10(%rbp), %rax
movl -0x18(%rbp), %ecx
movl %ecx, %edx
addl $0x1, %edx
movl %edx, -0x18(%rbp)
movslq %ecx, %rcx
movb $0x0, (%rax,%rcx)
jmp 0x5fa9
movl $0x0, -0x1c(%rbp)
movl -0x1c(%rbp), %eax
leaq 0x102d3(%rip), %rcx     # 0x162b0
cmpl (%rcx), %eax
jge 0x631d
movl $0x0, -0x20(%rbp)
movl -0x20(%rbp), %eax
movslq -0x1c(%rbp), %rdx
leaq 0x102c6(%rip), %rcx     # 0x162c0
imulq $0x98, %rdx, %rdx
addq %rdx, %rcx
cmpl 0x68(%rcx), %eax
jge 0x630d
movslq -0x1c(%rbp), %rcx
leaq 0x102a8(%rip), %rax     # 0x162c0
imulq $0x98, %rcx, %rcx
addq %rcx, %rax
movq 0x60(%rax), %rax
movslq -0x20(%rbp), %rcx
imulq $0x70, %rcx, %rcx
addq %rcx, %rax
movq %rax, -0x58(%rbp)
movq -0x58(%rbp), %rax
movzbl 0x2c(%rax), %eax
addl $0x7, %eax
movl $0x8, %ecx
cltd
idivl %ecx
movl %eax, -0x5c(%rbp)
movq -0x58(%rbp), %rax
cmpl $0x0, 0x38(%rax)
je 0x61af
movq -0x58(%rbp), %rax
movzbl 0x2c(%rax), %eax
cmpl $0x0, %eax
jle 0x6068
jmp 0x6087
leaq 0xc7b7(%rip), %rdi      # 0x12826
leaq 0xc716(%rip), %rsi      # 0x1278c
movl $0xdc, %edx
leaq 0xc7ba(%rip), %rcx      # 0x1283c
callq 0x2150
movl -0x14(%rbp), %eax
movl -0x18(%rbp), %ecx
movl -0x5c(%rbp), %edx
addl $0xa, %edx
addl %edx, %ecx
cmpl %ecx, %eax
jge 0x609e
jmp 0x6abf
jmp 0x60a0
movl $0x23, %edi
callq 0x2100
movw %ax, -0x5e(%rbp)
movq -0x10(%rbp), %rax
movslq -0x18(%rbp), %rcx
movw -0x5e(%rbp), %dx
movw %dx, (%rax,%rcx)
movl -0x18(%rbp), %eax
addl $0x2, %eax
movl %eax, -0x18(%rbp)
movl -0x5c(%rbp), %eax
addl $0x6, %eax
movzwl %ax, %edi
callq 0x2100
movw %ax, -0x60(%rbp)
movq -0x10(%rbp), %rax
movslq -0x18(%rbp), %rcx
movw -0x60(%rbp), %dx
movw %dx, (%rax,%rcx)
movl -0x18(%rbp), %eax
addl $0x2, %eax
movl %eax, -0x18(%rbp)
movslq -0x1c(%rbp), %rcx
leaq 0x101c3(%rip), %rax     # 0x162c0
imulq $0x98, %rcx, %rcx
addq %rcx, %rax
movl 0x8(%rax), %edi
callq 0x2160
movl %eax, -0x64(%rbp)
movq -0x10(%rbp), %rax
movslq -0x18(%rbp), %rcx
movl -0x64(%rbp), %edx
movl %edx, (%rax,%rcx)
movl -0x18(%rbp), %eax
addl $0x4, %eax
movl %eax, -0x18(%rbp)
movq -0x58(%rbp), %rax
movzwl 0x2e(%rax), %eax
andl $0xf, %eax
movb %al, %dl
movq -0x10(%rbp), %rax
movslq -0x18(%rbp), %rcx
movb %dl, (%rax,%rcx)
movl -0x18(%rbp), %eax
addl $0x1, %eax
movl %eax, -0x18(%rbp)
movq -0x58(%rbp), %rax
movb 0x2c(%rax), %dl
movq -0x10(%rbp), %rax
movslq -0x18(%rbp), %rcx
movb %dl, (%rax,%rcx)
movl -0x18(%rbp), %eax
addl $0x1, %eax
movl %eax, -0x18(%rbp)
movq -0x10(%rbp), %rdi
movslq -0x18(%rbp), %rax
addq %rax, %rdi
movq -0x58(%rbp), %rsi
addq $0x1c, %rsi
movslq -0x5c(%rbp), %rdx
callq 0x2230
movl -0x5c(%rbp), %eax
addl -0x18(%rbp), %eax
movl %eax, -0x18(%rbp)
movl -0x18(%rbp), %eax
andl $0x3, %eax
cmpl $0x0, %eax
je 0x61ad
movq -0x10(%rbp), %rax
movl -0x18(%rbp), %ecx
movl %ecx, %edx
addl $0x1, %edx
movl %edx, -0x18(%rbp)
movslq %ecx, %rcx
movb $0x0, (%rax,%rcx)
jmp 0x618a
jmp 0x61af
movq -0x58(%rbp), %rax
addq $0x60, %rax
movq %rax, -0x70(%rbp)
movq -0x70(%rbp), %rcx
xorl %eax, %eax
cmpl $0x0, (%rcx)
movb %al, -0xd1(%rbp)
jne 0x6201
movq -0x70(%rbp), %rcx
xorl %eax, %eax
cmpl $0x0, 0x4(%rcx)
movb %al, -0xd1(%rbp)
jne 0x6201
movq -0x70(%rbp), %rcx
xorl %eax, %eax
cmpl $0x0, 0x8(%rcx)
movb %al, -0xd1(%rbp)
jne 0x6201
movq -0x70(%rbp), %rax
cmpl $0x0, 0xc(%rax)
sete %al
movb %al, -0xd1(%rbp)
movb -0xd1(%rbp), %al
andb $0x1, %al
movzbl %al, %eax
movl %eax, -0x74(%rbp)
cmpl $0x0, -0x74(%rbp)
jne 0x62fd
movl -0x14(%rbp), %eax
movl -0x18(%rbp), %ecx
addl $0x18, %ecx
cmpl %ecx, %eax
jge 0x622b
jmp 0x6abf
jmp 0x622d
movl $0x24, %edi
callq 0x2100
movw %ax, -0x76(%rbp)
movq -0x10(%rbp), %rax
movslq -0x18(%rbp), %rcx
movw -0x76(%rbp), %dx
movw %dx, (%rax,%rcx)
movl -0x18(%rbp), %eax
addl $0x2, %eax
movl %eax, -0x18(%rbp)
movl $0x14, %edi
callq 0x2100
movw %ax, -0x78(%rbp)
movq -0x10(%rbp), %rax
movslq -0x18(%rbp), %rcx
movw -0x78(%rbp), %dx
movw %dx, (%rax,%rcx)
movl -0x18(%rbp), %eax
addl $0x2, %eax
movl %eax, -0x18(%rbp)
movslq -0x1c(%rbp), %rcx
leaq 0x1003a(%rip), %rax     # 0x162c0
imulq $0x98, %rcx, %rcx
addq %rcx, %rax
movl 0x8(%rax), %edi
callq 0x2160
movl %eax, -0x7c(%rbp)
movq -0x10(%rbp), %rax
movslq -0x18(%rbp), %rcx
movl -0x7c(%rbp), %edx
movl %edx, (%rax,%rcx)
movl -0x18(%rbp), %eax
addl $0x4, %eax
movl %eax, -0x18(%rbp)
movq -0x10(%rbp), %rax
movslq -0x18(%rbp), %rcx
movq -0x58(%rbp), %rdx
movq 0x60(%rdx), %rsi
movq %rsi, (%rax,%rcx)
movq 0x68(%rdx), %rdx
movq %rdx, 0x8(%rax,%rcx)
movl -0x18(%rbp), %eax
addl $0x10, %eax
movl %eax, -0x18(%rbp)
movl -0x18(%rbp), %eax
andl $0x3, %eax
cmpl $0x0, %eax
je 0x62fb
movq -0x10(%rbp), %rax
movl -0x18(%rbp), %ecx
movl %ecx, %edx
addl $0x1, %edx
movl %edx, -0x18(%rbp)
movslq %ecx, %rcx
movb $0x0, (%rax,%rcx)
jmp 0x62d8
jmp 0x62fd
jmp 0x62ff
movl -0x20(%rbp), %eax
addl $0x1, %eax
movl %eax, -0x20(%rbp)
jmp 0x5fec
jmp 0x630f
movl -0x1c(%rbp), %eax
addl $0x1, %eax
movl %eax, -0x1c(%rbp)
jmp 0x5fd3
movl $0x0, -0x38(%rbp)
movl $0x0, -0x30(%rbp)
movl $0x0, -0x2c(%rbp)
movl $0x0, -0x1c(%rbp)
movl -0x1c(%rbp), %eax
movq -0x28(%rbp), %rcx
cmpl 0x68(%rcx), %eax
jge 0x6486
movq -0x28(%rbp), %rax
movq 0x60(%rax), %rax
movslq -0x1c(%rbp), %rcx
movq (%rax,%rcx,8), %rax
cmpq $0x0, (%rax)
je 0x63d8
movl $0x0, -0x20(%rbp)
movl -0x20(%rbp), %eax
movq -0x28(%rbp), %rcx
movq 0x60(%rcx), %rcx
movslq -0x1c(%rbp), %rdx
movq (%rcx,%rdx,8), %rcx
movq (%rcx), %rcx
movswl 0x8(%rcx), %ecx
cmpl %ecx, %eax
jge 0x63d6
movq -0x28(%rbp), %rax
movq 0x60(%rax), %rax
movslq -0x1c(%rbp), %rcx
movq (%rax,%rcx,8), %rax
movq (%rax), %rax
movq (%rax), %rax
movslq -0x20(%rbp), %rcx
imulq $0x1c, %rcx, %rcx
addq %rcx, %rax
movq %rax, -0x88(%rbp)
movq -0x88(%rbp), %rax
movzbl 0x10(%rax), %eax
addl $0x7, %eax
movl $0x8, %ecx
cltd
idivl %ecx
addl $0xd, %eax
addl -0x2c(%rbp), %eax
movl %eax, -0x2c(%rbp)
movl -0x20(%rbp), %eax
addl $0x1, %eax
movl %eax, -0x20(%rbp)
jmp 0x6366
jmp 0x63d8
movq -0x28(%rbp), %rax
movq 0x60(%rax), %rax
movslq -0x1c(%rbp), %rcx
movq (%rax,%rcx,8), %rax
cmpq $0x0, 0x8(%rax)
je 0x6476
movl $0x0, -0x20(%rbp)
movl -0x20(%rbp), %eax
movq -0x28(%rbp), %rcx
movq 0x60(%rcx), %rcx
movslq -0x1c(%rbp), %rdx
movq (%rcx,%rdx,8), %rcx
movq 0x8(%rcx), %rcx
movswl 0x8(%rcx), %ecx
cmpl %ecx, %eax
jge 0x6474
movq -0x28(%rbp), %rax
movq 0x60(%rax), %rax
movslq -0x1c(%rbp), %rcx
movq (%rax,%rcx,8), %rax
movq 0x8(%rax), %rax
movq (%rax), %rax
movslq -0x20(%rbp), %rcx
imulq $0x1c, %rcx, %rcx
addq %rcx, %rax
movq %rax, -0x90(%rbp)
movq -0x90(%rbp), %rdi
callq 0xcfe0
cmpl $0x0, %eax
jne 0x645e
movl -0x30(%rbp), %eax
addl $0x1, %eax
movl %eax, -0x30(%rbp)
jmp 0x6467
movl -0x38(%rbp), %eax
addl $0x1, %eax
movl %eax, -0x38(%rbp)
jmp 0x6469
movl -0x20(%rbp), %eax
addl $0x1, %eax
movl %eax, -0x20(%rbp)
jmp 0x63fa
jmp 0x6476
jmp 0x6478
movl -0x1c(%rbp), %eax
addl $0x1, %eax
movl %eax, -0x1c(%rbp)
jmp 0x6339
cmpl $0x0, -0x30(%rbp)
jle 0x649d
movl -0x30(%rbp), %eax
shll $0x4, %eax
addl $0x8, %eax
movl %eax, -0xd8(%rbp)
jmp 0x64a7
xorl %eax, %eax
movl %eax, -0xd8(%rbp)
jmp 0x64a7
movl -0xd8(%rbp), %eax
movl %eax, -0x34(%rbp)
cmpl $0x0, -0x38(%rbp)
jle 0x64c7
movl -0x38(%rbp), %eax
shll $0x2, %eax
addl $0x6, %eax
movl %eax, -0xdc(%rbp)
jmp 0x64d1
xorl %eax, %eax
movl %eax, -0xdc(%rbp)
jmp 0x64d1
movl -0xdc(%rbp), %eax
movl %eax, -0x3c(%rbp)
movl $0x0, -0x1c(%rbp)
movl -0x1c(%rbp), %eax
movq -0x28(%rbp), %rcx
cmpl 0x68(%rcx), %eax
jge 0x6ab7
movl -0x14(%rbp), %eax
movl -0x18(%rbp), %ecx
addl $0x4, %ecx
cmpl %ecx, %eax
jge 0x6503
jmp 0x6abf
jmp 0x6505
movl $0x21, %edi
callq 0x2100
movw %ax, -0x92(%rbp)
movq -0x10(%rbp), %rax
movslq -0x18(%rbp), %rcx
movw -0x92(%rbp), %dx
movw %dx, (%rax,%rcx)
movl -0x18(%rbp), %eax
addl $0x2, %eax
movl %eax, -0x18(%rbp)
movl -0x2c(%rbp), %eax
xorl %ecx, %ecx
subl -0x2c(%rbp), %ecx
andl $0x3, %ecx
addl %ecx, %eax
addl -0x34(%rbp), %eax
xorl %ecx, %ecx
subl -0x34(%rbp), %ecx
andl $0x3, %ecx
addl %ecx, %eax
addl -0x3c(%rbp), %eax
xorl %ecx, %ecx
subl -0x3c(%rbp), %ecx
andl $0x3, %ecx
addl %ecx, %eax
movzwl %ax, %edi
callq 0x2100
movw %ax, -0x94(%rbp)
movq -0x10(%rbp), %rax
movslq -0x18(%rbp), %rcx
movw -0x94(%rbp), %dx
movw %dx, (%rax,%rcx)
movl -0x18(%rbp), %eax
addl $0x2, %eax
movl %eax, -0x18(%rbp)
movq -0x28(%rbp), %rax
movq 0x60(%rax), %rax
movslq -0x1c(%rbp), %rcx
movq (%rax,%rcx,8), %rax
cmpq $0x0, (%rax)
je 0x6790
movl $0x0, -0x20(%rbp)
movl -0x20(%rbp), %eax
movq -0x28(%rbp), %rcx
movq 0x60(%rcx), %rcx
movslq -0x1c(%rbp), %rdx
movq (%rcx,%rdx,8), %rcx
movq (%rcx), %rcx
movswl 0x8(%rcx), %ecx
cmpl %ecx, %eax
jge 0x678e
movq -0x28(%rbp), %rax
movq 0x60(%rax), %rax
movslq -0x1c(%rbp), %rcx
movq (%rax,%rcx,8), %rax
movq (%rax), %rax
movq (%rax), %rax
movslq -0x20(%rbp), %rcx
imulq $0x1c, %rcx, %rcx
addq %rcx, %rax
movq %rax, -0xa0(%rbp)
movl -0x14(%rbp), %eax
movl %eax, -0xe0(%rbp)
movl -0x18(%rbp), %ecx
movq -0xa0(%rbp), %rax
movzbl 0x10(%rax), %eax
addl $0x7, %eax
movl $0x8, %esi
cltd
idivl %esi
movl %eax, %edx
movl -0xe0(%rbp), %eax
addl $0xd, %edx
addl $0x4, %edx
addl %edx, %ecx
cmpl %ecx, %eax
jge 0x662a
jmp 0x6abf
jmp 0x662c
movl $0x22, %edi
callq 0x2100
movw %ax, -0xa2(%rbp)
movq -0x10(%rbp), %rax
movslq -0x18(%rbp), %rcx
movw -0xa2(%rbp), %dx
movw %dx, (%rax,%rcx)
movl -0x18(%rbp), %eax
addl $0x2, %eax
movl %eax, -0x18(%rbp)
movq -0xa0(%rbp), %rax
movzbl 0x10(%rax), %eax
addl $0x7, %eax
movl $0x8, %ecx
cltd
idivl %ecx
addl $0x9, %eax
movzwl %ax, %edi
callq 0x2100
movw %ax, -0xa4(%rbp)
movq -0x10(%rbp), %rax
movslq -0x18(%rbp), %rcx
movw -0xa4(%rbp), %dx
movw %dx, (%rax,%rcx)
movl -0x18(%rbp), %eax
addl $0x2, %eax
movl %eax, -0x18(%rbp)
movl $0xe10, %edi            # imm = 0xE10
callq 0x2160
movl %eax, -0xa8(%rbp)
movq -0x10(%rbp), %rax
movslq -0x18(%rbp), %rcx
movl -0xa8(%rbp), %edx
movl %edx, (%rax,%rcx)
movl -0x18(%rbp), %eax
addl $0x4, %eax
movl %eax, -0x18(%rbp)
movl $0x708, %edi            # imm = 0x708
callq 0x2160
movl %eax, -0xac(%rbp)
movq -0x10(%rbp), %rax
movslq -0x18(%rbp), %rcx
movl -0xac(%rbp), %edx
movl %edx, (%rax,%rcx)
movl -0x18(%rbp), %eax
addl $0x4, %eax
movl %eax, -0x18(%rbp)
movq -0xa0(%rbp), %rax
movb 0x10(%rax), %dl
movq -0x10(%rbp), %rax
movslq -0x18(%rbp), %rcx
movb %dl, (%rax,%rcx)
movl -0x18(%rbp), %eax
addl $0x1, %eax
movl %eax, -0x18(%rbp)
movq -0x10(%rbp), %rdi
movslq -0x18(%rbp), %rax
addq %rax, %rdi
movq -0xa0(%rbp), %rsi
movq -0xa0(%rbp), %rax
movzbl 0x10(%rax), %eax
addl $0x7, %eax
movl $0x8, %ecx
cltd
idivl %ecx
movslq %eax, %rdx
callq 0x2230
movq -0xa0(%rbp), %rax
movzbl 0x10(%rax), %eax
addl $0x7, %eax
movl $0x8, %ecx
cltd
idivl %ecx
addl -0x18(%rbp), %eax
movl %eax, -0x18(%rbp)
movl -0x18(%rbp), %eax
andl $0x3, %eax
cmpl $0x0, %eax
je 0x677e
movq -0x10(%rbp), %rax
movl -0x18(%rbp), %ecx
movl %ecx, %edx
addl $0x1, %edx
movl %edx, -0x18(%rbp)
movslq %ecx, %rcx
movb $0x0, (%rax,%rcx)
jmp 0x675b
jmp 0x6780
movl -0x20(%rbp), %eax
addl $0x1, %eax
movl %eax, -0x20(%rbp)
jmp 0x65a5
jmp 0x6790
cmpl $0x0, -0x30(%rbp)
jle 0x6937
movl -0x14(%rbp), %eax
movl -0x18(%rbp), %ecx
movl -0x30(%rbp), %edx
shll $0x4, %edx
addl $0x8, %edx
addl $0x4, %edx
addl %edx, %ecx
cmpl %ecx, %eax
jge 0x67b7
jmp 0x6abf
jmp 0x67b9
movl $0x25, %edi
callq 0x2100
movw %ax, -0xae(%rbp)
movq -0x10(%rbp), %rax
movslq -0x18(%rbp), %rcx
movw -0xae(%rbp), %dx
movw %dx, (%rax,%rcx)
movl -0x18(%rbp), %eax
addl $0x2, %eax
movl %eax, -0x18(%rbp)
movl -0x30(%rbp), %eax
shll $0x4, %eax
addl $0x4, %eax
movzwl %ax, %edi
callq 0x2100
movw %ax, -0xb0(%rbp)
movq -0x10(%rbp), %rax
movslq -0x18(%rbp), %rcx
movw -0xb0(%rbp), %dx
movw %dx, (%rax,%rcx)
movl -0x18(%rbp), %eax
addl $0x2, %eax
movl %eax, -0x18(%rbp)
movl $0x17, %edi
callq 0x2100
movw %ax, -0xb2(%rbp)
movq -0x10(%rbp), %rax
movslq -0x18(%rbp), %rcx
movw -0xb2(%rbp), %dx
movw %dx, (%rax,%rcx)
movl -0x18(%rbp), %eax
addl $0x2, %eax
movl %eax, -0x18(%rbp)
movl -0x30(%rbp), %eax
shll $0x4, %eax
movzwl %ax, %edi
callq 0x2100
movw %ax, -0xb4(%rbp)
movq -0x10(%rbp), %rax
movslq -0x18(%rbp), %rcx
movw -0xb4(%rbp), %dx
movw %dx, (%rax,%rcx)
movl -0x18(%rbp), %eax
addl $0x2, %eax
movl %eax, -0x18(%rbp)
movl $0x0, -0x20(%rbp)
movl -0x20(%rbp), %eax
movq -0x28(%rbp), %rcx
movq 0x60(%rcx), %rcx
movslq -0x1c(%rbp), %rdx
movq (%rcx,%rdx,8), %rcx
movq 0x8(%rcx), %rcx
movswl 0x8(%rcx), %ecx
cmpl %ecx, %eax
jge 0x6910
movq -0x28(%rbp), %rax
movq 0x60(%rax), %rax
movslq -0x1c(%rbp), %rcx
movq (%rax,%rcx,8), %rax
movq 0x8(%rax), %rax
movq (%rax), %rax
movslq -0x20(%rbp), %rcx
imulq $0x1c, %rcx, %rcx
addq %rcx, %rax
movq %rax, -0xc0(%rbp)
movq -0xc0(%rbp), %rdi
callq 0xcfe0
cmpl $0x0, %eax
jne 0x6900
movq -0x10(%rbp), %rax
movslq -0x18(%rbp), %rcx
movq -0xc0(%rbp), %rdx
movq (%rdx), %rsi
movq %rsi, (%rax,%rcx)
movq 0x8(%rdx), %rdx
movq %rdx, 0x8(%rax,%rcx)
movl -0x18(%rbp), %eax
addl $0x10, %eax
movl %eax, -0x18(%rbp)
jmp 0x6902
movl -0x20(%rbp), %eax
addl $0x1, %eax
movl %eax, -0x20(%rbp)
jmp 0x687f
jmp 0x6912
movl -0x18(%rbp), %eax
andl $0x3, %eax
cmpl $0x0, %eax
je 0x6935
movq -0x10(%rbp), %rax
movl -0x18(%rbp), %ecx
movl %ecx, %edx
addl $0x1, %edx
movl %edx, -0x18(%rbp)
movslq %ecx, %rcx
movb $0x0, (%rax,%rcx)
jmp 0x6912
jmp 0x6937
cmpl $0x0, -0x38(%rbp)
jle 0x6aa7
movl -0x14(%rbp), %eax
movl -0x18(%rbp), %ecx
movl -0x38(%rbp), %edx
shll $0x2, %edx
addl $0x6, %edx
addl $0x4, %edx
addl %edx, %ecx
cmpl %ecx, %eax
jge 0x695e
jmp 0x6abf
jmp 0x6960
movl $0x26, %edi
callq 0x2100
movw %ax, -0xc2(%rbp)
movq -0x10(%rbp), %rax
movslq -0x18(%rbp), %rcx
movw -0xc2(%rbp), %dx
movw %dx, (%rax,%rcx)
movl -0x18(%rbp), %eax
addl $0x2, %eax
movl %eax, -0x18(%rbp)
movl -0x38(%rbp), %eax
shll $0x2, %eax
addl $0x2, %eax
movzwl %ax, %edi
callq 0x2100
movw %ax, -0xc4(%rbp)
movq -0x10(%rbp), %rax
movslq -0x18(%rbp), %rcx
movw -0xc4(%rbp), %dx
movw %dx, (%rax,%rcx)
movl -0x18(%rbp), %eax
addl $0x2, %eax
movl %eax, -0x18(%rbp)
movq -0x10(%rbp), %rax
movslq -0x18(%rbp), %rcx
movb $0x6, (%rax,%rcx)
movl -0x18(%rbp), %eax
addl $0x1, %eax
movl %eax, -0x18(%rbp)
movl -0x38(%rbp), %eax
shll $0x2, %eax
movb %al, %dl
movq -0x10(%rbp), %rax
movslq -0x18(%rbp), %rcx
movb %dl, (%rax,%rcx)
movl -0x18(%rbp), %eax
addl $0x1, %eax
movl %eax, -0x18(%rbp)
movl $0x0, -0x20(%rbp)
movl -0x20(%rbp), %eax
movq -0x28(%rbp), %rcx
movq 0x60(%rcx), %rcx
movslq -0x1c(%rbp), %rdx
movq (%rcx,%rdx,8), %rcx
movq 0x8(%rcx), %rcx
movswl 0x8(%rcx), %ecx
cmpl %ecx, %eax
jge 0x6a80
movq -0x28(%rbp), %rax
movq 0x60(%rax), %rax
movslq -0x1c(%rbp), %rcx
movq (%rax,%rcx,8), %rax
movq 0x8(%rax), %rax
movq (%rax), %rax
movslq -0x20(%rbp), %rcx
imulq $0x1c, %rcx, %rcx
addq %rcx, %rax
movq %rax, -0xd0(%rbp)
movq -0xd0(%rbp), %rdi
callq 0xcfe0
cmpl $0x0, %eax
je 0x6a70
movq -0x10(%rbp), %rax
movslq -0x18(%rbp), %rcx
movq -0xd0(%rbp), %rdx
movl 0xc(%rdx), %edx
movl %edx, (%rax,%rcx)
movl -0x18(%rbp), %eax
addl $0x4, %eax
movl %eax, -0x18(%rbp)
jmp 0x6a72
movl -0x20(%rbp), %eax
addl $0x1, %eax
movl %eax, -0x20(%rbp)
jmp 0x69f9
jmp 0x6a82
movl -0x18(%rbp), %eax
andl $0x3, %eax
cmpl $0x0, %eax
je 0x6aa5
movq -0x10(%rbp), %rax
movl -0x18(%rbp), %ecx
movl %ecx, %edx
addl $0x1, %edx
movl %edx, -0x18(%rbp)
movslq %ecx, %rcx
movb $0x0, (%rax,%rcx)
jmp 0x6a82
jmp 0x6aa7
jmp 0x6aa9
movl -0x1c(%rbp), %eax
addl $0x1, %eax
movl %eax, -0x1c(%rbp)
jmp 0x64e1
movl -0x18(%rbp), %eax
movl %eax, -0x4(%rbp)
jmp 0x6ac6
movl $0xffffffff, -0x4(%rbp) # imm = 0xFFFFFFFF
movl -0x4(%rbp), %eax
addq $0xe0, %rsp
popq %rbp
retq
nopw %cs:(%rax,%rax)
nopl (%rax)