1408200ed:	48 0f af f8          	imul   %rax,%rdi
1408200f1:	48 d3 e7             	shl    %cl,%rdi
1408200f4:	48 d3 ef             	shr    %cl,%rdi
1408200f7:	8b 4d a8             	mov    -0x58(%rbp),%ecx
1408200fa:	8b 44 24 50          	mov    0x50(%rsp),%eax
1408200fe:	3b f8                	cmp    %eax,%edi
140820100:	0f 8f a2 00 00 00    	jg     0x1408201a8
140820106:	ff c0                	inc    %eax
140820108:	8b f7                	mov    %edi,%esi
14082010a:	3b f8                	cmp    %eax,%edi
14082010c:	0f 8d 8c 00 00 00    	jge    0x14082019e
140820112:	4c 63 f7             	movslq %edi,%r14
140820115:	49 8b de             	mov    %r14,%rbx
140820118:	48 c1 e3 05          	shl    $0x5,%rbx
14082011c:	48 83 c3 18          	add    $0x18,%rbx
140820120:	49 03 df             	add    %r15,%rbx
140820123:	8b 54 24 50          	mov    0x50(%rsp),%edx
140820127:	66 0f 1f 84 00 00 00 	nopw   0x0(%rax,%rax,1)
14082012e:	00 00
140820130:	0f b7 43 e8          	movzwl -0x18(%rbx),%eax
140820134:	66 41 3b c2          	cmp    %r10w,%ax
140820138:	74 57                	je     0x140820191
14082013a:	8b ce                	mov    %esi,%ecx
14082013c:	2b c8                	sub    %eax,%ecx
14082013e:	3b cf                	cmp    %edi,%ecx
140820140:	7f 4f                	jg     0x140820191
140820142:	75 3a                	jne    0x14082017e
140820144:	8b 43 f0             	mov    -0x10(%rbx),%eax
140820147:	49 33 c4             	xor    %r12,%rax
14082014a:	8b c0                	mov    %eax,%eax
14082014c:	48 85 c0             	test   %rax,%rax
14082014f:	75 2d                	jne    0x14082017e
140820151:	8b 43 ec             	mov    -0x14(%rbx),%eax
140820154:	41 3b c5             	cmp    %r13d,%eax
140820157:	75 25                	jne    0x14082017e
140820159:	83 f8 08             	cmp    $0x8,%eax
14082015c:	48 8b cb             	mov    %rbx,%rcx
14082015f:	76 03                	jbe    0x140820164
140820161:	48 8b 0b             	mov    (%rbx),%rcx
140820164:	4c 8b c0             	mov    %rax,%r8
140820167:	48 8b 55 a0          	mov    -0x60(%rbp),%rdx
14082016b:	e8 e0 f8 6b 00       	call   0x140edfa50
140820170:	85 c0                	test   %eax,%eax
140820172:	74 64                	je     0x1408201d8
140820174:	8b 54 24 50          	mov    0x50(%rsp),%edx
140820178:	41 ba ff ff 00 00    	mov    $0xffff,%r10d
14082017e:	ff c6                	inc    %esi
140820180:	49 ff c6             	inc    %r14
140820183:	48 83 c3 20          	add    $0x20,%rbx
140820187:	8d 42 01             	lea    0x1(%rdx),%eax
14082018a:	48 98                	cltq
14082018c:	4c 3b f0             	cmp    %rax,%r14
14082018f:	7c 9f                	jl     0x140820130
140820191:	8b 95 d8 00 00 00    	mov    0xd8(%rbp),%edx
140820197:	44 8b 85 d0 00 00 00 	mov    0xd0(%rbp),%r8d
14082019e:	c7 45 f8 ff ff ff ff 	movl   $0xffffffff,-0x8(%rbp)
1408201a5:	8b 4d a8             	mov    -0x58(%rbp),%ecx
1408201a8:	41 ff c0             	inc    %r8d
1408201ab:	44 89 85 d0 00 00 00 	mov    %r8d,0xd0(%rbp)
1408201b2:	ff ca                	dec    %edx
1408201b4:	89 95 d8 00 00 00    	mov    %edx,0xd8(%rbp)
1408201ba:	ff c1                	inc    %ecx
1408201bc:	89 4d a8             	mov    %ecx,-0x58(%rbp)
1408201bf:	0f b7 44 24 40       	movzwl 0x40(%rsp),%eax
1408201c4:	44 3b c0             	cmp    %eax,%r8d
1408201c7:	0f 8f 39 01 00 00    	jg     0x140820306
1408201cd:	41 ba ff ff 00 00    	mov    $0xffff,%r10d
1408201d3:	e9 e8 fe ff ff       	jmp    0x1408200c0
1408201d8:	89 75 f8             	mov    %esi,-0x8(%rbp)
1408201db:	85 f6                	test   %esi,%esi
1408201dd:	79 0f                	jns    0x1408201ee
1408201df:	8b 95 d8 00 00 00    	mov    0xd8(%rbp),%edx
1408201e5:	44 8b 85 d0 00 00 00 	mov    0xd0(%rbp),%r8d
1408201ec:	eb b7                	jmp    0x1408201a5
1408201ee:	0f b7 44 24 4c       	movzwl 0x4c(%rsp),%eax
1408201f3:	66 85 c0             	test   %ax,%ax
1408201f6:	75 1c                	jne    0x140820214
1408201f8:	4c 8d 45 f8          	lea    -0x8(%rbp),%r8
1408201fc:	8b d6                	mov    %esi,%edx
1408201fe:	48 8d 4c 24 40       	lea    0x40(%rsp),%rcx
140820203:	e8 08 aa d5 ff       	call   0x14057ac10
140820208:	4c 8b 7d 80          	mov    -0x80(%rbp),%r15
14082020c:	0f b7 44 24 4c       	movzwl 0x4c(%rsp),%eax
140820211:	8b 75 f8             	mov    -0x8(%rbp),%esi
140820214:	8b 8d c8 00 00 00    	mov    0xc8(%rbp),%ecx
14082021a:	89 8d c8 00 00 00    	mov    %ecx,0xc8(%rbp)
140820220:	44 8b 75 b8          	mov    -0x48(%rbp),%r14d
140820224:	85 f6                	test   %esi,%esi
140820226:	0f 88 e3 00 00 00    	js     0x14082030f
14082022c:	48 c1 e6 05          	shl    $0x5,%rsi
140820230:	48 8d 45 ac          	lea    -0x54(%rbp),%rax
140820234:	4a 89 44 3e 10       	mov    %rax,0x10(%rsi,%r15,1)
140820239:	48 8b 4d a0          	mov    -0x60(%rbp),%rcx
14082023d:	e8 02 af 5f 00       	call   0x140e1b144
140820242:	4c 8b 75 88          	mov    -0x78(%rbp),%r14
140820246:	4d 85 f6             	test   %r14,%r14
140820249:	0f 84 a7 00 00 00    	je     0x1408202f6
14082024f:	4d 8b 7e 08          	mov    0x8(%r14),%r15
140820253:	4d 8b 36             	mov    (%r14),%r14
140820256:	4d 3b f7             	cmp    %r15,%r14
140820259:	0f 84 97 00 00 00    	je     0x1408202f6
14082025f:	48 8b 7d 80          	mov    -0x80(%rbp),%rdi
140820263:	0f 1f 40 00          	nopl   0x0(%rax)
140820267:	66 0f 1f 84 00 00 00 	nopw   0x0(%rax,%rax,1)
14082026e:	00 00
140820270:	49 8b 1e             	mov    (%r14),%rbx
140820273:	8b 44 3e 08          	mov    0x8(%rsi,%rdi,1),%eax
140820277:	8b 4c 3e 04          	mov    0x4(%rsi,%rdi,1),%ecx
14082027b:	48 8d 57 18          	lea    0x18(%rdi),%rdx
14082027f:	48 03 d6             	add    %rsi,%rdx
140820282:	83 f9 08             	cmp    $0x8,%ecx
140820285:	76 03                	jbe    0x14082028a
140820287:	48 8b 12             	mov    (%rdx),%rdx
14082028a:	39 43 18             	cmp    %eax,0x18(%rbx)
14082028d:	75 2b                	jne    0x1408202ba
14082028f:	8b 43 14             	mov    0x14(%rbx),%eax
140820292:	3b c1                	cmp    %ecx,%eax
140820294:	75 24                	jne    0x1408202ba
140820296:	48 8d 4b 28          	lea    0x28(%rbx),%rcx
14082029a:	83 f8 08             	cmp    $0x8,%eax
14082029d:	76 03                	jbe    0x1408202a2
14082029f:	48 8b 09             	mov    (%rcx),%rcx
1408202a2:	4c 8b c0             	mov    %rax,%r8
1408202a5:	e8 a6 f7 6b 00       	call   0x140edfa50
1408202aa:	85 c0                	test   %eax,%eax
1408202ac:	75 0c                	jne    0x1408202ba
1408202ae:	48 8d 45 ac          	lea    -0x54(%rbp),%rax
1408202b2:	48 89 43 20          	mov    %rax,0x20(%rbx)
1408202b6:	48 8b 7d 80          	mov    -0x80(%rbp),%rdi
1408202ba:	4c 8d 04 3e          	lea    (%rsi,%rdi,1),%r8
1408202be:	48 8b 0b             	mov    (%rbx),%rcx
1408202c1:	48 8b 59 08          	mov    0x8(%rcx),%rbx
1408202c5:	48 8b d3             	mov    %rbx,%rdx
1408202c8:	48 8b 09             	mov    (%rcx),%rcx
1408202cb:	e8 a0 83 d5 ff       	call   0x140578670
1408202d0:	48 3b c3             	cmp    %rbx,%rax
1408202d3:	74 0c                	je     0x1408202e1
1408202d5:	48 8d 4d ac          	lea    -0x54(%rbp),%rcx
1408202d9:	48 89 48 10          	mov    %rcx,0x10(%rax)
1408202dd:	48 8b 7d 80          	mov    -0x80(%rbp),%rdi
1408202e1:	49 83 c6 08          	add    $0x8,%r14
1408202e5:	4d 3b f7             	cmp    %r15,%r14
1408202e8:	75 86                	jne    0x140820270
1408202ea:	8b 5c 24 50          	mov    0x50(%rsp),%ebx
1408202ee:	45 33 ed             	xor    %r13d,%r13d
1408202f1:	e9 91 07 00 00       	jmp    0x140820a87
1408202f6:	48 8b 7d 80          	mov    -0x80(%rbp),%rdi
1408202fa:	8b 5c 24 50          	mov    0x50(%rsp),%ebx
1408202fe:	45 33 ed             	xor    %r13d,%r13d
140820301:	e9 81 07 00 00       	jmp    0x140820a87
140820306:	44 8b 75 b8          	mov    -0x48(%rbp),%r14d
14082030a:	0f b7 44 24 4c       	movzwl 0x4c(%rsp),%eax
14082030f:	66 85 c0             	test   %ax,%ax
140820312:	74 37                	je     0x14082034b
140820314:	48 8b 55 88          	mov    -0x78(%rbp),%rdx
140820318:	48 85 d2             	test   %rdx,%rdx
14082031b:	74 0d                	je     0x14082032a
14082031d:	48 8b 4a 08          	mov    0x8(%rdx),%rcx
140820321:	48 2b 0a             	sub    (%rdx),%rcx
140820324:	48 c1 f9 03          	sar    $0x3,%rcx
140820328:	eb 02                	jmp    0x14082032c
14082032a:	33 c9                	xor    %ecx,%ecx
14082032c:	0f b7 c0             	movzwl %ax,%eax
14082032f:	48 3b c8             	cmp    %rax,%rcx
140820332:	74 17                	je     0x14082034b
140820334:	48 8d 15 0d 01 7f 00 	lea    0x7f010d(%rip),%rdx        # 0x141010448
14082033b:	48 8b 0d b6 11 c1 00 	mov    0xc111b6(%rip),%rcx        # 0x1414314f8
140820342:	e8 59 39 f7 ff       	call   0x140793ca0
140820347:	4c 8b 7d 80          	mov    -0x80(%rbp),%r15
14082034b:	48 8b 7d 90          	mov    -0x70(%rbp),%rdi
14082034f:	48 8b 5d a0          	mov    -0x60(%rbp),%rbx
140820353:	48 85 ff             	test   %rdi,%rdi
140820356:	74 48                	je     0x1408203a0
140820358:	4d 8b cc             	mov    %r12,%r9
14082035b:	4d 8b c5             	mov    %r13,%r8
14082035e:	48 8b d3             	mov    %rbx,%rdx
140820361:	48 8d 4d 08          	lea    0x8(%rbp),%rcx
140820365:	e8 46 17 f8 ff       	call   0x1407a1ab0
14082036a:	90                   	nop
14082036b:	48 8b 4f 08          	mov    0x8(%rdi),%rcx
14082036f:	48 3b 4f 10          	cmp    0x10(%rdi),%rcx
140820373:	74 0f                	je     0x140820384
140820375:	48 8b d0             	mov    %rax,%rdx
140820378:	e8 63 16 f8 ff       	call   0x1407a19e0
14082037d:	48 83 47 08 38       	addq   $0x38,0x8(%rdi)
140820382:	eb 0f                	jmp    0x140820393
140820384:	4c 8b c0             	mov    %rax,%r8
140820387:	48 8b d1             	mov    %rcx,%rdx
14082038a:	48 8b cf             	mov    %rdi,%rcx
14082038d:	e8 4e 80 d5 ff       	call   0x1405783e0
140820392:	90                   	nop
140820393:	48 8d 4d 08          	lea    0x8(%rbp),%rcx
140820397:	e8 f4 17 f8 ff       	call   0x1407a1b90
14082039c:	4c 8b 7d 80          	mov    -0x80(%rbp),%r15
1408203a0:	66 44 89 75 c0       	mov    %r14w,-0x40(%rbp)
1408203a5:	44 89 6d c4          	mov    %r13d,-0x3c(%rbp)
1408203a9:	44 89 65 c8          	mov    %r12d,-0x38(%rbp)
1408203ad:	48 8d 45 ac          	lea    -0x54(%rbp),%rax
1408203b1:	48 89 45 d0          	mov    %rax,-0x30(%rbp)
1408203b5:	48 85 db             	test   %rbx,%rbx
1408203b8:	74 27                	je     0x1408203e1
1408203ba:	41 83 fd 08          	cmp    $0x8,%r13d
1408203be:	77 1d                	ja     0x1408203dd
1408203c0:	45 8b c5             	mov    %r13d,%r8d
1408203c3:	48 8b d3             	mov    %rbx,%rdx
1408203c6:	48 8d 4d d8          	lea    -0x28(%rbp),%rcx
1408203ca:	e8 41 ec 6b 00       	call   0x140edf010
1408203cf:	48 8b cb             	mov    %rbx,%rcx
1408203d2:	e8 6d ad 5f 00       	call   0x140e1b144
1408203d7:	4c 8b 7d 80          	mov    -0x80(%rbp),%r15
1408203db:	eb 04                	jmp    0x1408203e1
1408203dd:	48 89 5d d8          	mov    %rbx,-0x28(%rbp)
1408203e1:	44 8b b5 c8 00 00 00 	mov    0xc8(%rbp),%r14d
1408203e8:	41 8b fe             	mov    %r14d,%edi
1408203eb:	44 89 b5 d8 00 00 00 	mov    %r14d,0xd8(%rbp)
1408203f2:	0f 10 7d d0          	movups -0x30(%rbp),%xmm7
1408203f6:	0f 10 75 c0          	movups -0x40(%rbp),%xmm6
1408203fa:	41 bc ff ff 00 00    	mov    $0xffff,%r12d
140820400:	45 33 ed             	xor    %r13d,%r13d
140820403:	0f 1f 40 00          	nopl   0x0(%rax)
140820407:	66 0f 1f 84 00 00 00 	nopw   0x0(%rax,%rax,1)
14082040e:	00 00
140820410:	41 8b c5             	mov    %r13d,%eax
140820413:	8b 4c 24 44          	mov    0x44(%rsp),%ecx
140820417:	4d 85 ff             	test   %r15,%r15
14082041a:	0f 45 c1             	cmovne %ecx,%eax
14082041d:	3b f8                	cmp    %eax,%edi
14082041f:	0f 8d b2 00 00 00    	jge    0x1408204d7
140820425:	48 63 d7             	movslq %edi,%rdx
140820428:	4c 8b d2             	mov    %rdx,%r10
14082042b:	49 c1 e2 05          	shl    $0x5,%r10
14082042f:	4d 03 d7             	add    %r15,%r10
140820432:	41 0f b7 02          	movzwl (%r10),%eax
140820436:	66 41 3b c4          	cmp    %r12w,%ax
14082043a:	0f 84 89 00 00 00    	je     0x1408204c9
140820440:	41 0f 10 02          	movups (%r10),%xmm0
140820444:	0f 11 45 08          	movups %xmm0,0x8(%rbp)
140820448:	41 0f 10 4a 10       	movups 0x10(%r10),%xmm1
14082044d:	44 8b df             	mov    %edi,%r11d
140820450:	44 2b d8             	sub    %eax,%r11d
140820453:	44 8b c7             	mov    %edi,%r8d
140820456:	41 8b c5             	mov    %r13d,%eax
140820459:	4d 85 ff             	test   %r15,%r15
14082045c:	0f 45 c1             	cmovne %ecx,%eax
14082045f:	48 63 d8             	movslq %eax,%rbx
140820462:	48 3b d3             	cmp    %rbx,%rdx
140820465:	7d 2c                	jge    0x140820493
140820467:	4d 8b ca             	mov    %r10,%r9
14082046a:	66 0f 1f 44 00 00    	nopw   0x0(%rax,%rax,1)
140820470:	41 0f b7 01          	movzwl (%r9),%eax
140820474:	66 41 3b c4          	cmp    %r12w,%ax
140820478:	74 19                	je     0x140820493
14082047a:	41 8b c8             	mov    %r8d,%ecx
14082047d:	2b c8                	sub    %eax,%ecx
14082047f:	41 3b cb             	cmp    %r11d,%ecx
140820482:	75 0f                	jne    0x140820493
140820484:	41 ff c0             	inc    %r8d
140820487:	48 ff c2             	inc    %rdx
14082048a:	49 83 c1 20          	add    $0x20,%r9
14082048e:	48 3b d3             	cmp    %rbx,%rdx
140820491:	7c dd                	jl     0x140820470
140820493:	41 0f b7 c0          	movzwl %r8w,%eax
140820497:	66 2b c7             	sub    %di,%ax
14082049a:	66 01 45 08          	add    %ax,0x8(%rbp)
14082049e:	41 0f 11 32          	movups %xmm6,(%r10)
1408204a2:	41 0f 11 7a 10       	movups %xmm7,0x10(%r10)
1408204a7:	0f 10 75 08          	movups 0x8(%rbp),%xmm6
1408204ab:	0f 11 75 c0          	movups %xmm6,-0x40(%rbp)
1408204af:	0f 10 f9             	movups %xmm1,%xmm7
1408204b2:	0f 11 4d d0          	movups %xmm1,-0x30(%rbp)
1408204b6:	41 8b f8             	mov    %r8d,%edi
1408204b9:	44 89 85 d8 00 00 00 	mov    %r8d,0xd8(%rbp)
1408204c0:	4c 8b 7d 80          	mov    -0x80(%rbp),%r15
1408204c4:	e9 47 ff ff ff       	jmp    0x140820410
1408204c9:	41 0f 11 32          	movups %xmm6,(%r10)
1408204cd:	41 0f 11 7a 10       	movups %xmm7,0x10(%r10)
1408204d2:	e9 9f 00 00 00       	jmp    0x140820576
1408204d7:	41 8b f5             	mov    %r13d,%esi
1408204da:	4d 85 ff             	test   %r15,%r15
1408204dd:	0f 45 74 24 44       	cmovne 0x44(%rsp),%esi
1408204e2:	0f b7 44 24 42       	movzwl 0x42(%rsp),%eax
1408204e7:	ff c0                	inc    %eax
1408204e9:	0f b7 c8             	movzwl %ax,%ecx
1408204ec:	66 89 4c 24 42       	mov    %cx,0x42(%rsp)
1408204f1:	ba 01 00 00 00       	mov    $0x1,%edx
1408204f6:	d3 e2                	shl    %cl,%edx
1408204f8:	89 54 24 48          	mov    %edx,0x48(%rsp)
1408204fc:	03 ca                	add    %edx,%ecx
1408204fe:	89 4c 24 44          	mov    %ecx,0x44(%rsp)
140820502:	41 8b c5             	mov    %r13d,%eax
140820505:	4d 85 ff             	test   %r15,%r15
140820508:	0f 45 c1             	cmovne %ecx,%eax
14082050b:	48 63 d8             	movslq %eax,%rbx
14082050e:	48 8b d3             	mov    %rbx,%rdx
140820511:	48 c1 e2 05          	shl    $0x5,%rdx
140820515:	49 8b cf             	mov    %r15,%rcx
140820518:	e8 8b 0c 61 00       	call   0x140e311a8
14082051d:	48 8b d0             	mov    %rax,%rdx
140820520:	48 89 45 80          	mov    %rax,-0x80(%rbp)
140820524:	48 63 c6             	movslq %esi,%rax
140820527:	48 3b c3             	cmp    %rbx,%rax
14082052a:	7d 27                	jge    0x140820553
14082052c:	48 8b c8             	mov    %rax,%rcx
14082052f:	48 c1 e1 05          	shl    $0x5,%rcx
140820533:	48 2b d8             	sub    %rax,%rbx
140820536:	66 66 0f 1f 84 00 00 	data16 nopw 0x0(%rax,%rax,1)
14082053d:	00 00 00
140820540:	66 44 89 24 0a       	mov    %r12w,(%rdx,%rcx,1)
140820545:	48 8d 49 20          	lea    0x20(%rcx),%rcx
140820549:	48 83 eb 01          	sub    $0x1,%rbx
14082054d:	48 8b 55 80          	mov    -0x80(%rbp),%rdx
140820551:	75 ed                	jne    0x140820540
140820553:	89 74 24 50          	mov    %esi,0x50(%rsp)
140820557:	66 ff 44 24 40       	incw   0x40(%rsp)
14082055c:	4c 89 6c 24 70       	mov    %r13,0x70(%rsp)
140820561:	44 89 6c 24 68       	mov    %r13d,0x68(%rsp)
140820566:	48 63 c7             	movslq %edi,%rax
140820569:	48 c1 e0 05          	shl    $0x5,%rax
14082056d:	0f 11 34 10          	movups %xmm6,(%rax,%rdx,1)
140820571:	0f 11 7c 10 10       	movups %xmm7,0x10(%rax,%rdx,1)
140820576:	8b c7                	mov    %edi,%eax
140820578:	41 2b c6             	sub    %r14d,%eax
14082057b:	48 63 c8             	movslq %eax,%rcx
14082057e:	4c 8b 54 24 70       	mov    0x70(%rsp),%r10
140820583:	4c 03 d1             	add    %rcx,%r10
140820586:	4c 89 54 24 70       	mov    %r10,0x70(%rsp)
14082058b:	44 8b 4c 24 68       	mov    0x68(%rsp),%r9d
140820590:	41 ff c1             	inc    %r9d
140820593:	44 89 4c 24 68       	mov    %r9d,0x68(%rsp)
140820598:	8b 5c 24 50          	mov    0x50(%rsp),%ebx
14082059c:	85 db                	test   %ebx,%ebx
14082059e:	78 0e                	js     0x1408205ae
1408205a0:	44 3b f3             	cmp    %ebx,%r14d
1408205a3:	7f 09                	jg     0x1408205ae
1408205a5:	3b df                	cmp    %edi,%ebx
1408205a7:	0f 4c df             	cmovl  %edi,%ebx
1408205aa:	89 5c 24 50          	mov    %ebx,0x50(%rsp)
1408205ae:	48 8b 45 88          	mov    -0x78(%rbp),%rax
1408205b2:	48 85 c0             	test   %rax,%rax
1408205b5:	0f 84 22 03 00 00    	je     0x1408208dd
1408205bb:	48 8b 48 08          	mov    0x8(%rax),%rcx
1408205bf:	48 89 4d f8          	mov    %rcx,-0x8(%rbp)
1408205c3:	48 8b 00             	mov    (%rax),%rax
1408205c6:	48 89 45 b8          	mov    %rax,-0x48(%rbp)
1408205ca:	48 3b c1             	cmp    %rcx,%rax
1408205cd:	0f 84 0a 03 00 00    	je     0x1408208dd
1408205d3:	66 0f 6f c7          	movdqa %xmm7,%xmm0
1408205d7:	66 0f 73 d8 08       	psrldq $0x8,%xmm0
1408205dc:	66 49 0f 7e c7       	movq   %xmm0,%r15
1408205e1:	66 0f 6f ce          	movdqa %xmm6,%xmm1