454ee4:	2b c2                	sub    %edx,%eax
454ee6:	3b c8                	cmp    %eax,%ecx
454ee8:	76 04                	jbe    0x454eee
454eea:	8b c6                	mov    %esi,%eax
454eec:	eb 08                	jmp    0x454ef6
454eee:	8d 04 0a             	lea    (%edx,%ecx,1),%eax
454ef1:	3b c6                	cmp    %esi,%eax
454ef3:	0f 42 c6             	cmovb  %esi,%eax
454ef6:	3d c3 c3 c3 03       	cmp    $0x3c3c3c3,%eax
454efb:	0f 87 66 01 00 00    	ja     0x455067
454f01:	8b f0                	mov    %eax,%esi
454f03:	c1 e6 04             	shl    $0x4,%esi
454f06:	03 f0                	add    %eax,%esi
454f08:	c1 e6 02             	shl    $0x2,%esi
454f0b:	81 fe 00 10 00 00    	cmp    $0x1000,%esi
454f11:	72 27                	jb     0x454f3a
454f13:	8d 46 23             	lea    0x23(%esi),%eax
454f16:	3b c6                	cmp    %esi,%eax
454f18:	0f 86 49 01 00 00    	jbe    0x455067
454f1e:	50                   	push   %eax
454f1f:	e8 1e c1 18 00       	call   0x5e1042
454f24:	83 c4 04             	add    $0x4,%esp
454f27:	85 c0                	test   %eax,%eax
454f29:	0f 84 42 01 00 00    	je     0x455071
454f2f:	8d 78 23             	lea    0x23(%eax),%edi
454f32:	83 e7 e0             	and    $0xffffffe0,%edi
454f35:	89 47 fc             	mov    %eax,-0x4(%edi)
454f38:	eb 13                	jmp    0x454f4d
454f3a:	85 f6                	test   %esi,%esi
454f3c:	74 0d                	je     0x454f4b
454f3e:	56                   	push   %esi
454f3f:	e8 fe c0 18 00       	call   0x5e1042
454f44:	83 c4 04             	add    $0x4,%esp
454f47:	8b f8                	mov    %eax,%edi
454f49:	eb 02                	jmp    0x454f4d
454f4b:	33 ff                	xor    %edi,%edi
454f4d:	8b 45 fc             	mov    -0x4(%ebp),%eax
454f50:	c1 e0 04             	shl    $0x4,%eax
454f53:	03 45 fc             	add    -0x4(%ebp),%eax
454f56:	8d 0c 87             	lea    (%edi,%eax,4),%ecx
454f59:	8b 55 f4             	mov    -0xc(%ebp),%edx
454f5c:	8b 45 0c             	mov    0xc(%ebp),%eax
454f5f:	89 4d fc             	mov    %ecx,-0x4(%ebp)
454f62:	0f 10 00             	movups (%eax),%xmm0
454f65:	0f 11 01             	movups %xmm0,(%ecx)
454f68:	0f 10 40 10          	movups 0x10(%eax),%xmm0
454f6c:	0f 11 41 10          	movups %xmm0,0x10(%ecx)
454f70:	0f 10 40 20          	movups 0x20(%eax),%xmm0
454f74:	0f 11 41 20          	movups %xmm0,0x20(%ecx)
454f78:	0f 10 40 30          	movups 0x30(%eax),%xmm0
454f7c:	0f 11 41 30          	movups %xmm0,0x30(%ecx)
454f80:	8b 40 40             	mov    0x40(%eax),%eax
454f83:	89 41 40             	mov    %eax,0x40(%ecx)
454f86:	8b 43 04             	mov    0x4(%ebx),%eax
454f89:	8b 0b                	mov    (%ebx),%ecx
454f8b:	3b d0                	cmp    %eax,%edx
454f8d:	75 45                	jne    0x454fd4
454f8f:	8b d7                	mov    %edi,%edx
454f91:	3b c8                	cmp    %eax,%ecx
454f93:	74 5d                	je     0x454ff2
454f95:	8b d8                	mov    %eax,%ebx
454f97:	66 0f 1f 84 00 00 00 	nopw   0x0(%eax,%eax,1)
454f9e:	00 00
454fa0:	0f 10 01             	movups (%ecx),%xmm0
454fa3:	8d 52 44             	lea    0x44(%edx),%edx
454fa6:	0f 11 42 bc          	movups %xmm0,-0x44(%edx)
454faa:	0f 10 41 10          	movups 0x10(%ecx),%xmm0
454fae:	0f 11 42 cc          	movups %xmm0,-0x34(%edx)
454fb2:	0f 10 41 20          	movups 0x20(%ecx),%xmm0
454fb6:	0f 11 42 dc          	movups %xmm0,-0x24(%edx)
454fba:	0f 10 41 30          	movups 0x30(%ecx),%xmm0
454fbe:	0f 11 42 ec          	movups %xmm0,-0x14(%edx)
454fc2:	8b 41 40             	mov    0x40(%ecx),%eax
454fc5:	83 c1 44             	add    $0x44,%ecx
454fc8:	89 42 fc             	mov    %eax,-0x4(%edx)
454fcb:	3b cb                	cmp    %ebx,%ecx
454fcd:	75 d1                	jne    0x454fa0
454fcf:	8b 5d f8             	mov    -0x8(%ebp),%ebx
454fd2:	eb 1e                	jmp    0x454ff2
454fd4:	57                   	push   %edi
454fd5:	52                   	push   %edx
454fd6:	51                   	push   %ecx
454fd7:	8b cb                	mov    %ebx,%ecx
454fd9:	e8 72 06 00 00       	call   0x455650
454fde:	8b 45 fc             	mov    -0x4(%ebp),%eax
454fe1:	8b cb                	mov    %ebx,%ecx
454fe3:	83 c0 44             	add    $0x44,%eax
454fe6:	50                   	push   %eax
454fe7:	ff 73 04             	push   0x4(%ebx)
454fea:	ff 75 f4             	push   -0xc(%ebp)
454fed:	e8 5e 06 00 00       	call   0x455650
454ff2:	8b 1b                	mov    (%ebx),%ebx
454ff4:	85 db                	test   %ebx,%ebx
454ff6:	74 47                	je     0x45503f
454ff8:	8b 4d f8             	mov    -0x8(%ebp),%ecx
454ffb:	b8 79 78 78 78       	mov    $0x78787879,%eax
455000:	8b 49 08             	mov    0x8(%ecx),%ecx
455003:	2b cb                	sub    %ebx,%ecx
455005:	f7 e9                	imul   %ecx
455007:	c1 fa 05             	sar    $0x5,%edx
45500a:	8b c2                	mov    %edx,%eax
45500c:	c1 e8 1f             	shr    $0x1f,%eax
45500f:	03 c2                	add    %edx,%eax
455011:	8b c8                	mov    %eax,%ecx
455013:	c1 e1 04             	shl    $0x4,%ecx
455016:	03 c8                	add    %eax,%ecx
455018:	c1 e1 02             	shl    $0x2,%ecx
45501b:	81 f9 00 10 00 00    	cmp    $0x1000,%ecx
455021:	72 12                	jb     0x455035
455023:	8b 53 fc             	mov    -0x4(%ebx),%edx
455026:	83 c1 23             	add    $0x23,%ecx
455029:	2b da                	sub    %edx,%ebx
45502b:	8d 43 fc             	lea    -0x4(%ebx),%eax
45502e:	83 f8 1f             	cmp    $0x1f,%eax
455031:	77 3e                	ja     0x455071
455033:	8b da                	mov    %edx,%ebx
455035:	51                   	push   %ecx
455036:	53                   	push   %ebx
455037:	e8 36 c0 18 00       	call   0x5e1072
45503c:	83 c4 08             	add    $0x8,%esp
45503f:	8b 55 ec             	mov    -0x14(%ebp),%edx
455042:	8b 45 f8             	mov    -0x8(%ebp),%eax
455045:	42                   	inc    %edx
455046:	8b ca                	mov    %edx,%ecx
455048:	c1 e1 04             	shl    $0x4,%ecx
45504b:	03 ca                	add    %edx,%ecx
45504d:	89 38                	mov    %edi,(%eax)
45504f:	8d 0c 8f             	lea    (%edi,%ecx,4),%ecx
455052:	89 48 04             	mov    %ecx,0x4(%eax)
455055:	8d 0c 3e             	lea    (%esi,%edi,1),%ecx
455058:	5f                   	pop    %edi
455059:	5e                   	pop    %esi
45505a:	89 48 08             	mov    %ecx,0x8(%eax)
45505d:	8b 45 fc             	mov    -0x4(%ebp),%eax
455060:	5b                   	pop    %ebx
455061:	8b e5                	mov    %ebp,%esp
455063:	5d                   	pop    %ebp
455064:	c2 08 00             	ret    $0x8
455067:	e8 74 fe fe ff       	call   0x444ee0
45506c:	e8 cf ff fe ff       	call   0x445040
455071:	e8 b9 7e 19 00       	call   0x5ecf2f
455076:	cc                   	int3
455077:	cc                   	int3
455078:	cc                   	int3
455079:	cc                   	int3
45507a:	cc                   	int3
45507b:	cc                   	int3
45507c:	cc                   	int3
45507d:	cc                   	int3
45507e:	cc                   	int3
45507f:	cc                   	int3
455080:	55                   	push   %ebp
455081:	8b ec                	mov    %esp,%ebp
455083:	8b 4d 0c             	mov    0xc(%ebp),%ecx
455086:	56                   	push   %esi
455087:	57                   	push   %edi
455088:	8b 7d 08             	mov    0x8(%ebp),%edi
45508b:	0f 1f 44 00 00       	nopl   0x0(%eax,%eax,1)
455090:	b8 cd cc cc cc       	mov    $0xcccccccd,%eax
455095:	83 ef 02             	sub    $0x2,%edi
455098:	f7 e1                	mul    %ecx
45509a:	c1 ea 03             	shr    $0x3,%edx
45509d:	8d 34 92             	lea    (%edx,%edx,4),%esi
4550a0:	03 f6                	add    %esi,%esi
4550a2:	2b ce                	sub    %esi,%ecx
4550a4:	83 c1 30             	add    $0x30,%ecx
4550a7:	66 89 0f             	mov    %cx,(%edi)
4550aa:	8b ca                	mov    %edx,%ecx
4550ac:	85 c9                	test   %ecx,%ecx
4550ae:	75 e0                	jne    0x455090
4550b0:	8b c7                	mov    %edi,%eax
4550b2:	5f                   	pop    %edi
4550b3:	5e                   	pop    %esi
4550b4:	5d                   	pop    %ebp
4550b5:	c3                   	ret
4550b6:	cc                   	int3
4550b7:	cc                   	int3
4550b8:	cc                   	int3
4550b9:	cc                   	int3
4550ba:	cc                   	int3
4550bb:	cc                   	int3
4550bc:	cc                   	int3
4550bd:	cc                   	int3
4550be:	cc                   	int3
4550bf:	cc                   	int3
4550c0:	55                   	push   %ebp
4550c1:	8b ec                	mov    %esp,%ebp
4550c3:	8b 45 08             	mov    0x8(%ebp),%eax
4550c6:	89 01                	mov    %eax,(%ecx)
4550c8:	8b c1                	mov    %ecx,%eax
4550ca:	5d                   	pop    %ebp
4550cb:	c2 04 00             	ret    $0x4
4550ce:	cc                   	int3
4550cf:	cc                   	int3
4550d0:	8b 01                	mov    (%ecx),%eax
4550d2:	85 c0                	test   %eax,%eax
4550d4:	74 07                	je     0x4550dd
4550d6:	50                   	push   %eax
4550d7:	e8 ad bf 18 00       	call   0x5e1089
4550dc:	59                   	pop    %ecx
4550dd:	c3                   	ret
4550de:	cc                   	int3
4550df:	cc                   	int3
4550e0:	56                   	push   %esi
4550e1:	8b f1                	mov    %ecx,%esi
4550e3:	8b 06                	mov    (%esi),%eax
4550e5:	85 c0                	test   %eax,%eax
4550e7:	74 40                	je     0x455129
4550e9:	8b 4e 08             	mov    0x8(%esi),%ecx
4550ec:	2b c8                	sub    %eax,%ecx
4550ee:	83 e1 f8             	and    $0xfffffff8,%ecx
4550f1:	81 f9 00 10 00 00    	cmp    $0x1000,%ecx
4550f7:	72 12                	jb     0x45510b
4550f9:	8b 50 fc             	mov    -0x4(%eax),%edx
4550fc:	83 c1 23             	add    $0x23,%ecx
4550ff:	2b c2                	sub    %edx,%eax
455101:	83 c0 fc             	add    $0xfffffffc,%eax
455104:	83 f8 1f             	cmp    $0x1f,%eax
455107:	77 22                	ja     0x45512b
455109:	8b c2                	mov    %edx,%eax
45510b:	51                   	push   %ecx
45510c:	50                   	push   %eax
45510d:	e8 60 bf 18 00       	call   0x5e1072
455112:	c7 06 00 00 00 00    	movl   $0x0,(%esi)
455118:	83 c4 08             	add    $0x8,%esp
45511b:	c7 46 04 00 00 00 00 	movl   $0x0,0x4(%esi)
455122:	c7 46 08 00 00 00 00 	movl   $0x0,0x8(%esi)
455129:	5e                   	pop    %esi
45512a:	c3                   	ret
45512b:	e8 ff 7d 19 00       	call   0x5ecf2f
455130:	cc                   	int3
455131:	cc                   	int3
455132:	cc                   	int3
455133:	cc                   	int3
455134:	cc                   	int3
455135:	cc                   	int3
455136:	cc                   	int3
455137:	cc                   	int3
455138:	cc                   	int3
455139:	cc                   	int3
45513a:	cc                   	int3
45513b:	cc                   	int3
45513c:	cc                   	int3
45513d:	cc                   	int3
45513e:	cc                   	int3
45513f:	cc                   	int3
455140:	56                   	push   %esi
455141:	57                   	push   %edi
455142:	8b f9                	mov    %ecx,%edi
455144:	8b 37                	mov    (%edi),%esi
455146:	85 f6                	test   %esi,%esi
455148:	74 58                	je     0x4551a2
45514a:	8b 4f 08             	mov    0x8(%edi),%ecx
45514d:	b8 79 78 78 78       	mov    $0x78787879,%eax
455152:	2b ce                	sub    %esi,%ecx
455154:	f7 e9                	imul   %ecx
455156:	c1 fa 05             	sar    $0x5,%edx
455159:	8b c2                	mov    %edx,%eax
45515b:	c1 e8 1f             	shr    $0x1f,%eax
45515e:	03 c2                	add    %edx,%eax
455160:	8b c8                	mov    %eax,%ecx
455162:	c1 e1 04             	shl    $0x4,%ecx
455165:	03 c8                	add    %eax,%ecx
455167:	c1 e1 02             	shl    $0x2,%ecx
45516a:	81 f9 00 10 00 00    	cmp    $0x1000,%ecx
455170:	72 12                	jb     0x455184
455172:	8b 56 fc             	mov    -0x4(%esi),%edx
455175:	83 c1 23             	add    $0x23,%ecx
455178:	2b f2                	sub    %edx,%esi
45517a:	8d 46 fc             	lea    -0x4(%esi),%eax
45517d:	83 f8 1f             	cmp    $0x1f,%eax
455180:	77 23                	ja     0x4551a5
455182:	8b f2                	mov    %edx,%esi
455184:	51                   	push   %ecx
455185:	56                   	push   %esi
455186:	e8 e7 be 18 00       	call   0x5e1072
45518b:	c7 07 00 00 00 00    	movl   $0x0,(%edi)
455191:	83 c4 08             	add    $0x8,%esp
455194:	c7 47 04 00 00 00 00 	movl   $0x0,0x4(%edi)
45519b:	c7 47 08 00 00 00 00 	movl   $0x0,0x8(%edi)
4551a2:	5f                   	pop    %edi
4551a3:	5e                   	pop    %esi
4551a4:	c3                   	ret
4551a5:	e8 85 7d 19 00       	call   0x5ecf2f
4551aa:	cc                   	int3
4551ab:	cc                   	int3
4551ac:	cc                   	int3
4551ad:	cc                   	int3
4551ae:	cc                   	int3
4551af:	cc                   	int3
4551b0:	55                   	push   %ebp
4551b1:	8b ec                	mov    %esp,%ebp
4551b3:	51                   	push   %ecx
4551b4:	ff 75 08             	push   0x8(%ebp)
4551b7:	8d 4d fc             	lea    -0x4(%ebp),%ecx
4551ba:	e8 01 ff ff ff       	call   0x4550c0
4551bf:	68 80 08 6f 00       	push   $0x6f0880
4551c4:	8d 45 fc             	lea    -0x4(%ebp),%eax
4551c7:	50                   	push   %eax
4551c8:	e8 65 d8 18 00       	call   0x5e2a32
4551cd:	cc                   	int3
4551ce:	cc                   	int3
4551cf:	cc                   	int3
4551d0:	ff 15 e0 21 68 00    	call   *0x6821e0
4551d6:	85 c0                	test   %eax,%eax
4551d8:	7e 08                	jle    0x4551e2
4551da:	0f b7 c0             	movzwl %ax,%eax
4551dd:	0d 00 00 07 80       	or     $0x80070000,%eax
4551e2:	50                   	push   %eax
4551e3:	e8 c8 ff ff ff       	call   0x4551b0
4551e8:	cc                   	int3
4551e9:	cc                   	int3
4551ea:	cc                   	int3
4551eb:	cc                   	int3
4551ec:	cc                   	int3
4551ed:	cc                   	int3
4551ee:	cc                   	int3
4551ef:	cc                   	int3
4551f0:	55                   	push   %ebp
4551f1:	8b ec                	mov    %esp,%ebp
4551f3:	6a ff                	push   $0xffffffff
4551f5:	68 18 f1 64 00       	push   $0x64f118
4551fa:	64 a1 00 00 00 00    	mov    %fs:0x0,%eax
455200:	50                   	push   %eax
455201:	83 ec 18             	sub    $0x18,%esp
455204:	a1 d4 89 72 00       	mov    0x7289d4,%eax
455209:	33 c5                	xor    %ebp,%eax
45520b:	89 45 f0             	mov    %eax,-0x10(%ebp)
45520e:	53                   	push   %ebx
45520f:	56                   	push   %esi
455210:	57                   	push   %edi
455211:	50                   	push   %eax
455212:	8d 45 f4             	lea    -0xc(%ebp),%eax
455215:	64 a3 00 00 00 00    	mov    %eax,%fs:0x0
45521b:	8b 5d 08             	mov    0x8(%ebp),%ebx
45521e:	33 f6                	xor    %esi,%esi
455220:	8b 4d 14             	mov    0x14(%ebp),%ecx
455223:	8b 45 0c             	mov    0xc(%ebp),%eax
455226:	89 5d e4             	mov    %ebx,-0x1c(%ebp)
455229:	89 4d e4             	mov    %ecx,-0x1c(%ebp)
45522c:	89 75 dc             	mov    %esi,-0x24(%ebp)
45522f:	8b 00                	mov    (%eax),%eax
455231:	8d 4d ec             	lea    -0x14(%ebp),%ecx
455234:	51                   	push   %ecx
455235:	56                   	push   %esi
455236:	56                   	push   %esi
455237:	ff 75 10             	push   0x10(%ebp)
45523a:	89 75 fc             	mov    %esi,-0x4(%ebp)
45523d:	50                   	push   %eax
45523e:	89 45 e8             	mov    %eax,-0x18(%ebp)