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
4ea93d:	eb 04                	jmp    0x4ea943
4ea93f:	8b 7c 24 10          	mov    0x10(%esp),%edi
4ea943:	8b 44 24 18          	mov    0x18(%esp),%eax
4ea947:	53                   	push   %ebx
4ea948:	ff 37                	push   (%edi)
4ea94a:	50                   	push   %eax
4ea94b:	50                   	push   %eax
4ea94c:	e8 bf 65 f2 ff       	call   0x410f10
4ea951:	8b 54 24 34          	mov    0x34(%esp),%edx
4ea955:	83 c4 10             	add    $0x10,%esp
4ea958:	01 02                	add    %eax,(%edx)
4ea95a:	83 ea 04             	sub    $0x4,%edx
4ea95d:	8b 44 24 34          	mov    0x34(%esp),%eax
4ea961:	83 e8 04             	sub    $0x4,%eax
4ea964:	89 54 24 24          	mov    %edx,0x24(%esp)
4ea968:	83 6c 24 1c 01       	subl   $0x1,0x1c(%esp)
4ea96d:	89 44 24 34          	mov    %eax,0x34(%esp)
4ea971:	89 28                	mov    %ebp,(%eax)
4ea973:	8b 6c 24 28          	mov    0x28(%esp),%ebp
4ea977:	0f 85 2a fe ff ff    	jne    0x4ea7a7
4ea97d:	8b 44 24 50          	mov    0x50(%esp),%eax
4ea981:	8b 4c 24 2c          	mov    0x2c(%esp),%ecx
4ea985:	8b 40 0c             	mov    0xc(%eax),%eax
4ea988:	89 41 0c             	mov    %eax,0xc(%ecx)
4ea98b:	8b 44 24 4c          	mov    0x4c(%esp),%eax
4ea98f:	89 59 04             	mov    %ebx,0x4(%ecx)
4ea992:	85 c0                	test   %eax,%eax
4ea994:	74 0e                	je     0x4ea9a4
4ea996:	ff 74 24 30          	push   0x30(%esp)
4ea99a:	51                   	push   %ecx
4ea99b:	50                   	push   %eax
4ea99c:	e8 6f 05 00 00       	call   0x4eaf10
4ea9a1:	83 c4 0c             	add    $0xc,%esp
4ea9a4:	8b 44 24 58          	mov    0x58(%esp),%eax
4ea9a8:	50                   	push   %eax
4ea9a9:	e8 22 d1 ff ff       	call   0x4e7ad0
4ea9ae:	83 c4 04             	add    $0x4,%esp
4ea9b1:	b8 01 00 00 00       	mov    $0x1,%eax
4ea9b6:	5f                   	pop    %edi
4ea9b7:	5e                   	pop    %esi
4ea9b8:	5d                   	pop    %ebp
4ea9b9:	5b                   	pop    %ebx
4ea9ba:	83 c4 34             	add    $0x34,%esp
4ea9bd:	c3                   	ret
4ea9be:	8b 44 24 58          	mov    0x58(%esp),%eax
4ea9c2:	50                   	push   %eax
4ea9c3:	e8 08 d1 ff ff       	call   0x4e7ad0
4ea9c8:	83 c4 04             	add    $0x4,%esp
4ea9cb:	33 c0                	xor    %eax,%eax
4ea9cd:	5f                   	pop    %edi
4ea9ce:	5e                   	pop    %esi
4ea9cf:	5d                   	pop    %ebp
4ea9d0:	5b                   	pop    %ebx
4ea9d1:	83 c4 34             	add    $0x34,%esp
4ea9d4:	c3                   	ret
4ea9d5:	cc                   	int3
4ea9d6:	cc                   	int3
4ea9d7:	cc                   	int3
4ea9d8:	cc                   	int3
4ea9d9:	cc                   	int3
4ea9da:	cc                   	int3
4ea9db:	cc                   	int3
4ea9dc:	cc                   	int3
4ea9dd:	cc                   	int3
4ea9de:	cc                   	int3
4ea9df:	cc                   	int3
4ea9e0:	b8 18 00 00 00       	mov    $0x18,%eax
4ea9e5:	e8 c6 6d 0e 00       	call   0x5d17b0
4ea9ea:	53                   	push   %ebx
4ea9eb:	8b 5c 24 28          	mov    0x28(%esp),%ebx
4ea9ef:	85 db                	test   %ebx,%ebx
4ea9f1:	79 1f                	jns    0x4eaa12
4ea9f3:	6a 56                	push   $0x56
4ea9f5:	68 f4 50 61 00       	push   $0x6150f4
4ea9fa:	6a 77                	push   $0x77
4ea9fc:	68 91 00 00 00       	push   $0x91
4eaa01:	6a 03                	push   $0x3
4eaa03:	e8 78 e5 fe ff       	call   0x4d8f80
4eaa08:	83 c4 14             	add    $0x14,%esp
4eaa0b:	33 c0                	xor    %eax,%eax
4eaa0d:	5b                   	pop    %ebx
4eaa0e:	83 c4 18             	add    $0x18,%esp
4eaa11:	c3                   	ret
4eaa12:	55                   	push   %ebp
4eaa13:	8b 6c 24 24          	mov    0x24(%esp),%ebp
4eaa17:	56                   	push   %esi
4eaa18:	57                   	push   %edi
4eaa19:	8b 7c 24 30          	mov    0x30(%esp),%edi
4eaa1d:	8b f3                	mov    %ebx,%esi
4eaa1f:	c1 ee 05             	shr    $0x5,%esi
4eaa22:	89 74 24 24          	mov    %esi,0x24(%esp)
4eaa26:	8b 47 04             	mov    0x4(%edi),%eax
4eaa29:	40                   	inc    %eax
4eaa2a:	03 c6                	add    %esi,%eax
4eaa2c:	50                   	push   %eax
4eaa2d:	55                   	push   %ebp
4eaa2e:	e8 6d fb fe ff       	call   0x4da5a0
4eaa33:	83 c4 08             	add    $0x8,%esp
4eaa36:	85 c0                	test   %eax,%eax
4eaa38:	75 15                	jne    0x4eaa4f
4eaa3a:	55                   	push   %ebp
4eaa3b:	33 f6                	xor    %esi,%esi
4eaa3d:	e8 0e fa fe ff       	call   0x4da450
4eaa42:	83 c4 04             	add    $0x4,%esp
4eaa45:	8b c6                	mov    %esi,%eax
4eaa47:	5f                   	pop    %edi
4eaa48:	5e                   	pop    %esi
4eaa49:	5d                   	pop    %ebp
4eaa4a:	5b                   	pop    %ebx
4eaa4b:	83 c4 18             	add    $0x18,%esp
4eaa4e:	c3                   	ret
4eaa4f:	83 7f 04 00          	cmpl   $0x0,0x4(%edi)
4eaa53:	8d 0c b5 00 00 00 00 	lea    0x0(,%esi,4),%ecx
4eaa5a:	89 4c 24 14          	mov    %ecx,0x14(%esp)
4eaa5e:	0f 84 9a 00 00 00    	je     0x4eaafe
4eaa64:	8b 37                	mov    (%edi),%esi
4eaa66:	83 e3 1f             	and    $0x1f,%ebx
4eaa69:	8b cb                	mov    %ebx,%ecx
4eaa6b:	89 74 24 18          	mov    %esi,0x18(%esp)
4eaa6f:	f7 d9                	neg    %ecx
4eaa71:	83 e1 1f             	and    $0x1f,%ecx
4eaa74:	8b d1                	mov    %ecx,%edx
4eaa76:	89 4c 24 1c          	mov    %ecx,0x1c(%esp)
4eaa7a:	f7 da                	neg    %edx
4eaa7c:	8b c2                	mov    %edx,%eax
4eaa7e:	c1 e8 08             	shr    $0x8,%eax
4eaa81:	0b d0                	or     %eax,%edx
4eaa83:	8b 47 04             	mov    0x4(%edi),%eax
4eaa86:	89 54 24 10          	mov    %edx,0x10(%esp)
4eaa8a:	8b 55 00             	mov    0x0(%ebp),%edx
4eaa8d:	03 54 24 14          	add    0x14(%esp),%edx
4eaa91:	8b 74 86 fc          	mov    -0x4(%esi,%eax,4),%esi
4eaa95:	8b c6                	mov    %esi,%eax
4eaa97:	d3 e8                	shr    %cl,%eax
4eaa99:	8b 4f 04             	mov    0x4(%edi),%ecx
4eaa9c:	23 44 24 10          	and    0x10(%esp),%eax
4eaaa0:	89 54 24 20          	mov    %edx,0x20(%esp)
4eaaa4:	89 04 8a             	mov    %eax,(%edx,%ecx,4)
4eaaa7:	8b 7f 04             	mov    0x4(%edi),%edi
4eaaaa:	4f                   	dec    %edi
4eaaab:	85 ff                	test   %edi,%edi
4eaaad:	7e 3b                	jle    0x4eaaea
4eaaaf:	8b 6c 24 18          	mov    0x18(%esp),%ebp
4eaab3:	83 c5 fc             	add    $0xfffffffc,%ebp
4eaab6:	8d 6c bd 00          	lea    0x0(%ebp,%edi,4),%ebp
4eaaba:	66 0f 1f 44 00 00    	nopw   0x0(%eax,%eax,1)
4eaac0:	8b cb                	mov    %ebx,%ecx
4eaac2:	8d 6d fc             	lea    -0x4(%ebp),%ebp
4eaac5:	d3 e6                	shl    %cl,%esi
4eaac7:	8b 4c 24 1c          	mov    0x1c(%esp),%ecx
4eaacb:	8b d6                	mov    %esi,%edx
4eaacd:	8b 75 04             	mov    0x4(%ebp),%esi
4eaad0:	8b c6                	mov    %esi,%eax
4eaad2:	d3 e8                	shr    %cl,%eax
4eaad4:	23 44 24 10          	and    0x10(%esp),%eax
4eaad8:	0b c2                	or     %edx,%eax
4eaada:	8b 54 24 20          	mov    0x20(%esp),%edx
4eaade:	89 04 ba             	mov    %eax,(%edx,%edi,4)
4eaae1:	4f                   	dec    %edi
4eaae2:	85 ff                	test   %edi,%edi
4eaae4:	7f da                	jg     0x4eaac0
4eaae6:	8b 6c 24 2c          	mov    0x2c(%esp),%ebp
4eaaea:	8b 7c 24 30          	mov    0x30(%esp),%edi
4eaaee:	8b cb                	mov    %ebx,%ecx
4eaaf0:	d3 e6                	shl    %cl,%esi
4eaaf2:	8b 4c 24 14          	mov    0x14(%esp),%ecx
4eaaf6:	89 32                	mov    %esi,(%edx)
4eaaf8:	8b 74 24 24          	mov    0x24(%esp),%esi
4eaafc:	eb 0a                	jmp    0x4eab08
4eaafe:	8b 45 00             	mov    0x0(%ebp),%eax
4eab01:	c7 04 01 00 00 00 00 	movl   $0x0,(%ecx,%eax,1)
4eab08:	85 f6                	test   %esi,%esi
4eab0a:	74 0e                	je     0x4eab1a
4eab0c:	51                   	push   %ecx
4eab0d:	6a 00                	push   $0x0