// File: /workspace/github_c_makefile_star2_O0/beejjorgensen[P]conquest/conq4.c
// Function: tf_battle
void tf_battle(int starnum)
{
    int ennum, plnum;
    float enodds, plodds;
    boolean battle;
    int count, new_tf, i;
    char ch;
    boolean pla_loss, ene_loss;
    int size;
    tteam team;
    int dstar;
    float slist[nstars + 1];
    boolean fin, first;
    board[stars[starnum].x][stars[starnum].y].enemy = '!';
    update_board(stars[starnum].x, stars[starnum].y, left);
    ennum = 1;
    while ((tf[ENEMY][ennum].dest != starnum)
           || (tf[ENEMY][ennum].eta != 0)
        )
        ennum = ennum + 1;
    plnum = 1;
    if (tf_stars[starnum][player] > 1) {
        get_tf(player, &new_tf, starnum);
        for (i = 1; i <= 26; i++) {
            if ((tf[player][i].dest == starnum) && (tf[player][i].eta == 0)
                && (i != new_tf))
                joinsilent(player, &tf[player][new_tf], &tf[player][i]);
        };
        tf_stars[starnum][player] = 1;
        plnum = new_tf;
    } else {
        while ((tf[player][plnum].dest != starnum)
               || (tf[player][plnum].eta != 0)
            )
            plnum = plnum + 1;
    };
    display_forces(ennum, plnum, &enodds, &plodds, &battle);
    pause();
    first = true;
    while (battle) {
        if (left_line[24]) {
            point(1, 24);
            printw(blank_line);
            left_line[24] = false;
        };
        pla_loss = true;
        ene_loss = true;
        point(1, 21);
        printw(" Enemy losses:                ");
        point(1, 22);
        printw("Player losses:                ");
        do {
            point(15, 21);
            lose(&tf[ENEMY][ennum].t, &ene_loss, 't', enodds);
            lose(&tf[ENEMY][ennum].s, &ene_loss, 's', enodds);
            lose(&tf[ENEMY][ennum].c, &ene_loss, 'c', enodds);
            lose(&tf[ENEMY][ennum].b, &ene_loss, 'b', enodds);
            point(15, 22);
            lose(&tf[player][plnum].t, &pla_loss, 't', plodds);
            lose(&tf[player][plnum].s, &pla_loss, 's', plodds);
            lose(&tf[player][plnum].c, &pla_loss, 'c', plodds);
            lose(&tf[player][plnum].b, &pla_loss, 'b', plodds);
        }
        while (!first && ene_loss && pla_loss);
        if (ene_loss) {
            point(15, 21);
            printw("(none)");
        };
        if (pla_loss) {
            point(15, 22);
            printw("(none)");
        };
        first = false;
        display_forces(ennum, plnum, &enodds, &plodds, &battle);
        if (battle) {
            /*withdraw the bad guys */
            get_tf(ENEMY, &new_tf, starnum);
            if ((tf[player][plnum].c > 0) || (tf[player][plnum].b > 0)
                ) {
                tf[ENEMY][new_tf].t = tf[ENEMY][ennum].t;
                tf[ENEMY][new_tf].s = tf[ENEMY][ennum].s;
                best_plan(&starnum, &size, &team);
                if (((enodds < 0.7) && (size < 30)) || ((enodds < 0.50)
                                                        && (team ==
                                                            player))
                    || ((enodds < 0.30) && (size < 60))
                    || (enodds < 0.20)) {
                    tf[ENEMY][new_tf].c = tf[ENEMY][ennum].c;
                    tf[ENEMY][new_tf].b = tf[ENEMY][ennum].b;
                };
            };
            if ((tf[ENEMY][new_tf].t + tf[ENEMY][new_tf].s +
                 tf[ENEMY][new_tf].c + tf[ENEMY][new_tf].b) > 0) {
                get_stars(starnum, slist, &count);
                do {
                    dstar = rnd(nstars);
                }
                while (slist[dstar] <= 0);
                tf[ENEMY][new_tf].dest = dstar;
                tf[ENEMY][new_tf].eta =
                    (int) ((slist[dstar] - 0.01) / vel[ENEMY]) + 1;
                tf[ENEMY][new_tf].xf = stars[starnum].x;
                tf[ENEMY][new_tf].yf = stars[starnum].y;
            } else
                tf[ENEMY][new_tf].dest = 0;

            fin = false;
            do {
                point(1, 18);
                printw("B?                            ");
                point(3, 18);
                get_char(&ch);
                switch (ch) {
                case 'M':
                    printmap();
                    break;
                case 'H':
                    help(2);
                    break;
                case 'S':
                    starsum();
                    break;
                case 'T':
                    tfsum();
                    break;
                case 'C':
                    print_col();
                    break;
                case '?':
                    break;
                case 'R':
                    ressum();
                    break;
                case 'O':
                    display_forces(ennum, plnum, &enodds, &plodds,
                                   &battle);
                    break;
                case 'W':
                    withdraw(starnum, plnum);
                    display_forces(ennum, plnum, &enodds, &plodds,
                                   &battle);
                    break;
                case ' ':
                case 'G':
                    fin = true;
                    break;
                default:
                    printw("!illegal command");
                };              /*switch ( */
            }
            while (!fin && battle);
            zero_tf(ENEMY, new_tf);
            zero_tf(player, plnum);
            if (tf[ENEMY][new_tf].dest != 0) {
                point(1, 23);
                printw("en withdraws");
                point(14, 23);
                disp_tf(&tf[ENEMY][new_tf]);
                tf[ENEMY][ennum].t =
                    tf[ENEMY][ennum].t - tf[ENEMY][new_tf].t;
                tf[ENEMY][ennum].s =
                    tf[ENEMY][ennum].s - tf[ENEMY][new_tf].s;
                tf[ENEMY][ennum].c =
                    tf[ENEMY][ennum].c - tf[ENEMY][new_tf].c;
                tf[ENEMY][ennum].b =
                    tf[ENEMY][ennum].b - tf[ENEMY][new_tf].b;
                zero_tf(ENEMY, ennum);
                display_forces(ennum, plnum, &enodds, &plodds, &battle);
            };
        };
    };
    zero_tf(ENEMY, ennum);
    zero_tf(player, plnum);
    revolt(starnum);
    on_board(stars[starnum].x, stars[starnum].y);
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0xc0, %rsp
movl %edi, -0x4(%rbp)
movslq -0x4(%rbp), %rcx
leaq 0x10e37(%rip), %rax     # 0x144a0
imulq $0x18, %rcx, %rcx
addq %rcx, %rax
movslq (%rax), %rcx
leaq 0xf726(%rip), %rax      # 0x12da0
imulq $0xc0, %rcx, %rcx
addq %rcx, %rax
movslq -0x4(%rbp), %rdx
leaq 0x10e11(%rip), %rcx     # 0x144a0
imulq $0x18, %rdx, %rdx
addq %rdx, %rcx
movslq 0x4(%rcx), %rcx
imulq $0xc, %rcx, %rcx
addq %rcx, %rax
movl $0x21, (%rax)
movslq -0x4(%rbp), %rcx
leaq 0x10dee(%rip), %rax     # 0x144a0
imulq $0x18, %rcx, %rcx
addq %rcx, %rax
movl (%rax), %edi
movslq -0x4(%rbp), %rcx
leaq 0x10dda(%rip), %rax     # 0x144a0
imulq $0x18, %rcx, %rcx
addq %rcx, %rax
movl 0x4(%rax), %esi
movl $0x1, %edx
callq 0x34f0
movl $0x1, -0x8(%rbp)
movslq -0x8(%rbp), %rcx
leaq 0x102b4(%rip), %rax     # 0x139a0
imulq $0x34, %rcx, %rcx
addq %rcx, %rax
movl 0x20(%rax), %ecx
movb $0x1, %al
cmpl -0x4(%rbp), %ecx
movb %al, -0xa9(%rbp)
jne 0x3722
movslq -0x8(%rbp), %rcx
leaq 0x10292(%rip), %rax     # 0x139a0
imulq $0x34, %rcx, %rcx
addq %rcx, %rax
cmpl $0x0, 0x24(%rax)
setne %al
movb %al, -0xa9(%rbp)
movb -0xa9(%rbp), %al
testb $0x1, %al
jne 0x372e
jmp 0x3739
movl -0x8(%rbp), %eax
addl $0x1, %eax
movl %eax, -0x8(%rbp)
jmp 0x36e1
movl $0x1, -0xc(%rbp)
movslq -0x4(%rbp), %rcx
leaq 0xf4e5(%rip), %rax      # 0x12c30
cmpl $0x1, 0x4(%rax,%rcx,8)
jle 0x3825
movl -0x4(%rbp), %edx
movl $0x1, %edi
leaq -0x20(%rbp), %rsi
callq 0x2e80
movl $0x1, -0x24(%rbp)
cmpl $0x1a, -0x24(%rbp)
jg 0x380a
movslq -0x24(%rbp), %rcx
leaq 0x1021d(%rip), %rax     # 0x139a0
addq $0x57c, %rax            # imm = 0x57C
imulq $0x34, %rcx, %rcx
addq %rcx, %rax
movl 0x20(%rax), %eax
cmpl -0x4(%rbp), %eax
jne 0x37fa
movslq -0x24(%rbp), %rcx
leaq 0x101fd(%rip), %rax     # 0x139a0
addq $0x57c, %rax            # imm = 0x57C
imulq $0x34, %rcx, %rcx
addq %rcx, %rax
cmpl $0x0, 0x24(%rax)
jne 0x37fa
movl -0x24(%rbp), %eax
cmpl -0x20(%rbp), %eax
je 0x37fa
movslq -0x20(%rbp), %rax
leaq 0x101d7(%rip), %rsi     # 0x139a0
addq $0x57c, %rsi            # imm = 0x57C
imulq $0x34, %rax, %rax
addq %rax, %rsi
movslq -0x24(%rbp), %rax
leaq 0x101be(%rip), %rdx     # 0x139a0
addq $0x57c, %rdx            # imm = 0x57C
imulq $0x34, %rax, %rax
addq %rax, %rdx
movl $0x1, %edi
callq 0x3130
jmp 0x37fc
movl -0x24(%rbp), %eax
addl $0x1, %eax
movl %eax, -0x24(%rbp)
jmp 0x376e
movslq -0x4(%rbp), %rcx
leaq 0xf41b(%rip), %rax      # 0x12c30
movl $0x1, 0x4(%rax,%rcx,8)
movl -0x20(%rbp), %eax
movl %eax, -0xc(%rbp)
jmp 0x388d
jmp 0x3827
movslq -0xc(%rbp), %rcx
leaq 0x1016e(%rip), %rax     # 0x139a0
addq $0x57c, %rax            # imm = 0x57C
imulq $0x34, %rcx, %rcx
addq %rcx, %rax
movl 0x20(%rax), %ecx
movb $0x1, %al
cmpl -0x4(%rbp), %ecx
movb %al, -0xaa(%rbp)
jne 0x3874
movslq -0xc(%rbp), %rcx
leaq 0x10146(%rip), %rax     # 0x139a0
addq $0x57c, %rax            # imm = 0x57C
imulq $0x34, %rcx, %rcx
addq %rcx, %rax
cmpl $0x0, 0x24(%rax)
setne %al
movb %al, -0xaa(%rbp)
movb -0xaa(%rbp), %al
testb $0x1, %al
jne 0x3880
jmp 0x388b
movl -0xc(%rbp), %eax
addl $0x1, %eax
movl %eax, -0xc(%rbp)
jmp 0x3827
jmp 0x388d
movl -0x8(%rbp), %edi
movl -0xc(%rbp), %esi
leaq -0x10(%rbp), %rdx
leaq -0x14(%rbp), %rcx
leaq -0x18(%rbp), %r8
callq 0x2700
callq 0xac60
movl $0x1, -0xa8(%rbp)
cmpl $0x0, -0x18(%rbp)
je 0x4106
leaq 0x1100c(%rip), %rax     # 0x148d0
cmpl $0x0, 0x60(%rax)
je 0x38f5
movl $0x1, %edi
movl $0x18, %esi
callq 0x69f0
leaq 0xaaef(%rip), %rdi      # 0xe3cf
movb $0x0, %al
callq 0x2030
leaq 0x10fe2(%rip), %rax     # 0x148d0
movl $0x0, 0x60(%rax)
movl $0x1, -0x2c(%rbp)
movl $0x1, -0x30(%rbp)
movl $0x1, %edi
movl $0x15, %esi
callq 0x69f0
leaq 0xaad5(%rip), %rdi      # 0xe3ee
movb $0x0, %al
callq 0x2030
movl $0x1, %edi
movl $0x16, %esi
callq 0x69f0
leaq 0xaad7(%rip), %rdi      # 0xe40d
movb $0x0, %al
callq 0x2030
movl $0xf, %edi
movl $0x15, %esi
callq 0x69f0
movslq -0x8(%rbp), %rax
leaq 0x10049(%rip), %rdi     # 0x139a0
imulq $0x34, %rax, %rax
addq %rax, %rdi
addq $0x14, %rdi
movss -0x10(%rbp), %xmm0
leaq -0x30(%rbp), %rsi
movl $0x74, %edx
callq 0x31e0
movslq -0x8(%rbp), %rax
leaq 0x10020(%rip), %rdi     # 0x139a0
imulq $0x34, %rax, %rax
addq %rax, %rdi
addq $0x10, %rdi
movss -0x10(%rbp), %xmm0
leaq -0x30(%rbp), %rsi
movl $0x73, %edx
callq 0x31e0
movslq -0x8(%rbp), %rax
leaq 0xfff7(%rip), %rdi      # 0x139a0
imulq $0x34, %rax, %rax
addq %rax, %rdi
addq $0x18, %rdi
movss -0x10(%rbp), %xmm0
leaq -0x30(%rbp), %rsi
movl $0x63, %edx
callq 0x31e0
movslq -0x8(%rbp), %rax
leaq 0xffce(%rip), %rdi      # 0x139a0
imulq $0x34, %rax, %rax
addq %rax, %rdi
addq $0x1c, %rdi
movss -0x10(%rbp), %xmm0
leaq -0x30(%rbp), %rsi
movl $0x62, %edx
callq 0x31e0
movl $0xf, %edi
movl $0x16, %esi
callq 0x69f0
movslq -0xc(%rbp), %rax
leaq 0xff96(%rip), %rdi      # 0x139a0
addq $0x57c, %rdi            # imm = 0x57C
imulq $0x34, %rax, %rax
addq %rax, %rdi
addq $0x14, %rdi
movss -0x14(%rbp), %xmm0
leaq -0x2c(%rbp), %rsi
movl $0x74, %edx
callq 0x31e0
movslq -0xc(%rbp), %rax
leaq 0xff66(%rip), %rdi      # 0x139a0
addq $0x57c, %rdi            # imm = 0x57C
imulq $0x34, %rax, %rax
addq %rax, %rdi
addq $0x10, %rdi
movss -0x14(%rbp), %xmm0
leaq -0x2c(%rbp), %rsi
movl $0x73, %edx
callq 0x31e0
movslq -0xc(%rbp), %rax
leaq 0xff36(%rip), %rdi      # 0x139a0
addq $0x57c, %rdi            # imm = 0x57C
imulq $0x34, %rax, %rax
addq %rax, %rdi
addq $0x18, %rdi
movss -0x14(%rbp), %xmm0
leaq -0x2c(%rbp), %rsi
movl $0x63, %edx
callq 0x31e0
movslq -0xc(%rbp), %rax
leaq 0xff06(%rip), %rdi      # 0x139a0
addq $0x57c, %rdi            # imm = 0x57C
imulq $0x34, %rax, %rax
addq %rax, %rdi
addq $0x1c, %rdi
movss -0x14(%rbp), %xmm0
leaq -0x2c(%rbp), %rsi
movl $0x62, %edx
callq 0x31e0
xorl %eax, %eax
cmpl $0x0, -0xa8(%rbp)
movb %al, -0xab(%rbp)
jne 0x3aeb
xorl %eax, %eax
cmpl $0x0, -0x30(%rbp)
movb %al, -0xab(%rbp)
je 0x3aeb
cmpl $0x0, -0x2c(%rbp)
setne %al
movb %al, -0xab(%rbp)
movb -0xab(%rbp), %al
testb $0x1, %al
jne 0x393d
cmpl $0x0, -0x30(%rbp)
je 0x3b1c
movl $0xf, %edi
movl $0x15, %esi
callq 0x69f0
leaq 0xa917(%rip), %rdi      # 0xe42c
movb $0x0, %al
callq 0x2030
cmpl $0x0, -0x2c(%rbp)
je 0x3b3f
movl $0xf, %edi
movl $0x16, %esi
callq 0x69f0
leaq 0xa8f4(%rip), %rdi      # 0xe42c
movb $0x0, %al
callq 0x2030
movl $0x0, -0xa8(%rbp)
movl -0x8(%rbp), %edi
movl -0xc(%rbp), %esi
leaq -0x10(%rbp), %rdx
leaq -0x14(%rbp), %rcx
leaq -0x18(%rbp), %r8
callq 0x2700
cmpl $0x0, -0x18(%rbp)
je 0x4101
movl -0x4(%rbp), %edx
xorl %edi, %edi
leaq -0x20(%rbp), %rsi
callq 0x2e80
movslq -0xc(%rbp), %rcx
leaq 0xfe1d(%rip), %rax      # 0x139a0
addq $0x57c, %rax            # imm = 0x57C
imulq $0x34, %rcx, %rcx
addq %rcx, %rax
cmpl $0x0, 0x18(%rax)
jg 0x3bb8
movslq -0xc(%rbp), %rcx
leaq 0xfdff(%rip), %rax      # 0x139a0
addq $0x57c, %rax            # imm = 0x57C
imulq $0x34, %rcx, %rcx
addq %rcx, %rax
cmpl $0x0, 0x1c(%rax)
jle 0x3ce1
movslq -0x8(%rbp), %rcx
leaq 0xfddd(%rip), %rax      # 0x139a0
imulq $0x34, %rcx, %rcx
addq %rcx, %rax
movl 0x14(%rax), %ecx
movslq -0x20(%rbp), %rdx
leaq 0xfdc8(%rip), %rax      # 0x139a0
imulq $0x34, %rdx, %rdx
addq %rdx, %rax
movl %ecx, 0x14(%rax)
movslq -0x8(%rbp), %rcx
leaq 0xfdb3(%rip), %rax      # 0x139a0
imulq $0x34, %rcx, %rcx
addq %rcx, %rax
movl 0x10(%rax), %ecx
movslq -0x20(%rbp), %rdx
leaq 0xfd9e(%rip), %rax      # 0x139a0
imulq $0x34, %rdx, %rdx
addq %rdx, %rax
movl %ecx, 0x10(%rax)
leaq -0x4(%rbp), %rdi
leaq -0x34(%rbp), %rsi
leaq -0x38(%rbp), %rdx
callq 0x2380
movss -0x10(%rbp), %xmm0
cvtss2sd %xmm0, %xmm1
movsd 0xa692(%rip), %xmm0     # 0xe2c0
ucomisd %xmm1, %xmm0
jbe 0x3c3a
cmpl $0x1e, -0x34(%rbp)
jl 0x3c8b
movss -0x10(%rbp), %xmm0
cvtss2sd %xmm0, %xmm1
movsd 0xa67d(%rip), %xmm0     # 0xe2c8
ucomisd %xmm1, %xmm0
jbe 0x3c57
cmpl $0x1, -0x38(%rbp)
je 0x3c8b
movss -0x10(%rbp), %xmm0
cvtss2sd %xmm0, %xmm1
movsd 0xa668(%rip), %xmm0     # 0xe2d0
ucomisd %xmm1, %xmm0
jbe 0x3c74
cmpl $0x3c, -0x34(%rbp)
jl 0x3c8b
movss -0x10(%rbp), %xmm0
cvtss2sd %xmm0, %xmm1
movsd 0xa653(%rip), %xmm0     # 0xe2d8
ucomisd %xmm1, %xmm0
jbe 0x3cdf
movslq -0x8(%rbp), %rcx
leaq 0xfd0a(%rip), %rax      # 0x139a0
imulq $0x34, %rcx, %rcx
addq %rcx, %rax
movl 0x18(%rax), %ecx
movslq -0x20(%rbp), %rdx
leaq 0xfcf5(%rip), %rax      # 0x139a0
imulq $0x34, %rdx, %rdx
addq %rdx, %rax
movl %ecx, 0x18(%rax)
movslq -0x8(%rbp), %rcx
leaq 0xfce0(%rip), %rax      # 0x139a0
imulq $0x34, %rcx, %rcx
addq %rcx, %rax
movl 0x1c(%rax), %ecx
movslq -0x20(%rbp), %rdx
leaq 0xfccb(%rip), %rax      # 0x139a0
imulq $0x34, %rdx, %rdx
addq %rdx, %rax
movl %ecx, 0x1c(%rax)
jmp 0x3ce1
movslq -0x20(%rbp), %rcx
leaq 0xfcb4(%rip), %rax      # 0x139a0
imulq $0x34, %rcx, %rcx
addq %rcx, %rax
movl 0x14(%rax), %eax
movslq -0x20(%rbp), %rdx
leaq 0xfc9f(%rip), %rcx      # 0x139a0
imulq $0x34, %rdx, %rdx
addq %rdx, %rcx
addl 0x10(%rcx), %eax
movslq -0x20(%rbp), %rdx
leaq 0xfc8a(%rip), %rcx      # 0x139a0
imulq $0x34, %rdx, %rdx
addq %rdx, %rcx
addl 0x18(%rcx), %eax
movslq -0x20(%rbp), %rdx
leaq 0xfc75(%rip), %rcx      # 0x139a0
imulq $0x34, %rdx, %rdx
addq %rdx, %rcx
addl 0x1c(%rcx), %eax
cmpl $0x0, %eax
jle 0x3e24
movl -0x4(%rbp), %edi
leaq -0xa0(%rbp), %rsi
leaq -0x1c(%rbp), %rdx
callq 0xa5f0
movl $0x15, %edi
callq 0x6a70
movl %eax, -0x3c(%rbp)
movslq -0x3c(%rbp), %rax
xorps %xmm0, %xmm0
ucomiss -0xa0(%rbp,%rax,4), %xmm0
jae 0x3d51
movl -0x3c(%rbp), %ecx
movslq -0x20(%rbp), %rdx
leaq 0xfc23(%rip), %rax      # 0x139a0
imulq $0x34, %rdx, %rdx
addq %rdx, %rax
movl %ecx, 0x20(%rax)
movslq -0x3c(%rbp), %rax
movss -0xa0(%rbp,%rax,4), %xmm0
cvtss2sd %xmm0, %xmm0
movsd 0xa540(%rip), %xmm1     # 0xe2e0
subsd %xmm1, %xmm0
leaq 0x1090d(%rip), %rax     # 0x146b8
cvtsi2sdl (%rax), %xmm1
divsd %xmm1, %xmm0
cvttsd2si %xmm0, %ecx
addl $0x1, %ecx
movslq -0x20(%rbp), %rdx
leaq 0xfbdb(%rip), %rax      # 0x139a0
imulq $0x34, %rdx, %rdx
addq %rdx, %rax
movl %ecx, 0x24(%rax)
movslq -0x4(%rbp), %rcx
leaq 0x106c6(%rip), %rax     # 0x144a0
imulq $0x18, %rcx, %rcx
addq %rcx, %rax
movl (%rax), %ecx
movslq -0x20(%rbp), %rdx
leaq 0xfbb2(%rip), %rax      # 0x139a0
imulq $0x34, %rdx, %rdx
addq %rdx, %rax
movl %ecx, 0x8(%rax)
movslq -0x4(%rbp), %rcx
leaq 0x1069d(%rip), %rax     # 0x144a0
imulq $0x18, %rcx, %rcx
addq %rcx, %rax
movl 0x4(%rax), %ecx
movslq -0x20(%rbp), %rdx
leaq 0xfb88(%rip), %rax      # 0x139a0
imulq $0x34, %rdx, %rdx
addq %rdx, %rax
movl %ecx, 0xc(%rax)
jmp 0x3e3d
movslq -0x20(%rbp), %rcx
leaq 0xfb71(%rip), %rax      # 0x139a0
imulq $0x34, %rcx, %rcx
addq %rcx, %rax
movl $0x0, 0x20(%rax)
movl $0x0, -0xa4(%rbp)
movl $0x1, %edi
movl $0x12, %esi
movl %esi, -0xbc(%rbp)
callq 0x69f0
leaq 0xa5d0(%rip), %rdi      # 0xe433
xorl %eax, %eax
callq 0x2030
movl -0xbc(%rbp), %esi
movl $0x3, %edi
callq 0x69f0
leaq -0x25(%rbp), %rdi
callq 0xa480
movsbl -0x25(%rbp), %eax
addl $-0x20, %eax
movl %eax, %ecx
movq %rcx, -0xb8(%rbp)
subl $0x37, %eax
ja 0x3f30
movq -0xb8(%rbp), %rax
leaq 0xa43e(%rip), %rcx      # 0xe2e8
movslq (%rcx,%rax,4), %rax
addq %rcx, %rax
jmpq *%rax
callq 0x8b40
jmp 0x3f3e
movl $0x2, %edi
callq 0xa970
jmp 0x3f3e
callq 0x5470
jmp 0x3f3e
callq 0x5560
jmp 0x3f3e
callq 0x5170
jmp 0x3f3e
jmp 0x3f3e
callq 0xb5d0
jmp 0x3f3e
movl -0x8(%rbp), %edi
movl -0xc(%rbp), %esi
leaq -0x10(%rbp), %rdx
leaq -0x14(%rbp), %rcx
leaq -0x18(%rbp), %r8
callq 0x2700
jmp 0x3f3e
movl -0x4(%rbp), %edi
movl -0xc(%rbp), %esi
callq 0x4160
movl -0x8(%rbp), %edi
movl -0xc(%rbp), %esi
leaq -0x10(%rbp), %rdx
leaq -0x14(%rbp), %rcx
leaq -0x18(%rbp), %r8
callq 0x2700
jmp 0x3f3e
movl $0x1, -0xa4(%rbp)
jmp 0x3f3e
leaq 0xadc3(%rip), %rdi      # 0xecfa
movb $0x0, %al
callq 0x2030
jmp 0x3f40
xorl %eax, %eax
cmpl $0x0, -0xa4(%rbp)
movb %al, -0xbd(%rbp)
jne 0x3f5e
cmpl $0x0, -0x18(%rbp)
setne %al
movb %al, -0xbd(%rbp)
movb -0xbd(%rbp), %al
testb $0x1, %al
jne 0x3e47
movl -0x20(%rbp), %esi
xorl %edi, %edi
callq 0x4280
movl -0xc(%rbp), %esi
movl $0x1, %edi
callq 0x4280
movslq -0x20(%rbp), %rcx
leaq 0xfa12(%rip), %rax      # 0x139a0
imulq $0x34, %rcx, %rcx
addq %rcx, %rax
cmpl $0x0, 0x20(%rax)
je 0x40ff
movl $0x1, %edi
movl $0x17, %esi
callq 0x69f0
leaq 0xa49d(%rip), %rdi      # 0xe452
movb $0x0, %al
callq 0x2030
movl $0xe, %edi
movl $0x17, %esi
callq 0x69f0
movslq -0x20(%rbp), %rax
leaq 0xf9ca(%rip), %rdi      # 0x139a0
imulq $0x34, %rax, %rax
addq %rax, %rdi
callq 0x2b00
movslq -0x8(%rbp), %rcx
leaq 0xf9b3(%rip), %rax      # 0x139a0
imulq $0x34, %rcx, %rcx
addq %rcx, %rax
movl 0x14(%rax), %ecx
movslq -0x20(%rbp), %rdx
leaq 0xf99e(%rip), %rax      # 0x139a0
imulq $0x34, %rdx, %rdx
addq %rdx, %rax
subl 0x14(%rax), %ecx
movslq -0x8(%rbp), %rdx
leaq 0xf989(%rip), %rax      # 0x139a0
imulq $0x34, %rdx, %rdx
addq %rdx, %rax
movl %ecx, 0x14(%rax)
movslq -0x8(%rbp), %rcx
leaq 0xf974(%rip), %rax      # 0x139a0
imulq $0x34, %rcx, %rcx
addq %rcx, %rax
movl 0x10(%rax), %ecx
movslq -0x20(%rbp), %rdx
leaq 0xf95f(%rip), %rax      # 0x139a0
imulq $0x34, %rdx, %rdx
addq %rdx, %rax
subl 0x10(%rax), %ecx
movslq -0x8(%rbp), %rdx
leaq 0xf94a(%rip), %rax      # 0x139a0
imulq $0x34, %rdx, %rdx
addq %rdx, %rax
movl %ecx, 0x10(%rax)
movslq -0x8(%rbp), %rcx
leaq 0xf935(%rip), %rax      # 0x139a0
imulq $0x34, %rcx, %rcx
addq %rcx, %rax
movl 0x18(%rax), %ecx
movslq -0x20(%rbp), %rdx
leaq 0xf920(%rip), %rax      # 0x139a0
imulq $0x34, %rdx, %rdx
addq %rdx, %rax
subl 0x18(%rax), %ecx
movslq -0x8(%rbp), %rdx
leaq 0xf90b(%rip), %rax      # 0x139a0
imulq $0x34, %rdx, %rdx
addq %rdx, %rax
movl %ecx, 0x18(%rax)
movslq -0x8(%rbp), %rcx
leaq 0xf8f6(%rip), %rax      # 0x139a0
imulq $0x34, %rcx, %rcx
addq %rcx, %rax
movl 0x1c(%rax), %ecx
movslq -0x20(%rbp), %rdx
leaq 0xf8e1(%rip), %rax      # 0x139a0
imulq $0x34, %rdx, %rdx
addq %rdx, %rax
subl 0x1c(%rax), %ecx
movslq -0x8(%rbp), %rdx
leaq 0xf8cc(%rip), %rax      # 0x139a0
imulq $0x34, %rdx, %rdx
addq %rdx, %rax
movl %ecx, 0x1c(%rax)
movl -0x8(%rbp), %esi
xorl %edi, %edi
callq 0x4280
movl -0x8(%rbp), %edi
movl -0xc(%rbp), %esi
leaq -0x10(%rbp), %rdx
leaq -0x14(%rbp), %rcx
leaq -0x18(%rbp), %r8
callq 0x2700
jmp 0x4101
jmp 0x38b3
movl -0x8(%rbp), %esi
xorl %edi, %edi
callq 0x4280
movl -0xc(%rbp), %esi
movl $0x1, %edi
callq 0x4280
movl -0x4(%rbp), %edi
callq 0x5620
movslq -0x4(%rbp), %rcx
leaq 0x10370(%rip), %rax     # 0x144a0
imulq $0x18, %rcx, %rcx
addq %rcx, %rax
movl (%rax), %edi
movslq -0x4(%rbp), %rcx
leaq 0x1035c(%rip), %rax     # 0x144a0
imulq $0x18, %rcx, %rcx
addq %rcx, %rax
movl 0x4(%rax), %esi
callq 0xaa50
addq $0xc0, %rsp
popq %rbp
retq
nopl (%rax)