// File: TooruAkagi[P]GCIS_Index/gcis_nep_locate.cpp
// Function: findupsintop(unsigned int*, int*, int*, int, int, int*, int*, int*, int*, int*, int)
int findupsintop(unsigned int *D,int *D_2,int *D_3,int startm,int mrlen,int *B1,int *B2,int *B3,int *Ls,int *Rs,int count){ //一番上の階層まで来てもまだ見つからない例があるなら全力で対処する
    if(DEBUGFLAG==1){
        printf("\nfround(%d)まで到達[%d] / 探すもの[%d]\n",fround,count,occart2[fround-1][2]);
        alldr(D,D_2,D_3,occart2[fround-1][2],fround-1);
        for(int i = 0; i<10; i++){printf("[%d]",occart2[fround-1][i]);}
    }
    int len = 0;
    int tg = occart2[fround-1][2];
    int ofs = occart2[fround-1][3];
    for(int y1 = 0;y1<NSsize;y1++){
        if(len < 82134000 && len>82124000){
            if(DEBUGFLAG==1){
                printf("\n[%d]",y1);
                printf("%d(+%d [%d])",len,D_3[NS[y1]+dc2s[fround-1]],NS[y1]+dc2s[fround-1]);
             }
        }
        if(NS[y1]+dc2s[fround-1]==tg){
            if(DEBUGFLAG==1){printf("\nコア(単独)を発見%d(+%d)",len+ofs,ofs);}
            //coreans++;
            for(int i = 0; i<10; i++){occart2[fround][i] = occart2[fround-1][i];} //コアを見つけたら下階層からゲット
            if(DEBUGFLAG==1){
                printf("\n最初 → ");
                for(int i = 0; i<10; i++){printf("[%d]",occart2[fround][i]);}
            }
            if(y1>0 && occart2[fround][0]<0){ //左が埋まっていなくて，かつ左があるなら
                if(occart2[fround][1] == -1){ //2つとも埋まっていないなら
                    occart2[fround][1] = NS[y1-1]+dc2s[fround-1];
                    if(y1>1){occart2[fround][0] = NS[y1-2]+dc2s[fround-1];}
                    if(occart2[fround][7]%2==0){
                        if(coreAcheck(D,D_2,fround-1,count,fround,startm)==-1){
                            if(DEBUGFLAG==1){printf("Aコアミスマッチ");}
                            len+= D_3[NS[y1]+dc2s[fround-1]];
                            continue;
                        }
                        else{occart2[fround][7]++;}//1文字は入れたんだから0が帰ってきていればAはもう探し終わっている
                    }
                    else{leftopennd(D,D_2,D_3,fround-1,count,fround);}
                }
                else{ //1つ埋まっていないなら
                    occart2[fround][0] = NS[y1-1]+dc2s[fround-1];
                    leftopen(D,D_2,D_3,fround-1,count,fround);
                }
            }
            if(y1<NSsize && occart2[fround][6]<0){ //右が埋まっていなくて，かつ右があるなら
                if(occart2[fround][5]==-1){ //2文字埋まってないなら
                        if(occart2[fround][4]==-1){ //3文字埋まってないなら
                            occart2[fround][4] = NS[y1+1]+dc2s[fround-1];
                            if(y1+2<NSsize){occart2[fround][5] = NS[y1+2]+dc2s[fround-1];}
                            if(y1+3<NSsize){occart2[fround][6] = NS[y1+3]+dc2s[fround-1];}
                            if(occart2[fround][7]/2<1){
                                if(coreCcheck(D,D_2,fround-1,count,fround)==-1){
                                    if(DEBUGFLAG==1){printf("\nCコアミスマッチ[top内]");}
                                    len+= D_3[NS[y1]+dc2s[fround-1]];
                                    continue;
                                }
                            } //Cコアがあるなら調べる
                            else{rightopennd3(D,D_2,fround-1,count,fround,3);} //3文字count回解体
                        }
                        else{
                            occart2[fround][5] = NS[y1+1]+dc2s[fround-1];
                            if(y1+2<NSsize){occart2[fround][6] = NS[y1+2]+dc2s[fround-1];}
                            rightopennd3(D,D_2,fround-1,count,fround,2);
                        }
                    }
                    else{ //1つだけ
                        occart2[fround][6] = NS[y1+1]+dc2s[fround-1];
                        rightopennd3(D,D_2,fround-1,count,fround,1);
                    }
            }
            if(DEBUGFLAG==1){
                printf("\nこうなる → ");
                for(int i = 0; i<10; i++){printf("[%d]",occart2[fround][i]);}
            }
            //occart2[round][6]> -1 && occart2[round][0] > -1 ?
            //printf("\n[早速チェック]");
            int e2[2] = {occart2[fround][1],occart2[fround][0]};
            int tk = rpsck(D,D_2,Ls,B1,e2,fround-count-1);
            //if(tk==-1){printf("\nこれはコアではない");}
            if(tk==0){
                int e[3] = {occart2[fround][4],occart2[fround][5],occart2[fround][6]};
                tk = psck(D,D_2,Rs,B2,e,fround-count-1);
                    //if(tk==-1){printf("\nこれはコアではない");}
                if(tk==0){ //左右も完璧に合ってた
                    if(DEBUGFLAG==1){printf("答え");}
                    printf(" %d",len+occart2[fround][3]);
                    if(len+occart2[fround][3]==94818246){printf("ここで強制終了\n");exit(0);}
                    if(ans<1000 && CHECKFLAG==1){checkans[ans]=len+occart2[fround][3];}
                    ans++;
                }
            }
            //exit(5);
        }
        len+= D_3[NS[y1]+dc2s[fround-1]];
        //if(len<100){printf("\n[.%d < %d + (%d)%d]",len,D_3[NS[y1]+dc2s[fround-1]],y1,NS[y1]+dc2s[fround-1]);
        //    alldr(D,D_2,D_3,NS[y1]+dc2s[fround-1],fround-1);
        //}
    }
    return 0;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x60, %rsp
movl 0x30(%rbp), %eax
movq 0x28(%rbp), %rax
movq 0x20(%rbp), %rax
movq 0x18(%rbp), %rax
movq 0x10(%rbp), %rax
movq %rdi, -0x8(%rbp)
movq %rsi, -0x10(%rbp)
movq %rdx, -0x18(%rbp)
movl %ecx, -0x1c(%rbp)
movl %r8d, -0x20(%rbp)
movq %r9, -0x28(%rbp)
movl $0x0, -0x2c(%rbp)
movl 0x90d9(%rip), %eax      # 0xd738
subl $0x1, %eax
movslq %eax, %rcx
leaq 0x8b14(%rip), %rax      # 0xd180
imulq $0x28, %rcx, %rcx
addq %rcx, %rax
movl 0x8(%rax), %eax
movl %eax, -0x30(%rbp)
movl 0x90b9(%rip), %eax      # 0xd738
subl $0x1, %eax
movslq %eax, %rcx
leaq 0x8af4(%rip), %rax      # 0xd180
imulq $0x28, %rcx, %rcx
addq %rcx, %rax
movl 0xc(%rax), %eax
movl %eax, -0x34(%rbp)
movl $0x0, -0x38(%rbp)
movl -0x38(%rbp), %eax
cmpl 0x9087(%rip), %eax      # 0xd730
jge 0x4e4d
cmpl $0x4e543f0, -0x2c(%rbp) # imm = 0x4E543F0
jge 0x46c3
cmpl $0x4e51ce0, -0x2c(%rbp) # imm = 0x4E51CE0
jle 0x46c3
jmp 0x46c3
movq 0x905e(%rip), %rax      # 0xd728
movslq -0x38(%rbp), %rcx
movl (%rax,%rcx,4), %eax
movl 0x9061(%rip), %ecx      # 0xd738
subl $0x1, %ecx
movslq %ecx, %rdx
leaq 0x8fcc(%rip), %rcx      # 0xd6b0
addl (%rcx,%rdx,4), %eax
cmpl -0x30(%rbp), %eax
jne 0x4e0b
movl $0x0, -0x3c(%rbp)
cmpl $0xa, -0x3c(%rbp)
jge 0x4745
movl 0x9035(%rip), %eax      # 0xd738
subl $0x1, %eax
movslq %eax, %rcx
leaq 0x8a70(%rip), %rax      # 0xd180
imulq $0x28, %rcx, %rcx
addq %rcx, %rax
movslq -0x3c(%rbp), %rcx
movl (%rax,%rcx,4), %edx
movslq 0x9013(%rip), %rcx      # 0xd738
leaq 0x8a54(%rip), %rax      # 0xd180
imulq $0x28, %rcx, %rcx
addq %rcx, %rax
movslq -0x3c(%rbp), %rcx
movl %edx, (%rax,%rcx,4)
movl -0x3c(%rbp), %eax
addl $0x1, %eax
movl %eax, -0x3c(%rbp)
jmp 0x46f7
cmpl $0x0, -0x38(%rbp)
jle 0x494c
movslq 0x8fe2(%rip), %rcx      # 0xd738
leaq 0x8a23(%rip), %rax      # 0xd180
imulq $0x28, %rcx, %rcx
addq %rcx, %rax
cmpl $0x0, (%rax)
jge 0x494c
movslq 0x8fc4(%rip), %rcx      # 0xd738
leaq 0x8a05(%rip), %rax      # 0xd180
imulq $0x28, %rcx, %rcx
addq %rcx, %rax
cmpl $-0x1, 0x4(%rax)
jne 0x48e5
movq 0x8f95(%rip), %rax      # 0xd728
movl -0x38(%rbp), %ecx
subl $0x1, %ecx
movslq %ecx, %rcx
movl (%rax,%rcx,4), %ecx
movl 0x8f93(%rip), %eax      # 0xd738
subl $0x1, %eax
movslq %eax, %rdx
leaq 0x8efe(%rip), %rax      # 0xd6b0
addl (%rax,%rdx,4), %ecx
movslq 0x8f7c(%rip), %rdx      # 0xd738
leaq 0x89bd(%rip), %rax      # 0xd180
imulq $0x28, %rdx, %rdx
addq %rdx, %rax
movl %ecx, 0x4(%rax)
cmpl $0x1, -0x38(%rbp)
jle 0x4813
movq 0x8f4e(%rip), %rax      # 0xd728
movl -0x38(%rbp), %ecx
subl $0x2, %ecx
movslq %ecx, %rcx
movl (%rax,%rcx,4), %ecx
movl 0x8f4c(%rip), %eax      # 0xd738
subl $0x1, %eax
movslq %eax, %rdx
leaq 0x8eb7(%rip), %rax      # 0xd6b0
addl (%rax,%rdx,4), %ecx
movslq 0x8f35(%rip), %rdx      # 0xd738
leaq 0x8976(%rip), %rax      # 0xd180
imulq $0x28, %rdx, %rdx
addq %rdx, %rax
movl %ecx, (%rax)
movslq 0x8f1e(%rip), %rcx      # 0xd738
leaq 0x895f(%rip), %rax      # 0xd180
imulq $0x28, %rcx, %rcx
addq %rcx, %rax
movl 0x1c(%rax), %eax
movl $0x2, %ecx
cltd
idivl %ecx
cmpl $0x0, %edx
jne 0x48be
movq -0x8(%rbp), %rdi
movq -0x10(%rbp), %rsi
movl 0x8eee(%rip), %edx      # 0xd738
subl $0x1, %edx
movl 0x30(%rbp), %ecx
movl 0x8ee1(%rip), %r8d      # 0xd738
movl -0x1c(%rbp), %r9d
callq 0x3de0
cmpl $-0x1, %eax
jne 0x489e
movq -0x18(%rbp), %rax
movq 0x8eb8(%rip), %rcx      # 0xd728
movslq -0x38(%rbp), %rdx
movl (%rcx,%rdx,4), %ecx
movl 0x8ebb(%rip), %edx      # 0xd738
subl $0x1, %edx
movslq %edx, %rsi
leaq 0x8e26(%rip), %rdx      # 0xd6b0
addl (%rdx,%rsi,4), %ecx
movslq %ecx, %rcx
movl (%rax,%rcx,4), %eax
addl -0x2c(%rbp), %eax
movl %eax, -0x2c(%rbp)
jmp 0x4e3f
movslq 0x8e93(%rip), %rcx      # 0xd738
leaq 0x88d4(%rip), %rax      # 0xd180
imulq $0x28, %rcx, %rcx
addq %rcx, %rax
movl 0x1c(%rax), %ecx
addl $0x1, %ecx
movl %ecx, 0x1c(%rax)
jmp 0x48e3
movq -0x8(%rbp), %rdi
movq -0x10(%rbp), %rsi
movq -0x18(%rbp), %rdx
movl 0x8e68(%rip), %ecx      # 0xd738
subl $0x1, %ecx
movl 0x30(%rbp), %r8d
movl 0x8e5a(%rip), %r9d      # 0xd738
callq 0x3c50
jmp 0x494a
movq 0x8e3c(%rip), %rax      # 0xd728
movl -0x38(%rbp), %ecx
subl $0x1, %ecx
movslq %ecx, %rcx
movl (%rax,%rcx,4), %ecx
movl 0x8e3a(%rip), %eax      # 0xd738
subl $0x1, %eax
movslq %eax, %rdx
leaq 0x8da5(%rip), %rax      # 0xd6b0
addl (%rax,%rdx,4), %ecx
movslq 0x8e23(%rip), %rdx      # 0xd738
leaq 0x8864(%rip), %rax      # 0xd180
imulq $0x28, %rdx, %rdx
addq %rdx, %rax
movl %ecx, (%rax)
movq -0x8(%rbp), %rdi
movq -0x10(%rbp), %rsi
movq -0x18(%rbp), %rdx
movl 0x8e01(%rip), %ecx      # 0xd738
subl $0x1, %ecx
movl 0x30(%rbp), %r8d
movl 0x8df3(%rip), %r9d      # 0xd738
callq 0x3b80
jmp 0x494c
movl -0x38(%rbp), %eax
cmpl 0x8ddb(%rip), %eax      # 0xd730
jge 0x4c68
movslq 0x8dd6(%rip), %rcx      # 0xd738
leaq 0x8817(%rip), %rax      # 0xd180
imulq $0x28, %rcx, %rcx
addq %rcx, %rax
cmpl $0x0, 0x18(%rax)
jge 0x4c68
movslq 0x8db7(%rip), %rcx      # 0xd738
leaq 0x87f8(%rip), %rax      # 0xd180
imulq $0x28, %rcx, %rcx
addq %rcx, %rax
cmpl $-0x1, 0x14(%rax)
jne 0x4bff
movslq 0x8d98(%rip), %rcx      # 0xd738
leaq 0x87d9(%rip), %rax      # 0xd180
imulq $0x28, %rcx, %rcx
addq %rcx, %rax
cmpl $-0x1, 0x10(%rax)
jne 0x4b47
movq 0x8d69(%rip), %rax      # 0xd728
movl -0x38(%rbp), %ecx
addl $0x1, %ecx
movslq %ecx, %rcx
movl (%rax,%rcx,4), %ecx
movl 0x8d67(%rip), %eax      # 0xd738
subl $0x1, %eax
movslq %eax, %rdx
leaq 0x8cd2(%rip), %rax      # 0xd6b0
addl (%rax,%rdx,4), %ecx
movslq 0x8d50(%rip), %rdx      # 0xd738
leaq 0x8791(%rip), %rax      # 0xd180
imulq $0x28, %rdx, %rdx
addq %rdx, %rax
movl %ecx, 0x10(%rax)
movl -0x38(%rbp), %eax
addl $0x2, %eax
cmpl 0x8d2b(%rip), %eax      # 0xd730
jge 0x4a48
movq 0x8d1a(%rip), %rax      # 0xd728
movl -0x38(%rbp), %ecx
addl $0x2, %ecx
movslq %ecx, %rcx
movl (%rax,%rcx,4), %ecx
movl 0x8d18(%rip), %eax      # 0xd738
subl $0x1, %eax
movslq %eax, %rdx
leaq 0x8c83(%rip), %rax      # 0xd6b0
addl (%rax,%rdx,4), %ecx
movslq 0x8d01(%rip), %rdx      # 0xd738
leaq 0x8742(%rip), %rax      # 0xd180
imulq $0x28, %rdx, %rdx
addq %rdx, %rax
movl %ecx, 0x14(%rax)
movl -0x38(%rbp), %eax
addl $0x3, %eax
cmpl 0x8cdc(%rip), %eax      # 0xd730
jge 0x4a97
movq 0x8ccb(%rip), %rax      # 0xd728
movl -0x38(%rbp), %ecx
addl $0x3, %ecx
movslq %ecx, %rcx
movl (%rax,%rcx,4), %ecx
movl 0x8cc9(%rip), %eax      # 0xd738
subl $0x1, %eax
movslq %eax, %rdx
leaq 0x8c34(%rip), %rax      # 0xd6b0
addl (%rax,%rdx,4), %ecx
movslq 0x8cb2(%rip), %rdx      # 0xd738
leaq 0x86f3(%rip), %rax      # 0xd180
imulq $0x28, %rdx, %rdx
addq %rdx, %rax
movl %ecx, 0x18(%rax)
movslq 0x8c9a(%rip), %rcx      # 0xd738
leaq 0x86db(%rip), %rax      # 0xd180
imulq $0x28, %rcx, %rcx
addq %rcx, %rax
movl 0x1c(%rax), %eax
movl $0x2, %ecx
cltd
idivl %ecx
cmpl $0x1, %eax
jge 0x4b1c
movq -0x8(%rbp), %rdi
movq -0x10(%rbp), %rsi
movl 0x8c6e(%rip), %edx      # 0xd738
subl $0x1, %edx
movl 0x30(%rbp), %ecx
movl 0x8c61(%rip), %r8d      # 0xd738
callq 0x3820
cmpl $-0x1, %eax
jne 0x4b1a
movq -0x18(%rbp), %rax
movq 0x8c3c(%rip), %rcx      # 0xd728
movslq -0x38(%rbp), %rdx
movl (%rcx,%rdx,4), %ecx
movl 0x8c3f(%rip), %edx      # 0xd738
subl $0x1, %edx
movslq %edx, %rsi
leaq 0x8baa(%rip), %rdx      # 0xd6b0
addl (%rdx,%rsi,4), %ecx
movslq %ecx, %rcx
movl (%rax,%rcx,4), %eax
addl -0x2c(%rbp), %eax
movl %eax, -0x2c(%rbp)
jmp 0x4e3f
jmp 0x4b42
movq -0x8(%rbp), %rdi
movq -0x10(%rbp), %rsi
movl 0x8c0e(%rip), %edx      # 0xd738
subl $0x1, %edx
movl 0x30(%rbp), %ecx
movl 0x8c01(%rip), %r8d      # 0xd738
movl $0x3, %r9d
callq 0x35e0
jmp 0x4bfd
movq 0x8bda(%rip), %rax      # 0xd728
movl -0x38(%rbp), %ecx
addl $0x1, %ecx
movslq %ecx, %rcx
movl (%rax,%rcx,4), %ecx
movl 0x8bd8(%rip), %eax      # 0xd738
subl $0x1, %eax
movslq %eax, %rdx
leaq 0x8b43(%rip), %rax      # 0xd6b0
addl (%rax,%rdx,4), %ecx
movslq 0x8bc1(%rip), %rdx      # 0xd738
leaq 0x8602(%rip), %rax      # 0xd180
imulq $0x28, %rdx, %rdx
addq %rdx, %rax
movl %ecx, 0x14(%rax)
movl -0x38(%rbp), %eax
addl $0x2, %eax
cmpl 0x8b9c(%rip), %eax      # 0xd730
jge 0x4bd7
movq 0x8b8b(%rip), %rax      # 0xd728
movl -0x38(%rbp), %ecx
addl $0x2, %ecx
movslq %ecx, %rcx
movl (%rax,%rcx,4), %ecx
movl 0x8b89(%rip), %eax      # 0xd738
subl $0x1, %eax
movslq %eax, %rdx
leaq 0x8af4(%rip), %rax      # 0xd6b0
addl (%rax,%rdx,4), %ecx
movslq 0x8b72(%rip), %rdx      # 0xd738
leaq 0x85b3(%rip), %rax      # 0xd180
imulq $0x28, %rdx, %rdx
addq %rdx, %rax
movl %ecx, 0x18(%rax)
movq -0x8(%rbp), %rdi
movq -0x10(%rbp), %rsi
movl 0x8b53(%rip), %edx      # 0xd738
subl $0x1, %edx
movl 0x30(%rbp), %ecx
movl 0x8b46(%rip), %r8d      # 0xd738
movl $0x2, %r9d
callq 0x35e0
jmp 0x4c66
movq 0x8b22(%rip), %rax      # 0xd728
movl -0x38(%rbp), %ecx
addl $0x1, %ecx
movslq %ecx, %rcx
movl (%rax,%rcx,4), %ecx
movl 0x8b20(%rip), %eax      # 0xd738
subl $0x1, %eax
movslq %eax, %rdx
leaq 0x8a8b(%rip), %rax      # 0xd6b0
addl (%rax,%rdx,4), %ecx
movslq 0x8b09(%rip), %rdx      # 0xd738
leaq 0x854a(%rip), %rax      # 0xd180
imulq $0x28, %rdx, %rdx
addq %rdx, %rax
movl %ecx, 0x18(%rax)
movq -0x8(%rbp), %rdi
movq -0x10(%rbp), %rsi
movl 0x8aea(%rip), %edx      # 0xd738
subl $0x1, %edx
movl 0x30(%rbp), %ecx
movl 0x8add(%rip), %r8d      # 0xd738
movl $0x1, %r9d
callq 0x35e0
jmp 0x4c68
movslq 0x8ac9(%rip), %rcx      # 0xd738
leaq 0x850a(%rip), %rax      # 0xd180
imulq $0x28, %rcx, %rcx
addq %rcx, %rax
movl 0x4(%rax), %eax
movl %eax, -0x44(%rbp)
movslq 0x8aae(%rip), %rcx      # 0xd738
leaq 0x84ef(%rip), %rax      # 0xd180
imulq $0x28, %rcx, %rcx
addq %rcx, %rax
movl (%rax), %eax
movl %eax, -0x40(%rbp)
movq -0x8(%rbp), %rdi
movq -0x10(%rbp), %rsi
movq 0x20(%rbp), %rdx
movq -0x28(%rbp), %rcx
leaq -0x44(%rbp), %r8
movl 0x8a80(%rip), %r9d      # 0xd738
subl 0x30(%rbp), %r9d
subl $0x1, %r9d
callq 0x27e0
movl %eax, -0x48(%rbp)
cmpl $0x0, -0x48(%rbp)
jne 0x4e09
movslq 0x8a5f(%rip), %rcx      # 0xd738
leaq 0x84a0(%rip), %rax      # 0xd180
imulq $0x28, %rcx, %rcx
addq %rcx, %rax
movl 0x10(%rax), %eax
movl %eax, -0x54(%rbp)
movslq 0x8a44(%rip), %rcx      # 0xd738
leaq 0x8485(%rip), %rax      # 0xd180
imulq $0x28, %rcx, %rcx
addq %rcx, %rax
movl 0x14(%rax), %eax
movl %eax, -0x50(%rbp)
movslq 0x8a29(%rip), %rcx      # 0xd738
leaq 0x846a(%rip), %rax      # 0xd180
imulq $0x28, %rcx, %rcx
addq %rcx, %rax
movl 0x18(%rax), %eax
movl %eax, -0x4c(%rbp)
movq -0x8(%rbp), %rdi
movq -0x10(%rbp), %rsi
movq 0x28(%rbp), %rdx
movq 0x10(%rbp), %rcx
leaq -0x54(%rbp), %r8
movl 0x89fa(%rip), %r9d      # 0xd738
subl 0x30(%rbp), %r9d
subl $0x1, %r9d
callq 0x2ae0
movl %eax, -0x48(%rbp)
cmpl $0x0, -0x48(%rbp)
jne 0x4e07
movl -0x2c(%rbp), %esi
movslq 0x89d6(%rip), %rcx      # 0xd738
leaq 0x8417(%rip), %rax      # 0xd180
imulq $0x28, %rcx, %rcx
addq %rcx, %rax
addl 0xc(%rax), %esi
leaq 0x43f3(%rip), %rdi      # 0x916d
movb $0x0, %al
callq 0x2030
movl -0x2c(%rbp), %eax
movslq 0x89ad(%rip), %rdx      # 0xd738
leaq 0x83ee(%rip), %rcx      # 0xd180
imulq $0x28, %rdx, %rdx
addq %rdx, %rcx
addl 0xc(%rcx), %eax
cmpl $0x5a6cfc6, %eax        # imm = 0x5A6CFC6
jne 0x4db8
leaq 0x43c7(%rip), %rdi      # 0x9171
movb $0x0, %al
callq 0x2030
xorl %edi, %edi
callq 0x2190
cmpl $0x3e8, 0x893e(%rip)    # imm = 0x3E8
jge 0x4df8
xorl %eax, %eax
testb $0x1, %al
jne 0x4dcc
jmp 0x4df8
movl -0x2c(%rbp), %edx
movslq 0x8962(%rip), %rcx      # 0xd738
leaq 0x83a3(%rip), %rax      # 0xd180
imulq $0x28, %rcx, %rcx
addq %rcx, %rax
addl 0xc(%rax), %edx
movslq 0x8912(%rip), %rcx      # 0xd700
leaq 0x739b(%rip), %rax      # 0xc190
movl %edx, (%rax,%rcx,4)
movl 0x8902(%rip), %eax      # 0xd700
addl $0x1, %eax
movl %eax, 0x88f9(%rip)      # 0xd700
jmp 0x4e09
jmp 0x4e0b
movq -0x18(%rbp), %rax
movq 0x8912(%rip), %rcx      # 0xd728
movslq -0x38(%rbp), %rdx
movl (%rcx,%rdx,4), %ecx
movl 0x8915(%rip), %edx      # 0xd738
subl $0x1, %edx
movslq %edx, %rsi
leaq 0x8880(%rip), %rdx      # 0xd6b0
addl (%rdx,%rsi,4), %ecx
movslq %ecx, %rcx
movl (%rax,%rcx,4), %eax
addl -0x2c(%rbp), %eax
movl %eax, -0x2c(%rbp)
movl -0x38(%rbp), %eax
addl $0x1, %eax
movl %eax, -0x38(%rbp)
jmp 0x46a0
xorl %eax, %eax
addq $0x60, %rsp
popq %rbp
retq
nopw %cs:(%rax,%rax)