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
424893:	83 ec 14             	sub    $0x14,%esp
424896:	8b 55 10             	mov    0x10(%ebp),%edx
424899:	53                   	push   %ebx
42489a:	8b 5d 0c             	mov    0xc(%ebp),%ebx
42489d:	56                   	push   %esi
42489e:	57                   	push   %edi
42489f:	8b f9                	mov    %ecx,%edi
4248a1:	89 5d fc             	mov    %ebx,-0x4(%ebp)
4248a4:	89 55 f0             	mov    %edx,-0x10(%ebp)
4248a7:	8b 4f 14             	mov    0x14(%edi),%ecx
4248aa:	8b c1                	mov    %ecx,%eax
4248ac:	8b 77 10             	mov    0x10(%edi),%esi
4248af:	2b c6                	sub    %esi,%eax
4248b1:	89 75 ec             	mov    %esi,-0x14(%ebp)
4248b4:	89 4d f4             	mov    %ecx,-0xc(%ebp)
4248b7:	3b d0                	cmp    %eax,%edx
4248b9:	0f 87 8c 00 00 00    	ja     0x42494b
4248bf:	83 7d f4 08          	cmpl   $0x8,-0xc(%ebp)
4248c3:	8d 04 32             	lea    (%edx,%esi,1),%eax
4248c6:	89 47 10             	mov    %eax,0x10(%edi)
4248c9:	8b cf                	mov    %edi,%ecx
4248cb:	89 7d f8             	mov    %edi,-0x8(%ebp)
4248ce:	72 05                	jb     0x4248d5
4248d0:	8b 0f                	mov    (%edi),%ecx
4248d2:	89 4d f8             	mov    %ecx,-0x8(%ebp)
4248d5:	8d 04 12             	lea    (%edx,%edx,1),%eax
4248d8:	89 45 f4             	mov    %eax,-0xc(%ebp)
4248db:	03 c3                	add    %ebx,%eax
4248dd:	3b c1                	cmp    %ecx,%eax
4248df:	76 18                	jbe    0x4248f9
4248e1:	8d 04 71             	lea    (%ecx,%esi,2),%eax
4248e4:	3b d8                	cmp    %eax,%ebx
4248e6:	77 11                	ja     0x4248f9
4248e8:	3b cb                	cmp    %ebx,%ecx
4248ea:	77 04                	ja     0x4248f0
4248ec:	33 db                	xor    %ebx,%ebx
4248ee:	eb 0b                	jmp    0x4248fb
4248f0:	8b d9                	mov    %ecx,%ebx
4248f2:	2b 5d fc             	sub    -0x4(%ebp),%ebx
4248f5:	d1 fb                	sar    $1,%ebx
4248f7:	eb 02                	jmp    0x4248fb
4248f9:	8b da                	mov    %edx,%ebx
4248fb:	8d 04 75 02 00 00 00 	lea    0x2(,%esi,2),%eax
424902:	50                   	push   %eax
424903:	8b 45 f4             	mov    -0xc(%ebp),%eax
424906:	51                   	push   %ecx
424907:	03 c1                	add    %ecx,%eax
424909:	50                   	push   %eax
42490a:	e8 11 6d 04 00       	call   0x46b620
42490f:	8d 34 1b             	lea    (%ebx,%ebx,1),%esi
424912:	56                   	push   %esi
424913:	ff 75 fc             	push   -0x4(%ebp)
424916:	ff 75 f8             	push   -0x8(%ebp)
424919:	e8 02 6d 04 00       	call   0x46b620
42491e:	8b 45 f0             	mov    -0x10(%ebp),%eax
424921:	8b c8                	mov    %eax,%ecx
424923:	2b cb                	sub    %ebx,%ecx
424925:	03 c9                	add    %ecx,%ecx
424927:	51                   	push   %ecx
424928:	8d 0c 18             	lea    (%eax,%ebx,1),%ecx
42492b:	8b 45 fc             	mov    -0x4(%ebp),%eax
42492e:	8d 0c 48             	lea    (%eax,%ecx,2),%ecx
424931:	51                   	push   %ecx
424932:	8b 4d f8             	mov    -0x8(%ebp),%ecx
424935:	03 ce                	add    %esi,%ecx
424937:	51                   	push   %ecx
424938:	e8 e3 6c 04 00       	call   0x46b620
42493d:	83 c4 24             	add    $0x24,%esp
424940:	8b c7                	mov    %edi,%eax
424942:	5f                   	pop    %edi
424943:	5e                   	pop    %esi
424944:	5b                   	pop    %ebx
424945:	8b e5                	mov    %ebp,%esp
424947:	5d                   	pop    %ebp
424948:	c2 0c 00             	ret    $0xc
42494b:	b8 fe ff ff 7f       	mov    $0x7ffffffe,%eax
424950:	2b c6                	sub    %esi,%eax
424952:	3b c2                	cmp    %edx,%eax
424954:	0f 82 f4 00 00 00    	jb     0x424a4e
42495a:	8d 04 16             	lea    (%esi,%edx,1),%eax
42495d:	8b f0                	mov    %eax,%esi
42495f:	89 45 f8             	mov    %eax,-0x8(%ebp)
424962:	83 ce 07             	or     $0x7,%esi
424965:	81 fe fe ff ff 7f    	cmp    $0x7ffffffe,%esi
42496b:	76 07                	jbe    0x424974
42496d:	be fe ff ff 7f       	mov    $0x7ffffffe,%esi
424972:	eb 1e                	jmp    0x424992
424974:	8b d1                	mov    %ecx,%edx
424976:	b8 fe ff ff 7f       	mov    $0x7ffffffe,%eax
42497b:	d1 ea                	shr    $1,%edx
42497d:	2b c2                	sub    %edx,%eax
42497f:	3b c8                	cmp    %eax,%ecx
424981:	76 07                	jbe    0x42498a
424983:	be fe ff ff 7f       	mov    $0x7ffffffe,%esi
424988:	eb 08                	jmp    0x424992
42498a:	8d 04 0a             	lea    (%edx,%ecx,1),%eax
42498d:	3b f0                	cmp    %eax,%esi
42498f:	0f 42 f0             	cmovb  %eax,%esi
424992:	33 c9                	xor    %ecx,%ecx
424994:	8b c6                	mov    %esi,%eax
424996:	83 c0 01             	add    $0x1,%eax
424999:	0f 92 c1             	setb   %cl
42499c:	f7 d9                	neg    %ecx
42499e:	0b c8                	or     %eax,%ecx
4249a0:	51                   	push   %ecx
4249a1:	8b cf                	mov    %edi,%ecx
4249a3:	e8 68 d7 fd ff       	call   0x402110
4249a8:	83 7d f4 08          	cmpl   $0x8,-0xc(%ebp)
4249ac:	8b c8                	mov    %eax,%ecx
4249ae:	8b 45 f8             	mov    -0x8(%ebp),%eax
4249b1:	89 47 10             	mov    %eax,0x10(%edi)
4249b4:	8b 45 f0             	mov    -0x10(%ebp),%eax
4249b7:	89 77 14             	mov    %esi,0x14(%edi)
4249ba:	89 4d fc             	mov    %ecx,-0x4(%ebp)
4249bd:	8d 14 00             	lea    (%eax,%eax,1),%edx
4249c0:	8b 45 ec             	mov    -0x14(%ebp),%eax
4249c3:	52                   	push   %edx
4249c4:	53                   	push   %ebx
4249c5:	51                   	push   %ecx
4249c6:	8d 34 45 02 00 00 00 	lea    0x2(,%eax,2),%esi
4249cd:	8d 04 0a             	lea    (%edx,%ecx,1),%eax
4249d0:	89 75 ec             	mov    %esi,-0x14(%ebp)
4249d3:	89 45 f0             	mov    %eax,-0x10(%ebp)
4249d6:	72 54                	jb     0x424a2c
4249d8:	8b 37                	mov    (%edi),%esi
4249da:	e8 41 6c 04 00       	call   0x46b620
4249df:	ff 75 ec             	push   -0x14(%ebp)
4249e2:	56                   	push   %esi
4249e3:	ff 75 f0             	push   -0x10(%ebp)
4249e6:	e8 35 6c 04 00       	call   0x46b620
4249eb:	8b 45 f4             	mov    -0xc(%ebp),%eax
4249ee:	83 c4 18             	add    $0x18,%esp
4249f1:	8d 0c 45 02 00 00 00 	lea    0x2(,%eax,2),%ecx
4249f8:	81 f9 00 10 00 00    	cmp    $0x1000,%ecx
4249fe:	72 12                	jb     0x424a12
424a00:	8b 56 fc             	mov    -0x4(%esi),%edx
424a03:	83 c1 23             	add    $0x23,%ecx
424a06:	2b f2                	sub    %edx,%esi
424a08:	8d 46 fc             	lea    -0x4(%esi),%eax
424a0b:	83 f8 1f             	cmp    $0x1f,%eax
424a0e:	77 43                	ja     0x424a53
424a10:	8b f2                	mov    %edx,%esi
424a12:	51                   	push   %ecx
424a13:	56                   	push   %esi
424a14:	e8 ef 4f 04 00       	call   0x469a08
424a19:	8b 45 fc             	mov    -0x4(%ebp),%eax
424a1c:	83 c4 08             	add    $0x8,%esp
424a1f:	89 07                	mov    %eax,(%edi)
424a21:	8b c7                	mov    %edi,%eax
424a23:	5f                   	pop    %edi
424a24:	5e                   	pop    %esi
424a25:	5b                   	pop    %ebx
424a26:	8b e5                	mov    %ebp,%esp
424a28:	5d                   	pop    %ebp
424a29:	c2 0c 00             	ret    $0xc
424a2c:	e8 ef 6b 04 00       	call   0x46b620
424a31:	56                   	push   %esi
424a32:	57                   	push   %edi
424a33:	ff 75 f0             	push   -0x10(%ebp)
424a36:	e8 e5 6b 04 00       	call   0x46b620
424a3b:	8b 45 fc             	mov    -0x4(%ebp),%eax
424a3e:	83 c4 18             	add    $0x18,%esp
424a41:	89 07                	mov    %eax,(%edi)
424a43:	8b c7                	mov    %edi,%eax
424a45:	5f                   	pop    %edi
424a46:	5e                   	pop    %esi
424a47:	5b                   	pop    %ebx
424a48:	8b e5                	mov    %ebp,%esp
424a4a:	5d                   	pop    %ebp
424a4b:	c2 0c 00             	ret    $0xc
424a4e:	e8 8d c9 fd ff       	call   0x4013e0
424a53:	e8 d9 4b 05 00       	call   0x479631
424a58:	cc                   	int3
424a59:	cc                   	int3
424a5a:	cc                   	int3