41f658:	33 c0                	xor    %eax,%eax
41f65a:	66 89 04 5f          	mov    %ax,(%edi,%ebx,2)
41f65e:	8b c6                	mov    %esi,%eax
41f660:	5f                   	pop    %edi
41f661:	5b                   	pop    %ebx
41f662:	eb 13                	jmp    0x41f677
41f664:	ff 75 0c             	push   0xc(%ebp)
41f667:	c6 45 08 00          	movb   $0x0,0x8(%ebp)
41f66b:	51                   	push   %ecx
41f66c:	ff 75 08             	push   0x8(%ebp)
41f66f:	51                   	push   %ecx
41f670:	8b ce                	mov    %esi,%ecx
41f672:	e8 a4 5c fe ff       	call   0x40531b
41f677:	5e                   	pop    %esi
41f678:	5d                   	pop    %ebp
41f679:	c2 08 00             	ret    $0x8
41f67c:	55                   	push   %ebp
41f67d:	8b ec                	mov    %esp,%ebp
41f67f:	8b 55 08             	mov    0x8(%ebp),%edx
41f682:	56                   	push   %esi
41f683:	8d 72 02             	lea    0x2(%edx),%esi
41f686:	66 8b 02             	mov    (%edx),%ax
41f689:	83 c2 02             	add    $0x2,%edx
41f68c:	66 85 c0             	test   %ax,%ax
41f68f:	75 f5                	jne    0x41f686
41f691:	2b d6                	sub    %esi,%edx
41f693:	d1 fa                	sar    $1,%edx
41f695:	52                   	push   %edx
41f696:	ff 75 08             	push   0x8(%ebp)
41f699:	e8 05 00 00 00       	call   0x41f6a3
41f69e:	5e                   	pop    %esi
41f69f:	5d                   	pop    %ebp
41f6a0:	c2 04 00             	ret    $0x4
41f6a3:	55                   	push   %ebp
41f6a4:	8b ec                	mov    %esp,%ebp
41f6a6:	56                   	push   %esi
41f6a7:	8b f1                	mov    %ecx,%esi
41f6a9:	8b 4d 0c             	mov    0xc(%ebp),%ecx
41f6ac:	8b 46 14             	mov    0x14(%esi),%eax
41f6af:	8b 56 10             	mov    0x10(%esi),%edx
41f6b2:	2b c2                	sub    %edx,%eax
41f6b4:	3b c8                	cmp    %eax,%ecx
41f6b6:	77 31                	ja     0x41f6e9
41f6b8:	83 7e 14 08          	cmpl   $0x8,0x14(%esi)
41f6bc:	53                   	push   %ebx
41f6bd:	8d 1c 0a             	lea    (%edx,%ecx,1),%ebx
41f6c0:	57                   	push   %edi
41f6c1:	89 5e 10             	mov    %ebx,0x10(%esi)
41f6c4:	8b fe                	mov    %esi,%edi
41f6c6:	72 02                	jb     0x41f6ca
41f6c8:	8b 3e                	mov    (%esi),%edi
41f6ca:	8d 04 09             	lea    (%ecx,%ecx,1),%eax
41f6cd:	50                   	push   %eax
41f6ce:	ff 75 08             	push   0x8(%ebp)
41f6d1:	8d 04 57             	lea    (%edi,%edx,2),%eax
41f6d4:	50                   	push   %eax
41f6d5:	e8 06 42 02 00       	call   0x4438e0
41f6da:	83 c4 0c             	add    $0xc,%esp
41f6dd:	33 c0                	xor    %eax,%eax
41f6df:	66 89 04 5f          	mov    %ax,(%edi,%ebx,2)
41f6e3:	8b c6                	mov    %esi,%eax
41f6e5:	5f                   	pop    %edi
41f6e6:	5b                   	pop    %ebx
41f6e7:	eb 13                	jmp    0x41f6fc
41f6e9:	51                   	push   %ecx
41f6ea:	ff 75 08             	push   0x8(%ebp)
41f6ed:	c6 45 0c 00          	movb   $0x0,0xc(%ebp)
41f6f1:	ff 75 0c             	push   0xc(%ebp)
41f6f4:	51                   	push   %ecx
41f6f5:	8b ce                	mov    %esi,%ecx
41f6f7:	e8 d7 58 fe ff       	call   0x404fd3
41f6fc:	5e                   	pop    %esi
41f6fd:	5d                   	pop    %ebp
41f6fe:	c2 08 00             	ret    $0x8
41f701:	55                   	push   %ebp
41f702:	8b ec                	mov    %esp,%ebp
41f704:	8b 45 08             	mov    0x8(%ebp),%eax
41f707:	56                   	push   %esi
41f708:	8b 75 0c             	mov    0xc(%ebp),%esi
41f70b:	57                   	push   %edi
41f70c:	8b 50 10             	mov    0x10(%eax),%edx
41f70f:	8b f9                	mov    %ecx,%edi
41f711:	3b d6                	cmp    %esi,%edx
41f713:	72 23                	jb     0x41f738
41f715:	8b 4d 10             	mov    0x10(%ebp),%ecx
41f718:	2b d6                	sub    %esi,%edx
41f71a:	3b d1                	cmp    %ecx,%edx
41f71c:	0f 42 ca             	cmovb  %edx,%ecx
41f71f:	83 78 14 10          	cmpl   $0x10,0x14(%eax)
41f723:	72 02                	jb     0x41f727
41f725:	8b 00                	mov    (%eax),%eax
41f727:	51                   	push   %ecx
41f728:	03 c6                	add    %esi,%eax
41f72a:	8b cf                	mov    %edi,%ecx
41f72c:	50                   	push   %eax
41f72d:	e8 78 00 00 00       	call   0x41f7aa
41f732:	5f                   	pop    %edi
41f733:	5e                   	pop    %esi
41f734:	5d                   	pop    %ebp
41f735:	c2 0c 00             	ret    $0xc
41f738:	e8 8a e0 ff ff       	call   0x41d7c7
41f73d:	cc                   	int3
41f73e:	55                   	push   %ebp
41f73f:	8b ec                	mov    %esp,%ebp
41f741:	56                   	push   %esi
41f742:	8b f1                	mov    %ecx,%esi
41f744:	57                   	push   %edi
41f745:	8b 7d 08             	mov    0x8(%ebp),%edi
41f748:	3b 7e 14             	cmp    0x14(%esi),%edi
41f74b:	77 26                	ja     0x41f773
41f74d:	83 7e 14 10          	cmpl   $0x10,0x14(%esi)
41f751:	53                   	push   %ebx
41f752:	8b de                	mov    %esi,%ebx
41f754:	72 02                	jb     0x41f758
41f756:	8b 1e                	mov    (%esi),%ebx
41f758:	0f be 45 0c          	movsbl 0xc(%ebp),%eax
41f75c:	57                   	push   %edi
41f75d:	50                   	push   %eax
41f75e:	53                   	push   %ebx
41f75f:	89 7e 10             	mov    %edi,0x10(%esi)
41f762:	e8 f9 46 02 00       	call   0x443e60
41f767:	83 c4 0c             	add    $0xc,%esp
41f76a:	c6 04 3b 00          	movb   $0x0,(%ebx,%edi,1)
41f76e:	8b c6                	mov    %esi,%eax
41f770:	5b                   	pop    %ebx
41f771:	eb 10                	jmp    0x41f783
41f773:	ff 75 0c             	push   0xc(%ebp)
41f776:	c6 45 08 00          	movb   $0x0,0x8(%ebp)
41f77a:	ff 75 08             	push   0x8(%ebp)
41f77d:	57                   	push   %edi
41f77e:	e8 cd 56 fe ff       	call   0x404e50
41f783:	5f                   	pop    %edi
41f784:	5e                   	pop    %esi
41f785:	5d                   	pop    %ebp
41f786:	c2 08 00             	ret    $0x8
41f789:	55                   	push   %ebp
41f78a:	8b ec                	mov    %esp,%ebp
41f78c:	8b 55 08             	mov    0x8(%ebp),%edx
41f78f:	56                   	push   %esi
41f790:	8d 72 01             	lea    0x1(%edx),%esi
41f793:	8a 02                	mov    (%edx),%al
41f795:	42                   	inc    %edx
41f796:	84 c0                	test   %al,%al
41f798:	75 f9                	jne    0x41f793
41f79a:	2b d6                	sub    %esi,%edx
41f79c:	52                   	push   %edx
41f79d:	ff 75 08             	push   0x8(%ebp)
41f7a0:	e8 05 00 00 00       	call   0x41f7aa
41f7a5:	5e                   	pop    %esi
41f7a6:	5d                   	pop    %ebp
41f7a7:	c2 04 00             	ret    $0x4
41f7aa:	55                   	push   %ebp
41f7ab:	8b ec                	mov    %esp,%ebp
41f7ad:	56                   	push   %esi
41f7ae:	8b f1                	mov    %ecx,%esi
41f7b0:	57                   	push   %edi
41f7b1:	8b 7d 0c             	mov    0xc(%ebp),%edi
41f7b4:	3b 7e 14             	cmp    0x14(%esi),%edi
41f7b7:	77 24                	ja     0x41f7dd
41f7b9:	83 7e 14 10          	cmpl   $0x10,0x14(%esi)
41f7bd:	53                   	push   %ebx
41f7be:	8b de                	mov    %esi,%ebx
41f7c0:	72 02                	jb     0x41f7c4
41f7c2:	8b 1e                	mov    (%esi),%ebx
41f7c4:	57                   	push   %edi
41f7c5:	ff 75 08             	push   0x8(%ebp)
41f7c8:	89 7e 10             	mov    %edi,0x10(%esi)
41f7cb:	53                   	push   %ebx
41f7cc:	e8 0f 41 02 00       	call   0x4438e0
41f7d1:	83 c4 0c             	add    $0xc,%esp
41f7d4:	c6 04 3b 00          	movb   $0x0,(%ebx,%edi,1)
41f7d8:	8b c6                	mov    %esi,%eax
41f7da:	5b                   	pop    %ebx
41f7db:	eb 10                	jmp    0x41f7ed
41f7dd:	ff 75 08             	push   0x8(%ebp)
41f7e0:	c6 45 0c 00          	movb   $0x0,0xc(%ebp)
41f7e4:	ff 75 0c             	push   0xc(%ebp)
41f7e7:	57                   	push   %edi
41f7e8:	e8 f7 55 fe ff       	call   0x404de4
41f7ed:	5f                   	pop    %edi
41f7ee:	5e                   	pop    %esi
41f7ef:	5d                   	pop    %ebp
41f7f0:	c2 08 00             	ret    $0x8
41f7f3:	55                   	push   %ebp
41f7f4:	8b ec                	mov    %esp,%ebp
41f7f6:	8b 45 08             	mov    0x8(%ebp),%eax
41f7f9:	56                   	push   %esi
41f7fa:	8b 75 0c             	mov    0xc(%ebp),%esi
41f7fd:	57                   	push   %edi
41f7fe:	8b 50 10             	mov    0x10(%eax),%edx
41f801:	8b f9                	mov    %ecx,%edi
41f803:	3b d6                	cmp    %esi,%edx
41f805:	72 24                	jb     0x41f82b
41f807:	8b 4d 10             	mov    0x10(%ebp),%ecx
41f80a:	2b d6                	sub    %esi,%edx
41f80c:	3b d1                	cmp    %ecx,%edx
41f80e:	0f 42 ca             	cmovb  %edx,%ecx
41f811:	83 78 14 08          	cmpl   $0x8,0x14(%eax)
41f815:	72 02                	jb     0x41f819
41f817:	8b 00                	mov    (%eax),%eax
41f819:	51                   	push   %ecx
41f81a:	8d 04 70             	lea    (%eax,%esi,2),%eax
41f81d:	8b cf                	mov    %edi,%ecx
41f81f:	50                   	push   %eax
41f820:	e8 7e 00 00 00       	call   0x41f8a3
41f825:	5f                   	pop    %edi
41f826:	5e                   	pop    %esi
41f827:	5d                   	pop    %ebp
41f828:	c2 0c 00             	ret    $0xc
41f82b:	e8 a2 df ff ff       	call   0x41d7d2
41f830:	cc                   	int3
41f831:	55                   	push   %ebp
41f832:	8b ec                	mov    %esp,%ebp
41f834:	56                   	push   %esi
41f835:	8b f1                	mov    %ecx,%esi
41f837:	57                   	push   %edi
41f838:	8b 7d 08             	mov    0x8(%ebp),%edi
41f83b:	3b 7e 14             	cmp    0x14(%esi),%edi
41f83e:	77 26                	ja     0x41f866
41f840:	83 7e 14 08          	cmpl   $0x8,0x14(%esi)
41f844:	53                   	push   %ebx
41f845:	8b de                	mov    %esi,%ebx
41f847:	72 02                	jb     0x41f84b
41f849:	8b 1e                	mov    (%esi),%ebx
41f84b:	57                   	push   %edi
41f84c:	ff 75 0c             	push   0xc(%ebp)
41f84f:	89 7e 10             	mov    %edi,0x10(%esi)
41f852:	53                   	push   %ebx
41f853:	e8 a9 45 00 00       	call   0x423e01
41f858:	83 c4 0c             	add    $0xc,%esp
41f85b:	33 c0                	xor    %eax,%eax
41f85d:	66 89 04 7b          	mov    %ax,(%ebx,%edi,2)
41f861:	8b c6                	mov    %esi,%eax
41f863:	5b                   	pop    %ebx
41f864:	eb 10                	jmp    0x41f876
41f866:	ff 75 0c             	push   0xc(%ebp)
41f869:	c6 45 08 00          	movb   $0x0,0x8(%ebp)
41f86d:	ff 75 08             	push   0x8(%ebp)
41f870:	57                   	push   %edi
41f871:	e8 48 56 fe ff       	call   0x404ebe
41f876:	5f                   	pop    %edi
41f877:	5e                   	pop    %esi
41f878:	5d                   	pop    %ebp
41f879:	c2 08 00             	ret    $0x8
41f87c:	55                   	push   %ebp
41f87d:	8b ec                	mov    %esp,%ebp
41f87f:	8b 55 08             	mov    0x8(%ebp),%edx
41f882:	56                   	push   %esi
41f883:	8d 72 02             	lea    0x2(%edx),%esi
41f886:	66 8b 02             	mov    (%edx),%ax
41f889:	83 c2 02             	add    $0x2,%edx
41f88c:	66 85 c0             	test   %ax,%ax
41f88f:	75 f5                	jne    0x41f886
41f891:	2b d6                	sub    %esi,%edx
41f893:	d1 fa                	sar    $1,%edx
41f895:	52                   	push   %edx
41f896:	ff 75 08             	push   0x8(%ebp)
41f899:	e8 05 00 00 00       	call   0x41f8a3
41f89e:	5e                   	pop    %esi
41f89f:	5d                   	pop    %ebp
41f8a0:	c2 04 00             	ret    $0x4
41f8a3:	55                   	push   %ebp
41f8a4:	8b ec                	mov    %esp,%ebp
41f8a6:	8b 45 0c             	mov    0xc(%ebp),%eax
41f8a9:	57                   	push   %edi
41f8aa:	8b f9                	mov    %ecx,%edi
41f8ac:	3b 47 14             	cmp    0x14(%edi),%eax
41f8af:	77 2b                	ja     0x41f8dc
41f8b1:	83 7f 14 08          	cmpl   $0x8,0x14(%edi)
41f8b5:	53                   	push   %ebx
41f8b6:	56                   	push   %esi
41f8b7:	8b df                	mov    %edi,%ebx
41f8b9:	72 02                	jb     0x41f8bd
41f8bb:	8b 1f                	mov    (%edi),%ebx
41f8bd:	8d 34 00             	lea    (%eax,%eax,1),%esi
41f8c0:	89 47 10             	mov    %eax,0x10(%edi)
41f8c3:	56                   	push   %esi
41f8c4:	ff 75 08             	push   0x8(%ebp)
41f8c7:	53                   	push   %ebx
41f8c8:	e8 13 40 02 00       	call   0x4438e0
41f8cd:	83 c4 0c             	add    $0xc,%esp
41f8d0:	33 c0                	xor    %eax,%eax
41f8d2:	66 89 04 1e          	mov    %ax,(%esi,%ebx,1)
41f8d6:	8b c7                	mov    %edi,%eax
41f8d8:	5e                   	pop    %esi
41f8d9:	5b                   	pop    %ebx
41f8da:	eb 10                	jmp    0x41f8ec
41f8dc:	ff 75 08             	push   0x8(%ebp)
41f8df:	c6 45 0c 00          	movb   $0x0,0xc(%ebp)
41f8e3:	ff 75 0c             	push   0xc(%ebp)
41f8e6:	50                   	push   %eax
41f8e7:	e8 7f 54 fe ff       	call   0x404d6b
41f8ec:	5f                   	pop    %edi
41f8ed:	5d                   	pop    %ebp
41f8ee:	c2 08 00             	ret    $0x8
41f8f1:	55                   	push   %ebp
41f8f2:	8b ec                	mov    %esp,%ebp
41f8f4:	8b 45 08             	mov    0x8(%ebp),%eax
41f8f7:	39 41 10             	cmp    %eax,0x10(%ecx)
41f8fa:	76 0f                	jbe    0x41f90b
41f8fc:	83 79 14 08          	cmpl   $0x8,0x14(%ecx)
41f900:	72 02                	jb     0x41f904
41f902:	8b 09                	mov    (%ecx),%ecx
41f904:	8d 04 41             	lea    (%ecx,%eax,2),%eax
41f907:	5d                   	pop    %ebp
41f908:	c2 04 00             	ret    $0x4
41f90b:	e8 c2 de ff ff       	call   0x41d7d2
41f910:	cc                   	int3
41f911:	8b 49 04             	mov    0x4(%ecx),%ecx
41f914:	85 c9                	test   %ecx,%ecx
41f916:	75 06                	jne    0x41f91e
41f918:	b8 cc 45 49 00       	mov    $0x4945cc,%eax
41f91d:	c3                   	ret
41f91e:	8b 41 18             	mov    0x18(%ecx),%eax
41f921:	85 c0                	test   %eax,%eax
41f923:	75 03                	jne    0x41f928
41f925:	8d 41 1c             	lea    0x1c(%ecx),%eax
41f928:	c3                   	ret
41f929:	55                   	push   %ebp
41f92a:	8b ec                	mov    %esp,%ebp
41f92c:	83 79 10 00          	cmpl   $0x0,0x10(%ecx)
41f930:	7e 0d                	jle    0x41f93f
41f932:	8b 45 08             	mov    0x8(%ebp),%eax
41f935:	c7 00 28 49 49 00    	movl   $0x494928,(%eax)
41f93b:	32 c0                	xor    %al,%al
41f93d:	eb 06                	jmp    0x41f945
41f93f:	83 49 10 ff          	orl    $0xffffffff,0x10(%ecx)
41f943:	b0 01                	mov    $0x1,%al
41f945:	5d                   	pop    %ebp
41f946:	c2 04 00             	ret    $0x4
41f949:	55                   	push   %ebp
41f94a:	8b ec                	mov    %esp,%ebp
41f94c:	8b 45 08             	mov    0x8(%ebp),%eax
41f94f:	83 ec 1c             	sub    $0x1c,%esp
41f952:	83 e0 17             	and    $0x17,%eax
41f955:	89 41 0c             	mov    %eax,0xc(%ecx)
41f958:	8b 49 10             	mov    0x10(%ecx),%ecx
41f95b:	56                   	push   %esi
41f95c:	23 c8                	and    %eax,%ecx
41f95e:	74 44                	je     0x41f9a4
41f960:	80 7d 0c 00          	cmpb   $0x0,0xc(%ebp)
41f964:	75 43                	jne    0x41f9a9
41f966:	f6 c1 04             	test   $0x4,%cl
41f969:	74 07                	je     0x41f972
41f96b:	be e4 46 49 00       	mov    $0x4946e4,%esi
41f970:	eb 10                	jmp    0x41f982
41f972:	f6 c1 02             	test   $0x2,%cl
41f975:	be fc 46 49 00       	mov    $0x4946fc,%esi
41f97a:	b8 14 47 49 00       	mov    $0x494714,%eax
41f97f:	0f 44 f0             	cmove  %eax,%esi