1405a5451:	77 3f                	ja     0x1405a5492
1405a5453:	49 8b c8             	mov    %r8,%rcx
1405a5456:	e8 e9 5c 87 00       	call   0x140e1b144
1405a545b:	4c 89 23             	mov    %r12,(%rbx)
1405a545e:	4c 89 63 08          	mov    %r12,0x8(%rbx)
1405a5462:	4c 89 63 10          	mov    %r12,0x10(%rbx)
1405a5466:	ba 20 00 00 00       	mov    $0x20,%edx
1405a546b:	48 8b cb             	mov    %rbx,%rcx
1405a546e:	e8 d1 5c 87 00       	call   0x140e1b144
1405a5473:	eb 03                	jmp    0x1405a5478
1405a5475:	4c 89 21             	mov    %r12,(%rcx)
1405a5478:	48 8b c7             	mov    %rdi,%rax
1405a547b:	48 8b 5c 24 60       	mov    0x60(%rsp),%rbx
1405a5480:	48 8b 6c 24 70       	mov    0x70(%rsp),%rbp
1405a5485:	48 83 c4 30          	add    $0x30,%rsp
1405a5489:	41 5f                	pop    %r15
1405a548b:	41 5e                	pop    %r14
1405a548d:	41 5c                	pop    %r12
1405a548f:	5f                   	pop    %rdi
1405a5490:	5e                   	pop    %rsi
1405a5491:	c3                   	ret
1405a5492:	e8 0d 4d 88 00       	call   0x140e2a1a4
1405a5497:	cc                   	int3
1405a5498:	cc                   	int3
1405a5499:	cc                   	int3
1405a549a:	cc                   	int3
1405a549b:	cc                   	int3
1405a549c:	cc                   	int3
1405a549d:	cc                   	int3
1405a549e:	cc                   	int3
1405a549f:	cc                   	int3
1405a54a0:	48 89 6c 24 18       	mov    %rbp,0x18(%rsp)
1405a54a5:	48 89 74 24 20       	mov    %rsi,0x20(%rsp)
1405a54aa:	57                   	push   %rdi
1405a54ab:	48 83 ec 20          	sub    $0x20,%rsp
1405a54af:	41 80 78 19 00       	cmpb   $0x0,0x19(%r8)
1405a54b4:	49 8b f8             	mov    %r8,%rdi
1405a54b7:	48 8b f2             	mov    %rdx,%rsi
1405a54ba:	48 8b e9             	mov    %rcx,%rbp
1405a54bd:	0f 85 86 00 00 00    	jne    0x1405a5549
1405a54c3:	48 89 5c 24 30       	mov    %rbx,0x30(%rsp)
1405a54c8:	4c 89 74 24 38       	mov    %r14,0x38(%rsp)
1405a54cd:	45 33 f6             	xor    %r14d,%r14d
1405a54d0:	4c 8b 47 10          	mov    0x10(%rdi),%r8
1405a54d4:	48 8b d6             	mov    %rsi,%rdx
1405a54d7:	48 8b cd             	mov    %rbp,%rcx
1405a54da:	e8 c1 ff ff ff       	call   0x1405a54a0
1405a54df:	48 8b df             	mov    %rdi,%rbx
1405a54e2:	48 8b 3f             	mov    (%rdi),%rdi
1405a54e5:	48 8b 53 38          	mov    0x38(%rbx),%rdx
1405a54e9:	48 83 fa 0f          	cmp    $0xf,%rdx
1405a54ed:	76 2d                	jbe    0x1405a551c
1405a54ef:	48 8b 4b 20          	mov    0x20(%rbx),%rcx
1405a54f3:	48 ff c2             	inc    %rdx
1405a54f6:	48 81 fa 00 10 00 00 	cmp    $0x1000,%rdx
1405a54fd:	72 18                	jb     0x1405a5517
1405a54ff:	4c 8b 41 f8          	mov    -0x8(%rcx),%r8
1405a5503:	48 83 c2 27          	add    $0x27,%rdx
1405a5507:	49 2b c8             	sub    %r8,%rcx
1405a550a:	48 8d 41 f8          	lea    -0x8(%rcx),%rax
1405a550e:	48 83 f8 1f          	cmp    $0x1f,%rax
1405a5512:	77 45                	ja     0x1405a5559
1405a5514:	49 8b c8             	mov    %r8,%rcx
1405a5517:	e8 28 5c 87 00       	call   0x140e1b144
1405a551c:	ba 58 00 00 00       	mov    $0x58,%edx
1405a5521:	4c 89 73 30          	mov    %r14,0x30(%rbx)
1405a5525:	48 8b cb             	mov    %rbx,%rcx
1405a5528:	48 c7 43 38 0f 00 00 	movq   $0xf,0x38(%rbx)
1405a552f:	00
1405a5530:	44 88 73 20          	mov    %r14b,0x20(%rbx)
1405a5534:	e8 0b 5c 87 00       	call   0x140e1b144
1405a5539:	44 38 77 19          	cmp    %r14b,0x19(%rdi)
1405a553d:	74 91                	je     0x1405a54d0
1405a553f:	48 8b 5c 24 30       	mov    0x30(%rsp),%rbx
1405a5544:	4c 8b 74 24 38       	mov    0x38(%rsp),%r14
1405a5549:	48 8b 6c 24 40       	mov    0x40(%rsp),%rbp
1405a554e:	48 8b 74 24 48       	mov    0x48(%rsp),%rsi
1405a5553:	48 83 c4 20          	add    $0x20,%rsp
1405a5557:	5f                   	pop    %rdi
1405a5558:	c3                   	ret
1405a5559:	e8 46 4c 88 00       	call   0x140e2a1a4
1405a555e:	cc                   	int3
1405a555f:	cc                   	int3
1405a5560:	48 89 5c 24 08       	mov    %rbx,0x8(%rsp)
1405a5565:	48 89 6c 24 10       	mov    %rbp,0x10(%rsp)
1405a556a:	48 89 74 24 18       	mov    %rsi,0x18(%rsp)
1405a556f:	57                   	push   %rdi
1405a5570:	48 83 ec 20          	sub    $0x20,%rsp
1405a5574:	48 8b 71 30          	mov    0x30(%rcx),%rsi
1405a5578:	49 8b e8             	mov    %r8,%rbp
1405a557b:	48 8b 41 08          	mov    0x8(%rcx),%rax
1405a557f:	49 23 f1             	and    %r9,%rsi
1405a5582:	48 c1 e6 04          	shl    $0x4,%rsi
1405a5586:	48 8b fa             	mov    %rdx,%rdi
1405a5589:	48 03 71 18          	add    0x18(%rcx),%rsi
1405a558d:	48 8b 5e 08          	mov    0x8(%rsi),%rbx
1405a5591:	48 3b d8             	cmp    %rax,%rbx
1405a5594:	75 0d                	jne    0x1405a55a3
1405a5596:	48 89 02             	mov    %rax,(%rdx)
1405a5599:	48 c7 42 08 00 00 00 	movq   $0x0,0x8(%rdx)
1405a55a0:	00
1405a55a1:	eb 36                	jmp    0x1405a55d9
1405a55a3:	48 8b 36             	mov    (%rsi),%rsi
1405a55a6:	48 8d 53 10          	lea    0x10(%rbx),%rdx
1405a55aa:	48 8b cd             	mov    %rbp,%rcx
1405a55ad:	e8 2e 26 00 00       	call   0x1405a7be0
1405a55b2:	84 c0                	test   %al,%al
1405a55b4:	75 19                	jne    0x1405a55cf
1405a55b6:	48 3b de             	cmp    %rsi,%rbx
1405a55b9:	74 36                	je     0x1405a55f1
1405a55bb:	48 8b 5b 08          	mov    0x8(%rbx),%rbx
1405a55bf:	48 8b cd             	mov    %rbp,%rcx
1405a55c2:	48 8d 53 10          	lea    0x10(%rbx),%rdx
1405a55c6:	e8 15 26 00 00       	call   0x1405a7be0
1405a55cb:	84 c0                	test   %al,%al
1405a55cd:	74 e7                	je     0x1405a55b6
1405a55cf:	48 8b 03             	mov    (%rbx),%rax
1405a55d2:	48 89 07             	mov    %rax,(%rdi)
1405a55d5:	48 89 5f 08          	mov    %rbx,0x8(%rdi)
1405a55d9:	48 8b 5c 24 30       	mov    0x30(%rsp),%rbx
1405a55de:	48 8b c7             	mov    %rdi,%rax
1405a55e1:	48 8b 6c 24 38       	mov    0x38(%rsp),%rbp
1405a55e6:	48 8b 74 24 40       	mov    0x40(%rsp),%rsi
1405a55eb:	48 83 c4 20          	add    $0x20,%rsp
1405a55ef:	5f                   	pop    %rdi
1405a55f0:	c3                   	ret
1405a55f1:	48 89 1f             	mov    %rbx,(%rdi)
1405a55f4:	48 c7 47 08 00 00 00 	movq   $0x0,0x8(%rdi)
1405a55fb:	00
1405a55fc:	eb db                	jmp    0x1405a55d9
1405a55fe:	cc                   	int3
1405a55ff:	cc                   	int3
1405a5600:	48 89 5c 24 10       	mov    %rbx,0x10(%rsp)
1405a5605:	48 89 6c 24 18       	mov    %rbp,0x18(%rsp)
1405a560a:	48 89 74 24 20       	mov    %rsi,0x20(%rsp)
1405a560f:	57                   	push   %rdi
1405a5610:	41 54                	push   %r12
1405a5612:	41 55                	push   %r13
1405a5614:	41 56                	push   %r14
1405a5616:	41 57                	push   %r15
1405a5618:	48 83 ec 40          	sub    $0x40,%rsp
1405a561c:	4d 8b e1             	mov    %r9,%r12
1405a561f:	4d 8b f0             	mov    %r8,%r14
1405a5622:	48 8b f2             	mov    %rdx,%rsi
1405a5625:	48 8b e9             	mov    %rcx,%rbp
1405a5628:	49 8b 50 08          	mov    0x8(%r8),%rdx
1405a562c:	49 8b 08             	mov    (%r8),%rcx
1405a562f:	e8 5c ce 1f 00       	call   0x1407a2490
1405a5634:	48 89 44 24 70       	mov    %rax,0x70(%rsp)
1405a5639:	48 8b 7d 30          	mov    0x30(%rbp),%rdi
1405a563d:	48 23 f8             	and    %rax,%rdi
1405a5640:	48 03 ff             	add    %rdi,%rdi
1405a5643:	48 8b 4d 18          	mov    0x18(%rbp),%rcx
1405a5647:	48 8b 5c f9 08       	mov    0x8(%rcx,%rdi,8),%rbx
1405a564c:	48 8d 45 08          	lea    0x8(%rbp),%rax
1405a5650:	4c 8b 38             	mov    (%rax),%r15
1405a5653:	49 3b df             	cmp    %r15,%rbx
1405a5656:	74 68                	je     0x1405a56c0
1405a5658:	48 8b 3c f9          	mov    (%rcx,%rdi,8),%rdi
1405a565c:	48 8d 53 10          	lea    0x10(%rbx),%rdx
1405a5660:	49 8b ce             	mov    %r14,%rcx
1405a5663:	e8 78 25 00 00       	call   0x1405a7be0
1405a5668:	84 c0                	test   %al,%al
1405a566a:	75 1d                	jne    0x1405a5689
1405a566c:	0f 1f 40 00          	nopl   0x0(%rax)
1405a5670:	48 3b df             	cmp    %rdi,%rbx
1405a5673:	74 44                	je     0x1405a56b9
1405a5675:	48 8b 5b 08          	mov    0x8(%rbx),%rbx
1405a5679:	48 8d 53 10          	lea    0x10(%rbx),%rdx
1405a567d:	49 8b ce             	mov    %r14,%rcx
1405a5680:	e8 5b 25 00 00       	call   0x1405a7be0
1405a5685:	84 c0                	test   %al,%al
1405a5687:	74 e7                	je     0x1405a5670
1405a5689:	49 8b 04 24          	mov    (%r12),%rax
1405a568d:	48 89 43 30          	mov    %rax,0x30(%rbx)
1405a5691:	48 89 1e             	mov    %rbx,(%rsi)
1405a5694:	c6 46 08 00          	movb   $0x0,0x8(%rsi)
1405a5698:	48 8b c6             	mov    %rsi,%rax
1405a569b:	4c 8d 5c 24 40       	lea    0x40(%rsp),%r11
1405a56a0:	49 8b 5b 38          	mov    0x38(%r11),%rbx
1405a56a4:	49 8b 6b 40          	mov    0x40(%r11),%rbp
1405a56a8:	49 8b 73 48          	mov    0x48(%r11),%rsi
1405a56ac:	49 8b e3             	mov    %r11,%rsp
1405a56af:	41 5f                	pop    %r15
1405a56b1:	41 5e                	pop    %r14
1405a56b3:	41 5d                	pop    %r13
1405a56b5:	41 5c                	pop    %r12
1405a56b7:	5f                   	pop    %rdi
1405a56b8:	c3                   	ret
1405a56b9:	4c 8b fb             	mov    %rbx,%r15
1405a56bc:	48 8d 45 08          	lea    0x8(%rbp),%rax
1405a56c0:	48 b9 92 24 49 92 24 	movabs $0x492492492492492,%rcx
1405a56c7:	49 92 04
1405a56ca:	48 39 4d 10          	cmp    %rcx,0x10(%rbp)
1405a56ce:	0f 84 82 01 00 00    	je     0x1405a5856
1405a56d4:	48 89 44 24 20       	mov    %rax,0x20(%rsp)
1405a56d9:	48 c7 44 24 28 00 00 	movq   $0x0,0x28(%rsp)
1405a56e0:	00 00
1405a56e2:	b9 38 00 00 00       	mov    $0x38,%ecx
1405a56e7:	e8 1c 5a 87 00       	call   0x140e1b108
1405a56ec:	48 8b f8             	mov    %rax,%rdi
1405a56ef:	48 89 44 24 28       	mov    %rax,0x28(%rsp)
1405a56f4:	49 8b d6             	mov    %r14,%rdx
1405a56f7:	48 8d 48 10          	lea    0x10(%rax),%rcx
1405a56fb:	e8 10 24 00 00       	call   0x1405a7b10
1405a5700:	49 8b 0c 24          	mov    (%r12),%rcx
1405a5704:	48 89 4f 30          	mov    %rcx,0x30(%rdi)
1405a5708:	48 8b 4d 10          	mov    0x10(%rbp),%rcx
1405a570c:	48 83 c1 01          	add    $0x1,%rcx
1405a5710:	0f 57 c0             	xorps  %xmm0,%xmm0
1405a5713:	78 07                	js     0x1405a571c
1405a5715:	f3 48 0f 2a c1       	cvtsi2ss %rcx,%xmm0
1405a571a:	eb 15                	jmp    0x1405a5731
1405a571c:	48 8b c1             	mov    %rcx,%rax
1405a571f:	48 d1 e8             	shr    $1,%rax
1405a5722:	83 e1 01             	and    $0x1,%ecx
1405a5725:	48 0b c1             	or     %rcx,%rax
1405a5728:	f3 48 0f 2a c0       	cvtsi2ss %rax,%xmm0
1405a572d:	f3 0f 58 c0          	addss  %xmm0,%xmm0
1405a5731:	48 8b 5d 38          	mov    0x38(%rbp),%rbx
1405a5735:	f3 0f 10 5d 00       	movss  0x0(%rbp),%xmm3
1405a573a:	0f 57 d2             	xorps  %xmm2,%xmm2
1405a573d:	48 85 db             	test   %rbx,%rbx
1405a5740:	78 07                	js     0x1405a5749
1405a5742:	f3 48 0f 2a d3       	cvtsi2ss %rbx,%xmm2
1405a5747:	eb 18                	jmp    0x1405a5761
1405a5749:	48 8b cb             	mov    %rbx,%rcx
1405a574c:	48 d1 e9             	shr    $1,%rcx
1405a574f:	48 8b c3             	mov    %rbx,%rax
1405a5752:	83 e0 01             	and    $0x1,%eax
1405a5755:	48 0b c8             	or     %rax,%rcx
1405a5758:	f3 48 0f 2a d1       	cvtsi2ss %rcx,%xmm2
1405a575d:	f3 0f 58 d2          	addss  %xmm2,%xmm2
1405a5761:	0f 28 c8             	movaps %xmm0,%xmm1
1405a5764:	f3 0f 5e ca          	divss  %xmm2,%xmm1
1405a5768:	0f 2f cb             	comiss %xmm3,%xmm1
1405a576b:	0f 86 89 00 00 00    	jbe    0x1405a57fa
1405a5771:	f3 0f 5e c3          	divss  %xmm3,%xmm0
1405a5775:	e8 a6 b9 88 00       	call   0x140e31120
1405a577a:	33 c9                	xor    %ecx,%ecx
1405a577c:	f3 0f 10 0d e0 8e a0 	movss  0xa08ee0(%rip),%xmm1        # 0x140fae664
1405a5783:	00
1405a5784:	0f 2f c1             	comiss %xmm1,%xmm0
1405a5787:	72 16                	jb     0x1405a579f
1405a5789:	f3 0f 5c c1          	subss  %xmm1,%xmm0
1405a578d:	0f 2f c1             	comiss %xmm1,%xmm0
1405a5790:	73 0d                	jae    0x1405a579f
1405a5792:	48 b8 00 00 00 00 00 	movabs $0x8000000000000000,%rax
1405a5799:	00 00 80
1405a579c:	48 8b c8             	mov    %rax,%rcx
1405a579f:	f3 48 0f 2c c0       	cvttss2si %xmm0,%rax
1405a57a4:	48 03 c1             	add    %rcx,%rax
1405a57a7:	b9 08 00 00 00       	mov    $0x8,%ecx
1405a57ac:	48 3b c1             	cmp    %rcx,%rax
1405a57af:	48 0f 47 c8          	cmova  %rax,%rcx
1405a57b3:	48 3b d9             	cmp    %rcx,%rbx
1405a57b6:	73 19                	jae    0x1405a57d1
1405a57b8:	48 81 fb 00 02 00 00 	cmp    $0x200,%rbx
1405a57bf:	73 0d                	jae    0x1405a57ce
1405a57c1:	48 8d 1c dd 00 00 00 	lea    0x0(,%rbx,8),%rbx
1405a57c8:	00
1405a57c9:	48 3b d9             	cmp    %rcx,%rbx
1405a57cc:	73 03                	jae    0x1405a57d1
1405a57ce:	48 8b d9             	mov    %rcx,%rbx
1405a57d1:	48 8b d3             	mov    %rbx,%rdx
1405a57d4:	48 8b cd             	mov    %rbp,%rcx
1405a57d7:	e8 b4 1f 00 00       	call   0x1405a7790
1405a57dc:	48 8b 5c 24 70       	mov    0x70(%rsp),%rbx
1405a57e1:	4c 8b cb             	mov    %rbx,%r9
1405a57e4:	4c 8d 47 10          	lea    0x10(%rdi),%r8
1405a57e8:	48 8d 54 24 30       	lea    0x30(%rsp),%rdx
1405a57ed:	48 8b cd             	mov    %rbp,%rcx
1405a57f0:	e8 6b fd ff ff       	call   0x1405a5560
1405a57f5:	4c 8b 38             	mov    (%rax),%r15
1405a57f8:	eb 05                	jmp    0x1405a57ff
1405a57fa:	48 8b 5c 24 70       	mov    0x70(%rsp),%rbx
1405a57ff:	49 8b 57 08          	mov    0x8(%r15),%rdx
1405a5803:	48 ff 45 10          	incq   0x10(%rbp)
1405a5807:	4c 89 3f             	mov    %r15,(%rdi)
1405a580a:	48 89 57 08          	mov    %rdx,0x8(%rdi)
1405a580e:	48 89 3a             	mov    %rdi,(%rdx)
1405a5811:	49 89 7f 08          	mov    %rdi,0x8(%r15)
1405a5815:	48 8b 4d 18          	mov    0x18(%rbp),%rcx
1405a5819:	48 8b 45 30          	mov    0x30(%rbp),%rax
1405a581d:	48 23 c3             	and    %rbx,%rax
1405a5820:	48 03 c0             	add    %rax,%rax
1405a5823:	4c 8b 04 c1          	mov    (%rcx,%rax,8),%r8
1405a5827:	4c 3b 45 08          	cmp    0x8(%rbp),%r8
1405a582b:	75 06                	jne    0x1405a5833
1405a582d:	48 89 3c c1          	mov    %rdi,(%rcx,%rax,8)
1405a5831:	eb 12                	jmp    0x1405a5845
1405a5833:	4d 3b c7             	cmp    %r15,%r8
1405a5836:	75 06                	jne    0x1405a583e
1405a5838:	48 89 3c c1          	mov    %rdi,(%rcx,%rax,8)
1405a583c:	eb 0c                	jmp    0x1405a584a
1405a583e:	48 39 54 c1 08       	cmp    %rdx,0x8(%rcx,%rax,8)
1405a5843:	75 05                	jne    0x1405a584a
1405a5845:	48 89 7c c1 08       	mov    %rdi,0x8(%rcx,%rax,8)
1405a584a:	48 89 3e             	mov    %rdi,(%rsi)
1405a584d:	c6 46 08 01          	movb   $0x1,0x8(%rsi)
1405a5851:	e9 42 fe ff ff       	jmp    0x1405a5698
1405a5856:	48 8d 0d 43 8c a0 00 	lea    0xa08c43(%rip),%rcx        # 0x140fae4a0
1405a585d:	e8 52 5b 85 00       	call   0x140dfb3b4
1405a5862:	cc                   	int3
1405a5863:	cc                   	int3
1405a5864:	cc                   	int3
1405a5865:	cc                   	int3
1405a5866:	cc                   	int3
1405a5867:	cc                   	int3
1405a5868:	cc                   	int3
1405a5869:	cc                   	int3
1405a586a:	cc                   	int3
1405a586b:	cc                   	int3
1405a586c:	cc                   	int3
1405a586d:	cc                   	int3
1405a586e:	cc                   	int3
1405a586f:	cc                   	int3
1405a5870:	48 89 5c 24 08       	mov    %rbx,0x8(%rsp)
1405a5875:	48 89 74 24 10       	mov    %rsi,0x10(%rsp)
1405a587a:	57                   	push   %rdi
1405a587b:	48 83 ec 20          	sub    $0x20,%rsp
1405a587f:	48 8b da             	mov    %rdx,%rbx
1405a5882:	48 8b f9             	mov    %rcx,%rdi
1405a5885:	48 8b 11             	mov    (%rcx),%rdx
1405a5888:	49 8b f0             	mov    %r8,%rsi
1405a588b:	48 8b 0b             	mov    (%rbx),%rcx
1405a588e:	e8 8d 23 00 00       	call   0x1405a7c20
1405a5893:	84 c0                	test   %al,%al
1405a5895:	74 0c                	je     0x1405a58a3
1405a5897:	48 8b 07             	mov    (%rdi),%rax
1405a589a:	4c 8b 0b             	mov    (%rbx),%r9
1405a589d:	48 89 03             	mov    %rax,(%rbx)
1405a58a0:	4c 89 0f             	mov    %r9,(%rdi)
1405a58a3:	48 8b 13             	mov    (%rbx),%rdx
1405a58a6:	48 8b 0e             	mov    (%rsi),%rcx
1405a58a9:	e8 72 23 00 00       	call   0x1405a7c20
1405a58ae:	84 c0                	test   %al,%al
1405a58b0:	74 24                	je     0x1405a58d6
1405a58b2:	48 8b 03             	mov    (%rbx),%rax
1405a58b5:	48 8b 0e             	mov    (%rsi),%rcx
1405a58b8:	48 89 06             	mov    %rax,(%rsi)
1405a58bb:	48 89 0b             	mov    %rcx,(%rbx)
1405a58be:	48 8b 17             	mov    (%rdi),%rdx
1405a58c1:	e8 5a 23 00 00       	call   0x1405a7c20
1405a58c6:	84 c0                	test   %al,%al
1405a58c8:	74 0c                	je     0x1405a58d6
1405a58ca:	48 8b 07             	mov    (%rdi),%rax
1405a58cd:	48 8b 0b             	mov    (%rbx),%rcx
1405a58d0:	48 89 03             	mov    %rax,(%rbx)
1405a58d3:	48 89 0f             	mov    %rcx,(%rdi)