// File: CMU-SAFARI[P]ramulator/src/Main.cpp
// Function: main
int main(int argc, const char *argv[])
{
    if (argc < 2) {
        printf("Usage: %s <configs-file> --mode=cpu,dram [--stats <filename>] <trace-filename1> <trace-filename2>\n"
            "Example: %s ramulator-configs.cfg --mode=cpu cpu.trace cpu.trace\n", argv[0], argv[0]);
        return 0;
    }

    Config configs(argv[1]);

    const std::string& standard = configs["standard"];
    assert(standard != "" || "DRAM standard should be specified.");

    const char *trace_type = strstr(argv[2], "=");
    trace_type++;
    if (strcmp(trace_type, "cpu") == 0) {
      configs.add("trace_type", "CPU");
    } else if (strcmp(trace_type, "dram") == 0) {
      configs.add("trace_type", "DRAM");
    } else {
      printf("invalid trace type: %s\n", trace_type);
      assert(false);
    }

    int trace_start = 3;
    string stats_out;
    if (strcmp(argv[trace_start], "--stats") == 0) {
      Stats::statlist.output(argv[trace_start+1]);
      stats_out = argv[trace_start+1];
      trace_start += 2;
    } else {
      Stats::statlist.output(standard+".stats");
      stats_out = standard + string(".stats");
    }

    // A separate file defines mapping for easy config.
    if (strcmp(argv[trace_start], "--mapping") == 0) {
      configs.add("mapping", argv[trace_start+1]);
      trace_start += 2;
    } else {
      configs.add("mapping", "defaultmapping");
    }

    std::vector<const char*> files(&argv[trace_start], &argv[argc]);
    configs.set_core_num(argc - trace_start);

    if (standard == "DDR3") {
      DDR3* ddr3 = new DDR3(configs["org"], configs["speed"]);
      start_run(configs, ddr3, files);
    } else if (standard == "DDR4") {
      DDR4* ddr4 = new DDR4(configs["org"], configs["speed"]);
      start_run(configs, ddr4, files);
    } else if (standard == "SALP-MASA") {
      SALP* salp8 = new SALP(configs["org"], configs["speed"], "SALP-MASA", configs.get_subarrays());
      start_run(configs, salp8, files);
    } else if (standard == "LPDDR3") {
      LPDDR3* lpddr3 = new LPDDR3(configs["org"], configs["speed"]);
      start_run(configs, lpddr3, files);
    } else if (standard == "LPDDR4") {
      // total cap: 2GB, 1/2 of others
      LPDDR4* lpddr4 = new LPDDR4(configs["org"], configs["speed"]);
      start_run(configs, lpddr4, files);
    } else if (standard == "GDDR5") {
      GDDR5* gddr5 = new GDDR5(configs["org"], configs["speed"]);
      start_run(configs, gddr5, files);
    } else if (standard == "HBM") {
      HBM* hbm = new HBM(configs["org"], configs["speed"]);
      start_run(configs, hbm, files);
    } else if (standard == "WideIO") {
      // total cap: 1GB, 1/4 of others
      WideIO* wio = new WideIO(configs["org"], configs["speed"]);
      start_run(configs, wio, files);
    } else if (standard == "WideIO2") {
      // total cap: 2GB, 1/2 of others
      WideIO2* wio2 = new WideIO2(configs["org"], configs["speed"], configs.get_channels());
      wio2->channel_width *= 2;
      start_run(configs, wio2, files);
    } else if (standard == "STTMRAM") {
      STTMRAM* sttmram = new STTMRAM(configs["org"], configs["speed"]);
      start_run(configs, sttmram, files);
    } else if (standard == "PCM") {
      PCM* pcm = new PCM(configs["org"], configs["speed"]);
      start_run(configs, pcm, files);
    }
    // Various refresh mechanisms
      else if (standard == "DSARP") {
      DSARP* dsddr3_dsarp = new DSARP(configs["org"], configs["speed"], DSARP::Type::DSARP, configs.get_subarrays());
      start_run(configs, dsddr3_dsarp, files);
    } else if (standard == "ALDRAM") {
      ALDRAM* aldram = new ALDRAM(configs["org"], configs["speed"]);
      start_run(configs, aldram, files);
    } else if (standard == "TLDRAM") {
      TLDRAM* tldram = new TLDRAM(configs["org"], configs["speed"], configs.get_subarrays());
      start_run(configs, tldram, files);
    }

    printf("Simulation done. Statistics written to %s\n", stats_out.c_str());

    return 0;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0xdf0, %rsp            # imm = 0xDF0
movl $0x0, -0x4(%rbp)
movl %edi, -0x8(%rbp)
movq %rsi, -0x10(%rbp)
cmpl $0x2, -0x8(%rbp)
jge 0x14f27
movq -0x10(%rbp), %rax
movq (%rax), %rsi
movq -0x10(%rbp), %rax
movq (%rax), %rdx
leaq 0x23aaec(%rip), %rdi    # 0x24fa00
movb $0x0, %al
callq 0xc070
movl $0x0, -0x4(%rbp)
jmp 0x17a27
movq -0x10(%rbp), %rax
movq 0x8(%rax), %rax
movq %rax, -0xb90(%rbp)
leaq -0x89(%rbp), %rdi
movq %rdi, -0xb88(%rbp)
callq 0xc5e0
movq -0xb90(%rbp), %rsi
movq -0xb88(%rbp), %rdx
leaq -0x88(%rbp), %rdi
callq 0x17a40
jmp 0x14f65
leaq -0x68(%rbp), %rdi
leaq -0x88(%rbp), %rsi
callq 0x185580
jmp 0x14f77
leaq -0x88(%rbp), %rdi
callq 0xc6b8
leaq -0x89(%rbp), %rdi
callq 0xc3c0
leaq -0xe9(%rbp), %rdi
movq %rdi, -0xb98(%rbp)
callq 0xc5e0
movq -0xb98(%rbp), %rdx
leaq 0x23aaf4(%rip), %rsi    # 0x24faa4
leaq -0xe8(%rbp), %rdi
callq 0x17a40
jmp 0x14fbe
leaq -0xc8(%rbp), %rdi
leaq -0x68(%rbp), %rsi
leaq -0xe8(%rbp), %rdx
callq 0x17af0
jmp 0x14fd7
leaq -0xe8(%rbp), %rdi
callq 0xc6b8
leaq -0xe9(%rbp), %rdi
callq 0xc3c0
leaq -0xc8(%rbp), %rax
movq %rax, -0xa8(%rbp)
movq -0xa8(%rbp), %rdi
leaq 0x23c047(%rip), %rsi    # 0x251052
callq 0x17bd0
movb %al, -0xb99(%rbp)
jmp 0x15018
movb -0xb99(%rbp), %cl
movb $0x1, %al
testb $0x1, %cl
movb %al, -0xb9a(%rbp)
jne 0x15037
jmp 0x1502d
movb $0x1, %al
movb %al, -0xb9a(%rbp)
jmp 0x15037
movb -0xb9a(%rbp), %al
testb $0x1, %al
jne 0x15043
jmp 0x15048
jmp 0x15104
leaq 0x23aa81(%rip), %rdi    # 0x24fad0
leaq 0x23aab1(%rip), %rsi    # 0x24fb07
movl $0xbd, %edx
leaq 0x23aab2(%rip), %rcx    # 0x24fb14
callq 0xc280
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x98(%rbp)
movl %eax, -0x9c(%rbp)
jmp 0x15099
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x98(%rbp)
movl %eax, -0x9c(%rbp)
leaq -0x88(%rbp), %rdi
callq 0xc6b8
leaq -0x89(%rbp), %rdi
callq 0xc3c0
jmp 0x17a33
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x98(%rbp)
movl %eax, -0x9c(%rbp)
jmp 0x150dc
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x98(%rbp)
movl %eax, -0x9c(%rbp)
leaq -0xe8(%rbp), %rdi
callq 0xc6b8
leaq -0xe9(%rbp), %rdi
callq 0xc3c0
jmp 0x17a1c
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x98(%rbp)
movl %eax, -0x9c(%rbp)
jmp 0x17a10
movq -0x10(%rbp), %rax
movq 0x10(%rax), %rdi
leaq 0x246165(%rip), %rsi    # 0x25b278
callq 0xc100
movq %rax, -0xf8(%rbp)
movq -0xf8(%rbp), %rax
addq $0x1, %rax
movq %rax, -0xf8(%rbp)
movq -0xf8(%rbp), %rdi
leaq 0x23a9f2(%rip), %rsi    # 0x24fb31
callq 0xc490
cmpl $0x0, %eax
jne 0x15268
leaq -0x119(%rbp), %rdi
movq %rdi, -0xba8(%rbp)
callq 0xc5e0
movq -0xba8(%rbp), %rdx
leaq 0x23a9c7(%rip), %rsi    # 0x24fb35
leaq -0x118(%rbp), %rdi
callq 0x17a40
jmp 0x1517c
leaq -0x141(%rbp), %rdi
movq %rdi, -0xbb0(%rbp)
callq 0xc5e0
movq -0xbb0(%rbp), %rdx
leaq 0x23a9a3(%rip), %rsi    # 0x24fb40
leaq -0x140(%rbp), %rdi
callq 0x17a40
jmp 0x151ab
leaq -0x68(%rbp), %rdi
leaq -0x118(%rbp), %rsi
leaq -0x140(%rbp), %rdx
callq 0x17c00
jmp 0x151c4
leaq -0x140(%rbp), %rdi
callq 0xc6b8
leaq -0x141(%rbp), %rdi
callq 0xc3c0
leaq -0x118(%rbp), %rdi
callq 0xc6b8
leaq -0x119(%rbp), %rdi
callq 0xc3c0
jmp 0x153d7
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x98(%rbp)
movl %eax, -0x9c(%rbp)
jmp 0x15257
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x98(%rbp)
movl %eax, -0x9c(%rbp)
jmp 0x1523f
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x98(%rbp)
movl %eax, -0x9c(%rbp)
leaq -0x140(%rbp), %rdi
callq 0xc6b8
leaq -0x141(%rbp), %rdi
callq 0xc3c0
leaq -0x118(%rbp), %rdi
callq 0xc6b8
leaq -0x119(%rbp), %rdi
callq 0xc3c0
jmp 0x17a10
movq -0xf8(%rbp), %rdi
leaq 0x23a8ce(%rip), %rsi    # 0x24fb44
callq 0xc490
cmpl $0x0, %eax
jne 0x1539f
leaq -0x169(%rbp), %rdi
movq %rdi, -0xbb8(%rbp)
callq 0xc5e0
movq -0xbb8(%rbp), %rdx
leaq 0x23a890(%rip), %rsi    # 0x24fb35
leaq -0x168(%rbp), %rdi
callq 0x17a40
jmp 0x152b3
leaq -0x191(%rbp), %rdi
movq %rdi, -0xbc0(%rbp)
callq 0xc5e0
movq -0xbc0(%rbp), %rdx
leaq 0x23b828(%rip), %rsi    # 0x250afc
leaq -0x190(%rbp), %rdi
callq 0x17a40
jmp 0x152e2
leaq -0x68(%rbp), %rdi
leaq -0x168(%rbp), %rsi
leaq -0x190(%rbp), %rdx
callq 0x17c00
jmp 0x152fb
leaq -0x190(%rbp), %rdi
callq 0xc6b8
leaq -0x191(%rbp), %rdi
callq 0xc3c0
leaq -0x168(%rbp), %rdi
callq 0xc6b8
leaq -0x169(%rbp), %rdi
callq 0xc3c0
jmp 0x153d5
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x98(%rbp)
movl %eax, -0x9c(%rbp)
jmp 0x1538e
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x98(%rbp)
movl %eax, -0x9c(%rbp)
jmp 0x15376
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x98(%rbp)
movl %eax, -0x9c(%rbp)
leaq -0x190(%rbp), %rdi
callq 0xc6b8
leaq -0x191(%rbp), %rdi
callq 0xc3c0
leaq -0x168(%rbp), %rdi
callq 0xc6b8
leaq -0x169(%rbp), %rdi
callq 0xc3c0
jmp 0x17a10
movq -0xf8(%rbp), %rsi
leaq 0x23a79c(%rip), %rdi    # 0x24fb49
xorl %eax, %eax
callq 0xc070
jmp 0x153b6
leaq 0x23a7a4(%rip), %rdi    # 0x24fb61
leaq 0x23a743(%rip), %rsi    # 0x24fb07
movl $0xc7, %edx
leaq 0x23a744(%rip), %rcx    # 0x24fb14
callq 0xc280
jmp 0x153d7
movl $0x3, -0x198(%rbp)
leaq -0x1b8(%rbp), %rdi
callq 0xc480
movq -0x10(%rbp), %rax
movslq -0x198(%rbp), %rcx
movq (%rax,%rcx,8), %rdi
leaq 0x23a764(%rip), %rsi    # 0x24fb67
callq 0xc490
cmpl $0x0, %eax
jne 0x15510
movq -0x10(%rbp), %rax
movslq -0x198(%rbp), %rcx
movq 0x8(%rax,%rcx,8), %rax
movq %rax, -0xbd0(%rbp)
leaq -0x1d9(%rbp), %rdi
movq %rdi, -0xbc8(%rbp)
callq 0xc5e0
movq -0xbd0(%rbp), %rsi
movq -0xbc8(%rbp), %rdx
leaq -0x1d8(%rbp), %rdi
callq 0x17a40
jmp 0x15457
leaq 0x339d22(%rip), %rdi    # 0x34f180
leaq -0x1d8(%rbp), %rsi
callq 0x17cd0
jmp 0x1546c
leaq -0x1d8(%rbp), %rdi
callq 0xc6b8
leaq -0x1d9(%rbp), %rdi
callq 0xc3c0
movq -0x10(%rbp), %rax
movslq -0x198(%rbp), %rcx
movq 0x8(%rax,%rcx,8), %rsi
leaq -0x1b8(%rbp), %rdi
callq 0xc470
jmp 0x154a2
movl -0x198(%rbp), %eax
addl $0x2, %eax
movl %eax, -0x198(%rbp)
jmp 0x15645
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x98(%rbp)
movl %eax, -0x9c(%rbp)
jmp 0x154e8
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x98(%rbp)
movl %eax, -0x9c(%rbp)
leaq -0x1d8(%rbp), %rdi
callq 0xc6b8
leaq -0x1d9(%rbp), %rdi
callq 0xc3c0
jmp 0x17a04
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x98(%rbp)
movl %eax, -0x9c(%rbp)
jmp 0x17a04
movq -0xa8(%rbp), %rsi
leaq 0x23a651(%rip), %rdx    # 0x24fb6f
leaq -0x200(%rbp), %rdi
callq 0x17d60
jmp 0x1552c
leaq 0x339c4d(%rip), %rdi    # 0x34f180
leaq -0x200(%rbp), %rsi
callq 0x17cd0
jmp 0x15541
leaq -0x200(%rbp), %rdi
callq 0xc6b8
movq -0xa8(%rbp), %rax
movq %rax, -0xbe0(%rbp)
leaq -0x241(%rbp), %rdi
movq %rdi, -0xbd8(%rbp)
callq 0xc5e0
movq -0xbd8(%rbp), %rdx
leaq 0x23a5f3(%rip), %rsi    # 0x24fb6f
leaq -0x240(%rbp), %rdi
callq 0x17a40
jmp 0x1558a
movq -0xbe0(%rbp), %rsi
leaq -0x220(%rbp), %rdi
leaq -0x240(%rbp), %rdx
callq 0x17de0
jmp 0x155a6
leaq -0x1b8(%rbp), %rdi
leaq -0x220(%rbp), %rsi
callq 0xc420
leaq -0x220(%rbp), %rdi
callq 0xc6b8
leaq -0x240(%rbp), %rdi
callq 0xc6b8
leaq -0x241(%rbp), %rdi
callq 0xc3c0
jmp 0x15645
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x98(%rbp)
movl %eax, -0x9c(%rbp)
leaq -0x200(%rbp), %rdi
callq 0xc6b8
jmp 0x17a04
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x98(%rbp)
movl %eax, -0x9c(%rbp)
jmp 0x15634
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x98(%rbp)
movl %eax, -0x9c(%rbp)
leaq -0x240(%rbp), %rdi
callq 0xc6b8
leaq -0x241(%rbp), %rdi
callq 0xc3c0
jmp 0x17a04
movq -0x10(%rbp), %rax
movslq -0x198(%rbp), %rcx
movq (%rax,%rcx,8), %rdi
leaq 0x23a51b(%rip), %rsi    # 0x24fb76
callq 0xc490
cmpl $0x0, %eax
jne 0x157aa
leaq -0x269(%rbp), %rdi
movq %rdi, -0xbe8(%rbp)
callq 0xc5e0
movq -0xbe8(%rbp), %rdx
leaq 0x23a4ee(%rip), %rsi    # 0x24fb78
leaq -0x268(%rbp), %rdi
callq 0x17a40
jmp 0x15698
movq -0x10(%rbp), %rax
movslq -0x198(%rbp), %rcx
movq 0x8(%rax,%rcx,8), %rax
movq %rax, -0xbf8(%rbp)
leaq -0x291(%rbp), %rdi
movq %rdi, -0xbf0(%rbp)
callq 0xc5e0
movq -0xbf8(%rbp), %rsi
movq -0xbf0(%rbp), %rdx
leaq -0x290(%rbp), %rdi
callq 0x17a40
jmp 0x156de
leaq -0x68(%rbp), %rdi
leaq -0x268(%rbp), %rsi
leaq -0x290(%rbp), %rdx
callq 0x17c00
jmp 0x156f7
leaq -0x290(%rbp), %rdi
callq 0xc6b8
leaq -0x291(%rbp), %rdi
callq 0xc3c0
leaq -0x268(%rbp), %rdi
callq 0xc6b8
leaq -0x269(%rbp), %rdi
callq 0xc3c0
movl -0x198(%rbp), %eax
addl $0x2, %eax
movl %eax, -0x198(%rbp)
jmp 0x158c2
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x98(%rbp)
movl %eax, -0x9c(%rbp)
jmp 0x15799
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x98(%rbp)
movl %eax, -0x9c(%rbp)
jmp 0x15781
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x98(%rbp)
movl %eax, -0x9c(%rbp)
leaq -0x290(%rbp), %rdi
callq 0xc6b8
leaq -0x291(%rbp), %rdi
callq 0xc3c0
leaq -0x268(%rbp), %rdi
callq 0xc6b8
leaq -0x269(%rbp), %rdi
callq 0xc3c0
jmp 0x17a04
leaq -0x2b9(%rbp), %rdi
movq %rdi, -0xc00(%rbp)
callq 0xc5e0
movq -0xc00(%rbp), %rdx
leaq 0x23a3ad(%rip), %rsi    # 0x24fb78
leaq -0x2b8(%rbp), %rdi
callq 0x17a40
jmp 0x157d9
leaq -0x2e1(%rbp), %rdi
movq %rdi, -0xc08(%rbp)
callq 0xc5e0
movq -0xc08(%rbp), %rdx
leaq 0x23a386(%rip), %rsi    # 0x24fb80
leaq -0x2e0(%rbp), %rdi
callq 0x17a40
jmp 0x15808
leaq -0x68(%rbp), %rdi
leaq -0x2b8(%rbp), %rsi
leaq -0x2e0(%rbp), %rdx
callq 0x17c00
jmp 0x15821
leaq -0x2e0(%rbp), %rdi
callq 0xc6b8
leaq -0x2e1(%rbp), %rdi
callq 0xc3c0
leaq -0x2b8(%rbp), %rdi
callq 0xc6b8
leaq -0x2b9(%rbp), %rdi
callq 0xc3c0
jmp 0x158c2
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x98(%rbp)
movl %eax, -0x9c(%rbp)
jmp 0x158b1
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x98(%rbp)
movl %eax, -0x9c(%rbp)
jmp 0x15899
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x98(%rbp)
movl %eax, -0x9c(%rbp)
leaq -0x2e0(%rbp), %rdi
callq 0xc6b8
leaq -0x2e1(%rbp), %rdi
callq 0xc3c0
leaq -0x2b8(%rbp), %rdi
callq 0xc6b8
leaq -0x2b9(%rbp), %rdi
callq 0xc3c0
jmp 0x17a04
movq -0x10(%rbp), %rax
movslq -0x198(%rbp), %rcx
leaq (%rax,%rcx,8), %rcx
movq %rcx, -0xc20(%rbp)
movslq -0x8(%rbp), %rcx
leaq (%rax,%rcx,8), %rax
movq %rax, -0xc18(%rbp)
leaq -0x301(%rbp), %rdi
movq %rdi, -0xc10(%rbp)
callq 0x17e30
movq -0xc20(%rbp), %rsi
movq -0xc18(%rbp), %rdx
movq -0xc10(%rbp), %rcx
leaq -0x300(%rbp), %rdi
callq 0x17e50
jmp 0x1591d
leaq -0x301(%rbp), %rdi
callq 0x17ed0
movl -0x8(%rbp), %esi
movl -0x198(%rbp), %eax
subl %eax, %esi
leaq -0x68(%rbp), %rdi
callq 0x17ef0
jmp 0x1593f
movq -0xa8(%rbp), %rdi
leaq 0x23a258(%rip), %rsi    # 0x24fba5
callq 0x17f10
movb %al, -0xc21(%rbp)
jmp 0x1595a
movb -0xc21(%rbp), %al
testb $0x1, %al
jne 0x15969
jmp 0x15bb2
movl $0x2de0, %edi           # imm = 0x2DE0
callq 0xc360
movq %rax, -0xc30(%rbp)
jmp 0x1597c
movb $0x1, -0x39a(%rbp)
leaq -0x351(%rbp), %rdi
movq %rdi, -0xc38(%rbp)
callq 0xc5e0
movq -0xc38(%rbp), %rdx
leaq 0x23a1eb(%rip), %rsi    # 0x24fb8f
leaq -0x350(%rbp), %rdi
callq 0x17a40
jmp 0x159b2
leaq -0x330(%rbp), %rdi
leaq -0x68(%rbp), %rsi
leaq -0x350(%rbp), %rdx
callq 0x17af0
jmp 0x159cb
leaq -0x399(%rbp), %rdi
movq %rdi, -0xc40(%rbp)
callq 0xc5e0
movq -0xc40(%rbp), %rdx
leaq 0x23a1a7(%rip), %rsi    # 0x24fb93
leaq -0x398(%rbp), %rdi
callq 0x17a40
jmp 0x159fa
leaq -0x378(%rbp), %rdi
leaq -0x68(%rbp), %rsi
leaq -0x398(%rbp), %rdx
callq 0x17af0
jmp 0x15a13
movq -0xc30(%rbp), %rdi
leaq -0x330(%rbp), %rsi
leaq -0x378(%rbp), %rdx
callq 0x18d5e0
jmp 0x15a2f
movb $0x0, -0x39a(%rbp)
leaq -0x378(%rbp), %rdi
callq 0xc6b8
leaq -0x398(%rbp), %rdi
callq 0xc6b8
leaq -0x399(%rbp), %rdi
callq 0xc3c0
leaq -0x330(%rbp), %rdi
callq 0xc6b8
leaq -0x350(%rbp), %rdi
callq 0xc6b8
leaq -0x351(%rbp), %rdi
callq 0xc3c0
movq -0xc30(%rbp), %rax
movq %rax, -0x310(%rbp)
movq -0x310(%rbp), %rsi
leaq -0x68(%rbp), %rdi
leaq -0x300(%rbp), %rdx
callq 0x17f40
jmp 0x15aa5
jmp 0x179a3
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x98(%rbp)
movl %eax, -0x9c(%rbp)
leaq -0x301(%rbp), %rdi
callq 0x17ed0
jmp 0x17a04
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x98(%rbp)
movl %eax, -0x9c(%rbp)
jmp 0x179f8
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x98(%rbp)
movl %eax, -0x9c(%rbp)
jmp 0x15b85
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x98(%rbp)
movl %eax, -0x9c(%rbp)
jmp 0x15b79
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x98(%rbp)
movl %eax, -0x9c(%rbp)
jmp 0x15b61
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x98(%rbp)
movl %eax, -0x9c(%rbp)
jmp 0x15b55
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x98(%rbp)
movl %eax, -0x9c(%rbp)
leaq -0x378(%rbp), %rdi
callq 0xc6b8
leaq -0x398(%rbp), %rdi
callq 0xc6b8
leaq -0x399(%rbp), %rdi
callq 0xc3c0
leaq -0x330(%rbp), %rdi
callq 0xc6b8
leaq -0x350(%rbp), %rdi
callq 0xc6b8
leaq -0x351(%rbp), %rdi
callq 0xc3c0
testb $0x1, -0x39a(%rbp)
jne 0x15b9c
jmp 0x15bad
movq -0xc30(%rbp), %rdi
movl $0x2de0, %esi           # imm = 0x2DE0
callq 0xc370
jmp 0x179f8
movq -0xa8(%rbp), %rdi
leaq 0x239fec(%rip), %rsi    # 0x24fbac
callq 0x17f10
movb %al, -0xc41(%rbp)
jmp 0x15bcd
movb -0xc41(%rbp), %al
testb $0x1, %al
jne 0x15bdc
jmp 0x15deb
movl $0x32f8, %edi           # imm = 0x32F8
callq 0xc360
movq %rax, -0xc50(%rbp)
jmp 0x15bef
movb $0x1, -0x432(%rbp)
leaq -0x3e9(%rbp), %rdi
movq %rdi, -0xc58(%rbp)
callq 0xc5e0
movq -0xc58(%rbp), %rdx
leaq 0x239f78(%rip), %rsi    # 0x24fb8f
leaq -0x3e8(%rbp), %rdi
callq 0x17a40
jmp 0x15c25
leaq -0x3c8(%rbp), %rdi
leaq -0x68(%rbp), %rsi
leaq -0x3e8(%rbp), %rdx
callq 0x17af0
jmp 0x15c3e
leaq -0x431(%rbp), %rdi
movq %rdi, -0xc60(%rbp)
callq 0xc5e0
movq -0xc60(%rbp), %rdx
leaq 0x239f34(%rip), %rsi    # 0x24fb93
leaq -0x430(%rbp), %rdi
callq 0x17a40
jmp 0x15c6d
leaq -0x410(%rbp), %rdi
leaq -0x68(%rbp), %rsi
leaq -0x430(%rbp), %rdx
callq 0x17af0
jmp 0x15c86
movq -0xc50(%rbp), %rdi
leaq -0x3c8(%rbp), %rsi
leaq -0x410(%rbp), %rdx
callq 0x19b040
jmp 0x15ca2
movb $0x0, -0x432(%rbp)
leaq -0x410(%rbp), %rdi
callq 0xc6b8
leaq -0x430(%rbp), %rdi
callq 0xc6b8
leaq -0x431(%rbp), %rdi
callq 0xc3c0
leaq -0x3c8(%rbp), %rdi
callq 0xc6b8
leaq -0x3e8(%rbp), %rdi
callq 0xc6b8
leaq -0x3e9(%rbp), %rdi
callq 0xc3c0
movq -0xc50(%rbp), %rax
movq %rax, -0x3a8(%rbp)
movq -0x3a8(%rbp), %rsi
leaq -0x68(%rbp), %rdi
leaq -0x300(%rbp), %rdx
callq 0x183f0
jmp 0x15d18
jmp 0x179a1
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x98(%rbp)
movl %eax, -0x9c(%rbp)
jmp 0x15dbe
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x98(%rbp)
movl %eax, -0x9c(%rbp)
jmp 0x15db2
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x98(%rbp)
movl %eax, -0x9c(%rbp)
jmp 0x15d9a
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x98(%rbp)
movl %eax, -0x9c(%rbp)
jmp 0x15d8e
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x98(%rbp)
movl %eax, -0x9c(%rbp)
leaq -0x410(%rbp), %rdi
callq 0xc6b8
leaq -0x430(%rbp), %rdi
callq 0xc6b8
leaq -0x431(%rbp), %rdi
callq 0xc3c0
leaq -0x3c8(%rbp), %rdi
callq 0xc6b8
leaq -0x3e8(%rbp), %rdi
callq 0xc6b8
leaq -0x3e9(%rbp), %rdi
callq 0xc3c0
testb $0x1, -0x432(%rbp)
jne 0x15dd5
jmp 0x15de6
movq -0xc50(%rbp), %rdi
movl $0x32f8, %esi           # imm = 0x32F8
callq 0xc370
jmp 0x179f8
movq -0xa8(%rbp), %rdi
leaq 0x239da0(%rip), %rsi    # 0x24fb99
callq 0x17f10
movb %al, -0xc61(%rbp)
jmp 0x15e06
movb -0xc61(%rbp), %al
testb $0x1, %al
jne 0x15e15
jmp 0x160b9
movl $0x3dc8, %edi           # imm = 0x3DC8
callq 0xc360
movq %rax, -0xc70(%rbp)
jmp 0x15e28
movb $0x1, -0x4f2(%rbp)
leaq -0x481(%rbp), %rdi
movq %rdi, -0xc78(%rbp)
callq 0xc5e0
movq -0xc78(%rbp), %rdx
leaq 0x239d3f(%rip), %rsi    # 0x24fb8f
leaq -0x480(%rbp), %rdi
callq 0x17a40
jmp 0x15e5e
leaq -0x460(%rbp), %rdi
leaq -0x68(%rbp), %rsi
leaq -0x480(%rbp), %rdx
callq 0x17af0
jmp 0x15e77
leaq -0x4c9(%rbp), %rdi
movq %rdi, -0xc80(%rbp)
callq 0xc5e0
movq -0xc80(%rbp), %rdx
leaq 0x239cfb(%rip), %rsi    # 0x24fb93
leaq -0x4c8(%rbp), %rdi
callq 0x17a40
jmp 0x15ea6
leaq -0x4a8(%rbp), %rdi
leaq -0x68(%rbp), %rsi
leaq -0x4c8(%rbp), %rdx
callq 0x17af0
jmp 0x15ebf
leaq -0x4f1(%rbp), %rdi
movq %rdi, -0xc88(%rbp)
callq 0xc5e0
movq -0xc88(%rbp), %rdx
leaq 0x239cb9(%rip), %rsi    # 0x24fb99
leaq -0x4f0(%rbp), %rdi
callq 0x17a40
jmp 0x15eee
leaq -0x68(%rbp), %rdi
callq 0x188a0
movl %eax, -0xc8c(%rbp)
jmp 0x15eff
movl -0xc8c(%rbp), %r8d
movq -0xc70(%rbp), %rdi
leaq -0x460(%rbp), %rsi
leaq -0x4a8(%rbp), %rdx
leaq -0x4f0(%rbp), %rcx
callq 0x2066a0
jmp 0x15f29
movb $0x0, -0x4f2(%rbp)
leaq -0x4f0(%rbp), %rdi
callq 0xc6b8
leaq -0x4f1(%rbp), %rdi
callq 0xc3c0
leaq -0x4a8(%rbp), %rdi
callq 0xc6b8
leaq -0x4c8(%rbp), %rdi
callq 0xc6b8
leaq -0x4c9(%rbp), %rdi
callq 0xc3c0
leaq -0x460(%rbp), %rdi
callq 0xc6b8
leaq -0x480(%rbp), %rdi
callq 0xc6b8
leaq -0x481(%rbp), %rdi
callq 0xc3c0
movq -0xc70(%rbp), %rax
movq %rax, -0x440(%rbp)
movq -0x440(%rbp), %rsi
leaq -0x68(%rbp), %rdi
leaq -0x300(%rbp), %rdx
callq 0x188c0
jmp 0x15fb7
jmp 0x1799f
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x98(%rbp)
movl %eax, -0x9c(%rbp)
jmp 0x1608c
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x98(%rbp)
movl %eax, -0x9c(%rbp)
jmp 0x16080
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x98(%rbp)
movl %eax, -0x9c(%rbp)
jmp 0x16068
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x98(%rbp)
movl %eax, -0x9c(%rbp)
jmp 0x1605c
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x98(%rbp)
movl %eax, -0x9c(%rbp)
jmp 0x16044
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x98(%rbp)
movl %eax, -0x9c(%rbp)
leaq -0x4f0(%rbp), %rdi
callq 0xc6b8
leaq -0x4f1(%rbp), %rdi
callq 0xc3c0
leaq -0x4a8(%rbp), %rdi
callq 0xc6b8
leaq -0x4c8(%rbp), %rdi
callq 0xc6b8
leaq -0x4c9(%rbp), %rdi
callq 0xc3c0
leaq -0x460(%rbp), %rdi
callq 0xc6b8
leaq -0x480(%rbp), %rdi
callq 0xc6b8
leaq -0x481(%rbp), %rdi
callq 0xc3c0
testb $0x1, -0x4f2(%rbp)
jne 0x160a3
jmp 0x160b4
movq -0xc70(%rbp), %rdi
movl $0x3dc8, %esi           # imm = 0x3DC8
callq 0xc370
jmp 0x179f8
movq -0xa8(%rbp), %rdi
leaq 0x239adc(%rip), %rsi    # 0x24fba3
callq 0x17f10
movb %al, -0xc8d(%rbp)
jmp 0x160d4
movb -0xc8d(%rbp), %al
testb $0x1, %al
jne 0x160e3
jmp 0x162f2
movl $0x2c38, %edi           # imm = 0x2C38
callq 0xc360
movq %rax, -0xc98(%rbp)
jmp 0x160f6
movb $0x1, -0x58a(%rbp)
leaq -0x541(%rbp), %rdi
movq %rdi, -0xca0(%rbp)
callq 0xc5e0
movq -0xca0(%rbp), %rdx
leaq 0x239a71(%rip), %rsi    # 0x24fb8f
leaq -0x540(%rbp), %rdi
callq 0x17a40
jmp 0x1612c
leaq -0x520(%rbp), %rdi
leaq -0x68(%rbp), %rsi
leaq -0x540(%rbp), %rdx
callq 0x17af0
jmp 0x16145
leaq -0x589(%rbp), %rdi
movq %rdi, -0xca8(%rbp)
callq 0xc5e0
movq -0xca8(%rbp), %rdx
leaq 0x239a2d(%rip), %rsi    # 0x24fb93
leaq -0x588(%rbp), %rdi
callq 0x17a40
jmp 0x16174
leaq -0x568(%rbp), %rdi
leaq -0x68(%rbp), %rsi
leaq -0x588(%rbp), %rdx
callq 0x17af0
jmp 0x1618d
movq -0xc98(%rbp), %rdi
leaq -0x520(%rbp), %rsi
leaq -0x568(%rbp), %rdx
callq 0x1d1290
jmp 0x161a9
movb $0x0, -0x58a(%rbp)
leaq -0x568(%rbp), %rdi
callq 0xc6b8
leaq -0x588(%rbp), %rdi
callq 0xc6b8
leaq -0x589(%rbp), %rdi
callq 0xc3c0
leaq -0x520(%rbp), %rdi
callq 0xc6b8
leaq -0x540(%rbp), %rdi
callq 0xc6b8
leaq -0x541(%rbp), %rdi
callq 0xc3c0
movq -0xc98(%rbp), %rax
movq %rax, -0x500(%rbp)
movq -0x500(%rbp), %rsi
leaq -0x68(%rbp), %rdi
leaq -0x300(%rbp), %rdx
callq 0x18d70
jmp 0x1621f
jmp 0x1799d
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x98(%rbp)
movl %eax, -0x9c(%rbp)
jmp 0x162c5
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x98(%rbp)
movl %eax, -0x9c(%rbp)
jmp 0x162b9
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x98(%rbp)
movl %eax, -0x9c(%rbp)
jmp 0x162a1
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x98(%rbp)
movl %eax, -0x9c(%rbp)
jmp 0x16295
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x98(%rbp)
movl %eax, -0x9c(%rbp)
leaq -0x568(%rbp), %rdi
callq 0xc6b8
leaq -0x588(%rbp), %rdi
callq 0xc6b8
leaq -0x589(%rbp), %rdi
callq 0xc3c0
leaq -0x520(%rbp), %rdi
callq 0xc6b8
leaq -0x540(%rbp), %rdi
callq 0xc6b8
leaq -0x541(%rbp), %rdi
callq 0xc3c0
testb $0x1, -0x58a(%rbp)
jne 0x162dc
jmp 0x162ed
movq -0xc98(%rbp), %rdi
movl $0x2c38, %esi           # imm = 0x2C38
callq 0xc370
jmp 0x179f8
movq -0xa8(%rbp), %rdi
leaq 0x2398aa(%rip), %rsi    # 0x24fbaa
callq 0x17f10
movb %al, -0xca9(%rbp)
jmp 0x1630d
movb -0xca9(%rbp), %al
testb $0x1, %al
jne 0x1631c
jmp 0x1652b
movl $0x2b00, %edi           # imm = 0x2B00
callq 0xc360
movq %rax, -0xcb8(%rbp)
jmp 0x1632f
movb $0x1, -0x622(%rbp)
leaq -0x5d9(%rbp), %rdi
movq %rdi, -0xcc0(%rbp)
callq 0xc5e0
movq -0xcc0(%rbp), %rdx
leaq 0x239838(%rip), %rsi    # 0x24fb8f
leaq -0x5d8(%rbp), %rdi
callq 0x17a40
jmp 0x16365
leaq -0x5b8(%rbp), %rdi
leaq -0x68(%rbp), %rsi
leaq -0x5d8(%rbp), %rdx
callq 0x17af0
jmp 0x1637e
leaq -0x621(%rbp), %rdi
movq %rdi, -0xcc8(%rbp)
callq 0xc5e0
movq -0xcc8(%rbp), %rdx
leaq 0x2397f4(%rip), %rsi    # 0x24fb93
leaq -0x620(%rbp), %rdi
callq 0x17a40
jmp 0x163ad
leaq -0x600(%rbp), %rdi
leaq -0x68(%rbp), %rsi
leaq -0x620(%rbp), %rdx
callq 0x17af0
jmp 0x163c6
movq -0xcb8(%rbp), %rdi
leaq -0x5b8(%rbp), %rsi
leaq -0x600(%rbp), %rdx
callq 0x1de490
jmp 0x163e2
movb $0x0, -0x622(%rbp)
leaq -0x600(%rbp), %rdi
callq 0xc6b8
leaq -0x620(%rbp), %rdi
callq 0xc6b8
leaq -0x621(%rbp), %rdi
callq 0xc3c0
leaq -0x5b8(%rbp), %rdi
callq 0xc6b8
leaq -0x5d8(%rbp), %rdi
callq 0xc6b8
leaq -0x5d9(%rbp), %rdi
callq 0xc3c0
movq -0xcb8(%rbp), %rax
movq %rax, -0x598(%rbp)
movq -0x598(%rbp), %rsi
leaq -0x68(%rbp), %rdi
leaq -0x300(%rbp), %rdx
callq 0x19220
jmp 0x16458
jmp 0x1799b
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x98(%rbp)
movl %eax, -0x9c(%rbp)
jmp 0x164fe
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x98(%rbp)
movl %eax, -0x9c(%rbp)
jmp 0x164f2
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x98(%rbp)
movl %eax, -0x9c(%rbp)
jmp 0x164da
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x98(%rbp)
movl %eax, -0x9c(%rbp)
jmp 0x164ce
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x98(%rbp)
movl %eax, -0x9c(%rbp)
leaq -0x600(%rbp), %rdi
callq 0xc6b8
leaq -0x620(%rbp), %rdi
callq 0xc6b8
leaq -0x621(%rbp), %rdi
callq 0xc3c0
leaq -0x5b8(%rbp), %rdi
callq 0xc6b8
leaq -0x5d8(%rbp), %rdi
callq 0xc6b8
leaq -0x5d9(%rbp), %rdi
callq 0xc3c0
testb $0x1, -0x622(%rbp)
jne 0x16515
jmp 0x16526
movq -0xcb8(%rbp), %rdi
movl $0x2b00, %esi           # imm = 0x2B00
callq 0xc370
jmp 0x179f8
movq -0xa8(%rbp), %rdi
leaq 0x239678(%rip), %rsi    # 0x24fbb1
callq 0x17f10
movb %al, -0xcc9(%rbp)
jmp 0x16546
movb -0xcc9(%rbp), %al
testb $0x1, %al
jne 0x16555
jmp 0x16764
movl $0x3210, %edi           # imm = 0x3210
callq 0xc360
movq %rax, -0xcd8(%rbp)
jmp 0x16568
movb $0x1, -0x6ba(%rbp)
leaq -0x671(%rbp), %rdi
movq %rdi, -0xce0(%rbp)
callq 0xc5e0
movq -0xce0(%rbp), %rdx
leaq 0x2395ff(%rip), %rsi    # 0x24fb8f
leaq -0x670(%rbp), %rdi
callq 0x17a40
jmp 0x1659e
leaq -0x650(%rbp), %rdi
leaq -0x68(%rbp), %rsi
leaq -0x670(%rbp), %rdx
callq 0x17af0
jmp 0x165b7
leaq -0x6b9(%rbp), %rdi
movq %rdi, -0xce8(%rbp)
callq 0xc5e0
movq -0xce8(%rbp), %rdx
leaq 0x2395bb(%rip), %rsi    # 0x24fb93
leaq -0x6b8(%rbp), %rdi
callq 0x17a40
jmp 0x165e6
leaq -0x698(%rbp), %rdi
leaq -0x68(%rbp), %rsi
leaq -0x6b8(%rbp), %rdx
callq 0x17af0
jmp 0x165ff
movq -0xcd8(%rbp), %rdi
leaq -0x650(%rbp), %rsi
leaq -0x698(%rbp), %rdx
callq 0x1b73c0
jmp 0x1661b
movb $0x0, -0x6ba(%rbp)
leaq -0x698(%rbp), %rdi
callq 0xc6b8
leaq -0x6b8(%rbp), %rdi
callq 0xc6b8
leaq -0x6b9(%rbp), %rdi
callq 0xc3c0
leaq -0x650(%rbp), %rdi
callq 0xc6b8
leaq -0x670(%rbp), %rdi
callq 0xc6b8
leaq -0x671(%rbp), %rdi
callq 0xc3c0
movq -0xcd8(%rbp), %rax
movq %rax, -0x630(%rbp)
movq -0x630(%rbp), %rsi
leaq -0x68(%rbp), %rdi
leaq -0x300(%rbp), %rdx
callq 0x196d0
jmp 0x16691
jmp 0x17999
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x98(%rbp)
movl %eax, -0x9c(%rbp)
jmp 0x16737
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x98(%rbp)
movl %eax, -0x9c(%rbp)
jmp 0x1672b
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x98(%rbp)
movl %eax, -0x9c(%rbp)
jmp 0x16713
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x98(%rbp)
movl %eax, -0x9c(%rbp)
jmp 0x16707
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x98(%rbp)
movl %eax, -0x9c(%rbp)
leaq -0x698(%rbp), %rdi
callq 0xc6b8
leaq -0x6b8(%rbp), %rdi
callq 0xc6b8
leaq -0x6b9(%rbp), %rdi
callq 0xc3c0
leaq -0x650(%rbp), %rdi
callq 0xc6b8
leaq -0x670(%rbp), %rdi
callq 0xc6b8
leaq -0x671(%rbp), %rdi
callq 0xc3c0
testb $0x1, -0x6ba(%rbp)
jne 0x1674e
jmp 0x1675f
movq -0xcd8(%rbp), %rdi
movl $0x3210, %esi           # imm = 0x3210
callq 0xc370
jmp 0x179f8
movq -0xa8(%rbp), %rdi
leaq 0x239445(%rip), %rsi    # 0x24fbb7
callq 0x17f10
movb %al, -0xce9(%rbp)
jmp 0x1677f
movb -0xce9(%rbp), %al
testb $0x1, %al
jne 0x1678e
jmp 0x1699d
movl $0x31d8, %edi           # imm = 0x31D8
callq 0xc360
movq %rax, -0xcf8(%rbp)
jmp 0x167a1
movb $0x1, -0x752(%rbp)
leaq -0x709(%rbp), %rdi
movq %rdi, -0xd00(%rbp)
callq 0xc5e0
movq -0xd00(%rbp), %rdx
leaq 0x2393c6(%rip), %rsi    # 0x24fb8f
leaq -0x708(%rbp), %rdi
callq 0x17a40
jmp 0x167d7
leaq -0x6e8(%rbp), %rdi
leaq -0x68(%rbp), %rsi
leaq -0x708(%rbp), %rdx
callq 0x17af0
jmp 0x167f0
leaq -0x751(%rbp), %rdi
movq %rdi, -0xd08(%rbp)
callq 0xc5e0
movq -0xd08(%rbp), %rdx
leaq 0x239382(%rip), %rsi    # 0x24fb93
leaq -0x750(%rbp), %rdi
callq 0x17a40
jmp 0x1681f
leaq -0x730(%rbp), %rdi
leaq -0x68(%rbp), %rsi
leaq -0x750(%rbp), %rdx
callq 0x17af0
jmp 0x16838
movq -0xcf8(%rbp), %rdi
leaq -0x6e8(%rbp), %rsi
leaq -0x730(%rbp), %rdx
callq 0x1c4050
jmp 0x16854
movb $0x0, -0x752(%rbp)
leaq -0x730(%rbp), %rdi
callq 0xc6b8
leaq -0x750(%rbp), %rdi
callq 0xc6b8
leaq -0x751(%rbp), %rdi
callq 0xc3c0
leaq -0x6e8(%rbp), %rdi
callq 0xc6b8
leaq -0x708(%rbp), %rdi
callq 0xc6b8
leaq -0x709(%rbp), %rdi
callq 0xc3c0
movq -0xcf8(%rbp), %rax
movq %rax, -0x6c8(%rbp)
movq -0x6c8(%rbp), %rsi
leaq -0x68(%rbp), %rdi
leaq -0x300(%rbp), %rdx
callq 0x19b80
jmp 0x168ca
jmp 0x17997
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x98(%rbp)
movl %eax, -0x9c(%rbp)
jmp 0x16970
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x98(%rbp)
movl %eax, -0x9c(%rbp)
jmp 0x16964
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x98(%rbp)
movl %eax, -0x9c(%rbp)
jmp 0x1694c
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x98(%rbp)
movl %eax, -0x9c(%rbp)
jmp 0x16940
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x98(%rbp)
movl %eax, -0x9c(%rbp)
leaq -0x730(%rbp), %rdi
callq 0xc6b8
leaq -0x750(%rbp), %rdi
callq 0xc6b8
leaq -0x751(%rbp), %rdi
callq 0xc3c0
leaq -0x6e8(%rbp), %rdi
callq 0xc6b8
leaq -0x708(%rbp), %rdi
callq 0xc6b8
leaq -0x709(%rbp), %rdi
callq 0xc3c0
testb $0x1, -0x752(%rbp)
jne 0x16987
jmp 0x16998
movq -0xcf8(%rbp), %rdi
movl $0x31d8, %esi           # imm = 0x31D8
callq 0xc370
jmp 0x179f8
movq -0xa8(%rbp), %rdi
leaq 0x239210(%rip), %rsi    # 0x24fbbb
callq 0x17f10
movb %al, -0xd09(%rbp)
jmp 0x169b8
movb -0xd09(%rbp), %al
testb $0x1, %al
jne 0x169c7
jmp 0x16bd6
movl $0x2770, %edi           # imm = 0x2770
callq 0xc360
movq %rax, -0xd18(%rbp)
jmp 0x169da
movb $0x1, -0x7ea(%rbp)
leaq -0x7a1(%rbp), %rdi
movq %rdi, -0xd20(%rbp)
callq 0xc5e0
movq -0xd20(%rbp), %rdx
leaq 0x23918d(%rip), %rsi    # 0x24fb8f
leaq -0x7a0(%rbp), %rdi
callq 0x17a40
jmp 0x16a10
leaq -0x780(%rbp), %rdi
leaq -0x68(%rbp), %rsi
leaq -0x7a0(%rbp), %rdx
callq 0x17af0
jmp 0x16a29
leaq -0x7e9(%rbp), %rdi
movq %rdi, -0xd28(%rbp)
callq 0xc5e0
movq -0xd28(%rbp), %rdx
leaq 0x239149(%rip), %rsi    # 0x24fb93
leaq -0x7e8(%rbp), %rdi
callq 0x17a40
jmp 0x16a58
leaq -0x7c8(%rbp), %rdi
leaq -0x68(%rbp), %rsi
leaq -0x7e8(%rbp), %rdx
callq 0x17af0
jmp 0x16a71
movq -0xd18(%rbp), %rdi
leaq -0x780(%rbp), %rsi
leaq -0x7c8(%rbp), %rdx
callq 0x2385b0
jmp 0x16a8d
movb $0x0, -0x7ea(%rbp)
leaq -0x7c8(%rbp), %rdi
callq 0xc6b8
leaq -0x7e8(%rbp), %rdi
callq 0xc6b8
leaq -0x7e9(%rbp), %rdi
callq 0xc3c0
leaq -0x780(%rbp), %rdi
callq 0xc6b8
leaq -0x7a0(%rbp), %rdi
callq 0xc6b8
leaq -0x7a1(%rbp), %rdi
callq 0xc3c0
movq -0xd18(%rbp), %rax
movq %rax, -0x760(%rbp)
movq -0x760(%rbp), %rsi
leaq -0x68(%rbp), %rdi
leaq -0x300(%rbp), %rdx
callq 0x1a030
jmp 0x16b03
jmp 0x17995
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x98(%rbp)
movl %eax, -0x9c(%rbp)
jmp 0x16ba9
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x98(%rbp)
movl %eax, -0x9c(%rbp)
jmp 0x16b9d
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x98(%rbp)
movl %eax, -0x9c(%rbp)
jmp 0x16b85
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x98(%rbp)
movl %eax, -0x9c(%rbp)
jmp 0x16b79
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x98(%rbp)
movl %eax, -0x9c(%rbp)
leaq -0x7c8(%rbp), %rdi
callq 0xc6b8
leaq -0x7e8(%rbp), %rdi
callq 0xc6b8
leaq -0x7e9(%rbp), %rdi
callq 0xc3c0
leaq -0x780(%rbp), %rdi
callq 0xc6b8
leaq -0x7a0(%rbp), %rdi
callq 0xc6b8
leaq -0x7a1(%rbp), %rdi
callq 0xc3c0
testb $0x1, -0x7ea(%rbp)
jne 0x16bc0
jmp 0x16bd1
movq -0xd18(%rbp), %rdi
movl $0x2770, %esi           # imm = 0x2770
callq 0xc370
jmp 0x179f8
movq -0xa8(%rbp), %rdi
leaq 0x238fde(%rip), %rsi    # 0x24fbc2
callq 0x17f10
movb %al, -0xd29(%rbp)
jmp 0x16bf1
movb -0xd29(%rbp), %al
testb $0x1, %al
jne 0x16c00
jmp 0x16e3b
movl $0x2a30, %edi           # imm = 0x2A30
callq 0xc360
movq %rax, -0xd38(%rbp)
jmp 0x16c13
movb $0x1, -0x882(%rbp)
leaq -0x839(%rbp), %rdi
movq %rdi, -0xd40(%rbp)
callq 0xc5e0
movq -0xd40(%rbp), %rdx
leaq 0x238f54(%rip), %rsi    # 0x24fb8f
leaq -0x838(%rbp), %rdi
callq 0x17a40
jmp 0x16c49
leaq -0x818(%rbp), %rdi
leaq -0x68(%rbp), %rsi
leaq -0x838(%rbp), %rdx
callq 0x17af0
jmp 0x16c62
leaq -0x881(%rbp), %rdi
movq %rdi, -0xd48(%rbp)
callq 0xc5e0
movq -0xd48(%rbp), %rdx
leaq 0x238f10(%rip), %rsi    # 0x24fb93
leaq -0x880(%rbp), %rdi
callq 0x17a40
jmp 0x16c91
leaq -0x860(%rbp), %rdi
leaq -0x68(%rbp), %rsi
leaq -0x880(%rbp), %rdx
callq 0x17af0
jmp 0x16caa
leaq -0x68(%rbp), %rdi
callq 0x1a4e0
movl %eax, -0xd4c(%rbp)
jmp 0x16cbb
movl -0xd4c(%rbp), %ecx
movq -0xd38(%rbp), %rdi
leaq -0x818(%rbp), %rsi
leaq -0x860(%rbp), %rdx
callq 0x2451a0
jmp 0x16cdd
movb $0x0, -0x882(%rbp)
leaq -0x860(%rbp), %rdi
callq 0xc6b8
leaq -0x880(%rbp), %rdi
callq 0xc6b8
leaq -0x881(%rbp), %rdi
callq 0xc3c0
leaq -0x818(%rbp), %rdi
callq 0xc6b8
leaq -0x838(%rbp), %rdi
callq 0xc6b8
leaq -0x839(%rbp), %rdi
callq 0xc3c0
movq -0xd38(%rbp), %rax
movq %rax, -0x7f8(%rbp)
movq -0x7f8(%rbp), %rax
movl 0x28b8(%rax), %ecx
addl %ecx, %ecx
movl %ecx, 0x28b8(%rax)
movq -0x7f8(%rbp), %rsi
leaq -0x68(%rbp), %rdi
leaq -0x300(%rbp), %rdx
callq 0x1a500
jmp 0x16d68
jmp 0x17993
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x98(%rbp)
movl %eax, -0x9c(%rbp)
jmp 0x16e0e
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x98(%rbp)
movl %eax, -0x9c(%rbp)
jmp 0x16e02
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x98(%rbp)
movl %eax, -0x9c(%rbp)
jmp 0x16dea
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x98(%rbp)
movl %eax, -0x9c(%rbp)
jmp 0x16dde
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x98(%rbp)
movl %eax, -0x9c(%rbp)
leaq -0x860(%rbp), %rdi
callq 0xc6b8
leaq -0x880(%rbp), %rdi
callq 0xc6b8
leaq -0x881(%rbp), %rdi
callq 0xc3c0
leaq -0x818(%rbp), %rdi
callq 0xc6b8
leaq -0x838(%rbp), %rdi
callq 0xc6b8
leaq -0x839(%rbp), %rdi
callq 0xc3c0
testb $0x1, -0x882(%rbp)
jne 0x16e25
jmp 0x16e36
movq -0xd38(%rbp), %rdi
movl $0x2a30, %esi           # imm = 0x2A30
callq 0xc370
jmp 0x179f8
movq -0xa8(%rbp), %rdi
leaq 0x238d81(%rip), %rsi    # 0x24fbca
callq 0x17f10
movb %al, -0xd4d(%rbp)
jmp 0x16e56
movb -0xd4d(%rbp), %al
testb $0x1, %al
jne 0x16e65
jmp 0x17074
movl $0x2910, %edi           # imm = 0x2910
callq 0xc360
movq %rax, -0xd58(%rbp)
jmp 0x16e78
movb $0x1, -0x91a(%rbp)
leaq -0x8d1(%rbp), %rdi
movq %rdi, -0xd60(%rbp)
callq 0xc5e0
movq -0xd60(%rbp), %rdx
leaq 0x238cef(%rip), %rsi    # 0x24fb8f
leaq -0x8d0(%rbp), %rdi
callq 0x17a40
jmp 0x16eae
leaq -0x8b0(%rbp), %rdi
leaq -0x68(%rbp), %rsi
leaq -0x8d0(%rbp), %rdx
callq 0x17af0
jmp 0x16ec7
leaq -0x919(%rbp), %rdi
movq %rdi, -0xd68(%rbp)
callq 0xc5e0
movq -0xd68(%rbp), %rdx
leaq 0x238cab(%rip), %rsi    # 0x24fb93
leaq -0x918(%rbp), %rdi
callq 0x17a40
jmp 0x16ef6
leaq -0x8f8(%rbp), %rdi
leaq -0x68(%rbp), %rsi
leaq -0x918(%rbp), %rdx
callq 0x17af0
jmp 0x16f0f
movq -0xd58(%rbp), %rdi
leaq -0x8b0(%rbp), %rsi
leaq -0x8f8(%rbp), %rdx
callq 0x21a990
jmp 0x16f2b
movb $0x0, -0x91a(%rbp)
leaq -0x8f8(%rbp), %rdi
callq 0xc6b8
leaq -0x918(%rbp), %rdi
callq 0xc6b8
leaq -0x919(%rbp), %rdi
callq 0xc3c0
leaq -0x8b0(%rbp), %rdi
callq 0xc6b8
leaq -0x8d0(%rbp), %rdi
callq 0xc6b8
leaq -0x8d1(%rbp), %rdi
callq 0xc3c0
movq -0xd58(%rbp), %rax
movq %rax, -0x890(%rbp)
movq -0x890(%rbp), %rsi
leaq -0x68(%rbp), %rdi
leaq -0x300(%rbp), %rdx
callq 0x1a9b0
jmp 0x16fa1
jmp 0x17991
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x98(%rbp)
movl %eax, -0x9c(%rbp)
jmp 0x17047
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x98(%rbp)
movl %eax, -0x9c(%rbp)
jmp 0x1703b
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x98(%rbp)
movl %eax, -0x9c(%rbp)
jmp 0x17023
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x98(%rbp)
movl %eax, -0x9c(%rbp)
jmp 0x17017
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x98(%rbp)
movl %eax, -0x9c(%rbp)
leaq -0x8f8(%rbp), %rdi
callq 0xc6b8
leaq -0x918(%rbp), %rdi
callq 0xc6b8
leaq -0x919(%rbp), %rdi
callq 0xc3c0
leaq -0x8b0(%rbp), %rdi
callq 0xc6b8
leaq -0x8d0(%rbp), %rdi
callq 0xc6b8
leaq -0x8d1(%rbp), %rdi
callq 0xc3c0
testb $0x1, -0x91a(%rbp)
jne 0x1705e
jmp 0x1706f
movq -0xd58(%rbp), %rdi
movl $0x2910, %esi           # imm = 0x2910
callq 0xc370
jmp 0x179f8
movq -0xa8(%rbp), %rdi
leaq 0x238b50(%rip), %rsi    # 0x24fbd2
callq 0x17f10
movb %al, -0xd69(%rbp)
jmp 0x1708f
movb -0xd69(%rbp), %al
testb $0x1, %al
jne 0x1709e
jmp 0x172ad
movl $0x2840, %edi           # imm = 0x2840
callq 0xc360
movq %rax, -0xd78(%rbp)
jmp 0x170b1
movb $0x1, -0x9b2(%rbp)
leaq -0x969(%rbp), %rdi
movq %rdi, -0xd80(%rbp)
callq 0xc5e0
movq -0xd80(%rbp), %rdx
leaq 0x238ab6(%rip), %rsi    # 0x24fb8f
leaq -0x968(%rbp), %rdi
callq 0x17a40
jmp 0x170e7
leaq -0x948(%rbp), %rdi
leaq -0x68(%rbp), %rsi
leaq -0x968(%rbp), %rdx
callq 0x17af0
jmp 0x17100
leaq -0x9b1(%rbp), %rdi
movq %rdi, -0xd88(%rbp)
callq 0xc5e0
movq -0xd88(%rbp), %rdx
leaq 0x238a72(%rip), %rsi    # 0x24fb93
leaq -0x9b0(%rbp), %rdi
callq 0x17a40
jmp 0x1712f
leaq -0x990(%rbp), %rdi
leaq -0x68(%rbp), %rsi
leaq -0x9b0(%rbp), %rdx
callq 0x17af0
jmp 0x17148
movq -0xd78(%rbp), %rdi
leaq -0x948(%rbp), %rsi
leaq -0x990(%rbp), %rdx
callq 0x1ec850
jmp 0x17164
movb $0x0, -0x9b2(%rbp)
leaq -0x990(%rbp), %rdi
callq 0xc6b8
leaq -0x9b0(%rbp), %rdi
callq 0xc6b8
leaq -0x9b1(%rbp), %rdi
callq 0xc3c0
leaq -0x948(%rbp), %rdi
callq 0xc6b8
leaq -0x968(%rbp), %rdi
callq 0xc6b8
leaq -0x969(%rbp), %rdi
callq 0xc3c0
movq -0xd78(%rbp), %rax
movq %rax, -0x928(%rbp)
movq -0x928(%rbp), %rsi
leaq -0x68(%rbp), %rdi
leaq -0x300(%rbp), %rdx
callq 0x1ae60
jmp 0x171da
jmp 0x1798f
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x98(%rbp)
movl %eax, -0x9c(%rbp)
jmp 0x17280
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x98(%rbp)
movl %eax, -0x9c(%rbp)
jmp 0x17274
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x98(%rbp)
movl %eax, -0x9c(%rbp)
jmp 0x1725c
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x98(%rbp)
movl %eax, -0x9c(%rbp)
jmp 0x17250
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x98(%rbp)
movl %eax, -0x9c(%rbp)
leaq -0x990(%rbp), %rdi
callq 0xc6b8
leaq -0x9b0(%rbp), %rdi
callq 0xc6b8
leaq -0x9b1(%rbp), %rdi
callq 0xc3c0
leaq -0x948(%rbp), %rdi
callq 0xc6b8
leaq -0x968(%rbp), %rdi
callq 0xc6b8
leaq -0x969(%rbp), %rdi
callq 0xc3c0
testb $0x1, -0x9b2(%rbp)
jne 0x17297
jmp 0x172a8
movq -0xd78(%rbp), %rdi
movl $0x2840, %esi           # imm = 0x2840
callq 0xc370
jmp 0x179f8
movq -0xa8(%rbp), %rdi
leaq 0x23891b(%rip), %rsi    # 0x24fbd6
callq 0x17f10
movb %al, -0xd89(%rbp)
jmp 0x172c8
movb -0xd89(%rbp), %al
testb $0x1, %al
jne 0x172d7
jmp 0x17503
movl $0x3208, %edi           # imm = 0x3208
callq 0xc360
movq %rax, -0xd98(%rbp)
jmp 0x172ea
movb $0x1, -0xa4a(%rbp)
leaq -0xa01(%rbp), %rdi
movq %rdi, -0xda0(%rbp)
callq 0xc5e0
movq -0xda0(%rbp), %rdx
leaq 0x23887d(%rip), %rsi    # 0x24fb8f
leaq -0xa00(%rbp), %rdi
callq 0x17a40
jmp 0x17320
leaq -0x9e0(%rbp), %rdi
leaq -0x68(%rbp), %rsi
leaq -0xa00(%rbp), %rdx
callq 0x17af0
jmp 0x17339
leaq -0xa49(%rbp), %rdi
movq %rdi, -0xda8(%rbp)
callq 0xc5e0
movq -0xda8(%rbp), %rdx
leaq 0x238839(%rip), %rsi    # 0x24fb93
leaq -0xa48(%rbp), %rdi
callq 0x17a40
jmp 0x17368
leaq -0xa28(%rbp), %rdi
leaq -0x68(%rbp), %rsi
leaq -0xa48(%rbp), %rdx
callq 0x17af0
jmp 0x17381
leaq -0x68(%rbp), %rdi
callq 0x188a0
movl %eax, -0xdac(%rbp)
jmp 0x17392
movl -0xdac(%rbp), %r8d
movq -0xd98(%rbp), %rdi
leaq -0x9e0(%rbp), %rsi
leaq -0xa28(%rbp), %rdx
movl $0x4, %ecx
callq 0x1a89b0
jmp 0x173ba
movb $0x0, -0xa4a(%rbp)
leaq -0xa28(%rbp), %rdi
callq 0xc6b8
leaq -0xa48(%rbp), %rdi
callq 0xc6b8
leaq -0xa49(%rbp), %rdi
callq 0xc3c0
leaq -0x9e0(%rbp), %rdi
callq 0xc6b8
leaq -0xa00(%rbp), %rdi
callq 0xc6b8
leaq -0xa01(%rbp), %rdi
callq 0xc3c0
movq -0xd98(%rbp), %rax
movq %rax, -0x9c0(%rbp)
movq -0x9c0(%rbp), %rsi
leaq -0x68(%rbp), %rdi
leaq -0x300(%rbp), %rdx
callq 0x1b310
jmp 0x17430
jmp 0x1798d
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x98(%rbp)
movl %eax, -0x9c(%rbp)
jmp 0x174d6
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x98(%rbp)
movl %eax, -0x9c(%rbp)
jmp 0x174ca
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x98(%rbp)
movl %eax, -0x9c(%rbp)
jmp 0x174b2
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x98(%rbp)
movl %eax, -0x9c(%rbp)
jmp 0x174a6
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x98(%rbp)
movl %eax, -0x9c(%rbp)
leaq -0xa28(%rbp), %rdi
callq 0xc6b8
leaq -0xa48(%rbp), %rdi
callq 0xc6b8
leaq -0xa49(%rbp), %rdi
callq 0xc3c0
leaq -0x9e0(%rbp), %rdi
callq 0xc6b8
leaq -0xa00(%rbp), %rdi
callq 0xc6b8
leaq -0xa01(%rbp), %rdi
callq 0xc3c0
testb $0x1, -0xa4a(%rbp)
jne 0x174ed
jmp 0x174fe
movq -0xd98(%rbp), %rdi
movl $0x3208, %esi           # imm = 0x3208
callq 0xc370
jmp 0x179f8
movq -0xa8(%rbp), %rdi
leaq 0x2386cb(%rip), %rsi    # 0x24fbdc
callq 0x17f10
movb %al, -0xdad(%rbp)
jmp 0x1751e
movb -0xdad(%rbp), %al
testb $0x1, %al
jne 0x1752d
jmp 0x1773c
movl $0x3408, %edi           # imm = 0x3408
callq 0xc360
movq %rax, -0xdb8(%rbp)
jmp 0x17540
movb $0x1, -0xae2(%rbp)
leaq -0xa99(%rbp), %rdi
movq %rdi, -0xdc0(%rbp)
callq 0xc5e0
movq -0xdc0(%rbp), %rdx
leaq 0x238627(%rip), %rsi    # 0x24fb8f
leaq -0xa98(%rbp), %rdi
callq 0x17a40
jmp 0x17576
leaq -0xa78(%rbp), %rdi
leaq -0x68(%rbp), %rsi
leaq -0xa98(%rbp), %rdx
callq 0x17af0
jmp 0x1758f
leaq -0xae1(%rbp), %rdi
movq %rdi, -0xdc8(%rbp)
callq 0xc5e0
movq -0xdc8(%rbp), %rdx
leaq 0x2385e3(%rip), %rsi    # 0x24fb93
leaq -0xae0(%rbp), %rdi
callq 0x17a40
jmp 0x175be
leaq -0xac0(%rbp), %rdi
leaq -0x68(%rbp), %rsi
leaq -0xae0(%rbp), %rdx
callq 0x17af0
jmp 0x175d7
movq -0xdb8(%rbp), %rdi
leaq -0xa78(%rbp), %rsi
leaq -0xac0(%rbp), %rdx
callq 0x1718e0
jmp 0x175f3
movb $0x0, -0xae2(%rbp)
leaq -0xac0(%rbp), %rdi
callq 0xc6b8
leaq -0xae0(%rbp), %rdi
callq 0xc6b8
leaq -0xae1(%rbp), %rdi
callq 0xc3c0
leaq -0xa78(%rbp), %rdi
callq 0xc6b8
leaq -0xa98(%rbp), %rdi
callq 0xc6b8
leaq -0xa99(%rbp), %rdi
callq 0xc3c0
movq -0xdb8(%rbp), %rax
movq %rax, -0xa58(%rbp)
movq -0xa58(%rbp), %rsi
leaq -0x68(%rbp), %rdi
leaq -0x300(%rbp), %rdx
callq 0x1b7c0
jmp 0x17669
jmp 0x1798b
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x98(%rbp)
movl %eax, -0x9c(%rbp)
jmp 0x1770f
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x98(%rbp)
movl %eax, -0x9c(%rbp)
jmp 0x17703
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x98(%rbp)
movl %eax, -0x9c(%rbp)
jmp 0x176eb
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x98(%rbp)
movl %eax, -0x9c(%rbp)
jmp 0x176df
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x98(%rbp)
movl %eax, -0x9c(%rbp)
leaq -0xac0(%rbp), %rdi
callq 0xc6b8
leaq -0xae0(%rbp), %rdi
callq 0xc6b8
leaq -0xae1(%rbp), %rdi
callq 0xc3c0
leaq -0xa78(%rbp), %rdi
callq 0xc6b8
leaq -0xa98(%rbp), %rdi
callq 0xc6b8
leaq -0xa99(%rbp), %rdi
callq 0xc3c0
testb $0x1, -0xae2(%rbp)
jne 0x17726
jmp 0x17737
movq -0xdb8(%rbp), %rdi
movl $0x3408, %esi           # imm = 0x3408
callq 0xc370
jmp 0x179f8
movq -0xa8(%rbp), %rdi
leaq 0x238499(%rip), %rsi    # 0x24fbe3
callq 0x17f10
movb %al, -0xdc9(%rbp)
jmp 0x17757
movb -0xdc9(%rbp), %al
testb $0x1, %al
jne 0x17766
jmp 0x17989
movl $0x3f50, %edi           # imm = 0x3F50
callq 0xc360
movq %rax, -0xdd8(%rbp)
jmp 0x17779
movb $0x1, -0xb7a(%rbp)
leaq -0xb31(%rbp), %rdi
movq %rdi, -0xde0(%rbp)
callq 0xc5e0
movq -0xde0(%rbp), %rdx
leaq 0x2383ee(%rip), %rsi    # 0x24fb8f
leaq -0xb30(%rbp), %rdi
callq 0x17a40
jmp 0x177af
leaq -0xb10(%rbp), %rdi
leaq -0x68(%rbp), %rsi
leaq -0xb30(%rbp), %rdx
callq 0x17af0
jmp 0x177c8
leaq -0xb79(%rbp), %rdi
movq %rdi, -0xde8(%rbp)
callq 0xc5e0
movq -0xde8(%rbp), %rdx
leaq 0x2383aa(%rip), %rsi    # 0x24fb93
leaq -0xb78(%rbp), %rdi
callq 0x17a40
jmp 0x177f7
leaq -0xb58(%rbp), %rdi
leaq -0x68(%rbp), %rsi
leaq -0xb78(%rbp), %rdx
callq 0x17af0
jmp 0x17810
leaq -0x68(%rbp), %rdi
callq 0x188a0
movl %eax, -0xdec(%rbp)
jmp 0x17821
movl -0xdec(%rbp), %ecx
movq -0xdd8(%rbp), %rdi
leaq -0xb10(%rbp), %rsi
leaq -0xb58(%rbp), %rdx
callq 0x229ff0
jmp 0x17843
movb $0x0, -0xb7a(%rbp)
leaq -0xb58(%rbp), %rdi
callq 0xc6b8
leaq -0xb78(%rbp), %rdi
callq 0xc6b8
leaq -0xb79(%rbp), %rdi
callq 0xc3c0
leaq -0xb10(%rbp), %rdi
callq 0xc6b8
leaq -0xb30(%rbp), %rdi
callq 0xc6b8
leaq -0xb31(%rbp), %rdi
callq 0xc3c0
movq -0xdd8(%rbp), %rax
movq %rax, -0xaf0(%rbp)
movq -0xaf0(%rbp), %rsi
leaq -0x68(%rbp), %rdi
leaq -0x300(%rbp), %rdx
callq 0x1bc70
jmp 0x178b9
jmp 0x17989
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x98(%rbp)
movl %eax, -0x9c(%rbp)
jmp 0x1795f
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x98(%rbp)
movl %eax, -0x9c(%rbp)
jmp 0x17953
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x98(%rbp)
movl %eax, -0x9c(%rbp)
jmp 0x1793b
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x98(%rbp)
movl %eax, -0x9c(%rbp)
jmp 0x1792f
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x98(%rbp)
movl %eax, -0x9c(%rbp)
leaq -0xb58(%rbp), %rdi
callq 0xc6b8
leaq -0xb78(%rbp), %rdi
callq 0xc6b8
leaq -0xb79(%rbp), %rdi
callq 0xc3c0
leaq -0xb10(%rbp), %rdi
callq 0xc6b8
leaq -0xb30(%rbp), %rdi
callq 0xc6b8
leaq -0xb31(%rbp), %rdi
callq 0xc3c0
testb $0x1, -0xb7a(%rbp)
jne 0x17976
jmp 0x17987
movq -0xdd8(%rbp), %rdi
movl $0x3f50, %esi           # imm = 0x3F50
callq 0xc370
jmp 0x179f8
jmp 0x1798b
jmp 0x1798d
jmp 0x1798f
jmp 0x17991
jmp 0x17993
jmp 0x17995
jmp 0x17997
jmp 0x17999
jmp 0x1799b
jmp 0x1799d
jmp 0x1799f
jmp 0x179a1
jmp 0x179a3
leaq -0x1b8(%rbp), %rdi
callq 0xc1b0
movq %rax, %rsi
leaq 0x238231(%rip), %rdi    # 0x24fbea
xorl %eax, %eax
callq 0xc070
jmp 0x179c2
movl $0x0, -0x4(%rbp)
leaq -0x300(%rbp), %rdi
callq 0x1c120
leaq -0x1b8(%rbp), %rdi
callq 0xc6b8
leaq -0xc8(%rbp), %rdi
callq 0xc6b8
leaq -0x68(%rbp), %rdi
callq 0x1c180
jmp 0x17a27
leaq -0x300(%rbp), %rdi
callq 0x1c120
leaq -0x1b8(%rbp), %rdi
callq 0xc6b8
leaq -0xc8(%rbp), %rdi
callq 0xc6b8
leaq -0x68(%rbp), %rdi
callq 0x1c180
jmp 0x17a33
movl -0x4(%rbp), %eax
addq $0xdf0, %rsp            # imm = 0xDF0
popq %rbp
retq
movq -0x98(%rbp), %rdi
callq 0xc5d0
nop