// File: /workspace/github_cpp_makefile_star2_O1/kobanium[P]Ray/src/learn/FactorizationMachines.cpp
// Function: LearningSecondOrderBradleyTerryModel()
static void
LearningSecondOrderBradleyTerryModel( void  )
{
  train_thread_arg_t targ[TRAIN_THREAD_NUM];
  std::thread *handle[TRAIN_THREAD_NUM];

  for (int i = 0; i < thread_num; i++) {
    targ[i].id = i;
  }
  
  for (int step = 0; step <= BTFM_UPDATE_STEPS; step++){
    for (int i = 0; i < thread_num; i++) {
      targ[i].step = step;
    }
    
    const std::chrono::system_clock::time_point train_start = std::chrono::system_clock::now();

    if (lr_schedule.count(step) != 0 &&
        lr_schedule[step] != learning_rate) {
      if (lr_schedule[step] < 0) {
        break;
      }
      learning_rate = lr_schedule[step];
    }

    for (int i = 0; i < thread_num; i++) {
      handle[i] = new std::thread(LearningLoop, &targ[i]);
    }

    for (int i = 0; i < thread_num; i++) {
      handle[i]->join();
      delete handle[i];
    }

    const std::chrono::system_clock::time_point train_end = std::chrono::system_clock::now();
    const double train_elapsed_time = std::chrono::duration_cast<std::chrono::milliseconds>(train_end - train_start).count() * 0.001;
    const double train_accuracy = static_cast<double>(prediction[0].load()) / counter.load();

    // 学習のログファイル出力
    OutputLearningLogFile(step, all_moves.load(), train_elapsed_time, train_accuracy, true);

    std::cerr << "Train data accuracy : " << train_accuracy << std::endl;

    // 算出結果を消去
    for (int i = 0; i < PURE_BOARD_MAX + 1; i++) {
      prediction[i].store(0);
    }
    likelihood = 0.0;
    counter.store(0);

    // Output parameter files.
    Output();

    // Validation phase.
    const std::chrono::system_clock::time_point test_start = std::chrono::system_clock::now();
    for (int i = 0; i < thread_num; i++) {
      handle[i] = new std::thread(TestingLoop, &targ[i]);
    }

    for (int i = 0; i < thread_num; i++) {
      handle[i]->join();
      delete handle[i];
    }

    const std::chrono::system_clock::time_point test_end = std::chrono::system_clock::now();
    const double test_elapsed_time = std::chrono::duration_cast<std::chrono::milliseconds>(test_end - test_start).count() * 0.001;
    const double test_accuracy = static_cast<double>(prediction[0].load()) / counter.load();
    OutputLearningLogFile(step, counter.load(), test_elapsed_time, test_accuracy, false);

    std::cerr << "Test data accuracy : " << test_accuracy << std::endl;

    for (int i = 0; i < PURE_BOARD_MAX + 1; i++) {
      prediction[i].store(0);
    }
    counter.store(0);

    Backup(step);

    all_moves.store(0);
  }
}

// Assembly:
pushq %rbp
pushq %r15
pushq %r14
pushq %r13
pushq %r12
pushq %rbx
subq $0x498, %rsp            # imm = 0x498
xorl %eax, %eax
movl %eax, 0x450(%rsp,%rax,8)
incq %rax
cmpq $0x8, %rax
jne 0x34101
leaq 0x44(%rsp), %rax
movl $0x0, (%rax)
xorl %eax, %eax
leaq 0x4327b(%rip), %r13     # 0x773a0
movq %rsp, %r15
leaq 0x43401(%rip), %r14     # 0x77530
leaq 0x388(%rsp), %r12
movl $0x4, %ecx
movl %eax, 0x450(%rsp,%rcx)
addq $0x8, %rcx
cmpq $0x44, %rcx
jne 0x3413c
callq 0x6070
movq %rax, %rbx
movq 0x4324c(%rip), %rcx     # 0x773a8
movq %r13, %rax
testq %rcx, %rcx
je 0x34182
movl 0x44(%rsp), %edx
movq %r13, %rax
xorl %esi, %esi
cmpl %edx, 0x20(%rcx)
setl %sil
cmovgeq %rcx, %rax
movq 0x10(%rcx,%rsi,8), %rcx
testq %rcx, %rcx
jne 0x3416b
cmpq %r13, %rax
je 0x341ed
movl 0x44(%rsp), %ecx
cmpl 0x20(%rax), %ecx
jl 0x341ed
leaq 0x43201(%rip), %rdi     # 0x77398
leaq 0x44(%rsp), %rsi
callq 0x3a6b6
movsd (%rax), %xmm0
ucomisd 0x416a3(%rip), %xmm0    # 0x75850
jne 0x341b1
jnp 0x341ed
leaq 0x431e0(%rip), %rdi     # 0x77398
leaq 0x44(%rsp), %rsi
callq 0x3a6b6
xorpd %xmm0, %xmm0
ucomisd (%rax), %xmm0
ja 0x3628c
leaq 0x431c1(%rip), %rdi     # 0x77398
leaq 0x44(%rsp), %rsi
callq 0x3a6b6
movsd (%rax), %xmm0
movsd %xmm0, 0x41663(%rip)    # 0x75850
xorl %ebp, %ebp
movl $0x8, %edi
callq 0x6410
movq %rax, %r13
leaq (%rsp,%rbp), %rax
addq $0x450, %rax            # imm = 0x450
movq %rax, (%rsp)
movq %r13, %rdi
leaq 0x2b66(%rip), %rsi      # 0x36d7a
movq %r15, %rdx
callq 0x3a71a
movq %r13, 0x410(%rsp,%rbp)
addq $0x8, %rbp
cmpq $0x40, %rbp
jne 0x341ef
xorl %ebp, %ebp
movq 0x410(%rsp,%rbp,8), %r13
movq %r13, %rdi
callq 0x6720
cmpq $0x0, (%r13)
jne 0x3629e
movl $0x8, %esi
movq %r13, %rdi
callq 0x6420
incq %rbp
cmpq $0x8, %rbp
jne 0x34230
callq 0x6070
subq %rbx, %rax
movabsq $0x431bde82d7b634db, %rcx # imm = 0x431BDE82D7B634DB
imulq %rcx
movq %rdx, %rax
shrq $0x3f, %rax
sarq $0x12, %rdx
addq %rax, %rdx
xorps %xmm0, %xmm0
cvtsi2sd %rdx, %xmm0
mulsd 0x2abcc(%rip), %xmm0    # 0x5ee60
movl 0x43296(%rip), %eax     # 0x77530
cvtsi2sd %eax, %xmm1
movl 0x43278(%rip), %eax     # 0x7751c
cvtsi2sd %eax, %xmm2
divsd %xmm2, %xmm1
movsd %xmm1, 0x3a8(%rsp)
movl 0x44(%rsp), %edi
movl 0x43259(%rip), %esi     # 0x77518
movl $0x1, %edx
callq 0x452ed
movl $0x16, %edx
movq 0x40d13(%rip), %rbx     # 0x74fe8
movq %rbx, %rdi
leaq 0x2ac43(%rip), %rsi     # 0x5ef22
callq 0x64a0
movq %rbx, %rdi
movsd 0x3a8(%rsp), %xmm0
callq 0x66a0
movq %rax, %rbx
movq (%rax), %rax
movq -0x18(%rax), %rdi
addq %rbx, %rdi
movl $0xa, %esi
callq 0x63d0
movsbl %al, %esi
movq %rbx, %rdi
callq 0x6040
movq %rax, %rdi
callq 0x62a0
xorl %eax, %eax
xorl %ecx, %ecx
xchgl %ecx, (%rax,%r14)
addq $0x4, %rax
cmpq $0x5a8, %rax            # imm = 0x5A8
jne 0x34321
movq $0x0, 0x4379a(%rip) # 0x77ad8
xorl %eax, %eax
xchgl %eax, 0x431d6(%rip)     # 0x7751c
leaq 0x368(%rsp), %rbx
movq %rbx, %rdi
callq 0x23e49
movq 0x42cc3(%rip), %rsi     # 0x77020
movq 0x42cc4(%rip), %rdx     # 0x77028
movq %rbx, %rdi
callq 0x60d0
leaq 0x30(%rsp), %rbp
leaq 0x298(%rsp), %rsi
movq %rsi, 0x288(%rsp)
movq (%rax), %rdx
movq %rax, %rcx
addq $0x10, %rcx
cmpq %rcx, %rdx
leaq 0x10(%rsp), %r13
leaq 0x268(%rsp), %rbx
je 0x343b2
movq %rdx, 0x288(%rsp)
movq (%rcx), %rdx
movq %rdx, 0x298(%rsp)
jmp 0x343ba
movupd (%rcx), %xmm0
movupd %xmm0, (%rsi)
movq 0x8(%rax), %rdx
movq %rdx, 0x290(%rsp)
movq %rcx, (%rax)
movq $0x0, 0x8(%rax)
movb $0x0, 0x10(%rax)
leaq 0x288(%rsp), %rdi
leaq 0x2b1dc(%rip), %rsi     # 0x5f5c0
callq 0x6810
leaq 0x2b8(%rsp), %rsi
movq %rsi, 0x2a8(%rsp)
movq (%rax), %rdx
movq %rax, %rcx
addq $0x10, %rcx
cmpq %rcx, %rdx
je 0x3441d
movq %rdx, 0x2a8(%rsp)
movq (%rcx), %rdx
movq %rdx, 0x2b8(%rsp)
jmp 0x34425
movupd (%rcx), %xmm0
movupd %xmm0, (%rsi)
movq 0x8(%rax), %rdx
movq %rdx, 0x2b0(%rsp)
movq %rcx, (%rax)
movq $0x0, 0x8(%rax)
movb $0x0, 0x10(%rax)
movq 0x42bd9(%rip), %rsi     # 0x77020
movq 0x42bda(%rip), %rdx     # 0x77028
leaq 0x2a8(%rsp), %rdi
callq 0x60d0
leaq 0x78(%rsp), %rsi
movq %rsi, 0x68(%rsp)
movq (%rax), %rdx
movq %rax, %rcx
addq $0x10, %rcx
cmpq %rcx, %rdx
je 0x34483
movq %rdx, 0x68(%rsp)
movq (%rcx), %rdx
movq %rdx, 0x78(%rsp)
jmp 0x3448b
movupd (%rcx), %xmm0
movupd %xmm0, (%rsi)
movq 0x8(%rax), %rdx
movq %rdx, 0x70(%rsp)
movq %rcx, (%rax)
movq $0x0, 0x8(%rax)
movb $0x0, 0x10(%rax)
leaq 0x68(%rsp), %rdi
leaq 0x2b177(%rip), %rsi     # 0x5f626
callq 0x6810
movq %rbp, 0x20(%rsp)
movq (%rax), %rdx
movq %rax, %rcx
addq $0x10, %rcx
cmpq %rcx, %rdx
je 0x344d7
movq %rdx, 0x20(%rsp)
movq (%rcx), %rdx
movq %rdx, 0x30(%rsp)
jmp 0x344e0
movupd (%rcx), %xmm0
movupd %xmm0, (%rbp)
movq 0x8(%rax), %rdx
movq %rdx, 0x28(%rsp)
movq %rcx, (%rax)
movq $0x0, 0x8(%rax)
movb $0x0, 0x10(%rax)
movq 0x42b21(%rip), %rsi     # 0x77020
movq 0x42b22(%rip), %rdx     # 0x77028
leaq 0x20(%rsp), %rdi
callq 0x60d0
movq %r13, (%rsp)
movq (%rax), %rdx
movq %rax, %rcx
addq $0x10, %rcx
cmpq %rcx, %rdx
je 0x34531
movq %rdx, (%rsp)
movq (%rcx), %rdx
movq %rdx, 0x10(%rsp)
jmp 0x3453b
movupd (%rcx), %xmm0
movupd %xmm0, (%r13)
movq 0x8(%rax), %rdx
movq %rdx, 0x8(%rsp)
movq %rcx, (%rax)
movq $0x0, 0x8(%rax)
movb $0x0, 0x10(%rax)
movq 0x20(%rsp), %rdi
cmpq %rbp, %rdi
je 0x3456a
movq 0x30(%rsp), %rsi
incq %rsi
callq 0x6420
movq 0x68(%rsp), %rdi
leaq 0x78(%rsp), %rax
cmpq %rax, %rdi
leaq 0x358(%rsp), %rbp
je 0x3458e
movq 0x78(%rsp), %rsi
incq %rsi
callq 0x6420
movq 0x2a8(%rsp), %rdi
leaq 0x2b8(%rsp), %rax
cmpq %rax, %rdi
je 0x345b3
movq 0x2b8(%rsp), %rsi
incq %rsi
callq 0x6420
movq 0x288(%rsp), %rdi
leaq 0x298(%rsp), %rax
cmpq %rax, %rdi
je 0x345d8
movq 0x298(%rsp), %rsi
incq %rsi
callq 0x6420
movq 0x368(%rsp), %rdi
leaq 0x378(%rsp), %rax
cmpq %rax, %rdi
je 0x345fd
movq 0x378(%rsp), %rsi
incq %rsi
callq 0x6420
movq 0x42a3c(%rip), %rax     # 0x77040
movq 0x42aad(%rip), %rcx     # 0x770b8
movq %rcx, %rdx
xorl %esi, %esi
movslq (%rax,%rsi,4), %rdi
imulq $0x218, %rdi, %r8       # imm = 0x218
leaq (%rcx,%r8), %rdi
movsd (%rcx,%r8), %xmm0
imulq $0x218, %rsi, %r8       # imm = 0x218
movsd %xmm0, (%rcx,%r8)
movl $0x1, %r8d
movsd (%rdi,%r8,8), %xmm0
movsd %xmm0, (%rdx,%r8,8)
incq %r8
cmpq $0x6, %r8
jne 0x34638
incq %rsi
addq $0x218, %rdx            # imm = 0x218
cmpq $0x10000, %rsi          # imm = 0x10000
jne 0x34610
leaq 0x278(%rsp), %rax
movq %rax, 0x268(%rsp)
movq (%rsp), %rsi
movq 0x8(%rsp), %rdx
addq %rsi, %rdx
movq %rbx, %rdi
callq 0x2039e
movq %rbx, %rdi
leaq 0x2a8da(%rip), %rsi     # 0x5ef68
callq 0x6810
movq %rbx, %rdi
leaq 0x42bb3(%rip), %rsi     # 0x77250
callq 0x42a39
movq 0x268(%rsp), %rdi
leaq 0x278(%rsp), %rax
cmpq %rax, %rdi
je 0x346c7
movq 0x278(%rsp), %rsi
incq %rsi
callq 0x6420
leaq 0x258(%rsp), %rax
movq %rax, 0x248(%rsp)
movq (%rsp), %rsi
movq 0x8(%rsp), %rdx
addq %rsi, %rdx
leaq 0x248(%rsp), %rdi
callq 0x2039e
leaq 0x248(%rsp), %rbx
movq %rbx, %rdi
leaq 0x2a86f(%rip), %rsi     # 0x5ef71
callq 0x6810
movq %rbx, %rdi
leaq 0x42a37(%rip), %rsi     # 0x77148
callq 0x42a39
movq 0x248(%rsp), %rdi
leaq 0x258(%rsp), %rax
cmpq %rax, %rdi
je 0x3473b
movq 0x258(%rsp), %rsi
incq %rsi
callq 0x6420
leaq 0x338(%rsp), %rax
movq %rax, 0x328(%rsp)
movq (%rsp), %rsi
movq 0x8(%rsp), %rdx
addq %rsi, %rdx
leaq 0x328(%rsp), %rdi
callq 0x2039e
leaq 0x328(%rsp), %rbx
movq %rbx, %rdi
leaq 0x2a80e(%rip), %rsi     # 0x5ef84
callq 0x6810
movq %rbx, %rdi
leaq 0x429db(%rip), %rsi     # 0x77160
callq 0x42a39
movq 0x328(%rsp), %rdi
leaq 0x338(%rsp), %rax
cmpq %rax, %rdi
je 0x347af
movq 0x338(%rsp), %rsi
incq %rsi
callq 0x6420
leaq 0x58(%rsp), %rax
movq %rax, 0x48(%rsp)
movq (%rsp), %rsi
movq 0x8(%rsp), %rdx
addq %rsi, %rdx
leaq 0x48(%rsp), %rdi
callq 0x2039e
leaq 0x48(%rsp), %rbx
movq %rbx, %rdi
leaq 0x2a7bf(%rip), %rsi     # 0x5ef9d
callq 0x6810
movq %rbx, %rdi
leaq 0x4298b(%rip), %rsi     # 0x77178
callq 0x42a39
movq 0x48(%rsp), %rdi
leaq 0x58(%rsp), %rax
cmpq %rax, %rdi
je 0x3480e
movq 0x58(%rsp), %rsi
incq %rsi
callq 0x6420
leaq 0x238(%rsp), %rax
movq %rax, 0x228(%rsp)
movq (%rsp), %rsi
movq 0x8(%rsp), %rdx
addq %rsi, %rdx
leaq 0x228(%rsp), %rdi
callq 0x2039e
leaq 0x228(%rsp), %rbx
movq %rbx, %rdi
leaq 0x2a73f(%rip), %rsi     # 0x5ef88
callq 0x6810
movq %rbx, %rdi
leaq 0x42938(%rip), %rsi     # 0x77190
callq 0x42a39
movq 0x228(%rsp), %rdi
leaq 0x238(%rsp), %rax
cmpq %rax, %rdi
je 0x34882
movq 0x238(%rsp), %rsi
incq %rsi
callq 0x6420
leaq 0x218(%rsp), %rax
movq %rax, 0x208(%rsp)
movq (%rsp), %rsi
movq 0x8(%rsp), %rdx
addq %rsi, %rdx
leaq 0x208(%rsp), %rdi
callq 0x2039e
leaq 0x208(%rsp), %rbx
movq %rbx, %rdi
leaq 0x2a6f1(%rip), %rsi     # 0x5efae
callq 0x6810
movq %rbx, %rdi
leaq 0x428dc(%rip), %rsi     # 0x771a8
callq 0x42a39
movq 0x208(%rsp), %rdi
leaq 0x218(%rsp), %rax
cmpq %rax, %rdi
je 0x348f6
movq 0x218(%rsp), %rsi
incq %rsi
callq 0x6420
leaq 0x1f8(%rsp), %rax
movq %rax, 0x1e8(%rsp)
movq (%rsp), %rsi
movq 0x8(%rsp), %rdx
addq %rsi, %rdx
leaq 0x1e8(%rsp), %rdi
callq 0x2039e
leaq 0x1e8(%rsp), %rbx
movq %rbx, %rdi
leaq 0x2a68d(%rip), %rsi     # 0x5efbe
callq 0x6810
movq %rbx, %rdi
leaq 0x42880(%rip), %rsi     # 0x771c0
callq 0x42a39
movq 0x1e8(%rsp), %rdi
leaq 0x1f8(%rsp), %rax
cmpq %rax, %rdi
je 0x3496a
movq 0x1f8(%rsp), %rsi
incq %rsi
callq 0x6420
leaq 0x1d8(%rsp), %rax
movq %rax, 0x1c8(%rsp)
movq (%rsp), %rsi
movq 0x8(%rsp), %rdx
addq %rsi, %rdx
leaq 0x1c8(%rsp), %rdi
callq 0x2039e
leaq 0x1c8(%rsp), %rbx
movq %rbx, %rdi
leaq 0x2a62c(%rip), %rsi     # 0x5efd1
callq 0x6810
movq %rbx, %rdi
leaq 0x42824(%rip), %rsi     # 0x771d8
callq 0x42a39
movq 0x1c8(%rsp), %rdi
leaq 0x1d8(%rsp), %rax
cmpq %rax, %rdi
je 0x349de
movq 0x1d8(%rsp), %rsi
incq %rsi
callq 0x6420
leaq 0x1b8(%rsp), %rax
movq %rax, 0x1a8(%rsp)
movq (%rsp), %rsi
movq 0x8(%rsp), %rdx
addq %rsi, %rdx
leaq 0x1a8(%rsp), %rdi
callq 0x2039e
leaq 0x1a8(%rsp), %rbx
movq %rbx, %rdi
leaq 0x2a5cb(%rip), %rsi     # 0x5efe4
callq 0x6810
movq %rbx, %rdi
leaq 0x427c8(%rip), %rsi     # 0x771f0
callq 0x42a39
movq 0x1a8(%rsp), %rdi
leaq 0x1b8(%rsp), %rax
cmpq %rax, %rdi
je 0x34a52
movq 0x1b8(%rsp), %rsi
incq %rsi
callq 0x6420
leaq 0x198(%rsp), %rax
movq %rax, 0x188(%rsp)
movq (%rsp), %rsi
movq 0x8(%rsp), %rdx
addq %rsi, %rdx
leaq 0x188(%rsp), %rdi
callq 0x2039e
leaq 0x188(%rsp), %rbx
movq %rbx, %rdi
leaq 0x2a569(%rip), %rsi     # 0x5eff6
callq 0x6810
movq %rbx, %rdi
leaq 0x4276c(%rip), %rsi     # 0x77208
callq 0x42a39
movq 0x188(%rsp), %rdi
leaq 0x198(%rsp), %rax
cmpq %rax, %rdi
je 0x34ac6
movq 0x198(%rsp), %rsi
incq %rsi
callq 0x6420
leaq 0x178(%rsp), %rax
movq %rax, 0x168(%rsp)
movq (%rsp), %rsi
movq 0x8(%rsp), %rdx
addq %rsi, %rdx
leaq 0x168(%rsp), %rdi
callq 0x2039e
leaq 0x168(%rsp), %rbx
movq %rbx, %rdi
leaq 0x2a507(%rip), %rsi     # 0x5f008
callq 0x6810
movq %rbx, %rdi
leaq 0x42710(%rip), %rsi     # 0x77220
callq 0x42a39
movq 0x168(%rsp), %rdi
leaq 0x178(%rsp), %rax
cmpq %rax, %rdi
je 0x34b3a
movq 0x178(%rsp), %rsi
incq %rsi
callq 0x6420
leaq 0x158(%rsp), %rax
movq %rax, 0x148(%rsp)
movq (%rsp), %rsi
movq 0x8(%rsp), %rdx
addq %rsi, %rdx
leaq 0x148(%rsp), %rdi
callq 0x2039e
leaq 0x148(%rsp), %rbx
movq %rbx, %rdi
leaq 0x2a4a5(%rip), %rsi     # 0x5f01a
callq 0x6810
movq %rbx, %rdi
leaq 0x426b4(%rip), %rsi     # 0x77238
callq 0x42a39
movq 0x148(%rsp), %rdi
leaq 0x158(%rsp), %rax
cmpq %rax, %rdi
je 0x34bae
movq 0x158(%rsp), %rsi
incq %rsi
callq 0x6420
leaq 0x138(%rsp), %rax
movq %rax, 0x128(%rsp)
movq (%rsp), %rsi
movq 0x8(%rsp), %rdx
addq %rsi, %rdx
leaq 0x128(%rsp), %rdi
callq 0x2039e
leaq 0x128(%rsp), %rbx
movq %rbx, %rdi
leaq 0x2a443(%rip), %rsi     # 0x5f02c
callq 0x6810
movq %rbx, %rdi
leaq 0x42538(%rip), %rsi     # 0x77130
callq 0x42a39
movq 0x128(%rsp), %rdi
leaq 0x138(%rsp), %rax
cmpq %rax, %rdi
je 0x34c22
movq 0x138(%rsp), %rsi
incq %rsi
callq 0x6420
leaq 0x118(%rsp), %rax
movq %rax, 0x108(%rsp)
movq (%rsp), %rsi
movq 0x8(%rsp), %rdx
addq %rsi, %rdx
leaq 0x108(%rsp), %rdi
callq 0x2039e
leaq 0x108(%rsp), %rbx
movq %rbx, %rdi
leaq 0x2a3d9(%rip), %rsi     # 0x5f036
callq 0x6810
movq %rbx, %rdi
leaq 0x4244c(%rip), %rsi     # 0x770b8
callq 0x42a39
movq 0x108(%rsp), %rdi
leaq 0x118(%rsp), %rax
cmpq %rax, %rdi
je 0x34c96
movq 0x118(%rsp), %rsi
incq %rsi
callq 0x6420
leaq 0xf8(%rsp), %rax
movq %rax, 0xe8(%rsp)
movq (%rsp), %rsi
movq 0x8(%rsp), %rdx
addq %rsi, %rdx
leaq 0xe8(%rsp), %rdi
callq 0x2039e
leaq 0xe8(%rsp), %rbx
movq %rbx, %rdi
leaq 0x2a36e(%rip), %rsi     # 0x5f03f
callq 0x6810
movq %rbx, %rdi
leaq 0x423f0(%rip), %rsi     # 0x770d0
leaq 0x42599(%rip), %rdx     # 0x77280
leaq 0x425f2(%rip), %rcx     # 0x772e0
callq 0x42bf0
movq 0xe8(%rsp), %rdi
leaq 0xf8(%rsp), %rax
cmpq %rax, %rdi
je 0x34d18
movq 0xf8(%rsp), %rsi
incq %rsi
callq 0x6420
leaq 0xd8(%rsp), %rax
movq %rax, 0xc8(%rsp)
movq (%rsp), %rsi
movq 0x8(%rsp), %rdx
addq %rsi, %rdx
leaq 0xc8(%rsp), %rdi
callq 0x2039e
leaq 0xc8(%rsp), %rbx
movq %rbx, %rdi
leaq 0x2a2f4(%rip), %rsi     # 0x5f047
callq 0x6810
movq %rbx, %rdi
leaq 0x42386(%rip), %rsi     # 0x770e8
leaq 0x4252f(%rip), %rdx     # 0x77298
leaq 0x42300(%rip), %rcx     # 0x77070
leaq 0x42591(%rip), %r8      # 0x77308
callq 0x42e60
movq 0xc8(%rsp), %rdi
leaq 0xd8(%rsp), %rax
cmpq %rax, %rdi
je 0x34da1
movq 0xd8(%rsp), %rsi
incq %rsi
callq 0x6420
leaq 0xb8(%rsp), %rax
movq %rax, 0xa8(%rsp)
movq (%rsp), %rsi
movq 0x8(%rsp), %rdx
addq %rsi, %rdx
leaq 0xa8(%rsp), %rdi
callq 0x2039e
leaq 0xa8(%rsp), %rbx
movq %rbx, %rdi
leaq 0x2a273(%rip), %rsi     # 0x5f04f
callq 0x6810
movq %rbx, %rdi
leaq 0x42315(%rip), %rsi     # 0x77100
leaq 0x424be(%rip), %rdx     # 0x772b0
leaq 0x4228f(%rip), %rcx     # 0x77088
leaq 0x42530(%rip), %r8      # 0x77330
callq 0x42e60
movq 0xa8(%rsp), %rdi
leaq 0xb8(%rsp), %rax
cmpq %rax, %rdi
je 0x34e2a
movq 0xb8(%rsp), %rsi
incq %rsi
callq 0x6420
leaq 0x98(%rsp), %rax
movq %rax, 0x88(%rsp)
movq (%rsp), %rsi
movq 0x8(%rsp), %rdx
addq %rsi, %rdx
leaq 0x88(%rsp), %rdi
callq 0x2039e
leaq 0x88(%rsp), %rbx
movq %rbx, %rdi
leaq 0x2a1f2(%rip), %rsi     # 0x5f057
callq 0x6810
movq %rbx, %rdi
leaq 0x422a4(%rip), %rsi     # 0x77118
leaq 0x4244d(%rip), %rdx     # 0x772c8
leaq 0x4221e(%rip), %rcx     # 0x770a0
leaq 0x424cf(%rip), %r8      # 0x77358
callq 0x42e60
movq %r12, %r13
movq 0x88(%rsp), %rdi
leaq 0x98(%rsp), %rax
cmpq %rax, %rdi
je 0x34eb6
movq 0x98(%rsp), %rsi
incq %rsi
callq 0x6420
movq 0x42523(%rip), %rbx     # 0x773e0
leaq 0x4250c(%rip), %rax     # 0x773d0
cmpq %rax, %rbx
je 0x34f23
leaq 0x28(%rbx), %rdx
leaq 0x348(%rsp), %r12
movq %r12, %rdi
movq %r15, %rsi
callq 0x3b2a8
movl 0x20(%rbx), %eax
imulq $0x218, %rax, %rsi      # imm = 0x218
addq 0x42257(%rip), %rsi     # 0x77148
movq %r12, %rdi
callq 0x38fd3
movq 0x348(%rsp), %rdi
cmpq %rbp, %rdi
je 0x34f16
movq 0x358(%rsp), %rsi
incq %rsi
callq 0x6420
movq %rbx, %rdi
callq 0x62b0
movq %rax, %rbx
jmp 0x34ebd
movq 0x424e6(%rip), %rbx     # 0x77410
leaq 0x424cf(%rip), %rax     # 0x77400
cmpq %rax, %rbx
movq %r13, %r12
leaq 0x308(%rsp), %r13
je 0x34fa5
leaq 0x28(%rbx), %rdx
movq %r12, %rdi
movq %r15, %rsi
callq 0x3b2a8
movl 0x20(%rbx), %eax
imulq $0x218, %rax, %rsi      # imm = 0x218
addq 0x421ff(%rip), %rsi     # 0x77160
movq %r12, %rdi
callq 0x38fd3
movq 0x388(%rsp), %rdi
leaq 0x398(%rsp), %rax
cmpq %rax, %rdi
je 0x34f8e
movq 0x398(%rsp), %rsi
incq %rsi
callq 0x6420
movq %rbx, %rdi
callq 0x62b0
movq %rax, %rbx
leaq 0x42460(%rip), %rax     # 0x77400
cmpq %rax, %rbx
jne 0x34f41
movq 0x42494(%rip), %rbx     # 0x77440
leaq 0x4247d(%rip), %rax     # 0x77430
cmpq %rax, %rbx
je 0x35012
leaq 0x28(%rbx), %rdx
movq %r13, %rdi
movq %r15, %rsi
callq 0x3b2a8
movl 0x20(%rbx), %eax
imulq $0x218, %rax, %rsi      # imm = 0x218
addq 0x421a0(%rip), %rsi     # 0x77178
movq %r13, %rdi
callq 0x38fd3
movq 0x308(%rsp), %rdi
leaq 0x318(%rsp), %rax
cmpq %rax, %rdi
je 0x35005
movq 0x318(%rsp), %rsi
incq %rsi
callq 0x6420
movq %rbx, %rdi
callq 0x62b0
movq %rax, %rbx
jmp 0x34fac
movq 0x42487(%rip), %rbx     # 0x774a0
leaq 0x42470(%rip), %rax     # 0x77490
cmpq %rax, %rbx
leaq 0x2e8(%rsp), %r13
je 0x35091
leaq 0x28(%rbx), %rdx
movq %r13, %rdi
movq %r15, %rsi
callq 0x3b2a8
movl 0x20(%rbx), %eax
imulq $0x218, %rax, %rsi      # imm = 0x218
addq 0x4215b(%rip), %rsi     # 0x771a8
movq %r13, %rdi
callq 0x38fd3
movq 0x2e8(%rsp), %rdi
leaq 0x2f8(%rsp), %rax
cmpq %rax, %rdi
je 0x3507a
movq 0x2f8(%rsp), %rsi
incq %rsi
callq 0x6420
movq %rbx, %rdi
callq 0x62b0
movq %rax, %rbx
leaq 0x42404(%rip), %rax     # 0x77490
cmpq %rax, %rbx
jne 0x3502d
movq 0x423d8(%rip), %rbx     # 0x77470
leaq 0x423c1(%rip), %rax     # 0x77460
cmpq %rax, %rbx
leaq 0x2c8(%rsp), %r13
je 0x35110
leaq 0x28(%rbx), %rdx
movq %r13, %rdi
movq %r15, %rsi
callq 0x3b2a8
movl 0x20(%rbx), %eax
imulq $0x218, %rax, %rsi      # imm = 0x218
addq 0x420c4(%rip), %rsi     # 0x77190
movq %r13, %rdi
callq 0x38fd3
movq 0x2c8(%rsp), %rdi
leaq 0x2d8(%rsp), %rax
cmpq %rax, %rdi
je 0x350f9
movq 0x2d8(%rsp), %rsi
incq %rsi
callq 0x6420
movq %rbx, %rdi
callq 0x62b0
movq %rax, %rbx
leaq 0x42355(%rip), %rax     # 0x77460
cmpq %rax, %rbx
jne 0x350ac
movq 0x423b9(%rip), %rbx     # 0x774d0
leaq 0x423a2(%rip), %rax     # 0x774c0
cmpq %rax, %rbx
leaq 0x3d0(%rsp), %r13
je 0x35197
leaq 0x28(%rbx), %rdx
leaq 0x3f0(%rsp), %rbp
movq %rbp, %rdi
movq %r15, %rsi
callq 0x3b2a8
movl 0x20(%rbx), %eax
imulq $0x218, %rax, %rsi      # imm = 0x218
addq 0x4206d(%rip), %rsi     # 0x771c0
movq %rbp, %rdi
callq 0x38fd3
movq 0x3f0(%rsp), %rdi
leaq 0x400(%rsp), %rax
cmpq %rax, %rdi
je 0x35180
movq 0x400(%rsp), %rsi
incq %rsi
callq 0x6420
movq %rbx, %rdi
callq 0x62b0
movq %rax, %rbx
leaq 0x4232e(%rip), %rax     # 0x774c0
cmpq %rax, %rbx
jne 0x3512b
movq 0x42362(%rip), %rbx     # 0x77500
leaq 0x4234b(%rip), %rax     # 0x774f0
cmpq %rax, %rbx
je 0x35204
leaq 0x28(%rbx), %rdx
movq %r13, %rdi
movq %r15, %rsi
callq 0x3b2a8
movl 0x20(%rbx), %eax
imulq $0x218, %rax, %rsi      # imm = 0x218
addq 0x4200e(%rip), %rsi     # 0x771d8
movq %r13, %rdi
callq 0x38fd3
movq 0x3d0(%rsp), %rdi
leaq 0x3e0(%rsp), %rax
cmpq %rax, %rdi
je 0x351f7
movq 0x3e0(%rsp), %rsi
incq %rsi
callq 0x6420
movq %rbx, %rdi
callq 0x62b0
movq %rax, %rbx
jmp 0x3519e
leaq 0x3c0(%rsp), %rax
movq %rax, 0x3b0(%rsp)
movq (%rsp), %rsi
movq 0x8(%rsp), %rdx
addq %rsi, %rdx
leaq 0x3b0(%rsp), %rdi
leaq 0x10(%rsp), %r13
callq 0x2039e
leaq 0x3b0(%rsp), %rbx
movq %rbx, %rdi
leaq 0x29e1b(%rip), %rsi     # 0x5f05f
callq 0x6810
movq 0x42018(%rip), %rsi     # 0x77268
movq %rbx, %rdi
callq 0x38fd3
movq 0x3b0(%rsp), %rdi
leaq 0x3c0(%rsp), %rax
cmpq %rax, %rdi
je 0x3527d
movq 0x3c0(%rsp), %rsi
incq %rsi
callq 0x6420
movq (%rsp), %rdi
cmpq %r13, %rdi
je 0x35293
movq 0x10(%rsp), %rsi
incq %rsi
callq 0x6420
callq 0x6070
movq %rax, %rbx
xorl %ebp, %ebp
movl $0x8, %edi
callq 0x6410
movq %rax, %r13
leaq (%rsp,%rbp), %rax
addq $0x450, %rax            # imm = 0x450
movq %rax, (%rsp)
movq %r13, %rdi
leaq 0x34c7(%rip), %rsi      # 0x38789
movq %r15, %rdx
callq 0x3a71a
movq %r13, 0x410(%rsp,%rbp)
addq $0x8, %rbp
cmpq $0x40, %rbp
jne 0x3529d
xorl %ebp, %ebp
movq 0x410(%rsp,%rbp,8), %r13
movq %r13, %rdi
callq 0x6720
cmpq $0x0, (%r13)
jne 0x3629e
movl $0x8, %esi
movq %r13, %rdi
callq 0x6420
incq %rbp
cmpq $0x8, %rbp
jne 0x352de
callq 0x6070
subq %rbx, %rax
movabsq $0x431bde82d7b634db, %rcx # imm = 0x431BDE82D7B634DB
imulq %rcx
movq %rdx, %rax
shrq $0x3f, %rax
sarq $0x12, %rdx
addq %rax, %rdx
cvtsi2sd %rdx, %xmm0
mulsd 0x29b21(%rip), %xmm0    # 0x5ee60
movl 0x421eb(%rip), %eax     # 0x77530
cvtsi2sd %eax, %xmm1
movl 0x421cd(%rip), %eax     # 0x7751c
cvtsi2sd %eax, %xmm2
divsd %xmm2, %xmm1
movsd %xmm1, 0x3a8(%rsp)
movl 0x44(%rsp), %edi
movl 0x421b2(%rip), %esi     # 0x7751c
xorl %edx, %edx
callq 0x452ed
movl $0x15, %edx
movq 0x3fc6b(%rip), %rbx     # 0x74fe8
movq %rbx, %rdi
leaq 0x29bb2(%rip), %rsi     # 0x5ef39
callq 0x64a0
movq %rbx, %rdi
movsd 0x3a8(%rsp), %xmm0
callq 0x66a0
movq %rax, %rbx
movq (%rax), %rax
movq -0x18(%rax), %rdi
addq %rbx, %rdi
movl $0xa, %esi
callq 0x63d0
movsbl %al, %esi
movq %rbx, %rdi
callq 0x6040
movq %rax, %rdi
callq 0x62a0
xorl %eax, %eax
xorl %ecx, %ecx
xchgl %ecx, (%rax,%r14)
addq $0x4, %rax
cmpq $0x5a8, %rax            # imm = 0x5A8
jne 0x353c9
xorl %eax, %eax
xchgl %eax, 0x42139(%rip)     # 0x7751c
movl 0x44(%rsp), %ebx
leaq 0x328(%rsp), %r13
movq %r13, %rdi
callq 0x23e49
movq 0x41c22(%rip), %rsi     # 0x77020
movq 0x41c23(%rip), %rdx     # 0x77028
movq %r13, %rdi
callq 0x60d0
leaq 0x78(%rsp), %r13
leaq 0x258(%rsp), %rsi
movq %rsi, 0x248(%rsp)
movq (%rax), %rdx
movq %rax, %rcx
addq $0x10, %rcx
cmpq %rcx, %rdx
leaq 0x248(%rsp), %rdi
je 0x3544e
movq %rdx, 0x248(%rsp)
movq (%rcx), %rdx
movq %rdx, 0x258(%rsp)
jmp 0x35456
movupd (%rcx), %xmm0
movupd %xmm0, (%rsi)
movq 0x8(%rax), %rdx
movq %rdx, 0x250(%rsp)
movq %rcx, (%rax)
movq $0x0, 0x8(%rax)
movb $0x0, 0x10(%rax)
leaq 0x2a148(%rip), %rsi     # 0x5f5c0
callq 0x6810
leaq 0x278(%rsp), %rsi
movq %rsi, 0x268(%rsp)
movq (%rax), %rdx
movq %rax, %rcx
addq $0x10, %rcx
cmpq %rcx, %rdx
je 0x354b1
movq %rdx, 0x268(%rsp)
movq (%rcx), %rdx
movq %rdx, 0x278(%rsp)
jmp 0x354b9
movupd (%rcx), %xmm0
movupd %xmm0, (%rsi)
movq 0x8(%rax), %rdx
movq %rdx, 0x270(%rsp)
movq %rcx, (%rax)
movq $0x0, 0x8(%rax)
movb $0x0, 0x10(%rax)
movq 0x41b45(%rip), %rsi     # 0x77020
movq 0x41b46(%rip), %rdx     # 0x77028
leaq 0x268(%rsp), %rdi
callq 0x60d0
leaq 0x378(%rsp), %rsi
movq %rsi, 0x368(%rsp)
movq (%rax), %rdx
movq %rax, %rcx
addq $0x10, %rcx
cmpq %rcx, %rdx
je 0x35523
movq %rdx, 0x368(%rsp)
movq (%rcx), %rdx
movq %rdx, 0x378(%rsp)
jmp 0x3552b
movupd (%rcx), %xmm0
movupd %xmm0, (%rsi)
movq 0x8(%rax), %rdx
movq %rdx, 0x370(%rsp)
movq %rcx, (%rax)
movq $0x0, 0x8(%rax)
movb $0x0, 0x10(%rax)
leaq 0x368(%rsp), %rdi
leaq 0x2a0d1(%rip), %rsi     # 0x5f626
callq 0x6810
leaq 0x298(%rsp), %rsi
movq %rsi, 0x288(%rsp)
movq (%rax), %rdx
movq %rax, %rcx
addq $0x10, %rcx
cmpq %rcx, %rdx
je 0x3558e
movq %rdx, 0x288(%rsp)
movq (%rcx), %rdx
movq %rdx, 0x298(%rsp)
jmp 0x35596
movupd (%rcx), %xmm0
movupd %xmm0, (%rsi)
movq 0x8(%rax), %rdx
movq %rdx, 0x290(%rsp)
movq %rcx, (%rax)
movq $0x0, 0x8(%rax)
movb $0x0, 0x10(%rax)
movq 0x41a68(%rip), %rsi     # 0x77020
movq 0x41a69(%rip), %rdx     # 0x77028
leaq 0x288(%rsp), %rdi
callq 0x60d0
leaq 0x2b8(%rsp), %rsi
movq %rsi, 0x2a8(%rsp)
movq (%rax), %rdx
movq %rax, %rcx
addq $0x10, %rcx
cmpq %rcx, %rdx
je 0x35600
movq %rdx, 0x2a8(%rsp)
movq (%rcx), %rdx
movq %rdx, 0x2b8(%rsp)
jmp 0x35608
movupd (%rcx), %xmm0
movupd %xmm0, (%rsi)
movq 0x8(%rax), %rdx
movq %rdx, 0x2b0(%rsp)
movq %rcx, (%rax)
movq $0x0, 0x8(%rax)
movb $0x0, 0x10(%rax)
leaq 0x2a8(%rsp), %rdi
leaq 0x2a7be(%rip), %rsi     # 0x5fdf0
callq 0x6810
movq %r13, 0x68(%rsp)
movq (%rax), %rdx
movq %rax, %rcx
addq $0x10, %rcx
cmpq %rcx, %rdx
leaq 0x48(%rsp), %rdi
je 0x3565f
movq %rdx, 0x68(%rsp)
movq (%rcx), %rdx
movq %rdx, 0x78(%rsp)
jmp 0x35669
movupd (%rcx), %xmm0
movupd %xmm0, (%r13)
movq 0x8(%rax), %rdx
movq %rdx, 0x70(%rsp)
movq %rcx, (%rax)
movq $0x0, 0x8(%rax)
movb $0x0, 0x10(%rax)
movl %ebx, %r13d
negl %r13d
cmovsl %ebx, %r13d
movl $0x1, %ebp
cmpl $0xa, %r13d
jb 0x356d8
movl $0x4, %ebp
movl %r13d, %eax
cmpl $0x63, %eax
jbe 0x356d1
cmpl $0x3e7, %eax            # imm = 0x3E7
jbe 0x356d6
cmpl $0x2710, %eax           # imm = 0x2710
jb 0x356d8
movl %eax, %ecx
movl $0xd1b71759, %edx       # imm = 0xD1B71759
imulq %rdx, %rcx
shrq $0x2d, %rcx
addl $0x4, %ebp
cmpl $0x1869f, %eax          # imm = 0x1869F
movl %ecx, %eax
ja 0x3569e
addl $-0x3, %ebp
jmp 0x356d8
addl $-0x2, %ebp
jmp 0x356d8
decl %ebp
shrl $0x1f, %ebx
leal (%rbx,%rbp), %esi
leaq 0x58(%rsp), %rax
movq %rax, 0x48(%rsp)
movl $0x2d, %edx
callq 0x64c0
addq 0x48(%rsp), %rbx
movq %rbx, %rdi
movl %ebp, %esi
movl %r13d, %edx
callq 0x3a8da
movq 0x68(%rsp), %rcx
movl $0xf, %esi
leaq 0x78(%rsp), %rax
cmpq %rax, %rcx
je 0x3571d
movq 0x78(%rsp), %rsi
movq 0x70(%rsp), %r8
movq 0x50(%rsp), %rdx
leaq (%rdx,%r8), %rax
cmpq %rsi, %rax
leaq 0x10(%rsp), %r13
leaq 0x30(%rsp), %rbp
jbe 0x35755
movl $0xf, %esi
leaq 0x58(%rsp), %rdi
cmpq %rdi, 0x48(%rsp)
je 0x35750
movq 0x58(%rsp), %rsi
cmpq %rsi, %rax
jbe 0x35766
movq 0x48(%rsp), %rsi
leaq 0x68(%rsp), %rdi
callq 0x60d0
jmp 0x35774
leaq 0x48(%rsp), %rdi
xorl %esi, %esi
xorl %edx, %edx
callq 0x6480
movq %rbp, 0x20(%rsp)
movq (%rax), %rdx
leaq 0x10(%rax), %rcx
cmpq %rcx, %rdx
je 0x35794
movq %rdx, 0x20(%rsp)
movq (%rcx), %rdx
movq %rdx, 0x30(%rsp)
jmp 0x3579d
movupd (%rcx), %xmm0
movupd %xmm0, (%rbp)
movq %rax, %rdx
addq $0x8, %rdx
movq 0x8(%rax), %rsi
movq %rsi, 0x28(%rsp)
movq %rcx, (%rax)
movq $0x0, (%rdx)
movb $0x0, (%rcx)
movq 0x4185f(%rip), %rsi     # 0x77020
movq 0x41860(%rip), %rdx     # 0x77028
leaq 0x20(%rsp), %rdi
callq 0x60d0
movq %r13, (%rsp)
movq (%rax), %rdx
movq %rax, %rcx
addq $0x10, %rcx
cmpq %rcx, %rdx
je 0x357f3
movq %rdx, (%rsp)
movq (%rcx), %rdx
movq %rdx, 0x10(%rsp)
jmp 0x357fd
movupd (%rcx), %xmm0
movupd %xmm0, (%r13)
movq 0x8(%rax), %rdx
movq %rdx, 0x8(%rsp)
movq %rcx, (%rax)
movq $0x0, 0x8(%rax)
movb $0x0, 0x10(%rax)
movq 0x20(%rsp), %rdi
cmpq %rbp, %rdi
je 0x3582c
movq 0x30(%rsp), %rsi
incq %rsi
callq 0x6420
movq 0x48(%rsp), %rdi
leaq 0x58(%rsp), %rax
cmpq %rax, %rdi
je 0x35848
movq 0x58(%rsp), %rsi
incq %rsi
callq 0x6420
movq 0x68(%rsp), %rdi
leaq 0x78(%rsp), %rax
cmpq %rax, %rdi
je 0x35864
movq 0x78(%rsp), %rsi
incq %rsi
callq 0x6420
movq 0x2a8(%rsp), %rdi
leaq 0x2b8(%rsp), %rax
cmpq %rax, %rdi
je 0x35889
movq 0x2b8(%rsp), %rsi
incq %rsi
callq 0x6420
movq 0x288(%rsp), %rdi
leaq 0x298(%rsp), %rax
cmpq %rax, %rdi
je 0x358ae
movq 0x298(%rsp), %rsi
incq %rsi
callq 0x6420
movq 0x368(%rsp), %rdi
leaq 0x378(%rsp), %rax
cmpq %rax, %rdi
je 0x358d3
movq 0x378(%rsp), %rsi
incq %rsi
callq 0x6420
movq 0x268(%rsp), %rdi
leaq 0x278(%rsp), %rax
cmpq %rax, %rdi
je 0x358f8
movq 0x278(%rsp), %rsi
incq %rsi
callq 0x6420
movq 0x248(%rsp), %rdi
leaq 0x258(%rsp), %rax
cmpq %rax, %rdi
je 0x3591d
movq 0x258(%rsp), %rsi
incq %rsi
callq 0x6420
movq 0x328(%rsp), %rdi
leaq 0x338(%rsp), %rax
cmpq %rax, %rdi
je 0x35942
movq 0x338(%rsp), %rsi
incq %rsi
callq 0x6420
leaq 0x20(%rsp), %rdi
leaq 0x29737(%rip), %rsi     # 0x5f085
movq %r15, %rdx
callq 0x3a852
movq 0x20(%rsp), %rdi
callq 0x6350
leaq 0x238(%rsp), %rax
movq %rax, 0x228(%rsp)
movq (%rsp), %rsi
movq 0x8(%rsp), %rdx
addq %rsi, %rdx
leaq 0x228(%rsp), %rdi
callq 0x2039e
leaq 0x228(%rsp), %rbx
movq %rbx, %rdi
leaq 0x295cd(%rip), %rsi     # 0x5ef68
callq 0x6810
movq %rbx, %rdi
leaq 0x418a6(%rip), %rsi     # 0x77250
callq 0x42a39
movq 0x228(%rsp), %rdi
leaq 0x238(%rsp), %rax
cmpq %rax, %rdi
je 0x359d4
movq 0x238(%rsp), %rsi
incq %rsi
callq 0x6420
leaq 0x218(%rsp), %rax
movq %rax, 0x208(%rsp)
movq (%rsp), %rsi
movq 0x8(%rsp), %rdx
addq %rsi, %rdx
leaq 0x208(%rsp), %rdi
callq 0x2039e
leaq 0x208(%rsp), %rbx
movq %rbx, %rdi
leaq 0x29650(%rip), %rsi     # 0x5f05f
callq 0x6810
movq %rbx, %rdi
leaq 0x4184a(%rip), %rsi     # 0x77268
callq 0x42a39
movq 0x208(%rsp), %rdi
leaq 0x218(%rsp), %rax
cmpq %rax, %rdi
je 0x35a48
movq 0x218(%rsp), %rsi
incq %rsi
callq 0x6420
leaq 0x1f8(%rsp), %rax
movq %rax, 0x1e8(%rsp)
movq (%rsp), %rsi
movq 0x8(%rsp), %rdx
addq %rsi, %rdx
leaq 0x1e8(%rsp), %rdi
callq 0x2039e
leaq 0x1e8(%rsp), %rbx
movq %rbx, %rdi
leaq 0x294ee(%rip), %rsi     # 0x5ef71
callq 0x6810
movq %rbx, %rdi
leaq 0x416b6(%rip), %rsi     # 0x77148
callq 0x42a39
movq 0x1e8(%rsp), %rdi
leaq 0x1f8(%rsp), %rax
cmpq %rax, %rdi
je 0x35abc
movq 0x1f8(%rsp), %rsi
incq %rsi
callq 0x6420
leaq 0x1d8(%rsp), %rax
movq %rax, 0x1c8(%rsp)
movq (%rsp), %rsi
movq 0x8(%rsp), %rdx
addq %rsi, %rdx
leaq 0x1c8(%rsp), %rdi
callq 0x2039e
leaq 0x1c8(%rsp), %rbx
movq %rbx, %rdi
leaq 0x2948d(%rip), %rsi     # 0x5ef84
callq 0x6810
movq %rbx, %rdi
leaq 0x4165a(%rip), %rsi     # 0x77160
callq 0x42a39
movq 0x1c8(%rsp), %rdi
leaq 0x1d8(%rsp), %rax
cmpq %rax, %rdi
je 0x35b30
movq 0x1d8(%rsp), %rsi
incq %rsi
callq 0x6420
leaq 0x1b8(%rsp), %rax
movq %rax, 0x1a8(%rsp)
movq (%rsp), %rsi
movq 0x8(%rsp), %rdx
addq %rsi, %rdx
leaq 0x1a8(%rsp), %rdi
callq 0x2039e
leaq 0x1a8(%rsp), %rbx
movq %rbx, %rdi
leaq 0x29432(%rip), %rsi     # 0x5ef9d
callq 0x6810
movq %rbx, %rdi
leaq 0x415fe(%rip), %rsi     # 0x77178
callq 0x42a39
movq 0x1a8(%rsp), %rdi
leaq 0x1b8(%rsp), %rax
cmpq %rax, %rdi
je 0x35ba4
movq 0x1b8(%rsp), %rsi
incq %rsi
callq 0x6420
leaq 0x198(%rsp), %rax
movq %rax, 0x188(%rsp)
movq (%rsp), %rsi
movq 0x8(%rsp), %rdx
addq %rsi, %rdx
leaq 0x188(%rsp), %rdi
callq 0x2039e
leaq 0x188(%rsp), %rbx
movq %rbx, %rdi
leaq 0x293a9(%rip), %rsi     # 0x5ef88
callq 0x6810
movq %rbx, %rdi
leaq 0x415a2(%rip), %rsi     # 0x77190
callq 0x42a39
movq 0x188(%rsp), %rdi
leaq 0x198(%rsp), %rax
cmpq %rax, %rdi
je 0x35c18
movq 0x198(%rsp), %rsi
incq %rsi
callq 0x6420
leaq 0x178(%rsp), %rax
movq %rax, 0x168(%rsp)
movq (%rsp), %rsi
movq 0x8(%rsp), %rdx
addq %rsi, %rdx
leaq 0x168(%rsp), %rdi
callq 0x2039e
leaq 0x168(%rsp), %rbx
movq %rbx, %rdi
leaq 0x2935b(%rip), %rsi     # 0x5efae
callq 0x6810
movq %rbx, %rdi
leaq 0x41546(%rip), %rsi     # 0x771a8
callq 0x42a39
movq 0x168(%rsp), %rdi
leaq 0x178(%rsp), %rax
cmpq %rax, %rdi
je 0x35c8c
movq 0x178(%rsp), %rsi
incq %rsi
callq 0x6420
leaq 0x158(%rsp), %rax
movq %rax, 0x148(%rsp)
movq (%rsp), %rsi
movq 0x8(%rsp), %rdx
addq %rsi, %rdx
leaq 0x148(%rsp), %rdi
callq 0x2039e
leaq 0x148(%rsp), %rbx
movq %rbx, %rdi
leaq 0x293c5(%rip), %rsi     # 0x5f08c
callq 0x6810
movq %rbx, %rdi
leaq 0x414ea(%rip), %rsi     # 0x771c0
callq 0x42a39
movq 0x148(%rsp), %rdi
leaq 0x158(%rsp), %rax
cmpq %rax, %rdi
je 0x35d00
movq 0x158(%rsp), %rsi
incq %rsi
callq 0x6420
leaq 0x138(%rsp), %rax
movq %rax, 0x128(%rsp)
movq (%rsp), %rsi
movq 0x8(%rsp), %rdx
addq %rsi, %rdx
leaq 0x128(%rsp), %rdi
callq 0x2039e
leaq 0x128(%rsp), %rbx
movq %rbx, %rdi
leaq 0x29296(%rip), %rsi     # 0x5efd1
callq 0x6810
movq %rbx, %rdi
leaq 0x4148e(%rip), %rsi     # 0x771d8
callq 0x42a39
movq 0x128(%rsp), %rdi
leaq 0x138(%rsp), %rax
cmpq %rax, %rdi
je 0x35d74
movq 0x138(%rsp), %rsi
incq %rsi
callq 0x6420
leaq 0x118(%rsp), %rax
movq %rax, 0x108(%rsp)
movq (%rsp), %rsi
movq 0x8(%rsp), %rdx
addq %rsi, %rdx
leaq 0x108(%rsp), %rdi
callq 0x2039e
leaq 0x108(%rsp), %rbx
movq %rbx, %rdi
leaq 0x2927d(%rip), %rsi     # 0x5f02c
callq 0x6810
movq %rbx, %rdi
leaq 0x41372(%rip), %rsi     # 0x77130
callq 0x42a39
movq 0x108(%rsp), %rdi
leaq 0x118(%rsp), %rax
cmpq %rax, %rdi
je 0x35de8
movq 0x118(%rsp), %rsi
incq %rsi
callq 0x6420
leaq 0xf8(%rsp), %rax
movq %rax, 0xe8(%rsp)
movq (%rsp), %rsi
movq 0x8(%rsp), %rdx
addq %rsi, %rdx
leaq 0xe8(%rsp), %rdi
callq 0x2039e
leaq 0xe8(%rsp), %rbx
movq %rbx, %rdi
leaq 0x291c1(%rip), %rsi     # 0x5efe4
callq 0x6810
movq %rbx, %rdi
leaq 0x413be(%rip), %rsi     # 0x771f0
callq 0x42a39
movq 0xe8(%rsp), %rdi
leaq 0xf8(%rsp), %rax
cmpq %rax, %rdi
je 0x35e5c
movq 0xf8(%rsp), %rsi
incq %rsi
callq 0x6420
leaq 0xd8(%rsp), %rax
movq %rax, 0xc8(%rsp)
movq (%rsp), %rsi
movq 0x8(%rsp), %rdx
addq %rsi, %rdx
leaq 0xc8(%rsp), %rdi
callq 0x2039e
leaq 0xc8(%rsp), %rbx
movq %rbx, %rdi
leaq 0x2915f(%rip), %rsi     # 0x5eff6
callq 0x6810
movq %rbx, %rdi
leaq 0x41362(%rip), %rsi     # 0x77208
callq 0x42a39
movq 0xc8(%rsp), %rdi
leaq 0xd8(%rsp), %rax
cmpq %rax, %rdi
je 0x35ed0
movq 0xd8(%rsp), %rsi
incq %rsi
callq 0x6420
leaq 0xb8(%rsp), %rax
movq %rax, 0xa8(%rsp)
movq (%rsp), %rsi
movq 0x8(%rsp), %rdx
addq %rsi, %rdx
leaq 0xa8(%rsp), %rdi
callq 0x2039e
leaq 0xa8(%rsp), %rbx
movq %rbx, %rdi
leaq 0x290fd(%rip), %rsi     # 0x5f008
callq 0x6810
movq %rbx, %rdi
leaq 0x41306(%rip), %rsi     # 0x77220
callq 0x42a39
movq 0xa8(%rsp), %rdi
leaq 0xb8(%rsp), %rax
cmpq %rax, %rdi
je 0x35f44
movq 0xb8(%rsp), %rsi
incq %rsi
callq 0x6420
leaq 0x98(%rsp), %rax
movq %rax, 0x88(%rsp)
movq (%rsp), %rsi
movq 0x8(%rsp), %rdx
addq %rsi, %rdx
leaq 0x88(%rsp), %rdi
callq 0x2039e
leaq 0x88(%rsp), %rbx
movq %rbx, %rdi
leaq 0x2909b(%rip), %rsi     # 0x5f01a
callq 0x6810
movq %rbx, %rdi
leaq 0x412aa(%rip), %rsi     # 0x77238
callq 0x42a39
movq 0x88(%rsp), %rdi
leaq 0x98(%rsp), %rax
cmpq %rax, %rdi
je 0x35fb8
movq 0x98(%rsp), %rsi
incq %rsi
callq 0x6420
leaq 0x358(%rsp), %rax
movq %rax, 0x348(%rsp)
movq (%rsp), %rsi
movq 0x8(%rsp), %rdx
addq %rsi, %rdx
leaq 0x348(%rsp), %rdi
callq 0x2039e
leaq 0x348(%rsp), %rbx
movq %rbx, %rdi
leaq 0x29043(%rip), %rsi     # 0x5f036
callq 0x6810
movq %rbx, %rdi
leaq 0x410b6(%rip), %rsi     # 0x770b8
callq 0x42a39
movq 0x348(%rsp), %rdi
leaq 0x358(%rsp), %rax
cmpq %rax, %rdi
je 0x3602c
movq 0x358(%rsp), %rsi
incq %rsi
callq 0x6420
leaq 0x398(%rsp), %rax
movq %rax, 0x388(%rsp)
movq (%rsp), %rsi
movq 0x8(%rsp), %rdx
addq %rsi, %rdx
movq %r12, %rdi
callq 0x2039e
movq %r12, %rdi
leaq 0x28fe5(%rip), %rsi     # 0x5f03f
callq 0x6810
movq %r12, %rdi
leaq 0x41067(%rip), %rsi     # 0x770d0
leaq 0x41210(%rip), %rdx     # 0x77280
leaq 0x41269(%rip), %rcx     # 0x772e0
callq 0x42bf0
movq 0x388(%rsp), %rdi
leaq 0x398(%rsp), %rax
cmpq %rax, %rdi
je 0x360a1
movq 0x398(%rsp), %rsi
incq %rsi
callq 0x6420
leaq 0x318(%rsp), %rax
movq %rax, 0x308(%rsp)
movq (%rsp), %rsi
movq 0x8(%rsp), %rdx
addq %rsi, %rdx
leaq 0x308(%rsp), %rdi
callq 0x2039e
leaq 0x308(%rsp), %rbx
movq %rbx, %rdi
leaq 0x28f6b(%rip), %rsi     # 0x5f047
callq 0x6810
movq %rbx, %rdi
leaq 0x40ffd(%rip), %rsi     # 0x770e8
leaq 0x411a6(%rip), %rdx     # 0x77298
leaq 0x40f77(%rip), %rcx     # 0x77070
leaq 0x41208(%rip), %r8      # 0x77308
callq 0x42e60
movq 0x308(%rsp), %rdi
leaq 0x318(%rsp), %rax
cmpq %rax, %rdi
je 0x3612a
movq 0x318(%rsp), %rsi
incq %rsi
callq 0x6420
leaq 0x2f8(%rsp), %rax
movq %rax, 0x2e8(%rsp)
movq (%rsp), %rsi
movq 0x8(%rsp), %rdx
addq %rsi, %rdx
leaq 0x2e8(%rsp), %rdi
callq 0x2039e
leaq 0x2e8(%rsp), %rbx
movq %rbx, %rdi
leaq 0x28eea(%rip), %rsi     # 0x5f04f
callq 0x6810
movq %rbx, %rdi
leaq 0x40f8c(%rip), %rsi     # 0x77100
leaq 0x41135(%rip), %rdx     # 0x772b0
leaq 0x40f06(%rip), %rcx     # 0x77088
leaq 0x411a7(%rip), %r8      # 0x77330
callq 0x42e60
movq 0x2e8(%rsp), %rdi
leaq 0x2f8(%rsp), %rax
cmpq %rax, %rdi
je 0x361b3
movq 0x2f8(%rsp), %rsi
incq %rsi
callq 0x6420
leaq 0x2d8(%rsp), %rax
movq %rax, 0x2c8(%rsp)
movq (%rsp), %rsi
movq 0x8(%rsp), %rdx
addq %rsi, %rdx
leaq 0x2c8(%rsp), %rdi
callq 0x2039e
leaq 0x2c8(%rsp), %rbx
movq %rbx, %rdi
leaq 0x28e69(%rip), %rsi     # 0x5f057
callq 0x6810
movq %rbx, %rdi
leaq 0x40f1b(%rip), %rsi     # 0x77118
leaq 0x410c4(%rip), %rdx     # 0x772c8
leaq 0x40e95(%rip), %rcx     # 0x770a0
leaq 0x41146(%rip), %r8      # 0x77358
callq 0x42e60
movq 0x2c8(%rsp), %rdi
leaq 0x2d8(%rsp), %rax
cmpq %rax, %rdi
je 0x3623c
movq 0x2d8(%rsp), %rsi
incq %rsi
callq 0x6420
movq 0x20(%rsp), %rdi
cmpq %rbp, %rdi
je 0x36253
movq 0x30(%rsp), %rsi
incq %rsi
callq 0x6420
movq (%rsp), %rdi
cmpq %r13, %rdi
je 0x36269
movq 0x10(%rsp), %rsi
incq %rsi
callq 0x6420
xorl %eax, %eax
xchgl %eax, 0x412a7(%rip)     # 0x77518
movl 0x44(%rsp), %ecx
leal 0x1(%rcx), %eax
movl %eax, 0x44(%rsp)
cmpl $0x64, %ecx
leaq 0x4111a(%rip), %r13     # 0x773a0
jl 0x34137
addq $0x498, %rsp            # imm = 0x498
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
retq
callq 0x60b0
jmp 0x362a5
movq %rax, %rbx
movq 0x2c8(%rsp), %rdi
leaq 0x2d8(%rsp), %rax
cmpq %rax, %rdi
je 0x366ab
movq 0x2d8(%rsp), %rsi
jmp 0x366a3
jmp 0x362d0
movq %rax, %rbx
movq 0x2e8(%rsp), %rdi
leaq 0x2f8(%rsp), %rax
cmpq %rax, %rdi
je 0x366ab
movq 0x2f8(%rsp), %rsi
jmp 0x366a3
jmp 0x362fb
movq %rax, %rbx
movq 0x108(%rsp), %rdi
leaq 0x118(%rsp), %rax
cmpq %rax, %rdi
je 0x366ab
movq 0x118(%rsp), %rsi
jmp 0x366a3
jmp 0x36328
jmp 0x36351
movq %rax, %rbx
movq 0x148(%rsp), %rdi
leaq 0x158(%rsp), %rax
cmpq %rax, %rdi
je 0x366ab
movq 0x158(%rsp), %rsi
jmp 0x366a3
movq %rax, %rbx
movq 0xc8(%rsp), %rdi
leaq 0xd8(%rsp), %rax
cmpq %rax, %rdi
je 0x366ab
movq 0xd8(%rsp), %rsi
jmp 0x366a3
jmp 0x363d7
jmp 0x363ae
jmp 0x36385
jmp 0x36486
movq %rax, %rbx
movq 0x168(%rsp), %rdi
leaq 0x178(%rsp), %rax
cmpq %rax, %rdi
je 0x366ab
movq 0x178(%rsp), %rsi
jmp 0x366a3
movq %rax, %rbx
movq 0x128(%rsp), %rdi
leaq 0x138(%rsp), %rax
cmpq %rax, %rdi
je 0x366ab
movq 0x138(%rsp), %rsi
jmp 0x366a3
movq %rax, %rbx
movq 0xe8(%rsp), %rdi
leaq 0xf8(%rsp), %rax
cmpq %rax, %rdi
je 0x366ab
movq 0xf8(%rsp), %rsi
jmp 0x366a3
jmp 0x364af
jmp 0x36434
jmp 0x36409
movq %rax, %rbx
movq 0x308(%rsp), %rdi
leaq 0x318(%rsp), %rax
cmpq %rax, %rdi
je 0x366ab
movq 0x318(%rsp), %rsi
jmp 0x366a3
jmp 0x3645d
movq %rax, %rbx
movq 0x388(%rsp), %rdi
leaq 0x398(%rsp), %rax
cmpq %rax, %rdi
je 0x366ab
movq 0x398(%rsp), %rsi
jmp 0x366a3
movq %rax, %rbx
movq 0x348(%rsp), %rdi
leaq 0x358(%rsp), %rax
cmpq %rax, %rdi
je 0x366ab
movq 0x358(%rsp), %rsi
jmp 0x366a3
movq %rax, %rbx
movq 0x88(%rsp), %rdi
leaq 0x98(%rsp), %rax
cmpq %rax, %rdi
je 0x366ab
movq 0x98(%rsp), %rsi
jmp 0x366a3
movq %rax, %rbx
movq 0xa8(%rsp), %rdi
leaq 0xb8(%rsp), %rax
cmpq %rax, %rdi
je 0x366ab
movq 0xb8(%rsp), %rsi
jmp 0x366a3
jmp 0x36529
jmp 0x3663f
movq %rax, %rbx
jmp 0x3670c
movq %rax, %rbx
jmp 0x366e7
jmp 0x364f1
movq %rax, %rbx
movq 0x1a8(%rsp), %rdi
leaq 0x1b8(%rsp), %rax
cmpq %rax, %rdi
je 0x366ab
movq 0x1b8(%rsp), %rsi
jmp 0x366a3
jmp 0x36661
movq %rax, %rbx
jmp 0x365d0
jmp 0x36562
movq %rax, %rbx
movq 0x1e8(%rsp), %rdi
leaq 0x1f8(%rsp), %rax
cmpq %rax, %rdi
je 0x366ab
movq 0x1f8(%rsp), %rsi
jmp 0x366a3
movq %rax, %rbx
jmp 0x365ec
movq %rax, %rbx
jmp 0x36611
movq %rax, %rbx
movq 0x188(%rsp), %rdi
leaq 0x198(%rsp), %rax
cmpq %rax, %rdi
je 0x366ab
movq 0x198(%rsp), %rsi
jmp 0x366a3
jmp 0x36683
jmp 0x36b5a
movq %rax, %rbx
movq 0x20(%rsp), %rdi
cmpq %rbp, %rdi
je 0x365b4
movq 0x30(%rsp), %rsi
incq %rsi
callq 0x6420
jmp 0x365b4
movq %rax, %rbx
movq 0x48(%rsp), %rdi
leaq 0x58(%rsp), %rax
cmpq %rax, %rdi
je 0x365d0
movq 0x58(%rsp), %rsi
incq %rsi
callq 0x6420
movq 0x68(%rsp), %rdi
leaq 0x78(%rsp), %rax
cmpq %rax, %rdi
je 0x365ec
movq 0x78(%rsp), %rsi
incq %rsi
callq 0x6420
movq 0x2a8(%rsp), %rdi
leaq 0x2b8(%rsp), %rax
cmpq %rax, %rdi
je 0x36611
movq 0x2b8(%rsp), %rsi
incq %rsi
callq 0x6420
movq 0x288(%rsp), %rdi
leaq 0x298(%rsp), %rax
cmpq %rax, %rdi
je 0x366c2
movq 0x298(%rsp), %rsi
incq %rsi
callq 0x6420
jmp 0x366c2
movq %rax, %rbx
movq 0x228(%rsp), %rdi
leaq 0x238(%rsp), %rax
cmpq %rax, %rdi
je 0x366ab
movq 0x238(%rsp), %rsi
jmp 0x366a3
movq %rax, %rbx
movq 0x208(%rsp), %rdi
leaq 0x218(%rsp), %rax
cmpq %rax, %rdi
je 0x366ab
movq 0x218(%rsp), %rsi
jmp 0x366a3
movq %rax, %rbx
movq 0x1c8(%rsp), %rdi
leaq 0x1d8(%rsp), %rax
cmpq %rax, %rdi
je 0x366ab
movq 0x1d8(%rsp), %rsi
incq %rsi
callq 0x6420
leaq 0x10(%rsp), %r13
leaq 0x30(%rsp), %rbp
jmp 0x36b65
movq %rax, %rbx
jmp 0x36731
movq %rax, %rbx
movq 0x368(%rsp), %rdi
leaq 0x378(%rsp), %rax
cmpq %rax, %rdi
je 0x366e7
movq 0x378(%rsp), %rsi
incq %rsi
callq 0x6420
movq 0x268(%rsp), %rdi
leaq 0x278(%rsp), %rax
cmpq %rax, %rdi
je 0x3670c
movq 0x278(%rsp), %rsi
incq %rsi
callq 0x6420
movq 0x248(%rsp), %rdi
leaq 0x258(%rsp), %rax
cmpq %rax, %rdi
je 0x36731
movq 0x258(%rsp), %rsi
incq %rsi
callq 0x6420
movq 0x328(%rsp), %rdi
leaq 0x338(%rsp), %rax
cmpq %rax, %rdi
je 0x36ce9
movq 0x338(%rsp), %rsi
jmp 0x36cd2
jmp 0x36759
movq %rax, %rbx
movq 0x3b0(%rsp), %rdi
leaq 0x3c0(%rsp), %rax
cmpq %rax, %rdi
je 0x36c98
movq 0x3c0(%rsp), %rsi
jmp 0x36ada
jmp 0x36786
jmp 0x367b1
movq %rax, %rbx
movq 0x88(%rsp), %rdi
leaq 0x98(%rsp), %rax
cmpq %rax, %rdi
je 0x36c98
movq 0x98(%rsp), %rsi
jmp 0x36ada
jmp 0x367da
movq %rax, %rbx
movq 0xc8(%rsp), %rdi
leaq 0xd8(%rsp), %rax
cmpq %rax, %rdi
je 0x36c98
movq 0xd8(%rsp), %rsi
jmp 0x36ada
movq %rax, %rbx
movq 0xa8(%rsp), %rdi
leaq 0xb8(%rsp), %rax
cmpq %rax, %rdi
je 0x36c98
movq 0xb8(%rsp), %rsi
jmp 0x36ada
jmp 0x3699c
jmp 0x3680c
jmp 0x3684d
movq %rax, %rbx
movq 0x188(%rsp), %rdi
leaq 0x198(%rsp), %rax
cmpq %rax, %rdi
je 0x36c98
movq 0x198(%rsp), %rsi
jmp 0x36ada
jmp 0x368a6
jmp 0x3694a
jmp 0x36921
jmp 0x369c5
jmp 0x368f8
jmp 0x3687d
movq %rax, %rbx
movq 0x1a8(%rsp), %rdi
leaq 0x1b8(%rsp), %rax
cmpq %rax, %rdi
je 0x36c98
movq 0x1b8(%rsp), %rsi
jmp 0x36ada
jmp 0x36973
jmp 0x368cf
movq %rax, %rbx
movq 0x228(%rsp), %rdi
leaq 0x238(%rsp), %rax
cmpq %rax, %rdi
je 0x36c98
movq 0x238(%rsp), %rsi
jmp 0x36ada
movq %rax, %rbx
movq 0x1e8(%rsp), %rdi
leaq 0x1f8(%rsp), %rax
cmpq %rax, %rdi
je 0x36c98
movq 0x1f8(%rsp), %rsi
jmp 0x36ada
movq %rax, %rbx
movq 0x1c8(%rsp), %rdi
leaq 0x1d8(%rsp), %rax
cmpq %rax, %rdi
je 0x36c98
movq 0x1d8(%rsp), %rsi
jmp 0x36ada
movq %rax, %rbx
movq 0x108(%rsp), %rdi
leaq 0x118(%rsp), %rax
cmpq %rax, %rdi
je 0x36c98
movq 0x118(%rsp), %rsi
jmp 0x36ada
movq %rax, %rbx
movq 0x168(%rsp), %rdi
leaq 0x178(%rsp), %rax
cmpq %rax, %rdi
je 0x36c98
movq 0x178(%rsp), %rsi
jmp 0x36ada
movq %rax, %rbx
movq 0x128(%rsp), %rdi
leaq 0x138(%rsp), %rax
cmpq %rax, %rdi
je 0x36c98
movq 0x138(%rsp), %rsi
jmp 0x36ada
movq %rax, %rbx
movq 0x148(%rsp), %rdi
leaq 0x158(%rsp), %rax
cmpq %rax, %rdi
je 0x36c98
movq 0x158(%rsp), %rsi
jmp 0x36ada
movq %rax, %rbx
movq 0xe8(%rsp), %rdi
leaq 0xf8(%rsp), %rax
cmpq %rax, %rdi
je 0x36c98
movq 0xf8(%rsp), %rsi
jmp 0x36ada
movq %rax, %rbx
movq 0x208(%rsp), %rdi
leaq 0x218(%rsp), %rax
cmpq %rax, %rdi
je 0x36c98
movq 0x218(%rsp), %rsi
jmp 0x36ada
jmp 0x36a65
jmp 0x369fa
movq %rax, %rbx
jmp 0x36b34
movq %rax, %rbx
movq 0x48(%rsp), %rdi
leaq 0x58(%rsp), %rax
cmpq %rax, %rdi
je 0x36c98
movq 0x58(%rsp), %rsi
jmp 0x36ada
jmp 0x36ab6
jmp 0x36a8b
movq %rax, %rbx
jmp 0x36a40
movq %rax, %rbx
movq 0x20(%rsp), %rdi
cmpq %rbp, %rdi
je 0x36a40
movq 0x30(%rsp), %rsi
incq %rsi
callq 0x6420
movq 0x68(%rsp), %rdi
leaq 0x78(%rsp), %rax
cmpq %rax, %rdi
je 0x36aea
movq 0x78(%rsp), %rsi
incq %rsi
callq 0x6420
jmp 0x36aea
movq %rax, %rbx
movq 0x268(%rsp), %rdi
leaq 0x278(%rsp), %rax
cmpq %rax, %rdi
je 0x36c98
movq 0x278(%rsp), %rsi
jmp 0x36ada
movq %rax, %rbx
movq 0x248(%rsp), %rdi
leaq 0x258(%rsp), %rax
cmpq %rax, %rdi
je 0x36c98
movq 0x258(%rsp), %rsi
jmp 0x36ada
movq %rax, %rbx
jmp 0x36b0f
movq %rax, %rbx
movq 0x328(%rsp), %rdi
leaq 0x338(%rsp), %rax
cmpq %rax, %rdi
je 0x36c98
movq 0x338(%rsp), %rsi
incq %rsi
callq 0x6420
jmp 0x36c98
movq %rax, %rbx
movq 0x2a8(%rsp), %rdi
leaq 0x2b8(%rsp), %rax
cmpq %rax, %rdi
je 0x36b0f
movq 0x2b8(%rsp), %rsi
incq %rsi
callq 0x6420
movq 0x288(%rsp), %rdi
leaq 0x298(%rsp), %rax
cmpq %rax, %rdi
je 0x36b34
movq 0x298(%rsp), %rsi
incq %rsi
callq 0x6420
movq 0x368(%rsp), %rdi
leaq 0x378(%rsp), %rax
cmpq %rax, %rdi
je 0x36ce9
movq 0x378(%rsp), %rsi
jmp 0x36cd2
movq %rax, %rbx
jmp 0x36cc4
movq %rax, %rbx
movq 0x20(%rsp), %rdi
cmpq %rbp, %rdi
je 0x36cc4
movq 0x30(%rsp), %rsi
jmp 0x36cbc
jmp 0x36c95
movq %rax, %rbx
movq 0x3d0(%rsp), %rdi
leaq 0x3e0(%rsp), %rax
cmpq %rax, %rdi
leaq 0x10(%rsp), %r13
je 0x36cc4
movq 0x3e0(%rsp), %rsi
jmp 0x36cbc
jmp 0x36c95
movq %rax, %rbx
movq 0x3f0(%rsp), %rdi
leaq 0x400(%rsp), %rax
cmpq %rax, %rdi
leaq 0x10(%rsp), %r13
je 0x36cc4
movq 0x400(%rsp), %rsi
jmp 0x36cbc
jmp 0x36c95
movq %rax, %rbx
movq 0x2c8(%rsp), %rdi
leaq 0x2d8(%rsp), %rax
cmpq %rax, %rdi
leaq 0x10(%rsp), %r13
je 0x36cc4
movq 0x2d8(%rsp), %rsi
jmp 0x36cbc
jmp 0x36c95
movq %rax, %rbx
movq 0x2e8(%rsp), %rdi
leaq 0x2f8(%rsp), %rax
cmpq %rax, %rdi
leaq 0x10(%rsp), %r13
je 0x36cc4
movq 0x2f8(%rsp), %rsi
jmp 0x36cbc
jmp 0x36c95
movq %rax, %rbx
movq 0x308(%rsp), %rdi
leaq 0x318(%rsp), %rax
cmpq %rax, %rdi
leaq 0x10(%rsp), %r13
je 0x36cc4
movq 0x318(%rsp), %rsi
jmp 0x36cbc
jmp 0x36c95
movq %rax, %rbx
movq 0x388(%rsp), %rdi
leaq 0x398(%rsp), %rax
cmpq %rax, %rdi
leaq 0x10(%rsp), %r13
je 0x36cc4
movq 0x398(%rsp), %rsi
jmp 0x36cbc
movq %rax, %rbx
leaq 0x10(%rsp), %r13
jmp 0x36cc4
movq %rax, %rbx
movq 0x348(%rsp), %rdi
cmpq %rbp, %rdi
leaq 0x10(%rsp), %r13
je 0x36cc4
movq 0x358(%rsp), %rsi
incq %rsi
callq 0x6420
movq (%rsp), %rdi
cmpq %r13, %rdi
je 0x36ce9
movq 0x10(%rsp), %rsi
incq %rsi
jmp 0x36ce4
jmp 0x36cd9
movq %rax, %rbx
movl $0x8, %esi
movq %r13, %rdi
callq 0x6420
movq %rbx, %rdi
callq 0x6770