47fb73:	2b cf                	sub    %edi,%ecx
47fb75:	b8 ab aa aa 2a       	mov    $0x2aaaaaab,%eax
47fb7a:	f7 e9                	imul   %ecx
47fb7c:	8b 4d c8             	mov    -0x38(%ebp),%ecx
47fb7f:	c1 fa 02             	sar    $0x2,%edx
47fb82:	8b c2                	mov    %edx,%eax
47fb84:	c1 e8 1f             	shr    $0x1f,%eax
47fb87:	03 c2                	add    %edx,%eax
47fb89:	3b c8                	cmp    %eax,%ecx
47fb8b:	73 5b                	jae    0x47fbe8
47fb8d:	8d 34 49             	lea    (%ecx,%ecx,2),%esi
47fb90:	c1 e6 03             	shl    $0x3,%esi
47fb93:	83 7c 3e 14 10       	cmpl   $0x10,0x14(%esi,%edi,1)
47fb98:	8d 04 3e             	lea    (%esi,%edi,1),%eax
47fb9b:	8b c8                	mov    %eax,%ecx
47fb9d:	72 02                	jb     0x47fba1
47fb9f:	8b 08                	mov    (%eax),%ecx
47fba1:	ff 70 10             	push   0x10(%eax)
47fba4:	51                   	push   %ecx
47fba5:	8d 4d d8             	lea    -0x28(%ebp),%ecx
47fba8:	e8 d3 92 fd ff       	call   0x458e80
47fbad:	6a 04                	push   $0x4
47fbaf:	68 98 86 60 00       	push   $0x608698
47fbb4:	8d 4d d8             	lea    -0x28(%ebp),%ecx
47fbb7:	e8 c4 92 fd ff       	call   0x458e80
47fbbc:	8b 45 cc             	mov    -0x34(%ebp),%eax
47fbbf:	83 c6 18             	add    $0x18,%esi
47fbc2:	ff 45 d4             	incl   -0x2c(%ebp)
47fbc5:	8b 40 04             	mov    0x4(%eax),%eax
47fbc8:	8b 48 04             	mov    0x4(%eax),%ecx
47fbcb:	8b 38                	mov    (%eax),%edi
47fbcd:	2b cf                	sub    %edi,%ecx
47fbcf:	b8 ab aa aa 2a       	mov    $0x2aaaaaab,%eax
47fbd4:	f7 e9                	imul   %ecx
47fbd6:	c1 fa 02             	sar    $0x2,%edx
47fbd9:	8b c2                	mov    %edx,%eax
47fbdb:	c1 e8 1f             	shr    $0x1f,%eax
47fbde:	03 c2                	add    %edx,%eax
47fbe0:	39 45 d4             	cmp    %eax,-0x2c(%ebp)
47fbe3:	72 ae                	jb     0x47fb93
47fbe5:	8b 75 cc             	mov    -0x34(%ebp),%esi
47fbe8:	8b 7d d0             	mov    -0x30(%ebp),%edi
47fbeb:	8b 4f 78             	mov    0x78(%edi),%ecx
47fbee:	83 e1 fe             	and    $0xfffffffe,%ecx
47fbf1:	8b c1                	mov    %ecx,%eax
47fbf3:	83 79 14 10          	cmpl   $0x10,0x14(%ecx)
47fbf7:	72 02                	jb     0x47fbfb
47fbf9:	8b 01                	mov    (%ecx),%eax
47fbfb:	ff 71 10             	push   0x10(%ecx)
47fbfe:	8d 4d d8             	lea    -0x28(%ebp),%ecx
47fc01:	50                   	push   %eax
47fc02:	e8 79 92 fd ff       	call   0x458e80
47fc07:	8b 4e 04             	mov    0x4(%esi),%ecx
47fc0a:	8b 01                	mov    (%ecx),%eax
47fc0c:	8b 49 04             	mov    0x4(%ecx),%ecx
47fc0f:	2b c8                	sub    %eax,%ecx
47fc11:	89 45 d0             	mov    %eax,-0x30(%ebp)
47fc14:	b8 ab aa aa 2a       	mov    $0x2aaaaaab,%eax
47fc19:	f7 e9                	imul   %ecx
47fc1b:	8b 4d c8             	mov    -0x38(%ebp),%ecx
47fc1e:	c1 fa 02             	sar    $0x2,%edx
47fc21:	8b c2                	mov    %edx,%eax
47fc23:	c1 e8 1f             	shr    $0x1f,%eax
47fc26:	48                   	dec    %eax
47fc27:	03 c2                	add    %edx,%eax
47fc29:	3b c8                	cmp    %eax,%ecx
47fc2b:	73 0c                	jae    0x47fc39
47fc2d:	41                   	inc    %ecx
47fc2e:	8d 04 49             	lea    (%ecx,%ecx,2),%eax
47fc31:	8b 4d d0             	mov    -0x30(%ebp),%ecx
47fc34:	8d 04 c1             	lea    (%ecx,%eax,8),%eax
47fc37:	eb 06                	jmp    0x47fc3f
47fc39:	8b 47 78             	mov    0x78(%edi),%eax
47fc3c:	83 e0 fe             	and    $0xfffffffe,%eax
47fc3f:	8d 4d d8             	lea    -0x28(%ebp),%ecx
47fc42:	51                   	push   %ecx
47fc43:	6a 09                	push   $0x9
47fc45:	57                   	push   %edi
47fc46:	50                   	push   %eax
47fc47:	8b ce                	mov    %esi,%ecx
47fc49:	e8 62 eb ff ff       	call   0x47e7b0
47fc4e:	8b 55 ec             	mov    -0x14(%ebp),%edx
47fc51:	83 fa 10             	cmp    $0x10,%edx
47fc54:	72 28                	jb     0x47fc7e
47fc56:	8b 4d d8             	mov    -0x28(%ebp),%ecx
47fc59:	42                   	inc    %edx
47fc5a:	8b c1                	mov    %ecx,%eax
47fc5c:	81 fa 00 10 00 00    	cmp    $0x1000,%edx
47fc62:	72 10                	jb     0x47fc74
47fc64:	8b 49 fc             	mov    -0x4(%ecx),%ecx
47fc67:	83 c2 23             	add    $0x23,%edx
47fc6a:	2b c1                	sub    %ecx,%eax
47fc6c:	83 c0 fc             	add    $0xfffffffc,%eax
47fc6f:	83 f8 1f             	cmp    $0x1f,%eax
47fc72:	77 27                	ja     0x47fc9b
47fc74:	52                   	push   %edx
47fc75:	51                   	push   %ecx
47fc76:	e8 da 15 15 00       	call   0x5d1255
47fc7b:	83 c4 08             	add    $0x8,%esp
47fc7e:	8b 4d f4             	mov    -0xc(%ebp),%ecx
47fc81:	64 89 0d 00 00 00 00 	mov    %ecx,%fs:0x0
47fc88:	59                   	pop    %ecx
47fc89:	5f                   	pop    %edi
47fc8a:	5e                   	pop    %esi
47fc8b:	8b 4d f0             	mov    -0x10(%ebp),%ecx
47fc8e:	33 cd                	xor    %ebp,%ecx
47fc90:	e8 91 1d 15 00       	call   0x5d1a26
47fc95:	8b e5                	mov    %ebp,%esp
47fc97:	5d                   	pop    %ebp
47fc98:	c2 08 00             	ret    $0x8
47fc9b:	e8 50 65 15 00       	call   0x5d61f0
47fca0:	cc                   	int3
47fca1:	cc                   	int3
47fca2:	cc                   	int3
47fca3:	cc                   	int3
47fca4:	cc                   	int3
47fca5:	cc                   	int3
47fca6:	cc                   	int3
47fca7:	cc                   	int3
47fca8:	cc                   	int3
47fca9:	cc                   	int3
47fcaa:	cc                   	int3
47fcab:	cc                   	int3
47fcac:	cc                   	int3
47fcad:	cc                   	int3
47fcae:	cc                   	int3
47fcaf:	cc                   	int3
47fcb0:	55                   	push   %ebp
47fcb1:	8b ec                	mov    %esp,%ebp
47fcb3:	6a ff                	push   $0xffffffff
47fcb5:	68 63 ae 5f 00       	push   $0x5fae63
47fcba:	64 a1 00 00 00 00    	mov    %fs:0x0,%eax
47fcc0:	50                   	push   %eax
47fcc1:	81 ec 38 01 00 00    	sub    $0x138,%esp
47fcc7:	a1 c0 14 69 00       	mov    0x6914c0,%eax
47fccc:	33 c5                	xor    %ebp,%eax
47fcce:	89 45 f0             	mov    %eax,-0x10(%ebp)
47fcd1:	56                   	push   %esi
47fcd2:	57                   	push   %edi
47fcd3:	50                   	push   %eax
47fcd4:	8d 45 f4             	lea    -0xc(%ebp),%eax
47fcd7:	64 a3 00 00 00 00    	mov    %eax,%fs:0x0
47fcdd:	8b f1                	mov    %ecx,%esi
47fcdf:	89 b5 bc fe ff ff    	mov    %esi,-0x144(%ebp)
47fce5:	8b 4d 10             	mov    0x10(%ebp),%ecx
47fce8:	8b 45 0c             	mov    0xc(%ebp),%eax
47fceb:	8b 7d 08             	mov    0x8(%ebp),%edi
47fcee:	89 8d c8 fe ff ff    	mov    %ecx,-0x138(%ebp)
47fcf4:	8b 4d 14             	mov    0x14(%ebp),%ecx
47fcf7:	89 85 d0 fe ff ff    	mov    %eax,-0x130(%ebp)
47fcfd:	89 8d cc fe ff ff    	mov    %ecx,-0x134(%ebp)
47fd03:	c7 85 d4 fe ff ff 00 	movl   $0x0,-0x12c(%ebp)
47fd0a:	00 00 00
47fd0d:	85 c0                	test   %eax,%eax
47fd0f:	75 09                	jne    0x47fd1a
47fd11:	8b 46 34             	mov    0x34(%esi),%eax
47fd14:	89 85 d0 fe ff ff    	mov    %eax,-0x130(%ebp)
47fd1a:	83 7f 14 10          	cmpl   $0x10,0x14(%edi)
47fd1e:	8b cf                	mov    %edi,%ecx
47fd20:	89 bd d8 fe ff ff    	mov    %edi,-0x128(%ebp)
47fd26:	72 08                	jb     0x47fd30
47fd28:	8b 0f                	mov    (%edi),%ecx
47fd2a:	89 8d d8 fe ff ff    	mov    %ecx,-0x128(%ebp)
47fd30:	8b 47 10             	mov    0x10(%edi),%eax
47fd33:	85 c0                	test   %eax,%eax
47fd35:	0f 84 3a 01 00 00    	je     0x47fe75
47fd3b:	50                   	push   %eax
47fd3c:	6a 00                	push   $0x0
47fd3e:	51                   	push   %ecx
47fd3f:	e8 dc 43 15 00       	call   0x5d4120
47fd44:	83 c4 0c             	add    $0xc,%esp
47fd47:	85 c0                	test   %eax,%eax
47fd49:	0f 84 26 01 00 00    	je     0x47fe75
47fd4f:	2b 85 d8 fe ff ff    	sub    -0x128(%ebp),%eax
47fd55:	83 f8 ff             	cmp    $0xffffffff,%eax
47fd58:	0f 84 17 01 00 00    	je     0x47fe75
47fd5e:	8b 4f 10             	mov    0x10(%edi),%ecx
47fd61:	b8 ff ff ff 7f       	mov    $0x7fffffff,%eax
47fd66:	2b c1                	sub    %ecx,%eax
47fd68:	83 f8 01             	cmp    $0x1,%eax
47fd6b:	0f 82 05 06 00 00    	jb     0x480376
47fd71:	83 7f 14 10          	cmpl   $0x10,0x14(%edi)
47fd75:	8b c7                	mov    %edi,%eax
47fd77:	72 02                	jb     0x47fd7b
47fd79:	8b 07                	mov    (%edi),%eax
47fd7b:	51                   	push   %ecx
47fd7c:	50                   	push   %eax
47fd7d:	6a 01                	push   $0x1
47fd7f:	68 58 81 60 00       	push   $0x608158
47fd84:	57                   	push   %edi
47fd85:	ff b5 c8 fe ff ff    	push   -0x138(%ebp)
47fd8b:	8d 4d 90             	lea    -0x70(%ebp),%ecx
47fd8e:	e8 ed bd ff ff       	call   0x47bb80
47fd93:	6a 1a                	push   $0x1a
47fd95:	68 0c 85 60 00       	push   $0x60850c
47fd9a:	8d 4d 90             	lea    -0x70(%ebp),%ecx
47fd9d:	c7 45 fc 00 00 00 00 	movl   $0x0,-0x4(%ebp)
47fda4:	e8 d7 90 fd ff       	call   0x458e80
47fda9:	c7 45 d8 00 00 00 00 	movl   $0x0,-0x28(%ebp)
47fdb0:	c7 45 e8 00 00 00 00 	movl   $0x0,-0x18(%ebp)
47fdb7:	c7 45 ec 00 00 00 00 	movl   $0x0,-0x14(%ebp)
47fdbe:	0f 10 00             	movups (%eax),%xmm0
47fdc1:	0f 11 45 d8          	movups %xmm0,-0x28(%ebp)
47fdc5:	f3 0f 7e 40 10       	movq   0x10(%eax),%xmm0
47fdca:	66 0f d6 45 e8       	movq   %xmm0,-0x18(%ebp)
47fdcf:	c7 40 10 00 00 00 00 	movl   $0x0,0x10(%eax)
47fdd6:	c7 40 14 0f 00 00 00 	movl   $0xf,0x14(%eax)
47fddd:	c6 00 00             	movb   $0x0,(%eax)
47fde0:	8d 45 d8             	lea    -0x28(%ebp),%eax
47fde3:	c6 45 fc 01          	movb   $0x1,-0x4(%ebp)
47fde7:	50                   	push   %eax
47fde8:	6a 00                	push   $0x0
47fdea:	ff b5 cc fe ff ff    	push   -0x134(%ebp)
47fdf0:	8b ce                	mov    %esi,%ecx
47fdf2:	57                   	push   %edi
47fdf3:	e8 b8 e9 ff ff       	call   0x47e7b0
47fdf8:	8b 55 ec             	mov    -0x14(%ebp),%edx
47fdfb:	83 fa 10             	cmp    $0x10,%edx
47fdfe:	72 2c                	jb     0x47fe2c
47fe00:	8b 4d d8             	mov    -0x28(%ebp),%ecx
47fe03:	42                   	inc    %edx
47fe04:	8b c1                	mov    %ecx,%eax
47fe06:	81 fa 00 10 00 00    	cmp    $0x1000,%edx
47fe0c:	72 14                	jb     0x47fe22
47fe0e:	8b 49 fc             	mov    -0x4(%ecx),%ecx
47fe11:	83 c2 23             	add    $0x23,%edx
47fe14:	2b c1                	sub    %ecx,%eax
47fe16:	83 c0 fc             	add    $0xfffffffc,%eax
47fe19:	83 f8 1f             	cmp    $0x1f,%eax
47fe1c:	0f 87 59 05 00 00    	ja     0x48037b
47fe22:	52                   	push   %edx
47fe23:	51                   	push   %ecx
47fe24:	e8 2c 14 15 00       	call   0x5d1255
47fe29:	83 c4 08             	add    $0x8,%esp
47fe2c:	8b 55 a4             	mov    -0x5c(%ebp),%edx
47fe2f:	c7 45 e8 00 00 00 00 	movl   $0x0,-0x18(%ebp)
47fe36:	c7 45 ec 0f 00 00 00 	movl   $0xf,-0x14(%ebp)
47fe3d:	c6 45 d8 00          	movb   $0x0,-0x28(%ebp)
47fe41:	83 fa 10             	cmp    $0x10,%edx
47fe44:	0f 82 0d 05 00 00    	jb     0x480357
47fe4a:	8b 4d 90             	mov    -0x70(%ebp),%ecx
47fe4d:	42                   	inc    %edx
47fe4e:	8b c1                	mov    %ecx,%eax
47fe50:	81 fa 00 10 00 00    	cmp    $0x1000,%edx
47fe56:	0f 82 f1 04 00 00    	jb     0x48034d
47fe5c:	8b 49 fc             	mov    -0x4(%ecx),%ecx
47fe5f:	83 c2 23             	add    $0x23,%edx
47fe62:	2b c1                	sub    %ecx,%eax
47fe64:	83 c0 fc             	add    $0xfffffffc,%eax
47fe67:	83 f8 1f             	cmp    $0x1f,%eax
47fe6a:	0f 87 0b 05 00 00    	ja     0x48037b
47fe70:	e9 d8 04 00 00       	jmp    0x48034d
47fe75:	ff 75 1c             	push   0x1c(%ebp)
47fe78:	8b 4e 04             	mov    0x4(%esi),%ecx
47fe7b:	ff 75 18             	push   0x18(%ebp)
47fe7e:	57                   	push   %edi
47fe7f:	e8 0c 05 00 00       	call   0x480390
47fe84:	84 c0                	test   %al,%al
47fe86:	0f 84 88 00 00 00    	je     0x47ff14
47fe8c:	ff 75 1c             	push   0x1c(%ebp)
47fe8f:	8b 4e 38             	mov    0x38(%esi),%ecx
47fe92:	ff 75 18             	push   0x18(%ebp)
47fe95:	ff b5 c8 fe ff ff    	push   -0x138(%ebp)
47fe9b:	ff b5 d0 fe ff ff    	push   -0x130(%ebp)
47fea1:	e8 6a e8 ff ff       	call   0x47e710
47fea6:	84 c0                	test   %al,%al
47fea8:	75 63                	jne    0x47ff0d
47feaa:	38 46 18             	cmp    %al,0x18(%esi)
47fead:	0f 85 a4 04 00 00    	jne    0x480357
47feb3:	68 c4 0f 00 00       	push   $0xfc4
47feb8:	68 d8 7d 60 00       	push   $0x607dd8
47febd:	6a 02                	push   $0x2
47febf:	8d 8d 54 ff ff ff    	lea    -0xac(%ebp),%ecx
47fec5:	e8 16 54 ff ff       	call   0x4752e0
47feca:	68 28 85 60 00       	push   $0x608528
47fecf:	57                   	push   %edi
47fed0:	68 58 81 60 00       	push   $0x608158
47fed5:	8b c8                	mov    %eax,%ecx
47fed7:	c7 45 fc 02 00 00 00 	movl   $0x2,-0x4(%ebp)
47fede:	e8 0d 5a ff ff       	call   0x4758f0
47fee3:	8b c8                	mov    %eax,%ecx
47fee5:	e8 16 58 ff ff       	call   0x475700
47feea:	8b c8                	mov    %eax,%ecx
47feec:	e8 ff 59 ff ff       	call   0x4758f0
47fef1:	50                   	push   %eax
47fef2:	8d 8d c3 fe ff ff    	lea    -0x13d(%ebp),%ecx
47fef8:	e8 83 57 ff ff       	call   0x475680
47fefd:	8d 8d 54 ff ff ff    	lea    -0xac(%ebp),%ecx
47ff03:	e8 08 57 ff ff       	call   0x475610
47ff08:	e9 4a 04 00 00       	jmp    0x480357
47ff0d:	b0 01                	mov    $0x1,%al
47ff0f:	e9 45 04 00 00       	jmp    0x480359
47ff14:	83 ec 08             	sub    $0x8,%esp
47ff17:	8b c7                	mov    %edi,%eax
47ff19:	83 7f 14 10          	cmpl   $0x10,0x14(%edi)
47ff1d:	8b cc                	mov    %esp,%ecx
47ff1f:	72 02                	jb     0x47ff23
47ff21:	8b 07                	mov    (%edi),%eax
47ff23:	89 01                	mov    %eax,(%ecx)
47ff25:	c7 41 04 00 00 00 00 	movl   $0x0,0x4(%ecx)
47ff2c:	8b 47 10             	mov    0x10(%edi),%eax
47ff2f:	89 41 04             	mov    %eax,0x4(%ecx)
47ff32:	8d 85 c4 fe ff ff    	lea    -0x13c(%ebp),%eax
47ff38:	8b 4e 04             	mov    0x4(%esi),%ecx
47ff3b:	50                   	push   %eax
47ff3c:	e8 cf 11 01 00       	call   0x491110
47ff41:	8b c8                	mov    %eax,%ecx
47ff43:	e8 38 1f 01 00       	call   0x491e80
47ff48:	3b 46 34             	cmp    0x34(%esi),%eax
47ff4b:	0f 85 79 01 00 00    	jne    0x4800ca
47ff51:	6a ff                	push   $0xffffffff
47ff53:	6a 2e                	push   $0x2e
47ff55:	8b cf                	mov    %edi,%ecx
47ff57:	e8 24 de 01 00       	call   0x49dd80
47ff5c:	89 85 c8 fe ff ff    	mov    %eax,-0x138(%ebp)
47ff62:	83 f8 ff             	cmp    $0xffffffff,%eax
47ff65:	75 7b                	jne    0x47ffe2
47ff67:	8b 4f 10             	mov    0x10(%edi),%ecx
47ff6a:	b8 ff ff ff 7f       	mov    $0x7fffffff,%eax
47ff6f:	2b c1                	sub    %ecx,%eax
47ff71:	83 f8 01             	cmp    $0x1,%eax
47ff74:	0f 82 06 04 00 00    	jb     0x480380
47ff7a:	83 7f 14 10          	cmpl   $0x10,0x14(%edi)
47ff7e:	8b c7                	mov    %edi,%eax
47ff80:	72 02                	jb     0x47ff84
47ff82:	8b 07                	mov    (%edi),%eax
47ff84:	51                   	push   %ecx
47ff85:	50                   	push   %eax
47ff86:	6a 01                	push   $0x1
47ff88:	68 58 81 60 00       	push   $0x608158
47ff8d:	57                   	push   %edi
47ff8e:	ff b5 c8 fe ff ff    	push   -0x138(%ebp)
47ff94:	8d 4d 90             	lea    -0x70(%ebp),%ecx
47ff97:	e8 e4 bb ff ff       	call   0x47bb80
47ff9c:	68 9c 85 60 00       	push   $0x60859c
47ffa1:	8d 45 90             	lea    -0x70(%ebp),%eax
47ffa4:	c7 45 fc 03 00 00 00 	movl   $0x3,-0x4(%ebp)
47ffab:	50                   	push   %eax
47ffac:	8d 45 d8             	lea    -0x28(%ebp),%eax
47ffaf:	50                   	push   %eax
47ffb0:	e8 ab 5f ff ff       	call   0x475f60
47ffb5:	83 c4 0c             	add    $0xc,%esp
47ffb8:	50                   	push   %eax
47ffb9:	6a 00                	push   $0x0
47ffbb:	ff b5 cc fe ff ff    	push   -0x134(%ebp)
47ffc1:	8b ce                	mov    %esi,%ecx
47ffc3:	c6 45 fc 04          	movb   $0x4,-0x4(%ebp)
47ffc7:	57                   	push   %edi
47ffc8:	e8 e3 e7 ff ff       	call   0x47e7b0
47ffcd:	8d 4d d8             	lea    -0x28(%ebp),%ecx