4244f6:	8b 03                	mov    (%ebx),%eax
4244f8:	6a 00                	push   $0x0
4244fa:	8b 48 04             	mov    0x4(%eax),%ecx
4244fd:	8b 44 19 0c          	mov    0xc(%ecx,%ebx,1),%eax
424501:	03 cb                	add    %ebx,%ecx
424503:	0b c6                	or     %esi,%eax
424505:	33 f6                	xor    %esi,%esi
424507:	39 71 38             	cmp    %esi,0x38(%ecx)
42450a:	0f 45 d6             	cmovne %esi,%edx
42450d:	0b d0                	or     %eax,%edx
42450f:	52                   	push   %edx
424510:	e8 5b 76 fe ff       	call   0x40bb70
424515:	c7 45 fc 04 00 00 00 	movl   $0x4,-0x4(%ebp)
42451c:	e8 a9 46 04 00       	call   0x468bca
424521:	84 c0                	test   %al,%al
424523:	75 08                	jne    0x42452d
424525:	8b 4d dc             	mov    -0x24(%ebp),%ecx
424528:	e8 93 d1 fe ff       	call   0x4116c0
42452d:	c6 45 fc 05          	movb   $0x5,-0x4(%ebp)
424531:	8b 4d dc             	mov    -0x24(%ebp),%ecx
424534:	8b 01                	mov    (%ecx),%eax
424536:	8b 40 04             	mov    0x4(%eax),%eax
424539:	8b 7c 08 38          	mov    0x38(%eax,%ecx,1),%edi
42453d:	85 ff                	test   %edi,%edi
42453f:	74 11                	je     0x424552
424541:	8b 07                	mov    (%edi),%eax
424543:	8b 70 08             	mov    0x8(%eax),%esi
424546:	8b ce                	mov    %esi,%ecx
424548:	ff 15 d4 e2 49 00    	call   *0x49e2d4
42454e:	8b cf                	mov    %edi,%ecx
424550:	ff d6                	call   *%esi
424552:	8b c3                	mov    %ebx,%eax
424554:	8b 4d f4             	mov    -0xc(%ebp),%ecx
424557:	64 89 0d 00 00 00 00 	mov    %ecx,%fs:0x0
42455e:	59                   	pop    %ecx
42455f:	5f                   	pop    %edi
424560:	5e                   	pop    %esi
424561:	5b                   	pop    %ebx
424562:	8b e5                	mov    %ebp,%esp
424564:	5d                   	pop    %ebp
424565:	c2 04 00             	ret    $0x4
424568:	cc                   	int3
424569:	cc                   	int3
42456a:	cc                   	int3
42456b:	cc                   	int3
42456c:	cc                   	int3
42456d:	cc                   	int3
42456e:	cc                   	int3
42456f:	cc                   	int3
424570:	68 9c 41 4b 00       	push   $0x4b419c
424575:	e8 e0 41 04 00       	call   0x46875a
42457a:	cc                   	int3
42457b:	cc                   	int3
42457c:	cc                   	int3
42457d:	cc                   	int3
42457e:	cc                   	int3
42457f:	cc                   	int3
424580:	55                   	push   %ebp
424581:	8b ec                	mov    %esp,%ebp
424583:	83 e4 f8             	and    $0xfffffff8,%esp
424586:	81 ec 14 01 00 00    	sub    $0x114,%esp
42458c:	a1 14 40 4c 00       	mov    0x4c4014,%eax
424591:	33 c4                	xor    %esp,%eax
424593:	89 84 24 10 01 00 00 	mov    %eax,0x110(%esp)
42459a:	8b 45 0c             	mov    0xc(%ebp),%eax
42459d:	53                   	push   %ebx
42459e:	8b 5d 10             	mov    0x10(%ebp),%ebx
4245a1:	89 44 24 08          	mov    %eax,0x8(%esp)
4245a5:	56                   	push   %esi
4245a6:	8b f2                	mov    %edx,%esi
4245a8:	57                   	push   %edi
4245a9:	8b f9                	mov    %ecx,%edi
4245ab:	85 db                	test   %ebx,%ebx
4245ad:	0f 84 03 01 00 00    	je     0x4246b6
4245b3:	85 f6                	test   %esi,%esi
4245b5:	0f 84 fb 00 00 00    	je     0x4246b6
4245bb:	68 00 01 00 00       	push   $0x100
4245c0:	8d 44 24 1c          	lea    0x1c(%esp),%eax
4245c4:	6a 00                	push   $0x0
4245c6:	50                   	push   %eax
4245c7:	e8 e4 75 04 00       	call   0x46bbb0
4245cc:	8b 44 24 1c          	mov    0x1c(%esp),%eax
4245d0:	83 c4 0c             	add    $0xc,%esp
4245d3:	8b c8                	mov    %eax,%ecx
4245d5:	c7 44 24 14 00 01 00 	movl   $0x100,0x14(%esp)
4245dc:	00
4245dd:	8d 14 58             	lea    (%eax,%ebx,2),%edx
4245e0:	3b c2                	cmp    %edx,%eax
4245e2:	74 19                	je     0x4245fd
4245e4:	0f b7 01             	movzwl (%ecx),%eax
4245e7:	66 3b 44 24 14       	cmp    0x14(%esp),%ax
4245ec:	73 3e                	jae    0x42462c
4245ee:	0f b6 c0             	movzbl %al,%eax
4245f1:	83 c1 02             	add    $0x2,%ecx
4245f4:	c6 44 04 18 01       	movb   $0x1,0x18(%esp,%eax,1)
4245f9:	3b ca                	cmp    %edx,%ecx
4245fb:	75 e7                	jne    0x4245e4
4245fd:	8b 54 24 14          	mov    0x14(%esp),%edx
424601:	8d 46 ff             	lea    -0x1(%esi),%eax
424604:	83 c9 ff             	or     $0xffffffff,%ecx
424607:	3b c1                	cmp    %ecx,%eax
424609:	0f 42 c8             	cmovb  %eax,%ecx
42460c:	8d 0c 4f             	lea    (%edi,%ecx,2),%ecx
42460f:	90                   	nop
424610:	0f b7 01             	movzwl (%ecx),%eax
424613:	66 3b c2             	cmp    %dx,%ax
424616:	73 07                	jae    0x42461f
424618:	80 7c 04 18 00       	cmpb   $0x0,0x18(%esp,%eax,1)
42461d:	75 7c                	jne    0x42469b
42461f:	3b cf                	cmp    %edi,%ecx
424621:	0f 84 8f 00 00 00    	je     0x4246b6
424627:	83 e9 02             	sub    $0x2,%ecx
42462a:	eb e4                	jmp    0x424610
42462c:	8d 46 ff             	lea    -0x1(%esi),%eax
42462f:	83 c9 ff             	or     $0xffffffff,%ecx
424632:	3b c1                	cmp    %ecx,%eax
424634:	0f 42 c8             	cmovb  %eax,%ecx
424637:	8d 14 4f             	lea    (%edi,%ecx,2),%edx
42463a:	66 0f 1f 44 00 00    	nopw   0x0(%eax,%eax,1)
424640:	8b 44 24 10          	mov    0x10(%esp),%eax
424644:	8b cb                	mov    %ebx,%ecx
424646:	85 db                	test   %ebx,%ebx
424648:	74 13                	je     0x42465d
42464a:	0f b7 32             	movzwl (%edx),%esi
42464d:	0f 1f 00             	nopl   (%eax)
424650:	66 39 30             	cmp    %si,(%eax)
424653:	74 11                	je     0x424666
424655:	83 c0 02             	add    $0x2,%eax
424658:	83 e9 01             	sub    $0x1,%ecx
42465b:	75 f3                	jne    0x424650
42465d:	3b d7                	cmp    %edi,%edx
42465f:	74 20                	je     0x424681
424661:	83 ea 02             	sub    $0x2,%edx
424664:	eb da                	jmp    0x424640
424666:	2b d7                	sub    %edi,%edx
424668:	d1 fa                	sar    $1,%edx
42466a:	8b c2                	mov    %edx,%eax
42466c:	5f                   	pop    %edi
42466d:	5e                   	pop    %esi
42466e:	5b                   	pop    %ebx
42466f:	8b 8c 24 10 01 00 00 	mov    0x110(%esp),%ecx
424676:	33 cc                	xor    %esp,%ecx
424678:	e8 4d 53 04 00       	call   0x4699ca
42467d:	8b e5                	mov    %ebp,%esp
42467f:	5d                   	pop    %ebp
424680:	c3                   	ret
424681:	83 ca ff             	or     $0xffffffff,%edx
424684:	8b c2                	mov    %edx,%eax
424686:	5f                   	pop    %edi
424687:	5e                   	pop    %esi
424688:	5b                   	pop    %ebx
424689:	8b 8c 24 10 01 00 00 	mov    0x110(%esp),%ecx
424690:	33 cc                	xor    %esp,%ecx
424692:	e8 33 53 04 00       	call   0x4699ca
424697:	8b e5                	mov    %ebp,%esp
424699:	5d                   	pop    %ebp
42469a:	c3                   	ret
42469b:	2b cf                	sub    %edi,%ecx
42469d:	d1 f9                	sar    $1,%ecx
42469f:	8b c1                	mov    %ecx,%eax
4246a1:	5f                   	pop    %edi
4246a2:	5e                   	pop    %esi
4246a3:	5b                   	pop    %ebx
4246a4:	8b 8c 24 10 01 00 00 	mov    0x110(%esp),%ecx
4246ab:	33 cc                	xor    %esp,%ecx
4246ad:	e8 18 53 04 00       	call   0x4699ca
4246b2:	8b e5                	mov    %ebp,%esp
4246b4:	5d                   	pop    %ebp
4246b5:	c3                   	ret
4246b6:	8b 8c 24 1c 01 00 00 	mov    0x11c(%esp),%ecx
4246bd:	83 c8 ff             	or     $0xffffffff,%eax
4246c0:	5f                   	pop    %edi
4246c1:	5e                   	pop    %esi
4246c2:	5b                   	pop    %ebx
4246c3:	33 cc                	xor    %esp,%ecx
4246c5:	e8 00 53 04 00       	call   0x4699ca
4246ca:	8b e5                	mov    %ebp,%esp
4246cc:	5d                   	pop    %ebp
4246cd:	c3                   	ret
4246ce:	cc                   	int3
4246cf:	cc                   	int3
4246d0:	55                   	push   %ebp
4246d1:	8b ec                	mov    %esp,%ebp
4246d3:	83 ec 14             	sub    $0x14,%esp
4246d6:	53                   	push   %ebx
4246d7:	8b 5d 10             	mov    0x10(%ebp),%ebx
4246da:	56                   	push   %esi
4246db:	8b f1                	mov    %ecx,%esi
4246dd:	57                   	push   %edi
4246de:	8b 7d 0c             	mov    0xc(%ebp),%edi
4246e1:	c7 06 00 00 00 00    	movl   $0x0,(%esi)
4246e7:	c7 46 10 00 00 00 00 	movl   $0x0,0x10(%esi)
4246ee:	c7 46 14 00 00 00 00 	movl   $0x0,0x14(%esi)
4246f5:	8b 57 10             	mov    0x10(%edi),%edx
4246f8:	8b 4b 10             	mov    0x10(%ebx),%ecx
4246fb:	89 55 f4             	mov    %edx,-0xc(%ebp)
4246fe:	89 4d f0             	mov    %ecx,-0x10(%ebp)
424701:	8d 04 11             	lea    (%ecx,%edx,1),%eax
424704:	89 45 fc             	mov    %eax,-0x4(%ebp)
424707:	8b 47 14             	mov    0x14(%edi),%eax
42470a:	2b c2                	sub    %edx,%eax
42470c:	3b c8                	cmp    %eax,%ecx
42470e:	8b 43 14             	mov    0x14(%ebx),%eax
424711:	77 60                	ja     0x424773
424713:	3b 47 14             	cmp    0x14(%edi),%eax
424716:	77 5b                	ja     0x424773
424718:	0f 10 07             	movups (%edi),%xmm0
42471b:	33 c0                	xor    %eax,%eax
42471d:	0f 11 06             	movups %xmm0,(%esi)
424720:	f3 0f 7e 47 10       	movq   0x10(%edi),%xmm0
424725:	66 0f d6 46 10       	movq   %xmm0,0x10(%esi)
42472a:	c7 47 10 00 00 00 00 	movl   $0x0,0x10(%edi)
424731:	c7 47 14 07 00 00 00 	movl   $0x7,0x14(%edi)
424738:	66 89 07             	mov    %ax,(%edi)
42473b:	8b fe                	mov    %esi,%edi
42473d:	83 7e 14 08          	cmpl   $0x8,0x14(%esi)
424741:	72 02                	jb     0x424745
424743:	8b 3e                	mov    (%esi),%edi
424745:	83 7b 14 08          	cmpl   $0x8,0x14(%ebx)
424749:	72 02                	jb     0x42474d
42474b:	8b 1b                	mov    (%ebx),%ebx
42474d:	8d 04 4d 02 00 00 00 	lea    0x2(,%ecx,2),%eax
424754:	50                   	push   %eax
424755:	8d 04 57             	lea    (%edi,%edx,2),%eax
424758:	53                   	push   %ebx
424759:	50                   	push   %eax
42475a:	e8 c1 6e 04 00       	call   0x46b620
42475f:	8b 45 fc             	mov    -0x4(%ebp),%eax
424762:	83 c4 0c             	add    $0xc,%esp
424765:	89 46 10             	mov    %eax,0x10(%esi)
424768:	8b c6                	mov    %esi,%eax
42476a:	5f                   	pop    %edi
42476b:	5e                   	pop    %esi
42476c:	5b                   	pop    %ebx
42476d:	8b e5                	mov    %ebp,%esp
42476f:	5d                   	pop    %ebp
424770:	c2 0c 00             	ret    $0xc
424773:	2b c1                	sub    %ecx,%eax
424775:	3b d0                	cmp    %eax,%edx
424777:	77 65                	ja     0x4247de
424779:	0f 10 03             	movups (%ebx),%xmm0
42477c:	33 c0                	xor    %eax,%eax
42477e:	03 d2                	add    %edx,%edx
424780:	89 55 f8             	mov    %edx,-0x8(%ebp)
424783:	0f 11 06             	movups %xmm0,(%esi)
424786:	f3 0f 7e 43 10       	movq   0x10(%ebx),%xmm0
42478b:	66 0f d6 46 10       	movq   %xmm0,0x10(%esi)
424790:	66 89 03             	mov    %ax,(%ebx)
424793:	8d 04 4d 02 00 00 00 	lea    0x2(,%ecx,2),%eax
42479a:	c7 43 10 00 00 00 00 	movl   $0x0,0x10(%ebx)
4247a1:	c7 43 14 07 00 00 00 	movl   $0x7,0x14(%ebx)
4247a8:	8b 1e                	mov    (%esi),%ebx
4247aa:	50                   	push   %eax
4247ab:	53                   	push   %ebx
4247ac:	8d 04 1a             	lea    (%edx,%ebx,1),%eax
4247af:	50                   	push   %eax
4247b0:	e8 6b 6e 04 00       	call   0x46b620
4247b5:	83 c4 0c             	add    $0xc,%esp
4247b8:	83 7f 14 08          	cmpl   $0x8,0x14(%edi)
4247bc:	72 02                	jb     0x4247c0
4247be:	8b 3f                	mov    (%edi),%edi
4247c0:	ff 75 f8             	push   -0x8(%ebp)
4247c3:	57                   	push   %edi
4247c4:	53                   	push   %ebx
4247c5:	e8 56 6e 04 00       	call   0x46b620
4247ca:	8b 45 fc             	mov    -0x4(%ebp),%eax
4247cd:	83 c4 0c             	add    $0xc,%esp
4247d0:	89 46 10             	mov    %eax,0x10(%esi)
4247d3:	8b c6                	mov    %esi,%eax
4247d5:	5f                   	pop    %edi
4247d6:	5e                   	pop    %esi
4247d7:	5b                   	pop    %ebx
4247d8:	8b e5                	mov    %ebp,%esp
4247da:	5d                   	pop    %ebp
4247db:	c2 0c 00             	ret    $0xc
4247de:	b8 fe ff ff 7f       	mov    $0x7ffffffe,%eax
4247e3:	2b c2                	sub    %edx,%eax
4247e5:	3b c1                	cmp    %ecx,%eax
4247e7:	0f 82 91 00 00 00    	jb     0x42487e
4247ed:	8b 45 fc             	mov    -0x4(%ebp),%eax
4247f0:	83 c8 07             	or     $0x7,%eax
4247f3:	3d fe ff ff 7f       	cmp    $0x7ffffffe,%eax
4247f8:	76 07                	jbe    0x424801
4247fa:	b8 fe ff ff 7f       	mov    $0x7ffffffe,%eax
4247ff:	eb 0a                	jmp    0x42480b
424801:	b9 0a 00 00 00       	mov    $0xa,%ecx
424806:	3b c1                	cmp    %ecx,%eax
424808:	0f 42 c1             	cmovb  %ecx,%eax
42480b:	33 c9                	xor    %ecx,%ecx
42480d:	89 45 f8             	mov    %eax,-0x8(%ebp)
424810:	83 c0 01             	add    $0x1,%eax
424813:	0f 92 c1             	setb   %cl
424816:	f7 d9                	neg    %ecx
424818:	0b c8                	or     %eax,%ecx
42481a:	51                   	push   %ecx
42481b:	8b ce                	mov    %esi,%ecx
42481d:	e8 ee d8 fd ff       	call   0x402110
424822:	8b c8                	mov    %eax,%ecx
424824:	8b 45 fc             	mov    -0x4(%ebp),%eax
424827:	89 46 10             	mov    %eax,0x10(%esi)
42482a:	8b 45 f8             	mov    -0x8(%ebp),%eax
42482d:	89 0e                	mov    %ecx,(%esi)
42482f:	89 46 14             	mov    %eax,0x14(%esi)
424832:	83 7f 14 08          	cmpl   $0x8,0x14(%edi)
424836:	89 4d ec             	mov    %ecx,-0x14(%ebp)
424839:	72 02                	jb     0x42483d
42483b:	8b 3f                	mov    (%edi),%edi
42483d:	8b 45 f4             	mov    -0xc(%ebp),%eax
424840:	03 c0                	add    %eax,%eax
424842:	50                   	push   %eax
424843:	57                   	push   %edi
424844:	51                   	push   %ecx
424845:	89 45 f4             	mov    %eax,-0xc(%ebp)
424848:	e8 d3 6d 04 00       	call   0x46b620
42484d:	83 c4 0c             	add    $0xc,%esp
424850:	83 7b 14 08          	cmpl   $0x8,0x14(%ebx)
424854:	72 02                	jb     0x424858
424856:	8b 1b                	mov    (%ebx),%ebx
424858:	8b 4d f0             	mov    -0x10(%ebp),%ecx
42485b:	8d 0c 4d 02 00 00 00 	lea    0x2(,%ecx,2),%ecx
424862:	51                   	push   %ecx
424863:	8b 4d f4             	mov    -0xc(%ebp),%ecx
424866:	03 4d ec             	add    -0x14(%ebp),%ecx
424869:	53                   	push   %ebx
42486a:	51                   	push   %ecx
42486b:	e8 b0 6d 04 00       	call   0x46b620
424870:	83 c4 0c             	add    $0xc,%esp
424873:	8b c6                	mov    %esi,%eax
424875:	5f                   	pop    %edi
424876:	5e                   	pop    %esi
424877:	5b                   	pop    %ebx
424878:	8b e5                	mov    %ebp,%esp
42487a:	5d                   	pop    %ebp
42487b:	c2 0c 00             	ret    $0xc
42487e:	e8 5d cb fd ff       	call   0x4013e0
424883:	cc                   	int3
424884:	cc                   	int3
424885:	cc                   	int3
424886:	cc                   	int3
424887:	cc                   	int3
424888:	cc                   	int3
424889:	cc                   	int3
42488a:	cc                   	int3
42488b:	cc                   	int3
42488c:	cc                   	int3
42488d:	cc                   	int3
42488e:	cc                   	int3
42488f:	cc                   	int3
424890:	55                   	push   %ebp
424891:	8b ec                	mov    %esp,%ebp