469399:	3b c6                	cmp    %esi,%eax
46939b:	73 02                	jae    0x46939f
46939d:	8b f0                	mov    %eax,%esi
46939f:	8d 14 71             	lea    (%ecx,%esi,2),%edx
4693a2:	33 ff                	xor    %edi,%edi
4693a4:	8b c1                	mov    %ecx,%eax
4693a6:	3b ca                	cmp    %edx,%ecx
4693a8:	74 0c                	je     0x4693b6
4693aa:	66 39 38             	cmp    %di,(%eax)
4693ad:	74 07                	je     0x4693b6
4693af:	83 c0 02             	add    $0x2,%eax
4693b2:	3b c2                	cmp    %edx,%eax
4693b4:	75 f4                	jne    0x4693aa
4693b6:	2b c1                	sub    %ecx,%eax
4693b8:	d1 f8                	sar    $1,%eax
4693ba:	3b c6                	cmp    %esi,%eax
4693bc:	75 4b                	jne    0x469409
4693be:	8d 14 41             	lea    (%ecx,%eax,2),%edx
4693c1:	66 0f ef c9          	pxor   %xmm1,%xmm1
4693c5:	8b 4d 0c             	mov    0xc(%ebp),%ecx
4693c8:	2b ce                	sub    %esi,%ecx
4693ca:	8b c1                	mov    %ecx,%eax
4693cc:	83 e0 0f             	and    $0xf,%eax
4693cf:	2b c8                	sub    %eax,%ecx
4693d1:	8d 0c 4a             	lea    (%edx,%ecx,2),%ecx
4693d4:	eb 12                	jmp    0x4693e8
4693d6:	0f 28 c1             	movaps %xmm1,%xmm0
4693d9:	66 0f 75 02          	pcmpeqw (%edx),%xmm0
4693dd:	66 0f d7 c0          	pmovmskb %xmm0,%eax
4693e1:	85 c0                	test   %eax,%eax
4693e3:	75 07                	jne    0x4693ec
4693e5:	83 c2 10             	add    $0x10,%edx
4693e8:	3b d1                	cmp    %ecx,%edx
4693ea:	75 ea                	jne    0x4693d6
4693ec:	8b 45 08             	mov    0x8(%ebp),%eax
4693ef:	8b 4d 0c             	mov    0xc(%ebp),%ecx
4693f2:	8d 0c 48             	lea    (%eax,%ecx,2),%ecx
4693f5:	eb 08                	jmp    0x4693ff
4693f7:	66 39 3a             	cmp    %di,(%edx)
4693fa:	74 07                	je     0x469403
4693fc:	83 c2 02             	add    $0x2,%edx
4693ff:	3b d1                	cmp    %ecx,%edx
469401:	75 f4                	jne    0x4693f7
469403:	2b d0                	sub    %eax,%edx
469405:	d1 fa                	sar    $1,%edx
469407:	8b c2                	mov    %edx,%eax
469409:	5e                   	pop    %esi
46940a:	5f                   	pop    %edi
46940b:	5d                   	pop    %ebp
46940c:	c3                   	ret
46940d:	32 c0                	xor    %al,%al
46940f:	c3                   	ret
469410:	8b ff                	mov    %edi,%edi
469412:	55                   	push   %ebp
469413:	8b ec                	mov    %esp,%ebp
469415:	8b 4d 08             	mov    0x8(%ebp),%ecx
469418:	33 c0                	xor    %eax,%eax
46941a:	3b 4d 0c             	cmp    0xc(%ebp),%ecx
46941d:	0f 94 c0             	sete   %al
469420:	5d                   	pop    %ebp
469421:	c3                   	ret
469422:	c5 f8 77             	vzeroupper
469425:	c3                   	ret
469426:	c3                   	ret
469427:	c5 fd 74 c1          	vpcmpeqb %ymm1,%ymm0,%ymm0
46942b:	c3                   	ret
46942c:	c5 fd 75 c1          	vpcmpeqw %ymm1,%ymm0,%ymm0
469430:	c3                   	ret
469431:	66 0f 74 c1          	pcmpeqb %xmm1,%xmm0
469435:	c3                   	ret
469436:	66 0f 75 c1          	pcmpeqw %xmm1,%xmm0
46943a:	c3                   	ret
46943b:	c5 fd d7 c0          	vpmovmskb %ymm0,%eax
46943f:	c3                   	ret
469440:	66 0f d7 c0          	pmovmskb %xmm0,%eax
469444:	c3                   	ret
469445:	c5 fc 57 c0          	vxorps %ymm0,%ymm0,%ymm0
469449:	c3                   	ret
46944a:	66 0f ef c0          	pxor   %xmm0,%xmm0
46944e:	c3                   	ret
46944f:	8b ff                	mov    %edi,%edi
469451:	55                   	push   %ebp
469452:	8b ec                	mov    %esp,%ebp
469454:	a1 dc af 4b 00       	mov    0x4bafdc,%eax
469459:	56                   	push   %esi
46945a:	57                   	push   %edi
46945b:	83 f8 05             	cmp    $0x5,%eax
46945e:	7c 7c                	jl     0x4694dc
469460:	8b 75 08             	mov    0x8(%ebp),%esi
469463:	8b d6                	mov    %esi,%edx
469465:	83 e2 1f             	and    $0x1f,%edx
469468:	6a 20                	push   $0x20
46946a:	58                   	pop    %eax
46946b:	2b c2                	sub    %edx,%eax
46946d:	f7 da                	neg    %edx
46946f:	1b d2                	sbb    %edx,%edx
469471:	23 d0                	and    %eax,%edx
469473:	8b 45 0c             	mov    0xc(%ebp),%eax
469476:	3b c2                	cmp    %edx,%eax
469478:	73 02                	jae    0x46947c
46947a:	8b d0                	mov    %eax,%edx
46947c:	8d 3c 32             	lea    (%edx,%esi,1),%edi
46947f:	8b ce                	mov    %esi,%ecx
469481:	3b f7                	cmp    %edi,%esi
469483:	74 0a                	je     0x46948f
469485:	80 39 00             	cmpb   $0x0,(%ecx)
469488:	74 05                	je     0x46948f
46948a:	41                   	inc    %ecx
46948b:	3b cf                	cmp    %edi,%ecx
46948d:	75 f6                	jne    0x469485
46948f:	2b ce                	sub    %esi,%ecx
469491:	3b ca                	cmp    %edx,%ecx
469493:	0f 85 d7 00 00 00    	jne    0x469570
469499:	8b f8                	mov    %eax,%edi
46949b:	03 ce                	add    %esi,%ecx
46949d:	2b fa                	sub    %edx,%edi
46949f:	8b c7                	mov    %edi,%eax
4694a1:	83 e0 1f             	and    $0x1f,%eax
4694a4:	2b f8                	sub    %eax,%edi
4694a6:	c5 f4 57 c9          	vxorps %ymm1,%ymm1,%ymm1
4694aa:	03 f9                	add    %ecx,%edi
4694ac:	eb 0f                	jmp    0x4694bd
4694ae:	c5 f5 74 01          	vpcmpeqb (%ecx),%ymm1,%ymm0
4694b2:	c5 fd d7 c0          	vpmovmskb %ymm0,%eax
4694b6:	85 c0                	test   %eax,%eax
4694b8:	75 07                	jne    0x4694c1
4694ba:	83 c1 20             	add    $0x20,%ecx
4694bd:	3b cf                	cmp    %edi,%ecx
4694bf:	75 ed                	jne    0x4694ae
4694c1:	8b 45 0c             	mov    0xc(%ebp),%eax
4694c4:	03 c6                	add    %esi,%eax
4694c6:	eb 06                	jmp    0x4694ce
4694c8:	80 39 00             	cmpb   $0x0,(%ecx)
4694cb:	74 05                	je     0x4694d2
4694cd:	41                   	inc    %ecx
4694ce:	3b c8                	cmp    %eax,%ecx
4694d0:	75 f6                	jne    0x4694c8
4694d2:	2b ce                	sub    %esi,%ecx
4694d4:	c5 f8 77             	vzeroupper
4694d7:	e9 94 00 00 00       	jmp    0x469570
4694dc:	83 f8 01             	cmp    $0x1,%eax
4694df:	7c 75                	jl     0x469556
4694e1:	8b 75 08             	mov    0x8(%ebp),%esi
4694e4:	8b d6                	mov    %esi,%edx
4694e6:	83 e2 0f             	and    $0xf,%edx
4694e9:	6a 10                	push   $0x10
4694eb:	58                   	pop    %eax
4694ec:	2b c2                	sub    %edx,%eax
4694ee:	f7 da                	neg    %edx
4694f0:	1b d2                	sbb    %edx,%edx
4694f2:	23 d0                	and    %eax,%edx
4694f4:	8b 45 0c             	mov    0xc(%ebp),%eax
4694f7:	3b c2                	cmp    %edx,%eax
4694f9:	73 02                	jae    0x4694fd
4694fb:	8b d0                	mov    %eax,%edx
4694fd:	8d 3c 32             	lea    (%edx,%esi,1),%edi
469500:	8b ce                	mov    %esi,%ecx
469502:	3b f7                	cmp    %edi,%esi
469504:	74 0a                	je     0x469510
469506:	80 39 00             	cmpb   $0x0,(%ecx)
469509:	74 05                	je     0x469510
46950b:	41                   	inc    %ecx
46950c:	3b cf                	cmp    %edi,%ecx
46950e:	75 f6                	jne    0x469506
469510:	2b ce                	sub    %esi,%ecx
469512:	3b ca                	cmp    %edx,%ecx
469514:	75 5a                	jne    0x469570
469516:	8b f8                	mov    %eax,%edi
469518:	03 ce                	add    %esi,%ecx
46951a:	2b fa                	sub    %edx,%edi
46951c:	66 0f ef c9          	pxor   %xmm1,%xmm1
469520:	8b c7                	mov    %edi,%eax
469522:	83 e0 0f             	and    $0xf,%eax
469525:	2b f8                	sub    %eax,%edi
469527:	03 f9                	add    %ecx,%edi
469529:	eb 12                	jmp    0x46953d
46952b:	0f 28 01             	movaps (%ecx),%xmm0
46952e:	66 0f 74 c1          	pcmpeqb %xmm1,%xmm0
469532:	66 0f d7 c0          	pmovmskb %xmm0,%eax
469536:	85 c0                	test   %eax,%eax
469538:	75 07                	jne    0x469541
46953a:	83 c1 10             	add    $0x10,%ecx
46953d:	3b cf                	cmp    %edi,%ecx
46953f:	75 ea                	jne    0x46952b
469541:	8b 45 0c             	mov    0xc(%ebp),%eax
469544:	03 c6                	add    %esi,%eax
469546:	eb 06                	jmp    0x46954e
469548:	80 39 00             	cmpb   $0x0,(%ecx)
46954b:	74 05                	je     0x469552
46954d:	41                   	inc    %ecx
46954e:	3b c8                	cmp    %eax,%ecx
469550:	75 f6                	jne    0x469548
469552:	2b ce                	sub    %esi,%ecx
469554:	eb 1a                	jmp    0x469570
469556:	8b 55 08             	mov    0x8(%ebp),%edx
469559:	8b ca                	mov    %edx,%ecx
46955b:	8b 45 0c             	mov    0xc(%ebp),%eax
46955e:	03 c2                	add    %edx,%eax
469560:	3b d0                	cmp    %eax,%edx
469562:	74 0a                	je     0x46956e
469564:	80 39 00             	cmpb   $0x0,(%ecx)
469567:	74 05                	je     0x46956e
469569:	41                   	inc    %ecx
46956a:	3b c8                	cmp    %eax,%ecx
46956c:	75 f6                	jne    0x469564
46956e:	2b ca                	sub    %edx,%ecx
469570:	5f                   	pop    %edi
469571:	8b c1                	mov    %ecx,%eax
469573:	5e                   	pop    %esi
469574:	5d                   	pop    %ebp
469575:	c3                   	ret
469576:	8b ff                	mov    %edi,%edi
469578:	55                   	push   %ebp
469579:	8b ec                	mov    %esp,%ebp
46957b:	a1 dc af 4b 00       	mov    0x4bafdc,%eax
469580:	56                   	push   %esi
469581:	57                   	push   %edi
469582:	83 f8 05             	cmp    $0x5,%eax
469585:	0f 8c 8a 00 00 00    	jl     0x469615
46958b:	8b 45 08             	mov    0x8(%ebp),%eax
46958e:	8b c8                	mov    %eax,%ecx
469590:	a8 01                	test   $0x1,%al
469592:	74 13                	je     0x4695a7
469594:	33 d2                	xor    %edx,%edx
469596:	66 39 11             	cmp    %dx,(%ecx)
469599:	74 05                	je     0x4695a0
46959b:	83 c1 02             	add    $0x2,%ecx
46959e:	eb f6                	jmp    0x469596
4695a0:	2b c8                	sub    %eax,%ecx
4695a2:	e9 fe 00 00 00       	jmp    0x4696a5
4695a7:	83 e1 1f             	and    $0x1f,%ecx
4695aa:	6a 20                	push   $0x20
4695ac:	58                   	pop    %eax
4695ad:	2b c1                	sub    %ecx,%eax
4695af:	f7 d9                	neg    %ecx
4695b1:	1b c9                	sbb    %ecx,%ecx
4695b3:	83 ce ff             	or     $0xffffffff,%esi
4695b6:	23 c8                	and    %eax,%ecx
4695b8:	d1 e9                	shr    $1,%ecx
4695ba:	3b ce                	cmp    %esi,%ecx
4695bc:	77 02                	ja     0x4695c0
4695be:	8b f1                	mov    %ecx,%esi
4695c0:	8b 45 08             	mov    0x8(%ebp),%eax
4695c3:	33 d2                	xor    %edx,%edx
4695c5:	8b c8                	mov    %eax,%ecx
4695c7:	8d 3c 70             	lea    (%eax,%esi,2),%edi
4695ca:	3b c7                	cmp    %edi,%eax
4695cc:	74 0c                	je     0x4695da
4695ce:	66 39 11             	cmp    %dx,(%ecx)
4695d1:	74 07                	je     0x4695da
4695d3:	83 c1 02             	add    $0x2,%ecx
4695d6:	3b cf                	cmp    %edi,%ecx
4695d8:	75 f4                	jne    0x4695ce
4695da:	2b c8                	sub    %eax,%ecx
4695dc:	d1 f9                	sar    $1,%ecx
4695de:	3b ce                	cmp    %esi,%ecx
4695e0:	0f 85 c1 00 00 00    	jne    0x4696a7
4695e6:	8d 0c 48             	lea    (%eax,%ecx,2),%ecx
4695e9:	c5 f4 57 c9          	vxorps %ymm1,%ymm1,%ymm1
4695ed:	c5 f5 75 01          	vpcmpeqw (%ecx),%ymm1,%ymm0
4695f1:	c5 fd d7 c0          	vpmovmskb %ymm0,%eax
4695f5:	85 c0                	test   %eax,%eax
4695f7:	75 05                	jne    0x4695fe
4695f9:	83 c1 20             	add    $0x20,%ecx
4695fc:	eb ef                	jmp    0x4695ed
4695fe:	66 39 11             	cmp    %dx,(%ecx)
469601:	74 05                	je     0x469608
469603:	83 c1 02             	add    $0x2,%ecx
469606:	eb f6                	jmp    0x4695fe
469608:	2b 4d 08             	sub    0x8(%ebp),%ecx
46960b:	d1 f9                	sar    $1,%ecx
46960d:	c5 f8 77             	vzeroupper
469610:	e9 92 00 00 00       	jmp    0x4696a7
469615:	83 f8 01             	cmp    $0x1,%eax
469618:	7c 79                	jl     0x469693
46961a:	8b 45 08             	mov    0x8(%ebp),%eax
46961d:	8b c8                	mov    %eax,%ecx
46961f:	a8 01                	test   $0x1,%al
469621:	74 10                	je     0x469633
469623:	33 d2                	xor    %edx,%edx
469625:	66 39 11             	cmp    %dx,(%ecx)
469628:	0f 84 72 ff ff ff    	je     0x4695a0
46962e:	83 c1 02             	add    $0x2,%ecx
469631:	eb f2                	jmp    0x469625
469633:	83 e1 0f             	and    $0xf,%ecx
469636:	6a 10                	push   $0x10
469638:	58                   	pop    %eax
469639:	2b c1                	sub    %ecx,%eax
46963b:	f7 d9                	neg    %ecx
46963d:	1b c9                	sbb    %ecx,%ecx
46963f:	83 ce ff             	or     $0xffffffff,%esi
469642:	23 c8                	and    %eax,%ecx
469644:	d1 e9                	shr    $1,%ecx
469646:	3b ce                	cmp    %esi,%ecx
469648:	77 02                	ja     0x46964c
46964a:	8b f1                	mov    %ecx,%esi
46964c:	8b 45 08             	mov    0x8(%ebp),%eax
46964f:	33 d2                	xor    %edx,%edx
469651:	8b c8                	mov    %eax,%ecx
469653:	8d 3c 70             	lea    (%eax,%esi,2),%edi
469656:	3b c7                	cmp    %edi,%eax
469658:	74 0c                	je     0x469666
46965a:	66 39 11             	cmp    %dx,(%ecx)
46965d:	74 07                	je     0x469666
46965f:	83 c1 02             	add    $0x2,%ecx
469662:	3b cf                	cmp    %edi,%ecx
469664:	75 f4                	jne    0x46965a
469666:	2b c8                	sub    %eax,%ecx
469668:	d1 f9                	sar    $1,%ecx
46966a:	3b ce                	cmp    %esi,%ecx
46966c:	75 39                	jne    0x4696a7
46966e:	8d 0c 48             	lea    (%eax,%ecx,2),%ecx
469671:	66 0f ef c9          	pxor   %xmm1,%xmm1
469675:	0f 28 01             	movaps (%ecx),%xmm0
469678:	66 0f 75 c1          	pcmpeqw %xmm1,%xmm0
46967c:	66 0f d7 c0          	pmovmskb %xmm0,%eax
469680:	85 c0                	test   %eax,%eax
469682:	75 05                	jne    0x469689
469684:	83 c1 10             	add    $0x10,%ecx
469687:	eb ec                	jmp    0x469675
469689:	66 39 11             	cmp    %dx,(%ecx)
46968c:	74 14                	je     0x4696a2
46968e:	83 c1 02             	add    $0x2,%ecx
469691:	eb f6                	jmp    0x469689
469693:	8b 4d 08             	mov    0x8(%ebp),%ecx
469696:	33 d2                	xor    %edx,%edx
469698:	66 39 11             	cmp    %dx,(%ecx)
46969b:	74 05                	je     0x4696a2
46969d:	83 c1 02             	add    $0x2,%ecx
4696a0:	eb f6                	jmp    0x469698
4696a2:	2b 4d 08             	sub    0x8(%ebp),%ecx
4696a5:	d1 f9                	sar    $1,%ecx
4696a7:	5f                   	pop    %edi
4696a8:	8b c1                	mov    %ecx,%eax
4696aa:	5e                   	pop    %esi
4696ab:	5d                   	pop    %ebp
4696ac:	c3                   	ret
4696ad:	8b ff                	mov    %edi,%edi
4696af:	55                   	push   %ebp
4696b0:	8b ec                	mov    %esp,%ebp
4696b2:	51                   	push   %ecx
4696b3:	a1 dc af 4b 00       	mov    0x4bafdc,%eax
4696b8:	8b 4d 08             	mov    0x8(%ebp),%ecx
4696bb:	56                   	push   %esi
4696bc:	57                   	push   %edi
4696bd:	83 f8 05             	cmp    $0x5,%eax
4696c0:	0f 8c bc 00 00 00    	jl     0x469782
4696c6:	f6 c1 01             	test   $0x1,%cl
4696c9:	74 27                	je     0x4696f2
4696cb:	8b 45 0c             	mov    0xc(%ebp),%eax