476c4b:	50                   	push   %eax
476c4c:	8d 45 d4             	lea    -0x2c(%ebp),%eax
476c4f:	50                   	push   %eax
476c50:	8d 8d 8c fe ff ff    	lea    -0x174(%ebp),%ecx
476c56:	e8 35 4c 00 00       	call   0x47b890
476c5b:	8b 55 e8             	mov    -0x18(%ebp),%edx
476c5e:	c6 45 fc 09          	movb   $0x9,-0x4(%ebp)
476c62:	83 fa 10             	cmp    $0x10,%edx
476c65:	72 2c                	jb     0x476c93
476c67:	8b 4d d4             	mov    -0x2c(%ebp),%ecx
476c6a:	42                   	inc    %edx
476c6b:	8b c1                	mov    %ecx,%eax
476c6d:	81 fa 00 10 00 00    	cmp    $0x1000,%edx
476c73:	72 14                	jb     0x476c89
476c75:	8b 49 fc             	mov    -0x4(%ecx),%ecx
476c78:	83 c2 23             	add    $0x23,%edx
476c7b:	2b c1                	sub    %ecx,%eax
476c7d:	83 c0 fc             	add    $0xfffffffc,%eax
476c80:	83 f8 1f             	cmp    $0x1f,%eax
476c83:	0f 87 b5 04 00 00    	ja     0x47713e
476c89:	52                   	push   %edx
476c8a:	51                   	push   %ecx
476c8b:	e8 e2 a3 16 00       	call   0x5e1072
476c90:	83 c4 08             	add    $0x8,%esp
476c93:	c7 45 e4 00 00 00 00 	movl   $0x0,-0x1c(%ebp)
476c9a:	c7 45 e8 0f 00 00 00 	movl   $0xf,-0x18(%ebp)
476ca1:	c6 45 d4 00          	movb   $0x0,-0x2c(%ebp)
476ca5:	8b 55 d0             	mov    -0x30(%ebp),%edx
476ca8:	c6 45 fc 0a          	movb   $0xa,-0x4(%ebp)
476cac:	83 fa 10             	cmp    $0x10,%edx
476caf:	72 2c                	jb     0x476cdd
476cb1:	8b 4d bc             	mov    -0x44(%ebp),%ecx
476cb4:	42                   	inc    %edx
476cb5:	8b c1                	mov    %ecx,%eax
476cb7:	81 fa 00 10 00 00    	cmp    $0x1000,%edx
476cbd:	72 14                	jb     0x476cd3
476cbf:	8b 49 fc             	mov    -0x4(%ecx),%ecx
476cc2:	83 c2 23             	add    $0x23,%edx
476cc5:	2b c1                	sub    %ecx,%eax
476cc7:	83 c0 fc             	add    $0xfffffffc,%eax
476cca:	83 f8 1f             	cmp    $0x1f,%eax
476ccd:	0f 87 6b 04 00 00    	ja     0x47713e
476cd3:	52                   	push   %edx
476cd4:	51                   	push   %ecx
476cd5:	e8 98 a3 16 00       	call   0x5e1072
476cda:	83 c4 08             	add    $0x8,%esp
476cdd:	c7 45 cc 00 00 00 00 	movl   $0x0,-0x34(%ebp)
476ce4:	c7 45 d0 0f 00 00 00 	movl   $0xf,-0x30(%ebp)
476ceb:	c6 45 bc 00          	movb   $0x0,-0x44(%ebp)
476cef:	8b 95 70 ff ff ff    	mov    -0x90(%ebp),%edx
476cf5:	c6 45 fc 0b          	movb   $0xb,-0x4(%ebp)
476cf9:	83 fa 10             	cmp    $0x10,%edx
476cfc:	72 2f                	jb     0x476d2d
476cfe:	8b 8d 5c ff ff ff    	mov    -0xa4(%ebp),%ecx
476d04:	42                   	inc    %edx
476d05:	8b c1                	mov    %ecx,%eax
476d07:	81 fa 00 10 00 00    	cmp    $0x1000,%edx
476d0d:	72 14                	jb     0x476d23
476d0f:	8b 49 fc             	mov    -0x4(%ecx),%ecx
476d12:	83 c2 23             	add    $0x23,%edx
476d15:	2b c1                	sub    %ecx,%eax
476d17:	83 c0 fc             	add    $0xfffffffc,%eax
476d1a:	83 f8 1f             	cmp    $0x1f,%eax
476d1d:	0f 87 1b 04 00 00    	ja     0x47713e
476d23:	52                   	push   %edx
476d24:	51                   	push   %ecx
476d25:	e8 48 a3 16 00       	call   0x5e1072
476d2a:	83 c4 08             	add    $0x8,%esp
476d2d:	8d 8d 64 fe ff ff    	lea    -0x19c(%ebp),%ecx
476d33:	c7 85 6c ff ff ff 00 	movl   $0x0,-0x94(%ebp)
476d3a:	00 00 00
476d3d:	c7 85 70 ff ff ff 0f 	movl   $0xf,-0x90(%ebp)
476d44:	00 00 00
476d47:	c6 85 5c ff ff ff 00 	movb   $0x0,-0xa4(%ebp)
476d4e:	e8 0d 50 00 00       	call   0x47bd60
476d53:	6a 3c                	push   $0x3c
476d55:	8d 45 8c             	lea    -0x74(%ebp),%eax
476d58:	c6 45 fc 0c          	movb   $0xc,-0x4(%ebp)
476d5c:	50                   	push   %eax
476d5d:	8d 85 8c fe ff ff    	lea    -0x174(%ebp),%eax
476d63:	50                   	push   %eax
476d64:	8d 8d 64 fe ff ff    	lea    -0x19c(%ebp),%ecx
476d6a:	e8 81 51 00 00       	call   0x47bef0
476d6f:	8b f0                	mov    %eax,%esi
476d71:	8d 8d 64 fe ff ff    	lea    -0x19c(%ebp),%ecx
476d77:	89 b5 78 fe ff ff    	mov    %esi,-0x188(%ebp)
476d7d:	e8 fe 4f 00 00       	call   0x47bd80
476d82:	8d 8d 8c fe ff ff    	lea    -0x174(%ebp),%ecx
476d88:	e8 73 4c 00 00       	call   0x47ba00
476d8d:	eb 37                	jmp    0x476dc6
476d8f:	68 54 1b 69 00       	push   $0x691b54
476d94:	6a 02                	push   $0x2
476d96:	e8 e5 3a 00 00       	call   0x47a880
476d9b:	83 c4 08             	add    $0x8,%esp
476d9e:	c7 85 88 fe ff ff 04 	movl   $0x4,-0x178(%ebp)
476da5:	00 00 00
476da8:	b8 ae 6d 47 00       	mov    $0x476dae,%eax
476dad:	c3                   	ret
476dae:	8b b5 88 fe ff ff    	mov    -0x178(%ebp),%esi
476db4:	8b 85 6c fe ff ff    	mov    -0x194(%ebp),%eax
476dba:	89 b5 78 fe ff ff    	mov    %esi,-0x188(%ebp)
476dc0:	89 85 7c fe ff ff    	mov    %eax,-0x184(%ebp)
476dc6:	c7 45 fc 02 00 00 00 	movl   $0x2,-0x4(%ebp)
476dcd:	ba ff ff ff 7f       	mov    $0x7fffffff,%edx
476dd2:	85 f6                	test   %esi,%esi
476dd4:	0f 85 64 02 00 00    	jne    0x47703e
476dda:	83 ec 18             	sub    $0x18,%esp
476ddd:	8d 45 8c             	lea    -0x74(%ebp),%eax
476de0:	8b f4                	mov    %esp,%esi
476de2:	c7 46 10 00 00 00 00 	movl   $0x0,0x10(%esi)
476de9:	c7 46 14 00 00 00 00 	movl   $0x0,0x14(%esi)
476df0:	83 7d a0 10          	cmpl   $0x10,-0x60(%ebp)
476df4:	8b 4d 9c             	mov    -0x64(%ebp),%ecx
476df7:	0f 43 45 8c          	cmovae -0x74(%ebp),%eax
476dfb:	89 8d 88 fe ff ff    	mov    %ecx,-0x178(%ebp)
476e01:	89 85 84 fe ff ff    	mov    %eax,-0x17c(%ebp)
476e07:	83 f9 10             	cmp    $0x10,%ecx
476e0a:	73 0d                	jae    0x476e19
476e0c:	0f 10 00             	movups (%eax),%xmm0
476e0f:	bf 0f 00 00 00       	mov    $0xf,%edi
476e14:	0f 11 06             	movups %xmm0,(%esi)
476e17:	eb 3a                	jmp    0x476e53
476e19:	8b f9                	mov    %ecx,%edi
476e1b:	8b ce                	mov    %esi,%ecx
476e1d:	83 cf 0f             	or     $0xf,%edi
476e20:	81 ff ff ff ff 7f    	cmp    $0x7fffffff,%edi
476e26:	0f 47 fa             	cmova  %edx,%edi
476e29:	8d 47 01             	lea    0x1(%edi),%eax
476e2c:	50                   	push   %eax
476e2d:	e8 1e 26 fc ff       	call   0x439450
476e32:	8b c8                	mov    %eax,%ecx
476e34:	8b 85 88 fe ff ff    	mov    -0x178(%ebp),%eax
476e3a:	40                   	inc    %eax
476e3b:	89 0e                	mov    %ecx,(%esi)
476e3d:	50                   	push   %eax
476e3e:	ff b5 84 fe ff ff    	push   -0x17c(%ebp)
476e44:	51                   	push   %ecx
476e45:	e8 b6 c0 16 00       	call   0x5e2f00
476e4a:	8b 8d 88 fe ff ff    	mov    -0x178(%ebp),%ecx
476e50:	83 c4 0c             	add    $0xc,%esp
476e53:	89 4e 10             	mov    %ecx,0x10(%esi)
476e56:	8d 45 d4             	lea    -0x2c(%ebp),%eax
476e59:	8b 8d 7c fe ff ff    	mov    -0x184(%ebp),%ecx
476e5f:	50                   	push   %eax
476e60:	89 7e 14             	mov    %edi,0x14(%esi)
476e63:	e8 f8 ec ff ff       	call   0x475b60
476e68:	68 7c 1b 69 00       	push   $0x691b7c
476e6d:	6a 04                	push   $0x4
476e6f:	c6 45 fc 0e          	movb   $0xe,-0x4(%ebp)
476e73:	e8 08 3a 00 00       	call   0x47a880
476e78:	8b 55 d4             	mov    -0x2c(%ebp),%edx
476e7b:	8d 45 d4             	lea    -0x2c(%ebp),%eax
476e7e:	83 c4 08             	add    $0x8,%esp
476e81:	8d 4d d4             	lea    -0x2c(%ebp),%ecx
476e84:	83 7d e8 10          	cmpl   $0x10,-0x18(%ebp)
476e88:	8d 7d d4             	lea    -0x2c(%ebp),%edi
476e8b:	0f 43 c2             	cmovae %edx,%eax
476e8e:	0f 43 ca             	cmovae %edx,%ecx
476e91:	89 85 84 fe ff ff    	mov    %eax,-0x17c(%ebp)
476e97:	8b 45 e4             	mov    -0x1c(%ebp),%eax
476e9a:	03 c1                	add    %ecx,%eax
476e9c:	83 7d e8 10          	cmpl   $0x10,-0x18(%ebp)
476ea0:	89 85 88 fe ff ff    	mov    %eax,-0x178(%ebp)
476ea6:	0f 43 fa             	cmovae %edx,%edi
476ea9:	3b f8                	cmp    %eax,%edi
476eab:	74 20                	je     0x476ecd
476ead:	8b b5 84 fe ff ff    	mov    -0x17c(%ebp),%esi
476eb3:	2b f7                	sub    %edi,%esi
476eb5:	0f be 07             	movsbl (%edi),%eax
476eb8:	50                   	push   %eax
476eb9:	e8 6a 0a 18 00       	call   0x5f7928
476ebe:	88 04 3e             	mov    %al,(%esi,%edi,1)
476ec1:	83 c4 04             	add    $0x4,%esp
476ec4:	47                   	inc    %edi
476ec5:	3b bd 88 fe ff ff    	cmp    -0x178(%ebp),%edi
476ecb:	75 e8                	jne    0x476eb5
476ecd:	8b 85 70 fe ff ff    	mov    -0x190(%ebp),%eax
476ed3:	c7 45 cc 00 00 00 00 	movl   $0x0,-0x34(%ebp)
476eda:	c7 45 d0 0f 00 00 00 	movl   $0xf,-0x30(%ebp)
476ee1:	c6 45 bc 00          	movb   $0x0,-0x44(%ebp)
476ee5:	8b 10                	mov    (%eax),%edx
476ee7:	8b ca                	mov    %edx,%ecx
476ee9:	8d 71 01             	lea    0x1(%ecx),%esi
476eec:	0f 1f 40 00          	nopl   0x0(%eax)
476ef0:	8a 01                	mov    (%ecx),%al
476ef2:	41                   	inc    %ecx
476ef3:	84 c0                	test   %al,%al
476ef5:	75 f9                	jne    0x476ef0
476ef7:	2b ce                	sub    %esi,%ecx
476ef9:	51                   	push   %ecx
476efa:	52                   	push   %edx
476efb:	8d 4d bc             	lea    -0x44(%ebp),%ecx
476efe:	e8 3d e3 fc ff       	call   0x445240
476f03:	83 7d d0 10          	cmpl   $0x10,-0x30(%ebp)
476f07:	8d 45 bc             	lea    -0x44(%ebp),%eax
476f0a:	8b 7d bc             	mov    -0x44(%ebp),%edi
476f0d:	8d 55 bc             	lea    -0x44(%ebp),%edx
476f10:	0f 43 c7             	cmovae %edi,%eax
476f13:	8d 75 bc             	lea    -0x44(%ebp),%esi
476f16:	0f 43 d7             	cmovae %edi,%edx
476f19:	03 45 cc             	add    -0x34(%ebp),%eax
476f1c:	83 7d d0 10          	cmpl   $0x10,-0x30(%ebp)
476f20:	89 85 88 fe ff ff    	mov    %eax,-0x178(%ebp)
476f26:	0f 43 f7             	cmovae %edi,%esi
476f29:	3b f0                	cmp    %eax,%esi
476f2b:	74 1f                	je     0x476f4c
476f2d:	2b d6                	sub    %esi,%edx
476f2f:	8b fa                	mov    %edx,%edi
476f31:	0f be 06             	movsbl (%esi),%eax
476f34:	50                   	push   %eax
476f35:	e8 ee 09 18 00       	call   0x5f7928
476f3a:	88 04 37             	mov    %al,(%edi,%esi,1)
476f3d:	83 c4 04             	add    $0x4,%esp
476f40:	46                   	inc    %esi
476f41:	3b b5 88 fe ff ff    	cmp    -0x178(%ebp),%esi
476f47:	75 e8                	jne    0x476f31
476f49:	8b 7d bc             	mov    -0x44(%ebp),%edi
476f4c:	8b 75 d0             	mov    -0x30(%ebp),%esi
476f4f:	8d 4d bc             	lea    -0x44(%ebp),%ecx
476f52:	ff 75 cc             	push   -0x34(%ebp)
476f55:	8b 55 d4             	mov    -0x2c(%ebp),%edx
476f58:	8d 45 d4             	lea    -0x2c(%ebp),%eax
476f5b:	83 fe 10             	cmp    $0x10,%esi
476f5e:	89 95 84 fe ff ff    	mov    %edx,-0x17c(%ebp)
476f64:	0f 43 cf             	cmovae %edi,%ecx
476f67:	83 7d e8 10          	cmpl   $0x10,-0x18(%ebp)
476f6b:	51                   	push   %ecx
476f6c:	ff 75 e4             	push   -0x1c(%ebp)
476f6f:	0f 43 c2             	cmovae %edx,%eax
476f72:	50                   	push   %eax
476f73:	e8 c8 01 fd ff       	call   0x447140
476f78:	83 c4 10             	add    $0x10,%esp
476f7b:	85 c0                	test   %eax,%eax
476f7d:	75 4d                	jne    0x476fcc
476f7f:	83 fe 10             	cmp    $0x10,%esi
476f82:	72 29                	jb     0x476fad
476f84:	46                   	inc    %esi
476f85:	8b c7                	mov    %edi,%eax
476f87:	81 fe 00 10 00 00    	cmp    $0x1000,%esi
476f8d:	72 14                	jb     0x476fa3
476f8f:	8b 7f fc             	mov    -0x4(%edi),%edi
476f92:	83 c6 23             	add    $0x23,%esi
476f95:	2b c7                	sub    %edi,%eax
476f97:	83 c0 fc             	add    $0xfffffffc,%eax
476f9a:	83 f8 1f             	cmp    $0x1f,%eax
476f9d:	0f 87 a0 01 00 00    	ja     0x477143
476fa3:	56                   	push   %esi
476fa4:	57                   	push   %edi
476fa5:	e8 c8 a0 16 00       	call   0x5e1072
476faa:	83 c4 08             	add    $0x8,%esp
476fad:	8d 4d d4             	lea    -0x2c(%ebp),%ecx
476fb0:	c7 45 cc 00 00 00 00 	movl   $0x0,-0x34(%ebp)
476fb7:	c7 45 d0 0f 00 00 00 	movl   $0xf,-0x30(%ebp)
476fbe:	c6 45 bc 00          	movb   $0x0,-0x44(%ebp)
476fc2:	e8 e9 16 fc ff       	call   0x4386b0
476fc7:	e9 9e 00 00 00       	jmp    0x47706a
476fcc:	83 fe 10             	cmp    $0x10,%esi
476fcf:	72 2e                	jb     0x476fff
476fd1:	46                   	inc    %esi
476fd2:	8b c7                	mov    %edi,%eax
476fd4:	81 fe 00 10 00 00    	cmp    $0x1000,%esi
476fda:	72 14                	jb     0x476ff0
476fdc:	8b 7f fc             	mov    -0x4(%edi),%edi
476fdf:	83 c6 23             	add    $0x23,%esi
476fe2:	2b c7                	sub    %edi,%eax
476fe4:	83 c0 fc             	add    $0xfffffffc,%eax
476fe7:	83 f8 1f             	cmp    $0x1f,%eax
476fea:	0f 87 53 01 00 00    	ja     0x477143
476ff0:	56                   	push   %esi
476ff1:	57                   	push   %edi
476ff2:	e8 7b a0 16 00       	call   0x5e1072
476ff7:	8b 4d d4             	mov    -0x2c(%ebp),%ecx
476ffa:	83 c4 08             	add    $0x8,%esp
476ffd:	eb 06                	jmp    0x477005
476fff:	8b 8d 84 fe ff ff    	mov    -0x17c(%ebp),%ecx
477005:	8b 45 e8             	mov    -0x18(%ebp),%eax
477008:	c6 45 fc 02          	movb   $0x2,-0x4(%ebp)
47700c:	83 f8 10             	cmp    $0x10,%eax
47700f:	72 39                	jb     0x47704a
477011:	8d 50 01             	lea    0x1(%eax),%edx
477014:	8b c1                	mov    %ecx,%eax
477016:	81 fa 00 10 00 00    	cmp    $0x1000,%edx
47701c:	72 14                	jb     0x477032
47701e:	8b 49 fc             	mov    -0x4(%ecx),%ecx
477021:	83 c2 23             	add    $0x23,%edx
477024:	2b c1                	sub    %ecx,%eax
477026:	83 c0 fc             	add    $0xfffffffc,%eax
477029:	83 f8 1f             	cmp    $0x1f,%eax
47702c:	0f 87 16 01 00 00    	ja     0x477148
477032:	52                   	push   %edx
477033:	51                   	push   %ecx
477034:	e8 39 a0 16 00       	call   0x5e1072
477039:	83 c4 08             	add    $0x8,%esp
47703c:	eb 0c                	jmp    0x47704a
47703e:	81 c6 00 01 00 00    	add    $0x100,%esi
477044:	89 b5 78 fe ff ff    	mov    %esi,-0x188(%ebp)
47704a:	68 c0 d4 01 00       	push   $0x1d4c0
47704f:	ff 15 d0 21 68 00    	call   *0x6821d0
477055:	8b b5 74 fe ff ff    	mov    -0x18c(%ebp),%esi
47705b:	8b bd 7c fe ff ff    	mov    -0x184(%ebp),%edi
477061:	83 fe 03             	cmp    $0x3,%esi
477064:	0f 8c 18 fb ff ff    	jl     0x476b82
47706a:	8b b5 78 fe ff ff    	mov    -0x188(%ebp),%esi
477070:	8b 7d 88             	mov    -0x78(%ebp),%edi
477073:	8b 55 a0             	mov    -0x60(%ebp),%edx
477076:	83 fa 10             	cmp    $0x10,%edx
477079:	72 2c                	jb     0x4770a7
47707b:	8b 4d 8c             	mov    -0x74(%ebp),%ecx
47707e:	42                   	inc    %edx
47707f:	8b c1                	mov    %ecx,%eax
477081:	81 fa 00 10 00 00    	cmp    $0x1000,%edx
477087:	72 14                	jb     0x47709d
477089:	8b 49 fc             	mov    -0x4(%ecx),%ecx
47708c:	83 c2 23             	add    $0x23,%edx
47708f:	2b c1                	sub    %ecx,%eax
477091:	83 c0 fc             	add    $0xfffffffc,%eax
477094:	83 f8 1f             	cmp    $0x1f,%eax
477097:	0f 87 b0 00 00 00    	ja     0x47714d
47709d:	52                   	push   %edx
47709e:	51                   	push   %ecx
47709f:	e8 ce 9f 16 00       	call   0x5e1072
4770a4:	83 c4 08             	add    $0x8,%esp
4770a7:	8b 55 b8             	mov    -0x48(%ebp),%edx
4770aa:	c7 45 9c 00 00 00 00 	movl   $0x0,-0x64(%ebp)
4770b1:	c7 45 a0 0f 00 00 00 	movl   $0xf,-0x60(%ebp)
4770b8:	c6 45 8c 00          	movb   $0x0,-0x74(%ebp)
4770bc:	83 fa 10             	cmp    $0x10,%edx
4770bf:	72 28                	jb     0x4770e9
4770c1:	8b 4d a4             	mov    -0x5c(%ebp),%ecx
4770c4:	42                   	inc    %edx
4770c5:	8b c1                	mov    %ecx,%eax
4770c7:	81 fa 00 10 00 00    	cmp    $0x1000,%edx
4770cd:	72 10                	jb     0x4770df
4770cf:	8b 49 fc             	mov    -0x4(%ecx),%ecx
4770d2:	83 c2 23             	add    $0x23,%edx
4770d5:	2b c1                	sub    %ecx,%eax
4770d7:	83 c0 fc             	add    $0xfffffffc,%eax
4770da:	83 f8 1f             	cmp    $0x1f,%eax
4770dd:	77 6e                	ja     0x47714d
4770df:	52                   	push   %edx
4770e0:	51                   	push   %ecx
4770e1:	e8 8c 9f 16 00       	call   0x5e1072
4770e6:	83 c4 08             	add    $0x8,%esp
4770e9:	83 ff 10             	cmp    $0x10,%edi
4770ec:	72 2b                	jb     0x477119
4770ee:	8b 8d 74 ff ff ff    	mov    -0x8c(%ebp),%ecx
4770f4:	47                   	inc    %edi
4770f5:	8b c1                	mov    %ecx,%eax
4770f7:	81 ff 00 10 00 00    	cmp    $0x1000,%edi
4770fd:	72 10                	jb     0x47710f