1407c0390:	48 89 5c 24 08       	mov    %rbx,0x8(%rsp)
1407c0395:	48 89 74 24 10       	mov    %rsi,0x10(%rsp)
1407c039a:	57                   	push   %rdi
1407c039b:	48 83 ec 30          	sub    $0x30,%rsp
1407c039f:	48 8b f9             	mov    %rcx,%rdi
1407c03a2:	33 f6                	xor    %esi,%esi
1407c03a4:	49 8b 08             	mov    (%r8),%rcx
1407c03a7:	49 8b 40 08          	mov    0x8(%r8),%rax
1407c03ab:	48 2b c1             	sub    %rcx,%rax
1407c03ae:	48 83 e0 f8          	and    $0xfffffffffffffff8,%rax
1407c03b2:	48 83 f8 08          	cmp    $0x8,%rax
1407c03b6:	74 30                	je     0x1407c03e8
1407c03b8:	48 8d 15 f1 e2 86 00 	lea    0x86e2f1(%rip),%rdx        # 0x14102e6b0
1407c03bf:	48 8b 0d 32 11 c7 00 	mov    0xc71132(%rip),%rcx        # 0x1414314f8
1407c03c6:	e8 f5 31 fd ff       	call   0x1407935c0
1407c03cb:	33 d2                	xor    %edx,%edx
1407c03cd:	48 8b cf             	mov    %rdi,%rcx
1407c03d0:	e8 db e5 a4 ff       	call   0x14020e9b0
1407c03d5:	48 8b c7             	mov    %rdi,%rax
1407c03d8:	48 8b 5c 24 40       	mov    0x40(%rsp),%rbx
1407c03dd:	48 8b 74 24 48       	mov    0x48(%rsp),%rsi
1407c03e2:	48 83 c4 30          	add    $0x30,%rsp
1407c03e6:	5f                   	pop    %rdi
1407c03e7:	c3                   	ret
1407c03e8:	48 8b 01             	mov    (%rcx),%rax
1407c03eb:	48 8b 58 20          	mov    0x20(%rax),%rbx
1407c03ef:	b9 28 00 00 00       	mov    $0x28,%ecx
1407c03f4:	e8 0f ad 65 00       	call   0x140e1b108
1407c03f9:	48 8b c8             	mov    %rax,%rcx
1407c03fc:	48 89 44 24 50       	mov    %rax,0x50(%rsp)
1407c0401:	48 85 c0             	test   %rax,%rax
1407c0404:	74 2c                	je     0x1407c0432
1407c0406:	0f 57 c9             	xorps  %xmm1,%xmm1
1407c0409:	48 85 db             	test   %rbx,%rbx
1407c040c:	78 07                	js     0x1407c0415
1407c040e:	f2 48 0f 2a cb       	cvtsi2sd %rbx,%xmm1
1407c0413:	eb 15                	jmp    0x1407c042a
1407c0415:	48 8b c3             	mov    %rbx,%rax
1407c0418:	48 d1 e8             	shr    $1,%rax
1407c041b:	83 e3 01             	and    $0x1,%ebx
1407c041e:	48 0b c3             	or     %rbx,%rax
1407c0421:	f2 48 0f 2a c8       	cvtsi2sd %rax,%xmm1
1407c0426:	f2 0f 58 c9          	addsd  %xmm1,%xmm1
1407c042a:	e8 a1 56 a9 ff       	call   0x140255ad0
1407c042f:	48 8b f0             	mov    %rax,%rsi
1407c0432:	48 89 37             	mov    %rsi,(%rdi)
1407c0435:	48 8b c7             	mov    %rdi,%rax
1407c0438:	48 8b 5c 24 40       	mov    0x40(%rsp),%rbx
1407c043d:	48 8b 74 24 48       	mov    0x48(%rsp),%rsi
1407c0442:	48 83 c4 30          	add    $0x30,%rsp
1407c0446:	5f                   	pop    %rdi
1407c0447:	c3                   	ret
1407c0448:	cc                   	int3
1407c0449:	cc                   	int3
1407c044a:	cc                   	int3
1407c044b:	cc                   	int3
1407c044c:	cc                   	int3
1407c044d:	cc                   	int3
1407c044e:	cc                   	int3
1407c044f:	cc                   	int3
1407c0450:	40 53                	rex push %rbx
1407c0452:	48 83 ec 30          	sub    $0x30,%rsp
1407c0456:	48 8b d9             	mov    %rcx,%rbx
1407c0459:	49 8b 08             	mov    (%r8),%rcx
1407c045c:	49 8b 40 08          	mov    0x8(%r8),%rax
1407c0460:	48 2b c1             	sub    %rcx,%rax
1407c0463:	48 83 e0 f8          	and    $0xfffffffffffffff8,%rax
1407c0467:	48 83 f8 10          	cmp    $0x10,%rax
1407c046b:	74 26                	je     0x1407c0493
1407c046d:	48 8d 15 64 e3 86 00 	lea    0x86e364(%rip),%rdx        # 0x14102e7d8
1407c0474:	48 8b 0d 7d 10 c7 00 	mov    0xc7107d(%rip),%rcx        # 0x1414314f8
1407c047b:	e8 40 31 fd ff       	call   0x1407935c0
1407c0480:	33 d2                	xor    %edx,%edx
1407c0482:	48 8b cb             	mov    %rbx,%rcx
1407c0485:	e8 26 e5 a4 ff       	call   0x14020e9b0
1407c048a:	48 8b c3             	mov    %rbx,%rax
1407c048d:	48 83 c4 30          	add    $0x30,%rsp
1407c0491:	5b                   	pop    %rbx
1407c0492:	c3                   	ret
1407c0493:	48 8b 01             	mov    (%rcx),%rax
1407c0496:	4c 8b 41 08          	mov    0x8(%rcx),%r8
1407c049a:	45 8b 40 20          	mov    0x20(%r8),%r8d
1407c049e:	8b 50 20             	mov    0x20(%rax),%edx
1407c04a1:	48 8b 0d d0 29 c7 00 	mov    0xc729d0(%rip),%rcx        # 0x141432e78
1407c04a8:	e8 a3 f3 f7 ff       	call   0x14073f850
1407c04ad:	48 8b 08             	mov    (%rax),%rcx
1407c04b0:	48 85 c9             	test   %rcx,%rcx
1407c04b3:	74 14                	je     0x1407c04c9
1407c04b5:	8b 41 10             	mov    0x10(%rcx),%eax
1407c04b8:	ff c0                	inc    %eax
1407c04ba:	89 41 10             	mov    %eax,0x10(%rcx)
1407c04bd:	83 f8 01             	cmp    $0x1,%eax
1407c04c0:	7e 1e                	jle    0x1407c04e0
1407c04c2:	3d ff ff ff 7f       	cmp    $0x7fffffff,%eax
1407c04c7:	74 0c                	je     0x1407c04d5
1407c04c9:	48 89 0b             	mov    %rcx,(%rbx)
1407c04cc:	48 8b c3             	mov    %rbx,%rax
1407c04cf:	48 83 c4 30          	add    $0x30,%rsp
1407c04d3:	5b                   	pop    %rbx
1407c04d4:	c3                   	ret
1407c04d5:	b9 01 00 00 00       	mov    $0x1,%ecx
1407c04da:	e8 21 a2 fc ff       	call   0x14078a700
1407c04df:	cc                   	int3
1407c04e0:	33 c9                	xor    %ecx,%ecx
1407c04e2:	e8 19 a2 fc ff       	call   0x14078a700
1407c04e7:	cc                   	int3
1407c04e8:	cc                   	int3
1407c04e9:	cc                   	int3
1407c04ea:	cc                   	int3
1407c04eb:	cc                   	int3
1407c04ec:	cc                   	int3
1407c04ed:	cc                   	int3
1407c04ee:	cc                   	int3
1407c04ef:	cc                   	int3
1407c04f0:	48 89 5c 24 08       	mov    %rbx,0x8(%rsp)
1407c04f5:	48 89 74 24 10       	mov    %rsi,0x10(%rsp)
1407c04fa:	57                   	push   %rdi
1407c04fb:	48 83 ec 30          	sub    $0x30,%rsp
1407c04ff:	48 8b d9             	mov    %rcx,%rbx
1407c0502:	33 ff                	xor    %edi,%edi
1407c0504:	49 8b 10             	mov    (%r8),%rdx
1407c0507:	49 8b 40 08          	mov    0x8(%r8),%rax
1407c050b:	48 2b c2             	sub    %rdx,%rax
1407c050e:	48 83 e0 f8          	and    $0xfffffffffffffff8,%rax
1407c0512:	48 83 f8 08          	cmp    $0x8,%rax
1407c0516:	74 30                	je     0x1407c0548
1407c0518:	48 8d 15 91 e4 86 00 	lea    0x86e491(%rip),%rdx        # 0x14102e9b0
1407c051f:	48 8b 0d d2 0f c7 00 	mov    0xc70fd2(%rip),%rcx        # 0x1414314f8
1407c0526:	e8 95 30 fd ff       	call   0x1407935c0
1407c052b:	33 d2                	xor    %edx,%edx
1407c052d:	48 8b cb             	mov    %rbx,%rcx
1407c0530:	e8 7b e4 a4 ff       	call   0x14020e9b0
1407c0535:	48 8b c3             	mov    %rbx,%rax
1407c0538:	48 8b 5c 24 40       	mov    0x40(%rsp),%rbx
1407c053d:	48 8b 74 24 48       	mov    0x48(%rsp),%rsi
1407c0542:	48 83 c4 30          	add    $0x30,%rsp
1407c0546:	5f                   	pop    %rdi
1407c0547:	c3                   	ret
1407c0548:	48 8b 12             	mov    (%rdx),%rdx
1407c054b:	48 8b 4a 20          	mov    0x20(%rdx),%rcx
1407c054f:	b8 ff ff ff ff       	mov    $0xffffffff,%eax
1407c0554:	48 3b c8             	cmp    %rax,%rcx
1407c0557:	76 46                	jbe    0x1407c059f
1407c0559:	45 33 c0             	xor    %r8d,%r8d
1407c055c:	48 8d 0d 7d e4 86 00 	lea    0x86e47d(%rip),%rcx        # 0x14102e9e0
1407c0563:	e8 d8 29 00 00       	call   0x1407c2f40
1407c0568:	b9 28 00 00 00       	mov    $0x28,%ecx
1407c056d:	e8 96 ab 65 00       	call   0x140e1b108
1407c0572:	48 89 44 24 50       	mov    %rax,0x50(%rsp)
1407c0577:	48 85 c0             	test   %rax,%rax
1407c057a:	74 0d                	je     0x1407c0589
1407c057c:	33 d2                	xor    %edx,%edx
1407c057e:	48 8b c8             	mov    %rax,%rcx
1407c0581:	e8 ca 0e f7 ff       	call   0x140731450
1407c0586:	48 8b f8             	mov    %rax,%rdi
1407c0589:	48 89 3b             	mov    %rdi,(%rbx)
1407c058c:	48 8b c3             	mov    %rbx,%rax
1407c058f:	48 8b 5c 24 40       	mov    0x40(%rsp),%rbx
1407c0594:	48 8b 74 24 48       	mov    0x48(%rsp),%rsi
1407c0599:	48 83 c4 30          	add    $0x30,%rsp
1407c059d:	5f                   	pop    %rdi
1407c059e:	c3                   	ret
1407c059f:	ff 15 cb 32 7c 00    	call   *0x7c32cb(%rip)        # 0x140f83870
1407c05a5:	8b f0                	mov    %eax,%esi
1407c05a7:	b9 28 00 00 00       	mov    $0x28,%ecx
1407c05ac:	e8 57 ab 65 00       	call   0x140e1b108
1407c05b1:	48 89 44 24 50       	mov    %rax,0x50(%rsp)
1407c05b6:	48 85 c0             	test   %rax,%rax
1407c05b9:	74 0d                	je     0x1407c05c8
1407c05bb:	8b d6                	mov    %esi,%edx
1407c05bd:	48 8b c8             	mov    %rax,%rcx
1407c05c0:	e8 8b 0e f7 ff       	call   0x140731450
1407c05c5:	48 8b f8             	mov    %rax,%rdi
1407c05c8:	48 89 3b             	mov    %rdi,(%rbx)
1407c05cb:	48 8b c3             	mov    %rbx,%rax
1407c05ce:	48 8b 5c 24 40       	mov    0x40(%rsp),%rbx
1407c05d3:	48 8b 74 24 48       	mov    0x48(%rsp),%rsi
1407c05d8:	48 83 c4 30          	add    $0x30,%rsp
1407c05dc:	5f                   	pop    %rdi
1407c05dd:	c3                   	ret
1407c05de:	cc                   	int3
1407c05df:	cc                   	int3
1407c05e0:	48 89 5c 24 10       	mov    %rbx,0x10(%rsp)
1407c05e5:	48 89 74 24 20       	mov    %rsi,0x20(%rsp)
1407c05ea:	57                   	push   %rdi
1407c05eb:	48 83 ec 50          	sub    $0x50,%rsp
1407c05ef:	48 8b 05 0a 89 bf 00 	mov    0xbf890a(%rip),%rax        # 0x1413b8f00
1407c05f6:	48 33 c4             	xor    %rsp,%rax
1407c05f9:	48 89 44 24 40       	mov    %rax,0x40(%rsp)
1407c05fe:	48 8b d9             	mov    %rcx,%rbx
1407c0601:	48 89 4c 24 20       	mov    %rcx,0x20(%rsp)
1407c0606:	33 ff                	xor    %edi,%edi
1407c0608:	49 8b 30             	mov    (%r8),%rsi
1407c060b:	49 8b 48 08          	mov    0x8(%r8),%rcx
1407c060f:	48 2b ce             	sub    %rsi,%rcx
1407c0612:	48 83 e1 f8          	and    $0xfffffffffffffff8,%rcx
1407c0616:	48 83 f9 08          	cmp    $0x8,%rcx
1407c061a:	74 22                	je     0x1407c063e
1407c061c:	48 8d 15 bd de 86 00 	lea    0x86debd(%rip),%rdx        # 0x14102e4e0
1407c0623:	48 8b 0d ce 0e c7 00 	mov    0xc70ece(%rip),%rcx        # 0x1414314f8
1407c062a:	e8 91 2f fd ff       	call   0x1407935c0
1407c062f:	33 d2                	xor    %edx,%edx
1407c0631:	48 8b cb             	mov    %rbx,%rcx
1407c0634:	e8 77 e3 a4 ff       	call   0x14020e9b0
1407c0639:	e9 13 01 00 00       	jmp    0x1407c0751
1407c063e:	48 8b 36             	mov    (%rsi),%rsi
1407c0641:	48 8b 46 30          	mov    0x30(%rsi),%rax
1407c0645:	48 8b 10             	mov    (%rax),%rdx
1407c0648:	48 8b 48 08          	mov    0x8(%rax),%rcx
1407c064c:	48 2b ca             	sub    %rdx,%rcx
1407c064f:	48 c1 f9 04          	sar    $0x4,%rcx
1407c0653:	83 f9 01             	cmp    $0x1,%ecx
1407c0656:	75 33                	jne    0x1407c068b
1407c0658:	8b 0a                	mov    (%rdx),%ecx
1407c065a:	ff 15 10 32 7c 00    	call   *0x7c3210(%rip)        # 0x140f83870
1407c0660:	8b f0                	mov    %eax,%esi
1407c0662:	b9 28 00 00 00       	mov    $0x28,%ecx
1407c0667:	e8 9c aa 65 00       	call   0x140e1b108
1407c066c:	48 89 44 24 20       	mov    %rax,0x20(%rsp)
1407c0671:	48 85 c0             	test   %rax,%rax
1407c0674:	74 0d                	je     0x1407c0683
1407c0676:	8b d6                	mov    %esi,%edx
1407c0678:	48 8b c8             	mov    %rax,%rcx
1407c067b:	e8 d0 0d f7 ff       	call   0x140731450
1407c0680:	48 8b f8             	mov    %rax,%rdi
1407c0683:	48 89 3b             	mov    %rdi,(%rbx)
1407c0686:	e9 c6 00 00 00       	jmp    0x1407c0751
1407c068b:	83 f9 04             	cmp    $0x4,%ecx
1407c068e:	75 71                	jne    0x1407c0701
1407c0690:	8b 0a                	mov    (%rdx),%ecx
1407c0692:	ff 15 d8 31 7c 00    	call   *0x7c31d8(%rip)        # 0x140f83870
1407c0698:	89 44 24 30          	mov    %eax,0x30(%rsp)
1407c069c:	48 8b 46 30          	mov    0x30(%rsi),%rax
1407c06a0:	48 8b 08             	mov    (%rax),%rcx
1407c06a3:	8b 49 10             	mov    0x10(%rcx),%ecx
1407c06a6:	ff 15 c4 31 7c 00    	call   *0x7c31c4(%rip)        # 0x140f83870
1407c06ac:	89 44 24 34          	mov    %eax,0x34(%rsp)
1407c06b0:	48 8b 46 30          	mov    0x30(%rsi),%rax
1407c06b4:	48 8b 08             	mov    (%rax),%rcx
1407c06b7:	8b 49 20             	mov    0x20(%rcx),%ecx
1407c06ba:	ff 15 b0 31 7c 00    	call   *0x7c31b0(%rip)        # 0x140f83870
1407c06c0:	89 44 24 38          	mov    %eax,0x38(%rsp)
1407c06c4:	48 8b 46 30          	mov    0x30(%rsi),%rax
1407c06c8:	48 8b 08             	mov    (%rax),%rcx
1407c06cb:	8b 49 30             	mov    0x30(%rcx),%ecx
1407c06ce:	ff 15 9c 31 7c 00    	call   *0x7c319c(%rip)        # 0x140f83870
1407c06d4:	89 44 24 3c          	mov    %eax,0x3c(%rsp)
1407c06d8:	b9 28 00 00 00       	mov    $0x28,%ecx
1407c06dd:	e8 26 aa 65 00       	call   0x140e1b108
1407c06e2:	48 89 44 24 20       	mov    %rax,0x20(%rsp)
1407c06e7:	48 85 c0             	test   %rax,%rax
1407c06ea:	74 10                	je     0x1407c06fc
1407c06ec:	48 8d 54 24 30       	lea    0x30(%rsp),%rdx
1407c06f1:	48 8b c8             	mov    %rax,%rcx
1407c06f4:	e8 b7 0c f7 ff       	call   0x1407313b0
1407c06f9:	48 8b f8             	mov    %rax,%rdi
1407c06fc:	48 89 3b             	mov    %rdi,(%rbx)
1407c06ff:	eb 50                	jmp    0x1407c0751
1407c0701:	45 33 c0             	xor    %r8d,%r8d
1407c0704:	48 8b d6             	mov    %rsi,%rdx
1407c0707:	48 8d 0d 02 de 86 00 	lea    0x86de02(%rip),%rcx        # 0x14102e510
1407c070e:	e8 2d 28 00 00       	call   0x1407c2f40
1407c0713:	0f 57 c0             	xorps  %xmm0,%xmm0
1407c0716:	0f 11 44 24 30       	movups %xmm0,0x30(%rsp)
1407c071b:	b9 28 00 00 00       	mov    $0x28,%ecx
1407c0720:	e8 e3 a9 65 00       	call   0x140e1b108
1407c0725:	48 89 44 24 20       	mov    %rax,0x20(%rsp)
1407c072a:	48 85 c0             	test   %rax,%rax
1407c072d:	74 10                	je     0x1407c073f
1407c072f:	48 8d 54 24 30       	lea    0x30(%rsp),%rdx
1407c0734:	48 8b c8             	mov    %rax,%rcx
1407c0737:	e8 74 0c f7 ff       	call   0x1407313b0
1407c073c:	48 8b f8             	mov    %rax,%rdi
1407c073f:	48 89 7c 24 20       	mov    %rdi,0x20(%rsp)
1407c0744:	48 8d 54 24 20       	lea    0x20(%rsp),%rdx
1407c0749:	48 8b cb             	mov    %rbx,%rcx
1407c074c:	e8 bf f5 9d ff       	call   0x14019fd10
1407c0751:	48 8b c3             	mov    %rbx,%rax
1407c0754:	48 8b 4c 24 40       	mov    0x40(%rsp),%rcx
1407c0759:	48 33 cc             	xor    %rsp,%rcx
1407c075c:	e8 9f ad 65 00       	call   0x140e1b500
1407c0761:	48 8b 5c 24 68       	mov    0x68(%rsp),%rbx
1407c0766:	48 8b 74 24 78       	mov    0x78(%rsp),%rsi
1407c076b:	48 83 c4 50          	add    $0x50,%rsp
1407c076f:	5f                   	pop    %rdi
1407c0770:	c3                   	ret
1407c0771:	cc                   	int3
1407c0772:	cc                   	int3
1407c0773:	cc                   	int3
1407c0774:	cc                   	int3
1407c0775:	cc                   	int3
1407c0776:	cc                   	int3
1407c0777:	cc                   	int3
1407c0778:	cc                   	int3
1407c0779:	cc                   	int3
1407c077a:	cc                   	int3
1407c077b:	cc                   	int3
1407c077c:	cc                   	int3
1407c077d:	cc                   	int3
1407c077e:	cc                   	int3
1407c077f:	cc                   	int3
1407c0780:	40 53                	rex push %rbx
1407c0782:	48 83 ec 30          	sub    $0x30,%rsp
1407c0786:	48 8b d9             	mov    %rcx,%rbx
1407c0789:	49 8b 40 08          	mov    0x8(%r8),%rax
1407c078d:	49 2b 00             	sub    (%r8),%rax
1407c0790:	48 a9 f8 ff ff ff    	test   $0xfffffffffffffff8,%rax
1407c0796:	74 26                	je     0x1407c07be
1407c0798:	48 8d 15 81 d6 86 00 	lea    0x86d681(%rip),%rdx        # 0x14102de20
1407c079f:	48 8b 0d 52 0d c7 00 	mov    0xc70d52(%rip),%rcx        # 0x1414314f8
1407c07a6:	e8 15 2e fd ff       	call   0x1407935c0
1407c07ab:	33 d2                	xor    %edx,%edx
1407c07ad:	48 8b cb             	mov    %rbx,%rcx
1407c07b0:	e8 fb e1 a4 ff       	call   0x14020e9b0
1407c07b5:	48 8b c3             	mov    %rbx,%rax
1407c07b8:	48 83 c4 30          	add    $0x30,%rsp
1407c07bc:	5b                   	pop    %rbx
1407c07bd:	c3                   	ret
1407c07be:	44 8b 05 4b c6 be 00 	mov    0xbec64b(%rip),%r8d        # 0x1413ace10
1407c07c5:	48 8d 54 24 50       	lea    0x50(%rsp),%rdx
1407c07ca:	48 8b 0d a7 26 c7 00 	mov    0xc726a7(%rip),%rcx        # 0x141432e78
1407c07d1:	e8 4a f7 9d ff       	call   0x14019ff20
1407c07d6:	48 8b 08             	mov    (%rax),%rcx
1407c07d9:	48 c7 00 00 00 00 00 	movq   $0x0,(%rax)
1407c07e0:	48 89 0b             	mov    %rcx,(%rbx)
1407c07e3:	48 8b 08             	mov    (%rax),%rcx
1407c07e6:	48 85 c9             	test   %rcx,%rcx
1407c07e9:	74 20                	je     0x1407c080b
1407c07eb:	8b 41 10             	mov    0x10(%rcx),%eax
1407c07ee:	ff c8                	dec    %eax
1407c07f0:	89 41 10             	mov    %eax,0x10(%rcx)
1407c07f3:	85 c0                	test   %eax,%eax
1407c07f5:	7f 14                	jg     0x1407c080b
1407c07f7:	78 1b                	js     0x1407c0814
1407c07f9:	48 8b 01             	mov    (%rcx),%rax
1407c07fc:	ba 01 00 00 00       	mov    $0x1,%edx
1407c0801:	48 8b 00             	mov    (%rax),%rax
1407c0804:	ff 15 16 32 7c 00    	call   *0x7c3216(%rip)        # 0x140f83a20
1407c080a:	90                   	nop
1407c080b:	48 8b c3             	mov    %rbx,%rax
1407c080e:	48 83 c4 30          	add    $0x30,%rsp
1407c0812:	5b                   	pop    %rbx
1407c0813:	c3                   	ret
1407c0814:	b9 02 00 00 00       	mov    $0x2,%ecx
1407c0819:	e8 e2 9e fc ff       	call   0x14078a700
1407c081e:	cc                   	int3
1407c081f:	cc                   	int3
1407c0820:	48 89 5c 24 08       	mov    %rbx,0x8(%rsp)
1407c0825:	57                   	push   %rdi
1407c0826:	48 83 ec 40          	sub    $0x40,%rsp