// File: /workspace/github_c_makefile_star2_O0/nh13[P]ksw/src/parasail/src/cigar_template.c
// Function: parasail_cigar_striped_8
static inline parasail_cigar_t* CONCAT(NAME, T) (
        const char *seqA,
        int lena,
        const char *seqB,
        int lenb,
        const parasail_matrix_t *matrix,
        parasail_result_t *result,
        int case_sensitive,
        const char *alphabet_aliases_)
{
    char alphabet_aliases[256];
    size_t aliases_size = 0;
    size_t size = lena+lenb;
    parasail_cigar_t *cigar = malloc(sizeof(parasail_cigar_t));
    uint32_t *cigar_reverse = NULL;
    uint32_t c_mat = 0;
    uint32_t c_mis = 0;
    uint32_t c_del = 0;
    uint32_t c_ins = 0;
    int64_t i = result->end_query;
    int64_t j = result->end_ref;
    int where = PARASAIL_DIAG;
    D *HT = (D*)result->trace->trace_table;
#if defined(STRIPED)
    int64_t segWidth = 0;
    int64_t segLen = 0;
    if (result->flag & PARASAIL_FLAG_LANES_1) {
        segWidth = 1;
    }
    if (result->flag & PARASAIL_FLAG_LANES_2) {
        segWidth = 2;
    }
    if (result->flag & PARASAIL_FLAG_LANES_4) {
        segWidth = 4;
    }
    if (result->flag & PARASAIL_FLAG_LANES_8) {
        segWidth = 8;
    }
    if (result->flag & PARASAIL_FLAG_LANES_16) {
        segWidth = 16;
    }
    if (result->flag & PARASAIL_FLAG_LANES_32) {
        segWidth = 32;
    }
    if (result->flag & PARASAIL_FLAG_LANES_64) {
        segWidth = 64;
    }
    segLen = (lena + segWidth - 1) / segWidth;
#endif
    if (NULL != alphabet_aliases_) {
        size_t i;
        aliases_size = strlen(alphabet_aliases_);
        PARASAIL_ASSERT(aliases_size % 2 == 0 && aliases_size < 256); // even number of characters in alias
        for (i=0; i<aliases_size; ++i) {
            alphabet_aliases[i] = case_sensitive ? alphabet_aliases_[i] :
                                                   toupper(alphabet_aliases_[i]);
        }
    }
    cigar->seq = malloc(sizeof(uint32_t)*size);
    cigar->len = 0;
    cigar->beg_query = 0;
    cigar->beg_ref = 0;
    UNUSED(matrix);
    /* semi-global alignment includes the end gaps */
    if (result->flag & PARASAIL_FLAG_SG) {
        int64_t k;
        if (result->end_query+1 == lena) {
            k = lenb-1;
            while (k > j) {
                ++c_ins;
                --k;
            }
        }
        else if (result->end_ref+1 == lenb) {
            k = lena-1;
            while (k > i) {
                ++c_del;
                --k;
            }
        }
        else {
            parasail_cigar_free(cigar);
            return NULL;
        }
    }
    while (i >= 0 || j >= 0) {
        LOC
        if (i < 0) {
            if (0 == c_ins) {
                WRITE_ANY;
            }
            while (j >= 0) {
                ++c_ins;
                --j;
            }
            break;
        }
        if (j < 0) {
            if (0 == c_del) {
                WRITE_ANY;
            }
            while (i >= 0) {
                ++c_del;
                --i;
            }
            break;
        }
        if (PARASAIL_DIAG == where) {
            if (HT[loc] & PARASAIL_DIAG) {
                char a = case_sensitive ? seqA[i] : toupper(seqA[i]);
                char b = case_sensitive ? seqB[j] : toupper(seqB[j]);
                int matches = (a == b);
                if (NULL != alphabet_aliases_) {
                    size_t i;
                    for (i=0; i<aliases_size; i+=1) {
                        if (alphabet_aliases[i] == a) {
                            matches |= alphabet_aliases[i+1] == b;
                        }
                        else if (alphabet_aliases[i+1] == a) {
                            matches |= alphabet_aliases[i] == b;
                        }
                    }
                }
                if (matches) {
                    if (0 == c_mat) {
                        WRITE_ANY;
                    }
                    c_mat += 1;
                }
                else {
                    if (0 == c_mis) {
                        WRITE_ANY;
                    }
                    c_mis += 1;
                }
                --i;
                --j;
            }
            else if (HT[loc] & PARASAIL_INS) {
                where = PARASAIL_INS;
            }
            else if (HT[loc] & PARASAIL_DEL) {
                where = PARASAIL_DEL;
            }
            /* no bits were set, so this is the zero condition */
            else {
                break;
            }
        }
        else if (PARASAIL_INS == where) {
            if (0 == c_ins) {
                WRITE_ANY;
            }
            c_ins += 1;
            --j;
            if (HT[loc] & PARASAIL_DIAG_E) {
                where = PARASAIL_DIAG;
            }
            else if (HT[loc] & PARASAIL_INS_E) {
                where = PARASAIL_INS;
            }
            else {
                parasail_cigar_free(cigar);
                return NULL;
            }
        }
        else if (PARASAIL_DEL == where) {
            if (0 == c_del) {
                WRITE_ANY;
            }
            c_del += 1;
            --i;
            if (HT[loc] & PARASAIL_DIAG_F) {
                where = PARASAIL_DIAG;
            }
            else if (HT[loc] & PARASAIL_DEL_F) {
                where = PARASAIL_DEL;
            }
            else {
                parasail_cigar_free(cigar);
                return NULL;
            }
        }
        else if (PARASAIL_ZERO == where) {
            break;
        }
        else {
            parasail_cigar_free(cigar);
            return NULL;
        }
    }

    /* in case we missed the last write */
    WRITE_ANY;

    cigar_reverse = parasail_reverse_uint32_t(cigar->seq, cigar->len);
    free(cigar->seq);
    cigar->seq = cigar_reverse;
    cigar->beg_query = i+1;
    cigar->beg_ref = j+1;

    return cigar;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x1f0, %rsp            # imm = 0x1F0
movq 0x18(%rbp), %rax
movl 0x10(%rbp), %eax
movq %rdi, -0x10(%rbp)
movl %esi, -0x14(%rbp)
movq %rdx, -0x20(%rbp)
movl %ecx, -0x24(%rbp)
movq %r8, -0x30(%rbp)
movq %r9, -0x38(%rbp)
movq $0x0, -0x148(%rbp)
movl -0x14(%rbp), %eax
addl -0x24(%rbp), %eax
cltq
movq %rax, -0x150(%rbp)
movl $0x18, %edi
callq 0x19e150
movq %rax, -0x158(%rbp)
movq $0x0, -0x160(%rbp)
movl $0x0, -0x164(%rbp)
movl $0x0, -0x168(%rbp)
movl $0x0, -0x16c(%rbp)
movl $0x0, -0x170(%rbp)
movq -0x38(%rbp), %rax
movslq 0x4(%rax), %rax
movq %rax, -0x178(%rbp)
movq -0x38(%rbp), %rax
movslq 0x8(%rax), %rax
movq %rax, -0x180(%rbp)
movl $0x4, -0x184(%rbp)
movq -0x38(%rbp), %rax
movq 0x10(%rax), %rax
movq (%rax), %rax
movq %rax, -0x190(%rbp)
movq $0x0, -0x198(%rbp)
movq $0x0, -0x1a0(%rbp)
movq -0x38(%rbp), %rax
movl 0xc(%rax), %eax
andl $0x1000000, %eax        # imm = 0x1000000
cmpl $0x0, %eax
je 0x1ba2c2
movq $0x1, -0x198(%rbp)
movq -0x38(%rbp), %rax
movl 0xc(%rax), %eax
andl $0x2000000, %eax        # imm = 0x2000000
cmpl $0x0, %eax
je 0x1ba2de
movq $0x2, -0x198(%rbp)
movq -0x38(%rbp), %rax
movl 0xc(%rax), %eax
andl $0x4000000, %eax        # imm = 0x4000000
cmpl $0x0, %eax
je 0x1ba2fa
movq $0x4, -0x198(%rbp)
movq -0x38(%rbp), %rax
movl 0xc(%rax), %eax
andl $0x8000000, %eax        # imm = 0x8000000
cmpl $0x0, %eax
je 0x1ba316
movq $0x8, -0x198(%rbp)
movq -0x38(%rbp), %rax
movl 0xc(%rax), %eax
andl $0x10000000, %eax       # imm = 0x10000000
cmpl $0x0, %eax
je 0x1ba332
movq $0x10, -0x198(%rbp)
movq -0x38(%rbp), %rax
movl 0xc(%rax), %eax
andl $0x20000000, %eax       # imm = 0x20000000
cmpl $0x0, %eax
je 0x1ba34e
movq $0x20, -0x198(%rbp)
movq -0x38(%rbp), %rax
movl 0xc(%rax), %eax
andl $0x40000000, %eax       # imm = 0x40000000
cmpl $0x0, %eax
je 0x1ba36a
movq $0x40, -0x198(%rbp)
movslq -0x14(%rbp), %rax
addq -0x198(%rbp), %rax
subq $0x1, %rax
cqto
idivq -0x198(%rbp)
movq %rax, -0x1a0(%rbp)
xorl %eax, %eax
cmpq 0x18(%rbp), %rax
je 0x1ba476
movq 0x18(%rbp), %rdi
callq 0x19e050
movq %rax, -0x148(%rbp)
movq -0x148(%rbp), %rax
andq $0x1, %rax
cmpq $0x0, %rax
jne 0x1ba3c3
cmpq $0x100, -0x148(%rbp) # imm = 0x100
jb 0x1ba3f6
movq 0xc6cc0e(%rip), %rax    # 0xe26fd8
movq (%rax), %rdi
leaq 0xad39e8(%rip), %rsi    # 0xc8ddbc
leaq 0xad3a39(%rip), %rdx    # 0xc8de14
leaq 0xad3a4b(%rip), %rcx    # 0xc8de2d
movb $0x0, %al
callq 0x19e180
movq $0x0, -0x8(%rbp)
jmp 0x1bbe7b
jmp 0x1ba3f8
movq $0x0, -0x1a8(%rbp)
movq -0x1a8(%rbp), %rax
cmpq -0x148(%rbp), %rax
jae 0x1ba474
cmpl $0x0, 0x10(%rbp)
je 0x1ba430
movq 0x18(%rbp), %rax
movq -0x1a8(%rbp), %rcx
movsbl (%rax,%rcx), %eax
movl %eax, -0x1cc(%rbp)
jmp 0x1ba44a
movq 0x18(%rbp), %rax
movq -0x1a8(%rbp), %rcx
movsbl (%rax,%rcx), %edi
callq 0x19e210
movl %eax, -0x1cc(%rbp)
movl -0x1cc(%rbp), %eax
movb %al, %cl
movq -0x1a8(%rbp), %rax
movb %cl, -0x140(%rbp,%rax)
movq -0x1a8(%rbp), %rax
addq $0x1, %rax
movq %rax, -0x1a8(%rbp)
jmp 0x1ba403
jmp 0x1ba476
movq -0x150(%rbp), %rdi
shlq $0x2, %rdi
callq 0x19e150
movq %rax, %rcx
movq -0x158(%rbp), %rax
movq %rcx, (%rax)
movq -0x158(%rbp), %rax
movl $0x0, 0x8(%rax)
movq -0x158(%rbp), %rax
movl $0x0, 0xc(%rax)
movq -0x158(%rbp), %rax
movl $0x0, 0x10(%rax)
movq -0x38(%rbp), %rax
movl 0xc(%rax), %eax
andl $0x2, %eax
cmpl $0x0, %eax
je 0x1ba593
movq -0x38(%rbp), %rax
movl 0x4(%rax), %eax
addl $0x1, %eax
cmpl -0x14(%rbp), %eax
jne 0x1ba523
movl -0x24(%rbp), %eax
subl $0x1, %eax
cltq
movq %rax, -0x1b0(%rbp)
movq -0x1b0(%rbp), %rax
cmpq -0x180(%rbp), %rax
jle 0x1ba521
movl -0x170(%rbp), %eax
addl $0x1, %eax
movl %eax, -0x170(%rbp)
movq -0x1b0(%rbp), %rax
addq $-0x1, %rax
movq %rax, -0x1b0(%rbp)
jmp 0x1ba4ee
jmp 0x1ba591
movq -0x38(%rbp), %rax
movl 0x8(%rax), %eax
addl $0x1, %eax
cmpl -0x24(%rbp), %eax
jne 0x1ba576
movl -0x14(%rbp), %eax
subl $0x1, %eax
cltq
movq %rax, -0x1b0(%rbp)
movq -0x1b0(%rbp), %rax
cmpq -0x178(%rbp), %rax
jle 0x1ba574
movl -0x16c(%rbp), %eax
addl $0x1, %eax
movl %eax, -0x16c(%rbp)
movq -0x1b0(%rbp), %rax
addq $-0x1, %rax
movq %rax, -0x1b0(%rbp)
jmp 0x1ba541
jmp 0x1ba58f
movq -0x158(%rbp), %rdi
callq 0x1b9e10
movq $0x0, -0x8(%rbp)
jmp 0x1bbe7b
jmp 0x1ba591
jmp 0x1ba593
jmp 0x1ba595
movb $0x1, %al
cmpq $0x0, -0x178(%rbp)
movb %al, -0x1cd(%rbp)
jge 0x1ba5b8
cmpq $0x0, -0x180(%rbp)
setge %al
movb %al, -0x1cd(%rbp)
movb -0x1cd(%rbp), %al
testb $0x1, %al
jne 0x1ba5c7
jmp 0x1bbb44
movq -0x180(%rbp), %rax
imulq -0x1a0(%rbp), %rax
imulq -0x198(%rbp), %rax
movq %rax, -0x1e0(%rbp)
movq -0x178(%rbp), %rax
cqto
idivq -0x1a0(%rbp)
movq -0x1e0(%rbp), %rax
imulq -0x198(%rbp), %rdx
addq %rdx, %rax
movq %rax, -0x1d8(%rbp)
movq -0x178(%rbp), %rax
cqto
idivq -0x1a0(%rbp)
movq %rax, %rcx
movq -0x1d8(%rbp), %rax
addq %rcx, %rax
movq %rax, -0x1b8(%rbp)
cmpq $0x0, -0x178(%rbp)
jge 0x1ba941
xorl %eax, %eax
cmpl -0x170(%rbp), %eax
jne 0x1ba90d
jmp 0x1ba650
cmpl $0x0, -0x164(%rbp)
je 0x1ba6f3
jmp 0x1ba65f
jmp 0x1ba661
movq -0x158(%rbp), %rax
movl 0x8(%rax), %ecx
addl $0x1, %ecx
movl %ecx, 0x8(%rax)
movq -0x158(%rbp), %rax
movslq 0x8(%rax), %rax
cmpq -0x150(%rbp), %rax
jb 0x1ba6bd
movq -0x150(%rbp), %rax
shlq %rax
movq %rax, -0x150(%rbp)
movq -0x158(%rbp), %rax
movq (%rax), %rdi
movq -0x150(%rbp), %rsi
shlq $0x2, %rsi
callq 0x19e1f0
movq %rax, %rcx
movq -0x158(%rbp), %rax
movq %rcx, (%rax)
jmp 0x1ba6bf
movl -0x164(%rbp), %edi
movl $0x3d, %esi
callq 0x1b9c40
movl %eax, %edx
movq -0x158(%rbp), %rax
movq (%rax), %rax
movq -0x158(%rbp), %rcx
movl 0x8(%rcx), %ecx
subl $0x1, %ecx
movslq %ecx, %rcx
movl %edx, (%rax,%rcx,4)
jmp 0x1ba8df
cmpl $0x0, -0x168(%rbp)
je 0x1ba796
jmp 0x1ba702
jmp 0x1ba704
movq -0x158(%rbp), %rax
movl 0x8(%rax), %ecx
addl $0x1, %ecx
movl %ecx, 0x8(%rax)
movq -0x158(%rbp), %rax
movslq 0x8(%rax), %rax
cmpq -0x150(%rbp), %rax
jb 0x1ba760
movq -0x150(%rbp), %rax
shlq %rax
movq %rax, -0x150(%rbp)
movq -0x158(%rbp), %rax
movq (%rax), %rdi
movq -0x150(%rbp), %rsi
shlq $0x2, %rsi
callq 0x19e1f0
movq %rax, %rcx
movq -0x158(%rbp), %rax
movq %rcx, (%rax)
jmp 0x1ba762
movl -0x168(%rbp), %edi
movl $0x58, %esi
callq 0x1b9c40
movl %eax, %edx
movq -0x158(%rbp), %rax
movq (%rax), %rax
movq -0x158(%rbp), %rcx
movl 0x8(%rcx), %ecx
subl $0x1, %ecx
movslq %ecx, %rcx
movl %edx, (%rax,%rcx,4)
jmp 0x1ba8dd
cmpl $0x0, -0x16c(%rbp)
je 0x1ba839
jmp 0x1ba7a5
jmp 0x1ba7a7
movq -0x158(%rbp), %rax
movl 0x8(%rax), %ecx
addl $0x1, %ecx
movl %ecx, 0x8(%rax)
movq -0x158(%rbp), %rax
movslq 0x8(%rax), %rax
cmpq -0x150(%rbp), %rax
jb 0x1ba803
movq -0x150(%rbp), %rax
shlq %rax
movq %rax, -0x150(%rbp)
movq -0x158(%rbp), %rax
movq (%rax), %rdi
movq -0x150(%rbp), %rsi
shlq $0x2, %rsi
callq 0x19e1f0
movq %rax, %rcx
movq -0x158(%rbp), %rax
movq %rcx, (%rax)
jmp 0x1ba805
movl -0x16c(%rbp), %edi
movl $0x49, %esi
callq 0x1b9c40
movl %eax, %edx
movq -0x158(%rbp), %rax
movq (%rax), %rax
movq -0x158(%rbp), %rcx
movl 0x8(%rcx), %ecx
subl $0x1, %ecx
movslq %ecx, %rcx
movl %edx, (%rax,%rcx,4)
jmp 0x1ba8db
cmpl $0x0, -0x170(%rbp)
je 0x1ba8d9
jmp 0x1ba848
jmp 0x1ba84a
movq -0x158(%rbp), %rax
movl 0x8(%rax), %ecx
addl $0x1, %ecx
movl %ecx, 0x8(%rax)
movq -0x158(%rbp), %rax
movslq 0x8(%rax), %rax
cmpq -0x150(%rbp), %rax
jb 0x1ba8a6
movq -0x150(%rbp), %rax
shlq %rax
movq %rax, -0x150(%rbp)
movq -0x158(%rbp), %rax
movq (%rax), %rdi
movq -0x150(%rbp), %rsi
shlq $0x2, %rsi
callq 0x19e1f0
movq %rax, %rcx
movq -0x158(%rbp), %rax
movq %rcx, (%rax)
jmp 0x1ba8a8
movl -0x170(%rbp), %edi
movl $0x44, %esi
callq 0x1b9c40
movl %eax, %edx
movq -0x158(%rbp), %rax
movq (%rax), %rax
movq -0x158(%rbp), %rcx
movl 0x8(%rcx), %ecx
subl $0x1, %ecx
movslq %ecx, %rcx
movl %edx, (%rax,%rcx,4)
jmp 0x1ba8d9
jmp 0x1ba8db
jmp 0x1ba8dd
jmp 0x1ba8df
jmp 0x1ba8e1
movl $0x0, -0x164(%rbp)
movl $0x0, -0x168(%rbp)
movl $0x0, -0x16c(%rbp)
movl $0x0, -0x170(%rbp)
jmp 0x1ba90b
jmp 0x1ba90d
jmp 0x1ba90f
cmpq $0x0, -0x180(%rbp)
jl 0x1ba93c
movl -0x170(%rbp), %eax
addl $0x1, %eax
movl %eax, -0x170(%rbp)
movq -0x180(%rbp), %rax
addq $-0x1, %rax
movq %rax, -0x180(%rbp)
jmp 0x1ba90f
jmp 0x1bbb44
cmpq $0x0, -0x180(%rbp)
jge 0x1bac50
xorl %eax, %eax
cmpl -0x16c(%rbp), %eax
jne 0x1bac1c
jmp 0x1ba95f
cmpl $0x0, -0x164(%rbp)
je 0x1baa02
jmp 0x1ba96e
jmp 0x1ba970
movq -0x158(%rbp), %rax
movl 0x8(%rax), %ecx
addl $0x1, %ecx
movl %ecx, 0x8(%rax)
movq -0x158(%rbp), %rax
movslq 0x8(%rax), %rax
cmpq -0x150(%rbp), %rax
jb 0x1ba9cc
movq -0x150(%rbp), %rax
shlq %rax
movq %rax, -0x150(%rbp)
movq -0x158(%rbp), %rax
movq (%rax), %rdi
movq -0x150(%rbp), %rsi
shlq $0x2, %rsi
callq 0x19e1f0
movq %rax, %rcx
movq -0x158(%rbp), %rax
movq %rcx, (%rax)
jmp 0x1ba9ce
movl -0x164(%rbp), %edi
movl $0x3d, %esi
callq 0x1b9c40
movl %eax, %edx
movq -0x158(%rbp), %rax
movq (%rax), %rax
movq -0x158(%rbp), %rcx
movl 0x8(%rcx), %ecx
subl $0x1, %ecx
movslq %ecx, %rcx
movl %edx, (%rax,%rcx,4)
jmp 0x1babee
cmpl $0x0, -0x168(%rbp)
je 0x1baaa5
jmp 0x1baa11
jmp 0x1baa13
movq -0x158(%rbp), %rax
movl 0x8(%rax), %ecx
addl $0x1, %ecx
movl %ecx, 0x8(%rax)
movq -0x158(%rbp), %rax
movslq 0x8(%rax), %rax
cmpq -0x150(%rbp), %rax
jb 0x1baa6f
movq -0x150(%rbp), %rax
shlq %rax
movq %rax, -0x150(%rbp)
movq -0x158(%rbp), %rax
movq (%rax), %rdi
movq -0x150(%rbp), %rsi
shlq $0x2, %rsi
callq 0x19e1f0
movq %rax, %rcx
movq -0x158(%rbp), %rax
movq %rcx, (%rax)
jmp 0x1baa71
movl -0x168(%rbp), %edi
movl $0x58, %esi
callq 0x1b9c40
movl %eax, %edx
movq -0x158(%rbp), %rax
movq (%rax), %rax
movq -0x158(%rbp), %rcx
movl 0x8(%rcx), %ecx
subl $0x1, %ecx
movslq %ecx, %rcx
movl %edx, (%rax,%rcx,4)
jmp 0x1babec
cmpl $0x0, -0x16c(%rbp)
je 0x1bab48
jmp 0x1baab4
jmp 0x1baab6
movq -0x158(%rbp), %rax
movl 0x8(%rax), %ecx
addl $0x1, %ecx
movl %ecx, 0x8(%rax)
movq -0x158(%rbp), %rax
movslq 0x8(%rax), %rax
cmpq -0x150(%rbp), %rax
jb 0x1bab12
movq -0x150(%rbp), %rax
shlq %rax
movq %rax, -0x150(%rbp)
movq -0x158(%rbp), %rax
movq (%rax), %rdi
movq -0x150(%rbp), %rsi
shlq $0x2, %rsi
callq 0x19e1f0
movq %rax, %rcx
movq -0x158(%rbp), %rax
movq %rcx, (%rax)
jmp 0x1bab14
movl -0x16c(%rbp), %edi
movl $0x49, %esi
callq 0x1b9c40
movl %eax, %edx
movq -0x158(%rbp), %rax
movq (%rax), %rax
movq -0x158(%rbp), %rcx
movl 0x8(%rcx), %ecx
subl $0x1, %ecx
movslq %ecx, %rcx
movl %edx, (%rax,%rcx,4)
jmp 0x1babea
cmpl $0x0, -0x170(%rbp)
je 0x1babe8
jmp 0x1bab57
jmp 0x1bab59
movq -0x158(%rbp), %rax
movl 0x8(%rax), %ecx
addl $0x1, %ecx
movl %ecx, 0x8(%rax)
movq -0x158(%rbp), %rax
movslq 0x8(%rax), %rax
cmpq -0x150(%rbp), %rax
jb 0x1babb5
movq -0x150(%rbp), %rax
shlq %rax
movq %rax, -0x150(%rbp)
movq -0x158(%rbp), %rax
movq (%rax), %rdi
movq -0x150(%rbp), %rsi
shlq $0x2, %rsi
callq 0x19e1f0
movq %rax, %rcx
movq -0x158(%rbp), %rax
movq %rcx, (%rax)
jmp 0x1babb7
movl -0x170(%rbp), %edi
movl $0x44, %esi
callq 0x1b9c40
movl %eax, %edx
movq -0x158(%rbp), %rax
movq (%rax), %rax
movq -0x158(%rbp), %rcx
movl 0x8(%rcx), %ecx
subl $0x1, %ecx
movslq %ecx, %rcx
movl %edx, (%rax,%rcx,4)
jmp 0x1babe8
jmp 0x1babea
jmp 0x1babec
jmp 0x1babee
jmp 0x1babf0
movl $0x0, -0x164(%rbp)
movl $0x0, -0x168(%rbp)
movl $0x0, -0x16c(%rbp)
movl $0x0, -0x170(%rbp)
jmp 0x1bac1a
jmp 0x1bac1c
jmp 0x1bac1e
cmpq $0x0, -0x178(%rbp)
jl 0x1bac4b
movl -0x16c(%rbp), %eax
addl $0x1, %eax
movl %eax, -0x16c(%rbp)
movq -0x178(%rbp), %rax
addq $-0x1, %rax
movq %rax, -0x178(%rbp)
jmp 0x1bac1e
jmp 0x1bbb44
movl $0x4, %eax
cmpl -0x184(%rbp), %eax
jne 0x1bb443
movq -0x190(%rbp), %rax
movq -0x1b8(%rbp), %rcx
movsbl (%rax,%rcx), %eax
andl $0x4, %eax
cmpl $0x0, %eax
je 0x1bb3e9
cmpl $0x0, 0x10(%rbp)
je 0x1bac9c
movq -0x10(%rbp), %rax
movq -0x178(%rbp), %rcx
movsbl (%rax,%rcx), %eax
movl %eax, -0x1e4(%rbp)
jmp 0x1bacb6
movq -0x10(%rbp), %rax
movq -0x178(%rbp), %rcx
movsbl (%rax,%rcx), %edi
callq 0x19e210
movl %eax, -0x1e4(%rbp)
movl -0x1e4(%rbp), %eax
movb %al, -0x1b9(%rbp)
cmpl $0x0, 0x10(%rbp)
je 0x1bacdf
movq -0x20(%rbp), %rax
movq -0x180(%rbp), %rcx
movsbl (%rax,%rcx), %eax
movl %eax, -0x1e8(%rbp)
jmp 0x1bacf9
movq -0x20(%rbp), %rax
movq -0x180(%rbp), %rcx
movsbl (%rax,%rcx), %edi
callq 0x19e210
movl %eax, -0x1e8(%rbp)
movl -0x1e8(%rbp), %eax
movb %al, -0x1ba(%rbp)
movsbl -0x1b9(%rbp), %eax
movsbl -0x1ba(%rbp), %ecx
cmpl %ecx, %eax
sete %al
andb $0x1, %al
movzbl %al, %eax
movl %eax, -0x1c0(%rbp)
xorl %eax, %eax
cmpq 0x18(%rbp), %rax
je 0x1badf9
movq $0x0, -0x1c8(%rbp)
movq -0x1c8(%rbp), %rax
cmpq -0x148(%rbp), %rax
jae 0x1badf7
movq -0x1c8(%rbp), %rax
movsbl -0x140(%rbp,%rax), %eax
movsbl -0x1b9(%rbp), %ecx
cmpl %ecx, %eax
jne 0x1bad96
movq -0x1c8(%rbp), %rax
movsbl -0x13f(%rbp,%rax), %eax
movsbl -0x1ba(%rbp), %ecx
cmpl %ecx, %eax
sete %al
andb $0x1, %al
movzbl %al, %eax
orl -0x1c0(%rbp), %eax
movl %eax, -0x1c0(%rbp)
jmp 0x1badde
movq -0x1c8(%rbp), %rax
movsbl -0x13f(%rbp,%rax), %eax
movsbl -0x1b9(%rbp), %ecx
cmpl %ecx, %eax
jne 0x1baddc
movq -0x1c8(%rbp), %rax
movsbl -0x140(%rbp,%rax), %eax
movsbl -0x1ba(%rbp), %ecx
cmpl %ecx, %eax
sete %al
andb $0x1, %al
movzbl %al, %eax
orl -0x1c0(%rbp), %eax
movl %eax, -0x1c0(%rbp)
jmp 0x1badde
jmp 0x1bade0
movq -0x1c8(%rbp), %rax
addq $0x1, %rax
movq %rax, -0x1c8(%rbp)
jmp 0x1bad3a
jmp 0x1badf9
cmpl $0x0, -0x1c0(%rbp)
je 0x1bb0e7
xorl %eax, %eax
cmpl -0x164(%rbp), %eax
jne 0x1bb0d3
jmp 0x1bae16
cmpl $0x0, -0x164(%rbp)
je 0x1baeb9
jmp 0x1bae25
jmp 0x1bae27
movq -0x158(%rbp), %rax
movl 0x8(%rax), %ecx
addl $0x1, %ecx
movl %ecx, 0x8(%rax)
movq -0x158(%rbp), %rax
movslq 0x8(%rax), %rax
cmpq -0x150(%rbp), %rax
jb 0x1bae83
movq -0x150(%rbp), %rax
shlq %rax
movq %rax, -0x150(%rbp)
movq -0x158(%rbp), %rax
movq (%rax), %rdi
movq -0x150(%rbp), %rsi
shlq $0x2, %rsi
callq 0x19e1f0
movq %rax, %rcx
movq -0x158(%rbp), %rax
movq %rcx, (%rax)
jmp 0x1bae85
movl -0x164(%rbp), %edi
movl $0x3d, %esi
callq 0x1b9c40
movl %eax, %edx
movq -0x158(%rbp), %rax
movq (%rax), %rax
movq -0x158(%rbp), %rcx
movl 0x8(%rcx), %ecx
subl $0x1, %ecx
movslq %ecx, %rcx
movl %edx, (%rax,%rcx,4)
jmp 0x1bb0a5
cmpl $0x0, -0x168(%rbp)
je 0x1baf5c
jmp 0x1baec8
jmp 0x1baeca
movq -0x158(%rbp), %rax
movl 0x8(%rax), %ecx
addl $0x1, %ecx
movl %ecx, 0x8(%rax)
movq -0x158(%rbp), %rax
movslq 0x8(%rax), %rax
cmpq -0x150(%rbp), %rax
jb 0x1baf26
movq -0x150(%rbp), %rax
shlq %rax
movq %rax, -0x150(%rbp)
movq -0x158(%rbp), %rax
movq (%rax), %rdi
movq -0x150(%rbp), %rsi
shlq $0x2, %rsi
callq 0x19e1f0
movq %rax, %rcx
movq -0x158(%rbp), %rax
movq %rcx, (%rax)
jmp 0x1baf28
movl -0x168(%rbp), %edi
movl $0x58, %esi
callq 0x1b9c40
movl %eax, %edx
movq -0x158(%rbp), %rax
movq (%rax), %rax
movq -0x158(%rbp), %rcx
movl 0x8(%rcx), %ecx
subl $0x1, %ecx
movslq %ecx, %rcx
movl %edx, (%rax,%rcx,4)
jmp 0x1bb0a3
cmpl $0x0, -0x16c(%rbp)
je 0x1bafff
jmp 0x1baf6b
jmp 0x1baf6d
movq -0x158(%rbp), %rax
movl 0x8(%rax), %ecx
addl $0x1, %ecx
movl %ecx, 0x8(%rax)
movq -0x158(%rbp), %rax
movslq 0x8(%rax), %rax
cmpq -0x150(%rbp), %rax
jb 0x1bafc9
movq -0x150(%rbp), %rax
shlq %rax
movq %rax, -0x150(%rbp)
movq -0x158(%rbp), %rax
movq (%rax), %rdi
movq -0x150(%rbp), %rsi
shlq $0x2, %rsi
callq 0x19e1f0
movq %rax, %rcx
movq -0x158(%rbp), %rax
movq %rcx, (%rax)
jmp 0x1bafcb
movl -0x16c(%rbp), %edi
movl $0x49, %esi
callq 0x1b9c40
movl %eax, %edx
movq -0x158(%rbp), %rax
movq (%rax), %rax
movq -0x158(%rbp), %rcx
movl 0x8(%rcx), %ecx
subl $0x1, %ecx
movslq %ecx, %rcx
movl %edx, (%rax,%rcx,4)
jmp 0x1bb0a1
cmpl $0x0, -0x170(%rbp)
je 0x1bb09f
jmp 0x1bb00e
jmp 0x1bb010
movq -0x158(%rbp), %rax
movl 0x8(%rax), %ecx
addl $0x1, %ecx
movl %ecx, 0x8(%rax)
movq -0x158(%rbp), %rax
movslq 0x8(%rax), %rax
cmpq -0x150(%rbp), %rax
jb 0x1bb06c
movq -0x150(%rbp), %rax
shlq %rax
movq %rax, -0x150(%rbp)
movq -0x158(%rbp), %rax
movq (%rax), %rdi
movq -0x150(%rbp), %rsi
shlq $0x2, %rsi
callq 0x19e1f0
movq %rax, %rcx
movq -0x158(%rbp), %rax
movq %rcx, (%rax)
jmp 0x1bb06e
movl -0x170(%rbp), %edi
movl $0x44, %esi
callq 0x1b9c40
movl %eax, %edx
movq -0x158(%rbp), %rax
movq (%rax), %rax
movq -0x158(%rbp), %rcx
movl 0x8(%rcx), %ecx
subl $0x1, %ecx
movslq %ecx, %rcx
movl %edx, (%rax,%rcx,4)
jmp 0x1bb09f
jmp 0x1bb0a1
jmp 0x1bb0a3
jmp 0x1bb0a5
jmp 0x1bb0a7
movl $0x0, -0x164(%rbp)
movl $0x0, -0x168(%rbp)
movl $0x0, -0x16c(%rbp)
movl $0x0, -0x170(%rbp)
jmp 0x1bb0d1
jmp 0x1bb0d3
movl -0x164(%rbp), %eax
addl $0x1, %eax
movl %eax, -0x164(%rbp)
jmp 0x1bb3c3
xorl %eax, %eax
cmpl -0x168(%rbp), %eax
jne 0x1bb3b4
jmp 0x1bb0f7
cmpl $0x0, -0x164(%rbp)
je 0x1bb19a
jmp 0x1bb106
jmp 0x1bb108
movq -0x158(%rbp), %rax
movl 0x8(%rax), %ecx
addl $0x1, %ecx
movl %ecx, 0x8(%rax)
movq -0x158(%rbp), %rax
movslq 0x8(%rax), %rax
cmpq -0x150(%rbp), %rax
jb 0x1bb164
movq -0x150(%rbp), %rax
shlq %rax
movq %rax, -0x150(%rbp)
movq -0x158(%rbp), %rax
movq (%rax), %rdi
movq -0x150(%rbp), %rsi
shlq $0x2, %rsi
callq 0x19e1f0
movq %rax, %rcx
movq -0x158(%rbp), %rax
movq %rcx, (%rax)
jmp 0x1bb166
movl -0x164(%rbp), %edi
movl $0x3d, %esi
callq 0x1b9c40
movl %eax, %edx
movq -0x158(%rbp), %rax
movq (%rax), %rax
movq -0x158(%rbp), %rcx
movl 0x8(%rcx), %ecx
subl $0x1, %ecx
movslq %ecx, %rcx
movl %edx, (%rax,%rcx,4)
jmp 0x1bb386
cmpl $0x0, -0x168(%rbp)
je 0x1bb23d
jmp 0x1bb1a9
jmp 0x1bb1ab
movq -0x158(%rbp), %rax
movl 0x8(%rax), %ecx
addl $0x1, %ecx
movl %ecx, 0x8(%rax)
movq -0x158(%rbp), %rax
movslq 0x8(%rax), %rax
cmpq -0x150(%rbp), %rax
jb 0x1bb207
movq -0x150(%rbp), %rax
shlq %rax
movq %rax, -0x150(%rbp)
movq -0x158(%rbp), %rax
movq (%rax), %rdi
movq -0x150(%rbp), %rsi
shlq $0x2, %rsi
callq 0x19e1f0
movq %rax, %rcx
movq -0x158(%rbp), %rax
movq %rcx, (%rax)
jmp 0x1bb209
movl -0x168(%rbp), %edi
movl $0x58, %esi
callq 0x1b9c40
movl %eax, %edx
movq -0x158(%rbp), %rax
movq (%rax), %rax
movq -0x158(%rbp), %rcx
movl 0x8(%rcx), %ecx
subl $0x1, %ecx
movslq %ecx, %rcx
movl %edx, (%rax,%rcx,4)
jmp 0x1bb384
cmpl $0x0, -0x16c(%rbp)
je 0x1bb2e0
jmp 0x1bb24c
jmp 0x1bb24e
movq -0x158(%rbp), %rax
movl 0x8(%rax), %ecx
addl $0x1, %ecx
movl %ecx, 0x8(%rax)
movq -0x158(%rbp), %rax
movslq 0x8(%rax), %rax
cmpq -0x150(%rbp), %rax
jb 0x1bb2aa
movq -0x150(%rbp), %rax
shlq %rax
movq %rax, -0x150(%rbp)
movq -0x158(%rbp), %rax
movq (%rax), %rdi
movq -0x150(%rbp), %rsi
shlq $0x2, %rsi
callq 0x19e1f0
movq %rax, %rcx
movq -0x158(%rbp), %rax
movq %rcx, (%rax)
jmp 0x1bb2ac
movl -0x16c(%rbp), %edi
movl $0x49, %esi
callq 0x1b9c40
movl %eax, %edx
movq -0x158(%rbp), %rax
movq (%rax), %rax
movq -0x158(%rbp), %rcx
movl 0x8(%rcx), %ecx
subl $0x1, %ecx
movslq %ecx, %rcx
movl %edx, (%rax,%rcx,4)
jmp 0x1bb382
cmpl $0x0, -0x170(%rbp)
je 0x1bb380
jmp 0x1bb2ef
jmp 0x1bb2f1
movq -0x158(%rbp), %rax
movl 0x8(%rax), %ecx
addl $0x1, %ecx
movl %ecx, 0x8(%rax)
movq -0x158(%rbp), %rax
movslq 0x8(%rax), %rax
cmpq -0x150(%rbp), %rax
jb 0x1bb34d
movq -0x150(%rbp), %rax
shlq %rax
movq %rax, -0x150(%rbp)
movq -0x158(%rbp), %rax
movq (%rax), %rdi
movq -0x150(%rbp), %rsi
shlq $0x2, %rsi
callq 0x19e1f0
movq %rax, %rcx
movq -0x158(%rbp), %rax
movq %rcx, (%rax)
jmp 0x1bb34f
movl -0x170(%rbp), %edi
movl $0x44, %esi
callq 0x1b9c40
movl %eax, %edx
movq -0x158(%rbp), %rax
movq (%rax), %rax
movq -0x158(%rbp), %rcx
movl 0x8(%rcx), %ecx
subl $0x1, %ecx
movslq %ecx, %rcx
movl %edx, (%rax,%rcx,4)
jmp 0x1bb380
jmp 0x1bb382
jmp 0x1bb384
jmp 0x1bb386
jmp 0x1bb388
movl $0x0, -0x164(%rbp)
movl $0x0, -0x168(%rbp)
movl $0x0, -0x16c(%rbp)
movl $0x0, -0x170(%rbp)
jmp 0x1bb3b2
jmp 0x1bb3b4
movl -0x168(%rbp), %eax
addl $0x1, %eax
movl %eax, -0x168(%rbp)
movq -0x178(%rbp), %rax
addq $-0x1, %rax
movq %rax, -0x178(%rbp)
movq -0x180(%rbp), %rax
addq $-0x1, %rax
movq %rax, -0x180(%rbp)
jmp 0x1bb43e
movq -0x190(%rbp), %rax
movq -0x1b8(%rbp), %rcx
movsbl (%rax,%rcx), %eax
andl $0x1, %eax
cmpl $0x0, %eax
je 0x1bb40f
movl $0x1, -0x184(%rbp)
jmp 0x1bb43c
movq -0x190(%rbp), %rax
movq -0x1b8(%rbp), %rcx
movsbl (%rax,%rcx), %eax
andl $0x2, %eax
cmpl $0x0, %eax
je 0x1bb435
movl $0x2, -0x184(%rbp)
jmp 0x1bb43a
jmp 0x1bbb44
jmp 0x1bb43c
jmp 0x1bb43e
jmp 0x1bbb3f
movl $0x1, %eax
cmpl -0x184(%rbp), %eax
jne 0x1bb7ae
xorl %eax, %eax
cmpl -0x170(%rbp), %eax
jne 0x1bb721
jmp 0x1bb464
cmpl $0x0, -0x164(%rbp)
je 0x1bb507
jmp 0x1bb473
jmp 0x1bb475
movq -0x158(%rbp), %rax
movl 0x8(%rax), %ecx
addl $0x1, %ecx
movl %ecx, 0x8(%rax)
movq -0x158(%rbp), %rax
movslq 0x8(%rax), %rax
cmpq -0x150(%rbp), %rax
jb 0x1bb4d1
movq -0x150(%rbp), %rax
shlq %rax
movq %rax, -0x150(%rbp)
movq -0x158(%rbp), %rax
movq (%rax), %rdi
movq -0x150(%rbp), %rsi
shlq $0x2, %rsi
callq 0x19e1f0
movq %rax, %rcx
movq -0x158(%rbp), %rax
movq %rcx, (%rax)
jmp 0x1bb4d3
movl -0x164(%rbp), %edi
movl $0x3d, %esi
callq 0x1b9c40
movl %eax, %edx
movq -0x158(%rbp), %rax
movq (%rax), %rax
movq -0x158(%rbp), %rcx
movl 0x8(%rcx), %ecx
subl $0x1, %ecx
movslq %ecx, %rcx
movl %edx, (%rax,%rcx,4)
jmp 0x1bb6f3
cmpl $0x0, -0x168(%rbp)
je 0x1bb5aa
jmp 0x1bb516
jmp 0x1bb518
movq -0x158(%rbp), %rax
movl 0x8(%rax), %ecx
addl $0x1, %ecx
movl %ecx, 0x8(%rax)
movq -0x158(%rbp), %rax
movslq 0x8(%rax), %rax
cmpq -0x150(%rbp), %rax
jb 0x1bb574
movq -0x150(%rbp), %rax
shlq %rax
movq %rax, -0x150(%rbp)
movq -0x158(%rbp), %rax
movq (%rax), %rdi
movq -0x150(%rbp), %rsi
shlq $0x2, %rsi
callq 0x19e1f0
movq %rax, %rcx
movq -0x158(%rbp), %rax
movq %rcx, (%rax)
jmp 0x1bb576
movl -0x168(%rbp), %edi
movl $0x58, %esi
callq 0x1b9c40
movl %eax, %edx
movq -0x158(%rbp), %rax
movq (%rax), %rax
movq -0x158(%rbp), %rcx
movl 0x8(%rcx), %ecx
subl $0x1, %ecx
movslq %ecx, %rcx
movl %edx, (%rax,%rcx,4)
jmp 0x1bb6f1
cmpl $0x0, -0x16c(%rbp)
je 0x1bb64d
jmp 0x1bb5b9
jmp 0x1bb5bb
movq -0x158(%rbp), %rax
movl 0x8(%rax), %ecx
addl $0x1, %ecx
movl %ecx, 0x8(%rax)
movq -0x158(%rbp), %rax
movslq 0x8(%rax), %rax
cmpq -0x150(%rbp), %rax
jb 0x1bb617
movq -0x150(%rbp), %rax
shlq %rax
movq %rax, -0x150(%rbp)
movq -0x158(%rbp), %rax
movq (%rax), %rdi
movq -0x150(%rbp), %rsi
shlq $0x2, %rsi
callq 0x19e1f0
movq %rax, %rcx
movq -0x158(%rbp), %rax
movq %rcx, (%rax)
jmp 0x1bb619
movl -0x16c(%rbp), %edi
movl $0x49, %esi
callq 0x1b9c40
movl %eax, %edx
movq -0x158(%rbp), %rax
movq (%rax), %rax
movq -0x158(%rbp), %rcx
movl 0x8(%rcx), %ecx
subl $0x1, %ecx
movslq %ecx, %rcx
movl %edx, (%rax,%rcx,4)
jmp 0x1bb6ef
cmpl $0x0, -0x170(%rbp)
je 0x1bb6ed
jmp 0x1bb65c
jmp 0x1bb65e
movq -0x158(%rbp), %rax
movl 0x8(%rax), %ecx
addl $0x1, %ecx
movl %ecx, 0x8(%rax)
movq -0x158(%rbp), %rax
movslq 0x8(%rax), %rax
cmpq -0x150(%rbp), %rax
jb 0x1bb6ba
movq -0x150(%rbp), %rax
shlq %rax
movq %rax, -0x150(%rbp)
movq -0x158(%rbp), %rax
movq (%rax), %rdi
movq -0x150(%rbp), %rsi
shlq $0x2, %rsi
callq 0x19e1f0
movq %rax, %rcx
movq -0x158(%rbp), %rax
movq %rcx, (%rax)
jmp 0x1bb6bc
movl -0x170(%rbp), %edi
movl $0x44, %esi
callq 0x1b9c40
movl %eax, %edx
movq -0x158(%rbp), %rax
movq (%rax), %rax
movq -0x158(%rbp), %rcx
movl 0x8(%rcx), %ecx
subl $0x1, %ecx
movslq %ecx, %rcx
movl %edx, (%rax,%rcx,4)
jmp 0x1bb6ed
jmp 0x1bb6ef
jmp 0x1bb6f1
jmp 0x1bb6f3
jmp 0x1bb6f5
movl $0x0, -0x164(%rbp)
movl $0x0, -0x168(%rbp)
movl $0x0, -0x16c(%rbp)
movl $0x0, -0x170(%rbp)
jmp 0x1bb71f
jmp 0x1bb721
movl -0x170(%rbp), %eax
addl $0x1, %eax
movl %eax, -0x170(%rbp)
movq -0x180(%rbp), %rax
addq $-0x1, %rax
movq %rax, -0x180(%rbp)
movq -0x190(%rbp), %rax
movq -0x1b8(%rbp), %rcx
movsbl (%rax,%rcx), %eax
andl $0x8, %eax
cmpl $0x0, %eax
je 0x1bb768
movl $0x4, -0x184(%rbp)
jmp 0x1bb7a9
movq -0x190(%rbp), %rax
movq -0x1b8(%rbp), %rcx
movsbl (%rax,%rcx), %eax
andl $0x10, %eax
cmpl $0x0, %eax
je 0x1bb78e
movl $0x1, -0x184(%rbp)
jmp 0x1bb7a7
movq -0x158(%rbp), %rdi
callq 0x1b9e10
movq $0x0, -0x8(%rbp)
jmp 0x1bbe7b
jmp 0x1bb7a9
jmp 0x1bbb3d
movl $0x2, %eax
cmpl -0x184(%rbp), %eax
jne 0x1bbb16
xorl %eax, %eax
cmpl -0x16c(%rbp), %eax
jne 0x1bba8c
jmp 0x1bb7cf
cmpl $0x0, -0x164(%rbp)
je 0x1bb872
jmp 0x1bb7de
jmp 0x1bb7e0
movq -0x158(%rbp), %rax
movl 0x8(%rax), %ecx
addl $0x1, %ecx
movl %ecx, 0x8(%rax)
movq -0x158(%rbp), %rax
movslq 0x8(%rax), %rax
cmpq -0x150(%rbp), %rax
jb 0x1bb83c
movq -0x150(%rbp), %rax
shlq %rax
movq %rax, -0x150(%rbp)
movq -0x158(%rbp), %rax
movq (%rax), %rdi
movq -0x150(%rbp), %rsi
shlq $0x2, %rsi
callq 0x19e1f0
movq %rax, %rcx
movq -0x158(%rbp), %rax
movq %rcx, (%rax)
jmp 0x1bb83e
movl -0x164(%rbp), %edi
movl $0x3d, %esi
callq 0x1b9c40
movl %eax, %edx
movq -0x158(%rbp), %rax
movq (%rax), %rax
movq -0x158(%rbp), %rcx
movl 0x8(%rcx), %ecx
subl $0x1, %ecx
movslq %ecx, %rcx
movl %edx, (%rax,%rcx,4)
jmp 0x1bba5e
cmpl $0x0, -0x168(%rbp)
je 0x1bb915
jmp 0x1bb881
jmp 0x1bb883
movq -0x158(%rbp), %rax
movl 0x8(%rax), %ecx
addl $0x1, %ecx
movl %ecx, 0x8(%rax)
movq -0x158(%rbp), %rax
movslq 0x8(%rax), %rax
cmpq -0x150(%rbp), %rax
jb 0x1bb8df
movq -0x150(%rbp), %rax
shlq %rax
movq %rax, -0x150(%rbp)
movq -0x158(%rbp), %rax
movq (%rax), %rdi
movq -0x150(%rbp), %rsi
shlq $0x2, %rsi
callq 0x19e1f0
movq %rax, %rcx
movq -0x158(%rbp), %rax
movq %rcx, (%rax)
jmp 0x1bb8e1
movl -0x168(%rbp), %edi
movl $0x58, %esi
callq 0x1b9c40
movl %eax, %edx
movq -0x158(%rbp), %rax
movq (%rax), %rax
movq -0x158(%rbp), %rcx
movl 0x8(%rcx), %ecx
subl $0x1, %ecx
movslq %ecx, %rcx
movl %edx, (%rax,%rcx,4)
jmp 0x1bba5c
cmpl $0x0, -0x16c(%rbp)
je 0x1bb9b8
jmp 0x1bb924
jmp 0x1bb926
movq -0x158(%rbp), %rax
movl 0x8(%rax), %ecx
addl $0x1, %ecx
movl %ecx, 0x8(%rax)
movq -0x158(%rbp), %rax
movslq 0x8(%rax), %rax
cmpq -0x150(%rbp), %rax
jb 0x1bb982
movq -0x150(%rbp), %rax
shlq %rax
movq %rax, -0x150(%rbp)
movq -0x158(%rbp), %rax
movq (%rax), %rdi
movq -0x150(%rbp), %rsi
shlq $0x2, %rsi
callq 0x19e1f0
movq %rax, %rcx
movq -0x158(%rbp), %rax
movq %rcx, (%rax)
jmp 0x1bb984
movl -0x16c(%rbp), %edi
movl $0x49, %esi
callq 0x1b9c40
movl %eax, %edx
movq -0x158(%rbp), %rax
movq (%rax), %rax
movq -0x158(%rbp), %rcx
movl 0x8(%rcx), %ecx
subl $0x1, %ecx
movslq %ecx, %rcx
movl %edx, (%rax,%rcx,4)
jmp 0x1bba5a
cmpl $0x0, -0x170(%rbp)
je 0x1bba58
jmp 0x1bb9c7
jmp 0x1bb9c9
movq -0x158(%rbp), %rax
movl 0x8(%rax), %ecx
addl $0x1, %ecx
movl %ecx, 0x8(%rax)
movq -0x158(%rbp), %rax
movslq 0x8(%rax), %rax
cmpq -0x150(%rbp), %rax
jb 0x1bba25
movq -0x150(%rbp), %rax
shlq %rax
movq %rax, -0x150(%rbp)
movq -0x158(%rbp), %rax
movq (%rax), %rdi
movq -0x150(%rbp), %rsi
shlq $0x2, %rsi
callq 0x19e1f0
movq %rax, %rcx
movq -0x158(%rbp), %rax
movq %rcx, (%rax)
jmp 0x1bba27
movl -0x170(%rbp), %edi
movl $0x44, %esi
callq 0x1b9c40
movl %eax, %edx
movq -0x158(%rbp), %rax
movq (%rax), %rax
movq -0x158(%rbp), %rcx
movl 0x8(%rcx), %ecx
subl $0x1, %ecx
movslq %ecx, %rcx
movl %edx, (%rax,%rcx,4)
jmp 0x1bba58
jmp 0x1bba5a
jmp 0x1bba5c
jmp 0x1bba5e
jmp 0x1bba60
movl $0x0, -0x164(%rbp)
movl $0x0, -0x168(%rbp)
movl $0x0, -0x16c(%rbp)
movl $0x0, -0x170(%rbp)
jmp 0x1bba8a
jmp 0x1bba8c
movl -0x16c(%rbp), %eax
addl $0x1, %eax
movl %eax, -0x16c(%rbp)
movq -0x178(%rbp), %rax
addq $-0x1, %rax
movq %rax, -0x178(%rbp)
movq -0x190(%rbp), %rax
movq -0x1b8(%rbp), %rcx
movsbl (%rax,%rcx), %eax
andl $0x20, %eax
cmpl $0x0, %eax
je 0x1bbad3
movl $0x4, -0x184(%rbp)
jmp 0x1bbb14
movq -0x190(%rbp), %rax
movq -0x1b8(%rbp), %rcx
movsbl (%rax,%rcx), %eax
andl $0x40, %eax
cmpl $0x0, %eax
je 0x1bbaf9
movl $0x2, -0x184(%rbp)
jmp 0x1bbb12
movq -0x158(%rbp), %rdi
callq 0x1b9e10
movq $0x0, -0x8(%rbp)
jmp 0x1bbe7b
jmp 0x1bbb14
jmp 0x1bbb3b
xorl %eax, %eax
cmpl -0x184(%rbp), %eax
jne 0x1bbb22
jmp 0x1bbb44
movq -0x158(%rbp), %rdi
callq 0x1b9e10
movq $0x0, -0x8(%rbp)
jmp 0x1bbe7b
jmp 0x1bbb3d
jmp 0x1bbb3f
jmp 0x1ba595
jmp 0x1bbb46
cmpl $0x0, -0x164(%rbp)
je 0x1bbbe9
jmp 0x1bbb55
jmp 0x1bbb57
movq -0x158(%rbp), %rax
movl 0x8(%rax), %ecx
addl $0x1, %ecx
movl %ecx, 0x8(%rax)
movq -0x158(%rbp), %rax
movslq 0x8(%rax), %rax
cmpq -0x150(%rbp), %rax
jb 0x1bbbb3
movq -0x150(%rbp), %rax
shlq %rax
movq %rax, -0x150(%rbp)
movq -0x158(%rbp), %rax
movq (%rax), %rdi
movq -0x150(%rbp), %rsi
shlq $0x2, %rsi
callq 0x19e1f0
movq %rax, %rcx
movq -0x158(%rbp), %rax
movq %rcx, (%rax)
jmp 0x1bbbb5
movl -0x164(%rbp), %edi
movl $0x3d, %esi
callq 0x1b9c40
movl %eax, %edx
movq -0x158(%rbp), %rax
movq (%rax), %rax
movq -0x158(%rbp), %rcx
movl 0x8(%rcx), %ecx
subl $0x1, %ecx
movslq %ecx, %rcx
movl %edx, (%rax,%rcx,4)
jmp 0x1bbdd5
cmpl $0x0, -0x168(%rbp)
je 0x1bbc8c
jmp 0x1bbbf8
jmp 0x1bbbfa
movq -0x158(%rbp), %rax
movl 0x8(%rax), %ecx
addl $0x1, %ecx
movl %ecx, 0x8(%rax)
movq -0x158(%rbp), %rax
movslq 0x8(%rax), %rax
cmpq -0x150(%rbp), %rax
jb 0x1bbc56
movq -0x150(%rbp), %rax
shlq %rax
movq %rax, -0x150(%rbp)
movq -0x158(%rbp), %rax
movq (%rax), %rdi
movq -0x150(%rbp), %rsi
shlq $0x2, %rsi
callq 0x19e1f0
movq %rax, %rcx
movq -0x158(%rbp), %rax
movq %rcx, (%rax)
jmp 0x1bbc58
movl -0x168(%rbp), %edi
movl $0x58, %esi
callq 0x1b9c40
movl %eax, %edx
movq -0x158(%rbp), %rax
movq (%rax), %rax
movq -0x158(%rbp), %rcx
movl 0x8(%rcx), %ecx
subl $0x1, %ecx
movslq %ecx, %rcx
movl %edx, (%rax,%rcx,4)
jmp 0x1bbdd3
cmpl $0x0, -0x16c(%rbp)
je 0x1bbd2f
jmp 0x1bbc9b
jmp 0x1bbc9d
movq -0x158(%rbp), %rax
movl 0x8(%rax), %ecx
addl $0x1, %ecx
movl %ecx, 0x8(%rax)
movq -0x158(%rbp), %rax
movslq 0x8(%rax), %rax
cmpq -0x150(%rbp), %rax
jb 0x1bbcf9
movq -0x150(%rbp), %rax
shlq %rax
movq %rax, -0x150(%rbp)
movq -0x158(%rbp), %rax
movq (%rax), %rdi
movq -0x150(%rbp), %rsi
shlq $0x2, %rsi
callq 0x19e1f0
movq %rax, %rcx
movq -0x158(%rbp), %rax
movq %rcx, (%rax)
jmp 0x1bbcfb
movl -0x16c(%rbp), %edi
movl $0x49, %esi
callq 0x1b9c40
movl %eax, %edx
movq -0x158(%rbp), %rax
movq (%rax), %rax
movq -0x158(%rbp), %rcx
movl 0x8(%rcx), %ecx
subl $0x1, %ecx
movslq %ecx, %rcx
movl %edx, (%rax,%rcx,4)
jmp 0x1bbdd1
cmpl $0x0, -0x170(%rbp)
je 0x1bbdcf
jmp 0x1bbd3e
jmp 0x1bbd40
movq -0x158(%rbp), %rax
movl 0x8(%rax), %ecx
addl $0x1, %ecx
movl %ecx, 0x8(%rax)
movq -0x158(%rbp), %rax
movslq 0x8(%rax), %rax
cmpq -0x150(%rbp), %rax
jb 0x1bbd9c
movq -0x150(%rbp), %rax
shlq %rax
movq %rax, -0x150(%rbp)
movq -0x158(%rbp), %rax
movq (%rax), %rdi
movq -0x150(%rbp), %rsi
shlq $0x2, %rsi
callq 0x19e1f0
movq %rax, %rcx
movq -0x158(%rbp), %rax
movq %rcx, (%rax)
jmp 0x1bbd9e
movl -0x170(%rbp), %edi
movl $0x44, %esi
callq 0x1b9c40
movl %eax, %edx
movq -0x158(%rbp), %rax
movq (%rax), %rax
movq -0x158(%rbp), %rcx
movl 0x8(%rcx), %ecx
subl $0x1, %ecx
movslq %ecx, %rcx
movl %edx, (%rax,%rcx,4)
jmp 0x1bbdcf
jmp 0x1bbdd1
jmp 0x1bbdd3
jmp 0x1bbdd5
jmp 0x1bbdd7
movl $0x0, -0x164(%rbp)
movl $0x0, -0x168(%rbp)
movl $0x0, -0x16c(%rbp)
movl $0x0, -0x170(%rbp)
jmp 0x1bbe01
movq -0x158(%rbp), %rax
movq (%rax), %rdi
movq -0x158(%rbp), %rax
movslq 0x8(%rax), %rsi
callq 0x1c6190
movq %rax, -0x160(%rbp)
movq -0x158(%rbp), %rax
movq (%rax), %rdi
callq 0x19e120
movq -0x160(%rbp), %rcx
movq -0x158(%rbp), %rax
movq %rcx, (%rax)
movq -0x178(%rbp), %rax
addq $0x1, %rax
movl %eax, %ecx
movq -0x158(%rbp), %rax
movl %ecx, 0xc(%rax)
movq -0x180(%rbp), %rax
addq $0x1, %rax
movl %eax, %ecx
movq -0x158(%rbp), %rax
movl %ecx, 0x10(%rax)
movq -0x158(%rbp), %rax
movq %rax, -0x8(%rbp)
movq -0x8(%rbp), %rax
addq $0x1f0, %rsp            # imm = 0x1F0
popq %rbp
retq
nopl (%rax,%rax)