476d63:	8b 45 fc             	mov    -0x4(%ebp),%eax
476d66:	8b 80 c8 00 00 00    	mov    0xc8(%eax),%eax
476d6c:	e8 a3 14 fd ff       	call   0x448214
476d71:	50                   	push   %eax
476d72:	8b 45 fc             	mov    -0x4(%ebp),%eax
476d75:	8b 80 c8 00 00 00    	mov    0xc8(%eax),%eax
476d7b:	e8 50 14 fd ff       	call   0x4481d0
476d80:	8b d0                	mov    %eax,%edx
476d82:	8b c7                	mov    %edi,%eax
476d84:	59                   	pop    %ecx
476d85:	8b 18                	mov    (%eax),%ebx
476d87:	ff 93 84 00 00 00    	call   *0x84(%ebx)
476d8d:	ff 45 c4             	incl   -0x3c(%ebp)
476d90:	ff 4d a0             	decl   -0x60(%ebp)
476d93:	0f 85 2b ff ff ff    	jne    0x476cc4
476d99:	8b 45 fc             	mov    -0x4(%ebp),%eax
476d9c:	80 78 71 00          	cmpb   $0x0,0x71(%eax)
476da0:	74 77                	je     0x476e19
476da2:	8b 45 fc             	mov    -0x4(%ebp),%eax
476da5:	8b 80 c0 00 00 00    	mov    0xc0(%eax),%eax
476dab:	48                   	dec    %eax
476dac:	85 c0                	test   %eax,%eax
476dae:	7c 69                	jl     0x476e19
476db0:	40                   	inc    %eax
476db1:	89 45 a0             	mov    %eax,-0x60(%ebp)
476db4:	c7 45 c4 00 00 00 00 	movl   $0x0,-0x3c(%ebp)
476dbb:	8b 45 fc             	mov    -0x4(%ebp),%eax
476dbe:	8b 80 c4 00 00 00    	mov    0xc4(%eax),%eax
476dc4:	8b 55 c4             	mov    -0x3c(%ebp),%edx
476dc7:	8b 04 90             	mov    (%eax,%edx,4),%eax
476dca:	8b 78 1c             	mov    0x1c(%eax),%edi
476dcd:	6b 45 c4 15          	imul   $0x15,-0x3c(%ebp),%eax
476dd1:	8b 55 f8             	mov    -0x8(%ebp),%edx
476dd4:	8d 04 02             	lea    (%edx,%eax,1),%eax
476dd7:	89 45 94             	mov    %eax,-0x6c(%ebp)
476dda:	8b 45 94             	mov    -0x6c(%ebp),%eax
476ddd:	80 78 10 00          	cmpb   $0x0,0x10(%eax)
476de1:	74 2e                	je     0x476e11
476de3:	f6 47 64 04          	testb  $0x4,0x64(%edi)
476de7:	74 28                	je     0x476e11
476de9:	8b 45 94             	mov    -0x6c(%ebp),%eax
476dec:	80 78 12 00          	cmpb   $0x0,0x12(%eax)
476df0:	74 1f                	je     0x476e11
476df2:	80 7d f7 01          	cmpb   $0x1,-0x9(%ebp)
476df6:	74 0d                	je     0x476e05
476df8:	8b 45 0c             	mov    0xc(%ebp),%eax
476dfb:	8b 00                	mov    (%eax),%eax
476dfd:	8b 55 94             	mov    -0x6c(%ebp),%edx
476e00:	89 42 08             	mov    %eax,0x8(%edx)
476e03:	eb 0c                	jmp    0x476e11
476e05:	8b 45 0c             	mov    0xc(%ebp),%eax
476e08:	8b 40 04             	mov    0x4(%eax),%eax
476e0b:	8b 55 94             	mov    -0x6c(%ebp),%edx
476e0e:	89 42 0c             	mov    %eax,0xc(%edx)
476e11:	ff 45 c4             	incl   -0x3c(%ebp)
476e14:	ff 4d a0             	decl   -0x60(%ebp)
476e17:	75 a2                	jne    0x476dbb
476e19:	80 7d a7 00          	cmpb   $0x0,-0x59(%ebp)
476e1d:	0f 84 c2 00 00 00    	je     0x476ee5
476e23:	80 7d cf 00          	cmpb   $0x0,-0x31(%ebp)
476e27:	74 0b                	je     0x476e34
476e29:	8a 55 a6             	mov    -0x5a(%ebp),%dl
476e2c:	8b 45 bc             	mov    -0x44(%ebp),%eax
476e2f:	e8 98 bc ff ff       	call   0x472acc
476e34:	8b 45 fc             	mov    -0x4(%ebp),%eax
476e37:	6b 80 c0 00 00 00 15 	imul   $0x15,0xc0(%eax),%eax
476e3e:	8b 55 f8             	mov    -0x8(%ebp),%edx
476e41:	c6 44 02 fb 01       	movb   $0x1,-0x5(%edx,%eax,1)
476e46:	8b 45 18             	mov    0x18(%ebp),%eax
476e49:	89 45 c4             	mov    %eax,-0x3c(%ebp)
476e4c:	80 7d f7 01          	cmpb   $0x1,-0x9(%ebp)
476e50:	74 4a                	je     0x476e9c
476e52:	8b 45 0c             	mov    0xc(%ebp),%eax
476e55:	8b 00                	mov    (%eax),%eax
476e57:	3b 45 c4             	cmp    -0x3c(%ebp),%eax
476e5a:	7e 08                	jle    0x476e64
476e5c:	8b 45 0c             	mov    0xc(%ebp),%eax
476e5f:	8b 00                	mov    (%eax),%eax
476e61:	89 45 c4             	mov    %eax,-0x3c(%ebp)
476e64:	8b 45 0c             	mov    0xc(%ebp),%eax
476e67:	8b 40 04             	mov    0x4(%eax),%eax
476e6a:	50                   	push   %eax
476e6b:	8d 85 74 ff ff ff    	lea    -0x8c(%ebp),%eax
476e71:	50                   	push   %eax
476e72:	8b 4d 14             	mov    0x14(%ebp),%ecx
476e75:	33 d2                	xor    %edx,%edx
476e77:	8b 45 c4             	mov    -0x3c(%ebp),%eax
476e7a:	e8 1d 38 fa ff       	call   0x41a69c
476e7f:	8b 45 fc             	mov    -0x4(%ebp),%eax
476e82:	6b 80 c0 00 00 00 15 	imul   $0x15,0xc0(%eax),%eax
476e89:	8b 55 f8             	mov    -0x8(%ebp),%edx
476e8c:	8d b5 74 ff ff ff    	lea    -0x8c(%ebp),%esi
476e92:	8d 7c 02 eb          	lea    -0x15(%edx,%eax,1),%edi
476e96:	a5                   	movsl  %ds:(%esi),%es:(%edi)
476e97:	a5                   	movsl  %ds:(%esi),%es:(%edi)
476e98:	a5                   	movsl  %ds:(%esi),%es:(%edi)
476e99:	a5                   	movsl  %ds:(%esi),%es:(%edi)
476e9a:	eb 49                	jmp    0x476ee5
476e9c:	8b 45 0c             	mov    0xc(%ebp),%eax
476e9f:	8b 40 04             	mov    0x4(%eax),%eax
476ea2:	3b 45 c4             	cmp    -0x3c(%ebp),%eax
476ea5:	7e 09                	jle    0x476eb0
476ea7:	8b 45 0c             	mov    0xc(%ebp),%eax
476eaa:	8b 40 04             	mov    0x4(%eax),%eax
476ead:	89 45 c4             	mov    %eax,-0x3c(%ebp)
476eb0:	8b 45 14             	mov    0x14(%ebp),%eax
476eb3:	50                   	push   %eax
476eb4:	8d 85 74 ff ff ff    	lea    -0x8c(%ebp),%eax
476eba:	50                   	push   %eax
476ebb:	8b 4d 0c             	mov    0xc(%ebp),%ecx
476ebe:	8b 09                	mov    (%ecx),%ecx
476ec0:	8b 55 c4             	mov    -0x3c(%ebp),%edx
476ec3:	33 c0                	xor    %eax,%eax
476ec5:	e8 d2 37 fa ff       	call   0x41a69c
476eca:	8b 45 fc             	mov    -0x4(%ebp),%eax
476ecd:	6b 80 c0 00 00 00 15 	imul   $0x15,0xc0(%eax),%eax
476ed4:	8b 55 f8             	mov    -0x8(%ebp),%edx
476ed7:	8d b5 74 ff ff ff    	lea    -0x8c(%ebp),%esi
476edd:	8d 7c 02 eb          	lea    -0x15(%edx,%eax,1),%edi
476ee1:	a5                   	movsl  %ds:(%esi),%es:(%edi)
476ee2:	a5                   	movsl  %ds:(%esi),%es:(%edi)
476ee3:	a5                   	movsl  %ds:(%esi),%es:(%edi)
476ee4:	a5                   	movsl  %ds:(%esi),%es:(%edi)
476ee5:	c6 45 ce 00          	movb   $0x0,-0x32(%ebp)
476ee9:	80 7d cf 00          	cmpb   $0x0,-0x31(%ebp)
476eed:	0f 84 2a 01 00 00    	je     0x47701d
476ef3:	8b 45 fc             	mov    -0x4(%ebp),%eax
476ef6:	8b 80 c0 00 00 00    	mov    0xc0(%eax),%eax
476efc:	48                   	dec    %eax
476efd:	85 c0                	test   %eax,%eax
476eff:	0f 8c 18 01 00 00    	jl     0x47701d
476f05:	40                   	inc    %eax
476f06:	89 45 a0             	mov    %eax,-0x60(%ebp)
476f09:	c7 45 c4 00 00 00 00 	movl   $0x0,-0x3c(%ebp)
476f10:	80 7d ce 00          	cmpb   $0x0,-0x32(%ebp)
476f14:	75 6d                	jne    0x476f83
476f16:	6b 45 c4 15          	imul   $0x15,-0x3c(%ebp),%eax
476f1a:	8b 55 f8             	mov    -0x8(%ebp),%edx
476f1d:	8d 04 02             	lea    (%edx,%eax,1),%eax
476f20:	50                   	push   %eax
476f21:	8b 45 fc             	mov    -0x4(%ebp),%eax
476f24:	8b 80 c4 00 00 00    	mov    0xc4(%eax),%eax
476f2a:	8b 55 c4             	mov    -0x3c(%ebp),%edx
476f2d:	8b 04 90             	mov    (%eax,%edx,4),%eax
476f30:	83 c0 04             	add    $0x4,%eax
476f33:	50                   	push   %eax
476f34:	e8 57 0a f9 ff       	call   0x407990
476f39:	85 c0                	test   %eax,%eax
476f3b:	74 42                	je     0x476f7f
476f3d:	8b 45 fc             	mov    -0x4(%ebp),%eax
476f40:	8b 80 c4 00 00 00    	mov    0xc4(%eax),%eax
476f46:	8b 55 c4             	mov    -0x3c(%ebp),%edx
476f49:	8b 04 90             	mov    (%eax,%edx,4),%eax
476f4c:	8a 40 21             	mov    0x21(%eax),%al
476f4f:	6b 55 c4 15          	imul   $0x15,-0x3c(%ebp),%edx
476f53:	8b 4d f8             	mov    -0x8(%ebp),%ecx
476f56:	3a 44 11 10          	cmp    0x10(%ecx,%edx,1),%al
476f5a:	75 23                	jne    0x476f7f
476f5c:	8b 45 fc             	mov    -0x4(%ebp),%eax
476f5f:	8b 80 c4 00 00 00    	mov    0xc4(%eax),%eax
476f65:	8b 55 c4             	mov    -0x3c(%ebp),%edx
476f68:	8b 04 90             	mov    (%eax,%edx,4),%eax
476f6b:	f6 40 2c 02          	testb  $0x2,0x2c(%eax)
476f6f:	0f 95 c0             	setne  %al
476f72:	6b 55 c4 15          	imul   $0x15,-0x3c(%ebp),%edx
476f76:	8b 4d f8             	mov    -0x8(%ebp),%ecx
476f79:	3a 44 11 12          	cmp    0x12(%ecx,%edx,1),%al
476f7d:	74 04                	je     0x476f83
476f7f:	c6 45 ce 01          	movb   $0x1,-0x32(%ebp)
476f83:	6b 45 c4 15          	imul   $0x15,-0x3c(%ebp),%eax
476f87:	8b 55 f8             	mov    -0x8(%ebp),%edx
476f8a:	8b 4d fc             	mov    -0x4(%ebp),%ecx
476f8d:	8b 89 c4 00 00 00    	mov    0xc4(%ecx),%ecx
476f93:	8b 5d c4             	mov    -0x3c(%ebp),%ebx
476f96:	8b 1c 99             	mov    (%ecx,%ebx,4),%ebx
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)