4ea543:	83 7c 88 fc 00       	cmpl   $0x0,-0x4(%eax,%ecx,4)
4ea548:	75 1c                	jne    0x4ea566
4ea54a:	68 e1 00 00 00       	push   $0xe1
4ea54f:	68 e0 50 61 00       	push   $0x6150e0
4ea554:	6a 6b                	push   $0x6b
4ea556:	6a 6b                	push   $0x6b
4ea558:	6a 03                	push   $0x3
4ea55a:	e8 21 ea fe ff       	call   0x4d8f80
4ea55f:	83 c4 14             	add    $0x14,%esp
4ea562:	33 c0                	xor    %eax,%eax
4ea564:	5e                   	pop    %esi
4ea565:	c3                   	ret
4ea566:	53                   	push   %ebx
4ea567:	57                   	push   %edi
4ea568:	ff 74 24 20          	push   0x20(%esp)
4ea56c:	8b 7c 24 14          	mov    0x14(%esp),%edi
4ea570:	56                   	push   %esi
4ea571:	ff 74 24 20          	push   0x20(%esp)
4ea575:	8b 74 24 20          	mov    0x20(%esp),%esi
4ea579:	56                   	push   %esi
4ea57a:	57                   	push   %edi
4ea57b:	e8 30 00 00 00       	call   0x4ea5b0
4ea580:	8b d8                	mov    %eax,%ebx
4ea582:	83 c4 14             	add    $0x14,%esp
4ea585:	85 db                	test   %ebx,%ebx
4ea587:	74 1a                	je     0x4ea5a3
4ea589:	85 ff                	test   %edi,%edi
4ea58b:	74 09                	je     0x4ea596
4ea58d:	57                   	push   %edi
4ea58e:	e8 bd fe fe ff       	call   0x4da450
4ea593:	83 c4 04             	add    $0x4,%esp
4ea596:	85 f6                	test   %esi,%esi
4ea598:	74 09                	je     0x4ea5a3
4ea59a:	56                   	push   %esi
4ea59b:	e8 b0 fe fe ff       	call   0x4da450
4ea5a0:	83 c4 04             	add    $0x4,%esp
4ea5a3:	5f                   	pop    %edi
4ea5a4:	8b c3                	mov    %ebx,%eax
4ea5a6:	5b                   	pop    %ebx
4ea5a7:	5e                   	pop    %esi
4ea5a8:	c3                   	ret
4ea5a9:	cc                   	int3
4ea5aa:	cc                   	int3
4ea5ab:	cc                   	int3
4ea5ac:	cc                   	int3
4ea5ad:	cc                   	int3
4ea5ae:	cc                   	int3
4ea5af:	cc                   	int3
4ea5b0:	b8 34 00 00 00       	mov    $0x34,%eax
4ea5b5:	e8 f6 71 0e 00       	call   0x5d17b0
4ea5ba:	53                   	push   %ebx
4ea5bb:	55                   	push   %ebp
4ea5bc:	8b 6c 24 50          	mov    0x50(%esp),%ebp
4ea5c0:	56                   	push   %esi
4ea5c1:	57                   	push   %edi
4ea5c2:	55                   	push   %ebp
4ea5c3:	e8 48 d8 ff ff       	call   0x4e7e10
4ea5c8:	83 c4 04             	add    $0x4,%esp
4ea5cb:	83 7c 24 48 00       	cmpl   $0x0,0x48(%esp)
4ea5d0:	75 0d                	jne    0x4ea5df
4ea5d2:	55                   	push   %ebp
4ea5d3:	e8 f8 d5 ff ff       	call   0x4e7bd0
4ea5d8:	83 c4 04             	add    $0x4,%esp
4ea5db:	89 44 24 48          	mov    %eax,0x48(%esp)
4ea5df:	55                   	push   %ebp
4ea5e0:	e8 eb d5 ff ff       	call   0x4e7bd0
4ea5e5:	55                   	push   %ebp
4ea5e6:	89 44 24 18          	mov    %eax,0x18(%esp)
4ea5ea:	e8 e1 d5 ff ff       	call   0x4e7bd0
4ea5ef:	55                   	push   %ebp
4ea5f0:	89 44 24 38          	mov    %eax,0x38(%esp)
4ea5f4:	e8 d7 d5 ff ff       	call   0x4e7bd0
4ea5f9:	8b e8                	mov    %eax,%ebp
4ea5fb:	83 c4 0c             	add    $0xc,%esp
4ea5fe:	89 6c 24 14          	mov    %ebp,0x14(%esp)
4ea602:	85 ed                	test   %ebp,%ebp
4ea604:	0f 84 b4 03 00 00    	je     0x4ea9be
4ea60a:	ff 74 24 54          	push   0x54(%esp)
4ea60e:	55                   	push   %ebp
4ea60f:	e8 cc f4 fe ff       	call   0x4d9ae0
4ea614:	83 c4 08             	add    $0x8,%esp
4ea617:	85 c0                	test   %eax,%eax
4ea619:	0f 84 9f 03 00 00    	je     0x4ea9be
4ea61f:	8b 4d 00             	mov    0x0(%ebp),%ecx
4ea622:	8b 45 04             	mov    0x4(%ebp),%eax
4ea625:	89 4c 24 28          	mov    %ecx,0x28(%esp)
4ea629:	89 44 24 24          	mov    %eax,0x24(%esp)
4ea62d:	ff 74 81 fc          	push   -0x4(%ecx,%eax,4)
4ea631:	e8 ba f8 fe ff       	call   0x4d9ef0
4ea636:	b9 20 00 00 00       	mov    $0x20,%ecx
4ea63b:	83 c4 04             	add    $0x4,%esp
4ea63e:	2b c8                	sub    %eax,%ecx
4ea640:	89 4c 24 30          	mov    %ecx,0x30(%esp)
4ea644:	25 1f 00 00 80       	and    $0x8000001f,%eax
4ea649:	79 05                	jns    0x4ea650
4ea64b:	48                   	dec    %eax
4ea64c:	83 c8 e0             	or     $0xffffffe0,%eax
4ea64f:	40                   	inc    %eax
4ea650:	8b d8                	mov    %eax,%ebx
4ea652:	89 44 24 34          	mov    %eax,0x34(%esp)
4ea656:	f7 db                	neg    %ebx
4ea658:	33 f6                	xor    %esi,%esi
4ea65a:	8b c3                	mov    %ebx,%eax
4ea65c:	33 ff                	xor    %edi,%edi
4ea65e:	c1 e8 08             	shr    $0x8,%eax
4ea661:	0b d8                	or     %eax,%ebx
4ea663:	39 74 24 24          	cmp    %esi,0x24(%esp)
4ea667:	7e 32                	jle    0x4ea69b
4ea669:	8b 6c 24 34          	mov    0x34(%esp),%ebp
4ea66d:	0f 1f 00             	nopl   (%eax)
4ea670:	8b 44 24 28          	mov    0x28(%esp),%eax
4ea674:	8b 14 b8             	mov    (%eax,%edi,4),%edx
4ea677:	8b c2                	mov    %edx,%eax
4ea679:	d3 e0                	shl    %cl,%eax
4ea67b:	8b 4c 24 28          	mov    0x28(%esp),%ecx
4ea67f:	0b c6                	or     %esi,%eax
4ea681:	8b f2                	mov    %edx,%esi
4ea683:	89 04 b9             	mov    %eax,(%ecx,%edi,4)
4ea686:	8b cd                	mov    %ebp,%ecx
4ea688:	d3 ee                	shr    %cl,%esi
4ea68a:	47                   	inc    %edi
4ea68b:	8b 4c 24 30          	mov    0x30(%esp),%ecx
4ea68f:	23 f3                	and    %ebx,%esi
4ea691:	3b 7c 24 24          	cmp    0x24(%esp),%edi
4ea695:	7c d9                	jl     0x4ea670
4ea697:	8b 6c 24 14          	mov    0x14(%esp),%ebp
4ea69b:	8b 7c 24 2c          	mov    0x2c(%esp),%edi
4ea69f:	51                   	push   %ecx
4ea6a0:	ff 74 24 54          	push   0x54(%esp)
4ea6a4:	c7 45 0c 00 00 00 00 	movl   $0x0,0xc(%ebp)
4ea6ab:	57                   	push   %edi
4ea6ac:	e8 1f 07 00 00       	call   0x4eadd0
4ea6b1:	83 c4 0c             	add    $0xc,%esp
4ea6b4:	85 c0                	test   %eax,%eax
4ea6b6:	0f 84 02 03 00 00    	je     0x4ea9be
4ea6bc:	8b 5d 04             	mov    0x4(%ebp),%ebx
4ea6bf:	8b 77 04             	mov    0x4(%edi),%esi
4ea6c2:	89 5c 24 38          	mov    %ebx,0x38(%esp)
4ea6c6:	8d 43 01             	lea    0x1(%ebx),%eax
4ea6c9:	3b f3                	cmp    %ebx,%esi
4ea6cb:	7f 34                	jg     0x4ea701
4ea6cd:	50                   	push   %eax
4ea6ce:	57                   	push   %edi
4ea6cf:	e8 cc fe fe ff       	call   0x4da5a0
4ea6d4:	83 c4 08             	add    $0x8,%esp
4ea6d7:	85 c0                	test   %eax,%eax
4ea6d9:	0f 84 df 02 00 00    	je     0x4ea9be
4ea6df:	8b c3                	mov    %ebx,%eax
4ea6e1:	2b c6                	sub    %esi,%eax
4ea6e3:	8d 04 85 04 00 00 00 	lea    0x4(,%eax,4),%eax
4ea6ea:	50                   	push   %eax
4ea6eb:	8b 07                	mov    (%edi),%eax
4ea6ed:	6a 00                	push   $0x0
4ea6ef:	8d 04 b0             	lea    (%eax,%esi,4),%eax
4ea6f2:	50                   	push   %eax
4ea6f3:	e8 78 85 0e 00       	call   0x5d2c70
4ea6f8:	8d 73 01             	lea    0x1(%ebx),%esi
4ea6fb:	83 c4 0c             	add    $0xc,%esp
4ea6fe:	89 77 04             	mov    %esi,0x4(%edi)
4ea701:	8b 44 24 2c          	mov    0x2c(%esp),%eax
4ea705:	8b d6                	mov    %esi,%edx
4ea707:	2b d3                	sub    %ebx,%edx
4ea709:	89 54 24 1c          	mov    %edx,0x1c(%esp)
4ea70d:	8b 00                	mov    (%eax),%eax
4ea70f:	8d 3c 95 00 00 00 00 	lea    0x0(,%edx,4),%edi
4ea716:	8d 0c 07             	lea    (%edi,%eax,1),%ecx
4ea719:	8d 04 b0             	lea    (%eax,%esi,4),%eax
4ea71c:	89 4c 24 18          	mov    %ecx,0x18(%esp)
4ea720:	83 c0 fc             	add    $0xfffffffc,%eax
4ea723:	89 44 24 24          	mov    %eax,0x24(%esp)
4ea727:	8b 45 00             	mov    0x0(%ebp),%eax
4ea72a:	8b 6c 98 fc          	mov    -0x4(%eax,%ebx,4),%ebp
4ea72e:	89 6c 24 28          	mov    %ebp,0x28(%esp)
4ea732:	83 fb 01             	cmp    $0x1,%ebx
4ea735:	75 0a                	jne    0x4ea741
4ea737:	c7 44 24 20 00 00 00 	movl   $0x0,0x20(%esp)
4ea73e:	00
4ea73f:	eb 08                	jmp    0x4ea749
4ea741:	8b 44 98 f8          	mov    -0x8(%eax,%ebx,4),%eax
4ea745:	89 44 24 20          	mov    %eax,0x20(%esp)
4ea749:	8b 74 24 48          	mov    0x48(%esp),%esi
4ea74d:	52                   	push   %edx
4ea74e:	56                   	push   %esi
4ea74f:	e8 4c fe fe ff       	call   0x4da5a0
4ea754:	83 c4 08             	add    $0x8,%esp
4ea757:	85 c0                	test   %eax,%eax
4ea759:	0f 84 5f 02 00 00    	je     0x4ea9be
4ea75f:	8b 44 24 54          	mov    0x54(%esp),%eax
4ea763:	8b 4c 24 50          	mov    0x50(%esp),%ecx
4ea767:	8b 40 0c             	mov    0xc(%eax),%eax
4ea76a:	33 41 0c             	xor    0xc(%ecx),%eax
4ea76d:	89 46 0c             	mov    %eax,0xc(%esi)
4ea770:	8b 44 24 1c          	mov    0x1c(%esp),%eax
4ea774:	89 46 04             	mov    %eax,0x4(%esi)
4ea777:	8b 06                	mov    (%esi),%eax
4ea779:	03 c7                	add    %edi,%eax
4ea77b:	8b 7c 24 10          	mov    0x10(%esp),%edi
4ea77f:	89 44 24 34          	mov    %eax,0x34(%esp)
4ea783:	8d 43 01             	lea    0x1(%ebx),%eax
4ea786:	50                   	push   %eax
4ea787:	57                   	push   %edi
4ea788:	e8 13 fe fe ff       	call   0x4da5a0
4ea78d:	83 c4 08             	add    $0x8,%esp
4ea790:	85 c0                	test   %eax,%eax
4ea792:	0f 84 26 02 00 00    	je     0x4ea9be
4ea798:	83 7c 24 1c 00       	cmpl   $0x0,0x1c(%esp)
4ea79d:	0f 8e da 01 00 00    	jle    0x4ea97d
4ea7a3:	8b 54 24 24          	mov    0x24(%esp),%edx
4ea7a7:	8b 0a                	mov    (%edx),%ecx
4ea7a9:	8b 72 fc             	mov    -0x4(%edx),%esi
4ea7ac:	3b cd                	cmp    %ebp,%ecx
4ea7ae:	75 05                	jne    0x4ea7b5
4ea7b0:	83 cd ff             	or     $0xffffffff,%ebp
4ea7b3:	eb 74                	jmp    0x4ea829
4ea7b5:	3b 54 24 18          	cmp    0x18(%esp),%edx
4ea7b9:	75 0a                	jne    0x4ea7c5
4ea7bb:	c7 44 24 48 00 00 00 	movl   $0x0,0x48(%esp)
4ea7c2:	00
4ea7c3:	eb 07                	jmp    0x4ea7cc
4ea7c5:	8b 42 f8             	mov    -0x8(%edx),%eax
4ea7c8:	89 44 24 48          	mov    %eax,0x48(%esp)
4ea7cc:	6a 00                	push   $0x0
4ea7ce:	55                   	push   %ebp
4ea7cf:	33 c0                	xor    %eax,%eax
4ea7d1:	0b c6                	or     %esi,%eax
4ea7d3:	51                   	push   %ecx
4ea7d4:	50                   	push   %eax
4ea7d5:	e8 46 6d 0e 00       	call   0x5d1520
4ea7da:	8b e8                	mov    %eax,%ebp
4ea7dc:	f7 64 24 20          	mull   0x20(%esp)
4ea7e0:	8b cd                	mov    %ebp,%ecx
4ea7e2:	0f af 4c 24 28       	imul   0x28(%esp),%ecx
4ea7e7:	8b f8                	mov    %eax,%edi
4ea7e9:	33 c0                	xor    %eax,%eax
4ea7eb:	0b 44 24 48          	or     0x48(%esp),%eax
4ea7ef:	2b f1                	sub    %ecx,%esi
4ea7f1:	8b ce                	mov    %esi,%ecx
4ea7f3:	3b d1                	cmp    %ecx,%edx
4ea7f5:	72 2e                	jb     0x4ea825
4ea7f7:	77 04                	ja     0x4ea7fd
4ea7f9:	3b f8                	cmp    %eax,%edi
4ea7fb:	76 28                	jbe    0x4ea825
4ea7fd:	8b 5c 24 28          	mov    0x28(%esp),%ebx
4ea801:	03 f3                	add    %ebx,%esi
4ea803:	4d                   	dec    %ebp
4ea804:	3b f3                	cmp    %ebx,%esi
4ea806:	72 19                	jb     0x4ea821
4ea808:	2b 7c 24 20          	sub    0x20(%esp),%edi
4ea80c:	8b c6                	mov    %esi,%eax
4ea80e:	83 da 00             	sbb    $0x0,%edx
4ea811:	33 c9                	xor    %ecx,%ecx
4ea813:	0b 4c 24 48          	or     0x48(%esp),%ecx
4ea817:	3b d0                	cmp    %eax,%edx
4ea819:	77 e6                	ja     0x4ea801
4ea81b:	72 04                	jb     0x4ea821
4ea81d:	3b f9                	cmp    %ecx,%edi
4ea81f:	77 e0                	ja     0x4ea801
4ea821:	8b 5c 24 38          	mov    0x38(%esp),%ebx
4ea825:	8b 7c 24 10          	mov    0x10(%esp),%edi
4ea829:	8b 44 24 14          	mov    0x14(%esp),%eax
4ea82d:	55                   	push   %ebp
4ea82e:	53                   	push   %ebx
4ea82f:	ff 30                	push   (%eax)
4ea831:	ff 37                	push   (%edi)
4ea833:	e8 b8 63 f2 ff       	call   0x410bf0
4ea838:	8b 0f                	mov    (%edi),%ecx
4ea83a:	89 04 99             	mov    %eax,(%ecx,%ebx,4)
4ea83d:	8d 4b 01             	lea    0x1(%ebx),%ecx
4ea840:	8b 44 24 28          	mov    0x28(%esp),%eax
4ea844:	51                   	push   %ecx
4ea845:	ff 37                	push   (%edi)
4ea847:	83 e8 04             	sub    $0x4,%eax
4ea84a:	50                   	push   %eax
4ea84b:	50                   	push   %eax
4ea84c:	89 44 24 38          	mov    %eax,0x38(%esp)
4ea850:	e8 7b 68 f2 ff       	call   0x4110d0
4ea855:	8b f0                	mov    %eax,%esi
4ea857:	83 c4 20             	add    $0x20,%esp
4ea85a:	2b ee                	sub    %esi,%ebp
4ea85c:	33 c9                	xor    %ecx,%ecx
4ea85e:	f7 de                	neg    %esi
4ea860:	89 6c 24 40          	mov    %ebp,0x40(%esp)
4ea864:	89 74 24 48          	mov    %esi,0x48(%esp)
4ea868:	66 0f 6e c6          	movd   %esi,%xmm0
4ea86c:	66 0f 70 c8 00       	pshufd $0x0,%xmm0,%xmm1
4ea871:	85 db                	test   %ebx,%ebx
4ea873:	0f 8e ca 00 00 00    	jle    0x4ea943
4ea879:	83 fb 10             	cmp    $0x10,%ebx
4ea87c:	0f 82 a1 00 00 00    	jb     0x4ea923
4ea882:	8b 44 24 14          	mov    0x14(%esp),%eax
4ea886:	8b 17                	mov    (%edi),%edx
4ea888:	8d 7b ff             	lea    -0x1(%ebx),%edi
4ea88b:	8b 30                	mov    (%eax),%esi
4ea88d:	8d 3c ba             	lea    (%edx,%edi,4),%edi
4ea890:	8d 46 fc             	lea    -0x4(%esi),%eax
4ea893:	8d 04 98             	lea    (%eax,%ebx,4),%eax
4ea896:	3b d0                	cmp    %eax,%edx
4ea898:	77 08                	ja     0x4ea8a2
4ea89a:	3b fe                	cmp    %esi,%edi
4ea89c:	0f 83 79 00 00 00    	jae    0x4ea91b
4ea8a2:	8b 44 24 10          	mov    0x10(%esp),%eax
4ea8a6:	3b d0                	cmp    %eax,%edx
4ea8a8:	77 04                	ja     0x4ea8ae
4ea8aa:	3b f8                	cmp    %eax,%edi
4ea8ac:	73 6d                	jae    0x4ea91b
4ea8ae:	8b 44 24 14          	mov    0x14(%esp),%eax
4ea8b2:	3b d0                	cmp    %eax,%edx
4ea8b4:	77 04                	ja     0x4ea8ba
4ea8b6:	3b f8                	cmp    %eax,%edi
4ea8b8:	73 61                	jae    0x4ea91b
4ea8ba:	8b c3                	mov    %ebx,%eax
4ea8bc:	25 0f 00 00 80       	and    $0x8000000f,%eax
4ea8c1:	79 05                	jns    0x4ea8c8
4ea8c3:	48                   	dec    %eax
4ea8c4:	83 c8 f0             	or     $0xfffffff0,%eax
4ea8c7:	40                   	inc    %eax
4ea8c8:	8b fb                	mov    %ebx,%edi
4ea8ca:	2b f8                	sub    %eax,%edi
4ea8cc:	b8 20 00 00 00       	mov    $0x20,%eax
4ea8d1:	0f 10 44 06 e0       	movups -0x20(%esi,%eax,1),%xmm0
4ea8d6:	83 c1 10             	add    $0x10,%ecx
4ea8d9:	8d 40 40             	lea    0x40(%eax),%eax
4ea8dc:	66 0f db c1          	pand   %xmm1,%xmm0
4ea8e0:	0f 11 44 02 a0       	movups %xmm0,-0x60(%edx,%eax,1)
4ea8e5:	0f 10 44 06 b0       	movups -0x50(%esi,%eax,1),%xmm0
4ea8ea:	66 0f db c1          	pand   %xmm1,%xmm0
4ea8ee:	0f 11 44 02 b0       	movups %xmm0,-0x50(%edx,%eax,1)
4ea8f3:	0f 10 44 06 c0       	movups -0x40(%esi,%eax,1),%xmm0
4ea8f8:	66 0f db c1          	pand   %xmm1,%xmm0
4ea8fc:	0f 11 44 02 c0       	movups %xmm0,-0x40(%edx,%eax,1)
4ea901:	0f 10 44 06 d0       	movups -0x30(%esi,%eax,1),%xmm0
4ea906:	66 0f db c1          	pand   %xmm1,%xmm0
4ea90a:	0f 11 44 02 d0       	movups %xmm0,-0x30(%edx,%eax,1)
4ea90f:	3b cf                	cmp    %edi,%ecx
4ea911:	7c be                	jl     0x4ea8d1
4ea913:	89 4c 24 3c          	mov    %ecx,0x3c(%esp)
4ea917:	3b cb                	cmp    %ebx,%ecx
4ea919:	7d 24                	jge    0x4ea93f
4ea91b:	8b 7c 24 10          	mov    0x10(%esp),%edi
4ea91f:	8b 74 24 48          	mov    0x48(%esp),%esi
4ea923:	8b 6c 24 14          	mov    0x14(%esp),%ebp
4ea927:	8b 45 00             	mov    0x0(%ebp),%eax
4ea92a:	8b 14 88             	mov    (%eax,%ecx,4),%edx
4ea92d:	8b 07                	mov    (%edi),%eax
4ea92f:	23 d6                	and    %esi,%edx
4ea931:	89 14 88             	mov    %edx,(%eax,%ecx,4)
4ea934:	41                   	inc    %ecx
4ea935:	3b cb                	cmp    %ebx,%ecx
4ea937:	7c ee                	jl     0x4ea927
4ea939:	8b 6c 24 40          	mov    0x40(%esp),%ebp