476e58:	83 c8 ff             	or     $0xffffffff,%eax
476e5b:	e9 55 55 fa ff       	jmp    0x41c3b5
476e60:	8b 41 fc             	mov    -0x4(%ecx),%eax
476e63:	8b cb                	mov    %ebx,%ecx
476e65:	0f bf 40 0a          	movswl 0xa(%eax),%eax
476e69:	50                   	push   %eax
476e6a:	6a 6f                	push   $0x6f
476e6c:	e8 eb 5d fd ff       	call   0x44cc5c
476e71:	83 c8 ff             	or     $0xffffffff,%eax
476e74:	e9 ce d5 f9 ff       	jmp    0x414447
476e79:	8b 44 8e fc          	mov    -0x4(%esi,%ecx,4),%eax
476e7d:	8b 4d f8             	mov    -0x8(%ebp),%ecx
476e80:	0f bf 40 0a          	movswl 0xa(%eax),%eax
476e84:	50                   	push   %eax
476e85:	6a 6f                	push   $0x6f
476e87:	e8 d0 5d fd ff       	call   0x44cc5c
476e8c:	83 c8 ff             	or     $0xffffffff,%eax
476e8f:	e9 b3 d5 f9 ff       	jmp    0x414447
476e94:	8b 4f 08             	mov    0x8(%edi),%ecx
476e97:	85 c9                	test   %ecx,%ecx
476e99:	0f 84 e6 d5 f9 ff    	je     0x414485
476e9f:	c1 e1 02             	shl    $0x2,%ecx
476ea2:	51                   	push   %ecx
476ea3:	50                   	push   %eax
476ea4:	53                   	push   %ebx
476ea5:	e8 d6 7f fa ff       	call   0x41ee80
476eaa:	83 c4 0c             	add    $0xc,%esp
476ead:	ff 77 04             	push   0x4(%edi)
476eb0:	e8 a9 86 fa ff       	call   0x41f55e
476eb5:	83 c4 04             	add    $0x4,%esp
476eb8:	e9 c8 d5 f9 ff       	jmp    0x414485
476ebd:	8b 42 04             	mov    0x4(%edx),%eax
476ec0:	8b 04 88             	mov    (%eax,%ecx,4),%eax
476ec3:	8b 4d f8             	mov    -0x8(%ebp),%ecx
476ec6:	0f bf 40 0a          	movswl 0xa(%eax),%eax
476eca:	50                   	push   %eax
476ecb:	6a 6f                	push   $0x6f
476ecd:	e8 8a 5d fd ff       	call   0x44cc5c
476ed2:	8d 4d e4             	lea    -0x1c(%ebp),%ecx
476ed5:	e8 46 bd f9 ff       	call   0x412c20
476eda:	83 c8 ff             	or     $0xffffffff,%eax
476edd:	e9 65 d5 f9 ff       	jmp    0x414447
476ee2:	83 65 e8 00          	andl   $0x0,-0x18(%ebp)
476ee6:	83 65 f0 00          	andl   $0x0,-0x10(%ebp)
476eea:	6a ff                	push   $0xffffffff
476eec:	8d 45 e8             	lea    -0x18(%ebp),%eax
476eef:	50                   	push   %eax
476ef0:	8d 45 fc             	lea    -0x4(%ebp),%eax
476ef3:	50                   	push   %eax
476ef4:	89 4d f4             	mov    %ecx,-0xc(%ebp)
476ef7:	56                   	push   %esi
476ef8:	8b cb                	mov    %ebx,%ecx
476efa:	e8 31 8f f9 ff       	call   0x40fe30
476eff:	85 c0                	test   %eax,%eax
476f01:	78 1d                	js     0x476f20
476f03:	8b 4e 04             	mov    0x4(%esi),%ecx
476f06:	8b 45 fc             	mov    -0x4(%ebp),%eax
476f09:	8b 04 81             	mov    (%ecx,%eax,4),%eax
476f0c:	66 39 78 08          	cmp    %di,0x8(%eax)
476f10:	74 1b                	je     0x476f2d
476f12:	0f bf 40 0a          	movswl 0xa(%eax),%eax
476f16:	50                   	push   %eax
476f17:	6a 72                	push   $0x72
476f19:	8b cb                	mov    %ebx,%ecx
476f1b:	e8 3c 5d fd ff       	call   0x44cc5c
476f20:	8d 4d e8             	lea    -0x18(%ebp),%ecx
476f23:	e8 f8 bc f9 ff       	call   0x412c20
476f28:	e9 7b 56 fa ff       	jmp    0x41c5a8
476f2d:	8d 4d e8             	lea    -0x18(%ebp),%ecx
476f30:	e8 51 63 f9 ff       	call   0x40d286
476f35:	8b f0                	mov    %eax,%esi
476f37:	85 f6                	test   %esi,%esi
476f39:	79 02                	jns    0x476f3d
476f3b:	33 f6                	xor    %esi,%esi
476f3d:	8d 4d e8             	lea    -0x18(%ebp),%ecx
476f40:	e8 db bc f9 ff       	call   0x412c20
476f45:	e9 d8 55 fa ff       	jmp    0x41c522
476f4a:	8b cf                	mov    %edi,%ecx
476f4c:	e8 d1 6e f9 ff       	call   0x40de22
476f51:	8b 55 08             	mov    0x8(%ebp),%edx
476f54:	3b d6                	cmp    %esi,%edx
476f56:	0f 8c d4 55 fa ff    	jl     0x41c530
476f5c:	e9 47 56 fa ff       	jmp    0x41c5a8
476f61:	6a ff                	push   $0xffffffff
476f63:	68 96 00 00 00       	push   $0x96
476f68:	8b cb                	mov    %ebx,%ecx
476f6a:	e8 ed 5c fd ff       	call   0x44cc5c
476f6f:	e9 34 56 fa ff       	jmp    0x41c5a8
476f74:	8b 11                	mov    (%ecx),%edx
476f76:	83 ea 1e             	sub    $0x1e,%edx
476f79:	74 5b                	je     0x476fd6
476f7b:	4a                   	dec    %edx
476f7c:	74 1d                	je     0x476f9b
476f7e:	83 ea 0d             	sub    $0xd,%edx
476f81:	0f 85 68 cc f9 ff    	jne    0x413bef
476f87:	ff 75 10             	push   0x10(%ebp)
476f8a:	8b 75 0c             	mov    0xc(%ebp),%esi
476f8d:	56                   	push   %esi
476f8e:	53                   	push   %ebx
476f8f:	8b cf                	mov    %edi,%ecx
476f91:	e8 bc 65 fe ff       	call   0x45d552
476f96:	e9 38 d0 f9 ff       	jmp    0x413fd3
476f9b:	8b 55 10             	mov    0x10(%ebp),%edx
476f9e:	85 d2                	test   %edx,%edx
476fa0:	74 21                	je     0x476fc3
476fa2:	8b 40 04             	mov    0x4(%eax),%eax
476fa5:	8b 00                	mov    (%eax),%eax
476fa7:	83 f8 1c             	cmp    $0x1c,%eax
476faa:	74 17                	je     0x476fc3
476fac:	83 f8 1d             	cmp    $0x1d,%eax
476faf:	74 12                	je     0x476fc3
476fb1:	8b 75 0c             	mov    0xc(%ebp),%esi
476fb4:	52                   	push   %edx
476fb5:	56                   	push   %esi
476fb6:	53                   	push   %ebx
476fb7:	8b cf                	mov    %edi,%ecx
476fb9:	e8 50 6a fe ff       	call   0x45da0e
476fbe:	e9 10 d0 f9 ff       	jmp    0x413fd3
476fc3:	0f bf 41 0a          	movswl 0xa(%ecx),%eax
476fc7:	50                   	push   %eax
476fc8:	6a 6e                	push   $0x6e
476fca:	8b cf                	mov    %edi,%ecx
476fcc:	e8 8b 5c fd ff       	call   0x44cc5c
476fd1:	e9 fd cf f9 ff       	jmp    0x413fd3
476fd6:	ff 75 10             	push   0x10(%ebp)
476fd9:	8b 75 0c             	mov    0xc(%ebp),%esi
476fdc:	56                   	push   %esi
476fdd:	53                   	push   %ebx
476fde:	8b cf                	mov    %edi,%ecx
476fe0:	e8 e5 5e fe ff       	call   0x45ceca
476fe5:	e9 e9 cf f9 ff       	jmp    0x413fd3
476fea:	48                   	dec    %eax
476feb:	89 02                	mov    %eax,(%edx)
476fed:	8b 46 04             	mov    0x4(%esi),%eax
476ff0:	89 45 d8             	mov    %eax,-0x28(%ebp)
476ff3:	8b 46 08             	mov    0x8(%esi),%eax
476ff6:	89 45 dc             	mov    %eax,-0x24(%ebp)
476ff9:	8b 06                	mov    (%esi),%eax
476ffb:	89 45 d4             	mov    %eax,-0x2c(%ebp)
476ffe:	8b 46 0c             	mov    0xc(%esi),%eax
477001:	89 45 b4             	mov    %eax,-0x4c(%ebp)
477004:	ff 00                	incl   (%eax)
477006:	89 45 e0             	mov    %eax,-0x20(%ebp)
477009:	e9 90 cc f9 ff       	jmp    0x413c9e
47700e:	83 e8 0e             	sub    $0xe,%eax
477011:	0f 85 ed cc f9 ff    	jne    0x413d04
477017:	8d 45 e4             	lea    -0x1c(%ebp),%eax
47701a:	50                   	push   %eax
47701b:	8d 45 d4             	lea    -0x2c(%ebp),%eax
47701e:	50                   	push   %eax
47701f:	b9 e8 20 4c 00       	mov    $0x4c20e8,%ecx
477024:	e8 b7 6c fa ff       	call   0x41dce0
477029:	8b f0                	mov    %eax,%esi
47702b:	e9 d1 cc f9 ff       	jmp    0x413d01
477030:	39 35 f0 20 4c 00    	cmp    %esi,0x4c20f0
477036:	0f 84 60 d0 f9 ff    	je     0x41409c
47703c:	8d 45 e4             	lea    -0x1c(%ebp),%eax
47703f:	50                   	push   %eax
477040:	8d 45 d4             	lea    -0x2c(%ebp),%eax
477043:	50                   	push   %eax
477044:	b9 f0 20 4c 00       	mov    $0x4c20f0,%ecx
477049:	e8 31 11 fd ff       	call   0x44817f
47704e:	8b c8                	mov    %eax,%ecx
477050:	e8 8b 6c fa ff       	call   0x41dce0
477055:	8b f0                	mov    %eax,%esi
477057:	89 75 08             	mov    %esi,0x8(%ebp)
47705a:	85 f6                	test   %esi,%esi
47705c:	0f 85 a2 cc f9 ff    	jne    0x413d04
477062:	e9 35 d0 f9 ff       	jmp    0x41409c
477067:	a1 f4 20 4c 00       	mov    0x4c20f4,%eax
47706c:	8b 70 08             	mov    0x8(%eax),%esi
47706f:	e9 63 cc f9 ff       	jmp    0x413cd7
477074:	80 7d fb 00          	cmpb   $0x0,-0x5(%ebp)
477078:	0f 85 b3 cf f9 ff    	jne    0x414031
47707e:	8b 0f                	mov    (%edi),%ecx
477080:	8b 43 04             	mov    0x4(%ebx),%eax
477083:	8b 04 88             	mov    (%eax,%ecx,4),%eax
477086:	8b 4d f4             	mov    -0xc(%ebp),%ecx
477089:	0f bf 40 0a          	movswl 0xa(%eax),%eax
47708d:	50                   	push   %eax
47708e:	68 9c 00 00 00       	push   $0x9c
477093:	e8 c4 5b fd ff       	call   0x44cc5c
477098:	e9 1a cf f9 ff       	jmp    0x413fb7
47709d:	6a 05                	push   $0x5
47709f:	8b ce                	mov    %esi,%ecx
4770a1:	e8 3e 65 f9 ff       	call   0x40d5e4
4770a6:	84 c0                	test   %al,%al
4770a8:	0f 84 24 02 00 00    	je     0x4772d2
4770ae:	8a 55 fb             	mov    -0x5(%ebp),%dl
4770b1:	e9 b2 cc f9 ff       	jmp    0x413d68
4770b6:	56                   	push   %esi
4770b7:	8d 4d 9c             	lea    -0x64(%ebp),%ecx
4770ba:	e8 ef 6b f9 ff       	call   0x40dcae
4770bf:	e9 44 d0 f9 ff       	jmp    0x414108
4770c4:	83 ec 10             	sub    $0x10,%esp
4770c7:	8b cc                	mov    %esp,%ecx
4770c9:	53                   	push   %ebx
4770ca:	e8 0d 5c fe ff       	call   0x45ccdc
4770cf:	8b 75 0c             	mov    0xc(%ebp),%esi
4770d2:	6a 00                	push   $0x0
4770d4:	ff 36                	push   (%esi)
4770d6:	ff 75 ec             	push   -0x14(%ebp)
4770d9:	e8 af 7c fe ff       	call   0x45ed8d
4770de:	8d 4d bc             	lea    -0x44(%ebp),%ecx
4770e1:	8b f0                	mov    %eax,%esi
4770e3:	e8 38 bb f9 ff       	call   0x412c20
4770e8:	89 75 bc             	mov    %esi,-0x44(%ebp)
4770eb:	8b 75 f4             	mov    -0xc(%ebp),%esi
4770ee:	c7 45 c8 01 00 00 00 	movl   $0x1,-0x38(%ebp)
4770f5:	e9 66 d0 f9 ff       	jmp    0x414160
4770fa:	6a 00                	push   $0x0
4770fc:	8d 4d 9c             	lea    -0x64(%ebp),%ecx
4770ff:	e8 1b 4f fa ff       	call   0x41c01f
477104:	8b 7d 08             	mov    0x8(%ebp),%edi
477107:	85 c0                	test   %eax,%eax
477109:	0f 8e 74 cc f9 ff    	jle    0x413d83
47710f:	8d 45 9c             	lea    -0x64(%ebp),%eax
477112:	50                   	push   %eax
477113:	8b cf                	mov    %edi,%ecx
477115:	e8 d1 30 fd ff       	call   0x44a1eb
47711a:	e9 64 cc f9 ff       	jmp    0x413d83
47711f:	8b 4d c4             	mov    -0x3c(%ebp),%ecx
477122:	68 00 dc 49 00       	push   $0x49dc00
477127:	e8 37 f9 f8 ff       	call   0x406a63
47712c:	8b 75 c4             	mov    -0x3c(%ebp),%esi
47712f:	e9 27 cd f9 ff       	jmp    0x413e5b
477134:	83 7d c8 04          	cmpl   $0x4,-0x38(%ebp)
477138:	0f 85 2e cd f9 ff    	jne    0x413e6c
47713e:	8b 4f 08             	mov    0x8(%edi),%ecx
477141:	56                   	push   %esi
477142:	e8 a6 fd f8 ff       	call   0x406eed
477147:	e9 32 cd f9 ff       	jmp    0x413e7e
47714c:	8d 46 ff             	lea    -0x1(%esi),%eax
47714f:	8b 75 0c             	mov    0xc(%ebp),%esi
477152:	83 ec 10             	sub    $0x10,%esp
477155:	8b cc                	mov    %esp,%ecx
477157:	53                   	push   %ebx
477158:	89 06                	mov    %eax,(%esi)
47715a:	e8 7d 5b fe ff       	call   0x45ccdc
47715f:	8d 45 ec             	lea    -0x14(%ebp),%eax
477162:	50                   	push   %eax
477163:	ff 36                	push   (%esi)
477165:	6a 00                	push   $0x0
477167:	e8 21 7c fe ff       	call   0x45ed8d
47716c:	be 01 00 00 00       	mov    $0x1,%esi
477171:	89 85 9c fe ff ff    	mov    %eax,-0x164(%ebp)
477177:	39 75 ec             	cmp    %esi,-0x14(%ebp)
47717a:	7e 28                	jle    0x4771a4
47717c:	8b 7d 0c             	mov    0xc(%ebp),%edi
47717f:	83 ec 10             	sub    $0x10,%esp
477182:	8b cc                	mov    %esp,%ecx
477184:	53                   	push   %ebx
477185:	e8 52 5b fe ff       	call   0x45ccdc
47718a:	6a 00                	push   $0x0
47718c:	ff 37                	push   (%edi)
47718e:	56                   	push   %esi
47718f:	e8 f9 7b fe ff       	call   0x45ed8d
477194:	89 84 b5 9c fe ff ff 	mov    %eax,-0x164(%ebp,%esi,4)
47719b:	46                   	inc    %esi
47719c:	3b 75 ec             	cmp    -0x14(%ebp),%esi
47719f:	7c de                	jl     0x47717f
4771a1:	8b 7d 08             	mov    0x8(%ebp),%edi
4771a4:	8b cf                	mov    %edi,%ecx
4771a6:	e8 b1 4f fa ff       	call   0x41c15c
4771ab:	33 f6                	xor    %esi,%esi
4771ad:	39 75 ec             	cmp    %esi,-0x14(%ebp)
4771b0:	7e 1c                	jle    0x4771ce
4771b2:	ff b4 b5 9c fe ff ff 	push   -0x164(%ebp,%esi,4)
4771b9:	8b cf                	mov    %edi,%ecx
4771bb:	e8 b7 4f fa ff       	call   0x41c177
4771c0:	84 c0                	test   %al,%al
4771c2:	0f 84 39 01 00 00    	je     0x477301
4771c8:	46                   	inc    %esi
4771c9:	3b 75 ec             	cmp    -0x14(%ebp),%esi
4771cc:	7c e4                	jl     0x4771b2
4771ce:	6a 00                	push   $0x0
4771d0:	57                   	push   %edi
4771d1:	e8 7a 4e fa ff       	call   0x41c050
4771d6:	83 c4 08             	add    $0x8,%esp
4771d9:	84 c0                	test   %al,%al
4771db:	0f 84 32 01 00 00    	je     0x477313
4771e1:	8b 55 0c             	mov    0xc(%ebp),%edx
4771e4:	ff 02                	incl   (%edx)
4771e6:	e9 74 d0 f9 ff       	jmp    0x41425f
4771eb:	8b 12                	mov    (%edx),%edx
4771ed:	33 c9                	xor    %ecx,%ecx
4771ef:	89 4d e8             	mov    %ecx,-0x18(%ebp)
4771f2:	89 55 d0             	mov    %edx,-0x30(%ebp)
4771f5:	3b 53 08             	cmp    0x8(%ebx),%edx
4771f8:	0f 83 82 00 00 00    	jae    0x477280
4771fe:	8b 43 04             	mov    0x4(%ebx),%eax
477201:	8d 04 90             	lea    (%eax,%edx,4),%eax
477204:	89 45 b8             	mov    %eax,-0x48(%ebp)
477207:	8b 38                	mov    (%eax),%edi
477209:	0f b7 77 08          	movzwl 0x8(%edi),%esi
47720d:	66 83 fe 33          	cmp    $0x33,%si
477211:	75 1b                	jne    0x47722e
477213:	8b 0f                	mov    (%edi),%ecx
477215:	8d 55 d4             	lea    -0x2c(%ebp),%edx
477218:	e8 09 f7 f8 ff       	call   0x406926
47721d:	84 c0                	test   %al,%al
47721f:	0f 85 03 01 00 00    	jne    0x477328
477225:	8b 4d e8             	mov    -0x18(%ebp),%ecx
477228:	8b 55 d0             	mov    -0x30(%ebp),%edx
47722b:	8b 45 b8             	mov    -0x48(%ebp),%eax
47722e:	66 83 fe 4e          	cmp    $0x4e,%si
477232:	74 33                	je     0x477267
477234:	66 83 fe 47          	cmp    $0x47,%si
477238:	74 2d                	je     0x477267
47723a:	66 83 fe 4f          	cmp    $0x4f,%si
47723e:	74 24                	je     0x477264
477240:	66 83 fe 48          	cmp    $0x48,%si
477244:	74 1e                	je     0x477264
477246:	66 83 fe 40          	cmp    $0x40,%si
47724a:	75 04                	jne    0x477250
47724c:	85 c9                	test   %ecx,%ecx
47724e:	74 2a                	je     0x47727a
477250:	66 83 fe 7f          	cmp    $0x7f,%si
477254:	75 15                	jne    0x47726b
477256:	8b 75 f4             	mov    -0xc(%ebp),%esi
477259:	8b 7d 08             	mov    0x8(%ebp),%edi
47725c:	8b 55 0c             	mov    0xc(%ebp),%edx
47725f:	e9 0b d0 f9 ff       	jmp    0x41426f
477264:	49                   	dec    %ecx
477265:	eb 01                	jmp    0x477268
477267:	41                   	inc    %ecx
477268:	89 4d e8             	mov    %ecx,-0x18(%ebp)
47726b:	42                   	inc    %edx
47726c:	83 c0 04             	add    $0x4,%eax
47726f:	89 55 d0             	mov    %edx,-0x30(%ebp)
477272:	89 45 b8             	mov    %eax,-0x48(%ebp)
477275:	3b 53 08             	cmp    0x8(%ebx),%edx
477278:	72 8d                	jb     0x477207
47727a:	8b 75 f4             	mov    -0xc(%ebp),%esi
47727d:	8b 7d 08             	mov    0x8(%ebp),%edi
477280:	8b 55 0c             	mov    0xc(%ebp),%edx
477283:	e9 e7 cf f9 ff       	jmp    0x41426f
477288:	8b 55 e8             	mov    -0x18(%ebp),%edx
47728b:	c6 05 fc 20 4c 00 01 	movb   $0x1,0x4c20fc
477292:	e9 53 cc f9 ff       	jmp    0x413eea
477297:	8b 0f                	mov    (%edi),%ecx
477299:	8b 43 04             	mov    0x4(%ebx),%eax
47729c:	8b 04 88             	mov    (%eax,%ecx,4),%eax
47729f:	8b 4d f4             	mov    -0xc(%ebp),%ecx
4772a2:	0f bf 40 0a          	movswl 0xa(%eax),%eax
4772a6:	50                   	push   %eax
4772a7:	6a 79                	push   $0x79
4772a9:	e8 ae 59 fd ff       	call   0x44cc5c
4772ae:	e9 04 cd f9 ff       	jmp    0x413fb7
4772b3:	8b 0f                	mov    (%edi),%ecx