472ce4:	89 08                	mov    %ecx,(%eax)
472ce6:	89 50 04             	mov    %edx,0x4(%eax)
472ce9:	c9                   	leave
472cea:	c3                   	ret
472ceb:	ff 75 0c             	push   0xc(%ebp)
472cee:	6a 01                	push   $0x1
472cf0:	ff 75 08             	push   0x8(%ebp)
472cf3:	e8 41 be ff ff       	call   0x46eb39
472cf8:	83 c4 0c             	add    $0xc,%esp
472cfb:	8b 45 08             	mov    0x8(%ebp),%eax
472cfe:	c9                   	leave
472cff:	c3                   	ret
472d00:	55                   	push   %ebp
472d01:	8b ec                	mov    %esp,%ebp
472d03:	83 ec 10             	sub    $0x10,%esp
472d06:	56                   	push   %esi
472d07:	8b 75 14             	mov    0x14(%ebp),%esi
472d0a:	57                   	push   %edi
472d0b:	8b 04 f5 b8 0b 4a 00 	mov    0x4a0bb8(,%esi,8),%eax
472d12:	8b 0c f5 bc 0b 4a 00 	mov    0x4a0bbc(,%esi,8),%ecx
472d19:	89 45 f0             	mov    %eax,-0x10(%ebp)
472d1c:	a1 8c 83 4c 00       	mov    0x4c838c,%eax
472d21:	89 4d f4             	mov    %ecx,-0xc(%ebp)
472d24:	8a 00                	mov    (%eax),%al
472d26:	84 c0                	test   %al,%al
472d28:	0f 84 89 00 00 00    	je     0x472db7
472d2e:	3c 36                	cmp    $0x36,%al
472d30:	7c 04                	jl     0x472d36
472d32:	3c 39                	cmp    $0x39,%al
472d34:	7e 04                	jle    0x472d3a
472d36:	3c 5f                	cmp    $0x5f,%al
472d38:	75 51                	jne    0x472d8b
472d3a:	8d 45 f0             	lea    -0x10(%ebp),%eax
472d3d:	50                   	push   %eax
472d3e:	8d 4d f8             	lea    -0x8(%ebp),%ecx
472d41:	e8 a0 ba ff ff       	call   0x46e7e6
472d46:	8b 45 0c             	mov    0xc(%ebp),%eax
472d49:	33 f6                	xor    %esi,%esi
472d4b:	8b 7d 10             	mov    0x10(%ebp),%edi
472d4e:	39 30                	cmp    %esi,(%eax)
472d50:	74 16                	je     0x472d68
472d52:	39 37                	cmp    %esi,(%edi)
472d54:	74 09                	je     0x472d5f
472d56:	f7 47 04 00 01 00 00 	testl  $0x100,0x4(%edi)
472d5d:	75 09                	jne    0x472d68
472d5f:	50                   	push   %eax
472d60:	8d 4d f8             	lea    -0x8(%ebp),%ecx
472d63:	e8 d3 be ff ff       	call   0x46ec3b
472d68:	39 37                	cmp    %esi,(%edi)
472d6a:	74 09                	je     0x472d75
472d6c:	57                   	push   %edi
472d6d:	8d 4d f8             	lea    -0x8(%ebp),%ecx
472d70:	e8 c6 be ff ff       	call   0x46ec3b
472d75:	8d 45 f8             	lea    -0x8(%ebp),%eax
472d78:	50                   	push   %eax
472d79:	ff 75 08             	push   0x8(%ebp)
472d7c:	e8 c2 eb ff ff       	call   0x471943
472d81:	59                   	pop    %ecx
472d82:	59                   	pop    %ecx
472d83:	8b 45 08             	mov    0x8(%ebp),%eax
472d86:	e9 82 00 00 00       	jmp    0x472e0d
472d8b:	6a 00                	push   $0x0
472d8d:	ff 75 0c             	push   0xc(%ebp)
472d90:	8d 45 f0             	lea    -0x10(%ebp),%eax
472d93:	56                   	push   %esi
472d94:	ff 75 10             	push   0x10(%ebp)
472d97:	50                   	push   %eax
472d98:	e8 db d9 ff ff       	call   0x470778
472d9d:	33 c0                	xor    %eax,%eax
472d9f:	83 fe 01             	cmp    $0x1,%esi
472da2:	0f 94 c0             	sete   %al
472da5:	50                   	push   %eax
472da6:	8d 45 f0             	lea    -0x10(%ebp),%eax
472da9:	50                   	push   %eax
472daa:	ff 75 08             	push   0x8(%ebp)
472dad:	e8 e1 fd ff ff       	call   0x472b93
472db2:	83 c4 20             	add    $0x20,%esp
472db5:	eb cc                	jmp    0x472d83
472db7:	6a 01                	push   $0x1
472db9:	8d 4d f8             	lea    -0x8(%ebp),%ecx
472dbc:	e8 95 ba ff ff       	call   0x46e856
472dc1:	8d 45 f0             	lea    -0x10(%ebp),%eax
472dc4:	50                   	push   %eax
472dc5:	8d 4d f8             	lea    -0x8(%ebp),%ecx
472dc8:	e8 16 be ff ff       	call   0x46ebe3
472dcd:	8b 7d 0c             	mov    0xc(%ebp),%edi
472dd0:	33 f6                	xor    %esi,%esi
472dd2:	39 37                	cmp    %esi,(%edi)
472dd4:	74 09                	je     0x472ddf
472dd6:	57                   	push   %edi
472dd7:	8d 4d f8             	lea    -0x8(%ebp),%ecx
472dda:	e8 5c be ff ff       	call   0x46ec3b
472ddf:	53                   	push   %ebx
472de0:	8b 5d 10             	mov    0x10(%ebp),%ebx
472de3:	39 33                	cmp    %esi,(%ebx)
472de5:	74 17                	je     0x472dfe
472de7:	39 37                	cmp    %esi,(%edi)
472de9:	74 0a                	je     0x472df5
472deb:	6a 20                	push   $0x20
472ded:	8d 4d f8             	lea    -0x8(%ebp),%ecx
472df0:	e8 9d be ff ff       	call   0x46ec92
472df5:	53                   	push   %ebx
472df6:	8d 4d f8             	lea    -0x8(%ebp),%ecx
472df9:	e8 3d be ff ff       	call   0x46ec3b
472dfe:	8b 45 08             	mov    0x8(%ebp),%eax
472e01:	8b 4d f8             	mov    -0x8(%ebp),%ecx
472e04:	5b                   	pop    %ebx
472e05:	89 08                	mov    %ecx,(%eax)
472e07:	8b 4d fc             	mov    -0x4(%ebp),%ecx
472e0a:	89 48 04             	mov    %ecx,0x4(%eax)
472e0d:	5f                   	pop    %edi
472e0e:	5e                   	pop    %esi
472e0f:	c9                   	leave
472e10:	c3                   	ret
472e11:	55                   	push   %ebp
472e12:	8b ec                	mov    %esp,%ebp
472e14:	8b 0d 8c 83 4c 00    	mov    0x4c838c,%ecx
472e1a:	83 ec 20             	sub    $0x20,%esp
472e1d:	8a 01                	mov    (%ecx),%al
472e1f:	53                   	push   %ebx
472e20:	56                   	push   %esi
472e21:	57                   	push   %edi
472e22:	84 c0                	test   %al,%al
472e24:	0f 84 fd 00 00 00    	je     0x472f27
472e2a:	3c 5f                	cmp    $0x5f,%al
472e2c:	0f 85 f5 00 00 00    	jne    0x472f27
472e32:	8d 41 01             	lea    0x1(%ecx),%eax
472e35:	8a 08                	mov    (%eax),%cl
472e37:	84 c9                	test   %cl,%cl
472e39:	0f 84 e8 00 00 00    	je     0x472f27
472e3f:	80 f9 44             	cmp    $0x44,%cl
472e42:	0f 8f df 00 00 00    	jg     0x472f27
472e48:	a3 8c 83 4c 00       	mov    %eax,0x4c838c
472e4d:	0f be 38             	movsbl (%eax),%edi
472e50:	6a 03                	push   $0x3
472e52:	83 ef 41             	sub    $0x41,%edi
472e55:	40                   	inc    %eax
472e56:	5b                   	pop    %ebx
472e57:	a3 8c 83 4c 00       	mov    %eax,0x4c838c
472e5c:	3b fb                	cmp    %ebx,%edi
472e5e:	0f 87 b4 00 00 00    	ja     0x472f18
472e64:	a1 94 83 4c 00       	mov    0x4c8394,%eax
472e69:	33 c9                	xor    %ecx,%ecx
472e6b:	d1 e8                	shr    $1,%eax
472e6d:	8b d1                	mov    %ecx,%edx
472e6f:	f7 d0                	not    %eax
472e71:	89 4d f8             	mov    %ecx,-0x8(%ebp)
472e74:	89 55 fc             	mov    %edx,-0x4(%ebp)
472e77:	a8 01                	test   $0x1,%al
472e79:	0f 84 91 00 00 00    	je     0x472f10
472e7f:	6a 20                	push   $0x20
472e81:	8d 4d f8             	lea    -0x8(%ebp),%ecx
472e84:	e8 09 be ff ff       	call   0x46ec92
472e89:	6a 0f                	push   $0xf
472e8b:	e8 28 bf ff ff       	call   0x46edb8
472e90:	59                   	pop    %ecx
472e91:	89 45 f0             	mov    %eax,-0x10(%ebp)
472e94:	8d 4d f8             	lea    -0x8(%ebp),%ecx
472e97:	8d 45 f0             	lea    -0x10(%ebp),%eax
472e9a:	89 55 f4             	mov    %edx,-0xc(%ebp)
472e9d:	50                   	push   %eax
472e9e:	e8 40 bd ff ff       	call   0x46ebe3
472ea3:	85 ff                	test   %edi,%edi
472ea5:	74 59                	je     0x472f00
472ea7:	8b f7                	mov    %edi,%esi
472ea9:	f7 de                	neg    %esi
472eab:	23 f7                	and    %edi,%esi
472ead:	8b c6                	mov    %esi,%eax
472eaf:	83 e8 01             	sub    $0x1,%eax
472eb2:	74 14                	je     0x472ec8
472eb4:	83 e8 01             	sub    $0x1,%eax
472eb7:	75 5f                	jne    0x472f18
472eb9:	c7 45 f0 c8 14 4a 00 	movl   $0x4a14c8,-0x10(%ebp)
472ec0:	8d 45 f0             	lea    -0x10(%ebp),%eax
472ec3:	89 5d f4             	mov    %ebx,-0xc(%ebp)
472ec6:	eb 0d                	jmp    0x472ed5
472ec8:	c7 45 e8 c4 14 4a 00 	movl   $0x4a14c4,-0x18(%ebp)
472ecf:	8d 45 e8             	lea    -0x18(%ebp),%eax
472ed2:	89 5d ec             	mov    %ebx,-0x14(%ebp)
472ed5:	50                   	push   %eax
472ed6:	8d 4d f8             	lea    -0x8(%ebp),%ecx
472ed9:	e8 05 bd ff ff       	call   0x46ebe3
472ede:	f7 d6                	not    %esi
472ee0:	23 fe                	and    %esi,%edi
472ee2:	74 1c                	je     0x472f00
472ee4:	8d 45 e0             	lea    -0x20(%ebp),%eax
472ee7:	c7 45 e0 cc 14 4a 00 	movl   $0x4a14cc,-0x20(%ebp)
472eee:	50                   	push   %eax
472eef:	8d 4d f8             	lea    -0x8(%ebp),%ecx
472ef2:	c7 45 e4 02 00 00 00 	movl   $0x2,-0x1c(%ebp)
472ef9:	e8 e5 bc ff ff       	call   0x46ebe3
472efe:	eb a7                	jmp    0x472ea7
472f00:	6a 29                	push   $0x29
472f02:	8d 4d f8             	lea    -0x8(%ebp),%ecx
472f05:	e8 88 bd ff ff       	call   0x46ec92
472f0a:	8b 55 fc             	mov    -0x4(%ebp),%edx
472f0d:	8b 4d f8             	mov    -0x8(%ebp),%ecx
472f10:	8b 45 08             	mov    0x8(%ebp),%eax
472f13:	89 50 04             	mov    %edx,0x4(%eax)
472f16:	eb 17                	jmp    0x472f2f
472f18:	8b 4d 08             	mov    0x8(%ebp),%ecx
472f1b:	6a 02                	push   $0x2
472f1d:	e8 34 b9 ff ff       	call   0x46e856
472f22:	8b 45 08             	mov    0x8(%ebp),%eax
472f25:	eb 0a                	jmp    0x472f31
472f27:	8b 45 08             	mov    0x8(%ebp),%eax
472f2a:	33 c9                	xor    %ecx,%ecx
472f2c:	89 48 04             	mov    %ecx,0x4(%eax)
472f2f:	89 08                	mov    %ecx,(%eax)
472f31:	5f                   	pop    %edi
472f32:	5e                   	pop    %esi
472f33:	5b                   	pop    %ebx
472f34:	c9                   	leave
472f35:	c3                   	ret
472f36:	55                   	push   %ebp
472f37:	8b ec                	mov    %esp,%ebp
472f39:	a1 8c 83 4c 00       	mov    0x4c838c,%eax
472f3e:	ff 75 0c             	push   0xc(%ebp)
472f41:	80 38 40             	cmpb   $0x40,(%eax)
472f44:	75 10                	jne    0x472f56
472f46:	8b 4d 08             	mov    0x8(%ebp),%ecx
472f49:	40                   	inc    %eax
472f4a:	a3 8c 83 4c 00       	mov    %eax,0x4c838c
472f4f:	e8 b9 b8 ff ff       	call   0x46e80d
472f54:	eb 0a                	jmp    0x472f60
472f56:	ff 75 08             	push   0x8(%ebp)
472f59:	e8 e5 df ff ff       	call   0x470f43
472f5e:	59                   	pop    %ecx
472f5f:	59                   	pop    %ecx
472f60:	8b 45 08             	mov    0x8(%ebp),%eax
472f63:	5d                   	pop    %ebp
472f64:	c3                   	ret
472f65:	55                   	push   %ebp
472f66:	8b ec                	mov    %esp,%ebp
472f68:	81 ec f0 00 00 00    	sub    $0xf0,%esp
472f6e:	53                   	push   %ebx
472f6f:	56                   	push   %esi
472f70:	8b 75 08             	mov    0x8(%ebp),%esi
472f73:	57                   	push   %edi
472f74:	83 26 00             	andl   $0x0,(%esi)
472f77:	83 66 04 00          	andl   $0x0,0x4(%esi)
472f7b:	32 db                	xor    %bl,%bl
472f7d:	a1 8c 83 4c 00       	mov    0x4c838c,%eax
472f82:	8a 00                	mov    (%eax),%al
472f84:	84 c0                	test   %al,%al
472f86:	0f 84 29 03 00 00    	je     0x4732b5
472f8c:	3c 40                	cmp    $0x40,%al
472f8e:	0f 84 21 03 00 00    	je     0x4732b5
472f94:	80 3d 98 83 4c 00 00 	cmpb   $0x0,0x4c8398
472f9b:	74 0d                	je     0x472faa
472f9d:	80 3d 99 83 4c 00 00 	cmpb   $0x0,0x4c8399
472fa4:	0f 84 72 03 00 00    	je     0x47331c
472faa:	83 3e 00             	cmpl   $0x0,(%esi)
472fad:	74 52                	je     0x473001
472faf:	8d 45 d8             	lea    -0x28(%ebp),%eax
472fb2:	c7 45 d8 18 12 4a 00 	movl   $0x4a1218,-0x28(%ebp)
472fb9:	50                   	push   %eax
472fba:	8d 4d 98             	lea    -0x68(%ebp),%ecx
472fbd:	c7 45 dc 02 00 00 00 	movl   $0x2,-0x24(%ebp)
472fc4:	e8 1d b8 ff ff       	call   0x46e7e6
472fc9:	56                   	push   %esi
472fca:	8d 4d d0             	lea    -0x30(%ebp),%ecx
472fcd:	51                   	push   %ecx
472fce:	8b c8                	mov    %eax,%ecx
472fd0:	e8 a8 bb ff ff       	call   0x46eb7d
472fd5:	8b 45 d0             	mov    -0x30(%ebp),%eax
472fd8:	89 06                	mov    %eax,(%esi)
472fda:	8b 45 d4             	mov    -0x2c(%ebp),%eax
472fdd:	89 46 04             	mov    %eax,0x4(%esi)
472fe0:	84 db                	test   %bl,%bl
472fe2:	74 1d                	je     0x473001
472fe4:	56                   	push   %esi
472fe5:	8d 45 90             	lea    -0x70(%ebp),%eax
472fe8:	6a 5b                	push   $0x5b
472fea:	50                   	push   %eax
472feb:	e8 1e bb ff ff       	call   0x46eb0e
472ff0:	8b c8                	mov    %eax,%ecx
472ff2:	83 c4 0c             	add    $0xc,%esp
472ff5:	32 db                	xor    %bl,%bl
472ff7:	8b 01                	mov    (%ecx),%eax
472ff9:	89 06                	mov    %eax,(%esi)
472ffb:	8b 41 04             	mov    0x4(%ecx),%eax
472ffe:	89 46 04             	mov    %eax,0x4(%esi)
473001:	a1 8c 83 4c 00       	mov    0x4c838c,%eax
473006:	80 38 3f             	cmpb   $0x3f,(%eax)
473009:	0f 85 74 02 00 00    	jne    0x473283
47300f:	8d 48 01             	lea    0x1(%eax),%ecx
473012:	89 0d 8c 83 4c 00    	mov    %ecx,0x4c838c
473018:	0f be 01             	movsbl (%ecx),%eax
47301b:	83 e8 24             	sub    $0x24,%eax
47301e:	0f 84 42 02 00 00    	je     0x473266
473024:	83 e8 01             	sub    $0x1,%eax
473027:	0f 84 e0 01 00 00    	je     0x47320d
47302d:	83 e8 1a             	sub    $0x1a,%eax
473030:	0f 84 44 01 00 00    	je     0x47317a
473036:	48                   	dec    %eax
473037:	83 e8 01             	sub    $0x1,%eax
47303a:	0f 84 cd 01 00 00    	je     0x47320d
473040:	83 e8 08             	sub    $0x8,%eax
473043:	0f 84 f0 00 00 00    	je     0x473139
473049:	83 e8 08             	sub    $0x8,%eax
47304c:	74 12                	je     0x473060
47304e:	8d 45 88             	lea    -0x78(%ebp),%eax
473051:	50                   	push   %eax
473052:	e8 3b ed ff ff       	call   0x471d92
473057:	59                   	pop    %ecx
473058:	8d 4d 80             	lea    -0x80(%ebp),%ecx
47305b:	e9 36 02 00 00       	jmp    0x473296
473060:	83 65 f8 00          	andl   $0x0,-0x8(%ebp)
473064:	8d 41 01             	lea    0x1(%ecx),%eax
473067:	83 65 fc 00          	andl   $0x0,-0x4(%ebp)
47306b:	33 ff                	xor    %edi,%edi
47306d:	a3 8c 83 4c 00       	mov    %eax,0x4c838c
473072:	6a 00                	push   $0x0
473074:	8d 45 e0             	lea    -0x20(%ebp),%eax
473077:	6a 01                	push   $0x1
473079:	50                   	push   %eax
47307a:	e8 90 17 00 00       	call   0x47480f
47307f:	8b 4d e4             	mov    -0x1c(%ebp),%ecx
473082:	83 c4 0c             	add    $0xc,%esp
473085:	84 c9                	test   %cl,%cl
473087:	75 4c                	jne    0x4730d5
473089:	85 ff                	test   %edi,%edi
47308b:	74 40                	je     0x4730cd
47308d:	8b 45 e0             	mov    -0x20(%ebp),%eax
473090:	89 45 e8             	mov    %eax,-0x18(%ebp)
473093:	8d 45 c8             	lea    -0x38(%ebp),%eax
473096:	89 4d ec             	mov    %ecx,-0x14(%ebp)
473099:	8d 4d e8             	lea    -0x18(%ebp),%ecx
47309c:	50                   	push   %eax
47309d:	c7 45 c8 18 12 4a 00 	movl   $0x4a1218,-0x38(%ebp)
4730a4:	c7 45 cc 02 00 00 00 	movl   $0x2,-0x34(%ebp)
4730ab:	e8 33 bb ff ff       	call   0x46ebe3
4730b0:	8d 45 f8             	lea    -0x8(%ebp),%eax
4730b3:	50                   	push   %eax
4730b4:	8d 85 78 ff ff ff    	lea    -0x88(%ebp),%eax
4730ba:	50                   	push   %eax
4730bb:	8d 4d e8             	lea    -0x18(%ebp),%ecx
4730be:	e8 ba ba ff ff       	call   0x46eb7d
4730c3:	8b 38                	mov    (%eax),%edi
4730c5:	8b 48 04             	mov    0x4(%eax),%ecx
4730c8:	89 7d f8             	mov    %edi,-0x8(%ebp)
4730cb:	eb 11                	jmp    0x4730de
4730cd:	8b 7d e0             	mov    -0x20(%ebp),%edi
4730d0:	89 7d f8             	mov    %edi,-0x8(%ebp)
4730d3:	eb 09                	jmp    0x4730de
4730d5:	83 65 f8 00          	andl   $0x0,-0x8(%ebp)
4730d9:	33 ff                	xor    %edi,%edi
4730db:	6a 02                	push   $0x2
4730dd:	59                   	pop    %ecx