// File: /workspace/github_c_makefile_star2_O0/stanfordnlp[P]GloVe/src/glove.c
// Function: main
int main(int argc, char **argv) {
    int i;
    FILE *fid;
    int result = 0;
    
    if (argc == 1) {
        printf("GloVe: Global Vectors for Word Representation, v0.2\n");
        printf("Author: Jeffrey Pennington (jpennin@stanford.edu)\n\n");
        printf("Usage options:\n");
        printf("\t-verbose <int>\n");
        printf("\t\tSet verbosity: 0, 1, or 2 (default)\n");
        printf("\t-write-header <int>\n");
        printf("\t\tIf 1, write vocab_size/vector_size as first line. Do nothing if 0 (default).\n");
        printf("\t-vector-size <int>\n");
        printf("\t\tDimension of word vector representations (excluding bias term); default 50\n");
        printf("\t-threads <int>\n");
        printf("\t\tNumber of threads; default 8\n");
        printf("\t-iter <int>\n");
        printf("\t\tNumber of training iterations; default 25\n");
        printf("\t-eta <float>\n");
        printf("\t\tInitial learning rate; default 0.05\n");
        printf("\t-alpha <float>\n");
        printf("\t\tParameter in exponent of weighting function; default 0.75\n");
        printf("\t-x-max <float>\n");
        printf("\t\tParameter specifying cutoff in weighting function; default 100.0\n");
        printf("\t-grad-clip\n");
        printf("\t\tGradient components clipping parameter. Values will be clipped to [-grad-clip, grad-clip] interval\n");
        printf("\t-binary <int>\n");
        printf("\t\tSave output in binary format (0: text, 1: binary, 2: both); default 0\n");
        printf("\t-model <int>\n");
        printf("\t\tModel for word vector output (for text output only); default 2\n");
        printf("\t\t   0: output all data, for both word and context word vectors, including bias terms\n");
        printf("\t\t   1: output word vectors, excluding bias terms\n");
        printf("\t\t   2: output word vectors + context word vectors, excluding bias terms\n");
        printf("\t\t   3: output word vectors and context word vectors, excluding bias terms; context word vectors are row-concatenated to the word vectors\n");
        printf("\t-input-file <file>\n");
        printf("\t\tBinary input file of shuffled cooccurrence data (produced by 'cooccur' and 'shuffle'); default cooccurrence.shuf.bin\n");
        printf("\t-vocab-file <file>\n");
        printf("\t\tFile containing vocabulary (truncated unigram counts, produced by 'vocab_count'); default vocab.txt\n");
        printf("\t-save-file <file>\n");
        printf("\t\tFilename, excluding extension, for word vector output; default vectors\n");
        printf("\t-gradsq-file <file>\n");
        printf("\t\tFilename, excluding extension, for squared gradient output; default gradsq\n");
        printf("\t-save-gradsq <int>\n");
        printf("\t\tSave accumulated squared gradients; default 0 (off); ignored if gradsq-file is specified\n");
        printf("\t-checkpoint-every <int>\n");
        printf("\t\tCheckpoint a  model every <int> iterations; default 0 (off)\n");
        printf("\t-load-init-param <int>\n");
        printf("\t\tLoad initial parameters from -init-param-file; default 0 (false)\n");
        printf("\t-save-init-param <int>\n");
        printf("\t\tSave initial parameters (i.e., checkpoint the model before any training); default 0 (false)\n");
        printf("\t-init-param-file <file>\n");
        printf("\t\tBinary initial parameters file to be loaded if -load-init-params is 1; (default is to look for vectors.000.bin)\n");
        printf("\t-load-init-gradsq <int>\n");
        printf("\t\tLoad initial squared gradients from -init-gradsq-file; default 0 (false)\n");
        printf("\t-init-gradsq-file <file>\n");
        printf("\t\tBinary initial squared gradients file to be loaded if -load-init-gradsq is 1; (default is to look for gradsq.000.bin)\n");
        printf("\t-seed <int>\n");
        printf("\t\tRandom seed to use.  If not set, will be randomized using current time.");
        printf("\nExample usage:\n");
        printf("./glove -input-file cooccurrence.shuf.bin -vocab-file vocab.txt -save-file vectors -gradsq-file gradsq -verbose 2 -vector-size 100 -threads 16 -alpha 0.75 -x-max 100.0 -eta 0.05 -binary 2 -model 2\n\n");
        result = 0;
    } else {
        if ((i = find_arg((char *)"-write-header", argc, argv)) > 0) write_header = atoi(argv[i + 1]);
        if ((i = find_arg((char *)"-verbose", argc, argv)) > 0) verbose = atoi(argv[i + 1]);
        if ((i = find_arg((char *)"-vector-size", argc, argv)) > 0) vector_size = atoi(argv[i + 1]);
        if ((i = find_arg((char *)"-iter", argc, argv)) > 0) num_iter = atoi(argv[i + 1]);
        if ((i = find_arg((char *)"-threads", argc, argv)) > 0) num_threads = atoi(argv[i + 1]);
        cost = malloc(sizeof(real) * num_threads);
        if ((i = find_arg((char *)"-alpha", argc, argv)) > 0) alpha = atof(argv[i + 1]);
        if ((i = find_arg((char *)"-x-max", argc, argv)) > 0) x_max = atof(argv[i + 1]);
        if ((i = find_arg((char *)"-eta", argc, argv)) > 0) eta = atof(argv[i + 1]);
        if ((i = find_arg((char *)"-grad-clip", argc, argv)) > 0) grad_clip_value = atof(argv[i + 1]);
        if ((i = find_arg((char *)"-binary", argc, argv)) > 0) use_binary = atoi(argv[i + 1]);
        if ((i = find_arg((char *)"-model", argc, argv)) > 0) model = atoi(argv[i + 1]);
        if (model != 0 && model != 1) model = 2;
        if ((i = find_arg((char *)"-save-gradsq", argc, argv)) > 0) save_gradsq = atoi(argv[i + 1]);
        if ((i = find_arg((char *)"-vocab-file", argc, argv)) > 0) strcpy(vocab_file, argv[i + 1]);
        else strcpy(vocab_file, (char *)"vocab.txt");
        if ((i = find_arg((char *)"-save-file", argc, argv)) > 0) strcpy(save_W_file, argv[i + 1]);
        else strcpy(save_W_file, (char *)"vectors");
        if ((i = find_arg((char *)"-gradsq-file", argc, argv)) > 0) {
            strcpy(save_gradsq_file, argv[i + 1]);
            save_gradsq = 1;
        }
        else if (save_gradsq > 0) strcpy(save_gradsq_file, (char *)"gradsq");
        if ((i = find_arg((char *)"-input-file", argc, argv)) > 0) strcpy(input_file, argv[i + 1]);
        else strcpy(input_file, (char *)"cooccurrence.shuf.bin");
        if ((i = find_arg((char *)"-checkpoint-every", argc, argv)) > 0) checkpoint_every = atoi(argv[i + 1]);
        if ((i = find_arg((char *)"-init-param-file", argc, argv)) > 0) strcpy(init_param_file, argv[i + 1]);
        else strcpy(init_param_file, (char *)"vectors.000.bin");
        if ((i = find_arg((char *)"-load-init-param", argc, argv)) > 0) load_init_param = atoi(argv[i + 1]);
        if ((i = find_arg((char *)"-save-init-param", argc, argv)) > 0) save_init_param = atoi(argv[i + 1]);
        if ((i = find_arg((char *)"-init-gradsq-file", argc, argv)) > 0) strcpy(init_gradsq_file, argv[i + 1]);
        else strcpy(init_gradsq_file, (char *)"gradsq.000.bin");
        if ((i = find_arg((char *)"-load-init-gradsq", argc, argv)) > 0) load_init_gradsq = atoi(argv[i + 1]);
        if ((i = find_arg((char *)"-seed", argc, argv)) > 0) seed = atoi(argv[i + 1]);
        
        vocab_size = 0;
        fid = fopen(vocab_file, "r");
        if (fid == NULL) {log_file_loading_error("vocab file", vocab_file); free(cost); return 1;}
        while ((i = getc(fid)) != EOF) if (i == '\n') vocab_size++; // Count number of entries in vocab_file
        fclose(fid);
        if (vocab_size == 0) {fprintf(stderr, "Unable to find any vocab entries in vocab file %s.\n", vocab_file); free(cost); return 1;}
        result = train_glove();
        free(cost);
    }
    free(W);
    free(gradsq);

    return result;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x30, %rsp
movl $0x0, -0x4(%rbp)
movl %edi, -0x8(%rbp)
movq %rsi, -0x10(%rbp)
movl $0x0, -0x24(%rbp)
cmpl $0x1, -0x8(%rbp)
jne 0x3615
leaq 0x1fd4(%rip), %rdi      # 0x52e2
movb $0x0, %al
callq 0x10e0
leaq 0x1ffb(%rip), %rdi      # 0x5317
movb $0x0, %al
callq 0x10e0
leaq 0x2021(%rip), %rdi      # 0x534b
movb $0x0, %al
callq 0x10e0
leaq 0x2023(%rip), %rdi      # 0x535b
movb $0x0, %al
callq 0x10e0
leaq 0x2026(%rip), %rdi      # 0x536c
movb $0x0, %al
callq 0x10e0
leaq 0x203f(%rip), %rdi      # 0x5393
movb $0x0, %al
callq 0x10e0
leaq 0x2047(%rip), %rdi      # 0x53a9
movb $0x0, %al
callq 0x10e0
leaq 0x2089(%rip), %rdi      # 0x53f9
movb $0x0, %al
callq 0x10e0
leaq 0x2090(%rip), %rdi      # 0x540e
movb $0x0, %al
callq 0x10e0
leaq 0x20d0(%rip), %rdi      # 0x545c
movb $0x0, %al
callq 0x10e0
leaq 0x20d3(%rip), %rdi      # 0x546d
movb $0x0, %al
callq 0x10e0
leaq 0x20e5(%rip), %rdi      # 0x548d
movb $0x0, %al
callq 0x10e0
leaq 0x20e5(%rip), %rdi      # 0x549b
movb $0x0, %al
callq 0x10e0
leaq 0x2104(%rip), %rdi      # 0x54c8
movb $0x0, %al
callq 0x10e0
leaq 0x2105(%rip), %rdi      # 0x54d7
movb $0x0, %al
callq 0x10e0
leaq 0x211e(%rip), %rdi      # 0x54fe
movb $0x0, %al
callq 0x10e0
leaq 0x2121(%rip), %rdi      # 0x550f
movb $0x0, %al
callq 0x10e0
leaq 0x2150(%rip), %rdi      # 0x554c
movb $0x0, %al
callq 0x10e0
leaq 0x2153(%rip), %rdi      # 0x555d
movb $0x0, %al
callq 0x10e0
leaq 0x2189(%rip), %rdi      # 0x55a1
movb $0x0, %al
callq 0x10e0
leaq 0x2188(%rip), %rdi      # 0x55ae
movb $0x0, %al
callq 0x10e0
leaq 0x21e0(%rip), %rdi      # 0x5614
movb $0x0, %al
callq 0x10e0
leaq 0x21e2(%rip), %rdi      # 0x5624
movb $0x0, %al
callq 0x10e0
leaq 0x221d(%rip), %rdi      # 0x566d
movb $0x0, %al
callq 0x10e0
leaq 0x221e(%rip), %rdi      # 0x567c
movb $0x0, %al
callq 0x10e0
leaq 0x2252(%rip), %rdi      # 0x56be
movb $0x0, %al
callq 0x10e0
leaq 0x229b(%rip), %rdi      # 0x5715
movb $0x0, %al
callq 0x10e0
leaq 0x22c0(%rip), %rdi      # 0x5748
movb $0x0, %al
callq 0x10e0
leaq 0x22fc(%rip), %rdi      # 0x5792
movb $0x0, %al
callq 0x10e0
leaq 0x2379(%rip), %rdi      # 0x581d
movb $0x0, %al
callq 0x10e0
leaq 0x2380(%rip), %rdi      # 0x5832
movb $0x0, %al
callq 0x10e0
leaq 0x23ea(%rip), %rdi      # 0x58aa
movb $0x0, %al
callq 0x10e0
leaq 0x23f1(%rip), %rdi      # 0x58bf
movb $0x0, %al
callq 0x10e0
leaq 0x244a(%rip), %rdi      # 0x5926
movb $0x0, %al
callq 0x10e0
leaq 0x2450(%rip), %rdi      # 0x593a
movb $0x0, %al
callq 0x10e0
leaq 0x248c(%rip), %rdi      # 0x5984
movb $0x0, %al
callq 0x10e0
leaq 0x2494(%rip), %rdi      # 0x599a
movb $0x0, %al
callq 0x10e0
leaq 0x24d4(%rip), %rdi      # 0x59e8
movb $0x0, %al
callq 0x10e0
leaq 0x24db(%rip), %rdi      # 0x59fd
movb $0x0, %al
callq 0x10e0
leaq 0x2529(%rip), %rdi      # 0x5a59
movb $0x0, %al
callq 0x10e0
leaq 0x2535(%rip), %rdi      # 0x5a73
movb $0x0, %al
callq 0x10e0
leaq 0x2566(%rip), %rdi      # 0x5ab2
movb $0x0, %al
callq 0x10e0
leaq 0x2571(%rip), %rdi      # 0x5acb
movb $0x0, %al
callq 0x10e0
leaq 0x25a7(%rip), %rdi      # 0x5b0f
movb $0x0, %al
callq 0x10e0
leaq 0x25b2(%rip), %rdi      # 0x5b28
movb $0x0, %al
callq 0x10e0
leaq 0x2603(%rip), %rdi      # 0x5b87
movb $0x0, %al
callq 0x10e0
leaq 0x260f(%rip), %rdi      # 0x5ba1
movb $0x0, %al
callq 0x10e0
leaq 0x2674(%rip), %rdi      # 0x5c14
movb $0x0, %al
callq 0x10e0
leaq 0x2680(%rip), %rdi      # 0x5c2e
movb $0x0, %al
callq 0x10e0
leaq 0x26be(%rip), %rdi      # 0x5c7a
movb $0x0, %al
callq 0x10e0
leaq 0x26cb(%rip), %rdi      # 0x5c95
movb $0x0, %al
callq 0x10e0
leaq 0x2736(%rip), %rdi      # 0x5d0e
movb $0x0, %al
callq 0x10e0
leaq 0x2736(%rip), %rdi      # 0x5d1c
movb $0x0, %al
callq 0x10e0
leaq 0x2772(%rip), %rdi      # 0x5d66
movb $0x0, %al
callq 0x10e0
leaq 0x2775(%rip), %rdi      # 0x5d77
movb $0x0, %al
callq 0x10e0
movl $0x0, -0x24(%rbp)
jmp 0x3cb6
movl -0x8(%rbp), %esi
movq -0x10(%rbp), %rdx
leaq 0x281b(%rip), %rdi      # 0x5e3e
callq 0x3fb0
movl %eax, -0x14(%rbp)
cmpl $0x0, %eax
jle 0x364c
movq -0x10(%rbp), %rax
movl -0x14(%rbp), %ecx
addl $0x1, %ecx
movslq %ecx, %rcx
movq (%rax,%rcx,8), %rdi
callq 0x11e0
movl %eax, 0x4b44(%rip)      # 0x8190
movl -0x8(%rbp), %esi
movq -0x10(%rbp), %rdx
leaq 0x27f2(%rip), %rdi      # 0x5e4c
callq 0x3fb0
movl %eax, -0x14(%rbp)
cmpl $0x0, %eax
jle 0x3683
movq -0x10(%rbp), %rax
movl -0x14(%rbp), %ecx
addl $0x1, %ecx
movslq %ecx, %rcx
movq (%rax,%rcx,8), %rdi
callq 0x11e0
movl %eax, 0x4ac5(%rip)      # 0x8148
movl -0x8(%rbp), %esi
movq -0x10(%rbp), %rdx
leaq 0x27c4(%rip), %rdi      # 0x5e55
callq 0x3fb0
movl %eax, -0x14(%rbp)
cmpl $0x0, %eax
jle 0x36ba
movq -0x10(%rbp), %rax
movl -0x14(%rbp), %ecx
addl $0x1, %ecx
movslq %ecx, %rcx
movq (%rax,%rcx,8), %rdi
callq 0x11e0
movl %eax, 0x4a9e(%rip)      # 0x8158
movl -0x8(%rbp), %esi
movq -0x10(%rbp), %rdx
leaq 0x279a(%rip), %rdi      # 0x5e62
callq 0x3fb0
movl %eax, -0x14(%rbp)
cmpl $0x0, %eax
jle 0x36f1
movq -0x10(%rbp), %rax
movl -0x14(%rbp), %ecx
addl $0x1, %ecx
movslq %ecx, %rcx
movq (%rax,%rcx,8), %rdi
callq 0x11e0
movl %eax, 0x4a63(%rip)      # 0x8154
movl -0x8(%rbp), %esi
movq -0x10(%rbp), %rdx
leaq 0x2769(%rip), %rdi      # 0x5e68
callq 0x3fb0
movl %eax, -0x14(%rbp)
cmpl $0x0, %eax
jle 0x3728
movq -0x10(%rbp), %rax
movl -0x14(%rbp), %ecx
addl $0x1, %ecx
movslq %ecx, %rcx
movq (%rax,%rcx,8), %rdi
callq 0x11e0
movl %eax, 0x4a28(%rip)      # 0x8150
movslq 0x4a21(%rip), %rdi      # 0x8150
shlq $0x3, %rdi
callq 0x1180
movq %rax, 0x5661(%rip)      # 0x8da0
movl -0x8(%rbp), %esi
movq -0x10(%rbp), %rdx
leaq 0x2724(%rip), %rdi      # 0x5e71
callq 0x3fb0
movl %eax, -0x14(%rbp)
cmpl $0x0, %eax
jle 0x3778
movq -0x10(%rbp), %rax
movl -0x14(%rbp), %ecx
addl $0x1, %ecx
movslq %ecx, %rcx
movq (%rax,%rcx,8), %rdi
callq 0x10a0
movsd %xmm0, 0x49f0(%rip)     # 0x8168
movl -0x8(%rbp), %esi
movq -0x10(%rbp), %rdx
leaq 0x26f2(%rip), %rdi      # 0x5e78
callq 0x3fb0
movl %eax, -0x14(%rbp)
cmpl $0x0, %eax
jle 0x37b1
movq -0x10(%rbp), %rax
movl -0x14(%rbp), %ecx
addl $0x1, %ecx
movslq %ecx, %rcx
movq (%rax,%rcx,8), %rdi
callq 0x10a0
movsd %xmm0, 0x49bf(%rip)     # 0x8170
movl -0x8(%rbp), %esi
movq -0x10(%rbp), %rdx
leaq 0x26c0(%rip), %rdi      # 0x5e7f
callq 0x3fb0
movl %eax, -0x14(%rbp)
cmpl $0x0, %eax
jle 0x37ea
movq -0x10(%rbp), %rax
movl -0x14(%rbp), %ecx
addl $0x1, %ecx
movslq %ecx, %rcx
movq (%rax,%rcx,8), %rdi
callq 0x10a0
movsd %xmm0, 0x4976(%rip)     # 0x8160
movl -0x8(%rbp), %esi
movq -0x10(%rbp), %rdx
leaq 0x268c(%rip), %rdi      # 0x5e84
callq 0x3fb0
movl %eax, -0x14(%rbp)
cmpl $0x0, %eax
jle 0x3823
movq -0x10(%rbp), %rax
movl -0x14(%rbp), %ecx
addl $0x1, %ecx
movslq %ecx, %rcx
movq (%rax,%rcx,8), %rdi
callq 0x10a0
movsd %xmm0, 0x4955(%rip)     # 0x8178
movl -0x8(%rbp), %esi
movq -0x10(%rbp), %rdx
leaq 0x265e(%rip), %rdi      # 0x5e8f
callq 0x3fb0
movl %eax, -0x14(%rbp)
cmpl $0x0, %eax
jle 0x385a
movq -0x10(%rbp), %rax
movl -0x14(%rbp), %ecx
addl $0x1, %ecx
movslq %ecx, %rcx
movq (%rax,%rcx,8), %rdi
callq 0x11e0
movl %eax, 0x4942(%rip)      # 0x819c
movl -0x8(%rbp), %esi
movq -0x10(%rbp), %rdx
leaq 0x262f(%rip), %rdi      # 0x5e97
callq 0x3fb0
movl %eax, -0x14(%rbp)
cmpl $0x0, %eax
jle 0x3891
movq -0x10(%rbp), %rax
movl -0x14(%rbp), %ecx
addl $0x1, %ecx
movslq %ecx, %rcx
movq (%rax,%rcx,8), %rdi
callq 0x11e0
movl %eax, 0x48cb(%rip)      # 0x815c
cmpl $0x0, 0x48c4(%rip)      # 0x815c
je 0x38ad
cmpl $0x1, 0x48bb(%rip)      # 0x815c
je 0x38ad
movl $0x2, 0x48af(%rip)      # 0x815c
movl -0x8(%rbp), %esi
movq -0x10(%rbp), %rdx
leaq 0x25e3(%rip), %rdi      # 0x5e9e
callq 0x3fb0
movl %eax, -0x14(%rbp)
cmpl $0x0, %eax
jle 0x38e4
movq -0x10(%rbp), %rax
movl -0x14(%rbp), %ecx
addl $0x1, %ecx
movslq %ecx, %rcx
movq (%rax,%rcx,8), %rdi
callq 0x11e0
movl %eax, 0x48b4(%rip)      # 0x8198
movl -0x8(%rbp), %esi
movq -0x10(%rbp), %rdx
leaq 0x25b9(%rip), %rdi      # 0x5eab
callq 0x3fb0
movl %eax, -0x14(%rbp)
cmpl $0x0, %eax
jle 0x391e
movq -0x10(%rbp), %rax
movl -0x14(%rbp), %ecx
addl $0x1, %ecx
movslq %ecx, %rcx
movq (%rax,%rcx,8), %rsi
leaq 0x5c79(%rip), %rdi      # 0x9590
callq 0x1060
jmp 0x3931
leaq 0x5c6b(%rip), %rdi      # 0x9590
leaq 0x258b(%rip), %rsi      # 0x5eb7
callq 0x1060
movl -0x8(%rbp), %esi
movq -0x10(%rbp), %rdx
leaq 0x2582(%rip), %rdi      # 0x5ec1
callq 0x3fb0
movl %eax, -0x14(%rbp)
cmpl $0x0, %eax
jle 0x396b
movq -0x10(%rbp), %rax
movl -0x14(%rbp), %ecx
addl $0x1, %ecx
movslq %ecx, %rcx
movq (%rax,%rcx,8), %rsi
leaq 0x544c(%rip), %rdi      # 0x8db0
callq 0x1060
jmp 0x397e
leaq 0x543e(%rip), %rdi      # 0x8db0
leaq 0x2553(%rip), %rsi      # 0x5ecc
callq 0x1060
movl -0x8(%rbp), %esi
movq -0x10(%rbp), %rdx
leaq 0x25c4(%rip), %rdi      # 0x5f50
callq 0x3fb0
movl %eax, -0x14(%rbp)
cmpl $0x0, %eax
jle 0x39c2
movq -0x10(%rbp), %rax
movl -0x14(%rbp), %ecx
addl $0x1, %ecx
movslq %ecx, %rcx
movq (%rax,%rcx,8), %rsi
leaq 0x57ef(%rip), %rdi      # 0x91a0
callq 0x1060
movl $0x1, 0x47d8(%rip)      # 0x8198
jmp 0x39e0
cmpl $0x0, 0x47cf(%rip)      # 0x8198
jle 0x39de
leaq 0x57ce(%rip), %rdi      # 0x91a0
leaq 0x24cb(%rip), %rsi      # 0x5ea4
callq 0x1060
jmp 0x39e0
movl -0x8(%rbp), %esi
movq -0x10(%rbp), %rdx
leaq 0x24e6(%rip), %rdi      # 0x5ed4
callq 0x3fb0
movl %eax, -0x14(%rbp)
cmpl $0x0, %eax
jle 0x3a1a
movq -0x10(%rbp), %rax
movl -0x14(%rbp), %ecx
addl $0x1, %ecx
movslq %ecx, %rcx
movq (%rax,%rcx,8), %rsi
leaq 0x4f9d(%rip), %rdi      # 0x89b0
callq 0x1060
jmp 0x3a2d
leaq 0x4f8f(%rip), %rdi      # 0x89b0
leaq 0x24b8(%rip), %rsi      # 0x5ee0
callq 0x1060
movl -0x8(%rbp), %esi
movq -0x10(%rbp), %rdx
leaq 0x24bb(%rip), %rdi      # 0x5ef6
callq 0x3fb0
movl %eax, -0x14(%rbp)
cmpl $0x0, %eax
jle 0x3a64
movq -0x10(%rbp), %rax
movl -0x14(%rbp), %ecx
addl $0x1, %ecx
movslq %ecx, %rcx
movq (%rax,%rcx,8), %rdi
callq 0x11e0
movl %eax, 0x473c(%rip)      # 0x81a0
movl -0x8(%rbp), %esi
movq -0x10(%rbp), %rdx
leaq 0x2496(%rip), %rdi      # 0x5f08
callq 0x3fb0
movl %eax, -0x14(%rbp)
cmpl $0x0, %eax
jle 0x3a9e
movq -0x10(%rbp), %rax
movl -0x14(%rbp), %ecx
addl $0x1, %ecx
movslq %ecx, %rcx
movq (%rax,%rcx,8), %rsi
leaq 0x4739(%rip), %rdi      # 0x81d0
callq 0x1060
jmp 0x3ab1
leaq 0x472b(%rip), %rdi      # 0x81d0
leaq 0x246d(%rip), %rsi      # 0x5f19
callq 0x1060
movl -0x8(%rbp), %esi
movq -0x10(%rbp), %rdx
leaq 0x246a(%rip), %rdi      # 0x5f29
callq 0x3fb0
movl %eax, -0x14(%rbp)
cmpl $0x0, %eax
jle 0x3ae8
movq -0x10(%rbp), %rax
movl -0x14(%rbp), %ecx
addl $0x1, %ecx
movslq %ecx, %rcx
movq (%rax,%rcx,8), %rdi
callq 0x11e0
movl %eax, 0x46bc(%rip)      # 0x81a4
movl -0x8(%rbp), %esi
movq -0x10(%rbp), %rdx
leaq 0x2444(%rip), %rdi      # 0x5f3a
callq 0x3fb0
movl %eax, -0x14(%rbp)
cmpl $0x0, %eax
jle 0x3b1f
movq -0x10(%rbp), %rax
movl -0x14(%rbp), %ecx
addl $0x1, %ecx
movslq %ecx, %rcx
movq (%rax,%rcx,8), %rdi
callq 0x11e0
movl %eax, 0x4689(%rip)      # 0x81a8
movl -0x8(%rbp), %esi
movq -0x10(%rbp), %rdx
leaq 0x241e(%rip), %rdi      # 0x5f4b
callq 0x3fb0
movl %eax, -0x14(%rbp)
cmpl $0x0, %eax
jle 0x3b59
movq -0x10(%rbp), %rax
movl -0x14(%rbp), %ecx
addl $0x1, %ecx
movslq %ecx, %rcx
movq (%rax,%rcx,8), %rsi
leaq 0x4a6e(%rip), %rdi      # 0x85c0
callq 0x1060
jmp 0x3b6c
leaq 0x4a60(%rip), %rdi      # 0x85c0
leaq 0x23f6(%rip), %rsi      # 0x5f5d
callq 0x1060
movl -0x8(%rbp), %esi
movq -0x10(%rbp), %rdx
leaq 0x23f2(%rip), %rdi      # 0x5f6c
callq 0x3fb0
movl %eax, -0x14(%rbp)
cmpl $0x0, %eax
jle 0x3ba3
movq -0x10(%rbp), %rax
movl -0x14(%rbp), %ecx
addl $0x1, %ecx
movslq %ecx, %rcx
movq (%rax,%rcx,8), %rdi
callq 0x11e0
movl %eax, 0x4609(%rip)      # 0x81ac
movl -0x8(%rbp), %esi
movq -0x10(%rbp), %rdx
leaq 0x23cd(%rip), %rdi      # 0x5f7e
callq 0x3fb0
movl %eax, -0x14(%rbp)
cmpl $0x0, %eax
jle 0x3bda
movq -0x10(%rbp), %rax
movl -0x14(%rbp), %ecx
addl $0x1, %ecx
movslq %ecx, %rcx
movq (%rax,%rcx,8), %rdi
callq 0x11e0
movl %eax, 0x45ba(%rip)      # 0x8194
movq $0x0, 0x45cb(%rip) # 0x81b0
leaq 0x59a4(%rip), %rdi      # 0x9590
leaq 0x2257(%rip), %rsi      # 0x5e4a
callq 0x11d0
movq %rax, -0x20(%rbp)
cmpq $0x0, -0x20(%rbp)
jne 0x3c2e
leaq 0x15a8(%rip), %rdi      # 0x51b2
leaq 0x597f(%rip), %rsi      # 0x9590
callq 0x4120
movq 0x5183(%rip), %rdi      # 0x8da0
callq 0x1030
movl $0x1, -0x4(%rbp)
jmp 0x3cd4
jmp 0x3c30
movq -0x20(%rbp), %rdi
callq 0x1250
movl %eax, -0x14(%rbp)
cmpl $-0x1, %eax
je 0x3c5b
cmpl $0xa, -0x14(%rbp)
jne 0x3c59
movq 0x4562(%rip), %rax      # 0x81b0
addq $0x1, %rax
movq %rax, 0x4557(%rip)      # 0x81b0
jmp 0x3c30
movq -0x20(%rbp), %rdi
callq 0x10d0
cmpq $0x0, 0x4544(%rip)      # 0x81b0
jne 0x3ca2
movq 0x4383(%rip), %rax      # 0x7ff8
movq (%rax), %rdi
leaq 0x2305(%rip), %rsi      # 0x5f84
leaq 0x590a(%rip), %rdx      # 0x9590
movb $0x0, %al
callq 0x1140
movq 0x510c(%rip), %rdi      # 0x8da0
callq 0x1030
movl $0x1, -0x4(%rbp)
jmp 0x3cd4
callq 0x2d90
movl %eax, -0x24(%rbp)
movq 0x50ef(%rip), %rdi      # 0x8da0
callq 0x1030
movq 0x44fb(%rip), %rdi      # 0x81b8
callq 0x1030
movq 0x44f7(%rip), %rdi      # 0x81c0
callq 0x1030
movl -0x24(%rbp), %eax
movl %eax, -0x4(%rbp)
movl -0x4(%rbp), %eax
addq $0x30, %rsp
popq %rbp
retq
nopl (%rax)