41c58a:	5f                   	pop    %edi
41c58b:	5e                   	pop    %esi
41c58c:	5d                   	pop    %ebp
41c58d:	c3                   	ret
41c58e:	68 b0 c1 41 00       	push   $0x41c1b0
41c593:	e8 b6 1e 00 00       	call   0x41e44e
41c598:	a3 50 d1 43 00       	mov    %eax,0x43d150
41c59d:	83 f8 ff             	cmp    $0xffffffff,%eax
41c5a0:	75 03                	jne    0x41c5a5
41c5a2:	32 c0                	xor    %al,%al
41c5a4:	c3                   	ret
41c5a5:	e8 90 fe ff ff       	call   0x41c43a
41c5aa:	85 c0                	test   %eax,%eax
41c5ac:	75 09                	jne    0x41c5b7
41c5ae:	50                   	push   %eax
41c5af:	e8 06 00 00 00       	call   0x41c5ba
41c5b4:	59                   	pop    %ecx
41c5b5:	eb eb                	jmp    0x41c5a2
41c5b7:	b0 01                	mov    $0x1,%al
41c5b9:	c3                   	ret
41c5ba:	a1 50 d1 43 00       	mov    0x43d150,%eax
41c5bf:	83 f8 ff             	cmp    $0xffffffff,%eax
41c5c2:	74 0d                	je     0x41c5d1
41c5c4:	50                   	push   %eax
41c5c5:	e8 c3 1e 00 00       	call   0x41e48d
41c5ca:	83 0d 50 d1 43 00 ff 	orl    $0xffffffff,0x43d150
41c5d1:	b0 01                	mov    $0x1,%al
41c5d3:	c3                   	ret
41c5d4:	8b ff                	mov    %edi,%edi
41c5d6:	55                   	push   %ebp
41c5d7:	8b ec                	mov    %esp,%ebp
41c5d9:	8b 4d 08             	mov    0x8(%ebp),%ecx
41c5dc:	33 c0                	xor    %eax,%eax
41c5de:	3b 0c c5 60 38 43 00 	cmp    0x433860(,%eax,8),%ecx
41c5e5:	74 27                	je     0x41c60e
41c5e7:	40                   	inc    %eax
41c5e8:	83 f8 2d             	cmp    $0x2d,%eax
41c5eb:	72 f1                	jb     0x41c5de
41c5ed:	8d 41 ed             	lea    -0x13(%ecx),%eax
41c5f0:	83 f8 11             	cmp    $0x11,%eax
41c5f3:	77 05                	ja     0x41c5fa
41c5f5:	6a 0d                	push   $0xd
41c5f7:	58                   	pop    %eax
41c5f8:	5d                   	pop    %ebp
41c5f9:	c3                   	ret
41c5fa:	8d 81 44 ff ff ff    	lea    -0xbc(%ecx),%eax
41c600:	6a 0e                	push   $0xe
41c602:	59                   	pop    %ecx
41c603:	3b c8                	cmp    %eax,%ecx
41c605:	1b c0                	sbb    %eax,%eax
41c607:	23 c1                	and    %ecx,%eax
41c609:	83 c0 08             	add    $0x8,%eax
41c60c:	5d                   	pop    %ebp
41c60d:	c3                   	ret
41c60e:	8b 04 c5 64 38 43 00 	mov    0x433864(,%eax,8),%eax
41c615:	5d                   	pop    %ebp
41c616:	c3                   	ret
41c617:	8b ff                	mov    %edi,%edi
41c619:	55                   	push   %ebp
41c61a:	8b ec                	mov    %esp,%ebp
41c61c:	56                   	push   %esi
41c61d:	e8 3c 00 00 00       	call   0x41c65e
41c622:	8b 4d 08             	mov    0x8(%ebp),%ecx
41c625:	51                   	push   %ecx
41c626:	89 08                	mov    %ecx,(%eax)
41c628:	e8 a7 ff ff ff       	call   0x41c5d4
41c62d:	59                   	pop    %ecx
41c62e:	8b f0                	mov    %eax,%esi
41c630:	e8 3c 00 00 00       	call   0x41c671
41c635:	89 30                	mov    %esi,(%eax)
41c637:	5e                   	pop    %esi
41c638:	5d                   	pop    %ebp
41c639:	c3                   	ret
41c63a:	8b ff                	mov    %edi,%edi
41c63c:	55                   	push   %ebp
41c63d:	8b ec                	mov    %esp,%ebp
41c63f:	8b 45 08             	mov    0x8(%ebp),%eax
41c642:	56                   	push   %esi
41c643:	8b 75 0c             	mov    0xc(%ebp),%esi
41c646:	50                   	push   %eax
41c647:	c6 46 24 01          	movb   $0x1,0x24(%esi)
41c64b:	89 46 20             	mov    %eax,0x20(%esi)
41c64e:	e8 81 ff ff ff       	call   0x41c5d4
41c653:	59                   	pop    %ecx
41c654:	c6 46 1c 01          	movb   $0x1,0x1c(%esi)
41c658:	89 46 18             	mov    %eax,0x18(%esi)
41c65b:	5e                   	pop    %esi
41c65c:	5d                   	pop    %ebp
41c65d:	c3                   	ret
41c65e:	e8 d7 fd ff ff       	call   0x41c43a
41c663:	85 c0                	test   %eax,%eax
41c665:	75 06                	jne    0x41c66d
41c667:	b8 24 d2 43 00       	mov    $0x43d224,%eax
41c66c:	c3                   	ret
41c66d:	83 c0 14             	add    $0x14,%eax
41c670:	c3                   	ret
41c671:	e8 c4 fd ff ff       	call   0x41c43a
41c676:	85 c0                	test   %eax,%eax
41c678:	75 06                	jne    0x41c680
41c67a:	b8 20 d2 43 00       	mov    $0x43d220,%eax
41c67f:	c3                   	ret
41c680:	83 c0 10             	add    $0x10,%eax
41c683:	c3                   	ret
41c684:	8b ff                	mov    %edi,%edi
41c686:	55                   	push   %ebp
41c687:	8b ec                	mov    %esp,%ebp
41c689:	a1 d0 f5 43 00       	mov    0x43f5d0,%eax
41c68e:	56                   	push   %esi
41c68f:	57                   	push   %edi
41c690:	83 f8 05             	cmp    $0x5,%eax
41c693:	7c 7a                	jl     0x41c70f
41c695:	8b 75 08             	mov    0x8(%ebp),%esi
41c698:	8b d6                	mov    %esi,%edx
41c69a:	8b 7d 0c             	mov    0xc(%ebp),%edi
41c69d:	83 e2 1f             	and    $0x1f,%edx
41c6a0:	6a 20                	push   $0x20
41c6a2:	58                   	pop    %eax
41c6a3:	2b c2                	sub    %edx,%eax
41c6a5:	f7 da                	neg    %edx
41c6a7:	1b d2                	sbb    %edx,%edx
41c6a9:	23 d0                	and    %eax,%edx
41c6ab:	3b fa                	cmp    %edx,%edi
41c6ad:	73 02                	jae    0x41c6b1
41c6af:	8b d7                	mov    %edi,%edx
41c6b1:	8d 0c 32             	lea    (%edx,%esi,1),%ecx
41c6b4:	8b c6                	mov    %esi,%eax
41c6b6:	3b f1                	cmp    %ecx,%esi
41c6b8:	74 0a                	je     0x41c6c4
41c6ba:	80 38 00             	cmpb   $0x0,(%eax)
41c6bd:	74 05                	je     0x41c6c4
41c6bf:	40                   	inc    %eax
41c6c0:	3b c1                	cmp    %ecx,%eax
41c6c2:	75 f6                	jne    0x41c6ba
41c6c4:	8b c8                	mov    %eax,%ecx
41c6c6:	2b ce                	sub    %esi,%ecx
41c6c8:	3b ca                	cmp    %edx,%ecx
41c6ca:	0f 85 d0 00 00 00    	jne    0x41c7a0
41c6d0:	2b fa                	sub    %edx,%edi
41c6d2:	8b c8                	mov    %eax,%ecx
41c6d4:	83 e7 e0             	and    $0xffffffe0,%edi
41c6d7:	03 f8                	add    %eax,%edi
41c6d9:	c5 f1 ef c9          	vpxor  %xmm1,%xmm1,%xmm1
41c6dd:	3b c7                	cmp    %edi,%eax
41c6df:	74 13                	je     0x41c6f4
41c6e1:	c5 f5 74 01          	vpcmpeqb (%ecx),%ymm1,%ymm0
41c6e5:	c5 fd d7 c0          	vpmovmskb %ymm0,%eax
41c6e9:	85 c0                	test   %eax,%eax
41c6eb:	75 07                	jne    0x41c6f4
41c6ed:	83 c1 20             	add    $0x20,%ecx
41c6f0:	3b cf                	cmp    %edi,%ecx
41c6f2:	75 ed                	jne    0x41c6e1
41c6f4:	8b 45 0c             	mov    0xc(%ebp),%eax
41c6f7:	03 c6                	add    %esi,%eax
41c6f9:	eb 06                	jmp    0x41c701
41c6fb:	80 39 00             	cmpb   $0x0,(%ecx)
41c6fe:	74 05                	je     0x41c705
41c700:	41                   	inc    %ecx
41c701:	3b c8                	cmp    %eax,%ecx
41c703:	75 f6                	jne    0x41c6fb
41c705:	2b ce                	sub    %esi,%ecx
41c707:	c5 f8 77             	vzeroupper
41c70a:	e9 91 00 00 00       	jmp    0x41c7a0
41c70f:	83 f8 01             	cmp    $0x1,%eax
41c712:	7c 72                	jl     0x41c786
41c714:	8b 75 08             	mov    0x8(%ebp),%esi
41c717:	8b d6                	mov    %esi,%edx
41c719:	8b 7d 0c             	mov    0xc(%ebp),%edi
41c71c:	83 e2 0f             	and    $0xf,%edx
41c71f:	6a 10                	push   $0x10
41c721:	58                   	pop    %eax
41c722:	2b c2                	sub    %edx,%eax
41c724:	f7 da                	neg    %edx
41c726:	1b d2                	sbb    %edx,%edx
41c728:	23 d0                	and    %eax,%edx
41c72a:	3b fa                	cmp    %edx,%edi
41c72c:	73 02                	jae    0x41c730
41c72e:	8b d7                	mov    %edi,%edx
41c730:	8d 0c 32             	lea    (%edx,%esi,1),%ecx
41c733:	8b c6                	mov    %esi,%eax
41c735:	3b f1                	cmp    %ecx,%esi
41c737:	74 0a                	je     0x41c743
41c739:	80 38 00             	cmpb   $0x0,(%eax)
41c73c:	74 05                	je     0x41c743
41c73e:	40                   	inc    %eax
41c73f:	3b c1                	cmp    %ecx,%eax
41c741:	75 f6                	jne    0x41c739
41c743:	8b c8                	mov    %eax,%ecx
41c745:	2b ce                	sub    %esi,%ecx
41c747:	3b ca                	cmp    %edx,%ecx
41c749:	75 55                	jne    0x41c7a0
41c74b:	2b fa                	sub    %edx,%edi
41c74d:	8b c8                	mov    %eax,%ecx
41c74f:	83 e7 f0             	and    $0xfffffff0,%edi
41c752:	0f 57 c9             	xorps  %xmm1,%xmm1
41c755:	03 f8                	add    %eax,%edi
41c757:	3b c7                	cmp    %edi,%eax
41c759:	74 16                	je     0x41c771
41c75b:	0f 28 c1             	movaps %xmm1,%xmm0
41c75e:	66 0f 74 01          	pcmpeqb (%ecx),%xmm0
41c762:	66 0f d7 c0          	pmovmskb %xmm0,%eax
41c766:	85 c0                	test   %eax,%eax
41c768:	75 07                	jne    0x41c771
41c76a:	83 c1 10             	add    $0x10,%ecx
41c76d:	3b cf                	cmp    %edi,%ecx
41c76f:	75 ea                	jne    0x41c75b
41c771:	8b 45 0c             	mov    0xc(%ebp),%eax
41c774:	03 c6                	add    %esi,%eax
41c776:	eb 06                	jmp    0x41c77e
41c778:	80 39 00             	cmpb   $0x0,(%ecx)
41c77b:	74 05                	je     0x41c782
41c77d:	41                   	inc    %ecx
41c77e:	3b c8                	cmp    %eax,%ecx
41c780:	75 f6                	jne    0x41c778
41c782:	2b ce                	sub    %esi,%ecx
41c784:	eb 1a                	jmp    0x41c7a0
41c786:	8b 55 08             	mov    0x8(%ebp),%edx
41c789:	8b ca                	mov    %edx,%ecx
41c78b:	8b 45 0c             	mov    0xc(%ebp),%eax
41c78e:	03 c2                	add    %edx,%eax
41c790:	3b d0                	cmp    %eax,%edx
41c792:	74 0a                	je     0x41c79e
41c794:	80 39 00             	cmpb   $0x0,(%ecx)
41c797:	74 05                	je     0x41c79e
41c799:	41                   	inc    %ecx
41c79a:	3b c8                	cmp    %eax,%ecx
41c79c:	75 f6                	jne    0x41c794
41c79e:	2b ca                	sub    %edx,%ecx
41c7a0:	5f                   	pop    %edi
41c7a1:	8b c1                	mov    %ecx,%eax
41c7a3:	5e                   	pop    %esi
41c7a4:	5d                   	pop    %ebp
41c7a5:	c3                   	ret
41c7a6:	8b ff                	mov    %edi,%edi
41c7a8:	55                   	push   %ebp
41c7a9:	8b ec                	mov    %esp,%ebp
41c7ab:	a1 d0 f5 43 00       	mov    0x43f5d0,%eax
41c7b0:	56                   	push   %esi
41c7b1:	57                   	push   %edi
41c7b2:	83 f8 05             	cmp    $0x5,%eax
41c7b5:	0f 8c b7 00 00 00    	jl     0x41c872
41c7bb:	8b 4d 08             	mov    0x8(%ebp),%ecx
41c7be:	f6 c1 01             	test   $0x1,%cl
41c7c1:	74 21                	je     0x41c7e4
41c7c3:	8b 45 0c             	mov    0xc(%ebp),%eax
41c7c6:	8b f1                	mov    %ecx,%esi
41c7c8:	8d 14 41             	lea    (%ecx,%eax,2),%edx
41c7cb:	3b f2                	cmp    %edx,%esi
41c7cd:	74 0e                	je     0x41c7dd
41c7cf:	33 c0                	xor    %eax,%eax
41c7d1:	66 39 01             	cmp    %ax,(%ecx)
41c7d4:	74 07                	je     0x41c7dd
41c7d6:	83 c1 02             	add    $0x2,%ecx
41c7d9:	3b ca                	cmp    %edx,%ecx
41c7db:	75 f4                	jne    0x41c7d1
41c7dd:	2b ce                	sub    %esi,%ecx
41c7df:	e9 6a 01 00 00       	jmp    0x41c94e
41c7e4:	8b d1                	mov    %ecx,%edx
41c7e6:	83 e2 1f             	and    $0x1f,%edx
41c7e9:	6a 20                	push   $0x20
41c7eb:	58                   	pop    %eax
41c7ec:	2b c2                	sub    %edx,%eax
41c7ee:	f7 da                	neg    %edx
41c7f0:	1b d2                	sbb    %edx,%edx
41c7f2:	23 d0                	and    %eax,%edx
41c7f4:	8b 45 0c             	mov    0xc(%ebp),%eax
41c7f7:	d1 ea                	shr    $1,%edx
41c7f9:	3b c2                	cmp    %edx,%eax
41c7fb:	73 02                	jae    0x41c7ff
41c7fd:	8b d0                	mov    %eax,%edx
41c7ff:	8b 75 08             	mov    0x8(%ebp),%esi
41c802:	8d 3c 51             	lea    (%ecx,%edx,2),%edi
41c805:	33 c0                	xor    %eax,%eax
41c807:	3b f7                	cmp    %edi,%esi
41c809:	74 0c                	je     0x41c817
41c80b:	66 39 01             	cmp    %ax,(%ecx)
41c80e:	74 07                	je     0x41c817
41c810:	83 c1 02             	add    $0x2,%ecx
41c813:	3b cf                	cmp    %edi,%ecx
41c815:	75 f4                	jne    0x41c80b
41c817:	2b ce                	sub    %esi,%ecx
41c819:	d1 f9                	sar    $1,%ecx
41c81b:	3b ca                	cmp    %edx,%ecx
41c81d:	0f 85 2d 01 00 00    	jne    0x41c950
41c823:	8b 45 0c             	mov    0xc(%ebp),%eax
41c826:	8d 3c 4e             	lea    (%esi,%ecx,2),%edi
41c829:	2b c2                	sub    %edx,%eax
41c82b:	83 e0 e0             	and    $0xffffffe0,%eax
41c82e:	03 c1                	add    %ecx,%eax
41c830:	c5 f1 ef c9          	vpxor  %xmm1,%xmm1,%xmm1
41c834:	8d 0c 46             	lea    (%esi,%eax,2),%ecx
41c837:	eb 0f                	jmp    0x41c848
41c839:	c5 f5 75 07          	vpcmpeqw (%edi),%ymm1,%ymm0
41c83d:	c5 fd d7 c0          	vpmovmskb %ymm0,%eax
41c841:	85 c0                	test   %eax,%eax
41c843:	75 07                	jne    0x41c84c
41c845:	83 c7 20             	add    $0x20,%edi
41c848:	3b f9                	cmp    %ecx,%edi
41c84a:	75 ed                	jne    0x41c839
41c84c:	8b 45 0c             	mov    0xc(%ebp),%eax
41c84f:	8d 0c 46             	lea    (%esi,%eax,2),%ecx
41c852:	3b f9                	cmp    %ecx,%edi
41c854:	74 0e                	je     0x41c864
41c856:	33 c0                	xor    %eax,%eax
41c858:	66 39 07             	cmp    %ax,(%edi)
41c85b:	74 07                	je     0x41c864
41c85d:	83 c7 02             	add    $0x2,%edi
41c860:	3b f9                	cmp    %ecx,%edi
41c862:	75 f4                	jne    0x41c858
41c864:	8b cf                	mov    %edi,%ecx
41c866:	2b ce                	sub    %esi,%ecx
41c868:	d1 f9                	sar    $1,%ecx
41c86a:	c5 f8 77             	vzeroupper
41c86d:	e9 de 00 00 00       	jmp    0x41c950
41c872:	83 f8 01             	cmp    $0x1,%eax
41c875:	0f 8c b4 00 00 00    	jl     0x41c92f
41c87b:	8b 4d 08             	mov    0x8(%ebp),%ecx
41c87e:	f6 c1 01             	test   $0x1,%cl
41c881:	74 27                	je     0x41c8aa
41c883:	8b 45 0c             	mov    0xc(%ebp),%eax
41c886:	8b f1                	mov    %ecx,%esi
41c888:	8d 14 41             	lea    (%ecx,%eax,2),%edx
41c88b:	3b f2                	cmp    %edx,%esi
41c88d:	0f 84 4a ff ff ff    	je     0x41c7dd
41c893:	33 c0                	xor    %eax,%eax
41c895:	66 39 01             	cmp    %ax,(%ecx)
41c898:	0f 84 3f ff ff ff    	je     0x41c7dd
41c89e:	83 c1 02             	add    $0x2,%ecx
41c8a1:	3b ca                	cmp    %edx,%ecx
41c8a3:	75 f0                	jne    0x41c895
41c8a5:	e9 33 ff ff ff       	jmp    0x41c7dd
41c8aa:	8b d1                	mov    %ecx,%edx
41c8ac:	83 e2 0f             	and    $0xf,%edx
41c8af:	6a 10                	push   $0x10
41c8b1:	58                   	pop    %eax
41c8b2:	2b c2                	sub    %edx,%eax
41c8b4:	f7 da                	neg    %edx
41c8b6:	1b d2                	sbb    %edx,%edx
41c8b8:	23 d0                	and    %eax,%edx
41c8ba:	8b 45 0c             	mov    0xc(%ebp),%eax
41c8bd:	d1 ea                	shr    $1,%edx
41c8bf:	3b c2                	cmp    %edx,%eax
41c8c1:	73 02                	jae    0x41c8c5
41c8c3:	8b d0                	mov    %eax,%edx
41c8c5:	8b 75 08             	mov    0x8(%ebp),%esi
41c8c8:	8d 3c 51             	lea    (%ecx,%edx,2),%edi
41c8cb:	33 c0                	xor    %eax,%eax
41c8cd:	3b f7                	cmp    %edi,%esi
41c8cf:	74 0c                	je     0x41c8dd
41c8d1:	66 39 01             	cmp    %ax,(%ecx)
41c8d4:	74 07                	je     0x41c8dd