586e18:	0f 82 3d 01 00 00    	jb     0x586f5b
586e1e:	83 3d 58 6b 71 00 02 	cmpl   $0x2,0x716b58
586e25:	0f 8c 30 01 00 00    	jl     0x586f5b
586e2b:	0f 28 1d a0 20 61 00 	movaps 0x6120a0,%xmm3
586e32:	25 07 00 00 80       	and    $0x80000007,%eax
586e37:	79 05                	jns    0x586e3e
586e39:	48                   	dec    %eax
586e3a:	83 c8 f8             	or     $0xfffffff8,%eax
586e3d:	40                   	inc    %eax
586e3e:	0f 28 15 b0 47 66 00 	movaps 0x6647b0,%xmm2
586e45:	8b ca                	mov    %edx,%ecx
586e47:	0f 28 64 24 10       	movaps 0x10(%esp),%xmm4
586e4c:	2b c8                	sub    %eax,%ecx
586e4e:	89 4c 24 0c          	mov    %ecx,0xc(%esp)
586e52:	8d 4e 38             	lea    0x38(%esi),%ecx
586e55:	8b 74 24 0c          	mov    0xc(%esp),%esi
586e59:	0f 1f 80 00 00 00 00 	nopl   0x0(%eax)
586e60:	66 0f 6e c7          	movd   %edi,%xmm0
586e64:	8d 47 04             	lea    0x4(%edi),%eax
586e67:	66 0f 70 c8 00       	pshufd $0x0,%xmm0,%xmm1
586e6c:	8d 89 a0 00 00 00    	lea    0xa0(%ecx),%ecx
586e72:	66 0f fe cb          	paddd  %xmm3,%xmm1
586e76:	83 c7 08             	add    $0x8,%edi
586e79:	66 0f 38 40 ca       	pmulld %xmm2,%xmm1
586e7e:	66 0f fe cc          	paddd  %xmm4,%xmm1
586e82:	0f 28 c1             	movaps %xmm1,%xmm0
586e85:	66 0f fe ca          	paddd  %xmm2,%xmm1
586e89:	66 0f 7e 89 48 ff ff 	movd   %xmm1,-0xb8(%ecx)
586e90:	ff
586e91:	66 0f fa c2          	psubd  %xmm2,%xmm0
586e95:	66 0f 7e 81 4c ff ff 	movd   %xmm0,-0xb4(%ecx)
586e9c:	ff
586e9d:	66 0f 73 d8 04       	psrldq $0x4,%xmm0
586ea2:	66 0f 73 d9 04       	psrldq $0x4,%xmm1
586ea7:	66 0f 7e 81 60 ff ff 	movd   %xmm0,-0xa0(%ecx)
586eae:	ff
586eaf:	66 0f 7e 89 5c ff ff 	movd   %xmm1,-0xa4(%ecx)
586eb6:	ff
586eb7:	66 0f 73 d8 04       	psrldq $0x4,%xmm0
586ebc:	66 0f 73 d9 04       	psrldq $0x4,%xmm1
586ec1:	66 0f 7e 81 74 ff ff 	movd   %xmm0,-0x8c(%ecx)
586ec8:	ff
586ec9:	66 0f 7e 89 70 ff ff 	movd   %xmm1,-0x90(%ecx)
586ed0:	ff
586ed1:	66 0f 73 d8 04       	psrldq $0x4,%xmm0
586ed6:	66 0f 73 d9 04       	psrldq $0x4,%xmm1
586edb:	66 0f 7e 41 88       	movd   %xmm0,-0x78(%ecx)
586ee0:	66 0f 7e 49 84       	movd   %xmm1,-0x7c(%ecx)
586ee5:	66 0f 6e c0          	movd   %eax,%xmm0
586ee9:	66 0f 70 c8 00       	pshufd $0x0,%xmm0,%xmm1
586eee:	66 0f fe cb          	paddd  %xmm3,%xmm1
586ef2:	66 0f 38 40 ca       	pmulld %xmm2,%xmm1
586ef7:	66 0f fe cc          	paddd  %xmm4,%xmm1
586efb:	0f 28 c1             	movaps %xmm1,%xmm0
586efe:	66 0f fe ca          	paddd  %xmm2,%xmm1
586f02:	66 0f 7e 49 98       	movd   %xmm1,-0x68(%ecx)
586f07:	66 0f fa c2          	psubd  %xmm2,%xmm0
586f0b:	66 0f 7e 41 9c       	movd   %xmm0,-0x64(%ecx)
586f10:	66 0f 73 d8 04       	psrldq $0x4,%xmm0
586f15:	66 0f 73 d9 04       	psrldq $0x4,%xmm1
586f1a:	66 0f 7e 41 b0       	movd   %xmm0,-0x50(%ecx)
586f1f:	66 0f 7e 49 ac       	movd   %xmm1,-0x54(%ecx)
586f24:	66 0f 73 d8 04       	psrldq $0x4,%xmm0
586f29:	66 0f 73 d9 04       	psrldq $0x4,%xmm1
586f2e:	66 0f 7e 41 c4       	movd   %xmm0,-0x3c(%ecx)
586f33:	66 0f 7e 49 c0       	movd   %xmm1,-0x40(%ecx)
586f38:	66 0f 73 d8 04       	psrldq $0x4,%xmm0
586f3d:	66 0f 73 d9 04       	psrldq $0x4,%xmm1
586f42:	66 0f 7e 41 d8       	movd   %xmm0,-0x28(%ecx)
586f47:	66 0f 7e 49 d4       	movd   %xmm1,-0x2c(%ecx)
586f4c:	3b fe                	cmp    %esi,%edi
586f4e:	0f 8c 0c ff ff ff    	jl     0x586e60
586f54:	8b 75 20             	mov    0x20(%ebp),%esi
586f57:	3b fa                	cmp    %edx,%edi
586f59:	7d 1e                	jge    0x586f79
586f5b:	8d 4f 01             	lea    0x1(%edi),%ecx
586f5e:	2b d7                	sub    %edi,%edx
586f60:	8d 0c 8f             	lea    (%edi,%ecx,4),%ecx
586f63:	8d 0c 8e             	lea    (%esi,%ecx,4),%ecx
586f66:	8d 41 dc             	lea    -0x24(%ecx),%eax
586f69:	89 01                	mov    %eax,(%ecx)
586f6b:	8d 41 04             	lea    0x4(%ecx),%eax
586f6e:	89 41 fc             	mov    %eax,-0x4(%ecx)
586f71:	8d 49 14             	lea    0x14(%ecx),%ecx
586f74:	83 ea 01             	sub    $0x1,%edx
586f77:	75 ed                	jne    0x586f66
586f79:	8d 04 9b             	lea    (%ebx,%ebx,4),%eax
586f7c:	8d 0c 86             	lea    (%esi,%eax,4),%ecx
586f7f:	8d 41 d8             	lea    -0x28(%ecx),%eax
586f82:	89 41 fc             	mov    %eax,-0x4(%ecx)
586f85:	8d 04 9b             	lea    (%ebx,%ebx,4),%eax
586f88:	8d 0c 86             	lea    (%esi,%eax,4),%ecx
586f8b:	8b 45 24             	mov    0x24(%ebp),%eax
586f8e:	c7 41 f8 00 00 00 00 	movl   $0x0,-0x8(%ecx)
586f95:	83 c1 ec             	add    $0xffffffec,%ecx
586f98:	89 30                	mov    %esi,(%eax)
586f9a:	8b 45 28             	mov    0x28(%ebp),%eax
586f9d:	89 08                	mov    %ecx,(%eax)
586f9f:	5f                   	pop    %edi
586fa0:	5e                   	pop    %esi
586fa1:	5b                   	pop    %ebx
586fa2:	8b e5                	mov    %ebp,%esp
586fa4:	5d                   	pop    %ebp
586fa5:	c3                   	ret
586fa6:	cc                   	int3
586fa7:	cc                   	int3
586fa8:	cc                   	int3
586fa9:	cc                   	int3
586faa:	cc                   	int3
586fab:	cc                   	int3
586fac:	cc                   	int3
586fad:	cc                   	int3
586fae:	cc                   	int3
586faf:	cc                   	int3
586fb0:	b8 0c 00 00 00       	mov    $0xc,%eax
586fb5:	e8 f6 a7 04 00       	call   0x5d17b0
586fba:	8b 44 24 10          	mov    0x10(%esp),%eax
586fbe:	53                   	push   %ebx
586fbf:	55                   	push   %ebp
586fc0:	56                   	push   %esi
586fc1:	8b b0 bc 01 00 00    	mov    0x1bc(%eax),%esi
586fc7:	57                   	push   %edi
586fc8:	85 f6                	test   %esi,%esi
586fca:	74 4f                	je     0x58701b
586fcc:	8b 7c 24 34          	mov    0x34(%esp),%edi
586fd0:	85 ff                	test   %edi,%edi
586fd2:	74 51                	je     0x587025
586fd4:	c7 07 00 00 00 00    	movl   $0x0,(%edi)
586fda:	8b 80 b8 01 00 00    	mov    0x1b8(%eax),%eax
586fe0:	89 44 24 10          	mov    %eax,0x10(%esp)
586fe4:	a1 50 6c 69 00       	mov    0x696c50,%eax
586fe9:	85 c0                	test   %eax,%eax
586feb:	74 1c                	je     0x587009
586fed:	8d 4c 24 10          	lea    0x10(%esp),%ecx
586ff1:	51                   	push   %ecx
586ff2:	50                   	push   %eax
586ff3:	e8 98 de f5 ff       	call   0x4e4e90
586ff8:	50                   	push   %eax
586ff9:	ff 35 50 6c 69 00    	push   0x696c50
586fff:	e8 7c e2 f5 ff       	call   0x4e5280
587004:	83 c4 10             	add    $0x10,%esp
587007:	89 07                	mov    %eax,(%edi)
587009:	8b 7c 24 24          	mov    0x24(%esp),%edi
58700d:	85 ff                	test   %edi,%edi
58700f:	75 1c                	jne    0x58702d
587011:	39 7c 24 28          	cmp    %edi,0x28(%esp)
587015:	0f 84 d1 01 00 00    	je     0x5871ec
58701b:	5f                   	pop    %edi
58701c:	5e                   	pop    %esi
58701d:	5d                   	pop    %ebp
58701e:	33 c0                	xor    %eax,%eax
587020:	5b                   	pop    %ebx
587021:	83 c4 0c             	add    $0xc,%esp
587024:	c3                   	ret
587025:	8b 7c 24 24          	mov    0x24(%esp),%edi
587029:	85 ff                	test   %edi,%edi
58702b:	74 ee                	je     0x58701b
58702d:	8b 5c 24 28          	mov    0x28(%esp),%ebx
587031:	85 db                	test   %ebx,%ebx
587033:	74 e6                	je     0x58701b
587035:	8b 56 18             	mov    0x18(%esi),%edx
587038:	b9 d8 2f 66 00       	mov    $0x662fd8,%ecx
58703d:	33 c0                	xor    %eax,%eax
58703f:	90                   	nop
587040:	39 11                	cmp    %edx,(%ecx)
587042:	74 0d                	je     0x587051
587044:	40                   	inc    %eax
587045:	83 c1 08             	add    $0x8,%ecx
587048:	83 f8 16             	cmp    $0x16,%eax
58704b:	72 f3                	jb     0x587040
58704d:	33 c0                	xor    %eax,%eax
58704f:	eb 1c                	jmp    0x58706d
587051:	83 f8 ff             	cmp    $0xffffffff,%eax
587054:	75 04                	jne    0x58705a
587056:	33 c0                	xor    %eax,%eax
587058:	eb 13                	jmp    0x58706d
58705a:	83 f8 05             	cmp    $0x5,%eax
58705d:	75 07                	jne    0x587066
58705f:	e8 6c ed 06 00       	call   0x5f5dd0
587064:	eb 07                	jmp    0x58706d
587066:	8b 04 85 f8 6b 69 00 	mov    0x696bf8(,%eax,4),%eax
58706d:	89 07                	mov    %eax,(%edi)
58706f:	33 c9                	xor    %ecx,%ecx
587071:	8b 56 1c             	mov    0x1c(%esi),%edx
587074:	b8 88 30 66 00       	mov    $0x663088,%eax
587079:	0f 1f 80 00 00 00 00 	nopl   0x0(%eax)
587080:	39 10                	cmp    %edx,(%eax)
587082:	74 0b                	je     0x58708f
587084:	41                   	inc    %ecx
587085:	83 c0 08             	add    $0x8,%eax
587088:	83 f9 0c             	cmp    $0xc,%ecx
58708b:	72 f3                	jb     0x587080
58708d:	eb 05                	jmp    0x587094
58708f:	83 f9 ff             	cmp    $0xffffffff,%ecx
587092:	75 2d                	jne    0x5870c1
587094:	8b 44 24 2c          	mov    0x2c(%esp),%eax
587098:	c7 03 00 00 00 00    	movl   $0x0,(%ebx)
58709e:	85 c0                	test   %eax,%eax
5870a0:	74 06                	je     0x5870a8
5870a2:	c7 00 00 00 00 00    	movl   $0x0,(%eax)
5870a8:	8b 4c 24 30          	mov    0x30(%esp),%ecx
5870ac:	85 c9                	test   %ecx,%ecx
5870ae:	74 06                	je     0x5870b6
5870b0:	c7 01 00 00 00 00    	movl   $0x0,(%ecx)
5870b6:	33 ed                	xor    %ebp,%ebp
5870b8:	83 7e 1c 40          	cmpl   $0x40,0x1c(%esi)
5870bc:	0f 45 e8             	cmovne %eax,%ebp
5870bf:	eb 2c                	jmp    0x5870ed
5870c1:	8b 6c 24 2c          	mov    0x2c(%esp),%ebp
5870c5:	8b 04 8d 54 6c 69 00 	mov    0x696c54(,%ecx,4),%eax
5870cc:	89 03                	mov    %eax,(%ebx)
5870ce:	85 ed                	test   %ebp,%ebp
5870d0:	74 0a                	je     0x5870dc
5870d2:	8b 04 8d 38 e8 68 00 	mov    0x68e838(,%ecx,4),%eax
5870d9:	89 45 00             	mov    %eax,0x0(%ebp)
5870dc:	8b 54 24 30          	mov    0x30(%esp),%edx
5870e0:	85 d2                	test   %edx,%edx
5870e2:	74 09                	je     0x5870ed
5870e4:	8b 04 8d 84 6c 69 00 	mov    0x696c84(,%ecx,4),%eax
5870eb:	89 02                	mov    %eax,(%edx)
5870ed:	8b 07                	mov    (%edi),%eax
5870ef:	85 c0                	test   %eax,%eax
5870f1:	0f 84 24 ff ff ff    	je     0x58701b
5870f7:	83 3b 00             	cmpl   $0x0,(%ebx)
5870fa:	75 14                	jne    0x587110
5870fc:	50                   	push   %eax
5870fd:	e8 ae 91 f6 ff       	call   0x4f02b0
587102:	83 c4 04             	add    $0x4,%esp
587105:	a9 00 00 20 00       	test   $0x200000,%eax
58710a:	0f 84 0b ff ff ff    	je     0x58701b
587110:	85 ed                	test   %ebp,%ebp
587112:	74 0a                	je     0x58711e
587114:	83 7d 00 00          	cmpl   $0x0,0x0(%ebp)
587118:	0f 84 fd fe ff ff    	je     0x58701b
58711e:	83 7c 24 38 00       	cmpl   $0x0,0x38(%esp)
587123:	0f 85 c3 00 00 00    	jne    0x5871ec
587129:	8b 4c 24 20          	mov    0x20(%esp),%ecx
58712d:	8b 09                	mov    (%ecx),%ecx
58712f:	8b c1                	mov    %ecx,%eax
587131:	25 00 ff ff ff       	and    $0xffffff00,%eax
587136:	3d 00 03 00 00       	cmp    $0x300,%eax
58713b:	0f 85 ab 00 00 00    	jne    0x5871ec
587141:	81 f9 01 03 00 00    	cmp    $0x301,%ecx
587147:	0f 8c 9f 00 00 00    	jl     0x5871ec
58714d:	83 7e 18 04          	cmpl   $0x4,0x18(%esi)
587151:	75 17                	jne    0x58716a
587153:	83 7e 1c 01          	cmpl   $0x1,0x1c(%esi)
587157:	75 11                	jne    0x58716a
587159:	68 84 71 62 00       	push   $0x627184
58715e:	e8 5d 98 f6 ff       	call   0x4f09c0
587163:	83 c4 04             	add    $0x4,%esp
587166:	85 c0                	test   %eax,%eax
587168:	75 7a                	jne    0x5871e4
58716a:	83 7e 18 40          	cmpl   $0x40,0x18(%esi)
58716e:	75 17                	jne    0x587187
587170:	83 7e 1c 02          	cmpl   $0x2,0x1c(%esi)
587174:	75 11                	jne    0x587187
587176:	68 a4 71 62 00       	push   $0x6271a4
58717b:	e8 40 98 f6 ff       	call   0x4f09c0
587180:	83 c4 04             	add    $0x4,%esp
587183:	85 c0                	test   %eax,%eax
587185:	75 5d                	jne    0x5871e4
587187:	81 7e 18 80 00 00 00 	cmpl   $0x80,0x18(%esi)
58718e:	75 17                	jne    0x5871a7
587190:	83 7e 1c 02          	cmpl   $0x2,0x1c(%esi)
587194:	75 11                	jne    0x5871a7
587196:	68 04 72 62 00       	push   $0x627204
58719b:	e8 20 98 f6 ff       	call   0x4f09c0
5871a0:	83 c4 04             	add    $0x4,%esp
5871a3:	85 c0                	test   %eax,%eax
5871a5:	75 3d                	jne    0x5871e4
5871a7:	83 7e 18 40          	cmpl   $0x40,0x18(%esi)
5871ab:	75 17                	jne    0x5871c4
5871ad:	83 7e 1c 10          	cmpl   $0x10,0x1c(%esi)
5871b1:	75 11                	jne    0x5871c4
5871b3:	68 08 75 62 00       	push   $0x627508
5871b8:	e8 03 98 f6 ff       	call   0x4f09c0
5871bd:	83 c4 04             	add    $0x4,%esp
5871c0:	85 c0                	test   %eax,%eax
5871c2:	75 20                	jne    0x5871e4
5871c4:	81 7e 18 80 00 00 00 	cmpl   $0x80,0x18(%esi)
5871cb:	75 1f                	jne    0x5871ec
5871cd:	83 7e 1c 10          	cmpl   $0x10,0x1c(%esi)
5871d1:	75 19                	jne    0x5871ec
5871d3:	68 68 75 62 00       	push   $0x627568
5871d8:	e8 e3 97 f6 ff       	call   0x4f09c0
5871dd:	83 c4 04             	add    $0x4,%esp
5871e0:	85 c0                	test   %eax,%eax
5871e2:	74 08                	je     0x5871ec
5871e4:	89 07                	mov    %eax,(%edi)
5871e6:	c7 03 00 00 00 00    	movl   $0x0,(%ebx)
5871ec:	5f                   	pop    %edi
5871ed:	5e                   	pop    %esi
5871ee:	5d                   	pop    %ebp
5871ef:	b8 01 00 00 00       	mov    $0x1,%eax
5871f4:	5b                   	pop    %ebx
5871f5:	83 c4 0c             	add    $0xc,%esp
5871f8:	c3                   	ret
5871f9:	cc                   	int3
5871fa:	cc                   	int3
5871fb:	cc                   	int3
5871fc:	cc                   	int3
5871fd:	cc                   	int3
5871fe:	cc                   	int3
5871ff:	cc                   	int3
587200:	b8 28 00 00 00       	mov    $0x28,%eax
587205:	e8 a6 a5 04 00       	call   0x5d17b0
58720a:	53                   	push   %ebx
58720b:	56                   	push   %esi
58720c:	8b 74 24 34          	mov    0x34(%esp),%esi
587210:	33 c0                	xor    %eax,%eax
587212:	89 44 24 10          	mov    %eax,0x10(%esp)
587216:	bb 01 00 00 00       	mov    $0x1,%ebx
58721b:	89 5c 24 08          	mov    %ebx,0x8(%esp)
58721f:	8a 06                	mov    (%esi),%al
587221:	84 c0                	test   %al,%al
587223:	0f 84 f0 03 00 00    	je     0x587619
587229:	55                   	push   %ebp
58722a:	57                   	push   %edi
58722b:	0f 1f 44 00 00       	nopl   0x0(%eax,%eax,1)
587230:	3c 2d                	cmp    $0x2d,%al
587232:	75 0c                	jne    0x587240
587234:	b8 03 00 00 00       	mov    $0x3,%eax
587239:	46                   	inc    %esi
58723a:	89 44 24 14          	mov    %eax,0x14(%esp)
58723e:	eb 5c                	jmp    0x58729c
587240:	3c 2b                	cmp    $0x2b,%al
587242:	75 0c                	jne    0x587250
587244:	b8 04 00 00 00       	mov    $0x4,%eax
587249:	46                   	inc    %esi
58724a:	89 44 24 14          	mov    %eax,0x14(%esp)
58724e:	eb 4c                	jmp    0x58729c
587250:	3c 21                	cmp    $0x21,%al
587252:	75 0c                	jne    0x587260
587254:	b8 02 00 00 00       	mov    $0x2,%eax
587259:	46                   	inc    %esi
58725a:	89 44 24 14          	mov    %eax,0x14(%esp)
58725e:	eb 3c                	jmp    0x58729c
587260:	3c 40                	cmp    $0x40,%al
587262:	75 0c                	jne    0x587270
587264:	b8 05 00 00 00       	mov    $0x5,%eax
587269:	46                   	inc    %esi
58726a:	89 44 24 14          	mov    %eax,0x14(%esp)
58726e:	eb 2c                	jmp    0x58729c
587270:	c7 44 24 14 01 00 00 	movl   $0x1,0x14(%esp)
587277:	00
587278:	3c 3a                	cmp    $0x3a,%al
58727a:	0f 84 83 03 00 00    	je     0x587603
587280:	3c 20                	cmp    $0x20,%al
587282:	0f 84 7b 03 00 00    	je     0x587603