470ad3:	8b 08                	mov    (%eax),%ecx
470ad5:	8b 40 04             	mov    0x4(%eax),%eax
470ad8:	89 4d f4             	mov    %ecx,-0xc(%ebp)
470adb:	89 45 f8             	mov    %eax,-0x8(%ebp)
470ade:	f6 c3 10             	test   $0x10,%bl
470ae1:	0f 84 f5 00 00 00    	je     0x470bdc
470ae7:	83 7d 18 00          	cmpl   $0x0,0x18(%ebp)
470aeb:	0f 85 9a 03 00 00    	jne    0x470e8b
470af1:	85 ff                	test   %edi,%edi
470af3:	0f 8e 89 00 00 00    	jle    0x470b82
470af9:	8d 45 e8             	lea    -0x18(%ebp),%eax
470afc:	c7 45 e8 18 12 4a 00 	movl   $0x4a1218,-0x18(%ebp)
470b03:	50                   	push   %eax
470b04:	8d 4d d4             	lea    -0x2c(%ebp),%ecx
470b07:	c7 45 ec 02 00 00 00 	movl   $0x2,-0x14(%ebp)
470b0e:	e8 d3 dc ff ff       	call   0x46e7e6
470b13:	8d 4d f4             	lea    -0xc(%ebp),%ecx
470b16:	51                   	push   %ecx
470b17:	8d 4d e8             	lea    -0x18(%ebp),%ecx
470b1a:	51                   	push   %ecx
470b1b:	8b c8                	mov    %eax,%ecx
470b1d:	e8 5b e0 ff ff       	call   0x46eb7d
470b22:	8b 45 e8             	mov    -0x18(%ebp),%eax
470b25:	89 45 f4             	mov    %eax,-0xc(%ebp)
470b28:	8b 45 ec             	mov    -0x14(%ebp),%eax
470b2b:	89 45 f8             	mov    %eax,-0x8(%ebp)
470b2e:	a1 8c 83 4c 00       	mov    0x4c838c,%eax
470b33:	80 38 00             	cmpb   $0x0,(%eax)
470b36:	74 23                	je     0x470b5b
470b38:	8d 45 d4             	lea    -0x2c(%ebp),%eax
470b3b:	50                   	push   %eax
470b3c:	e8 24 24 00 00       	call   0x472f65
470b41:	59                   	pop    %ecx
470b42:	8d 4d f4             	lea    -0xc(%ebp),%ecx
470b45:	51                   	push   %ecx
470b46:	8d 4d ac             	lea    -0x54(%ebp),%ecx
470b49:	51                   	push   %ecx
470b4a:	8b c8                	mov    %eax,%ecx
470b4c:	e8 2c e0 ff ff       	call   0x46eb7d
470b51:	8b 08                	mov    (%eax),%ecx
470b53:	8b 40 04             	mov    0x4(%eax),%eax
470b56:	89 4d f4             	mov    %ecx,-0xc(%ebp)
470b59:	eb 22                	jmp    0x470b7d
470b5b:	6a 01                	push   $0x1
470b5d:	8d 4d d4             	lea    -0x2c(%ebp),%ecx
470b60:	e8 f1 dc ff ff       	call   0x46e856
470b65:	8d 4d f4             	lea    -0xc(%ebp),%ecx
470b68:	51                   	push   %ecx
470b69:	8d 4d e8             	lea    -0x18(%ebp),%ecx
470b6c:	51                   	push   %ecx
470b6d:	8b c8                	mov    %eax,%ecx
470b6f:	e8 09 e0 ff ff       	call   0x46eb7d
470b74:	8b 45 e8             	mov    -0x18(%ebp),%eax
470b77:	89 45 f4             	mov    %eax,-0xc(%ebp)
470b7a:	8b 45 ec             	mov    -0x14(%ebp),%eax
470b7d:	89 45 f8             	mov    %eax,-0x8(%ebp)
470b80:	eb 1d                	jmp    0x470b9f
470b82:	a1 8c 83 4c 00       	mov    0x4c838c,%eax
470b87:	80 38 00             	cmpb   $0x0,(%eax)
470b8a:	74 13                	je     0x470b9f
470b8c:	8d 45 d4             	lea    -0x2c(%ebp),%eax
470b8f:	50                   	push   %eax
470b90:	e8 d0 23 00 00       	call   0x472f65
470b95:	59                   	pop    %ecx
470b96:	50                   	push   %eax
470b97:	8d 4d f4             	lea    -0xc(%ebp),%ecx
470b9a:	e8 c8 e1 ff ff       	call   0x46ed67
470b9f:	a1 8c 83 4c 00       	mov    0x4c838c,%eax
470ba4:	8a 00                	mov    (%eax),%al
470ba6:	84 c0                	test   %al,%al
470ba8:	75 24                	jne    0x470bce
470baa:	80 7d f8 01          	cmpb   $0x1,-0x8(%ebp)
470bae:	7f 2c                	jg     0x470bdc
470bb0:	83 7d f4 00          	cmpl   $0x0,-0xc(%ebp)
470bb4:	8d 4d f4             	lea    -0xc(%ebp),%ecx
470bb7:	74 0c                	je     0x470bc5
470bb9:	68 cc 17 4a 00       	push   $0x4a17cc
470bbe:	e8 ca d9 ff ff       	call   0x46e58d
470bc3:	eb 17                	jmp    0x470bdc
470bc5:	6a 01                	push   $0x1
470bc7:	e8 b2 de ff ff       	call   0x46ea7e
470bcc:	eb 0e                	jmp    0x470bdc
470bce:	ff 05 8c 83 4c 00    	incl   0x4c838c
470bd4:	3c 40                	cmp    $0x40,%al
470bd6:	0f 85 af 02 00 00    	jne    0x470e8b
470bdc:	a1 94 83 4c 00       	mov    0x4c8394,%eax
470be1:	8b cb                	mov    %ebx,%ecx
470be3:	d1 e8                	shr    $1,%eax
470be5:	83 e1 0c             	and    $0xc,%ecx
470be8:	f7 d0                	not    %eax
470bea:	a8 01                	test   $0x1,%al
470bec:	74 35                	je     0x470c23
470bee:	83 f9 0c             	cmp    $0xc,%ecx
470bf1:	75 48                	jne    0x470c3b
470bf3:	83 7d 18 00          	cmpl   $0x0,0x18(%ebp)
470bf7:	0f 85 8e 02 00 00    	jne    0x470e8b
470bfd:	8d 45 d4             	lea    -0x2c(%ebp),%eax
470c00:	50                   	push   %eax
470c01:	e8 7f f4 ff ff       	call   0x470085
470c06:	59                   	pop    %ecx
470c07:	8d 4d f4             	lea    -0xc(%ebp),%ecx
470c0a:	51                   	push   %ecx
470c0b:	8d 4d ac             	lea    -0x54(%ebp),%ecx
470c0e:	51                   	push   %ecx
470c0f:	8b c8                	mov    %eax,%ecx
470c11:	e8 67 df ff ff       	call   0x46eb7d
470c16:	8b 08                	mov    (%eax),%ecx
470c18:	8b 40 04             	mov    0x4(%eax),%eax
470c1b:	89 4d f4             	mov    %ecx,-0xc(%ebp)
470c1e:	89 45 f8             	mov    %eax,-0x8(%ebp)
470c21:	eb 18                	jmp    0x470c3b
470c23:	83 f9 0c             	cmp    $0xc,%ecx
470c26:	75 13                	jne    0x470c3b
470c28:	8d 45 d4             	lea    -0x2c(%ebp),%eax
470c2b:	50                   	push   %eax
470c2c:	e8 54 f4 ff ff       	call   0x470085
470c31:	59                   	pop    %ecx
470c32:	50                   	push   %eax
470c33:	8d 4d f4             	lea    -0xc(%ebp),%ecx
470c36:	e8 2c e1 ff ff       	call   0x46ed67
470c3b:	f6 c3 02             	test   $0x2,%bl
470c3e:	74 35                	je     0x470c75
470c40:	8d 45 e8             	lea    -0x18(%ebp),%eax
470c43:	c7 45 e8 60 14 4a 00 	movl   $0x4a1460,-0x18(%ebp)
470c4a:	50                   	push   %eax
470c4b:	8d 4d d4             	lea    -0x2c(%ebp),%ecx
470c4e:	c7 45 ec 09 00 00 00 	movl   $0x9,-0x14(%ebp)
470c55:	e8 8c db ff ff       	call   0x46e7e6
470c5a:	8d 4d f4             	lea    -0xc(%ebp),%ecx
470c5d:	51                   	push   %ecx
470c5e:	8d 4d e8             	lea    -0x18(%ebp),%ecx
470c61:	51                   	push   %ecx
470c62:	8b c8                	mov    %eax,%ecx
470c64:	e8 14 df ff ff       	call   0x46eb7d
470c69:	8b 45 e8             	mov    -0x18(%ebp),%eax
470c6c:	89 45 f4             	mov    %eax,-0xc(%ebp)
470c6f:	8b 45 ec             	mov    -0x14(%ebp),%eax
470c72:	89 45 f8             	mov    %eax,-0x8(%ebp)
470c75:	f6 c3 01             	test   $0x1,%bl
470c78:	74 35                	je     0x470caf
470c7a:	8d 45 e8             	lea    -0x18(%ebp),%eax
470c7d:	c7 45 e8 fc 15 4a 00 	movl   $0x4a15fc,-0x18(%ebp)
470c84:	50                   	push   %eax
470c85:	8d 4d d4             	lea    -0x2c(%ebp),%ecx
470c88:	c7 45 ec 06 00 00 00 	movl   $0x6,-0x14(%ebp)
470c8f:	e8 52 db ff ff       	call   0x46e7e6
470c94:	8d 4d f4             	lea    -0xc(%ebp),%ecx
470c97:	51                   	push   %ecx
470c98:	8d 4d e8             	lea    -0x18(%ebp),%ecx
470c9b:	51                   	push   %ecx
470c9c:	8b c8                	mov    %eax,%ecx
470c9e:	e8 da de ff ff       	call   0x46eb7d
470ca3:	8b 45 e8             	mov    -0x18(%ebp),%eax
470ca6:	89 45 f4             	mov    %eax,-0xc(%ebp)
470ca9:	8b 45 ec             	mov    -0x14(%ebp),%eax
470cac:	89 45 f8             	mov    %eax,-0x8(%ebp)
470caf:	80 7d ff 00          	cmpb   $0x0,-0x1(%ebp)
470cb3:	74 6f                	je     0x470d24
470cb5:	8b 4d f8             	mov    -0x8(%ebp),%ecx
470cb8:	bf 04 16 4a 00       	mov    $0x4a1604,%edi
470cbd:	8b 45 f4             	mov    -0xc(%ebp),%eax
470cc0:	89 7d e8             	mov    %edi,-0x18(%ebp)
470cc3:	89 45 dc             	mov    %eax,-0x24(%ebp)
470cc6:	89 4d e0             	mov    %ecx,-0x20(%ebp)
470cc9:	6a 02                	push   $0x2
470ccb:	5b                   	pop    %ebx
470ccc:	89 5d ec             	mov    %ebx,-0x14(%ebp)
470ccf:	80 f9 01             	cmp    $0x1,%cl
470cd2:	7f 44                	jg     0x470d18
470cd4:	85 c0                	test   %eax,%eax
470cd6:	75 0e                	jne    0x470ce6
470cd8:	8d 45 e8             	lea    -0x18(%ebp),%eax
470cdb:	50                   	push   %eax
470cdc:	8d 4d dc             	lea    -0x24(%ebp),%ecx
470cdf:	e8 79 dd ff ff       	call   0x46ea5d
470ce4:	eb 32                	jmp    0x470d18
470ce6:	6a 0c                	push   $0xc
470ce8:	b9 a8 83 4c 00       	mov    $0x4c83a8,%ecx
470ced:	e8 41 11 00 00       	call   0x471e33
470cf2:	8b f0                	mov    %eax,%esi
470cf4:	85 f6                	test   %esi,%esi
470cf6:	74 15                	je     0x470d0d
470cf8:	8b ce                	mov    %esi,%ecx
470cfa:	e8 9c dc ff ff       	call   0x46e99b
470cff:	c7 06 6c 16 4a 00    	movl   $0x4a166c,(%esi)
470d05:	89 7e 04             	mov    %edi,0x4(%esi)
470d08:	89 5e 08             	mov    %ebx,0x8(%esi)
470d0b:	eb 02                	jmp    0x470d0f
470d0d:	33 f6                	xor    %esi,%esi
470d0f:	56                   	push   %esi
470d10:	8d 4d dc             	lea    -0x24(%ebp),%ecx
470d13:	e8 75 d8 ff ff       	call   0x46e58d
470d18:	8b 45 dc             	mov    -0x24(%ebp),%eax
470d1b:	89 45 f4             	mov    %eax,-0xc(%ebp)
470d1e:	8b 45 e0             	mov    -0x20(%ebp),%eax
470d21:	89 45 f8             	mov    %eax,-0x8(%ebp)
470d24:	80 7d f3 00          	cmpb   $0x0,-0xd(%ebp)
470d28:	6a 03                	push   $0x3
470d2a:	5f                   	pop    %edi
470d2b:	74 6c                	je     0x470d99
470d2d:	8b 4d f8             	mov    -0x8(%ebp),%ecx
470d30:	bb 08 16 4a 00       	mov    $0x4a1608,%ebx
470d35:	8b 45 f4             	mov    -0xc(%ebp),%eax
470d38:	89 5d e8             	mov    %ebx,-0x18(%ebp)
470d3b:	89 7d ec             	mov    %edi,-0x14(%ebp)
470d3e:	89 45 dc             	mov    %eax,-0x24(%ebp)
470d41:	89 4d e0             	mov    %ecx,-0x20(%ebp)
470d44:	80 f9 01             	cmp    $0x1,%cl
470d47:	7f 44                	jg     0x470d8d
470d49:	85 c0                	test   %eax,%eax
470d4b:	75 0e                	jne    0x470d5b
470d4d:	8d 45 e8             	lea    -0x18(%ebp),%eax
470d50:	50                   	push   %eax
470d51:	8d 4d dc             	lea    -0x24(%ebp),%ecx
470d54:	e8 04 dd ff ff       	call   0x46ea5d
470d59:	eb 32                	jmp    0x470d8d
470d5b:	6a 0c                	push   $0xc
470d5d:	b9 a8 83 4c 00       	mov    $0x4c83a8,%ecx
470d62:	e8 cc 10 00 00       	call   0x471e33
470d67:	8b f0                	mov    %eax,%esi
470d69:	85 f6                	test   %esi,%esi
470d6b:	74 15                	je     0x470d82
470d6d:	8b ce                	mov    %esi,%ecx
470d6f:	e8 27 dc ff ff       	call   0x46e99b
470d74:	c7 06 6c 16 4a 00    	movl   $0x4a166c,(%esi)
470d7a:	89 5e 04             	mov    %ebx,0x4(%esi)
470d7d:	89 7e 08             	mov    %edi,0x8(%esi)
470d80:	eb 02                	jmp    0x470d84
470d82:	33 f6                	xor    %esi,%esi
470d84:	56                   	push   %esi
470d85:	8d 4d dc             	lea    -0x24(%ebp),%ecx
470d88:	e8 00 d8 ff ff       	call   0x46e58d
470d8d:	8b 45 dc             	mov    -0x24(%ebp),%eax
470d90:	89 45 f4             	mov    %eax,-0xc(%ebp)
470d93:	8b 45 e0             	mov    -0x20(%ebp),%eax
470d96:	89 45 f8             	mov    %eax,-0x8(%ebp)
470d99:	83 7d 18 00          	cmpl   $0x0,0x18(%ebp)
470d9d:	bb 00 01 00 00       	mov    $0x100,%ebx
470da2:	0f 85 c2 00 00 00    	jne    0x470e6a
470da8:	8b 75 0c             	mov    0xc(%ebp),%esi
470dab:	8b 0e                	mov    (%esi),%ecx
470dad:	85 c9                	test   %ecx,%ecx
470daf:	74 46                	je     0x470df7
470db1:	8b 46 04             	mov    0x4(%esi),%eax
470db4:	85 c3                	test   %eax,%ebx
470db6:	75 35                	jne    0x470ded
470db8:	8b 55 14             	mov    0x14(%ebp),%edx
470dbb:	83 3a 00             	cmpl   $0x0,(%edx)
470dbe:	74 2d                	je     0x470ded
470dc0:	52                   	push   %edx
470dc1:	8d 45 d4             	lea    -0x2c(%ebp),%eax
470dc4:	6a 20                	push   $0x20
470dc6:	50                   	push   %eax
470dc7:	e8 42 dd ff ff       	call   0x46eb0e
470dcc:	83 c4 0c             	add    $0xc,%esp
470dcf:	8d 4d ac             	lea    -0x54(%ebp),%ecx
470dd2:	6a 20                	push   $0x20
470dd4:	51                   	push   %ecx
470dd5:	8b c8                	mov    %eax,%ecx
470dd7:	e8 c3 dd ff ff       	call   0x46eb9f
470ddc:	56                   	push   %esi
470ddd:	8d 8d 7c ff ff ff    	lea    -0x84(%ebp),%ecx
470de3:	51                   	push   %ecx
470de4:	8b c8                	mov    %eax,%ecx
470de6:	e8 92 dd ff ff       	call   0x46eb7d
470deb:	eb 21                	jmp    0x470e0e
470ded:	a9 00 08 00 00       	test   $0x800,%eax
470df2:	75 3e                	jne    0x470e32
470df4:	56                   	push   %esi
470df5:	eb 09                	jmp    0x470e00
470df7:	8b 45 14             	mov    0x14(%ebp),%eax
470dfa:	83 38 00             	cmpl   $0x0,(%eax)
470dfd:	74 6b                	je     0x470e6a
470dff:	50                   	push   %eax
470e00:	8d 45 d4             	lea    -0x2c(%ebp),%eax
470e03:	6a 20                	push   $0x20
470e05:	50                   	push   %eax
470e06:	e8 03 dd ff ff       	call   0x46eb0e
470e0b:	83 c4 0c             	add    $0xc,%esp
470e0e:	80 7d f8 01          	cmpb   $0x1,-0x8(%ebp)
470e12:	7f 56                	jg     0x470e6a
470e14:	83 7d f4 00          	cmpl   $0x0,-0xc(%ebp)
470e18:	8b 08                	mov    (%eax),%ecx
470e1a:	75 1e                	jne    0x470e3a
470e1c:	85 c9                	test   %ecx,%ecx
470e1e:	75 0f                	jne    0x470e2f
470e20:	0f be 40 04          	movsbl 0x4(%eax),%eax
470e24:	50                   	push   %eax
470e25:	8d 4d f4             	lea    -0xc(%ebp),%ecx
470e28:	e8 51 dc ff ff       	call   0x46ea7e
470e2d:	eb 3b                	jmp    0x470e6a
470e2f:	8b 40 04             	mov    0x4(%eax),%eax
470e32:	89 4d f4             	mov    %ecx,-0xc(%ebp)
470e35:	89 45 f8             	mov    %eax,-0x8(%ebp)
470e38:	eb 30                	jmp    0x470e6a
470e3a:	85 c9                	test   %ecx,%ecx
470e3c:	75 23                	jne    0x470e61
470e3e:	0f be 40 04          	movsbl 0x4(%eax),%eax
470e42:	85 c0                	test   %eax,%eax
470e44:	74 24                	je     0x470e6a
470e46:	83 f8 02             	cmp    $0x2,%eax
470e49:	74 d9                	je     0x470e24
470e4b:	3b c7                	cmp    %edi,%eax
470e4d:	74 d5                	je     0x470e24
470e4f:	50                   	push   %eax
470e50:	e8 74 3c 00 00       	call   0x474ac9
470e55:	59                   	pop    %ecx
470e56:	50                   	push   %eax
470e57:	8d 4d f4             	lea    -0xc(%ebp),%ecx
470e5a:	e8 2e d7 ff ff       	call   0x46e58d
470e5f:	eb 09                	jmp    0x470e6a
470e61:	51                   	push   %ecx
470e62:	8d 4d f4             	lea    -0xc(%ebp),%ecx
470e65:	e8 23 d7 ff ff       	call   0x46e58d
470e6a:	8b 55 f8             	mov    -0x8(%ebp),%edx
470e6d:	0b d3                	or     %ebx,%edx
470e6f:	80 7d e7 00          	cmpb   $0x0,-0x19(%ebp)
470e73:	74 06                	je     0x470e7b
470e75:	81 ca 00 20 00 00    	or     $0x2000,%edx
470e7b:	8b 45 08             	mov    0x8(%ebp),%eax
470e7e:	8b 4d f4             	mov    -0xc(%ebp),%ecx
470e81:	89 08                	mov    %ecx,(%eax)
470e83:	89 50 04             	mov    %edx,0x4(%eax)
470e86:	e9 85 00 00 00       	jmp    0x470f10
470e8b:	6a 02                	push   $0x2
470e8d:	eb 76                	jmp    0x470f05
470e8f:	8b 45 08             	mov    0x8(%ebp),%eax
470e92:	89 08                	mov    %ecx,(%eax)
470e94:	8b 4d b8             	mov    -0x48(%ebp),%ecx
470e97:	e9 26 f9 ff ff       	jmp    0x4707c2
470e9c:	39 55 18             	cmp    %edx,0x18(%ebp)
470e9f:	75 62                	jne    0x470f03
470ea1:	8b 75 0c             	mov    0xc(%ebp),%esi
470ea4:	39 16                	cmp    %edx,(%esi)
470ea6:	74 51                	je     0x470ef9
470ea8:	f7 46 04 00 01 00 00 	testl  $0x100,0x4(%esi)
470eaf:	75 38                	jne    0x470ee9
470eb1:	8b 7d 14             	mov    0x14(%ebp),%edi
470eb4:	39 17                	cmp    %edx,(%edi)
470eb6:	74 31                	je     0x470ee9
470eb8:	6a 01                	push   $0x1
470eba:	8d 4d d4             	lea    -0x2c(%ebp),%ecx
470ebd:	e8 94 d9 ff ff       	call   0x46e856
470ec2:	57                   	push   %edi
470ec3:	8d 4d b4             	lea    -0x4c(%ebp),%ecx
470ec6:	51                   	push   %ecx
470ec7:	8b c8                	mov    %eax,%ecx
470ec9:	e8 af dc ff ff       	call   0x46eb7d
470ece:	6a 20                	push   $0x20
470ed0:	8d 45 ac             	lea    -0x54(%ebp),%eax