4e45ac:	55                   	push   %ebp
4e45ad:	e8 ce 5f ff ff       	call   0x4da580
4e45b2:	8d 46 18             	lea    0x18(%esi),%eax
4e45b5:	50                   	push   %eax
4e45b6:	e8 c5 5f ff ff       	call   0x4da580
4e45bb:	8d 46 2c             	lea    0x2c(%esi),%eax
4e45be:	50                   	push   %eax
4e45bf:	e8 bc 5f ff ff       	call   0x4da580
4e45c4:	ff 74 24 2c          	push   0x2c(%esp)
4e45c8:	c7 46 44 00 00 00 00 	movl   $0x0,0x44(%esi)
4e45cf:	ff 74 24 2c          	push   0x2c(%esp)
4e45d3:	c7 46 40 00 00 00 00 	movl   $0x0,0x40(%esi)
4e45da:	56                   	push   %esi
4e45db:	c7 46 48 01 00 00 00 	movl   $0x1,0x48(%esi)
4e45e2:	e8 a9 fc ff ff       	call   0x4e4290
4e45e7:	83 c4 18             	add    $0x18,%esp
4e45ea:	85 c0                	test   %eax,%eax
4e45ec:	75 3b                	jne    0x4e4629
4e45ee:	55                   	push   %ebp
4e45ef:	e8 ac 52 ff ff       	call   0x4d98a0
4e45f4:	8d 46 18             	lea    0x18(%esi),%eax
4e45f7:	50                   	push   %eax
4e45f8:	e8 a3 52 ff ff       	call   0x4d98a0
4e45fd:	8d 46 2c             	lea    0x2c(%esi),%eax
4e4600:	50                   	push   %eax
4e4601:	e8 9a 52 ff ff       	call   0x4d98a0
4e4606:	83 c4 0c             	add    $0xc,%esp
4e4609:	f6 46 48 01          	testb  $0x1,0x48(%esi)
4e460d:	74 13                	je     0x4e4622
4e460f:	68 04 01 00 00       	push   $0x104
4e4614:	68 ac 3f 61 00       	push   $0x613fac
4e4619:	56                   	push   %esi
4e461a:	e8 61 c1 ff ff       	call   0x4e0780
4e461f:	83 c4 0c             	add    $0xc,%esp
4e4622:	5d                   	pop    %ebp
4e4623:	5f                   	pop    %edi
4e4624:	5e                   	pop    %esi
4e4625:	33 c0                	xor    %eax,%eax
4e4627:	5b                   	pop    %ebx
4e4628:	c3                   	ret
4e4629:	57                   	push   %edi
4e462a:	e8 91 d9 ff ff       	call   0x4e1fc0
4e462f:	83 c4 04             	add    $0x4,%esp
4e4632:	83 3b 00             	cmpl   $0x0,(%ebx)
4e4635:	74 1b                	je     0x4e4652
4e4637:	56                   	push   %esi
4e4638:	e8 83 fb ff ff       	call   0x4e41c0
4e463d:	8b 33                	mov    (%ebx),%esi
4e463f:	83 c4 04             	add    $0x4,%esp
4e4642:	57                   	push   %edi
4e4643:	e8 f8 d9 ff ff       	call   0x4e2040
4e4648:	83 c4 04             	add    $0x4,%esp
4e464b:	8b c6                	mov    %esi,%eax
4e464d:	5d                   	pop    %ebp
4e464e:	5f                   	pop    %edi
4e464f:	5e                   	pop    %esi
4e4650:	5b                   	pop    %ebx
4e4651:	c3                   	ret
4e4652:	57                   	push   %edi
4e4653:	89 33                	mov    %esi,(%ebx)
4e4655:	e8 e6 d9 ff ff       	call   0x4e2040
4e465a:	83 c4 04             	add    $0x4,%esp
4e465d:	8b c6                	mov    %esi,%eax
4e465f:	5d                   	pop    %ebp
4e4660:	5f                   	pop    %edi
4e4661:	5e                   	pop    %esi
4e4662:	5b                   	pop    %ebx
4e4663:	c3                   	ret
4e4664:	cc                   	int3
4e4665:	cc                   	int3
4e4666:	cc                   	int3
4e4667:	cc                   	int3
4e4668:	cc                   	int3
4e4669:	cc                   	int3
4e466a:	cc                   	int3
4e466b:	cc                   	int3
4e466c:	cc                   	int3
4e466d:	cc                   	int3
4e466e:	cc                   	int3
4e466f:	cc                   	int3
4e4670:	53                   	push   %ebx
4e4671:	56                   	push   %esi
4e4672:	8b 74 24 18          	mov    0x18(%esp),%esi
4e4676:	33 db                	xor    %ebx,%ebx
4e4678:	57                   	push   %edi
4e4679:	56                   	push   %esi
4e467a:	e8 91 37 00 00       	call   0x4e7e10
4e467f:	56                   	push   %esi
4e4680:	e8 4b 35 00 00       	call   0x4e7bd0
4e4685:	8b f8                	mov    %eax,%edi
4e4687:	83 c4 08             	add    $0x8,%esp
4e468a:	85 ff                	test   %edi,%edi
4e468c:	74 24                	je     0x4e46b2
4e468e:	ff 74 24 14          	push   0x14(%esp)
4e4692:	57                   	push   %edi
4e4693:	e8 48 54 ff ff       	call   0x4d9ae0
4e4698:	83 c4 08             	add    $0x8,%esp
4e469b:	85 c0                	test   %eax,%eax
4e469d:	74 13                	je     0x4e46b2
4e469f:	ff 74 24 18          	push   0x18(%esp)
4e46a3:	57                   	push   %edi
4e46a4:	ff 74 24 18          	push   0x18(%esp)
4e46a8:	e8 b3 00 00 00       	call   0x4e4760
4e46ad:	83 c4 0c             	add    $0xc,%esp
4e46b0:	8b d8                	mov    %eax,%ebx
4e46b2:	56                   	push   %esi
4e46b3:	e8 18 34 00 00       	call   0x4e7ad0
4e46b8:	ff 74 24 14          	push   0x14(%esp)
4e46bc:	e8 8f 5d ff ff       	call   0x4da450
4e46c1:	83 c4 08             	add    $0x8,%esp
4e46c4:	8b c3                	mov    %ebx,%eax
4e46c6:	5f                   	pop    %edi
4e46c7:	5e                   	pop    %esi
4e46c8:	5b                   	pop    %ebx
4e46c9:	c3                   	ret
4e46ca:	cc                   	int3
4e46cb:	cc                   	int3
4e46cc:	cc                   	int3
4e46cd:	cc                   	int3
4e46ce:	cc                   	int3
4e46cf:	cc                   	int3
4e46d0:	56                   	push   %esi
4e46d1:	ff 74 24 18          	push   0x18(%esp)
4e46d5:	ff 74 24 18          	push   0x18(%esp)
4e46d9:	ff 74 24 18          	push   0x18(%esp)
4e46dd:	ff 74 24 18          	push   0x18(%esp)
4e46e1:	ff 74 24 18          	push   0x18(%esp)
4e46e5:	e8 06 04 00 00       	call   0x4e4af0
4e46ea:	ff 74 24 1c          	push   0x1c(%esp)
4e46ee:	8b f0                	mov    %eax,%esi
4e46f0:	e8 5b 5d ff ff       	call   0x4da450
4e46f5:	83 c4 18             	add    $0x18,%esp
4e46f8:	8b c6                	mov    %esi,%eax
4e46fa:	5e                   	pop    %esi
4e46fb:	c3                   	ret
4e46fc:	cc                   	int3
4e46fd:	cc                   	int3
4e46fe:	cc                   	int3
4e46ff:	cc                   	int3
4e4700:	53                   	push   %ebx
4e4701:	56                   	push   %esi
4e4702:	8b 74 24 18          	mov    0x18(%esp),%esi
4e4706:	33 db                	xor    %ebx,%ebx
4e4708:	57                   	push   %edi
4e4709:	56                   	push   %esi
4e470a:	e8 01 37 00 00       	call   0x4e7e10
4e470f:	56                   	push   %esi
4e4710:	e8 bb 34 00 00       	call   0x4e7bd0
4e4715:	8b f8                	mov    %eax,%edi
4e4717:	83 c4 08             	add    $0x8,%esp
4e471a:	85 ff                	test   %edi,%edi
4e471c:	74 24                	je     0x4e4742
4e471e:	ff 74 24 14          	push   0x14(%esp)
4e4722:	57                   	push   %edi
4e4723:	e8 b8 53 ff ff       	call   0x4d9ae0
4e4728:	83 c4 08             	add    $0x8,%esp
4e472b:	85 c0                	test   %eax,%eax
4e472d:	74 13                	je     0x4e4742
4e472f:	ff 74 24 18          	push   0x18(%esp)
4e4733:	57                   	push   %edi
4e4734:	ff 74 24 18          	push   0x18(%esp)
4e4738:	e8 23 00 00 00       	call   0x4e4760
4e473d:	83 c4 0c             	add    $0xc,%esp
4e4740:	8b d8                	mov    %eax,%ebx
4e4742:	56                   	push   %esi
4e4743:	e8 88 33 00 00       	call   0x4e7ad0
4e4748:	83 c4 04             	add    $0x4,%esp
4e474b:	8b c3                	mov    %ebx,%eax
4e474d:	5f                   	pop    %edi
4e474e:	5e                   	pop    %esi
4e474f:	5b                   	pop    %ebx
4e4750:	c3                   	ret
4e4751:	cc                   	int3
4e4752:	cc                   	int3
4e4753:	cc                   	int3
4e4754:	cc                   	int3
4e4755:	cc                   	int3
4e4756:	cc                   	int3
4e4757:	cc                   	int3
4e4758:	cc                   	int3
4e4759:	cc                   	int3
4e475a:	cc                   	int3
4e475b:	cc                   	int3
4e475c:	cc                   	int3
4e475d:	cc                   	int3
4e475e:	cc                   	int3
4e475f:	cc                   	int3
4e4760:	b8 10 00 00 00       	mov    $0x10,%eax
4e4765:	e8 46 d0 0e 00       	call   0x5d17b0
4e476a:	53                   	push   %ebx
4e476b:	55                   	push   %ebp
4e476c:	8b 6c 24 24          	mov    0x24(%esp),%ebp
4e4770:	8b 5d 1c             	mov    0x1c(%ebp),%ebx
4e4773:	89 5c 24 0c          	mov    %ebx,0xc(%esp)
4e4777:	85 db                	test   %ebx,%ebx
4e4779:	75 10                	jne    0x4e478b
4e477b:	8b 44 24 1c          	mov    0x1c(%esp),%eax
4e477f:	5d                   	pop    %ebp
4e4780:	89 58 04             	mov    %ebx,0x4(%eax)
4e4783:	8d 43 01             	lea    0x1(%ebx),%eax
4e4786:	5b                   	pop    %ebx
4e4787:	83 c4 10             	add    $0x10,%esp
4e478a:	c3                   	ret
4e478b:	56                   	push   %esi
4e478c:	57                   	push   %edi
4e478d:	8b 7c 24 28          	mov    0x28(%esp),%edi
4e4791:	8d 34 1b             	lea    (%ebx,%ebx,1),%esi
4e4794:	56                   	push   %esi
4e4795:	57                   	push   %edi
4e4796:	e8 05 5e ff ff       	call   0x4da5a0
4e479b:	83 c4 08             	add    $0x8,%esp
4e479e:	85 c0                	test   %eax,%eax
4e47a0:	0f 84 36 03 00 00    	je     0x4e4adc
4e47a6:	8b 45 24             	mov    0x24(%ebp),%eax
4e47a9:	33 c9                	xor    %ecx,%ecx
4e47ab:	31 47 0c             	xor    %eax,0xc(%edi)
4e47ae:	8b 47 04             	mov    0x4(%edi),%eax
4e47b1:	8b 55 18             	mov    0x18(%ebp),%edx
4e47b4:	8b 2f                	mov    (%edi),%ebp
4e47b6:	89 54 24 10          	mov    %edx,0x10(%esp)
4e47ba:	66 0f 6e c0          	movd   %eax,%xmm0
4e47be:	89 44 24 1c          	mov    %eax,0x1c(%esp)
4e47c2:	66 0f 70 d0 00       	pshufd $0x0,%xmm0,%xmm2
4e47c7:	85 f6                	test   %esi,%esi
4e47c9:	0f 8e 1d 01 00 00    	jle    0x4e48ec
4e47cf:	83 fe 10             	cmp    $0x10,%esi
4e47d2:	0f 82 fb 00 00 00    	jb     0x4e48d3
4e47d8:	0f 28 1d a0 20 61 00 	movaps 0x6120a0,%xmm3
4e47df:	8b c6                	mov    %esi,%eax
4e47e1:	25 0f 00 00 80       	and    $0x8000000f,%eax
4e47e6:	79 05                	jns    0x4e47ed
4e47e8:	48                   	dec    %eax
4e47e9:	83 c8 f0             	or     $0xfffffff0,%eax
4e47ec:	40                   	inc    %eax
4e47ed:	8b d6                	mov    %esi,%edx
4e47ef:	2b d0                	sub    %eax,%edx
4e47f1:	b8 1f 00 00 00       	mov    $0x1f,%eax
4e47f6:	89 54 24 18          	mov    %edx,0x18(%esp)
4e47fa:	8d 55 20             	lea    0x20(%ebp),%edx
4e47fd:	8b 5c 24 18          	mov    0x18(%esp),%ebx
4e4801:	66 0f 6e e0          	movd   %eax,%xmm4
4e4805:	66 66 66 0f 1f 84 00 	data16 data16 nopw 0x0(%eax,%eax,1)
4e480c:	00 00 00 00
4e4810:	66 0f 6e c1          	movd   %ecx,%xmm0
4e4814:	8d 41 04             	lea    0x4(%ecx),%eax
4e4817:	66 0f 70 c0 00       	pshufd $0x0,%xmm0,%xmm0
4e481c:	8d 52 40             	lea    0x40(%edx),%edx
4e481f:	66 0f fe c3          	paddd  %xmm3,%xmm0
4e4823:	0f 57 c9             	xorps  %xmm1,%xmm1
4e4826:	66 0f fa c2          	psubd  %xmm2,%xmm0
4e482a:	66 0f d2 c4          	psrld  %xmm4,%xmm0
4e482e:	66 0f fa c8          	psubd  %xmm0,%xmm1
4e4832:	0f 10 42 a0          	movups -0x60(%edx),%xmm0
4e4836:	66 0f db c8          	pand   %xmm0,%xmm1
4e483a:	66 0f 6e c0          	movd   %eax,%xmm0
4e483e:	66 0f 70 c0 00       	pshufd $0x0,%xmm0,%xmm0
4e4843:	8d 41 08             	lea    0x8(%ecx),%eax
4e4846:	66 0f fe c3          	paddd  %xmm3,%xmm0
4e484a:	0f 11 4a a0          	movups %xmm1,-0x60(%edx)
4e484e:	66 0f fa c2          	psubd  %xmm2,%xmm0
4e4852:	0f 57 c9             	xorps  %xmm1,%xmm1
4e4855:	66 0f d2 c4          	psrld  %xmm4,%xmm0
4e4859:	66 0f fa c8          	psubd  %xmm0,%xmm1
4e485d:	0f 10 42 b0          	movups -0x50(%edx),%xmm0
4e4861:	66 0f db c8          	pand   %xmm0,%xmm1
4e4865:	66 0f 6e c0          	movd   %eax,%xmm0
4e4869:	66 0f 70 c0 00       	pshufd $0x0,%xmm0,%xmm0
4e486e:	8d 41 0c             	lea    0xc(%ecx),%eax
4e4871:	66 0f fe c3          	paddd  %xmm3,%xmm0
4e4875:	83 c1 10             	add    $0x10,%ecx
4e4878:	66 0f fa c2          	psubd  %xmm2,%xmm0
4e487c:	0f 11 4a b0          	movups %xmm1,-0x50(%edx)
4e4880:	0f 57 c9             	xorps  %xmm1,%xmm1
4e4883:	66 0f d2 c4          	psrld  %xmm4,%xmm0
4e4887:	66 0f fa c8          	psubd  %xmm0,%xmm1
4e488b:	0f 10 42 c0          	movups -0x40(%edx),%xmm0
4e488f:	66 0f db c8          	pand   %xmm0,%xmm1
4e4893:	66 0f 6e c0          	movd   %eax,%xmm0
4e4897:	66 0f 70 c0 00       	pshufd $0x0,%xmm0,%xmm0
4e489c:	66 0f fe c3          	paddd  %xmm3,%xmm0
4e48a0:	66 0f fa c2          	psubd  %xmm2,%xmm0
4e48a4:	0f 11 4a c0          	movups %xmm1,-0x40(%edx)
4e48a8:	0f 57 c9             	xorps  %xmm1,%xmm1
4e48ab:	66 0f d2 c4          	psrld  %xmm4,%xmm0
4e48af:	66 0f fa c8          	psubd  %xmm0,%xmm1
4e48b3:	0f 10 42 d0          	movups -0x30(%edx),%xmm0
4e48b7:	66 0f db c8          	pand   %xmm0,%xmm1
4e48bb:	0f 11 4a d0          	movups %xmm1,-0x30(%edx)
4e48bf:	3b cb                	cmp    %ebx,%ecx
4e48c1:	0f 8c 49 ff ff ff    	jl     0x4e4810
4e48c7:	8b 5c 24 14          	mov    0x14(%esp),%ebx
4e48cb:	3b ce                	cmp    %esi,%ecx
4e48cd:	7d 19                	jge    0x4e48e8
4e48cf:	8b 44 24 1c          	mov    0x1c(%esp),%eax
4e48d3:	8b d1                	mov    %ecx,%edx
4e48d5:	2b d0                	sub    %eax,%edx
4e48d7:	8b c2                	mov    %edx,%eax
4e48d9:	42                   	inc    %edx
4e48da:	c1 e8 1f             	shr    $0x1f,%eax
4e48dd:	f7 d8                	neg    %eax
4e48df:	21 44 8d 00          	and    %eax,0x0(%ebp,%ecx,4)
4e48e3:	41                   	inc    %ecx
4e48e4:	3b ce                	cmp    %esi,%ecx
4e48e6:	7c ef                	jl     0x4e48d7
4e48e8:	8b 54 24 10          	mov    0x10(%esp),%edx
4e48ec:	8b 44 24 2c          	mov    0x2c(%esp),%eax
4e48f0:	89 77 04             	mov    %esi,0x4(%edi)
4e48f3:	33 f6                	xor    %esi,%esi
4e48f5:	8b 48 40             	mov    0x40(%eax),%ecx
4e48f8:	89 4c 24 1c          	mov    %ecx,0x1c(%esp)
4e48fc:	85 db                	test   %ebx,%ebx
4e48fe:	7e 4a                	jle    0x4e494a
4e4900:	89 5c 24 2c          	mov    %ebx,0x2c(%esp)
4e4904:	8b 45 00             	mov    0x0(%ebp),%eax
4e4907:	0f af c1             	imul   %ecx,%eax
4e490a:	50                   	push   %eax
4e490b:	53                   	push   %ebx
4e490c:	52                   	push   %edx
4e490d:	55                   	push   %ebp
4e490e:	e8 ed bf f2 ff       	call   0x410900
4e4913:	8b 54 9d 00          	mov    0x0(%ebp,%ebx,4),%edx
4e4917:	83 c4 10             	add    $0x10,%esp
4e491a:	8b 4c 24 1c          	mov    0x1c(%esp),%ecx
4e491e:	8d 3c 32             	lea    (%edx,%esi,1),%edi
4e4921:	03 f8                	add    %eax,%edi
4e4923:	b8 01 00 00 00       	mov    $0x1,%eax
4e4928:	3b fa                	cmp    %edx,%edi
4e492a:	89 7c 9d 00          	mov    %edi,0x0(%ebp,%ebx,4)
4e492e:	0f 45 f0             	cmovne %eax,%esi
4e4931:	3b d7                	cmp    %edi,%edx
4e4933:	8b 54 24 10          	mov    0x10(%esp),%edx
4e4937:	1b c0                	sbb    %eax,%eax
4e4939:	83 c5 04             	add    $0x4,%ebp
4e493c:	40                   	inc    %eax
4e493d:	23 f0                	and    %eax,%esi
4e493f:	83 6c 24 2c 01       	subl   $0x1,0x2c(%esp)
4e4944:	75 be                	jne    0x4e4904
4e4946:	8b 7c 24 28          	mov    0x28(%esp),%edi
4e494a:	8b 6c 24 24          	mov    0x24(%esp),%ebp
4e494e:	53                   	push   %ebx
4e494f:	55                   	push   %ebp
4e4950:	e8 4b 5c ff ff       	call   0x4da5a0
4e4955:	83 c4 08             	add    $0x8,%esp
4e4958:	85 c0                	test   %eax,%eax
4e495a:	0f 84 7c 01 00 00    	je     0x4e4adc
4e4960:	89 5d 04             	mov    %ebx,0x4(%ebp)
4e4963:	8b 47 0c             	mov    0xc(%edi),%eax
4e4966:	89 45 0c             	mov    %eax,0xc(%ebp)
4e4969:	8d 04 9d 00 00 00 00 	lea    0x0(,%ebx,4),%eax
4e4970:	8b 3f                	mov    (%edi),%edi