140011857:	8b 94 24 70 02 00 00 	mov    0x270(%rsp),%edx
14001185e:	4c 8b f1             	mov    %rcx,%r14
140011861:	8b c2                	mov    %edx,%eax
140011863:	49 0f af c1          	imul   %r9,%rax
140011867:	66 0f 1f 84 00 00 00 	nopw   0x0(%rax,%rax,1)
14001186e:	00 00
140011870:	49 8b c8             	mov    %r8,%rcx
140011873:	48 c1 e1 20          	shl    $0x20,%rcx
140011877:	49 0b cb             	or     %r11,%rcx
14001187a:	48 3b c1             	cmp    %rcx,%rax
14001187d:	76 0e                	jbe    0x14001188d
14001187f:	49 ff c9             	dec    %r9
140011882:	48 2b c2             	sub    %rdx,%rax
140011885:	4d 03 c6             	add    %r14,%r8
140011888:	4d 3b c7             	cmp    %r15,%r8
14001188b:	76 e3                	jbe    0x140011870
14001188d:	44 8b b4 24 60 02 00 	mov    0x260(%rsp),%r14d
140011894:	00
140011895:	4d 85 c9             	test   %r9,%r9
140011898:	0f 84 c1 00 00 00    	je     0x14001195f
14001189e:	4c 8b d5             	mov    %rbp,%r10
1400118a1:	44 8b dd             	mov    %ebp,%r11d
1400118a4:	85 ff                	test   %edi,%edi
1400118a6:	74 64                	je     0x14001190c
1400118a8:	4c 8b b4 24 68 02 00 	mov    0x268(%rsp),%r14
1400118af:	00
1400118b0:	44 8b bc 24 60 02 00 	mov    0x260(%rsp),%r15d
1400118b7:	00
1400118b8:	49 83 c6 04          	add    $0x4,%r14
1400118bc:	0f 1f 40 00          	nopl   0x0(%rax)
1400118c0:	41 8b 06             	mov    (%r14),%eax
1400118c3:	4d 8d 76 04          	lea    0x4(%r14),%r14
1400118c7:	49 0f af c1          	imul   %r9,%rax
1400118cb:	4c 03 d0             	add    %rax,%r10
1400118ce:	43 8d 04 23          	lea    (%r11,%r12,1),%eax
1400118d2:	45 8b c2             	mov    %r10d,%r8d
1400118d5:	8b c8                	mov    %eax,%ecx
1400118d7:	49 c1 ea 20          	shr    $0x20,%r10
1400118db:	8b 44 86 04          	mov    0x4(%rsi,%rax,4),%eax
1400118df:	49 8b d2             	mov    %r10,%rdx
1400118e2:	49 ff c2             	inc    %r10
1400118e5:	41 3b c0             	cmp    %r8d,%eax
1400118e8:	4c 0f 43 d2          	cmovae %rdx,%r10
1400118ec:	41 2b c0             	sub    %r8d,%eax
1400118ef:	41 ff c3             	inc    %r11d
1400118f2:	89 44 8e 04          	mov    %eax,0x4(%rsi,%rcx,4)
1400118f6:	44 3b df             	cmp    %edi,%r11d
1400118f9:	72 c5                	jb     0x1400118c0
1400118fb:	45 8b f7             	mov    %r15d,%r14d
1400118fe:	44 89 bc 24 60 02 00 	mov    %r15d,0x260(%rsp)
140011905:	00
140011906:	41 bf ff ff ff ff    	mov    $0xffffffff,%r15d
14001190c:	4c 8b 9c 24 68 02 00 	mov    0x268(%rsp),%r11
140011913:	00
140011914:	8b 84 24 78 02 00 00 	mov    0x278(%rsp),%eax
14001191b:	49 83 c3 04          	add    $0x4,%r11
14001191f:	49 3b c2             	cmp    %r10,%rax
140011922:	73 37                	jae    0x14001195b
140011924:	44 8b d5             	mov    %ebp,%r10d
140011927:	85 ff                	test   %edi,%edi
140011929:	74 2d                	je     0x140011958
14001192b:	4c 8b c5             	mov    %rbp,%r8
14001192e:	66 90                	xchg   %ax,%ax
140011930:	41 8b 0b             	mov    (%r11),%ecx
140011933:	43 8d 04 22          	lea    (%r10,%r12,1),%eax
140011937:	48 8d 14 86          	lea    (%rsi,%rax,4),%rdx
14001193b:	41 ff c2             	inc    %r10d
14001193e:	8b 42 04             	mov    0x4(%rdx),%eax
140011941:	4d 8d 5b 04          	lea    0x4(%r11),%r11
140011945:	4c 03 c0             	add    %rax,%r8
140011948:	4c 03 c1             	add    %rcx,%r8
14001194b:	44 89 42 04          	mov    %r8d,0x4(%rdx)
14001194f:	49 c1 e8 20          	shr    $0x20,%r8
140011953:	44 3b d7             	cmp    %edi,%r10d
140011956:	72 d8                	jb     0x140011930
140011958:	49 ff c9             	dec    %r9
14001195b:	45 8d 55 ff          	lea    -0x1(%r13),%r10d
14001195f:	4c 8b 5c 24 30       	mov    0x30(%rsp),%r11
140011964:	41 ff cd             	dec    %r13d
140011967:	49 c1 e3 20          	shl    $0x20,%r11
14001196b:	41 8b c1             	mov    %r9d,%eax
14001196e:	4c 03 d8             	add    %rax,%r11
140011971:	41 83 ec 01          	sub    $0x1,%r12d
140011975:	4c 89 5c 24 30       	mov    %r11,0x30(%rsp)
14001197a:	0f 89 30 fe ff ff    	jns    0x1400117b0
140011980:	4c 8b ac 24 18 02 00 	mov    0x218(%rsp),%r13
140011987:	00
140011988:	41 ff c2             	inc    %r10d
14001198b:	41 8b ca             	mov    %r10d,%ecx
14001198e:	44 3b 16             	cmp    (%rsi),%r10d
140011991:	73 0c                	jae    0x14001199f
140011993:	8b c1                	mov    %ecx,%eax
140011995:	ff c1                	inc    %ecx
140011997:	89 6c 86 04          	mov    %ebp,0x4(%rsi,%rax,4)
14001199b:	3b 0e                	cmp    (%rsi),%ecx
14001199d:	72 f4                	jb     0x140011993
14001199f:	44 89 16             	mov    %r10d,(%rsi)
1400119a2:	45 85 d2             	test   %r10d,%r10d
1400119a5:	74 1c                	je     0x1400119c3
1400119a7:	66 0f 1f 84 00 00 00 	nopw   0x0(%rax,%rax,1)
1400119ae:	00 00
1400119b0:	41 8d 52 ff          	lea    -0x1(%r10),%edx
1400119b4:	44 8b d2             	mov    %edx,%r10d
1400119b7:	39 6c 96 04          	cmp    %ebp,0x4(%rsi,%rdx,4)
1400119bb:	75 06                	jne    0x1400119c3
1400119bd:	89 16                	mov    %edx,(%rsi)
1400119bf:	85 d2                	test   %edx,%edx
1400119c1:	75 ed                	jne    0x1400119b0
1400119c3:	49 8b c3             	mov    %r11,%rax
1400119c6:	eb 02                	jmp    0x1400119ca
1400119c8:	33 c0                	xor    %eax,%eax
1400119ca:	48 81 c4 20 02 00 00 	add    $0x220,%rsp
1400119d1:	41 5f                	pop    %r15
1400119d3:	41 5e                	pop    %r14
1400119d5:	41 5c                	pop    %r12
1400119d7:	5f                   	pop    %rdi
1400119d8:	5e                   	pop    %rsi
1400119d9:	5d                   	pop    %rbp
1400119da:	5b                   	pop    %rbx
1400119db:	c3                   	ret
1400119dc:	48 8b c4             	mov    %rsp,%rax
1400119df:	55                   	push   %rbp
1400119e0:	53                   	push   %rbx
1400119e1:	56                   	push   %rsi
1400119e2:	57                   	push   %rdi
1400119e3:	41 54                	push   %r12
1400119e5:	41 56                	push   %r14
1400119e7:	41 57                	push   %r15
1400119e9:	48 8d a8 d8 f8 ff ff 	lea    -0x728(%rax),%rbp
1400119f0:	48 81 ec f0 07 00 00 	sub    $0x7f0,%rsp
1400119f7:	0f 29 70 b8          	movaps %xmm6,-0x48(%rax)
1400119fb:	48 8b 05 fe 35 01 00 	mov    0x135fe(%rip),%rax        # 0x140025000
140011a02:	48 33 c4             	xor    %rsp,%rax
140011a05:	48 89 85 d0 06 00 00 	mov    %rax,0x6d0(%rbp)
140011a0c:	4c 8b b5 50 07 00 00 	mov    0x750(%rbp),%r14
140011a13:	66 48 0f 6e f1       	movq   %rcx,%xmm6
140011a18:	48 8d 4c 24 68       	lea    0x68(%rsp),%rcx
140011a1d:	4c 89 75 80          	mov    %r14,-0x80(%rbp)
140011a21:	4d 8b e1             	mov    %r9,%r12
140011a24:	4c 89 4d 88          	mov    %r9,-0x78(%rbp)
140011a28:	44 89 44 24 4c       	mov    %r8d,0x4c(%rsp)
140011a2d:	8b f2                	mov    %edx,%esi
140011a2f:	e8 1c 31 00 00       	call   0x140014b50
140011a34:	8b 44 24 68          	mov    0x68(%rsp),%eax
140011a38:	41 bf 01 00 00 00    	mov    $0x1,%r15d
140011a3e:	83 e0 1f             	and    $0x1f,%eax
140011a41:	3c 1f                	cmp    $0x1f,%al
140011a43:	75 07                	jne    0x140011a4c
140011a45:	c6 44 24 70 00       	movb   $0x0,0x70(%rsp)
140011a4a:	eb 0f                	jmp    0x140011a5b
140011a4c:	48 8d 4c 24 68       	lea    0x68(%rsp),%rcx
140011a51:	e8 8a 31 00 00       	call   0x140014be0
140011a56:	44 88 7c 24 70       	mov    %r15b,0x70(%rsp)
140011a5b:	bb 20 00 00 00       	mov    $0x20,%ebx
140011a60:	4d 89 74 24 08       	mov    %r14,0x8(%r12)
140011a65:	66 48 0f 7e f7       	movq   %xmm6,%rdi
140011a6a:	8b c3                	mov    %ebx,%eax
140011a6c:	48 85 ff             	test   %rdi,%rdi
140011a6f:	8d 4b 0d             	lea    0xd(%rbx),%ecx
140011a72:	0f 48 c1             	cmovs  %ecx,%eax
140011a75:	83 64 24 50 00       	andl   $0x0,0x50(%rsp)
140011a7a:	45 33 c0             	xor    %r8d,%r8d
140011a7d:	41 89 04 24          	mov    %eax,(%r12)
140011a81:	33 d2                	xor    %edx,%edx
140011a83:	48 8d 4c 24 50       	lea    0x50(%rsp),%rcx
140011a88:	e8 53 30 00 00       	call   0x140014ae0
140011a8d:	48 8b c7             	mov    %rdi,%rax
140011a90:	ba ff 07 00 00       	mov    $0x7ff,%edx
140011a95:	48 c1 e8 34          	shr    $0x34,%rax
140011a99:	48 b9 ff ff ff ff ff 	movabs $0xfffffffffffff,%rcx
140011aa0:	ff 0f 00
140011aa3:	48 23 c2             	and    %rdx,%rax
140011aa6:	75 22                	jne    0x140011aca
140011aa8:	48 85 f9             	test   %rdi,%rcx
140011aab:	74 0e                	je     0x140011abb
140011aad:	f7 44 24 50 00 00 00 	testl  $0x1000000,0x50(%rsp)
140011ab4:	01
140011ab5:	0f 84 c3 00 00 00    	je     0x140011b7e
140011abb:	41 83 64 24 04 00    	andl   $0x0,0x4(%r12)
140011ac1:	4c 8d 05 84 a0 00 00 	lea    0xa084(%rip),%r8        # 0x14001bb4c
140011ac8:	eb 60                	jmp    0x140011b2a
140011aca:	48 3b c2             	cmp    %rdx,%rax
140011acd:	0f 85 ab 00 00 00    	jne    0x140011b7e
140011ad3:	48 8b c7             	mov    %rdi,%rax
140011ad6:	48 23 c1             	and    %rcx,%rax
140011ad9:	75 05                	jne    0x140011ae0
140011adb:	41 8b c7             	mov    %r15d,%eax
140011ade:	eb 2a                	jmp    0x140011b0a
140011ae0:	48 85 ff             	test   %rdi,%rdi
140011ae3:	79 16                	jns    0x140011afb
140011ae5:	48 b9 00 00 00 00 00 	movabs $0x8000000000000,%rcx
140011aec:	00 08 00
140011aef:	48 3b c1             	cmp    %rcx,%rax
140011af2:	75 07                	jne    0x140011afb
140011af4:	b8 04 00 00 00       	mov    $0x4,%eax
140011af9:	eb 0f                	jmp    0x140011b0a
140011afb:	48 8b c7             	mov    %rdi,%rax
140011afe:	48 c1 e8 33          	shr    $0x33,%rax
140011b02:	f7 d0                	not    %eax
140011b04:	41 23 c7             	and    %r15d,%eax
140011b07:	83 c8 02             	or     $0x2,%eax
140011b0a:	45 89 7c 24 04       	mov    %r15d,0x4(%r12)
140011b0f:	41 2b c7             	sub    %r15d,%eax
140011b12:	74 44                	je     0x140011b58
140011b14:	41 2b c7             	sub    %r15d,%eax
140011b17:	74 36                	je     0x140011b4f
140011b19:	41 2b c7             	sub    %r15d,%eax
140011b1c:	74 28                	je     0x140011b46
140011b1e:	41 3b c7             	cmp    %r15d,%eax
140011b21:	75 5b                	jne    0x140011b7e
140011b23:	4c 8d 05 3e a0 00 00 	lea    0xa03e(%rip),%r8        # 0x14001bb68
140011b2a:	48 8b 95 58 07 00 00 	mov    0x758(%rbp),%rdx
140011b31:	49 8b ce             	mov    %r14,%rcx
140011b34:	e8 cf 9b ff ff       	call   0x14000b708
140011b39:	85 c0                	test   %eax,%eax
140011b3b:	0f 85 04 11 00 00    	jne    0x140012c45
140011b41:	e9 c2 10 00 00       	jmp    0x140012c08
140011b46:	4c 8d 05 13 a0 00 00 	lea    0xa013(%rip),%r8        # 0x14001bb60
140011b4d:	eb db                	jmp    0x140011b2a
140011b4f:	4c 8d 05 02 a0 00 00 	lea    0xa002(%rip),%r8        # 0x14001bb58
140011b56:	eb d2                	jmp    0x140011b2a
140011b58:	48 8b 95 58 07 00 00 	mov    0x758(%rbp),%rdx
140011b5f:	4c 8d 05 ea 9f 00 00 	lea    0x9fea(%rip),%r8        # 0x14001bb50
140011b66:	49 8b ce             	mov    %r14,%rcx
140011b69:	e8 9a 9b ff ff       	call   0x14000b708
140011b6e:	85 c0                	test   %eax,%eax
140011b70:	0f 85 cf 10 00 00    	jne    0x140012c45
140011b76:	45 33 ff             	xor    %r15d,%r15d
140011b79:	e9 8a 10 00 00       	jmp    0x140012c08
140011b7e:	83 64 24 3c 00       	andl   $0x0,0x3c(%rsp)
140011b83:	48 8d 4c 24 58       	lea    0x58(%rsp),%rcx
140011b88:	48 b8 ff ff ff ff ff 	movabs $0x7fffffffffffffff,%rax
140011b8f:	ff ff 7f
140011b92:	41 be 1f 00 08 00    	mov    $0x8001f,%r14d
140011b98:	45 33 c0             	xor    %r8d,%r8d
140011b9b:	44 89 74 24 5c       	mov    %r14d,0x5c(%rsp)
140011ba0:	33 d2                	xor    %edx,%edx
140011ba2:	48 23 f8             	and    %rax,%rdi
140011ba5:	e8 36 2f 00 00       	call   0x140014ae0
140011baa:	44 8b 44 24 5c       	mov    0x5c(%rsp),%r8d
140011baf:	48 8d 4c 24 3c       	lea    0x3c(%rsp),%rcx
140011bb4:	41 8b d6             	mov    %r14d,%edx
140011bb7:	e8 24 2f 00 00       	call   0x140014ae0
140011bbc:	66 48 0f 6e c7       	movq   %rdi,%xmm0
140011bc1:	ff c6                	inc    %esi
140011bc3:	66 48 0f 7e c2       	movq   %xmm0,%rdx
140011bc8:	89 74 24 3c          	mov    %esi,0x3c(%rsp)
140011bcc:	4c 8b c2             	mov    %rdx,%r8
140011bcf:	41 b9 ff 07 00 00    	mov    $0x7ff,%r9d
140011bd5:	49 c1 e8 34          	shr    $0x34,%r8
140011bd9:	be 02 00 00 00       	mov    $0x2,%esi
140011bde:	49 8b c8             	mov    %r8,%rcx
140011be1:	49 23 c9             	and    %r9,%rcx
140011be4:	48 8b c1             	mov    %rcx,%rax
140011be7:	48 f7 d8             	neg    %rax
140011bea:	48 b8 00 00 00 00 00 	movabs $0x10000000000000,%rax
140011bf1:	00 10 00
140011bf4:	48 1b ff             	sbb    %rdi,%rdi
140011bf7:	48 23 f8             	and    %rax,%rdi
140011bfa:	48 b8 ff ff ff ff ff 	movabs $0xfffffffffffff,%rax
140011c01:	ff 0f 00
140011c04:	48 23 d0             	and    %rax,%rdx
140011c07:	48 03 fa             	add    %rdx,%rdi
140011c0a:	48 f7 d9             	neg    %rcx
140011c0d:	1b c0                	sbb    %eax,%eax
140011c0f:	45 23 c1             	and    %r9d,%r8d
140011c12:	44 8d 24 06          	lea    (%rsi,%rax,1),%r12d
140011c16:	45 03 e0             	add    %r8d,%r12d
140011c19:	44 89 64 24 30       	mov    %r12d,0x30(%rsp)
140011c1e:	e8 ed 30 00 00       	call   0x140014d10
140011c23:	e8 18 30 00 00       	call   0x140014c40
140011c28:	f2 0f 2c c8          	cvttsd2si %xmm0,%ecx
140011c2c:	89 7d 94             	mov    %edi,-0x6c(%rbp)
140011c2f:	8d 81 01 00 00 80    	lea    -0x7fffffff(%rcx),%eax
140011c35:	83 e0 fe             	and    $0xfffffffe,%eax
140011c38:	f7 d8                	neg    %eax
140011c3a:	1b c0                	sbb    %eax,%eax
140011c3c:	48 c1 ef 20          	shr    $0x20,%rdi
140011c40:	23 c1                	and    %ecx,%eax
140011c42:	89 7d 98             	mov    %edi,-0x68(%rbp)
140011c45:	89 44 24 34          	mov    %eax,0x34(%rsp)
140011c49:	8b c7                	mov    %edi,%eax
140011c4b:	f7 d8                	neg    %eax
140011c4d:	1b d2                	sbb    %edx,%edx
140011c4f:	f7 da                	neg    %edx
140011c51:	41 03 d7             	add    %r15d,%edx
140011c54:	89 55 90             	mov    %edx,-0x70(%rbp)
140011c57:	41 81 fc 34 04 00 00 	cmp    $0x434,%r12d
140011c5e:	0f 82 89 02 00 00    	jb     0x140011eed
140011c64:	33 c0                	xor    %eax,%eax
140011c66:	c7 85 38 03 00 00 00 	movl   $0x100000,0x338(%rbp)
140011c6d:	00 10 00
140011c70:	89 85 34 03 00 00    	mov    %eax,0x334(%rbp)
140011c76:	89 b5 30 03 00 00    	mov    %esi,0x330(%rbp)
140011c7c:	85 ff                	test   %edi,%edi
140011c7e:	0f 84 51 01 00 00    	je     0x140011dd5
140011c84:	45 33 c0             	xor    %r8d,%r8d
140011c87:	42 8b 44 85 94       	mov    -0x6c(%rbp,%r8,4),%eax
140011c8c:	42 39 84 85 34 03 00 	cmp    %eax,0x334(%rbp,%r8,4)
140011c93:	00
140011c94:	0f 85 3b 01 00 00    	jne    0x140011dd5
140011c9a:	45 03 c7             	add    %r15d,%r8d
140011c9d:	44 3b c6             	cmp    %esi,%r8d
140011ca0:	75 e5                	jne    0x140011c87
140011ca2:	83 64 24 40 00       	andl   $0x0,0x40(%rsp)
140011ca7:	45 8d 9c 24 ce fb ff 	lea    -0x432(%r12),%r11d
140011cae:	ff
140011caf:	45 8b c3             	mov    %r11d,%r8d
140011cb2:	8b f3                	mov    %ebx,%esi
140011cb4:	41 83 e3 1f          	and    $0x1f,%r11d
140011cb8:	41 c1 e8 05          	shr    $0x5,%r8d
140011cbc:	41 2b f3             	sub    %r11d,%esi
140011cbf:	49 8b ff             	mov    %r15,%rdi
140011cc2:	8b ce                	mov    %esi,%ecx
140011cc4:	48 d3 e7             	shl    %cl,%rdi
140011cc7:	41 2b ff             	sub    %r15d,%edi
140011cca:	8b c7                	mov    %edi,%eax
140011ccc:	f7 d0                	not    %eax
140011cce:	89 44 24 30          	mov    %eax,0x30(%rsp)
140011cd2:	8d 42 ff             	lea    -0x1(%rdx),%eax
140011cd5:	0f bd 4c 85 94       	bsr    -0x6c(%rbp,%rax,4),%ecx
140011cda:	74 04                	je     0x140011ce0
140011cdc:	ff c1                	inc    %ecx
140011cde:	eb 02                	jmp    0x140011ce2
140011ce0:	33 c9                	xor    %ecx,%ecx
140011ce2:	42 8d 04 02          	lea    (%rdx,%r8,1),%eax
140011ce6:	41 bc cc 01 00 00    	mov    $0x1cc,%r12d
140011cec:	83 f8 73             	cmp    $0x73,%eax
140011cef:	76 2a                	jbe    0x140011d1b
140011cf1:	83 a5 30 03 00 00 00 	andl   $0x0,0x330(%rbp)
140011cf8:	4c 8d 85 34 03 00 00 	lea    0x334(%rbp),%r8
140011cff:	83 65 90 00          	andl   $0x0,-0x70(%rbp)
140011d03:	48 8d 4d 94          	lea    -0x6c(%rbp),%rcx
140011d07:	45 33 c9             	xor    %r9d,%r9d
140011d0a:	49 8b d4             	mov    %r12,%rdx
140011d0d:	e8 4a 0f 00 00       	call   0x140012c5c
140011d12:	44 8b 75 90          	mov    -0x70(%rbp),%r14d
140011d16:	e9 90 00 00 00       	jmp    0x140011dab
140011d1b:	45 33 f6             	xor    %r14d,%r14d
140011d1e:	2b d9                	sub    %ecx,%ebx
140011d20:	44 3b db             	cmp    %ebx,%r11d
140011d23:	41 0f 97 c6          	seta   %r14b
140011d27:	44 03 f2             	add    %edx,%r14d
140011d2a:	45 03 f0             	add    %r8d,%r14d
140011d2d:	41 83 fe 73          	cmp    $0x73,%r14d
140011d31:	77 be                	ja     0x140011cf1
140011d33:	41 8d 58 ff          	lea    -0x1(%r8),%ebx
140011d37:	45 8d 4e ff          	lea    -0x1(%r14),%r9d
140011d3b:	44 3b cb             	cmp    %ebx,%r9d
140011d3e:	74 53                	je     0x140011d93