496db2:	85 c0                	test   %eax,%eax
496db4:	74 0b                	je     0x496dc1
496db6:	6a 04                	push   $0x4
496db8:	50                   	push   %eax
496db9:	e8 97 a4 13 00       	call   0x5d1255
496dbe:	83 c4 08             	add    $0x8,%esp
496dc1:	83 c6 04             	add    $0x4,%esi
496dc4:	3b f3                	cmp    %ebx,%esi
496dc6:	75 e8                	jne    0x496db0
496dc8:	8b 55 ec             	mov    -0x14(%ebp),%edx
496dcb:	89 ba b4 00 00 00    	mov    %edi,0xb4(%edx)
496dd1:	eb 2e                	jmp    0x496e01
496dd3:	76 2c                	jbe    0x496e01
496dd5:	8b 46 08             	mov    0x8(%esi),%eax
496dd8:	2b c7                	sub    %edi,%eax
496dda:	c1 f8 02             	sar    $0x2,%eax
496ddd:	3b d0                	cmp    %eax,%edx
496ddf:	76 0e                	jbe    0x496def
496de1:	8d 45 f3             	lea    -0xd(%ebp),%eax
496de4:	8b ce                	mov    %esi,%ecx
496de6:	50                   	push   %eax
496de7:	52                   	push   %edx
496de8:	e8 93 33 fe ff       	call   0x47a180
496ded:	eb 12                	jmp    0x496e01
496def:	2b d1                	sub    %ecx,%edx
496df1:	74 0b                	je     0x496dfe
496df3:	8b fb                	mov    %ebx,%edi
496df5:	8b ca                	mov    %edx,%ecx
496df7:	33 c0                	xor    %eax,%eax
496df9:	8d 1c 93             	lea    (%ebx,%edx,4),%ebx
496dfc:	f3 ab                	rep stos %eax,%es:(%edi)
496dfe:	89 5e 04             	mov    %ebx,0x4(%esi)
496e01:	8b 75 ec             	mov    -0x14(%ebp),%esi
496e04:	8b 45 e8             	mov    -0x18(%ebp),%eax
496e07:	8b 9e c0 00 00 00    	mov    0xc0(%esi),%ebx
496e0d:	8b cb                	mov    %ebx,%ecx
496e0f:	8b be bc 00 00 00    	mov    0xbc(%esi),%edi
496e15:	2b cf                	sub    %edi,%ecx
496e17:	8b 50 ec             	mov    -0x14(%eax),%edx
496e1a:	c1 f9 02             	sar    $0x2,%ecx
496e1d:	3b d1                	cmp    %ecx,%edx
496e1f:	73 2e                	jae    0x496e4f
496e21:	8d 3c 97             	lea    (%edi,%edx,4),%edi
496e24:	8b f7                	mov    %edi,%esi
496e26:	3b fb                	cmp    %ebx,%edi
496e28:	74 1a                	je     0x496e44
496e2a:	66 0f 1f 44 00 00    	nopw   0x0(%eax,%eax,1)
496e30:	8b 0e                	mov    (%esi),%ecx
496e32:	85 c9                	test   %ecx,%ecx
496e34:	74 07                	je     0x496e3d
496e36:	6a 01                	push   $0x1
496e38:	e8 83 77 fe ff       	call   0x47e5c0
496e3d:	83 c6 04             	add    $0x4,%esi
496e40:	3b f3                	cmp    %ebx,%esi
496e42:	75 ec                	jne    0x496e30
496e44:	8b 5d ec             	mov    -0x14(%ebp),%ebx
496e47:	89 bb c0 00 00 00    	mov    %edi,0xc0(%ebx)
496e4d:	eb 3a                	jmp    0x496e89
496e4f:	76 36                	jbe    0x496e87
496e51:	8b 86 c4 00 00 00    	mov    0xc4(%esi),%eax
496e57:	2b c7                	sub    %edi,%eax
496e59:	c1 f8 02             	sar    $0x2,%eax
496e5c:	3b d0                	cmp    %eax,%edx
496e5e:	76 12                	jbe    0x496e72
496e60:	8d 45 f3             	lea    -0xd(%ebp),%eax
496e63:	50                   	push   %eax
496e64:	52                   	push   %edx
496e65:	8d 8e bc 00 00 00    	lea    0xbc(%esi),%ecx
496e6b:	e8 90 34 fe ff       	call   0x47a300
496e70:	eb 15                	jmp    0x496e87
496e72:	2b d1                	sub    %ecx,%edx
496e74:	74 0b                	je     0x496e81
496e76:	8b fb                	mov    %ebx,%edi
496e78:	8b ca                	mov    %edx,%ecx
496e7a:	33 c0                	xor    %eax,%eax
496e7c:	8d 1c 93             	lea    (%ebx,%edx,4),%ebx
496e7f:	f3 ab                	rep stos %eax,%es:(%edi)
496e81:	89 9e c0 00 00 00    	mov    %ebx,0xc0(%esi)
496e87:	8b de                	mov    %esi,%ebx
496e89:	8b 45 e8             	mov    -0x18(%ebp),%eax
496e8c:	81 c3 8c 00 00 00    	add    $0x8c,%ebx
496e92:	8b 70 f0             	mov    -0x10(%eax),%esi
496e95:	b8 ab aa aa 2a       	mov    $0x2aaaaaab,%eax
496e9a:	8b 7b 04             	mov    0x4(%ebx),%edi
496e9d:	8b cf                	mov    %edi,%ecx
496e9f:	2b 0b                	sub    (%ebx),%ecx
496ea1:	f7 e9                	imul   %ecx
496ea3:	d1 fa                	sar    $1,%edx
496ea5:	8b c2                	mov    %edx,%eax
496ea7:	c1 e8 1f             	shr    $0x1f,%eax
496eaa:	03 c2                	add    %edx,%eax
496eac:	89 45 e4             	mov    %eax,-0x1c(%ebp)
496eaf:	3b f0                	cmp    %eax,%esi
496eb1:	73 15                	jae    0x496ec8
496eb3:	8b 13                	mov    (%ebx),%edx
496eb5:	8d 04 76             	lea    (%esi,%esi,2),%eax
496eb8:	53                   	push   %ebx
496eb9:	57                   	push   %edi
496eba:	8d 34 82             	lea    (%edx,%eax,4),%esi
496ebd:	56                   	push   %esi
496ebe:	e8 6d 1c fe ff       	call   0x478b30
496ec3:	89 73 04             	mov    %esi,0x4(%ebx)
496ec6:	eb 5f                	jmp    0x496f27
496ec8:	76 60                	jbe    0x496f2a
496eca:	8b 4b 08             	mov    0x8(%ebx),%ecx
496ecd:	b8 ab aa aa 2a       	mov    $0x2aaaaaab,%eax
496ed2:	2b 0b                	sub    (%ebx),%ecx
496ed4:	f7 e9                	imul   %ecx
496ed6:	d1 fa                	sar    $1,%edx
496ed8:	8b c2                	mov    %edx,%eax
496eda:	c1 e8 1f             	shr    $0x1f,%eax
496edd:	03 c2                	add    %edx,%eax
496edf:	3b f0                	cmp    %eax,%esi
496ee1:	76 0e                	jbe    0x496ef1
496ee3:	8d 45 f3             	lea    -0xd(%ebp),%eax
496ee6:	8b cb                	mov    %ebx,%ecx
496ee8:	50                   	push   %eax
496ee9:	56                   	push   %esi
496eea:	e8 71 35 fe ff       	call   0x47a460
496eef:	eb 39                	jmp    0x496f2a
496ef1:	2b 75 e4             	sub    -0x1c(%ebp),%esi
496ef4:	74 26                	je     0x496f1c
496ef6:	66 66 0f 1f 84 00 00 	data16 nopw 0x0(%eax,%eax,1)
496efd:	00 00 00
496f00:	c7 07 00 00 00 00    	movl   $0x0,(%edi)
496f06:	c7 47 04 00 00 00 00 	movl   $0x0,0x4(%edi)
496f0d:	c7 47 08 00 00 00 00 	movl   $0x0,0x8(%edi)
496f14:	83 c7 0c             	add    $0xc,%edi
496f17:	83 ee 01             	sub    $0x1,%esi
496f1a:	75 e4                	jne    0x496f00
496f1c:	53                   	push   %ebx
496f1d:	57                   	push   %edi
496f1e:	57                   	push   %edi
496f1f:	e8 0c 1c fe ff       	call   0x478b30
496f24:	89 7b 04             	mov    %edi,0x4(%ebx)
496f27:	83 c4 0c             	add    $0xc,%esp
496f2a:	8b 45 ec             	mov    -0x14(%ebp),%eax
496f2d:	83 80 14 01 00 00 e0 	addl   $0xffffffe0,0x114(%eax)
496f34:	8b 4d f4             	mov    -0xc(%ebp),%ecx
496f37:	64 89 0d 00 00 00 00 	mov    %ecx,%fs:0x0
496f3e:	59                   	pop    %ecx
496f3f:	5f                   	pop    %edi
496f40:	5e                   	pop    %esi
496f41:	5b                   	pop    %ebx
496f42:	8b e5                	mov    %ebp,%esp
496f44:	5d                   	pop    %ebp
496f45:	c3                   	ret
496f46:	cc                   	int3
496f47:	cc                   	int3
496f48:	cc                   	int3
496f49:	cc                   	int3
496f4a:	cc                   	int3
496f4b:	cc                   	int3
496f4c:	cc                   	int3
496f4d:	cc                   	int3
496f4e:	cc                   	int3
496f4f:	cc                   	int3
496f50:	55                   	push   %ebp
496f51:	8b ec                	mov    %esp,%ebp
496f53:	6a ff                	push   $0xffffffff
496f55:	68 80 c7 5f 00       	push   $0x5fc780
496f5a:	64 a1 00 00 00 00    	mov    %fs:0x0,%eax
496f60:	50                   	push   %eax
496f61:	83 ec 54             	sub    $0x54,%esp
496f64:	a1 c0 14 69 00       	mov    0x6914c0,%eax
496f69:	33 c5                	xor    %ebp,%eax
496f6b:	89 45 f0             	mov    %eax,-0x10(%ebp)
496f6e:	53                   	push   %ebx
496f6f:	56                   	push   %esi
496f70:	50                   	push   %eax
496f71:	8d 45 f4             	lea    -0xc(%ebp),%eax
496f74:	64 a3 00 00 00 00    	mov    %eax,%fs:0x0
496f7a:	8b f1                	mov    %ecx,%esi
496f7c:	33 db                	xor    %ebx,%ebx
496f7e:	89 5d a0             	mov    %ebx,-0x60(%ebp)
496f81:	39 5e 04             	cmp    %ebx,0x4(%esi)
496f84:	74 34                	je     0x496fba
496f86:	68 03 1d 00 00       	push   $0x1d03
496f8b:	68 d8 7d 60 00       	push   $0x607dd8
496f90:	6a 03                	push   $0x3
496f92:	8d 4d cc             	lea    -0x34(%ebp),%ecx
496f95:	e8 46 e3 fd ff       	call   0x4752e0
496f9a:	89 5d fc             	mov    %ebx,-0x4(%ebp)
496f9d:	8b c8                	mov    %eax,%ecx
496f9f:	bb 01 00 00 00       	mov    $0x1,%ebx
496fa4:	68 88 a4 60 00       	push   $0x60a488
496fa9:	89 5d a0             	mov    %ebx,-0x60(%ebp)
496fac:	e8 3f e9 fd ff       	call   0x4758f0
496fb1:	50                   	push   %eax
496fb2:	8d 4d a7             	lea    -0x59(%ebp),%ecx
496fb5:	e8 c6 e6 fd ff       	call   0x475680
496fba:	c7 45 fc ff ff ff ff 	movl   $0xffffffff,-0x4(%ebp)
496fc1:	f6 c3 01             	test   $0x1,%bl
496fc4:	74 0b                	je     0x496fd1
496fc6:	8d 4d cc             	lea    -0x34(%ebp),%ecx
496fc9:	83 e3 fe             	and    $0xfffffffe,%ebx
496fcc:	e8 3f e6 fd ff       	call   0x475610
496fd1:	83 7e 08 00          	cmpl   $0x0,0x8(%esi)
496fd5:	74 36                	je     0x49700d
496fd7:	68 04 1d 00 00       	push   $0x1d04
496fdc:	68 d8 7d 60 00       	push   $0x607dd8
496fe1:	6a 03                	push   $0x3
496fe3:	8d 4d cc             	lea    -0x34(%ebp),%ecx
496fe6:	e8 f5 e2 fd ff       	call   0x4752e0
496feb:	83 cb 02             	or     $0x2,%ebx
496fee:	c7 45 fc 01 00 00 00 	movl   $0x1,-0x4(%ebp)
496ff5:	68 a0 a4 60 00       	push   $0x60a4a0
496ffa:	8b c8                	mov    %eax,%ecx
496ffc:	89 5d a0             	mov    %ebx,-0x60(%ebp)
496fff:	e8 ec e8 fd ff       	call   0x4758f0
497004:	50                   	push   %eax
497005:	8d 4d a7             	lea    -0x59(%ebp),%ecx
497008:	e8 73 e6 fd ff       	call   0x475680
49700d:	c7 45 fc ff ff ff ff 	movl   $0xffffffff,-0x4(%ebp)
497014:	f6 c3 02             	test   $0x2,%bl
497017:	74 0b                	je     0x497024
497019:	8d 4d cc             	lea    -0x34(%ebp),%ecx
49701c:	83 e3 fd             	and    $0xfffffffd,%ebx
49701f:	e8 ec e5 fd ff       	call   0x475610
497024:	83 7e 0c 00          	cmpl   $0x0,0xc(%esi)
497028:	74 36                	je     0x497060
49702a:	68 05 1d 00 00       	push   $0x1d05
49702f:	68 d8 7d 60 00       	push   $0x607dd8
497034:	6a 03                	push   $0x3
497036:	8d 4d a8             	lea    -0x58(%ebp),%ecx
497039:	e8 a2 e2 fd ff       	call   0x4752e0
49703e:	83 cb 04             	or     $0x4,%ebx
497041:	c7 45 fc 02 00 00 00 	movl   $0x2,-0x4(%ebp)
497048:	68 b8 a4 60 00       	push   $0x60a4b8
49704d:	8b c8                	mov    %eax,%ecx
49704f:	89 5d a0             	mov    %ebx,-0x60(%ebp)
497052:	e8 99 e8 fd ff       	call   0x4758f0
497057:	50                   	push   %eax
497058:	8d 4d a6             	lea    -0x5a(%ebp),%ecx
49705b:	e8 20 e6 fd ff       	call   0x475680
497060:	f6 c3 04             	test   $0x4,%bl
497063:	74 08                	je     0x49706d
497065:	8d 4d a8             	lea    -0x58(%ebp),%ecx
497068:	e8 a3 e5 fd ff       	call   0x475610
49706d:	8b 45 08             	mov    0x8(%ebp),%eax
497070:	89 06                	mov    %eax,(%esi)
497072:	8b 4d f4             	mov    -0xc(%ebp),%ecx
497075:	64 89 0d 00 00 00 00 	mov    %ecx,%fs:0x0
49707c:	59                   	pop    %ecx
49707d:	5e                   	pop    %esi
49707e:	5b                   	pop    %ebx
49707f:	8b 4d f0             	mov    -0x10(%ebp),%ecx
497082:	33 cd                	xor    %ebp,%ecx
497084:	e8 9d a9 13 00       	call   0x5d1a26
497089:	8b e5                	mov    %ebp,%esp
49708b:	5d                   	pop    %ebp
49708c:	c2 04 00             	ret    $0x4
49708f:	cc                   	int3
497090:	55                   	push   %ebp
497091:	8b ec                	mov    %esp,%ebp
497093:	6a ff                	push   $0xffffffff
497095:	68 c7 c8 5f 00       	push   $0x5fc8c7
49709a:	64 a1 00 00 00 00    	mov    %fs:0x0,%eax
4970a0:	50                   	push   %eax
4970a1:	81 ec 24 02 00 00    	sub    $0x224,%esp
4970a7:	a1 c0 14 69 00       	mov    0x6914c0,%eax
4970ac:	33 c5                	xor    %ebp,%eax
4970ae:	89 45 f0             	mov    %eax,-0x10(%ebp)
4970b1:	56                   	push   %esi
4970b2:	57                   	push   %edi
4970b3:	50                   	push   %eax
4970b4:	8d 45 f4             	lea    -0xc(%ebp),%eax
4970b7:	64 a3 00 00 00 00    	mov    %eax,%fs:0x0
4970bd:	8b f9                	mov    %ecx,%edi
4970bf:	89 bd f8 fd ff ff    	mov    %edi,-0x208(%ebp)
4970c5:	8b 45 0c             	mov    0xc(%ebp),%eax
4970c8:	8b 75 08             	mov    0x8(%ebp),%esi
4970cb:	89 85 f4 fd ff ff    	mov    %eax,-0x20c(%ebp)
4970d1:	33 c0                	xor    %eax,%eax
4970d3:	89 85 00 fe ff ff    	mov    %eax,-0x200(%ebp)
4970d9:	89 85 fc fd ff ff    	mov    %eax,-0x204(%ebp)
4970df:	8b 47 08             	mov    0x8(%edi),%eax
4970e2:	8b 40 08             	mov    0x8(%eax),%eax
4970e5:	c1 e8 02             	shr    $0x2,%eax
4970e8:	24 01                	and    $0x1,%al
4970ea:	0f 85 48 03 00 00    	jne    0x497438
4970f0:	8b 4e 04             	mov    0x4(%esi),%ecx
4970f3:	b8 ff ff ff 7f       	mov    $0x7fffffff,%eax
4970f8:	8b 51 10             	mov    0x10(%ecx),%edx
4970fb:	2b c2                	sub    %edx,%eax
4970fd:	83 f8 08             	cmp    $0x8,%eax
497100:	0f 82 a0 09 00 00    	jb     0x497aa6
497106:	83 79 14 10          	cmpl   $0x10,0x14(%ecx)
49710a:	8b c1                	mov    %ecx,%eax
49710c:	72 02                	jb     0x497110
49710e:	8b 01                	mov    (%ecx),%eax
497110:	52                   	push   %edx
497111:	50                   	push   %eax
497112:	6a 08                	push   $0x8
497114:	68 30 9d 60 00       	push   $0x609d30
497119:	51                   	push   %ecx
49711a:	ff b5 f4 fd ff ff    	push   -0x20c(%ebp)
497120:	8d 8d 2c ff ff ff    	lea    -0xd4(%ebp),%ecx
497126:	e8 55 4a fe ff       	call   0x47bb80
49712b:	6a 3c                	push   $0x3c
49712d:	68 40 a2 60 00       	push   $0x60a240
497132:	8d 8d 2c ff ff ff    	lea    -0xd4(%ebp),%ecx
497138:	c7 45 fc 00 00 00 00 	movl   $0x0,-0x4(%ebp)
49713f:	e8 3c 1d fc ff       	call   0x458e80
497144:	c7 45 d8 00 00 00 00 	movl   $0x0,-0x28(%ebp)
49714b:	c7 45 e8 00 00 00 00 	movl   $0x0,-0x18(%ebp)
497152:	c7 45 ec 00 00 00 00 	movl   $0x0,-0x14(%ebp)
497159:	0f 10 00             	movups (%eax),%xmm0
49715c:	0f 11 45 d8          	movups %xmm0,-0x28(%ebp)
497160:	f3 0f 7e 40 10       	movq   0x10(%eax),%xmm0
497165:	66 0f d6 45 e8       	movq   %xmm0,-0x18(%ebp)
49716a:	c7 40 10 00 00 00 00 	movl   $0x0,0x10(%eax)
497171:	c7 40 14 0f 00 00 00 	movl   $0xf,0x14(%eax)
497178:	c6 00 00             	movb   $0x0,(%eax)
49717b:	ff 36                	push   (%esi)
49717d:	8d 45 d8             	lea    -0x28(%ebp),%eax
497180:	c6 45 fc 01          	movb   $0x1,-0x4(%ebp)
497184:	50                   	push   %eax
497185:	8d 85 e0 fe ff ff    	lea    -0x120(%ebp),%eax
49718b:	50                   	push   %eax
49718c:	e8 6f ed fd ff       	call   0x475f00
497191:	83 c4 0c             	add    $0xc,%esp
497194:	6a 47                	push   $0x47
497196:	68 f8 a1 60 00       	push   $0x60a1f8
49719b:	8b c8                	mov    %eax,%ecx
49719d:	c6 45 fc 02          	movb   $0x2,-0x4(%ebp)
4971a1:	e8 da 1c fc ff       	call   0x458e80
4971a6:	c7 45 c0 00 00 00 00 	movl   $0x0,-0x40(%ebp)
4971ad:	c7 45 d0 00 00 00 00 	movl   $0x0,-0x30(%ebp)
4971b4:	c7 45 d4 00 00 00 00 	movl   $0x0,-0x2c(%ebp)
4971bb:	0f 10 00             	movups (%eax),%xmm0
4971be:	0f 11 45 c0          	movups %xmm0,-0x40(%ebp)
4971c2:	f3 0f 7e 40 10       	movq   0x10(%eax),%xmm0
4971c7:	66 0f d6 45 d0       	movq   %xmm0,-0x30(%ebp)
4971cc:	c7 40 10 00 00 00 00 	movl   $0x0,0x10(%eax)
4971d3:	c7 40 14 0f 00 00 00 	movl   $0xf,0x14(%eax)
4971da:	c6 00 00             	movb   $0x0,(%eax)
4971dd:	ff 36                	push   (%esi)
4971df:	8d 45 c0             	lea    -0x40(%ebp),%eax
4971e2:	c6 45 fc 03          	movb   $0x3,-0x4(%ebp)
4971e6:	50                   	push   %eax
4971e7:	8d 85 08 ff ff ff    	lea    -0xf8(%ebp),%eax
4971ed:	50                   	push   %eax
4971ee:	e8 0d ed fd ff       	call   0x475f00
4971f3:	83 c4 0c             	add    $0xc,%esp
4971f6:	6a 0e                	push   $0xe
4971f8:	68 e8 a1 60 00       	push   $0x60a1e8
4971fd:	8b c8                	mov    %eax,%ecx
4971ff:	c6 45 fc 04          	movb   $0x4,-0x4(%ebp)
497203:	e8 78 1c fc ff       	call   0x458e80