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
470ed3:	50                   	push   %eax
470ed4:	8d 4d b4             	lea    -0x4c(%ebp),%ecx
470ed7:	e8 c3 dc ff ff       	call   0x46eb9f
470edc:	56                   	push   %esi
470edd:	ff 75 08             	push   0x8(%ebp)
470ee0:	8b c8                	mov    %eax,%ecx
470ee2:	e8 96 dc ff ff       	call   0x46eb7d
470ee7:	eb 24                	jmp    0x470f0d
470ee9:	56                   	push   %esi
470eea:	6a 01                	push   $0x1
470eec:	ff 75 08             	push   0x8(%ebp)
470eef:	e8 45 dc ff ff       	call   0x46eb39
470ef4:	83 c4 0c             	add    $0xc,%esp
470ef7:	eb 14                	jmp    0x470f0d
470ef9:	8b 45 14             	mov    0x14(%ebp),%eax
470efc:	39 10                	cmp    %edx,(%eax)
470efe:	74 03                	je     0x470f03
470f00:	50                   	push   %eax
470f01:	eb e7                	jmp    0x470eea
470f03:	6a 01                	push   $0x1
470f05:	8b 4d 08             	mov    0x8(%ebp),%ecx
470f08:	e8 49 d9 ff ff       	call   0x46e856
470f0d:	8b 45 08             	mov    0x8(%ebp),%eax
470f10:	5f                   	pop    %edi
470f11:	5e                   	pop    %esi
470f12:	5b                   	pop    %ebx
470f13:	c9                   	leave
470f14:	c3                   	ret
470f15:	55                   	push   %ebp
470f16:	8b ec                	mov    %esp,%ebp
470f18:	83 ec 10             	sub    $0x10,%esp
470f1b:	33 c9                	xor    %ecx,%ecx
470f1d:	8d 45 f8             	lea    -0x8(%ebp),%eax
470f20:	51                   	push   %ecx
470f21:	50                   	push   %eax
470f22:	51                   	push   %ecx
470f23:	8d 45 f0             	lea    -0x10(%ebp),%eax
470f26:	89 4d f8             	mov    %ecx,-0x8(%ebp)
470f29:	50                   	push   %eax
470f2a:	ff 75 08             	push   0x8(%ebp)
470f2d:	89 4d fc             	mov    %ecx,-0x4(%ebp)
470f30:	89 4d f0             	mov    %ecx,-0x10(%ebp)
470f33:	89 4d f4             	mov    %ecx,-0xc(%ebp)
470f36:	e8 3d f8 ff ff       	call   0x470778
470f3b:	8b 45 08             	mov    0x8(%ebp),%eax
470f3e:	83 c4 14             	add    $0x14,%esp
470f41:	c9                   	leave
470f42:	c3                   	ret
470f43:	55                   	push   %ebp
470f44:	8b ec                	mov    %esp,%ebp
470f46:	83 ec 18             	sub    $0x18,%esp
470f49:	8d 4d f8             	lea    -0x8(%ebp),%ecx
470f4c:	ff 75 0c             	push   0xc(%ebp)
470f4f:	e8 b9 d8 ff ff       	call   0x46e80d
470f54:	a1 8c 83 4c 00       	mov    0x4c838c,%eax
470f59:	8a 08                	mov    (%eax),%cl
470f5b:	84 c9                	test   %cl,%cl
470f5d:	0f 84 9a 00 00 00    	je     0x470ffd
470f63:	80 f9 3f             	cmp    $0x3f,%cl
470f66:	74 58                	je     0x470fc0
470f68:	80 f9 58             	cmp    $0x58,%cl
470f6b:	74 13                	je     0x470f80
470f6d:	8d 45 f8             	lea    -0x8(%ebp),%eax
470f70:	50                   	push   %eax
470f71:	ff 75 08             	push   0x8(%ebp)
470f74:	e8 cc 19 00 00       	call   0x472945
470f79:	59                   	pop    %ecx
470f7a:	59                   	pop    %ecx
470f7b:	e9 95 00 00 00       	jmp    0x471015
470f80:	40                   	inc    %eax
470f81:	83 7d f8 00          	cmpl   $0x0,-0x8(%ebp)
470f85:	a3 8c 83 4c 00       	mov    %eax,0x4c838c
470f8a:	8d 45 f0             	lea    -0x10(%ebp),%eax
470f8d:	50                   	push   %eax
470f8e:	75 18                	jne    0x470fa8
470f90:	8b 4d 08             	mov    0x8(%ebp),%ecx
470f93:	c7 45 f0 04 13 4a 00 	movl   $0x4a1304,-0x10(%ebp)
470f9a:	c7 45 f4 04 00 00 00 	movl   $0x4,-0xc(%ebp)
470fa1:	e8 40 d8 ff ff       	call   0x46e7e6
470fa6:	eb 6d                	jmp    0x471015
470fa8:	8d 4d e8             	lea    -0x18(%ebp),%ecx
470fab:	c7 45 f0 58 14 4a 00 	movl   $0x4a1458,-0x10(%ebp)
470fb2:	c7 45 f4 05 00 00 00 	movl   $0x5,-0xc(%ebp)
470fb9:	e8 28 d8 ff ff       	call   0x46e7e6
470fbe:	eb 47                	jmp    0x471007
470fc0:	40                   	inc    %eax
470fc1:	33 c9                	xor    %ecx,%ecx
470fc3:	a3 8c 83 4c 00       	mov    %eax,0x4c838c
470fc8:	8d 45 f0             	lea    -0x10(%ebp),%eax
470fcb:	51                   	push   %ecx
470fcc:	50                   	push   %eax
470fcd:	51                   	push   %ecx
470fce:	8d 45 f8             	lea    -0x8(%ebp),%eax
470fd1:	89 4d f0             	mov    %ecx,-0x10(%ebp)
470fd4:	50                   	push   %eax
470fd5:	8d 45 e8             	lea    -0x18(%ebp),%eax
470fd8:	89 4d f4             	mov    %ecx,-0xc(%ebp)
470fdb:	50                   	push   %eax
470fdc:	e8 97 f7 ff ff       	call   0x470778
470fe1:	8b 08                	mov    (%eax),%ecx
470fe3:	89 4d f8             	mov    %ecx,-0x8(%ebp)
470fe6:	8b 40 04             	mov    0x4(%eax),%eax
470fe9:	89 45 fc             	mov    %eax,-0x4(%ebp)
470fec:	8d 45 f8             	lea    -0x8(%ebp),%eax
470fef:	50                   	push   %eax
470ff0:	ff 75 08             	push   0x8(%ebp)
470ff3:	e8 4d 19 00 00       	call   0x472945
470ff8:	83 c4 1c             	add    $0x1c,%esp
470ffb:	eb 18                	jmp    0x471015
470ffd:	6a 01                	push   $0x1
470fff:	8d 4d e8             	lea    -0x18(%ebp),%ecx
471002:	e8 4f d8 ff ff       	call   0x46e856
471007:	8d 4d f8             	lea    -0x8(%ebp),%ecx
47100a:	51                   	push   %ecx
47100b:	ff 75 08             	push   0x8(%ebp)
47100e:	8b c8                	mov    %eax,%ecx
471010:	e8 68 db ff ff       	call   0x46eb7d
471015:	8b 45 08             	mov    0x8(%ebp),%eax
471018:	c9                   	leave
471019:	c3                   	ret
47101a:	6a 28                	push   $0x28
47101c:	b8 1d cf 49 00       	mov    $0x49cf1d,%eax
471021:	e8 b7 90 ff ff       	call   0x46a0dd
471026:	ff 05 a4 83 4c 00    	incl   0x4c83a4
47102c:	83 65 fc 00          	andl   $0x0,-0x4(%ebp)
471030:	be 00 20 00 00       	mov    $0x2000,%esi
471035:	a1 94 83 4c 00       	mov    0x4c8394,%eax
47103a:	85 c6                	test   %eax,%esi
47103c:	74 30                	je     0x47106e
47103e:	25 ff df ff ff       	and    $0xffffdfff,%eax
471043:	a3 94 83 4c 00       	mov    %eax,0x4c8394
471048:	8d 45 d8             	lea    -0x28(%ebp),%eax
47104b:	6a 00                	push   $0x0
47104d:	50                   	push   %eax
47104e:	e8 f0 fe ff ff       	call   0x470f43
471053:	09 35 94 83 4c 00    	or     %esi,0x4c8394
471059:	59                   	pop    %ecx
47105a:	59                   	pop    %ecx
47105b:	8b 45 08             	mov    0x8(%ebp),%eax
47105e:	8b 4d d8             	mov    -0x28(%ebp),%ecx
471061:	89 08                	mov    %ecx,(%eax)
471063:	8b 4d dc             	mov    -0x24(%ebp),%ecx
471066:	89 48 04             	mov    %ecx,0x4(%eax)
471069:	e9 f4 01 00 00       	jmp    0x471262
47106e:	8b 0d 8c 83 4c 00    	mov    0x4c838c,%ecx
471074:	8a 01                	mov    (%ecx),%al
471076:	3c 3f                	cmp    $0x3f,%al
471078:	0f 85 d3 01 00 00    	jne    0x471251
47107e:	8d 41 01             	lea    0x1(%ecx),%eax
471081:	a3 8c 83 4c 00       	mov    %eax,0x4c838c
471086:	80 38 3f             	cmpb   $0x3f,(%eax)
471089:	75 24                	jne    0x4710af
47108b:	80 78 01 3f          	cmpb   $0x3f,0x1(%eax)
47108f:	75 1e                	jne    0x4710af
471091:	8d 45 d8             	lea    -0x28(%ebp),%eax
471094:	50                   	push   %eax
471095:	e8 80 ff ff ff       	call   0x47101a
47109a:	a1 8c 83 4c 00       	mov    0x4c838c,%eax
47109f:	59                   	pop    %ecx
4710a0:	eb 06                	jmp    0x4710a8
4710a2:	40                   	inc    %eax
4710a3:	a3 8c 83 4c 00       	mov    %eax,0x4c838c
4710a8:	80 38 00             	cmpb   $0x0,(%eax)
4710ab:	75 f5                	jne    0x4710a2
4710ad:	eb ac                	jmp    0x47105b
4710af:	8d 45 e8             	lea    -0x18(%ebp),%eax
4710b2:	50                   	push   %eax
4710b3:	e8 45 26 00 00       	call   0x4736fd
4710b8:	8b 75 e8             	mov    -0x18(%ebp),%esi
4710bb:	33 c0                	xor    %eax,%eax
4710bd:	8b 5d ec             	mov    -0x14(%ebp),%ebx
4710c0:	40                   	inc    %eax
4710c1:	59                   	pop    %ecx
4710c2:	85 f6                	test   %esi,%esi
4710c4:	74 0d                	je     0x4710d3