476f99:	8d 34 02             	lea    (%edx,%eax,1),%esi
476f9c:	8d 7b 04             	lea    0x4(%ebx),%edi
476f9f:	a5                   	movsl  %ds:(%esi),%es:(%edi)
476fa0:	a5                   	movsl  %ds:(%esi),%es:(%edi)
476fa1:	a5                   	movsl  %ds:(%esi),%es:(%edi)
476fa2:	a5                   	movsl  %ds:(%esi),%es:(%edi)
476fa3:	8b 55 f8             	mov    -0x8(%ebp),%edx
476fa6:	8a 54 02 10          	mov    0x10(%edx,%eax,1),%dl
476faa:	8b 4d fc             	mov    -0x4(%ebp),%ecx
476fad:	8b 89 c4 00 00 00    	mov    0xc4(%ecx),%ecx
476fb3:	8b 75 c4             	mov    -0x3c(%ebp),%esi
476fb6:	88 53 21             	mov    %dl,0x21(%ebx)
476fb9:	8b 55 f8             	mov    -0x8(%ebp),%edx
476fbc:	8a 54 02 11          	mov    0x11(%edx,%eax,1),%dl
476fc0:	8b 4d fc             	mov    -0x4(%ebp),%ecx
476fc3:	8b 89 c4 00 00 00    	mov    0xc4(%ecx),%ecx
476fc9:	8b 75 c4             	mov    -0x3c(%ebp),%esi
476fcc:	88 53 20             	mov    %dl,0x20(%ebx)
476fcf:	8b 55 f8             	mov    -0x8(%ebp),%edx
476fd2:	8a 54 02 13          	mov    0x13(%edx,%eax,1),%dl
476fd6:	8b 4d fc             	mov    -0x4(%ebp),%ecx
476fd9:	8b 89 c4 00 00 00    	mov    0xc4(%ecx),%ecx
476fdf:	8b 75 c4             	mov    -0x3c(%ebp),%esi
476fe2:	88 53 14             	mov    %dl,0x14(%ebx)
476fe5:	8b 55 f8             	mov    -0x8(%ebp),%edx
476fe8:	80 7c 02 12 00       	cmpb   $0x0,0x12(%edx,%eax,1)
476fed:	74 12                	je     0x477001
476fef:	8b 45 fc             	mov    -0x4(%ebp),%eax
476ff2:	8b 80 c4 00 00 00    	mov    0xc4(%eax),%eax
476ff8:	8b 55 c4             	mov    -0x3c(%ebp),%edx
476ffb:	80 4b 2c 02          	orb    $0x2,0x2c(%ebx)
476fff:	eb 10                	jmp    0x477011
477001:	8b 45 fc             	mov    -0x4(%ebp),%eax
477004:	8b 80 c4 00 00 00    	mov    0xc4(%eax),%eax
47700a:	8b 55 c4             	mov    -0x3c(%ebp),%edx
47700d:	80 63 2c fd          	andb   $0xfd,0x2c(%ebx)
477011:	ff 45 c4             	incl   -0x3c(%ebp)
477014:	ff 4d a0             	decl   -0x60(%ebp)
477017:	0f 85 f3 fe ff ff    	jne    0x476f10
47701d:	33 c0                	xor    %eax,%eax
47701f:	5a                   	pop    %edx
477020:	59                   	pop    %ecx
477021:	59                   	pop    %ecx
477022:	64 89 10             	mov    %edx,%fs:(%eax)
477025:	68 6f 70 47 00       	push   $0x47706f
47702a:	8b 45 fc             	mov    -0x4(%ebp),%eax
47702d:	8a 55 c3             	mov    -0x3d(%ebp),%dl
477030:	88 90 a4 00 00 00    	mov    %dl,0xa4(%eax)
477036:	83 7d b8 00          	cmpl   $0x0,-0x48(%ebp)
47703a:	74 0a                	je     0x477046
47703c:	33 d2                	xor    %edx,%edx
47703e:	8b 45 b8             	mov    -0x48(%ebp),%eax
477041:	e8 fa 1c fb ff       	call   0x428d40
477046:	83 7d c8 00          	cmpl   $0x0,-0x38(%ebp)
47704a:	74 0b                	je     0x477057
47704c:	8b 45 c8             	mov    -0x38(%ebp),%eax
47704f:	50                   	push   %eax
477050:	6a 00                	push   $0x0
477052:	e8 81 0c f9 ff       	call   0x407cd8
477057:	8b 45 b8             	mov    -0x48(%ebp),%eax
47705a:	e8 19 ca f8 ff       	call   0x403a78
47705f:	8b 45 f8             	mov    -0x8(%ebp),%eax
477062:	e8 65 b7 f8 ff       	call   0x4027cc
477067:	c3                   	ret
477068:	e9 9f d1 f8 ff       	jmp    0x40420c
47706d:	eb bb                	jmp    0x47702a
47706f:	8b 45 10             	mov    0x10(%ebp),%eax
477072:	83 38 00             	cmpl   $0x0,(%eax)
477075:	74 09                	je     0x477080
477077:	8b 45 10             	mov    0x10(%ebp),%eax
47707a:	83 78 04 00          	cmpl   $0x0,0x4(%eax)
47707e:	75 37                	jne    0x4770b7
477080:	8b 45 10             	mov    0x10(%ebp),%eax
477083:	c7 00 17 00 00 00    	movl   $0x17,(%eax)
477089:	8b 45 10             	mov    0x10(%ebp),%eax
47708c:	c7 40 04 16 00 00 00 	movl   $0x16,0x4(%eax)
477093:	8b 45 0c             	mov    0xc(%ebp),%eax
477096:	83 38 17             	cmpl   $0x17,(%eax)
477099:	7d 09                	jge    0x4770a4
47709b:	8b 45 0c             	mov    0xc(%ebp),%eax
47709e:	c7 00 17 00 00 00    	movl   $0x17,(%eax)
4770a4:	8b 45 0c             	mov    0xc(%ebp),%eax
4770a7:	83 78 04 16          	cmpl   $0x16,0x4(%eax)
4770ab:	7d 0a                	jge    0x4770b7
4770ad:	8b 45 0c             	mov    0xc(%ebp),%eax
4770b0:	c7 40 04 16 00 00 00 	movl   $0x16,0x4(%eax)
4770b7:	8a 45 ce             	mov    -0x32(%ebp),%al
4770ba:	5f                   	pop    %edi
4770bb:	5e                   	pop    %esi
4770bc:	5b                   	pop    %ebx
4770bd:	8b e5                	mov    %ebp,%esp
4770bf:	5d                   	pop    %ebp
4770c0:	c2 18 00             	ret    $0x18
4770c3:	00 01                	add    %al,(%ecx)
4770c5:	00 00                	add    %al,(%eax)
4770c7:	00 55 8b             	add    %dl,-0x75(%ebp)
4770ca:	ec                   	in     (%dx),%al
4770cb:	83 c4 f4             	add    $0xfffffff4,%esp
4770ce:	53                   	push   %ebx
4770cf:	56                   	push   %esi
4770d0:	57                   	push   %edi
4770d1:	8b fa                	mov    %edx,%edi
4770d3:	8b f0                	mov    %eax,%esi
4770d5:	8b 86 cc 00 00 00    	mov    0xcc(%esi),%eax
4770db:	50                   	push   %eax
4770dc:	8b 46 48             	mov    0x48(%esi),%eax
4770df:	50                   	push   %eax
4770e0:	8b 46 50             	mov    0x50(%esi),%eax
4770e3:	50                   	push   %eax
4770e4:	8d 46 38             	lea    0x38(%esi),%eax
4770e7:	50                   	push   %eax
4770e8:	57                   	push   %edi
4770e9:	8d 45 f4             	lea    -0xc(%ebp),%eax
4770ec:	50                   	push   %eax
4770ed:	8a 8e a4 00 00 00    	mov    0xa4(%esi),%cl
4770f3:	b2 01                	mov    $0x1,%dl
4770f5:	8b c6                	mov    %esi,%eax
4770f7:	e8 10 f3 ff ff       	call   0x47640c
4770fc:	84 c0                	test   %al,%al
4770fe:	75 18                	jne    0x477118
477100:	c6 86 bd 00 00 00 01 	movb   $0x1,0xbd(%esi)
477107:	8b 4f 04             	mov    0x4(%edi),%ecx
47710a:	8b 17                	mov    (%edi),%edx
47710c:	8b c6                	mov    %esi,%eax
47710e:	8b 18                	mov    (%eax),%ebx
477110:	ff 53 30             	call   *0x30(%ebx)
477113:	e9 d7 01 00 00       	jmp    0x4772ef
477118:	f6 46 1c 10          	testb  $0x10,0x1c(%esi)
47711c:	0f 85 b3 01 00 00    	jne    0x4772d5
477122:	c6 86 bd 00 00 00 01 	movb   $0x1,0xbd(%esi)
477129:	8b 86 c8 00 00 00    	mov    0xc8(%esi),%eax
47712f:	e8 24 81 fd ff       	call   0x44f258
477134:	84 c0                	test   %al,%al
477136:	74 13                	je     0x47714b
477138:	6a 00                	push   $0x0
47713a:	8b 86 c8 00 00 00    	mov    0xc8(%esi),%eax
477140:	e8 0f 7e fd ff       	call   0x44ef54
477145:	50                   	push   %eax
477146:	e8 25 0d f9 ff       	call   0x407e70
47714b:	8b 4f 04             	mov    0x4(%edi),%ecx
47714e:	8b 17                	mov    (%edi),%edx
477150:	8b c6                	mov    %esi,%eax
477152:	8b 18                	mov    (%eax),%ebx
477154:	ff 53 30             	call   *0x30(%ebx)
477157:	8b 9e c8 00 00 00    	mov    0xc8(%esi),%ebx
47715d:	85 db                	test   %ebx,%ebx
47715f:	0f 84 8a 01 00 00    	je     0x4772ef
477165:	8b c3                	mov    %ebx,%eax
477167:	e8 ec 80 fd ff       	call   0x44f258
47716c:	84 c0                	test   %al,%al
47716e:	0f 84 7b 01 00 00    	je     0x4772ef
477174:	8b 86 c8 00 00 00    	mov    0xc8(%esi),%eax
47717a:	e8 d5 7d fd ff       	call   0x44ef54
47717f:	50                   	push   %eax
477180:	e8 73 0a f9 ff       	call   0x407bf8
477185:	85 c0                	test   %eax,%eax
477187:	0f 84 62 01 00 00    	je     0x4772ef
47718d:	8b 86 c8 00 00 00    	mov    0xc8(%esi),%eax
477193:	e8 38 10 fd ff       	call   0x4481d0
477198:	85 c0                	test   %eax,%eax
47719a:	0f 8e 4f 01 00 00    	jle    0x4772ef
4771a0:	8b 86 c8 00 00 00    	mov    0xc8(%esi),%eax
4771a6:	e8 69 10 fd ff       	call   0x448214
4771ab:	85 c0                	test   %eax,%eax
4771ad:	0f 8e 3c 01 00 00    	jle    0x4772ef
4771b3:	33 c0                	xor    %eax,%eax
4771b5:	89 45 f8             	mov    %eax,-0x8(%ebp)
4771b8:	b2 01                	mov    $0x1,%dl
4771ba:	a1 ec 6a 42 00       	mov    0x426aec,%eax
4771bf:	e8 0c 60 fb ff       	call   0x42d1d0
4771c4:	89 45 fc             	mov    %eax,-0x4(%ebp)
4771c7:	33 c0                	xor    %eax,%eax
4771c9:	55                   	push   %ebp
4771ca:	68 ce 72 47 00       	push   $0x4772ce
4771cf:	64 ff 30             	push   %fs:(%eax)
4771d2:	64 89 20             	mov    %esp,%fs:(%eax)
4771d5:	b2 01                	mov    $0x1,%dl
4771d7:	a1 f8 34 44 00       	mov    0x4434f8,%eax
4771dc:	e8 f3 11 fb ff       	call   0x4283d4
4771e1:	89 45 f8             	mov    %eax,-0x8(%ebp)
4771e4:	8b 96 c8 00 00 00    	mov    0xc8(%esi),%edx
4771ea:	8b 45 f8             	mov    -0x8(%ebp),%eax
4771ed:	e8 8e 01 fd ff       	call   0x447380
4771f2:	8b 86 c8 00 00 00    	mov    0xc8(%esi),%eax
4771f8:	e8 d3 0f fd ff       	call   0x4481d0
4771fd:	8b d0                	mov    %eax,%edx
4771ff:	8b 45 fc             	mov    -0x4(%ebp),%eax
477202:	8b 08                	mov    (%eax),%ecx
477204:	ff 51 40             	call   *0x40(%ecx)
477207:	8b 86 c8 00 00 00    	mov    0xc8(%esi),%eax
47720d:	e8 02 10 fd ff       	call   0x448214
477212:	8b d0                	mov    %eax,%edx
477214:	8b 45 fc             	mov    -0x4(%ebp),%eax
477217:	8b 08                	mov    (%eax),%ecx
477219:	ff 51 34             	call   *0x34(%ecx)
47721c:	6a 00                	push   $0x0
47721e:	8b 45 fc             	mov    -0x4(%ebp),%eax
477221:	e8 72 65 fb ff       	call   0x42d798
477226:	e8 95 1a fb ff       	call   0x428cc0
47722b:	50                   	push   %eax
47722c:	6a 14                	push   $0x14
47722e:	8b 86 c8 00 00 00    	mov    0xc8(%esi),%eax
477234:	e8 1b 7d fd ff       	call   0x44ef54
477239:	50                   	push   %eax
47723a:	e8 d1 0a f9 ff       	call   0x407d10
47723f:	6a 00                	push   $0x0
477241:	8b 45 fc             	mov    -0x4(%ebp),%eax
477244:	e8 4f 65 fb ff       	call   0x42d798
477249:	e8 72 1a fb ff       	call   0x428cc0
47724e:	50                   	push   %eax
47724f:	6a 0f                	push   $0xf
477251:	8b 86 c8 00 00 00    	mov    0xc8(%esi),%eax
477257:	e8 f8 7c fd ff       	call   0x44ef54
47725c:	50                   	push   %eax
47725d:	e8 ae 0a f9 ff       	call   0x407d10
477262:	68 20 00 cc 00       	push   $0xcc0020
477267:	6a 00                	push   $0x0
477269:	6a 00                	push   $0x0
47726b:	8b 45 fc             	mov    -0x4(%ebp),%eax
47726e:	e8 25 65 fb ff       	call   0x42d798
477273:	e8 48 1a fb ff       	call   0x428cc0
477278:	50                   	push   %eax
477279:	8b 45 fc             	mov    -0x4(%ebp),%eax
47727c:	8b 10                	mov    (%eax),%edx
47727e:	ff 52 20             	call   *0x20(%edx)
477281:	50                   	push   %eax
477282:	8b 45 fc             	mov    -0x4(%ebp),%eax
477285:	8b 10                	mov    (%eax),%edx
477287:	ff 52 2c             	call   *0x2c(%edx)
47728a:	50                   	push   %eax
47728b:	6a 00                	push   $0x0
47728d:	6a 00                	push   $0x0
47728f:	8b 45 f8             	mov    -0x8(%ebp),%eax
477292:	e8 29 1a fb ff       	call   0x428cc0
477297:	50                   	push   %eax
477298:	e8 9b 01 f9 ff       	call   0x407438
47729d:	6a 00                	push   $0x0
47729f:	8b 86 c8 00 00 00    	mov    0xc8(%esi),%eax
4772a5:	e8 aa 7c fd ff       	call   0x44ef54
4772aa:	50                   	push   %eax
4772ab:	e8 c0 0b f9 ff       	call   0x407e70
4772b0:	33 c0                	xor    %eax,%eax
4772b2:	5a                   	pop    %edx
4772b3:	59                   	pop    %ecx
4772b4:	59                   	pop    %ecx
4772b5:	64 89 10             	mov    %edx,%fs:(%eax)
4772b8:	68 ef 72 47 00       	push   $0x4772ef
4772bd:	8b 45 f8             	mov    -0x8(%ebp),%eax
4772c0:	e8 b3 c7 f8 ff       	call   0x403a78
4772c5:	8b 45 fc             	mov    -0x4(%ebp),%eax
4772c8:	e8 ab c7 f8 ff       	call   0x403a78
4772cd:	c3                   	ret
4772ce:	e9 39 cf f8 ff       	jmp    0x40420c
4772d3:	eb e8                	jmp    0x4772bd
4772d5:	8b c6                	mov    %esi,%eax
4772d7:	8b 10                	mov    (%eax),%edx
4772d9:	ff 52 54             	call   *0x54(%edx)
4772dc:	c6 86 bd 00 00 00 01 	movb   $0x1,0xbd(%esi)
4772e3:	8b 4f 04             	mov    0x4(%edi),%ecx
4772e6:	8b 17                	mov    (%edi),%edx
4772e8:	8b c6                	mov    %esi,%eax
4772ea:	8b 18                	mov    (%eax),%ebx
4772ec:	ff 53 30             	call   *0x30(%ebx)
4772ef:	5f                   	pop    %edi
4772f0:	5e                   	pop    %esi
4772f1:	5b                   	pop    %ebx
4772f2:	8b e5                	mov    %ebp,%esp
4772f4:	5d                   	pop    %ebp
4772f5:	c3                   	ret
4772f6:	8b c0                	mov    %eax,%eax
4772f8:	56                   	push   %esi
4772f9:	57                   	push   %edi
4772fa:	8b f2                	mov    %edx,%esi
4772fc:	8b f8                	mov    %eax,%edi
4772fe:	33 c0                	xor    %eax,%eax
477300:	89 06                	mov    %eax,(%esi)
477302:	33 c0                	xor    %eax,%eax
477304:	89 46 04             	mov    %eax,0x4(%esi)
477307:	8b d6                	mov    %esi,%edx
477309:	8b c7                	mov    %edi,%eax
47730b:	8b 08                	mov    (%eax),%ecx
47730d:	ff 51 34             	call   *0x34(%ecx)
477310:	5f                   	pop    %edi
477311:	5e                   	pop    %esi
477312:	c3                   	ret
477313:	90                   	nop
477314:	c3                   	ret
477315:	8d 40 00             	lea    0x0(%eax),%eax
477318:	33 c0                	xor    %eax,%eax
47731a:	c3                   	ret
47731b:	90                   	nop
47731c:	80 fa 02             	cmp    $0x2,%dl
47731f:	75 1c                	jne    0x47733d
477321:	c7 01 04 00 00 00    	movl   $0x4,(%ecx)
477327:	c7 41 04 02 00 00 00 	movl   $0x2,0x4(%ecx)
47732e:	c7 41 08 04 00 00 00 	movl   $0x4,0x8(%ecx)
477335:	c7 41 0c 01 00 00 00 	movl   $0x1,0xc(%ecx)
47733c:	c3                   	ret
47733d:	33 c0                	xor    %eax,%eax
47733f:	89 01                	mov    %eax,(%ecx)
477341:	33 c0                	xor    %eax,%eax
477343:	89 41 04             	mov    %eax,0x4(%ecx)
477346:	33 c0                	xor    %eax,%eax
477348:	89 41 08             	mov    %eax,0x8(%ecx)
47734b:	33 c0                	xor    %eax,%eax
47734d:	89 41 0c             	mov    %eax,0xc(%ecx)
477350:	c3                   	ret
477351:	8d 40 00             	lea    0x0(%eax),%eax
477354:	33 c0                	xor    %eax,%eax
477356:	c3                   	ret
477357:	90                   	nop
477358:	33 c0                	xor    %eax,%eax
47735a:	c3                   	ret
47735b:	90                   	nop
47735c:	a1 1c 8d 6a 00       	mov    0x6a8d1c,%eax
477361:	c3                   	ret
477362:	8b c0                	mov    %eax,%eax
477364:	55                   	push   %ebp
477365:	8b ec                	mov    %esp,%ebp
477367:	83 c4 b0             	add    $0xffffffb0,%esp
47736a:	53                   	push   %ebx
47736b:	56                   	push   %esi
47736c:	57                   	push   %edi
47736d:	89 4d fc             	mov    %ecx,-0x4(%ebp)
477370:	8b fa                	mov    %edx,%edi
477372:	8b f0                	mov    %eax,%esi
477374:	8b c6                	mov    %esi,%eax
477376:	e8 09 d9 ff ff       	call   0x474c84
47737b:	f6 47 2c 01          	testb  $0x1,0x2c(%edi)
47737f:	74 08                	je     0x477389
477381:	c6 45 08 01          	movb   $0x1,0x8(%ebp)
477385:	80 67 2c fe          	andb   $0xfe,0x2c(%edi)
477389:	56                   	push   %esi
47738a:	57                   	push   %edi
47738b:	8d 77 04             	lea    0x4(%edi),%esi
47738e:	8d 7d d0             	lea    -0x30(%ebp),%edi
477391:	a5                   	movsl  %ds:(%esi),%es:(%edi)
477392:	a5                   	movsl  %ds:(%esi),%es:(%edi)
477393:	a5                   	movsl  %ds:(%esi),%es:(%edi)
477394:	a5                   	movsl  %ds:(%esi),%es:(%edi)
477395:	5f                   	pop    %edi
477396:	5e                   	pop    %esi
477397:	80 7f 21 00          	cmpb   $0x0,0x21(%edi)
47739b:	0f 84 1d 03 00 00    	je     0x4776be
4773a1:	8d 45 d0             	lea    -0x30(%ebp),%eax
4773a4:	50                   	push   %eax
4773a5:	e8 36 08 f9 ff       	call   0x407be0
4773aa:	85 c0                	test   %eax,%eax
4773ac:	0f 85 0c 03 00 00    	jne    0x4776be
4773b2:	8b 47 1c             	mov    0x1c(%edi),%eax