44676e:	c7 45 bc 0f 00 00 00 	movl   $0xf,-0x44(%ebp)
446775:	c6 45 a8 00          	movb   $0x0,-0x58(%ebp)
446779:	3b c2                	cmp    %edx,%eax
44677b:	0f 82 29 02 00 00    	jb     0x4469aa
446781:	2b c2                	sub    %edx,%eax
446783:	8b cf                	mov    %edi,%ecx
446785:	2b ca                	sub    %edx,%ecx
446787:	3b c1                	cmp    %ecx,%eax
446789:	0f 42 c8             	cmovb  %eax,%ecx
44678c:	83 7d 1c 10          	cmpl   $0x10,0x1c(%ebp)
446790:	8d 45 08             	lea    0x8(%ebp),%eax
446793:	0f 43 45 08          	cmovae 0x8(%ebp),%eax
446797:	51                   	push   %ecx
446798:	03 c2                	add    %edx,%eax
44679a:	8d 4d a8             	lea    -0x58(%ebp),%ecx
44679d:	50                   	push   %eax
44679e:	e8 9d ea ff ff       	call   0x445240
4467a3:	83 4d a4 02          	orl    $0x2,-0x5c(%ebp)
4467a7:	8b 45 e4             	mov    -0x1c(%ebp),%eax
4467aa:	c6 45 fc 05          	movb   $0x5,-0x4(%ebp)
4467ae:	3b 45 e8             	cmp    -0x18(%ebp),%eax
4467b1:	74 27                	je     0x4467da
4467b3:	0f 10 45 a8          	movups -0x58(%ebp),%xmm0
4467b7:	c7 40 10 00 00 00 00 	movl   $0x0,0x10(%eax)
4467be:	ba 0f 00 00 00       	mov    $0xf,%edx
4467c3:	c6 45 a8 00          	movb   $0x0,-0x58(%ebp)
4467c7:	0f 11 00             	movups %xmm0,(%eax)
4467ca:	f3 0f 7e 45 b8       	movq   -0x48(%ebp),%xmm0
4467cf:	66 0f d6 40 10       	movq   %xmm0,0x10(%eax)
4467d4:	83 45 e4 18          	addl   $0x18,-0x1c(%ebp)
4467d8:	eb 10                	jmp    0x4467ea
4467da:	8d 4d a8             	lea    -0x58(%ebp),%ecx
4467dd:	51                   	push   %ecx
4467de:	50                   	push   %eax
4467df:	8d 4d e0             	lea    -0x20(%ebp),%ecx
4467e2:	e8 69 dd ff ff       	call   0x444550
4467e7:	8b 55 bc             	mov    -0x44(%ebp),%edx
4467ea:	c6 45 fc 04          	movb   $0x4,-0x4(%ebp)
4467ee:	83 fa 10             	cmp    $0x10,%edx
4467f1:	72 2c                	jb     0x44681f
4467f3:	8b 4d a8             	mov    -0x58(%ebp),%ecx
4467f6:	42                   	inc    %edx
4467f7:	8b c1                	mov    %ecx,%eax
4467f9:	81 fa 00 10 00 00    	cmp    $0x1000,%edx
4467ff:	72 14                	jb     0x446815
446801:	8b 49 fc             	mov    -0x4(%ecx),%ecx
446804:	83 c2 23             	add    $0x23,%edx
446807:	2b c1                	sub    %ecx,%eax
446809:	83 c0 fc             	add    $0xfffffffc,%eax
44680c:	83 f8 1f             	cmp    $0x1f,%eax
44680f:	0f 87 8b 01 00 00    	ja     0x4469a0
446815:	52                   	push   %edx
446816:	51                   	push   %ecx
446817:	e8 56 a8 19 00       	call   0x5e1072
44681c:	83 c4 08             	add    $0x8,%esp
44681f:	8b 35 b8 96 70 00    	mov    0x7096b8,%esi
446825:	8d 14 37             	lea    (%edi,%esi,1),%edx
446828:	89 55 d4             	mov    %edx,-0x2c(%ebp)
44682b:	3b 55 d8             	cmp    -0x28(%ebp),%edx
44682e:	73 11                	jae    0x446841
446830:	8b 45 18             	mov    0x18(%ebp),%eax
446833:	8b 4d 08             	mov    0x8(%ebp),%ecx
446836:	89 45 cc             	mov    %eax,-0x34(%ebp)
446839:	89 4d dc             	mov    %ecx,-0x24(%ebp)
44683c:	e9 2f fe ff ff       	jmp    0x446670
446841:	8b 55 a0             	mov    -0x60(%ebp),%edx
446844:	8b 7a 04             	mov    0x4(%edx),%edi
446847:	89 7d dc             	mov    %edi,-0x24(%ebp)
44684a:	3b 7a 08             	cmp    0x8(%edx),%edi
44684d:	0f 84 a7 00 00 00    	je     0x4468fa
446853:	c7 07 00 00 00 00    	movl   $0x0,(%edi)
446859:	c7 47 04 00 00 00 00 	movl   $0x0,0x4(%edi)
446860:	c7 47 08 00 00 00 00 	movl   $0x0,0x8(%edi)
446867:	8b 45 e0             	mov    -0x20(%ebp),%eax
44686a:	8b 4d e4             	mov    -0x1c(%ebp),%ecx
44686d:	89 45 d0             	mov    %eax,-0x30(%ebp)
446870:	89 4d c8             	mov    %ecx,-0x38(%ebp)
446873:	3b c1                	cmp    %ecx,%eax
446875:	74 7d                	je     0x4468f4
446877:	2b c8                	sub    %eax,%ecx
446879:	b8 ab aa aa 2a       	mov    $0x2aaaaaab,%eax
44687e:	f7 e9                	imul   %ecx
446880:	8b cf                	mov    %edi,%ecx
446882:	c1 fa 02             	sar    $0x2,%edx
446885:	8b f2                	mov    %edx,%esi
446887:	c1 ee 1f             	shr    $0x1f,%esi
44688a:	03 f2                	add    %edx,%esi
44688c:	56                   	push   %esi
44688d:	e8 ce e7 ff ff       	call   0x445060
446892:	8b f8                	mov    %eax,%edi
446894:	8d 0c 76             	lea    (%esi,%esi,2),%ecx
446897:	8b 45 dc             	mov    -0x24(%ebp),%eax
44689a:	89 45 c4             	mov    %eax,-0x3c(%ebp)
44689d:	8d 0c cf             	lea    (%edi,%ecx,8),%ecx
4468a0:	89 38                	mov    %edi,(%eax)
4468a2:	89 78 04             	mov    %edi,0x4(%eax)
4468a5:	89 48 08             	mov    %ecx,0x8(%eax)
4468a8:	0f 57 c0             	xorps  %xmm0,%xmm0
4468ab:	c7 45 9c 00 00 00 00 	movl   $0x0,-0x64(%ebp)
4468b2:	66 0f d6 45 94       	movq   %xmm0,-0x6c(%ebp)
4468b7:	89 7d 94             	mov    %edi,-0x6c(%ebp)
4468ba:	89 7d 98             	mov    %edi,-0x68(%ebp)
4468bd:	89 45 9c             	mov    %eax,-0x64(%ebp)
4468c0:	8b 75 d0             	mov    -0x30(%ebp),%esi
4468c3:	c6 45 fc 07          	movb   $0x7,-0x4(%ebp)
4468c7:	56                   	push   %esi
4468c8:	8b cf                	mov    %edi,%ecx
4468ca:	e8 d1 64 ff ff       	call   0x43cda0
4468cf:	83 c7 18             	add    $0x18,%edi
4468d2:	83 c6 18             	add    $0x18,%esi
4468d5:	89 7d 98             	mov    %edi,-0x68(%ebp)
4468d8:	3b 75 c8             	cmp    -0x38(%ebp),%esi
4468db:	75 ea                	jne    0x4468c7
4468dd:	8b 75 dc             	mov    -0x24(%ebp),%esi
4468e0:	56                   	push   %esi
4468e1:	57                   	push   %edi
4468e2:	57                   	push   %edi
4468e3:	89 7d 94             	mov    %edi,-0x6c(%ebp)
4468e6:	e8 c5 d9 ff ff       	call   0x4442b0
4468eb:	8b 55 a0             	mov    -0x60(%ebp),%edx
4468ee:	83 c4 0c             	add    $0xc,%esp
4468f1:	89 7e 04             	mov    %edi,0x4(%esi)
4468f4:	83 42 04 0c          	addl   $0xc,0x4(%edx)
4468f8:	eb 0c                	jmp    0x446906
4468fa:	8d 45 e0             	lea    -0x20(%ebp),%eax
4468fd:	8b ca                	mov    %edx,%ecx
4468ff:	50                   	push   %eax
446900:	57                   	push   %edi
446901:	e8 1a da ff ff       	call   0x444320
446906:	8b 55 d8             	mov    -0x28(%ebp),%edx
446909:	8d 4d e0             	lea    -0x20(%ebp),%ecx
44690c:	03 15 a0 96 70 00    	add    0x7096a0,%edx
446912:	89 55 d4             	mov    %edx,-0x2c(%ebp)
446915:	c6 45 fc 00          	movb   $0x0,-0x4(%ebp)
446919:	e8 e2 e5 ff ff       	call   0x444f00
44691e:	8b 45 18             	mov    0x18(%ebp),%eax
446921:	8b 55 d4             	mov    -0x2c(%ebp),%edx
446924:	89 45 cc             	mov    %eax,-0x34(%ebp)
446927:	3b d0                	cmp    %eax,%edx
446929:	0f 82 f1 fb ff ff    	jb     0x446520
44692f:	8b 45 1c             	mov    0x1c(%ebp),%eax
446932:	8b 55 08             	mov    0x8(%ebp),%edx
446935:	83 f8 10             	cmp    $0x10,%eax
446938:	72 40                	jb     0x44697a
44693a:	8d 48 01             	lea    0x1(%eax),%ecx
44693d:	8b c2                	mov    %edx,%eax
44693f:	81 f9 00 10 00 00    	cmp    $0x1000,%ecx
446945:	72 10                	jb     0x446957
446947:	8b 52 fc             	mov    -0x4(%edx),%edx
44694a:	83 c1 23             	add    $0x23,%ecx
44694d:	2b c2                	sub    %edx,%eax
44694f:	83 c0 fc             	add    $0xfffffffc,%eax
446952:	83 f8 1f             	cmp    $0x1f,%eax
446955:	77 4e                	ja     0x4469a5
446957:	51                   	push   %ecx
446958:	52                   	push   %edx
446959:	e8 14 a7 19 00       	call   0x5e1072
44695e:	83 c4 08             	add    $0x8,%esp
446961:	eb 17                	jmp    0x44697a
446963:	8b 45 d0             	mov    -0x30(%ebp),%eax
446966:	c7 00 00 00 00 00    	movl   $0x0,(%eax)
44696c:	b8 72 69 44 00       	mov    $0x446972,%eax
446971:	c3                   	ret
446972:	8d 4d 08             	lea    0x8(%ebp),%ecx
446975:	e8 36 1d ff ff       	call   0x4386b0
44697a:	8b 4d f4             	mov    -0xc(%ebp),%ecx
44697d:	64 89 0d 00 00 00 00 	mov    %ecx,%fs:0x0
446984:	59                   	pop    %ecx
446985:	5f                   	pop    %edi
446986:	5e                   	pop    %esi
446987:	5b                   	pop    %ebx
446988:	8b 4d ec             	mov    -0x14(%ebp),%ecx
44698b:	33 cd                	xor    %ebp,%ecx
44698d:	e8 48 ab 19 00       	call   0x5e14da
446992:	8b e5                	mov    %ebp,%esp
446994:	5d                   	pop    %ebp
446995:	c3                   	ret
446996:	68 68 aa 68 00       	push   $0x68aa68
44699b:	e8 ca 79 18 00       	call   0x5ce36a
4469a0:	e8 8a 65 1a 00       	call   0x5ecf2f
4469a5:	e8 85 65 1a 00       	call   0x5ecf2f
4469aa:	e8 a1 e6 ff ff       	call   0x445050
4469af:	68 80 aa 68 00       	push   $0x68aa80
4469b4:	e8 f1 79 18 00       	call   0x5ce3aa
4469b9:	cc                   	int3
4469ba:	cc                   	int3
4469bb:	cc                   	int3
4469bc:	cc                   	int3
4469bd:	cc                   	int3
4469be:	cc                   	int3
4469bf:	cc                   	int3
4469c0:	55                   	push   %ebp
4469c1:	8b ec                	mov    %esp,%ebp
4469c3:	6a ff                	push   $0xffffffff
4469c5:	68 38 c8 64 00       	push   $0x64c838
4469ca:	64 a1 00 00 00 00    	mov    %fs:0x0,%eax
4469d0:	50                   	push   %eax
4469d1:	83 ec 6c             	sub    $0x6c,%esp
4469d4:	a1 d4 89 72 00       	mov    0x7289d4,%eax
4469d9:	33 c5                	xor    %ebp,%eax
4469db:	89 45 f0             	mov    %eax,-0x10(%ebp)
4469de:	56                   	push   %esi
4469df:	57                   	push   %edi
4469e0:	50                   	push   %eax
4469e1:	8d 45 f4             	lea    -0xc(%ebp),%eax
4469e4:	64 a3 00 00 00 00    	mov    %eax,%fs:0x0
4469ea:	8b 45 20             	mov    0x20(%ebp),%eax
4469ed:	89 45 a0             	mov    %eax,-0x60(%ebp)
4469f0:	6a 48                	push   $0x48
4469f2:	8d 45 a8             	lea    -0x58(%ebp),%eax
4469f5:	c7 45 fc 00 00 00 00 	movl   $0x0,-0x4(%ebp)
4469fc:	6a 00                	push   $0x0
4469fe:	50                   	push   %eax
4469ff:	e8 fc cf 19 00       	call   0x5e3a00
446a04:	83 c4 0c             	add    $0xc,%esp
446a07:	8d 4d a8             	lea    -0x58(%ebp),%ecx
446a0a:	e8 e1 bf 01 00       	call   0x4629f0
446a0f:	83 7d 1c 10          	cmpl   $0x10,0x1c(%ebp)
446a13:	8d 45 08             	lea    0x8(%ebp),%eax
446a16:	6a 01                	push   $0x1
446a18:	0f 43 45 08          	cmovae 0x8(%ebp),%eax
446a1c:	8d 4d a8             	lea    -0x58(%ebp),%ecx
446a1f:	6a 00                	push   $0x0
446a21:	50                   	push   %eax
446a22:	c6 45 fc 01          	movb   $0x1,-0x4(%ebp)
446a26:	e8 f5 f8 01 00       	call   0x466320
446a2b:	8d 4d a8             	lea    -0x58(%ebp),%ecx
446a2e:	e8 bd d1 01 00       	call   0x463bf0
446a33:	8b f8                	mov    %eax,%edi
446a35:	c7 45 a4 00 00 00 00 	movl   $0x0,-0x5c(%ebp)
446a3c:	8d 45 a4             	lea    -0x5c(%ebp),%eax
446a3f:	50                   	push   %eax
446a40:	68 9c aa 68 00       	push   $0x68aa9c
446a45:	57                   	push   %edi
446a46:	e8 75 13 02 00       	call   0x467dc0
446a4b:	83 c4 0c             	add    $0xc,%esp
446a4e:	84 c0                	test   %al,%al
446a50:	0f 84 1e 01 00 00    	je     0x446b74
446a56:	8b 55 a4             	mov    -0x5c(%ebp),%edx
446a59:	85 d2                	test   %edx,%edx
446a5b:	0f 84 13 01 00 00    	je     0x446b74
446a61:	8b ca                	mov    %edx,%ecx
446a63:	8d 71 01             	lea    0x1(%ecx),%esi
446a66:	8a 01                	mov    (%ecx),%al
446a68:	41                   	inc    %ecx
446a69:	84 c0                	test   %al,%al
446a6b:	75 f9                	jne    0x446a66
446a6d:	2b ce                	sub    %esi,%ecx
446a6f:	51                   	push   %ecx
446a70:	8b 4d a0             	mov    -0x60(%ebp),%ecx
446a73:	52                   	push   %edx
446a74:	e8 c7 e7 ff ff       	call   0x445240
446a79:	68 1c ae 68 00       	push   $0x68ae1c
446a7e:	8b cf                	mov    %edi,%ecx
446a80:	e8 2b d1 01 00       	call   0x463bb0
446a85:	6a 00                	push   $0x0
446a87:	8b c8                	mov    %eax,%ecx
446a89:	e8 c2 d2 01 00       	call   0x463d50
446a8e:	8b f8                	mov    %eax,%edi
446a90:	85 ff                	test   %edi,%edi
446a92:	0f 84 dc 00 00 00    	je     0x446b74
446a98:	8b 0f                	mov    (%edi),%ecx
446a9a:	8b 71 18             	mov    0x18(%ecx),%esi
446a9d:	8b ce                	mov    %esi,%ecx
446a9f:	ff 15 e0 24 68 00    	call   *0x6824e0
446aa5:	8b cf                	mov    %edi,%ecx
446aa7:	ff d6                	call   *%esi
446aa9:	8b f0                	mov    %eax,%esi
446aab:	85 f6                	test   %esi,%esi
446aad:	0f 84 b6 00 00 00    	je     0x446b69
446ab3:	8b ce                	mov    %esi,%ecx
446ab5:	e8 96 d1 01 00       	call   0x463c50
446aba:	85 c0                	test   %eax,%eax
446abc:	0f 84 a7 00 00 00    	je     0x446b69
446ac2:	8b ce                	mov    %esi,%ecx
446ac4:	e8 87 d1 01 00       	call   0x463c50
446ac9:	8b d0                	mov    %eax,%edx
446acb:	c7 45 98 00 00 00 00 	movl   $0x0,-0x68(%ebp)
446ad2:	8b ca                	mov    %edx,%ecx
446ad4:	c7 45 9c 0f 00 00 00 	movl   $0xf,-0x64(%ebp)
446adb:	c6 45 88 00          	movb   $0x0,-0x78(%ebp)
446adf:	8d 71 01             	lea    0x1(%ecx),%esi
446ae2:	8a 01                	mov    (%ecx),%al
446ae4:	41                   	inc    %ecx
446ae5:	84 c0                	test   %al,%al
446ae7:	75 f9                	jne    0x446ae2
446ae9:	2b ce                	sub    %esi,%ecx
446aeb:	51                   	push   %ecx
446aec:	52                   	push   %edx
446aed:	8d 4d 88             	lea    -0x78(%ebp),%ecx
446af0:	e8 4b e7 ff ff       	call   0x445240
446af5:	8b 4d a0             	mov    -0x60(%ebp),%ecx
446af8:	83 c1 18             	add    $0x18,%ecx
446afb:	c6 45 fc 02          	movb   $0x2,-0x4(%ebp)
446aff:	8b 41 04             	mov    0x4(%ecx),%eax
446b02:	3b 41 08             	cmp    0x8(%ecx),%eax
446b05:	74 20                	je     0x446b27
446b07:	0f 10 45 88          	movups -0x78(%ebp),%xmm0
446b0b:	ba 0f 00 00 00       	mov    $0xf,%edx
446b10:	c6 45 88 00          	movb   $0x0,-0x78(%ebp)
446b14:	0f 11 00             	movups %xmm0,(%eax)
446b17:	f3 0f 7e 45 98       	movq   -0x68(%ebp),%xmm0
446b1c:	66 0f d6 40 10       	movq   %xmm0,0x10(%eax)
446b21:	83 41 04 18          	addl   $0x18,0x4(%ecx)
446b25:	eb 0d                	jmp    0x446b34
446b27:	8d 55 88             	lea    -0x78(%ebp),%edx
446b2a:	52                   	push   %edx
446b2b:	50                   	push   %eax
446b2c:	e8 1f da ff ff       	call   0x444550
446b31:	8b 55 9c             	mov    -0x64(%ebp),%edx
446b34:	c6 45 fc 01          	movb   $0x1,-0x4(%ebp)
446b38:	83 fa 10             	cmp    $0x10,%edx
446b3b:	72 2c                	jb     0x446b69
446b3d:	8b 4d 88             	mov    -0x78(%ebp),%ecx
446b40:	42                   	inc    %edx
446b41:	8b c1                	mov    %ecx,%eax
446b43:	81 fa 00 10 00 00    	cmp    $0x1000,%edx
446b49:	72 14                	jb     0x446b5f
446b4b:	8b 49 fc             	mov    -0x4(%ecx),%ecx
446b4e:	83 c2 23             	add    $0x23,%edx
446b51:	2b c1                	sub    %ecx,%eax
446b53:	83 c0 fc             	add    $0xfffffffc,%eax
446b56:	83 f8 1f             	cmp    $0x1f,%eax
446b59:	0f 87 82 00 00 00    	ja     0x446be1
446b5f:	52                   	push   %edx
446b60:	51                   	push   %ecx
446b61:	e8 0c a5 19 00       	call   0x5e1072
446b66:	83 c4 08             	add    $0x8,%esp
446b69:	8b 7f 28             	mov    0x28(%edi),%edi
446b6c:	85 ff                	test   %edi,%edi
446b6e:	0f 85 24 ff ff ff    	jne    0x446a98
446b74:	8b 45 dc             	mov    -0x24(%ebp),%eax
446b77:	c7 45 a8 d0 aa 68 00 	movl   $0x68aad0,-0x58(%ebp)
446b7e:	3d d4 d4 72 00       	cmp    $0x72d4d4,%eax
446b83:	74 09                	je     0x446b8e
446b85:	50                   	push   %eax
446b86:	e8 fe a4 19 00       	call   0x5e1089
446b8b:	83 c4 04             	add    $0x4,%esp
446b8e:	8d 4d a8             	lea    -0x58(%ebp),%ecx
446b91:	e8 da c1 01 00       	call   0x462d70
446b96:	8b 55 1c             	mov    0x1c(%ebp),%edx
446b99:	83 fa 10             	cmp    $0x10,%edx
446b9c:	72 28                	jb     0x446bc6
446b9e:	8b 4d 08             	mov    0x8(%ebp),%ecx
446ba1:	42                   	inc    %edx
446ba2:	8b c1                	mov    %ecx,%eax
446ba4:	81 fa 00 10 00 00    	cmp    $0x1000,%edx
446baa:	72 10                	jb     0x446bbc
446bac:	8b 49 fc             	mov    -0x4(%ecx),%ecx
446baf:	83 c2 23             	add    $0x23,%edx