14038746e:	48 81 c3 20 01 00 00 	add    $0x120,%rbx
140387475:	48 3b df             	cmp    %rdi,%rbx
140387478:	75 ec                	jne    0x140387466
14038747a:	4d 8b 06             	mov    (%r14),%r8
14038747d:	49 8b 4e 10          	mov    0x10(%r14),%rcx
140387481:	49 2b c8             	sub    %r8,%rcx
140387484:	48 b8 39 8e e3 38 8e 	movabs $0xe38e38e38e38e39,%rax
14038748b:	e3 38 0e
14038748e:	48 f7 e9             	imul   %rcx
140387491:	48 c1 fa 04          	sar    $0x4,%rdx
140387495:	48 8b c2             	mov    %rdx,%rax
140387498:	48 c1 e8 3f          	shr    $0x3f,%rax
14038749c:	48 03 d0             	add    %rax,%rdx
14038749f:	48 8d 14 d2          	lea    (%rdx,%rdx,8),%rdx
1403874a3:	48 c1 e2 05          	shl    $0x5,%rdx
1403874a7:	48 81 fa 00 10 00 00 	cmp    $0x1000,%rdx
1403874ae:	72 18                	jb     0x1403874c8
1403874b0:	48 83 c2 27          	add    $0x27,%rdx
1403874b4:	49 8b 48 f8          	mov    -0x8(%r8),%rcx
1403874b8:	4c 2b c1             	sub    %rcx,%r8
1403874bb:	49 8d 40 f8          	lea    -0x8(%r8),%rax
1403874bf:	48 83 f8 1f          	cmp    $0x1f,%rax
1403874c3:	77 4b                	ja     0x140387510
1403874c5:	4c 8b c1             	mov    %rcx,%r8
1403874c8:	49 8b c8             	mov    %r8,%rcx
1403874cb:	e8 74 3c a9 00       	call   0x140e1b144
1403874d0:	49 89 36             	mov    %rsi,(%r14)
1403874d3:	4b 8d 04 e4          	lea    (%r12,%r12,8),%rax
1403874d7:	48 c1 e0 05          	shl    $0x5,%rax
1403874db:	48 03 c6             	add    %rsi,%rax
1403874de:	49 89 46 08          	mov    %rax,0x8(%r14)
1403874e2:	49 8d 04 37          	lea    (%r15,%rsi,1),%rax
1403874e6:	49 89 46 10          	mov    %rax,0x10(%r14)
1403874ea:	4c 8d 5c 24 50       	lea    0x50(%rsp),%r11
1403874ef:	49 8b 5b 30          	mov    0x30(%r11),%rbx
1403874f3:	49 8b 73 40          	mov    0x40(%r11),%rsi
1403874f7:	49 8b e3             	mov    %r11,%rsp
1403874fa:	41 5f                	pop    %r15
1403874fc:	41 5e                	pop    %r14
1403874fe:	41 5d                	pop    %r13
140387500:	41 5c                	pop    %r12
140387502:	5f                   	pop    %rdi
140387503:	c3                   	ret
140387504:	e8 87 5c e1 ff       	call   0x14019d190
140387509:	cc                   	int3
14038750a:	e8 81 60 e1 ff       	call   0x14019d590
14038750f:	cc                   	int3
140387510:	e8 8f 2c aa 00       	call   0x140e2a1a4
140387515:	cc                   	int3
140387516:	cc                   	int3
140387517:	cc                   	int3
140387518:	cc                   	int3
140387519:	cc                   	int3
14038751a:	cc                   	int3
14038751b:	cc                   	int3
14038751c:	cc                   	int3
14038751d:	cc                   	int3
14038751e:	cc                   	int3
14038751f:	cc                   	int3
140387520:	48 89 5c 24 08       	mov    %rbx,0x8(%rsp)
140387525:	48 89 6c 24 10       	mov    %rbp,0x10(%rsp)
14038752a:	48 89 74 24 18       	mov    %rsi,0x18(%rsp)
14038752f:	57                   	push   %rdi
140387530:	41 54                	push   %r12
140387532:	41 55                	push   %r13
140387534:	41 56                	push   %r14
140387536:	41 57                	push   %r15
140387538:	48 83 ec 40          	sub    $0x40,%rsp
14038753c:	49 8b d8             	mov    %r8,%rbx
14038753f:	4c 8b fa             	mov    %rdx,%r15
140387542:	4c 8b e9             	mov    %rcx,%r13
140387545:	4d 8b 48 10          	mov    0x10(%r8),%r9
140387549:	49 83 78 18 0f       	cmpq   $0xf,0x18(%r8)
14038754e:	76 03                	jbe    0x140387553
140387550:	4d 8b 00             	mov    (%r8),%r8
140387553:	48 bf 25 23 22 84 e4 	movabs $0xcbf29ce484222325,%rdi
14038755a:	9c f2 cb
14038755d:	45 33 e4             	xor    %r12d,%r12d
140387560:	41 8b d4             	mov    %r12d,%edx
140387563:	4d 85 c9             	test   %r9,%r9
140387566:	74 2c                	je     0x140387594
140387568:	48 b9 b3 01 00 00 00 	movabs $0x100000001b3,%rcx
14038756f:	01 00 00
140387572:	0f 1f 40 00          	nopl   0x0(%rax)
140387576:	66 66 0f 1f 84 00 00 	data16 nopw 0x0(%rax,%rax,1)
14038757d:	00 00 00
140387580:	41 0f b6 04 10       	movzbl (%r8,%rdx,1),%eax
140387585:	48 33 f8             	xor    %rax,%rdi
140387588:	48 0f af f9          	imul   %rcx,%rdi
14038758c:	48 ff c2             	inc    %rdx
14038758f:	49 3b d1             	cmp    %r9,%rdx
140387592:	72 ec                	jb     0x140387580
140387594:	4c 8b cf             	mov    %rdi,%r9
140387597:	4c 8b c3             	mov    %rbx,%r8
14038759a:	48 8d 54 24 20       	lea    0x20(%rsp),%rdx
14038759f:	49 8b cd             	mov    %r13,%rcx
1403875a2:	e8 59 cc e8 ff       	call   0x140214200
1403875a7:	48 8b 44 24 28       	mov    0x28(%rsp),%rax
1403875ac:	48 85 c0             	test   %rax,%rax
1403875af:	74 0c                	je     0x1403875bd
1403875b1:	49 89 07             	mov    %rax,(%r15)
1403875b4:	45 88 67 08          	mov    %r12b,0x8(%r15)
1403875b8:	e9 14 02 00 00       	jmp    0x1403877d1
1403875bd:	48 b8 92 24 49 92 24 	movabs $0x492492492492492,%rax
1403875c4:	49 92 04
1403875c7:	49 39 45 10          	cmp    %rax,0x10(%r13)
1403875cb:	0f 84 23 02 00 00    	je     0x1403877f4
1403875d1:	49 8d 6d 08          	lea    0x8(%r13),%rbp
1403875d5:	48 89 6c 24 30       	mov    %rbp,0x30(%rsp)
1403875da:	4c 89 64 24 38       	mov    %r12,0x38(%rsp)
1403875df:	b9 38 00 00 00       	mov    $0x38,%ecx
1403875e4:	e8 1f 3b a9 00       	call   0x140e1b108
1403875e9:	48 8b f0             	mov    %rax,%rsi
1403875ec:	48 89 44 24 38       	mov    %rax,0x38(%rsp)
1403875f1:	48 8b d3             	mov    %rbx,%rdx
1403875f4:	48 8d 48 10          	lea    0x10(%rax),%rcx
1403875f8:	e8 43 14 e2 ff       	call   0x1401a8a40
1403875fd:	4c 89 66 30          	mov    %r12,0x30(%rsi)
140387601:	49 8b 4d 10          	mov    0x10(%r13),%rcx
140387605:	f3 41 0f 10 5d 00    	movss  0x0(%r13),%xmm3
14038760b:	48 83 c1 01          	add    $0x1,%rcx
14038760f:	0f 57 c0             	xorps  %xmm0,%xmm0
140387612:	78 07                	js     0x14038761b
140387614:	f3 48 0f 2a c1       	cvtsi2ss %rcx,%xmm0
140387619:	eb 15                	jmp    0x140387630
14038761b:	48 8b c1             	mov    %rcx,%rax
14038761e:	48 d1 e8             	shr    $1,%rax
140387621:	83 e1 01             	and    $0x1,%ecx
140387624:	48 0b c1             	or     %rcx,%rax
140387627:	f3 48 0f 2a c0       	cvtsi2ss %rax,%xmm0
14038762c:	f3 0f 58 c0          	addss  %xmm0,%xmm0
140387630:	49 8b 5d 38          	mov    0x38(%r13),%rbx
140387634:	0f 57 d2             	xorps  %xmm2,%xmm2
140387637:	48 85 db             	test   %rbx,%rbx
14038763a:	78 07                	js     0x140387643
14038763c:	f3 48 0f 2a d3       	cvtsi2ss %rbx,%xmm2
140387641:	eb 18                	jmp    0x14038765b
140387643:	48 8b cb             	mov    %rbx,%rcx
140387646:	48 d1 e9             	shr    $1,%rcx
140387649:	48 8b c3             	mov    %rbx,%rax
14038764c:	83 e0 01             	and    $0x1,%eax
14038764f:	48 0b c8             	or     %rax,%rcx
140387652:	f3 48 0f 2a d1       	cvtsi2ss %rcx,%xmm2
140387657:	f3 0f 58 d2          	addss  %xmm2,%xmm2
14038765b:	0f 28 c8             	movaps %xmm0,%xmm1
14038765e:	f3 0f 5e ca          	divss  %xmm2,%xmm1
140387662:	0f 2f cb             	comiss %xmm3,%xmm1
140387665:	0f 86 0e 01 00 00    	jbe    0x140387779
14038766b:	f3 0f 5e c3          	divss  %xmm3,%xmm0
14038766f:	e8 ac 9a aa 00       	call   0x140e31120
140387674:	33 c9                	xor    %ecx,%ecx
140387676:	f3 0f 10 0d e6 6f c2 	movss  0xc26fe6(%rip),%xmm1        # 0x140fae664
14038767d:	00
14038767e:	0f 2f c1             	comiss %xmm1,%xmm0
140387681:	72 16                	jb     0x140387699
140387683:	f3 0f 5c c1          	subss  %xmm1,%xmm0
140387687:	0f 2f c1             	comiss %xmm1,%xmm0
14038768a:	73 0d                	jae    0x140387699
14038768c:	48 b8 00 00 00 00 00 	movabs $0x8000000000000000,%rax
140387693:	00 00 80
140387696:	48 8b c8             	mov    %rax,%rcx
140387699:	f3 48 0f 2c c0       	cvttss2si %xmm0,%rax
14038769e:	48 03 c1             	add    %rcx,%rax
1403876a1:	b9 08 00 00 00       	mov    $0x8,%ecx
1403876a6:	48 3b c1             	cmp    %rcx,%rax
1403876a9:	48 0f 47 c8          	cmova  %rax,%rcx
1403876ad:	48 3b d9             	cmp    %rcx,%rbx
1403876b0:	73 19                	jae    0x1403876cb
1403876b2:	48 81 fb 00 02 00 00 	cmp    $0x200,%rbx
1403876b9:	73 0d                	jae    0x1403876c8
1403876bb:	48 8d 1c dd 00 00 00 	lea    0x0(,%rbx,8),%rbx
1403876c2:	00
1403876c3:	48 3b d9             	cmp    %rcx,%rbx
1403876c6:	73 03                	jae    0x1403876cb
1403876c8:	48 8b d9             	mov    %rcx,%rbx
1403876cb:	48 8b d3             	mov    %rbx,%rdx
1403876ce:	49 8b cd             	mov    %r13,%rcx
1403876d1:	e8 7a 59 00 00       	call   0x14038d050
1403876d6:	49 8b 45 30          	mov    0x30(%r13),%rax
1403876da:	48 23 c7             	and    %rdi,%rax
1403876dd:	48 03 c0             	add    %rax,%rax
1403876e0:	49 8b 55 18          	mov    0x18(%r13),%rdx
1403876e4:	48 8b 5c c2 08       	mov    0x8(%rdx,%rax,8),%rbx
1403876e9:	48 8b 4d 00          	mov    0x0(%rbp),%rcx
1403876ed:	48 3b d9             	cmp    %rcx,%rbx
1403876f0:	75 0c                	jne    0x1403876fe
1403876f2:	48 89 4c 24 20       	mov    %rcx,0x20(%rsp)
1403876f7:	4c 89 64 24 28       	mov    %r12,0x28(%rsp)
1403876fc:	eb 70                	jmp    0x14038776e
1403876fe:	4c 8b 24 c2          	mov    (%rdx,%rax,8),%r12
140387702:	48 8b 6e 20          	mov    0x20(%rsi),%rbp
140387706:	66 66 0f 1f 84 00 00 	data16 nopw 0x0(%rax,%rax,1)
14038770d:	00 00 00
140387710:	48 8d 53 10          	lea    0x10(%rbx),%rdx
140387714:	48 8b 42 10          	mov    0x10(%rdx),%rax
140387718:	48 83 7a 18 0f       	cmpq   $0xf,0x18(%rdx)
14038771d:	76 03                	jbe    0x140387722
14038771f:	48 8b 12             	mov    (%rdx),%rdx
140387722:	48 8d 4e 10          	lea    0x10(%rsi),%rcx
140387726:	48 83 7e 28 0f       	cmpq   $0xf,0x28(%rsi)
14038772b:	76 04                	jbe    0x140387731
14038772d:	48 8b 4e 10          	mov    0x10(%rsi),%rcx
140387731:	48 3b e8             	cmp    %rax,%rbp
140387734:	75 0c                	jne    0x140387742
140387736:	4c 8b c5             	mov    %rbp,%r8
140387739:	e8 12 83 b5 00       	call   0x140edfa50
14038773e:	85 c0                	test   %eax,%eax
140387740:	74 0b                	je     0x14038774d
140387742:	49 3b dc             	cmp    %r12,%rbx
140387745:	74 15                	je     0x14038775c
140387747:	48 8b 5b 08          	mov    0x8(%rbx),%rbx
14038774b:	eb c3                	jmp    0x140387710
14038774d:	48 8b 03             	mov    (%rbx),%rax
140387750:	48 89 44 24 20       	mov    %rax,0x20(%rsp)
140387755:	48 89 5c 24 28       	mov    %rbx,0x28(%rsp)
14038775a:	eb 0e                	jmp    0x14038776a
14038775c:	48 89 5c 24 20       	mov    %rbx,0x20(%rsp)
140387761:	48 c7 44 24 28 00 00 	movq   $0x0,0x28(%rsp)
140387768:	00 00
14038776a:	49 8d 6d 08          	lea    0x8(%r13),%rbp
14038776e:	0f 28 44 24 20       	movaps 0x20(%rsp),%xmm0
140387773:	66 0f 7f 44 24 20    	movdqa %xmm0,0x20(%rsp)
140387779:	48 8b 54 24 20       	mov    0x20(%rsp),%rdx
14038777e:	4c 8b 42 08          	mov    0x8(%rdx),%r8
140387782:	49 ff 45 10          	incq   0x10(%r13)
140387786:	48 89 16             	mov    %rdx,(%rsi)
140387789:	4c 89 46 08          	mov    %r8,0x8(%rsi)
14038778d:	49 89 30             	mov    %rsi,(%r8)
140387790:	48 89 72 08          	mov    %rsi,0x8(%rdx)
140387794:	49 8b 4d 18          	mov    0x18(%r13),%rcx
140387798:	49 8b 45 30          	mov    0x30(%r13),%rax
14038779c:	48 23 c7             	and    %rdi,%rax
14038779f:	48 03 c0             	add    %rax,%rax
1403877a2:	4c 8b 0c c1          	mov    (%rcx,%rax,8),%r9
1403877a6:	4c 3b 4d 00          	cmp    0x0(%rbp),%r9
1403877aa:	75 06                	jne    0x1403877b2
1403877ac:	48 89 34 c1          	mov    %rsi,(%rcx,%rax,8)
1403877b0:	eb 12                	jmp    0x1403877c4
1403877b2:	4c 3b ca             	cmp    %rdx,%r9
1403877b5:	75 06                	jne    0x1403877bd
1403877b7:	48 89 34 c1          	mov    %rsi,(%rcx,%rax,8)
1403877bb:	eb 0c                	jmp    0x1403877c9
1403877bd:	4c 39 44 c1 08       	cmp    %r8,0x8(%rcx,%rax,8)
1403877c2:	75 05                	jne    0x1403877c9
1403877c4:	48 89 74 c1 08       	mov    %rsi,0x8(%rcx,%rax,8)
1403877c9:	49 89 37             	mov    %rsi,(%r15)
1403877cc:	41 c6 47 08 01       	movb   $0x1,0x8(%r15)
1403877d1:	49 8b c7             	mov    %r15,%rax
1403877d4:	48 8b 5c 24 70       	mov    0x70(%rsp),%rbx
1403877d9:	48 8b 6c 24 78       	mov    0x78(%rsp),%rbp
1403877de:	48 8b b4 24 80 00 00 	mov    0x80(%rsp),%rsi
1403877e5:	00
1403877e6:	48 83 c4 40          	add    $0x40,%rsp
1403877ea:	41 5f                	pop    %r15
1403877ec:	41 5e                	pop    %r14
1403877ee:	41 5d                	pop    %r13
1403877f0:	41 5c                	pop    %r12
1403877f2:	5f                   	pop    %rdi
1403877f3:	c3                   	ret
1403877f4:	48 8d 0d a5 6c c2 00 	lea    0xc26ca5(%rip),%rcx        # 0x140fae4a0
1403877fb:	e8 b4 3b a7 00       	call   0x140dfb3b4
140387800:	cc                   	int3
140387801:	cc                   	int3
140387802:	cc                   	int3
140387803:	cc                   	int3
140387804:	cc                   	int3
140387805:	cc                   	int3
140387806:	cc                   	int3
140387807:	cc                   	int3
140387808:	cc                   	int3
140387809:	cc                   	int3
14038780a:	cc                   	int3
14038780b:	cc                   	int3
14038780c:	cc                   	int3
14038780d:	cc                   	int3
14038780e:	cc                   	int3
14038780f:	cc                   	int3
140387810:	48 89 5c 24 08       	mov    %rbx,0x8(%rsp)
140387815:	48 89 6c 24 10       	mov    %rbp,0x10(%rsp)
14038781a:	48 89 74 24 18       	mov    %rsi,0x18(%rsp)
14038781f:	57                   	push   %rdi
140387820:	48 83 ec 40          	sub    $0x40,%rsp
140387824:	49 8b e9             	mov    %r9,%rbp
140387827:	49 8b f8             	mov    %r8,%rdi
14038782a:	48 8b f2             	mov    %rdx,%rsi
14038782d:	48 8b d9             	mov    %rcx,%rbx
140387830:	4c 89 44 24 20       	mov    %r8,0x20(%rsp)
140387835:	4c 89 44 24 28       	mov    %r8,0x28(%rsp)
14038783a:	4c 89 4c 24 30       	mov    %r9,0x30(%rsp)
14038783f:	48 85 d2             	test   %rdx,%rdx
140387842:	74 1e                	je     0x140387862
140387844:	48 8b d3             	mov    %rbx,%rdx
140387847:	48 8b cf             	mov    %rdi,%rcx
14038784a:	e8 f1 11 e2 ff       	call   0x1401a8a40
14038784f:	48 83 c7 20          	add    $0x20,%rdi
140387853:	48 89 7c 24 28       	mov    %rdi,0x28(%rsp)
140387858:	48 83 c3 20          	add    $0x20,%rbx
14038785c:	48 83 ee 01          	sub    $0x1,%rsi
140387860:	75 e2                	jne    0x140387844
140387862:	4c 8b c5             	mov    %rbp,%r8
140387865:	48 8b d7             	mov    %rdi,%rdx
140387868:	48 8b cf             	mov    %rdi,%rcx
14038786b:	e8 e0 f9 e0 ff       	call   0x140197250
140387870:	48 8b c7             	mov    %rdi,%rax
140387873:	48 8b 5c 24 50       	mov    0x50(%rsp),%rbx
140387878:	48 8b 6c 24 58       	mov    0x58(%rsp),%rbp
14038787d:	48 8b 74 24 60       	mov    0x60(%rsp),%rsi
140387882:	48 83 c4 40          	add    $0x40,%rsp
140387886:	5f                   	pop    %rdi
140387887:	c3                   	ret
140387888:	cc                   	int3
140387889:	cc                   	int3
14038788a:	cc                   	int3
14038788b:	cc                   	int3
14038788c:	cc                   	int3
14038788d:	cc                   	int3
14038788e:	cc                   	int3
14038788f:	cc                   	int3
140387890:	48 89 5c 24 08       	mov    %rbx,0x8(%rsp)
140387895:	57                   	push   %rdi
140387896:	48 83 ec 40          	sub    $0x40,%rsp
14038789a:	48 8b fa             	mov    %rdx,%rdi
14038789d:	48 8b d9             	mov    %rcx,%rbx
1403878a0:	48 89 4c 24 20       	mov    %rcx,0x20(%rsp)
1403878a5:	48 89 4c 24 28       	mov    %rcx,0x28(%rsp)
1403878aa:	4c 89 44 24 30       	mov    %r8,0x30(%rsp)
1403878af:	48 85 d2             	test   %rdx,%rdx
1403878b2:	74 36                	je     0x1403878ea
1403878b4:	0f 1f 40 00          	nopl   0x0(%rax)
1403878b8:	0f 1f 84 00 00 00 00 	nopl   0x0(%rax,%rax,1)
1403878bf:	00
1403878c0:	33 d2                	xor    %edx,%edx
1403878c2:	41 b8 20 01 00 00    	mov    $0x120,%r8d
1403878c8:	48 8b cb             	mov    %rbx,%rcx
1403878cb:	e8 e0 7d b5 00       	call   0x140edf6b0
1403878d0:	48 8b cb             	mov    %rbx,%rcx
1403878d3:	e8 88 10 00 00       	call   0x140388960
1403878d8:	48 81 c3 20 01 00 00 	add    $0x120,%rbx
1403878df:	48 89 5c 24 28       	mov    %rbx,0x28(%rsp)
1403878e4:	48 83 ef 01          	sub    $0x1,%rdi
1403878e8:	75 d6                	jne    0x1403878c0
1403878ea:	48 8b c3             	mov    %rbx,%rax
1403878ed:	48 8b 5c 24 50       	mov    0x50(%rsp),%rbx
1403878f2:	48 83 c4 40          	add    $0x40,%rsp
1403878f6:	5f                   	pop    %rdi
1403878f7:	c3                   	ret
1403878f8:	cc                   	int3
1403878f9:	cc                   	int3
1403878fa:	cc                   	int3
1403878fb:	cc                   	int3