// File: /workspace/github_c_makefile_star2_O0/SimpleDoger[P]Darknet_CPU_Only/go.c
// Function: engine_go
void engine_go(char *filename, char *weightfile, int mcts_iters, float secs, float temp, float cpuct, int anon, int resign)
{
    mcts_tree *root = 0;
    network *net = load_network(filename, weightfile, 0);
    set_batch_network(net, 1);
    srand(time(0));
    float *board = calloc(19*19*3, sizeof(float));
    flip_board(board);
    float *one = calloc(19*19*3, sizeof(float));
    float *two = calloc(19*19*3, sizeof(float));
    int ponder_player = 0;
    int passed = 0;
    int move_num = 0;
    int main_time = 0;
    int byo_yomi_time = 0;
    int byo_yomi_stones = 0;
    int black_time_left = 0;
    int black_stones_left = 0;
    int white_time_left = 0;
    int white_stones_left = 0;
    float orig_time = secs;
    int old_ponder = 0;
    while(1){
        if(ponder_player){
            root = ponder(root, net, board, two, ponder_player, cpuct);
        }
        old_ponder = ponder_player;
        ponder_player = 0;
        char buff[256];
        int id = 0;
        int has_id = (scanf("%d", &id) == 1);
        scanf("%s", buff);
        if (feof(stdin)) break;
        fprintf(stderr, "%s\n", buff);
        char ids[256];
        sprintf(ids, "%d", id);
        //fprintf(stderr, "%s\n", buff);
        if (!has_id) ids[0] = 0;
        if (!strcmp(buff, "protocol_version")){
            printf("=%s 2\n\n", ids);
        } else if (!strcmp(buff, "name")){
            if(anon){
                printf("=%s The Fool!\n\n", ids);
            }else{
                printf("=%s DarkGo\n\n", ids);
            }
        } else if (!strcmp(buff, "time_settings")){
            ponder_player = old_ponder;
            scanf("%d %d %d", &main_time, &byo_yomi_time, &byo_yomi_stones);
            printf("=%s \n\n", ids);
        } else if (!strcmp(buff, "time_left")){
            ponder_player = old_ponder;
            char color[256];
            int time = 0, stones = 0;
            scanf("%s %d %d", color, &time, &stones);
            if (color[0] == 'b' || color[0] == 'B'){
                black_time_left = time;
                black_stones_left = stones;
            } else {
                white_time_left = time;
                white_stones_left = stones;
            }
            printf("=%s \n\n", ids);
        } else if (!strcmp(buff, "version")){
            if(anon){
                printf("=%s :-DDDD\n\n", ids);
            }else {
                printf("=%s 1.0. Want more DarkGo? You can find me on OGS, unlimited games, no waiting! https://online-go.com/user/view/434218\n\n", ids);
            }
        } else if (!strcmp(buff, "known_command")){
            char comm[256];
            scanf("%s", comm);
            int known = (!strcmp(comm, "protocol_version") || 
                    !strcmp(comm, "name") || 
                    !strcmp(comm, "version") || 
                    !strcmp(comm, "known_command") || 
                    !strcmp(comm, "list_commands") || 
                    !strcmp(comm, "quit") || 
                    !strcmp(comm, "boardsize") || 
                    !strcmp(comm, "clear_board") || 
                    !strcmp(comm, "komi") || 
                    !strcmp(comm, "final_status_list") || 
                    !strcmp(comm, "play") || 
                    !strcmp(comm, "genmove_white") || 
                    !strcmp(comm, "genmove_black") || 
                    !strcmp(comm, "fixed_handicap") || 
                    !strcmp(comm, "genmove"));
            if(known) printf("=%s true\n\n", ids);
            else printf("=%s false\n\n", ids);
        } else if (!strcmp(buff, "list_commands")){
            printf("=%s protocol_version\nshowboard\nname\nversion\nknown_command\nlist_commands\nquit\nboardsize\nclear_board\nkomi\nplay\ngenmove_black\ngenmove_white\ngenmove\nfinal_status_list\nfixed_handicap\n\n", ids);
        } else if (!strcmp(buff, "quit")){
            break;
        } else if (!strcmp(buff, "boardsize")){
            int boardsize = 0;
            scanf("%d", &boardsize);
            //fprintf(stderr, "%d\n", boardsize);
            if(boardsize != 19){
                printf("?%s unacceptable size\n\n", ids);
            } else {
                root = move_mcts(root, -1);
                memset(board, 0, 3*19*19*sizeof(float));
                flip_board(board);
                move_num = 0;
                printf("=%s \n\n", ids);
            }
        } else if (!strcmp(buff, "fixed_handicap")){
            int handicap = 0;
            scanf("%d", &handicap);
            int indexes[] = {72, 288, 300, 60, 180, 174, 186, 66, 294};
            int i;
            for(i = 0; i < handicap; ++i){
                board[indexes[i]] = 1;   
                ++move_num;
            }
            root = move_mcts(root, -1);
        } else if (!strcmp(buff, "clear_board")){
            passed = 0;
            memset(board, 0, 3*19*19*sizeof(float));
            flip_board(board);
            move_num = 0;
            root = move_mcts(root, -1);
            printf("=%s \n\n", ids);
        } else if (!strcmp(buff, "komi")){
            float komi = 0;
            scanf("%f", &komi);
            printf("=%s \n\n", ids);
        } else if (!strcmp(buff, "showboard")){
            printf("=%s \n", ids);
            print_board(stdout, board, 1, 0);
            printf("\n");
        } else if (!strcmp(buff, "play") || !strcmp(buff, "black") || !strcmp(buff, "white")){
            ++move_num;
            char color[256];
            if(!strcmp(buff, "play"))
            {
                scanf("%s ", color);
            } else {
                scanf(" ");
                color[0] = buff[0];
            }
            char c;
            int r;
            int count = scanf("%c%d", &c, &r);
            int player = (color[0] == 'b' || color[0] == 'B') ? 1 : -1;
            if((c == 'p' || c == 'P') && count < 2) {
                passed = 1;
                printf("=%s \n\n", ids);
                char *line = fgetl(stdin);
                free(line);
                fflush(stdout);
                fflush(stderr);
                root = move_mcts(root, 19*19);
                continue;
            } else {
                passed = 0;
            }
            if(c >= 'A' && c <= 'Z') c = c - 'A';
            if(c >= 'a' && c <= 'z') c = c - 'a';
            if(c >= 8) --c;
            r = 19 - r;
            fprintf(stderr, "move: %d %d\n", r, c);

            float *swap = two;
            two = one;
            one = swap;
            move_go(board, player, r, c);
            copy_cpu(19*19*3, board, 1, one, 1);
            if(root) fprintf(stderr, "Prior: %f\n", root->prior[r*19 + c]);
            if(root) fprintf(stderr, "Mean: %f\n", root->mean[r*19 + c]);
            if(root) fprintf(stderr, "Result: %f\n", root->result);
            root = move_mcts(root, r*19 + c);
            if(root) fprintf(stderr, "Visited: %d\n", root->total_count);
            else fprintf(stderr, "NOT VISITED\n");

            printf("=%s \n\n", ids);
            //print_board(stderr, board, 1, 0);
        } else if (!strcmp(buff, "genmove") || !strcmp(buff, "genmove_black") || !strcmp(buff, "genmove_white")){
            ++move_num;
            int player = 0;
            if(!strcmp(buff, "genmove")){
                char color[256];
                scanf("%s", color);
                player = (color[0] == 'b' || color[0] == 'B') ? 1 : -1;
            } else if (!strcmp(buff, "genmove_black")){
                player = 1;
            } else {
                player = -1;
            }
            if(player > 0){
                if(black_time_left <= 30) secs = 2.5;
                else secs = orig_time;
            } else {
                if(white_time_left <= 30) secs = 2.5;
                else secs = orig_time;
            }
            ponder_player = -player;

            //tree = generate_move(net, player, board, multi, .1, two, 1);
            double t = what_time_is_it_now();
            root = run_mcts(root, net, board, two, player, mcts_iters, cpuct, secs);
            fprintf(stderr, "%f Seconds\n", what_time_is_it_now() - t);
            move m = pick_move(root, temp, player);
            root = move_mcts(root, m.row*19 + m.col);


            if(move_num > resign && m.value < .1 && m.mcts < .1){
                printf("=%s resign\n\n", ids);
            } else if(m.row == 19){
                printf("=%s pass\n\n", ids);
                passed = 0;
            } else {
                int row = m.row;
                int col = m.col;

                float *swap = two;
                two = one;
                one = swap;

                move_go(board, player, row, col);
                copy_cpu(19*19*3, board, 1, one, 1);
                row = 19 - row;
                if (col >= 8) ++col;
                printf("=%s %c%d\n\n", ids, 'A' + col, row);
            }

        } else if (!strcmp(buff, "p")){
            //print_board(board, 1, 0);
        } else if (!strcmp(buff, "final_status_list")){
            char type[256];
            scanf("%s", type);
            fprintf(stderr, "final_status\n");
            char *line = fgetl(stdin);
            free(line);
            if(type[0] == 'd' || type[0] == 'D'){
                int i;
                FILE *f = fopen("game.txt", "w");
                int count = print_game(board, f);
                fprintf(f, "%s final_status_list dead\n", ids);
                fclose(f);
                FILE *p = popen("./gnugo --mode gtp < game.txt", "r");
                for(i = 0; i < count; ++i){
                    free(fgetl(p));
                    free(fgetl(p));
                }
                char *l = 0;
                while((l = fgetl(p))){
                    printf("%s\n", l);
                    free(l);
                }
            } else {
                printf("?%s unknown command\n\n", ids);
            }
        } else if (!strcmp(buff, "kgs-genmove_cleanup")){
            char type[256];
            scanf("%s", type);
            fprintf(stderr, "kgs-genmove_cleanup\n");
            char *line = fgetl(stdin);
            free(line);
            int i;
            FILE *f = fopen("game.txt", "w");
            int count = print_game(board, f);
            fprintf(f, "%s kgs-genmove_cleanup %s\n", ids, type);
            fclose(f);
            FILE *p = popen("./gnugo --mode gtp < game.txt", "r");
            for(i = 0; i < count; ++i){
                free(fgetl(p));
                free(fgetl(p));
            }
            char *l = 0;
            while((l = fgetl(p))){
                printf("%s\n", l);
                free(l);
            }
        } else {
            char *line = fgetl(stdin);
            free(line);
            printf("?%s unknown command\n\n", ids);
        }
        fflush(stdout);
        fflush(stderr);
    }
    printf("%d %d %d\n",passed, black_stones_left, white_stones_left);
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x9c0, %rsp            # imm = 0x9C0
movq %rdi, -0x8(%rbp)
movq %rsi, -0x10(%rbp)
movl %edx, -0x14(%rbp)
movss %xmm0, -0x18(%rbp)
movss %xmm1, -0x1c(%rbp)
movss %xmm2, -0x20(%rbp)
movl %ecx, -0x24(%rbp)
movl %r8d, -0x28(%rbp)
movq $0x0, -0x30(%rbp)
movq -0x8(%rbp), %rdi
movq -0x10(%rbp), %rsi
xorl %edx, %edx
callq 0x39a70
movq %rax, -0x38(%rbp)
movq -0x38(%rbp), %rdi
movl $0x1, %esi
callq 0x3a9b0
xorl %eax, %eax
movl %eax, %edi
callq 0x3290
movl %eax, %edi
callq 0x31e0
movl $0x43b, %edi            # imm = 0x43B
movl $0x4, %esi
callq 0x3220
movq %rax, -0x40(%rbp)
movq -0x40(%rbp), %rdi
callq 0x59560
movl $0x43b, %edi            # imm = 0x43B
movl $0x4, %esi
callq 0x3220
movq %rax, -0x48(%rbp)
movl $0x43b, %edi            # imm = 0x43B
movl $0x4, %esi
callq 0x3220
movq %rax, -0x50(%rbp)
movl $0x0, -0x54(%rbp)
movl $0x0, -0x58(%rbp)
movl $0x0, -0x5c(%rbp)
movl $0x0, -0x60(%rbp)
movl $0x0, -0x64(%rbp)
movl $0x0, -0x68(%rbp)
movl $0x0, -0x6c(%rbp)
movl $0x0, -0x70(%rbp)
movl $0x0, -0x74(%rbp)
movl $0x0, -0x78(%rbp)
movss -0x18(%rbp), %xmm0
movss %xmm0, -0x7c(%rbp)
movl $0x0, -0x80(%rbp)
cmpl $0x0, -0x54(%rbp)
je 0x5b916
movq -0x30(%rbp), %rdi
movq -0x38(%rbp), %rsi
movq -0x40(%rbp), %rdx
movq -0x50(%rbp), %rcx
movl -0x54(%rbp), %r8d
movss -0x20(%rbp), %xmm0
callq 0x5b710
movq %rax, -0x30(%rbp)
movl -0x54(%rbp), %eax
movl %eax, -0x80(%rbp)
movl $0x0, -0x54(%rbp)
movl $0x0, -0x184(%rbp)
leaq 0x1ab85(%rip), %rdi     # 0x764b9
leaq -0x184(%rbp), %rsi
movb $0x0, %al
callq 0x33c0
cmpl $0x1, %eax
sete %al
andb $0x1, %al
movzbl %al, %eax
movl %eax, -0x188(%rbp)
leaq -0x180(%rbp), %rsi
leaq 0x18a0a(%rip), %rdi     # 0x7436b
movb $0x0, %al
callq 0x33c0
movq 0x27669(%rip), %rax     # 0x82fd8
movq (%rax), %rdi
callq 0x3260
cmpl $0x0, %eax
je 0x5b981
jmp 0x5cbe5
movq 0x27670(%rip), %rax     # 0x82ff8
movq (%rax), %rdi
leaq -0x180(%rbp), %rdx
leaq 0x18a04(%rip), %rsi     # 0x7439d
movb $0x0, %al
callq 0x3240
leaq -0x290(%rbp), %rdi
movl -0x184(%rbp), %edx
leaq 0x1ab05(%rip), %rsi     # 0x764b9
movb $0x0, %al
callq 0x33f0
cmpl $0x0, -0x188(%rbp)
jne 0x5b9cb
movb $0x0, -0x290(%rbp)
leaq -0x180(%rbp), %rdi
leaq 0x1a37e(%rip), %rsi     # 0x75d57
callq 0x3230
cmpl $0x0, %eax
jne 0x5b9fd
leaq -0x290(%rbp), %rsi
leaq 0x1a377(%rip), %rdi     # 0x75d68
movb $0x0, %al
callq 0x3130
jmp 0x5cbc2
leaq -0x180(%rbp), %rdi
leaq 0x1a365(%rip), %rsi     # 0x75d70
callq 0x3230
cmpl $0x0, %eax
jne 0x5ba4c
cmpl $0x0, -0x24(%rbp)
je 0x5ba32
leaq -0x290(%rbp), %rsi
leaq 0x1a34c(%rip), %rdi     # 0x75d75
movb $0x0, %al
callq 0x3130
jmp 0x5ba47
leaq -0x290(%rbp), %rsi
leaq 0x1a345(%rip), %rdi     # 0x75d85
movb $0x0, %al
callq 0x3130
jmp 0x5cbc0
leaq -0x180(%rbp), %rdi
leaq 0x1a338(%rip), %rsi     # 0x75d92
callq 0x3230
cmpl $0x0, %eax
jne 0x5ba9e
movl -0x80(%rbp), %eax
movl %eax, -0x54(%rbp)
leaq 0x1a32f(%rip), %rdi     # 0x75da0
leaq -0x60(%rbp), %rsi
leaq -0x64(%rbp), %rdx
leaq -0x68(%rbp), %rcx
movb $0x0, %al
callq 0x33c0
leaq -0x290(%rbp), %rsi
leaq 0x1a317(%rip), %rdi     # 0x75da9
movb $0x0, %al
callq 0x3130
jmp 0x5cbbe
leaq -0x180(%rbp), %rdi
leaq 0x1a304(%rip), %rsi     # 0x75db0
callq 0x3230
cmpl $0x0, %eax
jne 0x5bb4f
movl -0x80(%rbp), %eax
movl %eax, -0x54(%rbp)
movl $0x0, -0x394(%rbp)
movl $0x0, -0x398(%rbp)
leaq -0x390(%rbp), %rsi
leaq 0x1a2d8(%rip), %rdi     # 0x75dba
leaq -0x394(%rbp), %rdx
leaq -0x398(%rbp), %rcx
movb $0x0, %al
callq 0x33c0
movsbl -0x390(%rbp), %eax
cmpl $0x62, %eax
je 0x5bb0f
movsbl -0x390(%rbp), %eax
cmpl $0x42, %eax
jne 0x5bb23
movl -0x394(%rbp), %eax
movl %eax, -0x6c(%rbp)
movl -0x398(%rbp), %eax
movl %eax, -0x70(%rbp)
jmp 0x5bb35
movl -0x394(%rbp), %eax
movl %eax, -0x74(%rbp)
movl -0x398(%rbp), %eax
movl %eax, -0x78(%rbp)
leaq -0x290(%rbp), %rsi
leaq 0x1a266(%rip), %rdi     # 0x75da9
movb $0x0, %al
callq 0x3130
jmp 0x5cbbc
leaq -0x180(%rbp), %rdi
leaq 0x17f20(%rip), %rsi     # 0x73a7d
callq 0x3230
cmpl $0x0, %eax
jne 0x5bb9e
cmpl $0x0, -0x24(%rbp)
je 0x5bb84
leaq -0x290(%rbp), %rsi
leaq 0x1a248(%rip), %rdi     # 0x75dc3
movb $0x0, %al
callq 0x3130
jmp 0x5bb99
leaq -0x290(%rbp), %rsi
leaq 0x1a23e(%rip), %rdi     # 0x75dd0
movb $0x0, %al
callq 0x3130
jmp 0x5cbba
leaq -0x180(%rbp), %rdi
leaq 0x1a29d(%rip), %rsi     # 0x75e49
callq 0x3230
cmpl $0x0, %eax
jne 0x5be43
leaq -0x4a0(%rbp), %rsi
leaq 0x187a3(%rip), %rdi     # 0x7436b
movb $0x0, %al
callq 0x33c0
leaq -0x4a0(%rbp), %rdi
leaq 0x1a17a(%rip), %rsi     # 0x75d57
callq 0x3230
movl %eax, %ecx
movb $0x1, %al
cmpl $0x0, %ecx
movb %al, -0x9a9(%rbp)
je 0x5bdf8
leaq -0x4a0(%rbp), %rdi
leaq 0x1a16d(%rip), %rsi     # 0x75d70
callq 0x3230
movl %eax, %ecx
movb $0x1, %al
cmpl $0x0, %ecx
movb %al, -0x9a9(%rbp)
je 0x5bdf8
leaq -0x4a0(%rbp), %rdi
leaq 0x17e54(%rip), %rsi     # 0x73a7d
callq 0x3230
movl %eax, %ecx
movb $0x1, %al
cmpl $0x0, %ecx
movb %al, -0x9a9(%rbp)
je 0x5bdf8
leaq -0x4a0(%rbp), %rdi
leaq 0x1a1fa(%rip), %rsi     # 0x75e49
callq 0x3230
movl %eax, %ecx
movb $0x1, %al
cmpl $0x0, %ecx
movb %al, -0x9a9(%rbp)
je 0x5bdf8
leaq -0x4a0(%rbp), %rdi
leaq 0x1a1e2(%rip), %rsi     # 0x75e57
callq 0x3230
movl %eax, %ecx
movb $0x1, %al
cmpl $0x0, %ecx
movb %al, -0x9a9(%rbp)
je 0x5bdf8
leaq -0x4a0(%rbp), %rdi
leaq 0x1a1ca(%rip), %rsi     # 0x75e65
callq 0x3230
movl %eax, %ecx
movb $0x1, %al
cmpl $0x0, %ecx
movb %al, -0x9a9(%rbp)
je 0x5bdf8
leaq -0x4a0(%rbp), %rdi
leaq 0x1a1a9(%rip), %rsi     # 0x75e6a
callq 0x3230
movl %eax, %ecx
movb $0x1, %al
cmpl $0x0, %ecx
movb %al, -0x9a9(%rbp)
je 0x5bdf8
leaq -0x4a0(%rbp), %rdi
leaq 0x1a18d(%rip), %rsi     # 0x75e74
callq 0x3230
movl %eax, %ecx
movb $0x1, %al
cmpl $0x0, %ecx
movb %al, -0x9a9(%rbp)
je 0x5bdf8
leaq -0x4a0(%rbp), %rdi
leaq 0x1a173(%rip), %rsi     # 0x75e80
callq 0x3230
movl %eax, %ecx
movb $0x1, %al
cmpl $0x0, %ecx
movb %al, -0x9a9(%rbp)
je 0x5bdf8
leaq -0x4a0(%rbp), %rdi
leaq 0x1a152(%rip), %rsi     # 0x75e85
callq 0x3230
movl %eax, %ecx
movb $0x1, %al
cmpl $0x0, %ecx
movb %al, -0x9a9(%rbp)
je 0x5bdf8
leaq -0x4a0(%rbp), %rdi
leaq 0x19bb7(%rip), %rsi     # 0x75910
callq 0x3230
movl %eax, %ecx
movb $0x1, %al
cmpl $0x0, %ecx
movb %al, -0x9a9(%rbp)
je 0x5bdf8
leaq -0x4a0(%rbp), %rdi
leaq 0x1a118(%rip), %rsi     # 0x75e97
callq 0x3230
movl %eax, %ecx
movb $0x1, %al
cmpl $0x0, %ecx
movb %al, -0x9a9(%rbp)
je 0x5bdf8
leaq -0x4a0(%rbp), %rdi
leaq 0x1a104(%rip), %rsi     # 0x75ea5
callq 0x3230
movl %eax, %ecx
movb $0x1, %al
cmpl $0x0, %ecx
movb %al, -0x9a9(%rbp)
je 0x5bdf8
leaq -0x4a0(%rbp), %rdi
leaq 0x1a0f0(%rip), %rsi     # 0x75eb3
callq 0x3230
movl %eax, %ecx
movb $0x1, %al
cmpl $0x0, %ecx
movb %al, -0x9a9(%rbp)
je 0x5bdf8
leaq -0x4a0(%rbp), %rdi
leaq 0x1a0dd(%rip), %rsi     # 0x75ec2
callq 0x3230
cmpl $0x0, %eax
setne %al
xorb $-0x1, %al
movb %al, -0x9a9(%rbp)
movb -0x9a9(%rbp), %al
andb $0x1, %al
movzbl %al, %eax
movl %eax, -0x4a4(%rbp)
cmpl $0x0, -0x4a4(%rbp)
je 0x5be29
leaq -0x290(%rbp), %rsi
leaq 0x1a0aa(%rip), %rdi     # 0x75eca
movb $0x0, %al
callq 0x3130
jmp 0x5be3e
leaq -0x290(%rbp), %rsi
leaq 0x1a09e(%rip), %rdi     # 0x75ed5
movb $0x0, %al
callq 0x3130
jmp 0x5cbb8
leaq -0x180(%rbp), %rdi
leaq 0x1a006(%rip), %rsi     # 0x75e57
callq 0x3230
cmpl $0x0, %eax
jne 0x5be75
leaq -0x290(%rbp), %rsi
leaq 0x1a078(%rip), %rdi     # 0x75ee1
movb $0x0, %al
callq 0x3130
jmp 0x5cbb6
leaq -0x180(%rbp), %rdi
leaq 0x19fe2(%rip), %rsi     # 0x75e65
callq 0x3230
cmpl $0x0, %eax
jne 0x5be92
jmp 0x5cbe5
leaq -0x180(%rbp), %rdi
leaq 0x19fca(%rip), %rsi     # 0x75e6a
callq 0x3230
cmpl $0x0, %eax
jne 0x5bf39
movl $0x0, -0x4a8(%rbp)
leaq 0x1a5fa(%rip), %rdi     # 0x764b9
leaq -0x4a8(%rbp), %rsi
movb $0x0, %al
callq 0x33c0
cmpl $0x13, -0x4a8(%rbp)
je 0x5beed
leaq -0x290(%rbp), %rsi
leaq 0x1a0b1(%rip), %rdi     # 0x75f95
movb $0x0, %al
callq 0x3130
jmp 0x5bf34
movq -0x30(%rbp), %rdi
movl $0xffffffff, %esi       # imm = 0xFFFFFFFF
callq 0x5a9a0
movq %rax, -0x30(%rbp)
movq -0x40(%rbp), %rdi
xorl %esi, %esi
movl $0x10ec, %edx           # imm = 0x10EC
callq 0x3190
movq -0x40(%rbp), %rdi
callq 0x59560
movl $0x0, -0x5c(%rbp)
leaq -0x290(%rbp), %rsi
leaq 0x19e7c(%rip), %rdi     # 0x75da9
movb $0x0, %al
callq 0x3130
jmp 0x5cbb2
leaq -0x180(%rbp), %rdi
leaq 0x19f6c(%rip), %rsi     # 0x75eb3
callq 0x3230
cmpl $0x0, %eax
jne 0x5bff5
movl $0x0, -0x4ac(%rbp)
leaq 0x1a553(%rip), %rdi     # 0x764b9
leaq -0x4ac(%rbp), %rsi
movb $0x0, %al
callq 0x33c0
leaq -0x4d0(%rbp), %rdi
leaq 0x1a22e(%rip), %rsi     # 0x761b0
movl $0x24, %edx
callq 0x3280
movl $0x0, -0x4d4(%rbp)
movl -0x4d4(%rbp), %eax
cmpl -0x4ac(%rbp), %eax
jge 0x5bfde
movq -0x40(%rbp), %rax
movslq -0x4d4(%rbp), %rcx
movslq -0x4d0(%rbp,%rcx,4), %rcx
movss 0x1504d(%rip), %xmm0    # 0x7100c
movss %xmm0, (%rax,%rcx,4)
movl -0x5c(%rbp), %eax
addl $0x1, %eax
movl %eax, -0x5c(%rbp)
movl -0x4d4(%rbp), %eax
addl $0x1, %eax
movl %eax, -0x4d4(%rbp)
jmp 0x5bf96
movq -0x30(%rbp), %rdi
movl $0xffffffff, %esi       # imm = 0xFFFFFFFF
callq 0x5a9a0
movq %rax, -0x30(%rbp)
jmp 0x5cbb0
leaq -0x180(%rbp), %rdi
leaq 0x19e71(%rip), %rsi     # 0x75e74
callq 0x3230
cmpl $0x0, %eax
jne 0x5c060
movl $0x0, -0x58(%rbp)
movq -0x40(%rbp), %rdi
xorl %esi, %esi
movl $0x10ec, %edx           # imm = 0x10EC
callq 0x3190
movq -0x40(%rbp), %rdi
callq 0x59560
movl $0x0, -0x5c(%rbp)
movq -0x30(%rbp), %rdi
movl $0xffffffff, %esi       # imm = 0xFFFFFFFF
callq 0x5a9a0
movq %rax, -0x30(%rbp)
leaq -0x290(%rbp), %rsi
leaq 0x19d55(%rip), %rdi     # 0x75da9
movb $0x0, %al
callq 0x3130
jmp 0x5cbae
leaq -0x180(%rbp), %rdi
leaq 0x19e12(%rip), %rsi     # 0x75e80
callq 0x3230
cmpl $0x0, %eax
jne 0x5c0b2
xorps %xmm0, %xmm0
movss %xmm0, -0x4d8(%rbp)
leaq 0x18345(%rip), %rdi     # 0x743cf
leaq -0x4d8(%rbp), %rsi
movb $0x0, %al
callq 0x33c0
leaq -0x290(%rbp), %rsi
leaq 0x19d03(%rip), %rdi     # 0x75da9
movb $0x0, %al
callq 0x3130
jmp 0x5cbac
leaq -0x180(%rbp), %rdi
leaq 0x19eed(%rip), %rsi     # 0x75fad
callq 0x3230
cmpl $0x0, %eax
jne 0x5c10e
leaq -0x290(%rbp), %rsi
leaq 0x19edf(%rip), %rdi     # 0x75fb7
movb $0x0, %al
callq 0x3130
movq 0x26eea(%rip), %rax     # 0x82fd0
movq (%rax), %rdi
movq -0x40(%rbp), %rsi
movl $0x1, %edx
xorl %eax, %eax
movl %eax, %ecx
callq 0x59360
leaq 0x19cac(%rip), %rdi     # 0x75dae
movb $0x0, %al
callq 0x3130
jmp 0x5cbaa
leaq -0x180(%rbp), %rdi
leaq 0x197f4(%rip), %rsi     # 0x75910
callq 0x3230
cmpl $0x0, %eax
je 0x5c15a
leaq -0x180(%rbp), %rdi
leaq 0x19d79(%rip), %rsi     # 0x75ead
callq 0x3230
cmpl $0x0, %eax
je 0x5c15a
leaq -0x180(%rbp), %rdi
leaq 0x19d53(%rip), %rsi     # 0x75e9f
callq 0x3230
cmpl $0x0, %eax
jne 0x5c4ca
movl -0x5c(%rbp), %eax
addl $0x1, %eax
movl %eax, -0x5c(%rbp)
leaq -0x180(%rbp), %rdi
leaq 0x1979f(%rip), %rsi     # 0x75910
callq 0x3230
cmpl $0x0, %eax
jne 0x5c192
leaq -0x5e0(%rbp), %rsi
leaq 0x19e34(%rip), %rdi     # 0x75fbd
movb $0x0, %al
callq 0x33c0
jmp 0x5c1ac
leaq 0x19a6a(%rip), %rdi     # 0x75c03
movb $0x0, %al
callq 0x33c0
movb -0x180(%rbp), %al
movb %al, -0x5e0(%rbp)
leaq 0x19e0e(%rip), %rdi     # 0x75fc1
leaq -0x5e1(%rbp), %rsi
leaq -0x5e8(%rbp), %rdx
movb $0x0, %al
callq 0x33c0
movl %eax, -0x5ec(%rbp)
movsbl -0x5e0(%rbp), %ecx
movb $0x1, %al
cmpl $0x62, %ecx
movb %al, -0x9aa(%rbp)
je 0x5c1f5
movsbl -0x5e0(%rbp), %eax
cmpl $0x42, %eax
sete %al
movb %al, -0x9aa(%rbp)
movb -0x9aa(%rbp), %dl
movl $0xffffffff, %eax       # imm = 0xFFFFFFFF
movl $0x1, %ecx
testb $0x1, %dl
cmovnel %ecx, %eax
movl %eax, -0x5f0(%rbp)
movsbl -0x5e1(%rbp), %eax
cmpl $0x70, %eax
je 0x5c229
movsbl -0x5e1(%rbp), %eax
cmpl $0x50, %eax
jne 0x5c2a5
cmpl $0x2, -0x5ec(%rbp)
jge 0x5c2a5
movl $0x1, -0x58(%rbp)
leaq -0x290(%rbp), %rsi
leaq 0x19b62(%rip), %rdi     # 0x75da9
movb $0x0, %al
callq 0x3130
movq 0x26d83(%rip), %rax     # 0x82fd8
movq (%rax), %rdi
callq 0x4140
movq %rax, -0x5f8(%rbp)
movq -0x5f8(%rbp), %rdi
callq 0x3030
movq 0x26d59(%rip), %rax     # 0x82fd0
movq (%rax), %rdi
callq 0x32e0
movq 0x26d72(%rip), %rax     # 0x82ff8
movq (%rax), %rdi
callq 0x32e0
movq -0x30(%rbp), %rdi
movl $0x169, %esi            # imm = 0x169
callq 0x5a9a0
movq %rax, -0x30(%rbp)
jmp 0x5b8ee
movl $0x0, -0x58(%rbp)
movsbl -0x5e1(%rbp), %eax
cmpl $0x41, %eax
jl 0x5c2d4
movsbl -0x5e1(%rbp), %eax
cmpl $0x5a, %eax
jg 0x5c2d4
movsbl -0x5e1(%rbp), %eax
subl $0x41, %eax
movb %al, -0x5e1(%rbp)
movsbl -0x5e1(%rbp), %eax
cmpl $0x61, %eax
jl 0x5c2fc
movsbl -0x5e1(%rbp), %eax
cmpl $0x7a, %eax
jg 0x5c2fc
movsbl -0x5e1(%rbp), %eax
subl $0x61, %eax
movb %al, -0x5e1(%rbp)
movsbl -0x5e1(%rbp), %eax
cmpl $0x8, %eax
jl 0x5c316
movb -0x5e1(%rbp), %al
addb $-0x1, %al
movb %al, -0x5e1(%rbp)
movl $0x13, %eax
subl -0x5e8(%rbp), %eax
movl %eax, -0x5e8(%rbp)
movq 0x26cca(%rip), %rax     # 0x82ff8
movq (%rax), %rdi
movl -0x5e8(%rbp), %edx
movsbl -0x5e1(%rbp), %ecx
leaq 0x19c81(%rip), %rsi     # 0x75fc6
movb $0x0, %al
callq 0x3240
movq -0x50(%rbp), %rax
movq %rax, -0x600(%rbp)
movq -0x48(%rbp), %rax
movq %rax, -0x50(%rbp)
movq -0x600(%rbp), %rax
movq %rax, -0x48(%rbp)
movq -0x40(%rbp), %rdi
movl -0x5f0(%rbp), %esi
movl -0x5e8(%rbp), %edx
movsbl -0x5e1(%rbp), %ecx
callq 0x598a0
movq -0x40(%rbp), %rsi
movq -0x48(%rbp), %rcx
movl $0x43b, %edi            # imm = 0x43B
movl $0x1, %r8d
movl %r8d, %edx
callq 0x2f960
cmpq $0x0, -0x30(%rbp)
je 0x5c3e4
movq 0x26c49(%rip), %rax     # 0x82ff8
movq (%rax), %rdi
movq -0x30(%rbp), %rax
movq 0x10(%rax), %rax
imull $0x13, -0x5e8(%rbp), %ecx
movsbl -0x5e1(%rbp), %edx
addl %edx, %ecx
movslq %ecx, %rcx
movss (%rax,%rcx,4), %xmm0
cvtss2sd %xmm0, %xmm0
leaq 0x19bf6(%rip), %rsi     # 0x75fd3
movb $0x1, %al
callq 0x3240
cmpq $0x0, -0x30(%rbp)
je 0x5c427
movq 0x26c06(%rip), %rax     # 0x82ff8
movq (%rax), %rdi
movq -0x30(%rbp), %rax
movq 0x28(%rax), %rax
imull $0x13, -0x5e8(%rbp), %ecx
movsbl -0x5e1(%rbp), %edx
addl %edx, %ecx
movslq %ecx, %rcx
movss (%rax,%rcx,4), %xmm0
cvtss2sd %xmm0, %xmm0
leaq 0x19bbe(%rip), %rsi     # 0x75fde
movb $0x1, %al
callq 0x3240
cmpq $0x0, -0x30(%rbp)
je 0x5c453
movq 0x26bc3(%rip), %rax     # 0x82ff8
movq (%rax), %rdi
movq -0x30(%rbp), %rax
movss 0x3c(%rax), %xmm0
cvtss2sd %xmm0, %xmm0
leaq 0x19b9c(%rip), %rsi     # 0x75fe8
movb $0x1, %al
callq 0x3240
movq -0x30(%rbp), %rdi
imull $0x13, -0x5e8(%rbp), %esi
movsbl -0x5e1(%rbp), %eax
addl %eax, %esi
callq 0x5a9a0
movq %rax, -0x30(%rbp)
cmpq $0x0, -0x30(%rbp)
je 0x5c498
movq 0x26b7a(%rip), %rax     # 0x82ff8
movq (%rax), %rdi
movq -0x30(%rbp), %rax
movl 0x38(%rax), %edx
leaq 0x1984e(%rip), %rsi     # 0x75cdd
movb $0x0, %al
callq 0x3240
jmp 0x5c4b0
movq 0x26b59(%rip), %rax     # 0x82ff8
movq (%rax), %rdi
leaq 0x19b4b(%rip), %rsi     # 0x75ff4
movb $0x0, %al
callq 0x3240
leaq -0x290(%rbp), %rsi
leaq 0x198eb(%rip), %rdi     # 0x75da9
movb $0x0, %al
callq 0x3130
jmp 0x5cba8
leaq -0x180(%rbp), %rdi
leaq 0x199ea(%rip), %rsi     # 0x75ec2
callq 0x3230
cmpl $0x0, %eax
je 0x5c516
leaq -0x180(%rbp), %rdi
leaq 0x199b5(%rip), %rsi     # 0x75ea5
callq 0x3230
cmpl $0x0, %eax
je 0x5c516
leaq -0x180(%rbp), %rdi
leaq 0x1998f(%rip), %rsi     # 0x75e97
callq 0x3230
cmpl $0x0, %eax
jne 0x5c821
movl -0x5c(%rbp), %eax
addl $0x1, %eax
movl %eax, -0x5c(%rbp)
movl $0x0, -0x604(%rbp)
leaq -0x180(%rbp), %rdi
leaq 0x1998b(%rip), %rsi     # 0x75ec2
callq 0x3230
cmpl $0x0, %eax
jne 0x5c59b
leaq -0x710(%rbp), %rsi
leaq 0x17e1c(%rip), %rdi     # 0x7436b
movb $0x0, %al
callq 0x33c0
movsbl -0x710(%rbp), %ecx
movb $0x1, %al
cmpl $0x62, %ecx
movb %al, -0x9ab(%rbp)
je 0x5c57d
movsbl -0x710(%rbp), %eax
cmpl $0x42, %eax
sete %al
movb %al, -0x9ab(%rbp)
movb -0x9ab(%rbp), %dl
movl $0xffffffff, %eax       # imm = 0xFFFFFFFF
movl $0x1, %ecx
testb $0x1, %dl
cmovnel %ecx, %eax
movl %eax, -0x604(%rbp)
jmp 0x5c5cb
leaq -0x180(%rbp), %rdi
leaq 0x198fc(%rip), %rsi     # 0x75ea5
callq 0x3230
cmpl $0x0, %eax
jne 0x5c5bf
movl $0x1, -0x604(%rbp)
jmp 0x5c5c9
movl $0xffffffff, -0x604(%rbp) # imm = 0xFFFFFFFF
jmp 0x5c5cb
cmpl $0x0, -0x604(%rbp)
jle 0x5c5f5
cmpl $0x1e, -0x6c(%rbp)
jg 0x5c5e9
movss 0x195f2(%rip), %xmm0    # 0x75bd4
movss %xmm0, -0x18(%rbp)
jmp 0x5c5f3
movss -0x7c(%rbp), %xmm0
movss %xmm0, -0x18(%rbp)
jmp 0x5c616
cmpl $0x1e, -0x74(%rbp)
jg 0x5c60a
movss 0x195d1(%rip), %xmm0    # 0x75bd4
movss %xmm0, -0x18(%rbp)
jmp 0x5c614
movss -0x7c(%rbp), %xmm0
movss %xmm0, -0x18(%rbp)
jmp 0x5c616
movl -0x604(%rbp), %eax
negl %eax
movl %eax, -0x54(%rbp)
xorl %eax, %eax
movb %al, -0x9b9(%rbp)
callq 0x3f10
movsd %xmm0, -0x718(%rbp)
movq -0x30(%rbp), %rdi
movq -0x38(%rbp), %rsi
movq -0x40(%rbp), %rdx
movq -0x50(%rbp), %rcx
movl -0x604(%rbp), %r8d
movl -0x14(%rbp), %r9d
movss -0x20(%rbp), %xmm0
movss -0x18(%rbp), %xmm1
callq 0x5a860
movq %rax, %rcx
movb -0x9b9(%rbp), %al
movq %rcx, -0x30(%rbp)
movq 0x26984(%rip), %rcx     # 0x82ff8
movq (%rcx), %rcx
movq %rcx, -0x9b8(%rbp)
callq 0x3f10
movq -0x9b8(%rbp), %rdi
movsd -0x718(%rbp), %xmm1
subsd %xmm1, %xmm0
leaq 0x1a56e(%rip), %rsi     # 0x76c0b
movb $0x1, %al
callq 0x3240
movq -0x30(%rbp), %rdi
movss -0x1c(%rbp), %xmm0
movl -0x604(%rbp), %esi
callq 0x5aa30
movlpd %xmm0, -0x728(%rbp)
movq %rax, -0x720(%rbp)
movq -0x30(%rbp), %rdi
imull $0x13, -0x720(%rbp), %esi
addl -0x71c(%rbp), %esi
callq 0x5a9a0
movq %rax, -0x30(%rbp)
movl -0x5c(%rbp), %eax
cmpl -0x28(%rbp), %eax
jle 0x5c737
movss -0x728(%rbp), %xmm0
cvtss2sd %xmm0, %xmm1
movsd 0x179bb(%rip), %xmm0    # 0x740b8
ucomisd %xmm1, %xmm0
jbe 0x5c737
movss -0x724(%rbp), %xmm0
cvtss2sd %xmm0, %xmm1
movsd 0x179a1(%rip), %xmm0    # 0x740b8
ucomisd %xmm1, %xmm0
jbe 0x5c737
leaq -0x290(%rbp), %rsi
leaq 0x198d6(%rip), %rdi     # 0x76001
movb $0x0, %al
callq 0x3130
jmp 0x5c81c
cmpl $0x13, -0x720(%rbp)
jne 0x5c761
leaq -0x290(%rbp), %rsi
leaq 0x198c0(%rip), %rdi     # 0x7600e
movb $0x0, %al
callq 0x3130
movl $0x0, -0x58(%rbp)
jmp 0x5c81a
movl -0x720(%rbp), %eax
movl %eax, -0x72c(%rbp)
movl -0x71c(%rbp), %eax
movl %eax, -0x730(%rbp)
movq -0x50(%rbp), %rax
movq %rax, -0x738(%rbp)
movq -0x48(%rbp), %rax
movq %rax, -0x50(%rbp)
movq -0x738(%rbp), %rax
movq %rax, -0x48(%rbp)
movq -0x40(%rbp), %rdi
movl -0x604(%rbp), %esi
movl -0x72c(%rbp), %edx
movl -0x730(%rbp), %ecx
callq 0x598a0
movq -0x40(%rbp), %rsi
movq -0x48(%rbp), %rcx
movl $0x43b, %edi            # imm = 0x43B
movl $0x1, %r8d
movl %r8d, %edx
callq 0x2f960
movl $0x13, %eax
subl -0x72c(%rbp), %eax
movl %eax, -0x72c(%rbp)
cmpl $0x8, -0x730(%rbp)
jl 0x5c7f6
movl -0x730(%rbp), %eax
addl $0x1, %eax
movl %eax, -0x730(%rbp)
leaq -0x290(%rbp), %rsi
movl -0x730(%rbp), %edx
addl $0x41, %edx
movl -0x72c(%rbp), %ecx
leaq 0x19806(%rip), %rdi     # 0x76019
movb $0x0, %al
callq 0x3130
jmp 0x5c81c
jmp 0x5cba6
leaq -0x180(%rbp), %rdi
leaq 0x19691(%rip), %rsi     # 0x75ec0
callq 0x3230
cmpl $0x0, %eax
jne 0x5c83e
jmp 0x5cba4
leaq -0x180(%rbp), %rdi
leaq 0x19639(%rip), %rsi     # 0x75e85
callq 0x3230
cmpl $0x0, %eax
jne 0x5c9eb
leaq -0x840(%rbp), %rsi
leaq 0x17b03(%rip), %rdi     # 0x7436b
movb $0x0, %al
callq 0x33c0
movq 0x26782(%rip), %rax     # 0x82ff8
movq (%rax), %rdi
leaq 0x197a4(%rip), %rsi     # 0x76024
movb $0x0, %al
callq 0x3240
movq 0x2674a(%rip), %rax     # 0x82fd8
movq (%rax), %rdi
callq 0x4140
movq %rax, -0x848(%rbp)
movq -0x848(%rbp), %rdi
callq 0x3030
movsbl -0x840(%rbp), %eax
cmpl $0x64, %eax
je 0x5c8c5
movsbl -0x840(%rbp), %eax
cmpl $0x44, %eax
jne 0x5c9d1
leaq 0x19796(%rip), %rdi     # 0x76062
leaq 0x1a198(%rip), %rsi     # 0x76a6b
callq 0x3360
movq %rax, -0x858(%rbp)
movq -0x40(%rbp), %rdi
movq -0x858(%rbp), %rsi
callq 0x5b510
movl %eax, -0x85c(%rbp)
movq -0x858(%rbp), %rdi
leaq -0x290(%rbp), %rdx
leaq 0x19728(%rip), %rsi     # 0x76032
movb $0x0, %al
callq 0x3240
movq -0x858(%rbp), %rdi
callq 0x3100
leaq 0x19729(%rip), %rdi     # 0x7604d
leaq 0x19c42(%rip), %rsi     # 0x7656d
callq 0x3350
movq %rax, -0x868(%rbp)
movl $0x0, -0x84c(%rbp)
movl -0x84c(%rbp), %eax
cmpl -0x85c(%rbp), %eax
jge 0x5c988
movq -0x868(%rbp), %rdi
callq 0x4140
movq %rax, %rdi
callq 0x3030
movq -0x868(%rbp), %rdi
callq 0x4140
movq %rax, %rdi
callq 0x3030
movl -0x84c(%rbp), %eax
addl $0x1, %eax
movl %eax, -0x84c(%rbp)
jmp 0x5c941
movq $0x0, -0x870(%rbp)
movq -0x868(%rbp), %rdi
callq 0x4140
movq %rax, -0x870(%rbp)
cmpq $0x0, %rax
je 0x5c9cf
movq -0x870(%rbp), %rsi
leaq 0x179e3(%rip), %rdi     # 0x7439d
movb $0x0, %al
callq 0x3130
movq -0x870(%rbp), %rdi
callq 0x3030
jmp 0x5c993
jmp 0x5c9e6
leaq -0x290(%rbp), %rsi
leaq 0x1968c(%rip), %rdi     # 0x7606b
movb $0x0, %al
callq 0x3130
jmp 0x5cba2
leaq -0x180(%rbp), %rdi
leaq 0x19688(%rip), %rsi     # 0x76081
callq 0x3230
cmpl $0x0, %eax
jne 0x5cb69
leaq -0x970(%rbp), %rsi
leaq 0x17956(%rip), %rdi     # 0x7436b
movb $0x0, %al
callq 0x33c0
movq 0x265d5(%rip), %rax     # 0x82ff8
movq (%rax), %rdi
leaq 0x19668(%rip), %rsi     # 0x76095
movb $0x0, %al
callq 0x3240
movq 0x2659d(%rip), %rax     # 0x82fd8
movq (%rax), %rdi
callq 0x4140
movq %rax, -0x978(%rbp)
movq -0x978(%rbp), %rdi
callq 0x3030
leaq 0x19605(%rip), %rdi     # 0x76062
leaq 0x1a007(%rip), %rsi     # 0x76a6b
callq 0x3360
movq %rax, -0x988(%rbp)
movq -0x40(%rbp), %rdi
movq -0x988(%rbp), %rsi
callq 0x5b510
movl %eax, -0x98c(%rbp)
movq -0x988(%rbp), %rdi
leaq -0x290(%rbp), %rdx
leaq -0x970(%rbp), %rcx
leaq 0x19608(%rip), %rsi     # 0x760aa
movb $0x0, %al
callq 0x3240
movq -0x988(%rbp), %rdi
callq 0x3100
leaq 0x19591(%rip), %rdi     # 0x7604d
leaq 0x19aaa(%rip), %rsi     # 0x7656d
callq 0x3350
movq %rax, -0x998(%rbp)
movl $0x0, -0x97c(%rbp)
movl -0x97c(%rbp), %eax
cmpl -0x98c(%rbp), %eax
jge 0x5cb20
movq -0x998(%rbp), %rdi
callq 0x4140
movq %rax, %rdi
callq 0x3030
movq -0x998(%rbp), %rdi
callq 0x4140
movq %rax, %rdi
callq 0x3030
movl -0x97c(%rbp), %eax
addl $0x1, %eax
movl %eax, -0x97c(%rbp)
jmp 0x5cad9
movq $0x0, -0x9a0(%rbp)
movq -0x998(%rbp), %rdi
callq 0x4140
movq %rax, -0x9a0(%rbp)
cmpq $0x0, %rax
je 0x5cb67
movq -0x9a0(%rbp), %rsi
leaq 0x1784b(%rip), %rdi     # 0x7439d
movb $0x0, %al
callq 0x3130
movq -0x9a0(%rbp), %rdi
callq 0x3030
jmp 0x5cb2b
jmp 0x5cba0
movq 0x26468(%rip), %rax     # 0x82fd8
movq (%rax), %rdi
callq 0x4140
movq %rax, -0x9a8(%rbp)
movq -0x9a8(%rbp), %rdi
callq 0x3030
leaq -0x290(%rbp), %rsi
leaq 0x194d2(%rip), %rdi     # 0x7606b
movb $0x0, %al
callq 0x3130
jmp 0x5cba2
jmp 0x5cba4
jmp 0x5cba6
jmp 0x5cba8
jmp 0x5cbaa
jmp 0x5cbac
jmp 0x5cbae
jmp 0x5cbb0
jmp 0x5cbb2
jmp 0x5cbb4
jmp 0x5cbb6
jmp 0x5cbb8
jmp 0x5cbba
jmp 0x5cbbc
jmp 0x5cbbe
jmp 0x5cbc0
jmp 0x5cbc2
movq 0x26407(%rip), %rax     # 0x82fd0
movq (%rax), %rdi
callq 0x32e0
movq 0x26420(%rip), %rax     # 0x82ff8
movq (%rax), %rdi
callq 0x32e0
jmp 0x5b8ee
movl -0x58(%rbp), %esi
movl -0x70(%rbp), %edx
movl -0x78(%rbp), %ecx
leaq 0x19ea6(%rip), %rdi     # 0x76a9b
movb $0x0, %al
callq 0x3130
addq $0x9c0, %rsp            # imm = 0x9C0
popq %rbp
retq
nopw %cs:(%rax,%rax)