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

  for (int step = 0; step <= MM_UPDATE_MAX; step++) {
    std::chrono::system_clock::time_point start = std::chrono::system_clock::now();

    InitializeSigma();

    for (int i = 0; i < TRAIN_THREAD_NUM; i++) {
      targ[i].id = i;
      targ[i].step = step;
      handle[i] = new std::thread(LearningWorker, &targ[i]);
    }

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

    if (first_flag) {
      SumWin(TRAIN_THREAD_NUM);
    }
    SumSigma(TRAIN_THREAD_NUM);

    UpdateParameters(step - 1);

    OutputLearningProgress(step - 1);
    
    std::chrono::system_clock::time_point end = std::chrono::system_clock::now();
    const double elapsed_time = std::chrono::duration_cast<std::chrono::milliseconds>(end - start).count() * 0.001;

    OutputLearningLogFile(step, all_moves.load(), elapsed_time);

    if (step % MM_UPDATE_INTERVAL == 0 || step == MM_UPDATE_MAX) {
      OutputAllParameters(step);
      EvaluateMovePrediction(step);
    }

    first_flag = false;
  }
}

// Assembly:
pushq %rbp
pushq %r15
pushq %r14
pushq %r13
pushq %r12
pushq %rbx
subq $0x728, %rsp            # imm = 0x728
movq 0x38431(%rip), %rax     # 0x74f68
movq (%rax), %rcx
movq %rcx, 0x290(%rsp)
movq 0x18(%rax), %rax
movq %rax, 0x288(%rsp)
movl $0xf8, %eax
leaq 0x2a0(%rsp), %rcx
addq %rax, %rcx
movq %rcx, 0x278(%rsp)
leaq 0x4a0(%rsp), %rcx
addq %rcx, %rax
movq %rax, 0x280(%rsp)
xorl %ebx, %ebx
leaq 0x40(%rsp), %rbp
leaq 0xd0(%rsp), %r14
callq 0x6070
movq %rax, 0x298(%rsp)
movq 0x3b5b4(%rip), %rax     # 0x78150
movq 0x3b5b5(%rip), %rcx     # 0x78158
cmpq %rcx, %rax
je 0x3cbc8
movq (%rax), %rdx
movq 0x8(%rax), %rsi
cmpq %rsi, %rdx
je 0x3cbc2
movq $0x0, 0x10(%rdx)
addq $0x20, %rdx
jmp 0x3cbaf
addq $0x18, %rax
jmp 0x3cba3
movq 0x3b599(%rip), %rax     # 0x78168
movq 0x3b59a(%rip), %rcx     # 0x78170
cmpq %rcx, %rax
je 0x3cbfb
movq (%rax), %rdx
movq 0x8(%rax), %rsi
cmpq %rsi, %rdx
je 0x3cbf5
movq $0x0, 0x10(%rdx)
addq $0x20, %rdx
jmp 0x3cbe2
addq $0x18, %rax
jmp 0x3cbd6
movq 0x3b57e(%rip), %rax     # 0x78180
movq 0x3b57f(%rip), %rcx     # 0x78188
cmpq %rcx, %rax
je 0x3cc2e
movq (%rax), %rdx
movq 0x8(%rax), %rsi
cmpq %rsi, %rdx
je 0x3cc28
movq $0x0, 0x10(%rdx)
addq $0x20, %rdx
jmp 0x3cc15
addq $0x18, %rax
jmp 0x3cc09
movq 0x3b563(%rip), %rax     # 0x78198
movq 0x3b564(%rip), %rcx     # 0x781a0
cmpq %rcx, %rax
je 0x3cc61
movq (%rax), %rdx
movq 0x8(%rax), %rsi
cmpq %rsi, %rdx
je 0x3cc5b
movq $0x0, 0x10(%rdx)
addq $0x20, %rdx
jmp 0x3cc48
addq $0x18, %rax
jmp 0x3cc3c
movq 0x3b548(%rip), %rax     # 0x781b0
movq 0x3b549(%rip), %rcx     # 0x781b8
cmpq %rcx, %rax
je 0x3cc94
movq (%rax), %rdx
movq 0x8(%rax), %rsi
cmpq %rsi, %rdx
je 0x3cc8e
movq $0x0, 0x10(%rdx)
addq $0x20, %rdx
jmp 0x3cc7b
addq $0x18, %rax
jmp 0x3cc6f
movq 0x3b52d(%rip), %rax     # 0x781c8
movq 0x3b52e(%rip), %rcx     # 0x781d0
cmpq %rcx, %rax
je 0x3ccc7
movq (%rax), %rdx
movq 0x8(%rax), %rsi
cmpq %rsi, %rdx
je 0x3ccc1
movq $0x0, 0x10(%rdx)
addq $0x20, %rdx
jmp 0x3ccae
addq $0x18, %rax
jmp 0x3cca2
movq 0x3b512(%rip), %rax     # 0x781e0
movq 0x3b513(%rip), %rcx     # 0x781e8
cmpq %rcx, %rax
je 0x3ccfa
movq (%rax), %rdx
movq 0x8(%rax), %rsi
cmpq %rsi, %rdx
je 0x3ccf4
movq $0x0, 0x10(%rdx)
addq $0x20, %rdx
jmp 0x3cce1
addq $0x18, %rax
jmp 0x3ccd5
movq 0x3b4f7(%rip), %rax     # 0x781f8
movq 0x3b4f8(%rip), %rcx     # 0x78200
cmpq %rcx, %rax
je 0x3cd2d
movq (%rax), %rdx
movq 0x8(%rax), %rsi
cmpq %rsi, %rdx
je 0x3cd27
movq $0x0, 0x10(%rdx)
addq $0x20, %rdx
jmp 0x3cd14
addq $0x18, %rax
jmp 0x3cd08
movq 0x3b4dc(%rip), %rax     # 0x78210
movq 0x3b4dd(%rip), %rcx     # 0x78218
cmpq %rcx, %rax
je 0x3cd60
movq (%rax), %rdx
movq 0x8(%rax), %rsi
cmpq %rsi, %rdx
je 0x3cd5a
movq $0x0, 0x10(%rdx)
addq $0x20, %rdx
jmp 0x3cd47
addq $0x18, %rax
jmp 0x3cd3b
movq %rbx, 0xa8(%rsp)
leaq 0x6a0(%rsp), %r15
xorl %r13d, %r13d
movl %r13d, 0x6a0(%rsp,%r13,8)
movq 0xa8(%rsp), %rax
movl %eax, 0x6a4(%rsp,%r13,8)
movl $0x8, %edi
callq 0x6410
movq %rax, %rbx
movq %r15, 0x4a0(%rsp)
movq %rax, %rdi
leaq 0x2ff3(%rip), %rsi      # 0x3fd9d
leaq 0x4a0(%rsp), %rdx
callq 0x3a71a
movq %rbx, 0x6e0(%rsp,%r13,8)
incq %r13
addq $0x8, %r15
cmpq $0x8, %r13
jne 0x3cd73
xorl %r15d, %r15d
movq 0x6e0(%rsp,%r15,8), %rbx
movq %rbx, %rdi
callq 0x6720
cmpq $0x0, (%rbx)
jne 0x3f428
movl $0x8, %esi
movq %rbx, %rdi
callq 0x6420
incq %r15
cmpq $0x8, %r15
jne 0x3cdcf
cmpb $0x0, 0x3ba06(%rip)     # 0x7880c
jne 0x3ce74
leaq 0x3b341(%rip), %rdi     # 0x78150
callq 0x40c26
leaq 0x3b34d(%rip), %rdi     # 0x78168
callq 0x40c26
leaq 0x3b359(%rip), %rdi     # 0x78180
callq 0x40c26
leaq 0x3b365(%rip), %rdi     # 0x78198
callq 0x40c26
leaq 0x3b371(%rip), %rdi     # 0x781b0
callq 0x40c26
leaq 0x3b37d(%rip), %rdi     # 0x781c8
callq 0x40c26
leaq 0x3b389(%rip), %rdi     # 0x781e0
callq 0x40c26
leaq 0x3b395(%rip), %rdi     # 0x781f8
callq 0x40c26
leaq 0x3b3a1(%rip), %rdi     # 0x78210
callq 0x40c26
leaq 0x3b2d5(%rip), %rdi     # 0x78150
callq 0x40c75
leaq 0x3b2e1(%rip), %rdi     # 0x78168
callq 0x40c75
leaq 0x3b2ed(%rip), %rdi     # 0x78180
callq 0x40c75
leaq 0x3b2f9(%rip), %rdi     # 0x78198
callq 0x40c75
leaq 0x3b305(%rip), %rdi     # 0x781b0
callq 0x40c75
leaq 0x3b311(%rip), %rdi     # 0x781c8
callq 0x40c75
leaq 0x3b31d(%rip), %rdi     # 0x781e0
callq 0x40c75
leaq 0x3b329(%rip), %rdi     # 0x781f8
callq 0x40c75
leaq 0x3b335(%rip), %rdi     # 0x78210
callq 0x40c75
movq 0xa8(%rsp), %rax
movl %eax, %r15d
subl $0x1, %r15d
setb %al
testb $0x7, %r15b
sete %bl
orb %al, %bl
cmpb $0x1, %bl
jne 0x3cfa4
leaq 0x3b25d(%rip), %rdi     # 0x78168
callq 0x40cd1
movq 0x3b251(%rip), %rax     # 0x78168
movq 0x3b202(%rip), %rdx     # 0x78120
movq (%rax), %rcx
movl $0x3, %esi
movslq -0x3(%rdx,%rsi), %rdi
shlq $0x5, %rdi
movsd 0x18(%rcx,%rdi), %xmm0
movsd %xmm0, (%rcx,%rsi,8)
addq $0x4, %rsi
cmpq $0x40003, %rsi          # imm = 0x40003
jne 0x3cf26
movq 0x3b222(%rip), %rdx     # 0x78170
cmpq %rdx, %rax
je 0x3cf98
movq 0x8(%rax), %rsi
movq %rsi, %rdi
subq %rcx, %rdi
sarq $0x5, %rdi
cmpq $0x1, %rdi
adcq $0x0, %rdi
cmpq %rcx, %rsi
je 0x3cf8f
movq (%rax), %r8
movl $0x18, %r9d
movq %rdi, %r10
movsd (%rcx,%r9), %xmm0
movsd %xmm0, (%r8,%r9)
addq $0x20, %r9
decq %r10
jne 0x3cf7a
addq $0x18, %rax
cmpq %rdx, %rax
jne 0x3cf69
leaq 0x3b1e1(%rip), %rdi     # 0x78180
callq 0x40cd1
cmpl $0x0, 0xa8(%rsp)
sete %al
andl $0x80000007, %r15d      # imm = 0x80000007
cmpl $0x1, %r15d
sete %cl
orb %al, %cl
movl %ecx, %r13d
cmpb $0x1, %cl
jne 0x3cfd3
leaq 0x3b182(%rip), %rdi     # 0x78150
callq 0x40cd1
cmpl $0x0, 0xa8(%rsp)
sete %al
cmpl $0x2, %r15d
sete %r12b
orb %al, %r12b
cmpb $0x1, %r12b
jne 0x3cffb
leaq 0x3b1a2(%rip), %rdi     # 0x78198
callq 0x40cd1
cmpl $0x0, 0xa8(%rsp)
sete %al
cmpl $0x3, %r15d
sete %cl
orb %al, %cl
movb %cl, 0x130(%rsp)
cmpb $0x1, %cl
jne 0x3d027
leaq 0x3b18e(%rip), %rdi     # 0x781b0
callq 0x40cd1
cmpl $0x0, 0xa8(%rsp)
sete %al
cmpl $0x4, %r15d
sete %cl
orb %al, %cl
movb %cl, 0xa7(%rsp)
cmpb $0x1, %cl
jne 0x3d053
leaq 0x3b17a(%rip), %rdi     # 0x781c8
callq 0x40cd1
cmpl $0x0, 0xa8(%rsp)
sete %al
cmpl $0x5, %r15d
sete %cl
orb %al, %cl
movb %cl, 0xa6(%rsp)
cmpb $0x1, %cl
jne 0x3d07f
leaq 0x3b166(%rip), %rdi     # 0x781e0
callq 0x40cd1
cmpl $0x0, 0xa8(%rsp)
sete %al
cmpl $0x6, %r15d
sete %cl
orb %al, %cl
movb %cl, 0xa5(%rsp)
cmpb $0x1, %cl
jne 0x3d0ab
leaq 0x3b152(%rip), %rdi     # 0x781f8
callq 0x40cd1
cmpl $0x0, 0xa8(%rsp)
sete %al
cmpl $0x7, %r15d
sete %cl
orb %al, %cl
movb %cl, 0xa4(%rsp)
cmpb $0x1, %cl
jne 0x3d0d7
leaq 0x3b13e(%rip), %rdi     # 0x78210
callq 0x40cd1
leaq 0xb0(%rsp), %r15
movq %r15, %rdi
callq 0x23e49
movq 0x3b012(%rip), %rsi     # 0x78100
movq 0x3b013(%rip), %rdx     # 0x78108
movq %r15, %rdi
callq 0x60d0
leaq 0x50(%rsp), %r15
leaq 0x90(%rsp), %rsi
movq %rsi, 0x80(%rsp)
movq (%rax), %rdx
movq %rax, %rcx
addq $0x10, %rcx
cmpq %rcx, %rdx
leaq 0x80(%rsp), %rdi
je 0x3d13e
movq %rdx, 0x80(%rsp)
movq (%rcx), %rdx
movq %rdx, 0x90(%rsp)
jmp 0x3d146
movupd (%rcx), %xmm0
movupd %xmm0, (%rsi)
movq 0x8(%rax), %rdx
movq %rdx, 0x88(%rsp)
movq %rcx, (%rax)
movq $0x0, 0x8(%rax)
movb $0x0, 0x10(%rax)
leaq 0x22b18(%rip), %rsi     # 0x5fc80
callq 0x6810
leaq 0x10(%rsp), %rsi
movq %rsi, (%rsp)
movq (%rax), %rdx
movq %rax, %rcx
addq $0x10, %rcx
cmpq %rcx, %rdx
je 0x3d193
movq %rdx, (%rsp)
movq (%rcx), %rdx
movq %rdx, 0x10(%rsp)
jmp 0x3d19b
movupd (%rcx), %xmm0
movupd %xmm0, (%rsi)
movq 0x8(%rax), %rdx
movq %rdx, 0x8(%rsp)
movq %rcx, (%rax)
movq $0x0, 0x8(%rax)
movb $0x0, 0x10(%rax)
movq 0x3af46(%rip), %rsi     # 0x78100
movq 0x3af47(%rip), %rdx     # 0x78108
movq %rsp, %rdi
callq 0x60d0
movq %r15, 0x40(%rsp)
movq (%rax), %rdx
movq %rax, %rcx
addq $0x10, %rcx
cmpq %rcx, %rdx
je 0x3d1ec
movq %rdx, 0x40(%rsp)
movq (%rcx), %rdx
movq %rdx, 0x50(%rsp)
jmp 0x3d1f5
movupd (%rcx), %xmm0
movupd %xmm0, (%r15)
movq 0x8(%rax), %rdx
movq %rdx, 0x48(%rsp)
movq %rcx, (%rax)
movq $0x0, 0x8(%rax)
movb $0x0, 0x10(%rax)
movq %rbp, %rdi
leaq 0x22aa5(%rip), %rsi     # 0x5fcbc
callq 0x6810
leaq 0x2b0(%rsp), %rsi
movq %rsi, 0x2a0(%rsp)
movq (%rax), %rdx
movq %rax, %rcx
addq $0x10, %rcx
cmpq %rcx, %rdx
je 0x3d250
movq %rdx, 0x2a0(%rsp)
movq (%rcx), %rdx
movq %rdx, 0x2b0(%rsp)
jmp 0x3d258
movupd (%rcx), %xmm0
movupd %xmm0, (%rsi)
movq 0x8(%rax), %rdx
movq %rdx, 0x2a8(%rsp)
movq %rcx, (%rax)
movq $0x0, 0x8(%rax)
movb $0x0, 0x10(%rax)
movq 0x3ae86(%rip), %rsi     # 0x78100
movq 0x3ae87(%rip), %rdx     # 0x78108
leaq 0x2a0(%rsp), %rdi
callq 0x60d0
leaq 0x4b0(%rsp), %rsi
movq %rsi, 0x4a0(%rsp)
movq (%rax), %rdx
movq %rax, %rcx
addq $0x10, %rcx
cmpq %rcx, %rdx
je 0x3d2c2
movq %rdx, 0x4a0(%rsp)
movq (%rcx), %rdx
movq %rdx, 0x4b0(%rsp)
jmp 0x3d2ca
movupd (%rcx), %xmm0
movupd %xmm0, (%rsi)
movq 0x8(%rax), %rdx
movq %rdx, 0x4a8(%rsp)
movq %rcx, (%rax)
movq $0x0, 0x8(%rax)
movb $0x0, 0x10(%rax)
movq 0x2a0(%rsp), %rdi
leaq 0x2b0(%rsp), %rax
cmpq %rax, %rdi
je 0x3d30a
movq 0x2b0(%rsp), %rsi
incq %rsi
callq 0x6420
movq 0x40(%rsp), %rdi
cmpq %r15, %rdi
je 0x3d321
movq 0x50(%rsp), %rsi
incq %rsi
callq 0x6420
movq (%rsp), %rdi
leaq 0x10(%rsp), %rax
cmpq %rax, %rdi
je 0x3d33c
movq 0x10(%rsp), %rsi
incq %rsi
callq 0x6420
movq 0x80(%rsp), %rdi
leaq 0x90(%rsp), %rax
cmpq %rax, %rdi
je 0x3d361
movq 0x90(%rsp), %rsi
incq %rsi
callq 0x6420
movq 0xb0(%rsp), %rdi
leaq 0xc0(%rsp), %rax
cmpq %rax, %rdi
je 0x3d386
movq 0xc0(%rsp), %rsi
incq %rsi
callq 0x6420
testb %bl, %bl
je 0x3d479
leaq 0xe0(%rsp), %rax
movq %rax, 0xd0(%rsp)
movq 0x4a0(%rsp), %rsi
movq 0x4a8(%rsp), %rdx
addq %rsi, %rdx
movq %r14, %rdi
callq 0x2039e
leaq 0x110(%rsp), %rbx
movq %r14, %rdi
leaq 0x21c6b(%rip), %rsi     # 0x5f036
callq 0x6810
movq 0x3ad91(%rip), %rsi     # 0x78168
movq %r14, %rdi
callq 0x42734
movq 0xd0(%rsp), %rdi
leaq 0xe0(%rsp), %rax
cmpq %rax, %rdi
je 0x3d404
movq 0xe0(%rsp), %rsi
incq %rsi
callq 0x6420
leaq 0x120(%rsp), %rax
movq %rax, 0x110(%rsp)
movq 0x4a0(%rsp), %rsi
movq 0x4a8(%rsp), %rdx
addq %rsi, %rdx
movq %rbx, %rdi
callq 0x2039e
movq %rbx, %rdi
leaq 0x21c06(%rip), %rsi     # 0x5f03f
callq 0x6810
movq 0x3ad3b(%rip), %rsi     # 0x78180
movq %rbx, %rdi
leaq 0x3add9(%rip), %rdx     # 0x78228
callq 0x42885
movq 0x110(%rsp), %rdi
leaq 0x120(%rsp), %rax
cmpq %rax, %rdi
je 0x3d479
movq 0x120(%rsp), %rsi
incq %rsi
callq 0x6420
testb %r13b, %r13b
je 0x3d72e
movl $0x2, %ebx
xorl %r15d, %r15d
movq %rsp, %rdi
movq %rbp, %r14
leaq 0x10(%rsp), %rax
movq %rax, (%rsp)
movq $0x11, 0x80(%rsp)
leaq 0x80(%rsp), %rbp
movq %rbp, %rsi
xorl %edx, %edx
callq 0x6790
movq %rax, (%rsp)
movq 0x80(%rsp), %rcx
movq %rcx, 0x10(%rsp)
movupd 0x22771(%rip), %xmm0    # 0x5fc41
movupd %xmm0, (%rax)
movb $0x5f, 0x10(%rax)
movq %rcx, 0x8(%rsp)
movq (%rsp), %rax
movb $0x0, (%rax,%rcx)
leaq 0x90(%rsp), %rax
movq %rax, 0x80(%rsp)
movl $0x1, %esi
movq %rbp, %rdi
movl $0x2d, %edx
callq 0x64c0
movq 0x80(%rsp), %rdi
movl $0x1, %esi
movl %ebx, %edx
callq 0x3a8da
movq (%rsp), %rcx
movl $0xf, %esi
leaq 0x10(%rsp), %rax
cmpq %rax, %rcx
je 0x3d533
movq 0x10(%rsp), %rsi
movq 0x8(%rsp), %r8
movq 0x88(%rsp), %rdx
leaq (%rdx,%r8), %rax
cmpq %rsi, %rax
movq %r14, %rbp
leaq 0x1d8(%rsp), %r14
jbe 0x3d578
movl $0xf, %esi
leaq 0x90(%rsp), %rdi
cmpq %rdi, 0x80(%rsp)
je 0x3d573
movq 0x90(%rsp), %rsi
cmpq %rsi, %rax
jbe 0x3d58a
movq 0x80(%rsp), %rsi
movq %rsp, %rdi
callq 0x60d0
jmp 0x3d59b
leaq 0x80(%rsp), %rdi
xorl %esi, %esi
xorl %edx, %edx
callq 0x6480
leaq 0x50(%rsp), %rsi
movq %rsi, 0x40(%rsp)
movq (%rax), %rdx
leaq 0x10(%rax), %rcx
cmpq %rcx, %rdx
je 0x3d5c0
movq %rdx, 0x40(%rsp)
movq (%rcx), %rdx
movq %rdx, 0x50(%rsp)
jmp 0x3d5c8
movupd (%rcx), %xmm0
movupd %xmm0, (%rsi)
movq %rax, %rdx
addq $0x8, %rdx
movq 0x8(%rax), %rsi
movq %rsi, 0x48(%rsp)
movq %rcx, (%rax)
movq $0x0, (%rdx)
movb $0x0, (%rcx)
movq %rbp, %rdi
leaq 0x21bfc(%rip), %rsi     # 0x5f1eb
callq 0x6810
leaq 0x2b0(%rsp), %rsi
movq %rsi, 0x2a0(%rsp)
movq (%rax), %rdx
movq %rax, %rcx
addq $0x10, %rcx
cmpq %rcx, %rdx
je 0x3d628
movq %rdx, 0x2a0(%rsp)
movq (%rcx), %rdx
movq %rdx, 0x2b0(%rsp)
jmp 0x3d630
movupd (%rcx), %xmm0
movupd %xmm0, (%rsi)
movq 0x8(%rax), %rdx
movq %rdx, 0x2a8(%rsp)
movq %rcx, (%rax)
movq $0x0, 0x8(%rax)
movb $0x0, 0x10(%rax)
movq 0x40(%rsp), %rdi
leaq 0x50(%rsp), %rax
cmpq %rax, %rdi
je 0x3d667
movq 0x50(%rsp), %rsi
incq %rsi
callq 0x6420
movq 0x80(%rsp), %rdi
leaq 0x90(%rsp), %rax
cmpq %rax, %rdi
je 0x3d68c
movq 0x90(%rsp), %rsi
incq %rsi
callq 0x6420
movq (%rsp), %rdi
leaq 0x10(%rsp), %rax
cmpq %rax, %rdi
je 0x3d6a7
movq 0x10(%rsp), %rsi
incq %rsi
callq 0x6420
movq %r14, %rdi
leaq 0x4a0(%rsp), %rsi
leaq 0x2a0(%rsp), %rdx
callq 0x3b2a8
movq 0x3aa8a(%rip), %rax     # 0x78150
movq (%rax), %rsi
addq %r15, %rsi
movq %r14, %rdi
callq 0x4310c
movq 0x1d8(%rsp), %rdi
leaq 0x1e8(%rsp), %rax
cmpq %rax, %rdi
je 0x3d6f9
movq 0x1e8(%rsp), %rsi
incq %rsi
callq 0x6420
movq 0x2a0(%rsp), %rdi
leaq 0x2b0(%rsp), %rax
cmpq %rax, %rdi
je 0x3d71e
movq 0x2b0(%rsp), %rsi
incq %rsi
callq 0x6420
addq $0x20, %r15
incl %ebx
cmpq $0x60, %r15
jne 0x3d48a
testb %r12b, %r12b
leaq 0x50(%rsp), %r15
leaq 0x3a3e3(%rip), %r14     # 0x77b20
je 0x3d861
movl $0x20, %ebx
leaq (%r14,%rbx), %rsi
leaq 0x2a0(%rsp), %r12
movq %r12, %rdi
callq 0x436cb
movq %rbp, %rdi
leaq 0x4a0(%rsp), %rsi
movq %r12, %rdx
callq 0x3b2a8
movq %rbp, %rdi
leaq 0x21a72(%rip), %rsi     # 0x5f1eb
callq 0x6810
leaq 0x100(%rsp), %rsi
movq %rsi, 0xf0(%rsp)
movq (%rax), %rdx
movq %rax, %rcx
addq $0x10, %rcx
cmpq %rcx, %rdx
je 0x3d7b2
movq %rdx, 0xf0(%rsp)
movq (%rcx), %rdx
movq %rdx, 0x100(%rsp)
jmp 0x3d7ba
movupd (%rcx), %xmm0
movupd %xmm0, (%rsi)
movq 0x8(%rax), %rdx
movq %rdx, 0xf8(%rsp)
movq %rcx, (%rax)
movq $0x0, 0x8(%rax)
movb $0x0, 0x10(%rax)
movq 0x3a9bc(%rip), %rax     # 0x78198
movq (%rax), %rsi
addq %rbx, %rsi
leaq 0xf0(%rsp), %rdi
callq 0x4310c
movq 0xf0(%rsp), %rdi
leaq 0x100(%rsp), %rax
cmpq %rax, %rdi
je 0x3d814
movq 0x100(%rsp), %rsi
incq %rsi
callq 0x6420
movq 0x40(%rsp), %rdi
cmpq %r15, %rdi
je 0x3d82b
movq 0x50(%rsp), %rsi
incq %rsi
callq 0x6420
movq 0x2a0(%rsp), %rdi
leaq 0x2b0(%rsp), %rax
cmpq %rax, %rdi
je 0x3d850
movq 0x2b0(%rsp), %rsi
incq %rsi
callq 0x6420
addq $0x20, %rbx
cmpq $0x280, %rbx            # imm = 0x280
jne 0x3d748
cmpb $0x0, 0x130(%rsp)
leaq 0x3a530(%rip), %r14     # 0x77da0
je 0x3d994
movl $0x20, %ebx
leaq (%r14,%rbx), %rsi
leaq 0x2a0(%rsp), %r12
movq %r12, %rdi
callq 0x436cb
movq %rbp, %rdi
leaq 0x4a0(%rsp), %rsi
movq %r12, %rdx
callq 0x3b2a8
movq %rbp, %rdi
leaq 0x2193f(%rip), %rsi     # 0x5f1eb
callq 0x6810
leaq 0x1c8(%rsp), %rsi
movq %rsi, 0x1b8(%rsp)
movq (%rax), %rdx
movq %rax, %rcx
addq $0x10, %rcx
cmpq %rcx, %rdx
je 0x3d8e5
movq %rdx, 0x1b8(%rsp)
movq (%rcx), %rdx
movq %rdx, 0x1c8(%rsp)
jmp 0x3d8ed
movupd (%rcx), %xmm0
movupd %xmm0, (%rsi)
movq 0x8(%rax), %rdx
movq %rdx, 0x1c0(%rsp)
movq %rcx, (%rax)
movq $0x0, 0x8(%rax)
movb $0x0, 0x10(%rax)
movq 0x3a8a1(%rip), %rax     # 0x781b0
movq (%rax), %rsi
addq %rbx, %rsi
leaq 0x1b8(%rsp), %rdi
callq 0x4310c
movq 0x1b8(%rsp), %rdi
leaq 0x1c8(%rsp), %rax
cmpq %rax, %rdi
je 0x3d947
movq 0x1c8(%rsp), %rsi
incq %rsi
callq 0x6420
movq 0x40(%rsp), %rdi
cmpq %r15, %rdi
je 0x3d95e
movq 0x50(%rsp), %rsi
incq %rsi
callq 0x6420
movq 0x2a0(%rsp), %rdi
leaq 0x2b0(%rsp), %rax
cmpq %rax, %rdi
je 0x3d983
movq 0x2b0(%rsp), %rsi
incq %rsi
callq 0x6420
addq $0x20, %rbx
cmpq $0xe0, %rbx
jne 0x3d87b
cmpb $0x0, 0xa7(%rsp)
leaq 0xd0(%rsp), %r14
je 0x3dacf
movl $0x20, %ebx
leaq 0x3a4ca(%rip), %rax     # 0x77e80
leaq (%rax,%rbx), %rsi
leaq 0x2a0(%rsp), %r12
movq %r12, %rdi
callq 0x436cb
movq %rbp, %rdi
leaq 0x4a0(%rsp), %rsi
movq %r12, %rdx
callq 0x3b2a8
movq %rbp, %rdi
leaq 0x21804(%rip), %rsi     # 0x5f1eb
callq 0x6810
leaq 0x188(%rsp), %rsi
movq %rsi, 0x178(%rsp)
movq (%rax), %rdx
movq %rax, %rcx
addq $0x10, %rcx
cmpq %rcx, %rdx
je 0x3da20
movq %rdx, 0x178(%rsp)
movq (%rcx), %rdx
movq %rdx, 0x188(%rsp)
jmp 0x3da28
movupd (%rcx), %xmm0
movupd %xmm0, (%rsi)
movq 0x8(%rax), %rdx
movq %rdx, 0x180(%rsp)
movq %rcx, (%rax)
movq $0x0, 0x8(%rax)
movb $0x0, 0x10(%rax)
movq 0x3a77e(%rip), %rax     # 0x781c8
movq (%rax), %rsi
addq %rbx, %rsi
leaq 0x178(%rsp), %rdi
callq 0x4310c
movq 0x178(%rsp), %rdi
leaq 0x188(%rsp), %rax
cmpq %rax, %rdi
je 0x3da82
movq 0x188(%rsp), %rsi
incq %rsi
callq 0x6420
movq 0x40(%rsp), %rdi
cmpq %r15, %rdi
je 0x3da99
movq 0x50(%rsp), %rsi
incq %rsi
callq 0x6420
movq 0x2a0(%rsp), %rdi
leaq 0x2b0(%rsp), %rax
cmpq %rax, %rdi
je 0x3dabe
movq 0x2b0(%rsp), %rsi
incq %rsi
callq 0x6420
addq $0x20, %rbx
cmpq $0x140, %rbx            # imm = 0x140
jne 0x3d9af
cmpb $0x0, 0xa6(%rsp)
je 0x3dc02
movl $0x20, %ebx
leaq 0x3a4d7(%rip), %rax     # 0x77fc0
leaq (%rax,%rbx), %rsi
leaq 0x2a0(%rsp), %r12
movq %r12, %rdi
callq 0x436cb
movq %rbp, %rdi
leaq 0x4a0(%rsp), %rsi
movq %r12, %rdx
callq 0x3b2a8
movq %rbp, %rdi
leaq 0x216d1(%rip), %rsi     # 0x5f1eb
callq 0x6810
leaq 0x168(%rsp), %rsi
movq %rsi, 0x158(%rsp)
movq (%rax), %rdx
movq %rax, %rcx
addq $0x10, %rcx
cmpq %rcx, %rdx
je 0x3db53
movq %rdx, 0x158(%rsp)
movq (%rcx), %rdx
movq %rdx, 0x168(%rsp)
jmp 0x3db5b
movupd (%rcx), %xmm0
movupd %xmm0, (%rsi)
movq 0x8(%rax), %rdx
movq %rdx, 0x160(%rsp)
movq %rcx, (%rax)
movq $0x0, 0x8(%rax)
movb $0x0, 0x10(%rax)
movq 0x3a663(%rip), %rax     # 0x781e0
movq (%rax), %rsi
addq %rbx, %rsi
leaq 0x158(%rsp), %rdi
callq 0x4310c
movq 0x158(%rsp), %rdi
leaq 0x168(%rsp), %rax
cmpq %rax, %rdi
je 0x3dbb5
movq 0x168(%rsp), %rsi
incq %rsi
callq 0x6420
movq 0x40(%rsp), %rdi
cmpq %r15, %rdi
je 0x3dbcc
movq 0x50(%rsp), %rsi
incq %rsi
callq 0x6420
movq 0x2a0(%rsp), %rdi
leaq 0x2b0(%rsp), %rax
cmpq %rax, %rdi
je 0x3dbf1
movq 0x2b0(%rsp), %rsi
incq %rsi
callq 0x6420
addq $0x20, %rbx
cmpq $0xa0, %rbx
jne 0x3dae2
cmpb $0x0, 0xa5(%rsp)
je 0x3dd32
movl $0x20, %ebx
leaq 0x3a444(%rip), %rax     # 0x78060
leaq (%rax,%rbx), %rsi
leaq 0x2a0(%rsp), %r12
movq %r12, %rdi
callq 0x436cb
movq %rbp, %rdi
leaq 0x4a0(%rsp), %rsi
movq %r12, %rdx
callq 0x3b2a8
movq %rbp, %rdi
leaq 0x2159e(%rip), %rsi     # 0x5f1eb
callq 0x6810
leaq 0x148(%rsp), %rsi
movq %rsi, 0x138(%rsp)
movq (%rax), %rdx
movq %rax, %rcx
addq $0x10, %rcx
cmpq %rcx, %rdx
je 0x3dc86
movq %rdx, 0x138(%rsp)
movq (%rcx), %rdx
movq %rdx, 0x148(%rsp)
jmp 0x3dc8e
movupd (%rcx), %xmm0
movupd %xmm0, (%rsi)
movq 0x8(%rax), %rdx
movq %rdx, 0x140(%rsp)
movq %rcx, (%rax)
movq $0x0, 0x8(%rax)
movb $0x0, 0x10(%rax)
movq 0x3a548(%rip), %rax     # 0x781f8
movq (%rax), %rsi
addq %rbx, %rsi
leaq 0x138(%rsp), %rdi
callq 0x4310c
movq 0x138(%rsp), %rdi
leaq 0x148(%rsp), %rax
cmpq %rax, %rdi
je 0x3dce8
movq 0x148(%rsp), %rsi
incq %rsi
callq 0x6420
movq 0x40(%rsp), %rdi
cmpq %r15, %rdi
je 0x3dcff
movq 0x50(%rsp), %rsi
incq %rsi
callq 0x6420
movq 0x2a0(%rsp), %rdi
leaq 0x2b0(%rsp), %rax
cmpq %rax, %rdi
je 0x3dd24
movq 0x2b0(%rsp), %rsi
incq %rsi
callq 0x6420
addq $0x20, %rbx
cmpq $0x60, %rbx
jne 0x3dc15
cmpb $0x0, 0xa4(%rsp)
leaq 0x1a8(%rsp), %rbx
je 0x3de44
leaq 0x2a0(%rsp), %r12
movq %r12, %rdi
leaq 0x3a386(%rip), %rsi     # 0x780e0
callq 0x436cb
movq %rbp, %rdi
leaq 0x4a0(%rsp), %rsi
movq %r12, %rdx
callq 0x3b2a8
movq %rbp, %rdi
leaq 0x2146f(%rip), %rsi     # 0x5f1eb
callq 0x6810
movq %rbx, 0x198(%rsp)
movq (%rax), %rdx
movq %rax, %rcx
addq $0x10, %rcx
cmpq %rcx, %rdx
je 0x3ddad
movq %rdx, 0x198(%rsp)
movq (%rcx), %rdx
movq %rdx, 0x1a8(%rsp)
jmp 0x3ddb5
movupd (%rcx), %xmm0
movupd %xmm0, (%rbx)
movq 0x8(%rax), %rdx
movq %rdx, 0x1a0(%rsp)
movq %rcx, (%rax)
movq $0x0, 0x8(%rax)
movb $0x0, 0x10(%rax)
movq 0x3a439(%rip), %rax     # 0x78210
movq (%rax), %rsi
addq $0x20, %rsi
leaq 0x198(%rsp), %rdi
callq 0x4310c
movq 0x198(%rsp), %rdi
cmpq %rbx, %rdi
je 0x3de08
movq 0x1a8(%rsp), %rsi
incq %rsi
callq 0x6420
movq 0x40(%rsp), %rdi
cmpq %r15, %rdi
je 0x3de1f
movq 0x50(%rsp), %rsi
incq %rsi
callq 0x6420
movq 0x2a0(%rsp), %rdi
leaq 0x2b0(%rsp), %rax
cmpq %rax, %rdi
je 0x3de44
movq 0x2b0(%rsp), %rsi
incq %rsi
callq 0x6420
movq 0x4a0(%rsp), %rdi
leaq 0x4b0(%rsp), %rax
cmpq %rax, %rdi
je 0x3de69
movq 0x4b0(%rsp), %rsi
incq %rsi
callq 0x6420
callq 0x6070
subq 0x298(%rsp), %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 0x20fbf(%rip), %xmm0    # 0x5ee60
movl 0x3a969(%rip), %esi     # 0x78810
movq 0xa8(%rsp), %rbx
movl %ebx, %edi
callq 0x450de
testb $0x7, %bl
jne 0x3f266
leaq 0x1d8(%rsp), %rbx
movq %rbx, %rdi
callq 0x23e49
movq 0x3a22a(%rip), %rsi     # 0x78100
movq 0x3a22b(%rip), %rdx     # 0x78108
movq %rbx, %rdi
callq 0x60d0
leaq 0x120(%rsp), %rsi
movq %rsi, 0x110(%rsp)
movq (%rax), %rdx
movq %rax, %rcx
addq $0x10, %rcx
cmpq %rcx, %rdx
leaq 0x110(%rsp), %rdi
movq %rsp, %rbx
je 0x3df24
movq %rdx, 0x110(%rsp)
movq (%rcx), %rdx
movq %rdx, 0x120(%rsp)
jmp 0x3df2c
movupd (%rcx), %xmm0
movupd %xmm0, (%rsi)
movq 0x8(%rax), %rdx
movq %rdx, 0x118(%rsp)
movq %rcx, (%rax)
movq $0x0, 0x8(%rax)
movb $0x0, 0x10(%rax)
leaq 0x21d32(%rip), %rsi     # 0x5fc80
callq 0x6810
leaq 0xe0(%rsp), %rsi
movq %rsi, 0xd0(%rsp)
movq (%rax), %rdx
movq %rax, %rcx
addq $0x10, %rcx
cmpq %rcx, %rdx
je 0x3df87
movq %rdx, 0xd0(%rsp)
movq (%rcx), %rdx
movq %rdx, 0xe0(%rsp)
jmp 0x3df8f
movupd (%rcx), %xmm0
movupd %xmm0, (%rsi)
movq 0x8(%rax), %rdx
movq %rdx, 0xd8(%rsp)
movq %rcx, (%rax)
movq $0x0, 0x8(%rax)
movb $0x0, 0x10(%rax)
movq 0x3a14f(%rip), %rsi     # 0x78100
movq 0x3a150(%rip), %rdx     # 0x78108
movq %r14, %rdi
callq 0x60d0
leaq 0xc0(%rsp), %rsi
movq %rsi, 0xb0(%rsp)
movq (%rax), %rdx
movq %rax, %rcx
addq $0x10, %rcx
cmpq %rcx, %rdx
je 0x3dff4
movq %rdx, 0xb0(%rsp)
movq (%rcx), %rdx
movq %rdx, 0xc0(%rsp)
jmp 0x3dffc
movupd (%rcx), %xmm0
movupd %xmm0, (%rsi)
movq 0x8(%rax), %rdx
movq %rdx, 0xb8(%rsp)
movq %rcx, (%rax)
movq $0x0, 0x8(%rax)
movb $0x0, 0x10(%rax)
leaq 0xb0(%rsp), %rdi
leaq 0x21c96(%rip), %rsi     # 0x5fcbc
callq 0x6810
leaq 0x90(%rsp), %rsi
movq %rsi, 0x80(%rsp)
movq (%rax), %rdx
movq %rax, %rcx
addq $0x10, %rcx
cmpq %rcx, %rdx
leaq 0x80(%rsp), %rdi
je 0x3e067
movq %rdx, 0x80(%rsp)
movq (%rcx), %rdx
movq %rdx, 0x90(%rsp)
jmp 0x3e06f
movupd (%rcx), %xmm0
movupd %xmm0, (%rsi)
movq 0x8(%rax), %rdx
movq %rdx, 0x88(%rsp)
movq %rcx, (%rax)
movq $0x0, 0x8(%rax)
movb $0x0, 0x10(%rax)
movq 0x3a06f(%rip), %rsi     # 0x78100
movq 0x3a070(%rip), %rdx     # 0x78108
callq 0x60d0
leaq 0x10(%rsp), %rsi
movq %rsi, (%rsp)
movq (%rax), %rdx
movq %rax, %rcx
addq $0x10, %rcx
cmpq %rcx, %rdx
je 0x3e0c3
movq %rdx, (%rsp)
movq (%rcx), %rdx
movq %rdx, 0x10(%rsp)
jmp 0x3e0cb
movupd (%rcx), %xmm0
movupd %xmm0, (%rsi)
movq 0x8(%rax), %rdx
movq %rdx, 0x8(%rsp)
movq %rcx, (%rax)
movq $0x0, 0x8(%rax)
movb $0x0, 0x10(%rax)
movq %rbx, %rdi
leaq 0x21d03(%rip), %rsi     # 0x5fdf0
callq 0x6810
movq %r15, 0x40(%rsp)
movq (%rax), %rdx
movq %rax, %rcx
addq $0x10, %rcx
cmpq %rcx, %rdx
je 0x3e115
movq %rdx, 0x40(%rsp)
movq (%rcx), %rdx
movq %rdx, 0x50(%rsp)
jmp 0x3e11e
movupd (%rcx), %xmm0
movupd %xmm0, (%r15)
movq 0x8(%rax), %rdx
movq %rdx, 0x48(%rsp)
movq %rcx, (%rax)
movq $0x0, 0x8(%rax)
movb $0x0, 0x10(%rax)
movq 0xa8(%rsp), %r14
cmpl $0x64, %r14d
movl $0x3, %ebx
sbbl $0x0, %ebx
cmpl $0xa, %r14d
movl $0x1, %eax
cmovbl %eax, %ebx
leaq 0x100(%rsp), %rax
movq %rax, 0xf0(%rsp)
leaq 0xf0(%rsp), %rdi
movq %rbx, %rsi
movl $0x2d, %edx
callq 0x64c0
movq 0xf0(%rsp), %rdi
movl %ebx, %esi
movl %r14d, %edx
callq 0x3a8da
movq 0x40(%rsp), %rcx
movl $0xf, %esi
cmpq %r15, %rcx
je 0x3e1a1
movq 0x50(%rsp), %rsi
movq 0x48(%rsp), %r8
movq 0xf8(%rsp), %rdx
leaq (%rdx,%r8), %rax
cmpq %rsi, %rax
leaq 0x1c8(%rsp), %rbx
leaq 0x2a0(%rsp), %r14
jbe 0x3e1eb
movl $0xf, %esi
leaq 0x100(%rsp), %rdi
cmpq %rdi, 0xf0(%rsp)
je 0x3e1e6
movq 0x100(%rsp), %rsi
cmpq %rsi, %rax
jbe 0x3e1fd
movq 0xf0(%rsp), %rsi
movq %rbp, %rdi
callq 0x60d0
jmp 0x3e20e
leaq 0xf0(%rsp), %rdi
xorl %esi, %esi
xorl %edx, %edx
callq 0x6480
leaq 0x2b0(%rsp), %rsi
movq %rsi, 0x2a0(%rsp)
movq (%rax), %rdx
leaq 0x10(%rax), %rcx
cmpq %rcx, %rdx
je 0x3e23f
movq %rdx, 0x2a0(%rsp)
movq (%rcx), %rdx
movq %rdx, 0x2b0(%rsp)
jmp 0x3e247
movupd (%rcx), %xmm0
movupd %xmm0, (%rsi)
movq %rax, %rdx
addq $0x8, %rdx
movq 0x8(%rax), %rsi
movq %rsi, 0x2a8(%rsp)
movq %rcx, (%rax)
movq $0x0, (%rdx)
movb $0x0, (%rcx)
movq 0x39e92(%rip), %rsi     # 0x78100
movq 0x39e93(%rip), %rdx     # 0x78108
movq %r14, %rdi
callq 0x60d0
leaq 0x4b0(%rsp), %rsi
movq %rsi, 0x4a0(%rsp)
movq (%rax), %rdx
movq %rax, %rcx
addq $0x10, %rcx
cmpq %rcx, %rdx
je 0x3e2b1
movq %rdx, 0x4a0(%rsp)
movq (%rcx), %rdx
movq %rdx, 0x4b0(%rsp)
jmp 0x3e2b9
movupd (%rcx), %xmm0
movupd %xmm0, (%rsi)
movq 0x8(%rax), %rdx
movq %rdx, 0x4a8(%rsp)
movq %rcx, (%rax)
movq $0x0, 0x8(%rax)
movb $0x0, 0x10(%rax)
movq 0x2a0(%rsp), %rdi
leaq 0x2b0(%rsp), %rax
cmpq %rax, %rdi
je 0x3e2f9
movq 0x2b0(%rsp), %rsi
incq %rsi
callq 0x6420
movq 0xf0(%rsp), %rdi
leaq 0x100(%rsp), %rax
cmpq %rax, %rdi
je 0x3e31e
movq 0x100(%rsp), %rsi
incq %rsi
callq 0x6420
movq 0x40(%rsp), %rdi
cmpq %r15, %rdi
je 0x3e335
movq 0x50(%rsp), %rsi
incq %rsi
callq 0x6420
movq (%rsp), %rdi
leaq 0x10(%rsp), %rax
cmpq %rax, %rdi
je 0x3e350
movq 0x10(%rsp), %rsi
incq %rsi
callq 0x6420
movq 0x80(%rsp), %rdi
leaq 0x90(%rsp), %rax
cmpq %rax, %rdi
je 0x3e375
movq 0x90(%rsp), %rsi
incq %rsi
callq 0x6420
movq 0xb0(%rsp), %rdi
leaq 0xc0(%rsp), %rax
cmpq %rax, %rdi
je 0x3e39a
movq 0xc0(%rsp), %rsi
incq %rsi
callq 0x6420
movq 0xd0(%rsp), %rdi
leaq 0xe0(%rsp), %rax
cmpq %rax, %rdi
je 0x3e3bf
movq 0xe0(%rsp), %rsi
incq %rsi
callq 0x6420
movq 0x110(%rsp), %rdi
leaq 0x120(%rsp), %rax
cmpq %rax, %rdi
je 0x3e3e4
movq 0x120(%rsp), %rsi
incq %rsi
callq 0x6420
movq 0x1d8(%rsp), %rdi
leaq 0x1e8(%rsp), %rax
cmpq %rax, %rdi
je 0x3e409
movq 0x1e8(%rsp), %rsi
incq %rsi
callq 0x6420
movq %r14, %rdi
leaq 0x20c72(%rip), %rsi     # 0x5f085
leaq 0x4a0(%rsp), %rdx
callq 0x3a852
movq %r15, 0x40(%rsp)
movq $0x0, 0x48(%rsp)
movb $0x0, 0x50(%rsp)
movq 0x2a0(%rsp), %rdi
callq 0x6350
leaq 0x10(%rsp), %rax
movq %rax, (%rsp)
movq 0x4a0(%rsp), %rsi
movq 0x4a8(%rsp), %rdx
addq %rsi, %rdx
movq %rsp, %r12
movq %r12, %rdi
callq 0x2039e
movq %r12, %rdi
leaq 0x20b00(%rip), %rsi     # 0x5ef71
callq 0x6810
movq %rbp, %rdi
movq %r12, %rsi
callq 0x6500
movq (%rsp), %rdi
leaq 0x10(%rsp), %rax
cmpq %rax, %rdi
je 0x3e49c
movq 0x10(%rsp), %rsi
incq %rsi
callq 0x6420
movq %rbx, 0x1b8(%rsp)
movq 0x40(%rsp), %rsi
movq 0x48(%rsp), %rdx
addq %rsi, %rdx
leaq 0x1b8(%rsp), %rdi
callq 0x2039e
movq 0x39cd3(%rip), %rsi     # 0x78198
leaq 0x1b8(%rsp), %rdi
callq 0x42734
movq 0x1b8(%rsp), %rdi
cmpq %rbx, %rdi
je 0x3e4ef
movq 0x1c8(%rsp), %rsi
incq %rsi
callq 0x6420
leaq 0x10(%rsp), %rax
movq %rax, (%rsp)
movq 0x4a0(%rsp), %rsi
movq 0x4a8(%rsp), %rdx
addq %rsi, %rdx
movq %rsp, %rbx
movq %rbx, %rdi
callq 0x2039e
movq %rbx, %rdi
leaq 0x20a64(%rip), %rsi     # 0x5ef84
callq 0x6810
movq %rbp, %rdi
movq %rbx, %rsi
callq 0x6500
movq (%rsp), %rdi
leaq 0x10(%rsp), %rax
cmpq %rax, %rdi
je 0x3e54b
movq 0x10(%rsp), %rsi
incq %rsi
callq 0x6420
leaq 0x188(%rsp), %rax
movq %rax, 0x178(%rsp)
movq 0x40(%rsp), %rsi
movq 0x48(%rsp), %rdx
addq %rsi, %rdx
leaq 0x178(%rsp), %rdi
callq 0x2039e
movq 0x39c34(%rip), %rsi     # 0x781b0
leaq 0x178(%rsp), %rdi
callq 0x42734
movq 0x178(%rsp), %rdi
leaq 0x188(%rsp), %rax
cmpq %rax, %rdi
movq %rsp, %rbx
je 0x3e5b1
movq 0x188(%rsp), %rsi
incq %rsi
callq 0x6420
leaq 0x10(%rsp), %rax
movq %rax, (%rsp)
movq 0x4a0(%rsp), %rsi
movq 0x4a8(%rsp), %rdx
addq %rsi, %rdx
movq %rbx, %rdi
callq 0x2039e
movq %rbx, %rdi
leaq 0x209be(%rip), %rsi     # 0x5ef9d
callq 0x6810
movq %rbp, %rdi
movq %rbx, %rsi
callq 0x6500
movq (%rsp), %rdi
leaq 0x10(%rsp), %rax
cmpq %rax, %rdi
je 0x3e60a
movq 0x10(%rsp), %rsi
incq %rsi
callq 0x6420
leaq 0x168(%rsp), %rax
movq %rax, 0x158(%rsp)
movq 0x40(%rsp), %rsi
movq 0x48(%rsp), %rdx
addq %rsi, %rdx
leaq 0x158(%rsp), %rdi
callq 0x2039e
movq 0x39b8d(%rip), %rsi     # 0x781c8
leaq 0x158(%rsp), %rdi
callq 0x42734
movq 0x158(%rsp), %rdi
leaq 0x168(%rsp), %rax
cmpq %rax, %rdi
movq %rsp, %rbx
je 0x3e670
movq 0x168(%rsp), %rsi
incq %rsi
callq 0x6420
leaq 0x10(%rsp), %rax
movq %rax, (%rsp)
movq 0x4a0(%rsp), %rsi
movq 0x4a8(%rsp), %rdx
addq %rsi, %rdx
movq %rbx, %rdi
callq 0x2039e
movq %rbx, %rdi
leaq 0x208ea(%rip), %rsi     # 0x5ef88
callq 0x6810
movq %rbp, %rdi
movq %rbx, %rsi
callq 0x6500
movq (%rsp), %rdi
leaq 0x10(%rsp), %rax
cmpq %rax, %rdi
je 0x3e6c9
movq 0x10(%rsp), %rsi
incq %rsi
callq 0x6420
leaq 0x148(%rsp), %rax
movq %rax, 0x138(%rsp)
movq 0x40(%rsp), %rsi
movq 0x48(%rsp), %rdx
addq %rsi, %rdx
leaq 0x138(%rsp), %rdi
callq 0x2039e
movq 0x39ae6(%rip), %rsi     # 0x781e0
leaq 0x138(%rsp), %rdi
callq 0x42734
movq 0x138(%rsp), %rdi
leaq 0x148(%rsp), %rax
cmpq %rax, %rdi
movq %rsp, %rbx
je 0x3e72f
movq 0x148(%rsp), %rsi
incq %rsi
callq 0x6420
leaq 0x10(%rsp), %rax
movq %rax, (%rsp)
movq 0x4a0(%rsp), %rsi
movq 0x4a8(%rsp), %rdx
addq %rsi, %rdx
movq %rbx, %rdi
callq 0x2039e
movq %rbx, %rdi
leaq 0x20851(%rip), %rsi     # 0x5efae
callq 0x6810
movq %rbx, %rsi
leaq 0x1a8(%rsp), %rbx
movq %rbp, %rdi
callq 0x6500
movq (%rsp), %rdi
leaq 0x10(%rsp), %rax
cmpq %rax, %rdi
je 0x3e790
movq 0x10(%rsp), %rsi
incq %rsi
callq 0x6420
movq %rbx, 0x198(%rsp)
movq 0x40(%rsp), %rsi
movq 0x48(%rsp), %rdx
addq %rsi, %rdx
leaq 0x198(%rsp), %rdi
callq 0x2039e
movq 0x39a3f(%rip), %rsi     # 0x781f8
leaq 0x198(%rsp), %rdi
callq 0x42734
movq 0x198(%rsp), %rdi
leaq 0x1a8(%rsp), %rax
cmpq %rax, %rdi
movq %rsp, %rbx
je 0x3e7ee
movq 0x1a8(%rsp), %rsi
incq %rsi
callq 0x6420
leaq 0x10(%rsp), %rax
movq %rax, (%rsp)
movq 0x4a0(%rsp), %rsi
movq 0x4a8(%rsp), %rdx
addq %rsi, %rdx
movq %rbx, %rdi
callq 0x2039e
movq %rbx, %rdi
leaq 0x207b5(%rip), %rsi     # 0x5efd1
callq 0x6810
movq %rbp, %rdi
movq %rbx, %rsi
callq 0x6500
movq (%rsp), %rdi
leaq 0x10(%rsp), %rax
cmpq %rax, %rdi
je 0x3e847
movq 0x10(%rsp), %rsi
incq %rsi
callq 0x6420
leaq 0x268(%rsp), %rax
movq %rax, 0x258(%rsp)
movq 0x40(%rsp), %rsi
movq 0x48(%rsp), %rdx
addq %rsi, %rdx
leaq 0x258(%rsp), %rdi
callq 0x2039e
movq 0x39998(%rip), %rsi     # 0x78210
leaq 0x258(%rsp), %rdi
callq 0x42734
movq 0x258(%rsp), %rdi
leaq 0x268(%rsp), %rax
cmpq %rax, %rdi
movq %rsp, %rbx
je 0x3e8ad
movq 0x268(%rsp), %rsi
incq %rsi
callq 0x6420
leaq 0x10(%rsp), %rax
movq %rax, (%rsp)
movq 0x4a0(%rsp), %rsi
movq 0x4a8(%rsp), %rdx
addq %rsi, %rdx
movq %rbx, %rdi
callq 0x2039e
movq %rbx, %rdi
leaq 0x21378(%rip), %rsi     # 0x5fc53
callq 0x6810
movq %rbp, %rdi
movq %rbx, %rsi
callq 0x6500
movq (%rsp), %rdi
leaq 0x10(%rsp), %rax
cmpq %rax, %rdi
je 0x3e906
movq 0x10(%rsp), %rsi
incq %rsi
callq 0x6420
leaq 0x248(%rsp), %rax
movq %rax, 0x238(%rsp)
movq 0x40(%rsp), %rsi
movq 0x48(%rsp), %rdx
addq %rsi, %rdx
leaq 0x238(%rsp), %rdi
callq 0x2039e
movq 0x39819(%rip), %rsi     # 0x78150
leaq 0x238(%rsp), %rdi
callq 0x42734
movq 0x238(%rsp), %rdi
leaq 0x248(%rsp), %rax
cmpq %rax, %rdi
movq %rsp, %rbx
je 0x3e96c
movq 0x248(%rsp), %rsi
incq %rsi
callq 0x6420
leaq 0x10(%rsp), %rax
movq %rax, (%rsp)
movq 0x4a0(%rsp), %rsi
movq 0x4a8(%rsp), %rdx
addq %rsi, %rdx
movq %rbx, %rdi
callq 0x2039e
movq %rbx, %rdi
leaq 0x2069c(%rip), %rsi     # 0x5f036
callq 0x6810
movq %rbp, %rdi
movq %rbx, %rsi
callq 0x6500
movq (%rsp), %rdi
leaq 0x10(%rsp), %rax
cmpq %rax, %rdi
je 0x3e9c5
movq 0x10(%rsp), %rsi
incq %rsi
callq 0x6420
leaq 0x228(%rsp), %rax
movq %rax, 0x218(%rsp)
movq 0x40(%rsp), %rsi
movq 0x48(%rsp), %rdx
addq %rsi, %rdx
leaq 0x218(%rsp), %rdi
callq 0x2039e
movq 0x39772(%rip), %rsi     # 0x78168
leaq 0x218(%rsp), %rdi
callq 0x42734
movq 0x218(%rsp), %rdi
leaq 0x228(%rsp), %rax
cmpq %rax, %rdi
movq %rsp, %rbx
je 0x3ea2b
movq 0x228(%rsp), %rsi
incq %rsi
callq 0x6420
leaq 0x10(%rsp), %rax
movq %rax, (%rsp)
movq 0x4a0(%rsp), %rsi
movq 0x4a8(%rsp), %rdx
addq %rsi, %rdx
movq %rbx, %rdi
callq 0x2039e
movq %rbx, %rdi
leaq 0x205e6(%rip), %rsi     # 0x5f03f
callq 0x6810
movq %rbp, %rdi
movq %rbx, %rsi
callq 0x6500
movq (%rsp), %rdi
leaq 0x10(%rsp), %rax
cmpq %rax, %rdi
je 0x3ea84
movq 0x10(%rsp), %rsi
incq %rsi
callq 0x6420
leaq 0x208(%rsp), %rax
movq %rax, 0x1f8(%rsp)
movq 0x40(%rsp), %rsi
movq 0x48(%rsp), %rdx
addq %rsi, %rdx
leaq 0x1f8(%rsp), %rdi
callq 0x2039e
movq 0x396cb(%rip), %rsi     # 0x78180
leaq 0x1f8(%rsp), %rdi
leaq 0x39764(%rip), %rdx     # 0x78228
callq 0x42885
movq 0x1f8(%rsp), %rdi
leaq 0x208(%rsp), %rax
cmpq %rax, %rdi
je 0x3eaee
movq 0x208(%rsp), %rsi
incq %rsi
callq 0x6420
movq 0x40(%rsp), %rdi
cmpq %r15, %rdi
je 0x3eb05
movq 0x50(%rsp), %rsi
incq %rsi
callq 0x6420
movq 0x2a0(%rsp), %rdi
leaq 0x2b0(%rsp), %rax
cmpq %rax, %rdi
je 0x3eb2a
movq 0x2b0(%rsp), %rsi
incq %rsi
callq 0x6420
movq 0x4a0(%rsp), %rdi
leaq 0x4b0(%rsp), %rax
cmpq %rax, %rdi
je 0x3eb4f
movq 0x4b0(%rsp), %rsi
incq %rsi
callq 0x6420
leaq 0xb0(%rsp), %rbx
movq %rbx, %rdi
callq 0x23e49
movq 0x3959a(%rip), %rsi     # 0x78100
movq 0x3959b(%rip), %rdx     # 0x78108
movq %rbx, %rdi
callq 0x60d0
leaq 0x10(%rsp), %rsi
movq %rsi, (%rsp)
movq (%rax), %rdx
movq %rax, %rcx
addq $0x10, %rcx
cmpq %rcx, %rdx
movq %rsp, %rdi
je 0x3eb9e
movq %rdx, (%rsp)
movq (%rcx), %rdx
movq %rdx, 0x10(%rsp)
jmp 0x3eba6
movupd (%rcx), %xmm0
movupd %xmm0, (%rsi)
movq 0x8(%rax), %rdx
movq %rdx, 0x8(%rsp)
movq %rcx, (%rax)
movq $0x0, 0x8(%rax)
movb $0x0, 0x10(%rax)
leaq 0x210bb(%rip), %rsi     # 0x5fc80
callq 0x6810
movq %r15, 0x40(%rsp)
movq (%rax), %rdx
movq %rax, %rcx
addq $0x10, %rcx
cmpq %rcx, %rdx
je 0x3ebed
movq %rdx, 0x40(%rsp)
movq (%rcx), %rdx
movq %rdx, 0x50(%rsp)
jmp 0x3ebf6
movupd (%rcx), %xmm0
movupd %xmm0, (%r15)
movq 0x8(%rax), %rdx
movq %rdx, 0x48(%rsp)
movq %rcx, (%rax)
movq $0x0, 0x8(%rax)
movb $0x0, 0x10(%rax)
movq 0x394eb(%rip), %rsi     # 0x78100
movq 0x394ec(%rip), %rdx     # 0x78108
movq %rbp, %rdi
callq 0x60d0
leaq 0x2b0(%rsp), %rsi
movq %rsi, 0x2a0(%rsp)
movq (%rax), %rdx
movq %rax, %rcx
addq $0x10, %rcx
cmpq %rcx, %rdx
je 0x3ec58
movq %rdx, 0x2a0(%rsp)
movq (%rcx), %rdx
movq %rdx, 0x2b0(%rsp)
jmp 0x3ec60
movupd (%rcx), %xmm0
movupd %xmm0, (%rsi)
movq 0x8(%rax), %rdx
movq %rdx, 0x2a8(%rsp)
movq %rcx, (%rax)
movq $0x0, 0x8(%rax)
movb $0x0, 0x10(%rax)
movq %r14, %rdi
leaq 0x21042(%rip), %rsi     # 0x5fcc7
callq 0x6810
leaq 0x4b0(%rsp), %rsi
movq %rsi, 0x4a0(%rsp)
movq (%rax), %rdx
movq %rax, %rcx
addq $0x10, %rcx
cmpq %rcx, %rdx
je 0x3ecbe
movq %rdx, 0x4a0(%rsp)
movq (%rcx), %rdx
movq %rdx, 0x4b0(%rsp)
jmp 0x3ecc6
movupd (%rcx), %xmm0
movupd %xmm0, (%rsi)
movq 0x8(%rax), %rdx
movq %rdx, 0x4a8(%rsp)
movq %rcx, (%rax)
movq $0x0, 0x8(%rax)
movb $0x0, 0x10(%rax)
movq 0x39418(%rip), %rsi     # 0x78100
movq 0x39419(%rip), %rdx     # 0x78108
leaq 0x4a0(%rsp), %rdi
callq 0x60d0
leaq 0x90(%rsp), %rsi
movq %rsi, 0x80(%rsp)
movq (%rax), %rdx
movq %rax, %rcx
addq $0x10, %rcx
cmpq %rcx, %rdx
je 0x3ed30
movq %rdx, 0x80(%rsp)
movq (%rcx), %rdx
movq %rdx, 0x90(%rsp)
jmp 0x3ed38
movupd (%rcx), %xmm0
movupd %xmm0, (%rsi)
movq 0x8(%rax), %rdx
movq %rdx, 0x88(%rsp)
movq %rcx, (%rax)
movq $0x0, 0x8(%rax)
movb $0x0, 0x10(%rax)
movq 0x4a0(%rsp), %rdi
leaq 0x4b0(%rsp), %rax
cmpq %rax, %rdi
je 0x3ed78
movq 0x4b0(%rsp), %rsi
incq %rsi
callq 0x6420
movq 0x2a0(%rsp), %rdi
leaq 0x2b0(%rsp), %rax
cmpq %rax, %rdi
je 0x3ed9d
movq 0x2b0(%rsp), %rsi
incq %rsi
callq 0x6420
movq 0x40(%rsp), %rdi
cmpq %r15, %rdi
je 0x3edb4
movq 0x50(%rsp), %rsi
incq %rsi
callq 0x6420
movq (%rsp), %rdi
leaq 0x10(%rsp), %rax
cmpq %rax, %rdi
je 0x3edcf
movq 0x10(%rsp), %rsi
incq %rsi
callq 0x6420
movq 0xb0(%rsp), %rdi
leaq 0xc0(%rsp), %rax
cmpq %rax, %rdi
je 0x3edf4
movq 0xc0(%rsp), %rsi
incq %rsi
callq 0x6420
leaq 0x2b0(%rsp), %rax
movq %rax, 0x2a0(%rsp)
movq 0x80(%rsp), %rsi
movq 0x88(%rsp), %rdx
addq %rsi, %rdx
movq %r14, %rdi
callq 0x2039e
movq %r14, %rdi
leaq 0x20fc7(%rip), %rsi     # 0x5fdf0
callq 0x6810
movq 0xa8(%rsp), %r14
cmpl $0x64, %r14d
movl $0x3, %ebx
sbbl $0x0, %ebx
cmpl $0xa, %r14d
movl $0x1, %eax
cmovbl %eax, %ebx
movq %r15, 0x40(%rsp)
movq %rbp, %rdi
movq %rbx, %rsi
movl $0x2d, %edx
callq 0x64c0
movq 0x40(%rsp), %rdi
movl %ebx, %esi
movl %r14d, %edx
callq 0x3a8da
movq 0x2a0(%rsp), %rcx
movl $0xf, %esi
leaq 0x2b0(%rsp), %rax
cmpq %rax, %rcx
je 0x3ee94
movq 0x2b0(%rsp), %rsi
movq 0x2a8(%rsp), %r8
movq 0x48(%rsp), %rdx
leaq (%rdx,%r8), %rax
cmpq %rsi, %rax
leaq 0x2a0(%rsp), %rdi
leaq 0xd0(%rsp), %r14
jbe 0x3eed0
movl $0xf, %esi
cmpq %r15, 0x40(%rsp)
je 0x3eecb
movq 0x50(%rsp), %rsi
cmpq %rsi, %rax
jbe 0x3eedc
movq 0x40(%rsp), %rsi
callq 0x60d0
jmp 0x3eee8
movq %rbp, %rdi
xorl %esi, %esi
xorl %edx, %edx
callq 0x6480
leaq 0x4b0(%rsp), %rsi
movq %rsi, 0x4a0(%rsp)
movq (%rax), %rdx
leaq 0x10(%rax), %rcx
cmpq %rcx, %rdx
je 0x3ef19
movq %rdx, 0x4a0(%rsp)
movq (%rcx), %rdx
movq %rdx, 0x4b0(%rsp)
jmp 0x3ef21
movupd (%rcx), %xmm0
movupd %xmm0, (%rsi)
movq %rax, %rdx
addq $0x8, %rdx
movq 0x8(%rax), %rsi
movq %rsi, 0x4a8(%rsp)
movq %rcx, (%rax)
movq $0x0, (%rdx)
movb $0x0, (%rcx)
leaq 0x4a0(%rsp), %rdi
leaq 0x2029b(%rip), %rsi     # 0x5f1eb
callq 0x6810
leaq 0xc0(%rsp), %rsi
movq %rsi, 0xb0(%rsp)
movq (%rax), %rdx
movq %rax, %rcx
addq $0x10, %rcx
cmpq %rcx, %rdx
je 0x3ef89
movq %rdx, 0xb0(%rsp)
movq (%rcx), %rdx
movq %rdx, 0xc0(%rsp)
jmp 0x3ef91
movupd (%rcx), %xmm0
movupd %xmm0, (%rsi)
movq 0x8(%rax), %rdx
movq %rdx, 0xb8(%rsp)
movq %rcx, (%rax)
movq $0x0, 0x8(%rax)
movb $0x0, 0x10(%rax)
movq 0x4a0(%rsp), %rdi
leaq 0x4b0(%rsp), %rax
cmpq %rax, %rdi
je 0x3efd1
movq 0x4b0(%rsp), %rsi
incq %rsi
callq 0x6420
movq 0x40(%rsp), %rdi
cmpq %r15, %rdi
leaq 0x2b0(%rsp), %rbx
leaq 0x90(%rsp), %r15
leaq 0x39278(%rip), %r13     # 0x78268
je 0x3efff
movq 0x50(%rsp), %rsi
incq %rsi
callq 0x6420
movq 0x2a0(%rsp), %rdi
cmpq %rbx, %rdi
je 0x3f01c
movq 0x2b0(%rsp), %rsi
incq %rsi
callq 0x6420
leaq 0xe0(%rsp), %rax
movq %rax, 0xd0(%rsp)
movq 0x80(%rsp), %rsi
movq 0x88(%rsp), %rdx
addq %rsi, %rdx
movq %r14, %rdi
callq 0x2039e
leaq 0x2a0(%rsp), %rbx
movq %r14, %rdi
leaq 0x20c77(%rip), %rsi     # 0x5fcd0
callq 0x6810
leaq 0x4a0(%rsp), %rdi
leaq 0xb0(%rsp), %rsi
movl $0x10, %edx
callq 0x6820
movq %rbx, %rdi
movq %r14, %rsi
movl $0x1, %edx
callq 0x6820
movq 0x4a0(%rsp), %rax
movq -0x18(%rax), %rax
testb $0x5, 0x4c0(%rsp,%rax)
je 0x3f0ff
movl $0xd, %edx
movq 0x35f3e(%rip), %rdi     # 0x74fe8
leaq 0x20bb7(%rip), %rsi     # 0x5fc68
callq 0x64a0
movq 0xb0(%rsp), %rsi
movq 0xb8(%rsp), %rdx
movq 0x35f1b(%rip), %rdi     # 0x74fe8
callq 0x64a0
movq %rax, %rbx
movl $0x1, %edx
movq %rax, %rdi
leaq 0x1eba9(%rip), %rsi     # 0x5dc8d
callq 0x64a0
movq (%rbx), %rax
movq -0x18(%rax), %rdi
addq %rbx, %rdi
movl $0xa, %esi
callq 0x63d0
jmp 0x3f178
movq 0x2a0(%rsp), %rax
movq -0x18(%rax), %rax
testb $0x5, 0x2c0(%rsp,%rax)
je 0x3f280
movl $0xd, %edx
movq 0x35ec3(%rip), %rdi     # 0x74fe8
leaq 0x20b3c(%rip), %rsi     # 0x5fc68
callq 0x64a0
movq 0xd0(%rsp), %rsi
movq 0xd8(%rsp), %rdx
movq 0x35ea0(%rip), %rdi     # 0x74fe8
callq 0x64a0
movq %rax, %rbx
movl $0x1, %edx
movq %rax, %rdi
leaq 0x1eb2e(%rip), %rsi     # 0x5dc8d
callq 0x64a0
movq (%rbx), %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
movq 0x290(%rsp), %rbx
movq %rbx, 0x2a0(%rsp)
movq -0x18(%rbx), %rax
movq 0x288(%rsp), %r13
movq %r13, 0x2a0(%rsp,%rax)
leaq 0x2a8(%rsp), %rdi
callq 0x6340
movq 0x278(%rsp), %rdi
callq 0x60f0
movq %rbx, 0x4a0(%rsp)
movq -0x18(%rbx), %rax
movq %r13, 0x4a0(%rsp,%rax)
leaq 0x4a8(%rsp), %rdi
callq 0x6340
movq 0x280(%rsp), %rdi
callq 0x60f0
movq 0xd0(%rsp), %rdi
leaq 0xe0(%rsp), %rax
cmpq %rax, %rdi
je 0x3f21c
movq 0xe0(%rsp), %rsi
incq %rsi
callq 0x6420
movq 0xb0(%rsp), %rdi
leaq 0xc0(%rsp), %rax
cmpq %rax, %rdi
je 0x3f241
movq 0xc0(%rsp), %rsi
incq %rsi
callq 0x6420
movq 0x80(%rsp), %rdi
cmpq %r15, %rdi
je 0x3f25e
movq 0x90(%rsp), %rsi
incq %rsi
callq 0x6420
movq 0xa8(%rsp), %rbx
movb $0x1, 0x3959f(%rip)     # 0x7880c
incl %ebx
cmpl $0xf1, %ebx
jne 0x3cb88
jmp 0x3f416
xorl %eax, %eax
xorl %ecx, %ecx
xchgl %ecx, (%rax,%r13)
addq $0x4, %rax
cmpq $0x5a4, %rax            # imm = 0x5A4
jne 0x3f282
movq %rbp, %r15
xorl %r13d, %r13d
movl %r13d, (%r15)
movl $0x8, %edi
callq 0x6410
movq %rax, %rbx
movq %r15, 0x110(%rsp)
movq %rax, %rdi
leaq 0x1ac6(%rip), %rsi      # 0x40d82
leaq 0x110(%rsp), %rdx
callq 0x3a71a
movq %rbx, (%rsp,%r13,8)
incq %r13
addq $0x8, %r15
cmpq $0x8, %r13
jne 0x3f29a
xorl %r15d, %r15d
leaq 0x38f84(%rip), %r13     # 0x78268
movq (%rsp,%r15,8), %rbx
movq %rbx, %rdi
callq 0x6720
cmpq $0x0, (%rbx)
jne 0x3f428
movl $0x8, %esi
movq %rbx, %rdi
callq 0x6420
incq %r15
cmpq $0x8, %r15
jne 0x3f2e4
leaq 0x36599(%rip), %rdi     # 0x758b0
cmpl $0x0, (%rdi)
jle 0x3f33c
xorl %eax, %eax
movq %r13, %rcx
xorl %edx, %edx
movl (%rcx), %esi
addl %esi, %edx
incq %rax
movslq (%rdi), %rsi
addq $0x4, %rcx
cmpq %rsi, %rax
jl 0x3f323
cvtsi2sd %edx, %xmm0
jmp 0x3f340
xorpd %xmm0, %xmm0
movsd %xmm0, 0x130(%rsp)
cmpl $0x0, (%rdi)
jle 0x3f3ab
xorl %ebx, %ebx
leaq 0x38f11(%rip), %r15     # 0x78268
xorl %r13d, %r13d
movl %r13d, %eax
movl (%r15), %r13d
addl %eax, %r13d
xorps %xmm0, %xmm0
cvtsi2sd %r13d, %xmm0
divsd 0x130(%rsp), %xmm0
leaq 0x4a0(%rsp), %rdi
callq 0x66a0
movl $0x1, %edx
movq %rax, %rdi
leaq 0x211b5(%rip), %rsi     # 0x60545
callq 0x64a0
incq %rbx
leaq 0x36511(%rip), %rax     # 0x758b0
movslq (%rax), %rax
addq $0x4, %r15
cmpq %rax, %rbx
jl 0x3f35a
leaq 0x2a0(%rsp), %rdi
movq 0xa8(%rsp), %rsi
leaq 0x90(%rsp), %r15
callq 0x6740
movq %rax, %rbx
movl $0x1, %edx
movq %rax, %rdi
leaq 0x1e226(%rip), %rsi     # 0x5d600
callq 0x64a0
movl 0x38e83(%rip), %eax     # 0x78268
xorps %xmm0, %xmm0
cvtsi2sd %eax, %xmm0
divsd 0x130(%rsp), %xmm0
movq %rbx, %rdi
callq 0x66a0
movl $0x1, %edx
movq %rax, %rdi
leaq 0x21139(%rip), %rsi     # 0x60545
callq 0x64a0
jmp 0x3f18b
addq $0x728, %rsp            # imm = 0x728
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
retq
callq 0x60b0
movq %rax, %r14
jmp 0x3fac5
jmp 0x3f850
jmp 0x3fc64
jmp 0x3f850
movq %rax, %r14
jmp 0x3f70e
jmp 0x3f855
movq %rax, %r14
jmp 0x3f77b
movq %rax, %r14
movq 0x238(%rsp), %rdi
leaq 0x248(%rsp), %rax
cmpq %rax, %rdi
je 0x3f873
movq 0x248(%rsp), %rsi
jmp 0x3f86b
movq %rax, %r14
jmp 0x3f7e9
movq %rax, %r14
movq 0x1b8(%rsp), %rdi
cmpq %rbx, %rdi
je 0x3f873
movq 0x1c8(%rsp), %rsi
jmp 0x3f86b
jmp 0x3f850
movq %rax, %r14
movq 0x4a0(%rsp), %rdi
leaq 0x4b0(%rsp), %rax
cmpq %rax, %rdi
je 0x3f5f3
movq 0x4b0(%rsp), %rsi
incq %rsi
callq 0x6420
jmp 0x3f5f3
jmp 0x3f855
movq %rax, %r14
jmp 0x3f8d7
movq %rax, %r14
movq 0xd0(%rsp), %rdi
leaq 0xe0(%rsp), %rax
cmpq %rax, %rdi
je 0x3f516
movq 0xe0(%rsp), %rsi
incq %rsi
callq 0x6420
leaq 0x90(%rsp), %r15
jmp 0x3faea
movq %rax, %r14
movq 0x218(%rsp), %rdi
leaq 0x228(%rsp), %rax
cmpq %rax, %rdi
je 0x3f873
movq 0x228(%rsp), %rsi
jmp 0x3f86b
movq %rax, %r14
movq 0x2a0(%rsp), %rdi
leaq 0x2b0(%rsp), %rax
cmpq %rax, %rdi
je 0x3f63e
movq 0x2b0(%rsp), %rsi
incq %rsi
callq 0x6420
jmp 0x3f63e
movq %rax, %r14
movq 0x178(%rsp), %rdi
leaq 0x188(%rsp), %rax
cmpq %rax, %rdi
je 0x3f873
movq 0x188(%rsp), %rsi
jmp 0x3f86b
jmp 0x3f9bf
jmp 0x3f850
jmp 0x3f6c3
jmp 0x3f855
movq %rax, %r14
jmp 0x3f804
jmp 0x3f855
movq %rax, %r14
movq 0x158(%rsp), %rdi
leaq 0x168(%rsp), %rax
cmpq %rax, %rdi
je 0x3f873
movq 0x168(%rsp), %rsi
jmp 0x3f86b
movq %rax, %r14
movq 0x2a0(%rsp), %rdi
leaq 0x2b0(%rsp), %rax
cmpq %rax, %rdi
je 0x3f6f2
movq 0x2b0(%rsp), %rsi
incq %rsi
callq 0x6420
jmp 0x3f6f2
jmp 0x3f850
movq %rax, %r14
jmp 0x3f8fc
movq %rax, %r14
jmp 0x3faea
jmp 0x3f855
movq %rax, %r14
movq 0xf0(%rsp), %rdi
leaq 0x100(%rsp), %rax
cmpq %rax, %rdi
je 0x3f7cd
movq 0x100(%rsp), %rsi
incq %rsi
callq 0x6420
jmp 0x3f7cd
jmp 0x3f855
movq %rax, %r14
movq 0x1f8(%rsp), %rdi
leaq 0x208(%rsp), %rax
cmpq %rax, %rdi
je 0x3f873
movq 0x208(%rsp), %rsi
jmp 0x3f86b
movq %rax, %r14
movq 0x138(%rsp), %rdi
leaq 0x148(%rsp), %rax
cmpq %rax, %rdi
je 0x3f873
movq 0x148(%rsp), %rsi
jmp 0x3f86b
movq %rax, %r14
jmp 0x3f797
jmp 0x3f850
movq %rax, %r14
jmp 0x3f829
movq %rax, %r14
jmp 0x3fab8
jmp 0x3f855
jmp 0x3f850
jmp 0x3f855
movq %rax, %r14
movq 0x40(%rsp), %rdi
leaq 0x50(%rsp), %rax
cmpq %rax, %rdi
je 0x3f70e
movq 0x50(%rsp), %rsi
incq %rsi
callq 0x6420
movq (%rsp), %rdi
leaq 0x10(%rsp), %rax
cmpq %rax, %rdi
je 0x3fa5a
movq 0x10(%rsp), %rsi
jmp 0x3fa52
movq %rax, %r14
movq 0x198(%rsp), %rdi
leaq 0x1a8(%rsp), %rax
cmpq %rax, %rdi
je 0x3f873
movq 0x1a8(%rsp), %rsi
jmp 0x3f86b
movq %rax, %r14
movq 0x4a0(%rsp), %rdi
leaq 0x4b0(%rsp), %rax
cmpq %rax, %rdi
je 0x3f77b
movq 0x4b0(%rsp), %rsi
incq %rsi
callq 0x6420
movq 0x40(%rsp), %rdi
leaq 0x50(%rsp), %rax
cmpq %rax, %rdi
je 0x3f797
movq 0x50(%rsp), %rsi
incq %rsi
callq 0x6420
movq 0x2a0(%rsp), %rdi
leaq 0x2b0(%rsp), %rax
cmpq %rax, %rdi
je 0x3f880
movq 0x2b0(%rsp), %rsi
incq %rsi
callq 0x6420
jmp 0x3f880
jmp 0x3f850
movq %rax, %r14
movq 0x40(%rsp), %rdi
leaq 0x50(%rsp), %rax
cmpq %rax, %rdi
je 0x3f7e9
movq 0x50(%rsp), %rsi
incq %rsi
callq 0x6420
movq (%rsp), %rdi
leaq 0x10(%rsp), %rax
cmpq %rax, %rdi
je 0x3f804
movq 0x10(%rsp), %rsi
incq %rsi
callq 0x6420
movq 0x80(%rsp), %rdi
leaq 0x90(%rsp), %rax
cmpq %rax, %rdi
je 0x3f829
movq 0x90(%rsp), %rsi
incq %rsi
callq 0x6420
movq 0xb0(%rsp), %rdi
leaq 0xc0(%rsp), %rax
cmpq %rax, %rdi
je 0x3f8b2
movq 0xc0(%rsp), %rsi
incq %rsi
callq 0x6420
jmp 0x3f8b2
movq %rax, %r14
jmp 0x3f873
movq %rax, %r14
movq (%rsp), %rdi
leaq 0x10(%rsp), %rax
cmpq %rax, %rdi
je 0x3f873
movq 0x10(%rsp), %rsi
incq %rsi
callq 0x6420
leaq 0x50(%rsp), %r15
jmp 0x3fc27
movq %rax, %r14
leaq 0x90(%rsp), %r15
jmp 0x3fb0f
movq %rax, %r14
movq 0x258(%rsp), %rdi
leaq 0x268(%rsp), %rax
cmpq %rax, %rdi
je 0x3f873
movq 0x268(%rsp), %rsi
jmp 0x3f86b
movq %rax, %r14
movq 0xd0(%rsp), %rdi
leaq 0xe0(%rsp), %rax
cmpq %rax, %rdi
je 0x3f8d7
movq 0xe0(%rsp), %rsi
incq %rsi
callq 0x6420
movq 0x110(%rsp), %rdi
leaq 0x120(%rsp), %rax
cmpq %rax, %rdi
je 0x3f8fc
movq 0x120(%rsp), %rsi
incq %rsi
callq 0x6420
movq 0x1d8(%rsp), %rdi
leaq 0x1e8(%rsp), %rax
cmpq %rax, %rdi
je 0x3fcc3
movq 0x1e8(%rsp), %rsi
jmp 0x3fcbb
jmp 0x3fc76
movq %rax, %r14
movq 0x198(%rsp), %rdi
cmpq %rbx, %rdi
je 0x3f951
movq 0x1a8(%rsp), %rsi
incq %rsi
callq 0x6420
jmp 0x3f951
jmp 0x3fc64
movq %rax, %r14
movq 0x40(%rsp), %rdi
leaq 0x50(%rsp), %rax
cmpq %rax, %rdi
jne 0x3fc31
jmp 0x3fc79
jmp 0x3f96d
jmp 0x3f996
movq %rax, %r14
movq 0xd0(%rsp), %rdi
leaq 0xe0(%rsp), %rax
cmpq %rax, %rdi
je 0x3fc9e
movq 0xe0(%rsp), %rsi
jmp 0x3fc96
movq %rax, %r14
movq 0x110(%rsp), %rdi
leaq 0x120(%rsp), %rax
cmpq %rax, %rdi
je 0x3fc9e
movq 0x120(%rsp), %rsi
jmp 0x3fc96
movq %rax, %r14
jmp 0x3fa5a
movq %rax, %r14
jmp 0x3fa35
movq %rax, %r14
jmp 0x3fa1a
movq %rax, %r14
jmp 0x3f9fe
movq %rax, %r14
movq 0x2a0(%rsp), %rdi
leaq 0x2b0(%rsp), %rax
cmpq %rax, %rdi
je 0x3f9fe
movq 0x2b0(%rsp), %rsi
incq %rsi
callq 0x6420
movq 0x40(%rsp), %rdi
leaq 0x50(%rsp), %rax
cmpq %rax, %rdi
je 0x3fa1a
movq 0x50(%rsp), %rsi
incq %rsi
callq 0x6420
movq (%rsp), %rdi
leaq 0x10(%rsp), %rax
cmpq %rax, %rdi
je 0x3fa35
movq 0x10(%rsp), %rsi
incq %rsi
callq 0x6420
movq 0x80(%rsp), %rdi
leaq 0x90(%rsp), %rax
cmpq %rax, %rdi
je 0x3fa5a
movq 0x90(%rsp), %rsi
incq %rsi
callq 0x6420
movq 0xb0(%rsp), %rdi
leaq 0xc0(%rsp), %rax
cmpq %rax, %rdi
je 0x3fcc3
movq 0xc0(%rsp), %rsi
jmp 0x3fcbb
jmp 0x3fc64
jmp 0x3fa9b
jmp 0x3fa9b
movq %rax, %r14
movl $0x8, %esi
movq %rbx, %rdi
callq 0x6420
jmp 0x3fa9e
movq %rax, %r14
leaq 0x90(%rsp), %r15
jmp 0x3faab
movq %rax, %r14
leaq 0x2a0(%rsp), %rdi
callq 0x6610
leaq 0x4a0(%rsp), %rdi
callq 0x6610
movq 0xd0(%rsp), %rdi
leaq 0xe0(%rsp), %rax
cmpq %rax, %rdi
je 0x3faea
movq 0xe0(%rsp), %rsi
incq %rsi
callq 0x6420
movq 0xb0(%rsp), %rdi
leaq 0xc0(%rsp), %rax
cmpq %rax, %rdi
je 0x3fb0f
movq 0xc0(%rsp), %rsi
incq %rsi
callq 0x6420
movq 0x80(%rsp), %rdi
cmpq %r15, %rdi
je 0x3fcc3
movq 0x90(%rsp), %rsi
jmp 0x3fcbb
jmp 0x3fbf8
jmp 0x3fc76
jmp 0x3fc64
movq %rax, %r14
movq 0x138(%rsp), %rdi
leaq 0x148(%rsp), %rax
cmpq %rax, %rdi
je 0x3fc27
movq 0x148(%rsp), %rsi
jmp 0x3fc1f
jmp 0x3fbf8
jmp 0x3fc76
movq %rax, %r14
movq 0x158(%rsp), %rdi
leaq 0x168(%rsp), %rax
cmpq %rax, %rdi
je 0x3fc27
movq 0x168(%rsp), %rsi
jmp 0x3fc1f
jmp 0x3fc64
jmp 0x3fbf8
movq %rax, %r14
movq 0x178(%rsp), %rdi
leaq 0x188(%rsp), %rax
cmpq %rax, %rdi
je 0x3fc27
movq 0x188(%rsp), %rsi
jmp 0x3fc1f
jmp 0x3fc76
jmp 0x3fbf8
jmp 0x3fc64
movq %rax, %r14
movq 0x1b8(%rsp), %rdi
leaq 0x1c8(%rsp), %rax
cmpq %rax, %rdi
je 0x3fc27
movq 0x1c8(%rsp), %rsi
jmp 0x3fc1f
jmp 0x3fc76
jmp 0x3fbf8
jmp 0x3fc64
movq %rax, %r14
jmp 0x3fc27
jmp 0x3fc76
movq %rax, %r14
movq 0xf0(%rsp), %rdi
leaq 0x100(%rsp), %rax
cmpq %rax, %rdi
je 0x3fc27
movq 0x100(%rsp), %rsi
incq %rsi
callq 0x6420
movq 0x40(%rsp), %rdi
cmpq %r15, %rdi
je 0x3fc79
movq 0x50(%rsp), %rsi
incq %rsi
callq 0x6420
jmp 0x3fc79
jmp 0x3fc64
movq %rax, %r14
movq 0x1d8(%rsp), %rdi
leaq 0x1e8(%rsp), %rax
cmpq %rax, %rdi
je 0x3fc79
movq 0x1e8(%rsp), %rsi
jmp 0x3fc36
movq %rax, %r14
jmp 0x3fc9e
movq %rax, %r14
jmp 0x3fcea
movq %rax, %r14
jmp 0x3fd0f
movq %rax, %r14
movq 0x2a0(%rsp), %rdi
leaq 0x2b0(%rsp), %rax
cmpq %rax, %rdi
je 0x3fc9e
movq 0x2b0(%rsp), %rsi
incq %rsi
callq 0x6420
movq 0x4a0(%rsp), %rdi
leaq 0x4b0(%rsp), %rax
cmpq %rax, %rdi
je 0x3fcc3
movq 0x4b0(%rsp), %rsi
incq %rsi
callq 0x6420
movq %r14, %rdi
callq 0x6770
movq %rax, %r14
movq 0x40(%rsp), %rdi
leaq 0x50(%rsp), %rax
cmpq %rax, %rdi
je 0x3fcea
movq 0x50(%rsp), %rsi
incq %rsi
callq 0x6420
movq 0x80(%rsp), %rdi
leaq 0x90(%rsp), %rax
cmpq %rax, %rdi
je 0x3fd0f
movq 0x90(%rsp), %rsi
incq %rsi
callq 0x6420
movq (%rsp), %rdi
leaq 0x10(%rsp), %rax
cmpq %rax, %rdi
je 0x3fc9e
movq 0x10(%rsp), %rsi
jmp 0x3fc96
movq %rax, %r14
movl $0x8, %esi
movq %rbx, %rdi
jmp 0x3fcbe