464781:	8b 41 0c             	mov    0xc(%ecx),%eax
464784:	8d 4c 24 08          	lea    0x8(%esp),%ecx
464788:	ff 00                	incl   (%eax)
46478a:	89 44 24 14          	mov    %eax,0x14(%esp)
46478e:	e8 5c 17 fe ff       	call   0x445eef
464793:	8b 4d 0c             	mov    0xc(%ebp),%ecx
464796:	8d 44 24 08          	lea    0x8(%esp),%eax
46479a:	50                   	push   %eax
46479b:	e8 c8 23 fa ff       	call   0x406b68
4647a0:	8d 4c 24 08          	lea    0x8(%esp),%ecx
4647a4:	e8 8e 83 fa ff       	call   0x40cb37
4647a9:	33 c0                	xor    %eax,%eax
4647ab:	5e                   	pop    %esi
4647ac:	8b e5                	mov    %ebp,%esp
4647ae:	5d                   	pop    %ebp
4647af:	c2 08 00             	ret    $0x8
4647b2:	55                   	push   %ebp
4647b3:	8b ec                	mov    %esp,%ebp
4647b5:	53                   	push   %ebx
4647b6:	56                   	push   %esi
4647b7:	57                   	push   %edi
4647b8:	8b 7d 08             	mov    0x8(%ebp),%edi
4647bb:	8b 47 04             	mov    0x4(%edi),%eax
4647be:	8b 30                	mov    (%eax),%esi
4647c0:	8b ce                	mov    %esi,%ecx
4647c2:	e8 a5 4b fa ff       	call   0x40936c
4647c7:	8b 47 04             	mov    0x4(%edi),%eax
4647ca:	8b 5e 08             	mov    0x8(%esi),%ebx
4647cd:	8b 70 04             	mov    0x4(%eax),%esi
4647d0:	8b ce                	mov    %esi,%ecx
4647d2:	e8 95 4b fa ff       	call   0x40936c
4647d7:	8b 76 08             	mov    0x8(%esi),%esi
4647da:	33 c0                	xor    %eax,%eax
4647dc:	83 7f 08 03          	cmpl   $0x3,0x8(%edi)
4647e0:	72 25                	jb     0x464807
4647e2:	8b 47 04             	mov    0x4(%edi),%eax
4647e5:	8b 48 08             	mov    0x8(%eax),%ecx
4647e8:	e8 99 8a fa ff       	call   0x40d286
4647ed:	85 c0                	test   %eax,%eax
4647ef:	78 05                	js     0x4647f6
4647f1:	83 f8 03             	cmp    $0x3,%eax
4647f4:	7e 02                	jle    0x4647f8
4647f6:	33 c0                	xor    %eax,%eax
4647f8:	83 f8 01             	cmp    $0x1,%eax
4647fb:	75 0a                	jne    0x464807
4647fd:	56                   	push   %esi
4647fe:	8b cb                	mov    %ebx,%ecx
464800:	e8 5f 76 fa ff       	call   0x40be64
464805:	eb 09                	jmp    0x464810
464807:	50                   	push   %eax
464808:	56                   	push   %esi
464809:	8b cb                	mov    %ebx,%ecx
46480b:	e8 4e 8b fb ff       	call   0x41d35e
464810:	8b 75 0c             	mov    0xc(%ebp),%esi
464813:	8b ce                	mov    %esi,%ecx
464815:	8b f8                	mov    %eax,%edi
464817:	e8 04 e4 fa ff       	call   0x412c20
46481c:	89 3e                	mov    %edi,(%esi)
46481e:	5f                   	pop    %edi
46481f:	c7 46 0c 01 00 00 00 	movl   $0x1,0xc(%esi)
464826:	5e                   	pop    %esi
464827:	33 c0                	xor    %eax,%eax
464829:	5b                   	pop    %ebx
46482a:	5d                   	pop    %ebp
46482b:	c2 08 00             	ret    $0x8
46482e:	55                   	push   %ebp
46482f:	8b ec                	mov    %esp,%ebp
464831:	83 ec 1c             	sub    $0x1c,%esp
464834:	53                   	push   %ebx
464835:	56                   	push   %esi
464836:	57                   	push   %edi
464837:	8b f1                	mov    %ecx,%esi
464839:	8b 4d 0c             	mov    0xc(%ebp),%ecx
46483c:	68 00 dc 49 00       	push   $0x49dc00
464841:	e8 73 85 fa ff       	call   0x40cdb9
464846:	8b 5d 08             	mov    0x8(%ebp),%ebx
464849:	6a 05                	push   $0x5
46484b:	8b 7b 04             	mov    0x4(%ebx),%edi
46484e:	8b 0f                	mov    (%edi),%ecx
464850:	e8 8f 8d fa ff       	call   0x40d5e4
464855:	84 c0                	test   %al,%al
464857:	0f 84 54 01 00 00    	je     0x4649b1
46485d:	33 f6                	xor    %esi,%esi
46485f:	46                   	inc    %esi
464860:	83 7b 08 02          	cmpl   $0x2,0x8(%ebx)
464864:	76 0a                	jbe    0x464870
464866:	8b 4f 08             	mov    0x8(%edi),%ecx
464869:	e8 18 8a fa ff       	call   0x40d286
46486e:	eb 08                	jmp    0x464878
464870:	8b 0f                	mov    (%edi),%ecx
464872:	56                   	push   %esi
464873:	e8 a7 77 fb ff       	call   0x41c01f
464878:	8b f8                	mov    %eax,%edi
46487a:	83 ff ff             	cmp    $0xffffffff,%edi
46487d:	75 0d                	jne    0x46488c
46487f:	8b 4b 04             	mov    0x4(%ebx),%ecx
464882:	56                   	push   %esi
464883:	8b 09                	mov    (%ecx),%ecx
464885:	e8 95 77 fb ff       	call   0x41c01f
46488a:	8b f8                	mov    %eax,%edi
46488c:	8b 53 04             	mov    0x4(%ebx),%edx
46488f:	56                   	push   %esi
464890:	8b 0a                	mov    (%edx),%ecx
464892:	e8 88 77 fb ff       	call   0x41c01f
464897:	3b f8                	cmp    %eax,%edi
464899:	76 0a                	jbe    0x4648a5
46489b:	8b 0a                	mov    (%edx),%ecx
46489d:	56                   	push   %esi
46489e:	e8 7c 77 fb ff       	call   0x41c01f
4648a3:	8b f8                	mov    %eax,%edi
4648a5:	39 73 08             	cmp    %esi,0x8(%ebx)
4648a8:	76 0c                	jbe    0x4648b6
4648aa:	8b 4a 04             	mov    0x4(%edx),%ecx
4648ad:	e8 d4 89 fa ff       	call   0x40d286
4648b2:	8b f0                	mov    %eax,%esi
4648b4:	eb 02                	jmp    0x4648b8
4648b6:	33 f6                	xor    %esi,%esi
4648b8:	3b f7                	cmp    %edi,%esi
4648ba:	0f 87 01 01 00 00    	ja     0x4649c1
4648c0:	83 7b 08 03          	cmpl   $0x3,0x8(%ebx)
4648c4:	76 0d                	jbe    0x4648d3
4648c6:	8b 43 04             	mov    0x4(%ebx),%eax
4648c9:	8b 48 0c             	mov    0xc(%eax),%ecx
4648cc:	e8 b5 89 fa ff       	call   0x40d286
4648d1:	eb 02                	jmp    0x4648d5
4648d3:	33 c0                	xor    %eax,%eax
4648d5:	89 45 08             	mov    %eax,0x8(%ebp)
4648d8:	83 f8 01             	cmp    $0x1,%eax
4648db:	74 4f                	je     0x46492c
4648dd:	83 f8 02             	cmp    $0x2,%eax
4648e0:	74 4a                	je     0x46492c
4648e2:	8d 4d e4             	lea    -0x1c(%ebp),%ecx
4648e5:	e8 0d 8f fa ff       	call   0x40d7f7
4648ea:	eb 23                	jmp    0x46490f
4648ec:	8b 43 04             	mov    0x4(%ebx),%eax
4648ef:	56                   	push   %esi
4648f0:	6a 01                	push   $0x1
4648f2:	6a 00                	push   $0x0
4648f4:	ff 30                	push   (%eax)
4648f6:	e8 95 d2 fa ff       	call   0x411b90
4648fb:	83 c4 10             	add    $0x10,%esp
4648fe:	8b c8                	mov    %eax,%ecx
464900:	e8 81 89 fa ff       	call   0x40d286
464905:	50                   	push   %eax
464906:	8d 4d e4             	lea    -0x1c(%ebp),%ecx
464909:	e8 8b 7e fa ff       	call   0x40c799
46490e:	46                   	inc    %esi
46490f:	3b f7                	cmp    %edi,%esi
464911:	72 d9                	jb     0x4648ec
464913:	8b 4d 0c             	mov    0xc(%ebp),%ecx
464916:	8d 45 e4             	lea    -0x1c(%ebp),%eax
464919:	50                   	push   %eax
46491a:	e8 49 22 fa ff       	call   0x406b68
46491f:	8d 4d e4             	lea    -0x1c(%ebp),%ecx
464922:	e8 10 82 fa ff       	call   0x40cb37
464927:	e9 95 00 00 00       	jmp    0x4649c1
46492c:	8b c7                	mov    %edi,%eax
46492e:	2b c6                	sub    %esi,%eax
464930:	89 45 f8             	mov    %eax,-0x8(%ebp)
464933:	40                   	inc    %eax
464934:	50                   	push   %eax
464935:	e8 b0 ab fb ff       	call   0x41f4ea
46493a:	59                   	pop    %ecx
46493b:	33 c9                	xor    %ecx,%ecx
46493d:	89 45 fc             	mov    %eax,-0x4(%ebp)
464940:	3b f7                	cmp    %edi,%esi
464942:	73 35                	jae    0x464979
464944:	2b c6                	sub    %esi,%eax
464946:	89 45 f4             	mov    %eax,-0xc(%ebp)
464949:	8b 45 f8             	mov    -0x8(%ebp),%eax
46494c:	89 45 f8             	mov    %eax,-0x8(%ebp)
46494f:	8b 43 04             	mov    0x4(%ebx),%eax
464952:	56                   	push   %esi
464953:	6a 01                	push   $0x1
464955:	6a 00                	push   $0x0
464957:	ff 30                	push   (%eax)
464959:	e8 32 d2 fa ff       	call   0x411b90
46495e:	83 c4 10             	add    $0x10,%esp
464961:	8b c8                	mov    %eax,%ecx
464963:	e8 1e 89 fa ff       	call   0x40d286
464968:	8b 4d f4             	mov    -0xc(%ebp),%ecx
46496b:	88 04 31             	mov    %al,(%ecx,%esi,1)
46496e:	46                   	inc    %esi
46496f:	3b f7                	cmp    %edi,%esi
464971:	72 dc                	jb     0x46494f
464973:	8b 45 fc             	mov    -0x4(%ebp),%eax
464976:	8b 4d f8             	mov    -0x8(%ebp),%ecx
464979:	83 7d 08 01          	cmpl   $0x1,0x8(%ebp)
46497d:	c6 04 01 00          	movb   $0x0,(%ecx,%eax,1)
464981:	8b c8                	mov    %eax,%ecx
464983:	75 0a                	jne    0x46498f
464985:	83 ca ff             	or     $0xffffffff,%edx
464988:	e8 c9 32 fe ff       	call   0x447c56
46498d:	eb 05                	jmp    0x464994
46498f:	e8 02 37 fe ff       	call   0x448096
464994:	8b 4d 0c             	mov    0xc(%ebp),%ecx
464997:	8b f0                	mov    %eax,%esi
464999:	56                   	push   %esi
46499a:	e8 1a 84 fa ff       	call   0x40cdb9
46499f:	ff 75 fc             	push   -0x4(%ebp)
4649a2:	e8 b7 ab fb ff       	call   0x41f55e
4649a7:	56                   	push   %esi
4649a8:	e8 b1 ab fb ff       	call   0x41f55e
4649ad:	59                   	pop    %ecx
4649ae:	59                   	pop    %ecx
4649af:	eb 10                	jmp    0x4649c1
4649b1:	8b 06                	mov    (%esi),%eax
4649b3:	6a 00                	push   $0x0
4649b5:	8b 48 04             	mov    0x4(%eax),%ecx
4649b8:	6a 01                	push   $0x1
4649ba:	03 ce                	add    %esi,%ecx
4649bc:	e8 8b 85 fe ff       	call   0x44cf4c
4649c1:	5f                   	pop    %edi
4649c2:	5e                   	pop    %esi
4649c3:	33 c0                	xor    %eax,%eax
4649c5:	5b                   	pop    %ebx
4649c6:	c9                   	leave
4649c7:	c2 08 00             	ret    $0x8
4649ca:	55                   	push   %ebp
4649cb:	8b ec                	mov    %esp,%ebp
4649cd:	83 ec 18             	sub    $0x18,%esp
4649d0:	83 65 e8 00          	andl   $0x0,-0x18(%ebp)
4649d4:	83 c8 ff             	or     $0xffffffff,%eax
4649d7:	89 45 f8             	mov    %eax,-0x8(%ebp)
4649da:	89 45 fc             	mov    %eax,-0x4(%ebp)
4649dd:	8b 45 08             	mov    0x8(%ebp),%eax
4649e0:	53                   	push   %ebx
4649e1:	8b 40 04             	mov    0x4(%eax),%eax
4649e4:	56                   	push   %esi
4649e5:	8b 30                	mov    (%eax),%esi
4649e7:	57                   	push   %edi
4649e8:	8b f9                	mov    %ecx,%edi
4649ea:	8b ce                	mov    %esi,%ecx
4649ec:	c7 45 f4 01 00 00 00 	movl   $0x1,-0xc(%ebp)
4649f3:	33 db                	xor    %ebx,%ebx
4649f5:	e8 72 49 fa ff       	call   0x40936c
4649fa:	8b 46 08             	mov    0x8(%esi),%eax
4649fd:	89 45 f0             	mov    %eax,-0x10(%ebp)
464a00:	8b 45 08             	mov    0x8(%ebp),%eax
464a03:	8b 40 04             	mov    0x4(%eax),%eax
464a06:	8b 70 04             	mov    0x4(%eax),%esi
464a09:	8b ce                	mov    %esi,%ecx
464a0b:	e8 5c 49 fa ff       	call   0x40936c
464a10:	8b 46 08             	mov    0x8(%esi),%eax
464a13:	8b 75 08             	mov    0x8(%ebp),%esi
464a16:	89 45 ec             	mov    %eax,-0x14(%ebp)
464a19:	8b 46 08             	mov    0x8(%esi),%eax
464a1c:	48                   	dec    %eax
464a1d:	48                   	dec    %eax
464a1e:	0f 84 83 00 00 00    	je     0x464aa7
464a24:	48                   	dec    %eax
464a25:	74 68                	je     0x464a8f
464a27:	48                   	dec    %eax
464a28:	74 53                	je     0x464a7d
464a2a:	48                   	dec    %eax
464a2b:	74 3f                	je     0x464a6c
464a2d:	48                   	dec    %eax
464a2e:	0f 85 93 00 00 00    	jne    0x464ac7
464a34:	8b 46 04             	mov    0x4(%esi),%eax
464a37:	8b 48 14             	mov    0x14(%eax),%ecx
464a3a:	e8 47 88 fa ff       	call   0x40d286
464a3f:	89 45 fc             	mov    %eax,-0x4(%ebp)
464a42:	85 c0                	test   %eax,%eax
464a44:	7f 26                	jg     0x464a6c
464a46:	8b 75 0c             	mov    0xc(%ebp),%esi
464a49:	8b ce                	mov    %esi,%ecx
464a4b:	e8 d0 e1 fa ff       	call   0x412c20
464a50:	21 1e                	and    %ebx,(%esi)
464a52:	33 c0                	xor    %eax,%eax
464a54:	40                   	inc    %eax
464a55:	6a 00                	push   $0x0
464a57:	89 46 0c             	mov    %eax,0xc(%esi)
464a5a:	50                   	push   %eax
464a5b:	8b 07                	mov    (%edi),%eax
464a5d:	8b 48 04             	mov    0x4(%eax),%ecx
464a60:	03 cf                	add    %edi,%ecx
464a62:	e8 e5 84 fe ff       	call   0x44cf4c
464a67:	e9 8b 00 00 00       	jmp    0x464af7
464a6c:	8b 46 04             	mov    0x4(%esi),%eax
464a6f:	8b 48 10             	mov    0x10(%eax),%ecx
464a72:	e8 0f 88 fa ff       	call   0x40d286
464a77:	48                   	dec    %eax
464a78:	89 45 f8             	mov    %eax,-0x8(%ebp)
464a7b:	78 c9                	js     0x464a46
464a7d:	8b 46 04             	mov    0x4(%esi),%eax
464a80:	8b 48 0c             	mov    0xc(%eax),%ecx
464a83:	e8 fe 87 fa ff       	call   0x40d286
464a88:	89 45 f4             	mov    %eax,-0xc(%ebp)
464a8b:	85 c0                	test   %eax,%eax
464a8d:	74 b7                	je     0x464a46
464a8f:	8b 46 04             	mov    0x4(%esi),%eax
464a92:	8b 48 08             	mov    0x8(%eax),%ecx
464a95:	e8 ec 87 fa ff       	call   0x40d286
464a9a:	8b d8                	mov    %eax,%ebx
464a9c:	85 db                	test   %ebx,%ebx
464a9e:	78 05                	js     0x464aa5
464aa0:	83 fb 03             	cmp    $0x3,%ebx
464aa3:	7e 02                	jle    0x464aa7
464aa5:	33 db                	xor    %ebx,%ebx
464aa7:	ff 75 fc             	push   -0x4(%ebp)
464aaa:	8b 45 ec             	mov    -0x14(%ebp),%eax
464aad:	ff 75 f8             	push   -0x8(%ebp)
464ab0:	8b 75 f0             	mov    -0x10(%ebp),%esi
464ab3:	ff 70 04             	push   0x4(%eax)
464ab6:	8b ce                	mov    %esi,%ecx
464ab8:	ff 75 f4             	push   -0xc(%ebp)
464abb:	53                   	push   %ebx
464abc:	ff 30                	push   (%eax)
464abe:	e8 4e d4 fd ff       	call   0x441f11
464ac3:	8b d8                	mov    %eax,%ebx
464ac5:	eb 06                	jmp    0x464acd
464ac7:	8b 5d e8             	mov    -0x18(%ebp),%ebx
464aca:	8b 75 f0             	mov    -0x10(%ebp),%esi
464acd:	3b 5e 04             	cmp    0x4(%esi),%ebx
464ad0:	8b 75 0c             	mov    0xc(%ebp),%esi
464ad3:	8b ce                	mov    %esi,%ecx
464ad5:	75 10                	jne    0x464ae7
464ad7:	e8 44 e1 fa ff       	call   0x412c20
464adc:	33 c0                	xor    %eax,%eax
464ade:	40                   	inc    %eax
464adf:	83 26 00             	andl   $0x0,(%esi)
464ae2:	89 46 0c             	mov    %eax,0xc(%esi)
464ae5:	eb 10                	jmp    0x464af7
464ae7:	e8 34 e1 fa ff       	call   0x412c20
464aec:	33 c0                	xor    %eax,%eax
464aee:	40                   	inc    %eax
464aef:	89 46 0c             	mov    %eax,0xc(%esi)
464af2:	8d 43 01             	lea    0x1(%ebx),%eax
464af5:	89 06                	mov    %eax,(%esi)
464af7:	5f                   	pop    %edi
464af8:	5e                   	pop    %esi
464af9:	33 c0                	xor    %eax,%eax
464afb:	5b                   	pop    %ebx
464afc:	c9                   	leave
464afd:	c2 08 00             	ret    $0x8
464b00:	55                   	push   %ebp
464b01:	8b ec                	mov    %esp,%ebp
464b03:	8b 45 08             	mov    0x8(%ebp),%eax
464b06:	53                   	push   %ebx
464b07:	8b 40 04             	mov    0x4(%eax),%eax
464b0a:	56                   	push   %esi
464b0b:	8b 30                	mov    (%eax),%esi
464b0d:	57                   	push   %edi
464b0e:	8b ce                	mov    %esi,%ecx
464b10:	e8 57 48 fa ff       	call   0x40936c
464b15:	8b 46 08             	mov    0x8(%esi),%eax
464b18:	8b 75 0c             	mov    0xc(%ebp),%esi
464b1b:	8b 38                	mov    (%eax),%edi
464b1d:	8b ce                	mov    %esi,%ecx
464b1f:	e8 fc e0 fa ff       	call   0x412c20