470957:	8b f1                	mov    %ecx,%esi
470959:	8d 4d d0             	lea    -0x30(%ebp),%ecx
47095c:	57                   	push   %edi
47095d:	e8 65 6e f9 ff       	call   0x4077c7
470962:	33 ff                	xor    %edi,%edi
470964:	80 3d bc 67 4c 00 01 	cmpb   $0x1,0x4c67bc
47096b:	74 1a                	je     0x470987
47096d:	8d 45 cc             	lea    -0x34(%ebp),%eax
470970:	b9 b0 67 4c 00       	mov    $0x4c67b0,%ecx
470975:	50                   	push   %eax
470976:	e8 7b 62 fe ff       	call   0x456bf6
47097b:	84 c0                	test   %al,%al
47097d:	74 08                	je     0x470987
47097f:	8b 7d ec             	mov    -0x14(%ebp),%edi
470982:	8b 5d e8             	mov    -0x18(%ebp),%ebx
470985:	eb 1e                	jmp    0x4709a5
470987:	68 10 f9 48 00       	push   $0x48f910
47098c:	8d 4d d0             	lea    -0x30(%ebp),%ecx
47098f:	89 7d cc             	mov    %edi,-0x34(%ebp)
470992:	e8 95 73 f9 ff       	call   0x407d2c
470997:	8b df                	mov    %edi,%ebx
470999:	89 7d e0             	mov    %edi,-0x20(%ebp)
47099c:	89 7d e4             	mov    %edi,-0x1c(%ebp)
47099f:	89 5d e8             	mov    %ebx,-0x18(%ebp)
4709a2:	89 7d ec             	mov    %edi,-0x14(%ebp)
4709a5:	80 3d bc 67 4c 00 01 	cmpb   $0x1,0x4c67bc
4709ac:	75 10                	jne    0x4709be
4709ae:	8b 06                	mov    (%esi),%eax
4709b0:	6a 00                	push   $0x0
4709b2:	6a 01                	push   $0x1
4709b4:	8b 48 04             	mov    0x4(%eax),%ecx
4709b7:	03 ce                	add    %esi,%ecx
4709b9:	e8 e5 60 fe ff       	call   0x456aa3
4709be:	8b 45 08             	mov    0x8(%ebp),%eax
4709c1:	83 78 08 00          	cmpl   $0x0,0x8(%eax)
4709c5:	0f 86 ec 00 00 00    	jbe    0x470ab7
4709cb:	8b 40 04             	mov    0x4(%eax),%eax
4709ce:	8b 08                	mov    (%eax),%ecx
4709d0:	e8 c7 92 f9 ff       	call   0x409c9c
4709d5:	83 f8 01             	cmp    $0x1,%eax
4709d8:	0f 85 d9 00 00 00    	jne    0x470ab7
4709de:	8b 4d 0c             	mov    0xc(%ebp),%ecx
4709e1:	e8 48 8a f9 ff       	call   0x40942e
4709e6:	6a 05                	push   $0x5
4709e8:	8b f0                	mov    %eax,%esi
4709ea:	6a 01                	push   $0x1
4709ec:	56                   	push   %esi
4709ed:	e8 be 87 f9 ff       	call   0x4091b0
4709f2:	8b 4d cc             	mov    -0x34(%ebp),%ecx
4709f5:	33 c0                	xor    %eax,%eax
4709f7:	83 65 f8 00          	andl   $0x0,-0x8(%ebp)
4709fb:	40                   	inc    %eax
4709fc:	6a 00                	push   $0x0
4709fe:	50                   	push   %eax
4709ff:	89 45 fc             	mov    %eax,-0x4(%ebp)
470a02:	8d 45 f0             	lea    -0x10(%ebp),%eax
470a05:	50                   	push   %eax
470a06:	56                   	push   %esi
470a07:	89 4d f0             	mov    %ecx,-0x10(%ebp)
470a0a:	e8 31 86 f9 ff       	call   0x409040
470a0f:	83 c4 1c             	add    $0x1c,%esp
470a12:	8d 4d f0             	lea    -0x10(%ebp),%ecx
470a15:	e8 06 90 f9 ff       	call   0x409a20
470a1a:	8b 45 e0             	mov    -0x20(%ebp),%eax
470a1d:	83 65 f8 00          	andl   $0x0,-0x8(%ebp)
470a21:	6a 01                	push   $0x1
470a23:	89 45 f0             	mov    %eax,-0x10(%ebp)
470a26:	8d 45 f0             	lea    -0x10(%ebp),%eax
470a29:	6a 01                	push   $0x1
470a2b:	50                   	push   %eax
470a2c:	56                   	push   %esi
470a2d:	c7 45 fc 07 00 00 00 	movl   $0x7,-0x4(%ebp)
470a34:	e8 07 86 f9 ff       	call   0x409040
470a39:	83 c4 10             	add    $0x10,%esp
470a3c:	8d 4d f0             	lea    -0x10(%ebp),%ecx
470a3f:	e8 dc 8f f9 ff       	call   0x409a20
470a44:	8b 45 e4             	mov    -0x1c(%ebp),%eax
470a47:	83 65 f8 00          	andl   $0x0,-0x8(%ebp)
470a4b:	6a 02                	push   $0x2
470a4d:	89 45 f0             	mov    %eax,-0x10(%ebp)
470a50:	8d 45 f0             	lea    -0x10(%ebp),%eax
470a53:	6a 01                	push   $0x1
470a55:	50                   	push   %eax
470a56:	56                   	push   %esi
470a57:	c7 45 fc 07 00 00 00 	movl   $0x7,-0x4(%ebp)
470a5e:	e8 dd 85 f9 ff       	call   0x409040
470a63:	83 c4 10             	add    $0x10,%esp
470a66:	8d 4d f0             	lea    -0x10(%ebp),%ecx
470a69:	e8 b2 8f f9 ff       	call   0x409a20
470a6e:	83 65 f8 00          	andl   $0x0,-0x8(%ebp)
470a72:	8d 45 f0             	lea    -0x10(%ebp),%eax
470a75:	89 5d f0             	mov    %ebx,-0x10(%ebp)
470a78:	33 db                	xor    %ebx,%ebx
470a7a:	6a 03                	push   $0x3
470a7c:	43                   	inc    %ebx
470a7d:	53                   	push   %ebx
470a7e:	50                   	push   %eax
470a7f:	56                   	push   %esi
470a80:	89 5d fc             	mov    %ebx,-0x4(%ebp)
470a83:	e8 b8 85 f9 ff       	call   0x409040
470a88:	83 c4 10             	add    $0x10,%esp
470a8b:	8d 4d f0             	lea    -0x10(%ebp),%ecx
470a8e:	e8 8d 8f f9 ff       	call   0x409a20
470a93:	83 65 f8 00          	andl   $0x0,-0x8(%ebp)
470a97:	8d 45 f0             	lea    -0x10(%ebp),%eax
470a9a:	6a 04                	push   $0x4
470a9c:	53                   	push   %ebx
470a9d:	50                   	push   %eax
470a9e:	56                   	push   %esi
470a9f:	89 7d f0             	mov    %edi,-0x10(%ebp)
470aa2:	89 5d fc             	mov    %ebx,-0x4(%ebp)
470aa5:	e8 96 85 f9 ff       	call   0x409040
470aaa:	83 c4 10             	add    $0x10,%esp
470aad:	8d 4d f0             	lea    -0x10(%ebp),%ecx
470ab0:	e8 6b 8f f9 ff       	call   0x409a20
470ab5:	eb 16                	jmp    0x470acd
470ab7:	8b 75 0c             	mov    0xc(%ebp),%esi
470aba:	8b ce                	mov    %esi,%ecx
470abc:	e8 5f 8f f9 ff       	call   0x409a20
470ac1:	8b 45 cc             	mov    -0x34(%ebp),%eax
470ac4:	c7 46 0c 01 00 00 00 	movl   $0x1,0xc(%esi)
470acb:	89 06                	mov    %eax,(%esi)
470acd:	8d 4d d0             	lea    -0x30(%ebp),%ecx
470ad0:	e8 8f 4f f9 ff       	call   0x405a64
470ad5:	5f                   	pop    %edi
470ad6:	5e                   	pop    %esi
470ad7:	33 c0                	xor    %eax,%eax
470ad9:	5b                   	pop    %ebx
470ada:	8b e5                	mov    %ebp,%esp
470adc:	5d                   	pop    %ebp
470add:	c2 08 00             	ret    $0x8
470ae0:	55                   	push   %ebp
470ae1:	8b ec                	mov    %esp,%ebp
470ae3:	83 ec 14             	sub    $0x14,%esp
470ae6:	83 65 fc 00          	andl   $0x0,-0x4(%ebp)
470aea:	53                   	push   %ebx
470aeb:	56                   	push   %esi
470aec:	8b 75 0c             	mov    0xc(%ebp),%esi
470aef:	8b d9                	mov    %ecx,%ebx
470af1:	57                   	push   %edi
470af2:	8b ce                	mov    %esi,%ecx
470af4:	e8 35 89 f9 ff       	call   0x40942e
470af9:	6a 02                	push   $0x2
470afb:	8b f8                	mov    %eax,%edi
470afd:	6a 01                	push   $0x1
470aff:	57                   	push   %edi
470b00:	e8 ab 86 f9 ff       	call   0x4091b0
470b05:	8b 45 08             	mov    0x8(%ebp),%eax
470b08:	83 c4 0c             	add    $0xc,%esp
470b0b:	83 78 08 00          	cmpl   $0x0,0x8(%eax)
470b0f:	76 0c                	jbe    0x470b1d
470b11:	8b 40 04             	mov    0x4(%eax),%eax
470b14:	8b 08                	mov    (%eax),%ecx
470b16:	e8 a0 7e ff ff       	call   0x4689bb
470b1b:	eb 03                	jmp    0x470b20
470b1d:	8b 45 fc             	mov    -0x4(%ebp),%eax
470b20:	50                   	push   %eax
470b21:	8d 45 08             	lea    0x8(%ebp),%eax
470b24:	50                   	push   %eax
470b25:	8d 45 0c             	lea    0xc(%ebp),%eax
470b28:	50                   	push   %eax
470b29:	e8 12 a6 01 00       	call   0x48b140
470b2e:	85 c0                	test   %eax,%eax
470b30:	74 4d                	je     0x470b7f
470b32:	8b 45 0c             	mov    0xc(%ebp),%eax
470b35:	33 f6                	xor    %esi,%esi
470b37:	33 db                	xor    %ebx,%ebx
470b39:	89 45 ec             	mov    %eax,-0x14(%ebp)
470b3c:	56                   	push   %esi
470b3d:	43                   	inc    %ebx
470b3e:	89 75 f4             	mov    %esi,-0xc(%ebp)
470b41:	53                   	push   %ebx
470b42:	8d 45 ec             	lea    -0x14(%ebp),%eax
470b45:	89 5d f8             	mov    %ebx,-0x8(%ebp)
470b48:	50                   	push   %eax
470b49:	57                   	push   %edi
470b4a:	e8 f1 84 f9 ff       	call   0x409040
470b4f:	83 c4 10             	add    $0x10,%esp
470b52:	8d 4d ec             	lea    -0x14(%ebp),%ecx
470b55:	e8 c6 8e f9 ff       	call   0x409a20
470b5a:	8b 45 08             	mov    0x8(%ebp),%eax
470b5d:	53                   	push   %ebx
470b5e:	89 45 ec             	mov    %eax,-0x14(%ebp)
470b61:	8d 45 ec             	lea    -0x14(%ebp),%eax
470b64:	53                   	push   %ebx
470b65:	50                   	push   %eax
470b66:	57                   	push   %edi
470b67:	89 75 f4             	mov    %esi,-0xc(%ebp)
470b6a:	89 5d f8             	mov    %ebx,-0x8(%ebp)
470b6d:	e8 ce 84 f9 ff       	call   0x409040
470b72:	83 c4 10             	add    $0x10,%esp
470b75:	8d 4d ec             	lea    -0x14(%ebp),%ecx
470b78:	e8 a3 8e f9 ff       	call   0x409a20
470b7d:	eb 1f                	jmp    0x470b9e
470b7f:	8b 03                	mov    (%ebx),%eax
470b81:	33 ff                	xor    %edi,%edi
470b83:	6a 00                	push   $0x0
470b85:	47                   	inc    %edi
470b86:	57                   	push   %edi
470b87:	8b 48 04             	mov    0x4(%eax),%ecx
470b8a:	03 cb                	add    %ebx,%ecx
470b8c:	e8 12 5f fe ff       	call   0x456aa3
470b91:	8b ce                	mov    %esi,%ecx
470b93:	e8 88 8e f9 ff       	call   0x409a20
470b98:	83 26 00             	andl   $0x0,(%esi)
470b9b:	89 7e 0c             	mov    %edi,0xc(%esi)
470b9e:	5f                   	pop    %edi
470b9f:	5e                   	pop    %esi
470ba0:	33 c0                	xor    %eax,%eax
470ba2:	5b                   	pop    %ebx
470ba3:	8b e5                	mov    %ebp,%esp
470ba5:	5d                   	pop    %ebp
470ba6:	c2 08 00             	ret    $0x8
470ba9:	55                   	push   %ebp
470baa:	8b ec                	mov    %esp,%ebp
470bac:	83 ec 38             	sub    $0x38,%esp
470baf:	8b 45 08             	mov    0x8(%ebp),%eax
470bb2:	53                   	push   %ebx
470bb3:	56                   	push   %esi
470bb4:	57                   	push   %edi
470bb5:	8b 40 04             	mov    0x4(%eax),%eax
470bb8:	33 ff                	xor    %edi,%edi
470bba:	89 4d fc             	mov    %ecx,-0x4(%ebp)
470bbd:	89 7d f8             	mov    %edi,-0x8(%ebp)
470bc0:	8b 70 04             	mov    0x4(%eax),%esi
470bc3:	8b ce                	mov    %esi,%ecx
470bc5:	83 7e 0c 0e          	cmpl   $0xe,0xc(%esi)
470bc9:	75 10                	jne    0x470bdb
470bcb:	8d 45 c8             	lea    -0x38(%ebp),%eax
470bce:	33 db                	xor    %ebx,%ebx
470bd0:	50                   	push   %eax
470bd1:	43                   	inc    %ebx
470bd2:	e8 cd 6f ff ff       	call   0x467ba4
470bd7:	8b c8                	mov    %eax,%ecx
470bd9:	eb 27                	jmp    0x470c02
470bdb:	6a 02                	push   $0x2
470bdd:	5b                   	pop    %ebx
470bde:	e8 b4 8d f9 ff       	call   0x409997
470be3:	8b 4e 08             	mov    0x8(%esi),%ecx
470be6:	8b 01                	mov    (%ecx),%eax
470be8:	89 45 d8             	mov    %eax,-0x28(%ebp)
470beb:	8b 41 04             	mov    0x4(%ecx),%eax
470bee:	89 45 dc             	mov    %eax,-0x24(%ebp)
470bf1:	8b 41 08             	mov    0x8(%ecx),%eax
470bf4:	89 45 e0             	mov    %eax,-0x20(%ebp)
470bf7:	8b 41 0c             	mov    0xc(%ecx),%eax
470bfa:	8d 4d d8             	lea    -0x28(%ebp),%ecx
470bfd:	89 45 e4             	mov    %eax,-0x1c(%ebp)
470c00:	ff 00                	incl   (%eax)
470c02:	8b 01                	mov    (%ecx),%eax
470c04:	8b 71 04             	mov    0x4(%ecx),%esi
470c07:	89 45 e8             	mov    %eax,-0x18(%ebp)
470c0a:	8b 41 08             	mov    0x8(%ecx),%eax
470c0d:	89 45 f0             	mov    %eax,-0x10(%ebp)
470c10:	8b 41 0c             	mov    0xc(%ecx),%eax
470c13:	89 75 ec             	mov    %esi,-0x14(%ebp)
470c16:	89 45 f4             	mov    %eax,-0xc(%ebp)
470c19:	ff 00                	incl   (%eax)
470c1b:	f6 c3 02             	test   $0x2,%bl
470c1e:	74 0b                	je     0x470c2b
470c20:	8d 4d d8             	lea    -0x28(%ebp),%ecx
470c23:	83 e3 fd             	and    $0xfffffffd,%ebx
470c26:	e8 39 4e f9 ff       	call   0x405a64
470c2b:	f6 c3 01             	test   $0x1,%bl
470c2e:	74 08                	je     0x470c38
470c30:	8d 4d c8             	lea    -0x38(%ebp),%ecx
470c33:	e8 2c 4e f9 ff       	call   0x405a64
470c38:	85 f6                	test   %esi,%esi
470c3a:	74 37                	je     0x470c73
470c3c:	8b 5d fc             	mov    -0x4(%ebp),%ebx
470c3f:	8d 45 e8             	lea    -0x18(%ebp),%eax
470c42:	50                   	push   %eax
470c43:	8b cb                	mov    %ebx,%ecx
470c45:	e8 73 93 f9 ff       	call   0x409fbd
470c4a:	85 c0                	test   %eax,%eax
470c4c:	75 25                	jne    0x470c73
470c4e:	8b 75 0c             	mov    0xc(%ebp),%esi
470c51:	8b ce                	mov    %esi,%ecx
470c53:	e8 c8 8d f9 ff       	call   0x409a20
470c58:	33 c0                	xor    %eax,%eax
470c5a:	89 3e                	mov    %edi,(%esi)
470c5c:	40                   	inc    %eax
470c5d:	57                   	push   %edi
470c5e:	89 46 0c             	mov    %eax,0xc(%esi)
470c61:	50                   	push   %eax
470c62:	8b 03                	mov    (%ebx),%eax
470c64:	8b 48 04             	mov    0x4(%eax),%ecx
470c67:	03 cb                	add    %ebx,%ecx
470c69:	e8 35 5e fe ff       	call   0x456aa3
470c6e:	83 ce ff             	or     $0xffffffff,%esi
470c71:	eb 2d                	jmp    0x470ca0
470c73:	8b 45 08             	mov    0x8(%ebp),%eax
470c76:	8d 4d e8             	lea    -0x18(%ebp),%ecx
470c79:	51                   	push   %ecx
470c7a:	8b 40 04             	mov    0x4(%eax),%eax
470c7d:	8b 08                	mov    (%eax),%ecx
470c7f:	e8 18 90 f9 ff       	call   0x409c9c
470c84:	50                   	push   %eax
470c85:	e8 16 a5 01 00       	call   0x48b1a0
470c8a:	8b 75 0c             	mov    0xc(%ebp),%esi
470c8d:	8b f8                	mov    %eax,%edi
470c8f:	8b ce                	mov    %esi,%ecx
470c91:	e8 8a 8d f9 ff       	call   0x409a20
470c96:	33 c0                	xor    %eax,%eax
470c98:	89 3e                	mov    %edi,(%esi)
470c9a:	40                   	inc    %eax
470c9b:	89 46 0c             	mov    %eax,0xc(%esi)
470c9e:	33 f6                	xor    %esi,%esi
470ca0:	8d 4d e8             	lea    -0x18(%ebp),%ecx
470ca3:	e8 bc 4d f9 ff       	call   0x405a64
470ca8:	5f                   	pop    %edi
470ca9:	8b c6                	mov    %esi,%eax
470cab:	5e                   	pop    %esi
470cac:	5b                   	pop    %ebx
470cad:	8b e5                	mov    %ebp,%esp
470caf:	5d                   	pop    %ebp
470cb0:	c2 08 00             	ret    $0x8
470cb3:	55                   	push   %ebp
470cb4:	8b ec                	mov    %esp,%ebp
470cb6:	83 e4 f8             	and    $0xfffffff8,%esp
470cb9:	83 ec 2c             	sub    $0x2c,%esp
470cbc:	53                   	push   %ebx
470cbd:	56                   	push   %esi
470cbe:	8b 75 08             	mov    0x8(%ebp),%esi
470cc1:	57                   	push   %edi
470cc2:	33 ff                	xor    %edi,%edi
470cc4:	8b c7                	mov    %edi,%eax
470cc6:	89 7c 24 20          	mov    %edi,0x20(%esp)
470cca:	83 7e 08 01          	cmpl   $0x1,0x8(%esi)
470cce:	76 0f                	jbe    0x470cdf
470cd0:	8b 46 04             	mov    0x4(%esi),%eax
470cd3:	8b 48 04             	mov    0x4(%eax),%ecx
470cd6:	e8 e0 7c ff ff       	call   0x4689bb
470cdb:	89 44 24 20          	mov    %eax,0x20(%esp)
470cdf:	8b 4e 04             	mov    0x4(%esi),%ecx
470ce2:	8b 19                	mov    (%ecx),%ebx
470ce4:	83 7b 0c 05          	cmpl   $0x5,0xc(%ebx)
470ce8:	74 0d                	je     0x470cf7
470cea:	50                   	push   %eax
470ceb:	57                   	push   %edi
470cec:	57                   	push   %edi
470ced:	e8 44 a5 01 00       	call   0x48b236
470cf2:	e9 7e 01 00 00       	jmp    0x470e75
470cf7:	8b 1b                	mov    (%ebx),%ebx
470cf9:	8b 03                	mov    (%ebx),%eax
470cfb:	83 b8 0c 01 00 00 02 	cmpl   $0x2,0x10c(%eax)
470d02:	0f 85 5a 01 00 00    	jne    0x470e62
470d08:	6a 02                	push   $0x2
470d0a:	8b cb                	mov    %ebx,%ecx
470d0c:	e8 5a 81 f9 ff       	call   0x408e6b