4d3fc4:	8b c8                	mov    %eax,%ecx
4d3fc6:	83 c4 04             	add    $0x4,%esp
4d3fc9:	85 c9                	test   %ecx,%ecx
4d3fcb:	74 29                	je     0x4d3ff6
4d3fcd:	8d 41 23             	lea    0x23(%ecx),%eax
4d3fd0:	83 e0 e0             	and    $0xffffffe0,%eax
4d3fd3:	89 48 fc             	mov    %ecx,-0x4(%eax)
4d3fd6:	5d                   	pop    %ebp
4d3fd7:	c2 04 00             	ret    $0x4
4d3fda:	85 c0                	test   %eax,%eax
4d3fdc:	74 0d                	je     0x4d3feb
4d3fde:	50                   	push   %eax
4d3fdf:	e8 41 d2 0f 00       	call   0x5d1225
4d3fe4:	83 c4 04             	add    $0x4,%esp
4d3fe7:	5d                   	pop    %ebp
4d3fe8:	c2 04 00             	ret    $0x4
4d3feb:	33 c0                	xor    %eax,%eax
4d3fed:	5d                   	pop    %ebp
4d3fee:	c2 04 00             	ret    $0x4
4d3ff1:	e8 fa 35 f7 ff       	call   0x4475f0
4d3ff6:	e8 f5 21 10 00       	call   0x5d61f0
4d3ffb:	cc                   	int3
4d3ffc:	cc                   	int3
4d3ffd:	cc                   	int3
4d3ffe:	cc                   	int3
4d3fff:	cc                   	int3
4d4000:	55                   	push   %ebp
4d4001:	8b ec                	mov    %esp,%ebp
4d4003:	8b 55 08             	mov    0x8(%ebp),%edx
4d4006:	53                   	push   %ebx
4d4007:	8b 59 04             	mov    0x4(%ecx),%ebx
4d400a:	8b 09                	mov    (%ecx),%ecx
4d400c:	56                   	push   %esi
4d400d:	57                   	push   %edi
4d400e:	8b 7d 0c             	mov    0xc(%ebp),%edi
4d4011:	3b df                	cmp    %edi,%ebx
4d4013:	8b f7                	mov    %edi,%esi
4d4015:	0f 4c f3             	cmovl  %ebx,%esi
4d4018:	83 ee 04             	sub    $0x4,%esi
4d401b:	72 14                	jb     0x4d4031
4d401d:	0f 1f 00             	nopl   (%eax)
4d4020:	8b 01                	mov    (%ecx),%eax
4d4022:	3b 02                	cmp    (%edx),%eax
4d4024:	75 10                	jne    0x4d4036
4d4026:	83 c1 04             	add    $0x4,%ecx
4d4029:	83 c2 04             	add    $0x4,%edx
4d402c:	83 ee 04             	sub    $0x4,%esi
4d402f:	73 ef                	jae    0x4d4020
4d4031:	83 fe fc             	cmp    $0xfffffffc,%esi
4d4034:	74 34                	je     0x4d406a
4d4036:	8a 01                	mov    (%ecx),%al
4d4038:	3a 02                	cmp    (%edx),%al
4d403a:	75 27                	jne    0x4d4063
4d403c:	83 fe fd             	cmp    $0xfffffffd,%esi
4d403f:	74 29                	je     0x4d406a
4d4041:	8a 41 01             	mov    0x1(%ecx),%al
4d4044:	3a 42 01             	cmp    0x1(%edx),%al
4d4047:	75 1a                	jne    0x4d4063
4d4049:	83 fe fe             	cmp    $0xfffffffe,%esi
4d404c:	74 1c                	je     0x4d406a
4d404e:	8a 41 02             	mov    0x2(%ecx),%al
4d4051:	3a 42 02             	cmp    0x2(%edx),%al
4d4054:	75 0d                	jne    0x4d4063
4d4056:	83 fe ff             	cmp    $0xffffffff,%esi
4d4059:	74 0f                	je     0x4d406a
4d405b:	8a 41 03             	mov    0x3(%ecx),%al
4d405e:	3a 42 03             	cmp    0x3(%edx),%al
4d4061:	74 07                	je     0x4d406a
4d4063:	1b c0                	sbb    %eax,%eax
4d4065:	83 c8 01             	or     $0x1,%eax
4d4068:	eb 02                	jmp    0x4d406c
4d406a:	33 c0                	xor    %eax,%eax
4d406c:	85 c0                	test   %eax,%eax
4d406e:	78 1d                	js     0x4d408d
4d4070:	7f 0f                	jg     0x4d4081
4d4072:	3b df                	cmp    %edi,%ebx
4d4074:	7c 17                	jl     0x4d408d
4d4076:	7f 09                	jg     0x4d4081
4d4078:	5f                   	pop    %edi
4d4079:	5e                   	pop    %esi
4d407a:	33 c0                	xor    %eax,%eax
4d407c:	5b                   	pop    %ebx
4d407d:	5d                   	pop    %ebp
4d407e:	c2 08 00             	ret    $0x8
4d4081:	5f                   	pop    %edi
4d4082:	5e                   	pop    %esi
4d4083:	b8 01 00 00 00       	mov    $0x1,%eax
4d4088:	5b                   	pop    %ebx
4d4089:	5d                   	pop    %ebp
4d408a:	c2 08 00             	ret    $0x8
4d408d:	5f                   	pop    %edi
4d408e:	5e                   	pop    %esi
4d408f:	83 c8 ff             	or     $0xffffffff,%eax
4d4092:	5b                   	pop    %ebx
4d4093:	5d                   	pop    %ebp
4d4094:	c2 08 00             	ret    $0x8
4d4097:	cc                   	int3
4d4098:	cc                   	int3
4d4099:	cc                   	int3
4d409a:	cc                   	int3
4d409b:	cc                   	int3
4d409c:	cc                   	int3
4d409d:	cc                   	int3
4d409e:	cc                   	int3
4d409f:	cc                   	int3
4d40a0:	55                   	push   %ebp
4d40a1:	8b ec                	mov    %esp,%ebp
4d40a3:	53                   	push   %ebx
4d40a4:	56                   	push   %esi
4d40a5:	8b 75 08             	mov    0x8(%ebp),%esi
4d40a8:	b8 ab aa aa 2a       	mov    $0x2aaaaaab,%eax
4d40ad:	57                   	push   %edi
4d40ae:	8b f9                	mov    %ecx,%edi
4d40b0:	8b 4f 04             	mov    0x4(%edi),%ecx
4d40b3:	8b d1                	mov    %ecx,%edx
4d40b5:	2b 17                	sub    (%edi),%edx
4d40b7:	f7 ea                	imul   %edx
4d40b9:	c1 fa 02             	sar    $0x2,%edx
4d40bc:	8b da                	mov    %edx,%ebx
4d40be:	c1 eb 1f             	shr    $0x1f,%ebx
4d40c1:	03 da                	add    %edx,%ebx
4d40c3:	3b f3                	cmp    %ebx,%esi
4d40c5:	73 1d                	jae    0x4d40e4
4d40c7:	8b 17                	mov    (%edi),%edx
4d40c9:	8d 04 76             	lea    (%esi,%esi,2),%eax
4d40cc:	57                   	push   %edi
4d40cd:	51                   	push   %ecx
4d40ce:	8d 34 c2             	lea    (%edx,%eax,8),%esi
4d40d1:	56                   	push   %esi
4d40d2:	e8 b9 52 f9 ff       	call   0x469390
4d40d7:	83 c4 0c             	add    $0xc,%esp
4d40da:	89 77 04             	mov    %esi,0x4(%edi)
4d40dd:	5f                   	pop    %edi
4d40de:	5e                   	pop    %esi
4d40df:	5b                   	pop    %ebx
4d40e0:	5d                   	pop    %ebp
4d40e1:	c2 04 00             	ret    $0x4
4d40e4:	76 3e                	jbe    0x4d4124
4d40e6:	8b 4f 08             	mov    0x8(%edi),%ecx
4d40e9:	b8 ab aa aa 2a       	mov    $0x2aaaaaab,%eax
4d40ee:	2b 0f                	sub    (%edi),%ecx
4d40f0:	f7 e9                	imul   %ecx
4d40f2:	8b cf                	mov    %edi,%ecx
4d40f4:	c1 fa 02             	sar    $0x2,%edx
4d40f7:	8b c2                	mov    %edx,%eax
4d40f9:	c1 e8 1f             	shr    $0x1f,%eax
4d40fc:	03 c2                	add    %edx,%eax
4d40fe:	3b f0                	cmp    %eax,%esi
4d4100:	76 11                	jbe    0x4d4113
4d4102:	8d 45 08             	lea    0x8(%ebp),%eax
4d4105:	50                   	push   %eax
4d4106:	56                   	push   %esi
4d4107:	e8 f4 d8 ff ff       	call   0x4d1a00
4d410c:	5f                   	pop    %edi
4d410d:	5e                   	pop    %esi
4d410e:	5b                   	pop    %ebx
4d410f:	5d                   	pop    %ebp
4d4110:	c2 04 00             	ret    $0x4
4d4113:	ff 75 08             	push   0x8(%ebp)
4d4116:	2b f3                	sub    %ebx,%esi
4d4118:	56                   	push   %esi
4d4119:	ff 77 04             	push   0x4(%edi)
4d411c:	e8 3f fe ff ff       	call   0x4d3f60
4d4121:	89 47 04             	mov    %eax,0x4(%edi)
4d4124:	5f                   	pop    %edi
4d4125:	5e                   	pop    %esi
4d4126:	5b                   	pop    %ebx
4d4127:	5d                   	pop    %ebp
4d4128:	c2 04 00             	ret    $0x4
4d412b:	cc                   	int3
4d412c:	cc                   	int3
4d412d:	cc                   	int3
4d412e:	cc                   	int3
4d412f:	cc                   	int3
4d4130:	55                   	push   %ebp
4d4131:	8b ec                	mov    %esp,%ebp
4d4133:	6a ff                	push   $0xffffffff
4d4135:	68 45 84 5f 00       	push   $0x5f8445
4d413a:	64 a1 00 00 00 00    	mov    %fs:0x0,%eax
4d4140:	50                   	push   %eax
4d4141:	83 ec 10             	sub    $0x10,%esp
4d4144:	53                   	push   %ebx
4d4145:	56                   	push   %esi
4d4146:	57                   	push   %edi
4d4147:	a1 c0 14 69 00       	mov    0x6914c0,%eax
4d414c:	33 c5                	xor    %ebp,%eax
4d414e:	50                   	push   %eax
4d414f:	8d 45 f4             	lea    -0xc(%ebp),%eax
4d4152:	64 a3 00 00 00 00    	mov    %eax,%fs:0x0
4d4158:	8b f9                	mov    %ecx,%edi
4d415a:	8b 5d 0c             	mov    0xc(%ebp),%ebx
4d415d:	0f b6 03             	movzbl (%ebx),%eax
4d4160:	35 c5 9d 1c 81       	xor    $0x811c9dc5,%eax
4d4165:	69 d0 93 01 00 01    	imul   $0x1000193,%eax,%edx
4d416b:	0f b6 43 01          	movzbl 0x1(%ebx),%eax
4d416f:	33 d0                	xor    %eax,%edx
4d4171:	0f b6 43 02          	movzbl 0x2(%ebx),%eax
4d4175:	69 d2 93 01 00 01    	imul   $0x1000193,%edx,%edx
4d417b:	33 d0                	xor    %eax,%edx
4d417d:	0f b6 43 03          	movzbl 0x3(%ebx),%eax
4d4181:	69 ca 93 01 00 01    	imul   $0x1000193,%edx,%ecx
4d4187:	33 c8                	xor    %eax,%ecx
4d4189:	69 c1 93 01 00 01    	imul   $0x1000193,%ecx,%eax
4d418f:	8b cf                	mov    %edi,%ecx
4d4191:	50                   	push   %eax
4d4192:	89 45 0c             	mov    %eax,0xc(%ebp)
4d4195:	8d 45 e4             	lea    -0x1c(%ebp),%eax
4d4198:	53                   	push   %ebx
4d4199:	50                   	push   %eax
4d419a:	e8 c1 1f f8 ff       	call   0x456160
4d419f:	8b 4d e8             	mov    -0x18(%ebp),%ecx
4d41a2:	85 c9                	test   %ecx,%ecx
4d41a4:	74 1d                	je     0x4d41c3
4d41a6:	8b 45 08             	mov    0x8(%ebp),%eax
4d41a9:	89 08                	mov    %ecx,(%eax)
4d41ab:	c6 40 04 00          	movb   $0x0,0x4(%eax)
4d41af:	8b 4d f4             	mov    -0xc(%ebp),%ecx
4d41b2:	64 89 0d 00 00 00 00 	mov    %ecx,%fs:0x0
4d41b9:	59                   	pop    %ecx
4d41ba:	5f                   	pop    %edi
4d41bb:	5e                   	pop    %esi
4d41bc:	5b                   	pop    %ebx
4d41bd:	8b e5                	mov    %ebp,%esp
4d41bf:	5d                   	pop    %ebp
4d41c0:	c2 08 00             	ret    $0x8
4d41c3:	81 7f 08 ff ff ff 0f 	cmpl   $0xfffffff,0x8(%edi)
4d41ca:	0f 84 50 01 00 00    	je     0x4d4320
4d41d0:	8d 47 04             	lea    0x4(%edi),%eax
4d41d3:	89 45 ec             	mov    %eax,-0x14(%ebp)
4d41d6:	6a 10                	push   $0x10
4d41d8:	c7 45 fc 00 00 00 00 	movl   $0x0,-0x4(%ebp)
4d41df:	c7 45 f0 00 00 00 00 	movl   $0x0,-0x10(%ebp)
4d41e6:	e8 3a d0 0f 00       	call   0x5d1225
4d41eb:	8b 0b                	mov    (%ebx),%ecx
4d41ed:	8b f0                	mov    %eax,%esi
4d41ef:	83 c4 04             	add    $0x4,%esp
4d41f2:	89 75 f0             	mov    %esi,-0x10(%ebp)
4d41f5:	89 4e 08             	mov    %ecx,0x8(%esi)
4d41f8:	c7 46 0c 00 00 00 00 	movl   $0x0,0xc(%esi)
4d41ff:	8b 4f 08             	mov    0x8(%edi),%ecx
4d4202:	8b 5f 1c             	mov    0x1c(%edi),%ebx
4d4205:	f3 0f 10 1f          	movss  (%edi),%xmm3
4d4209:	c7 45 fc 01 00 00 00 	movl   $0x1,-0x4(%ebp)
4d4210:	8d 41 01             	lea    0x1(%ecx),%eax
4d4213:	66 0f 6e c0          	movd   %eax,%xmm0
4d4217:	f3 0f e6 c0          	cvtdq2pd %xmm0,%xmm0
4d421b:	c1 e8 1f             	shr    $0x1f,%eax
4d421e:	f2 0f 58 04 c5 60 64 	addsd  0x606460(,%eax,8),%xmm0
4d4225:	60 00
4d4227:	8b c3                	mov    %ebx,%eax
4d4229:	c1 e8 1f             	shr    $0x1f,%eax
4d422c:	66 0f 5a d0          	cvtpd2ps %xmm0,%xmm2
4d4230:	66 0f 6e c3          	movd   %ebx,%xmm0
4d4234:	f3 0f e6 c0          	cvtdq2pd %xmm0,%xmm0
4d4238:	0f 28 ca             	movaps %xmm2,%xmm1
4d423b:	f2 0f 58 04 c5 60 64 	addsd  0x606460(,%eax,8),%xmm0
4d4242:	60 00
4d4244:	66 0f 5a c0          	cvtpd2ps %xmm0,%xmm0
4d4248:	f3 0f 5e c8          	divss  %xmm0,%xmm1
4d424c:	0f 2f cb             	comiss %xmm3,%xmm1
4d424f:	76 6e                	jbe    0x4d42bf
4d4251:	f3 0f 5e d3          	divss  %xmm3,%xmm2
4d4255:	83 ec 08             	sub    $0x8,%esp
4d4258:	0f 5a c2             	cvtps2pd %xmm2,%xmm0
4d425b:	f2 0f 11 45 e4       	movsd  %xmm0,-0x1c(%ebp)
4d4260:	dd 45 e4             	fldl   -0x1c(%ebp)
4d4263:	dd 1c 24             	fstpl  (%esp)
4d4266:	e8 65 22 10 00       	call   0x5d64d0
4d426b:	dd 5d e4             	fstpl  -0x1c(%ebp)
4d426e:	f2 0f 10 45 e4       	movsd  -0x1c(%ebp),%xmm0
4d4273:	83 c4 08             	add    $0x8,%esp
4d4276:	66 0f 5a c0          	cvtpd2ps %xmm0,%xmm0
4d427a:	e8 c1 d7 0f 00       	call   0x5d1a40
4d427f:	b9 08 00 00 00       	mov    $0x8,%ecx
4d4284:	3b c1                	cmp    %ecx,%eax
4d4286:	0f 47 c8             	cmova  %eax,%ecx
4d4289:	3b d9                	cmp    %ecx,%ebx
4d428b:	73 11                	jae    0x4d429e
4d428d:	81 fb 00 02 00 00    	cmp    $0x200,%ebx
4d4293:	73 07                	jae    0x4d429c
4d4295:	c1 e3 03             	shl    $0x3,%ebx
4d4298:	3b d9                	cmp    %ecx,%ebx
4d429a:	73 02                	jae    0x4d429e
4d429c:	8b d9                	mov    %ecx,%ebx
4d429e:	53                   	push   %ebx
4d429f:	8b cf                	mov    %edi,%ecx
4d42a1:	e8 3a 47 f8 ff       	call   0x4589e0
4d42a6:	ff 75 0c             	push   0xc(%ebp)
4d42a9:	8d 46 08             	lea    0x8(%esi),%eax
4d42ac:	8b cf                	mov    %edi,%ecx
4d42ae:	50                   	push   %eax
4d42af:	8d 45 e4             	lea    -0x1c(%ebp),%eax
4d42b2:	50                   	push   %eax
4d42b3:	e8 a8 1e f8 ff       	call   0x456160
4d42b8:	8b 4f 08             	mov    0x8(%edi),%ecx
4d42bb:	8b 10                	mov    (%eax),%edx
4d42bd:	eb 03                	jmp    0x4d42c2
4d42bf:	8b 55 e4             	mov    -0x1c(%ebp),%edx
4d42c2:	8b 5a 04             	mov    0x4(%edx),%ebx
4d42c5:	8d 41 01             	lea    0x1(%ecx),%eax
4d42c8:	89 47 08             	mov    %eax,0x8(%edi)
4d42cb:	89 16                	mov    %edx,(%esi)
4d42cd:	89 5e 04             	mov    %ebx,0x4(%esi)
4d42d0:	89 33                	mov    %esi,(%ebx)
4d42d2:	89 72 04             	mov    %esi,0x4(%edx)
4d42d5:	8b 47 18             	mov    0x18(%edi),%eax
4d42d8:	23 45 0c             	and    0xc(%ebp),%eax
4d42db:	8b 4f 0c             	mov    0xc(%edi),%ecx
4d42de:	8b 75 ec             	mov    -0x14(%ebp),%esi
4d42e1:	8b 3c c1             	mov    (%ecx,%eax,8),%edi
4d42e4:	3b 3e                	cmp    (%esi),%edi
4d42e6:	8b 75 f0             	mov    -0x10(%ebp),%esi
4d42e9:	75 05                	jne    0x4d42f0
4d42eb:	89 34 c1             	mov    %esi,(%ecx,%eax,8)
4d42ee:	eb 0f                	jmp    0x4d42ff
4d42f0:	3b fa                	cmp    %edx,%edi
4d42f2:	75 05                	jne    0x4d42f9
4d42f4:	89 34 c1             	mov    %esi,(%ecx,%eax,8)
4d42f7:	eb 0a                	jmp    0x4d4303
4d42f9:	39 5c c1 04          	cmp    %ebx,0x4(%ecx,%eax,8)
4d42fd:	75 04                	jne    0x4d4303
4d42ff:	89 74 c1 04          	mov    %esi,0x4(%ecx,%eax,8)
4d4303:	8b 45 08             	mov    0x8(%ebp),%eax
4d4306:	89 30                	mov    %esi,(%eax)
4d4308:	c6 40 04 01          	movb   $0x1,0x4(%eax)
4d430c:	8b 4d f4             	mov    -0xc(%ebp),%ecx
4d430f:	64 89 0d 00 00 00 00 	mov    %ecx,%fs:0x0
4d4316:	59                   	pop    %ecx
4d4317:	5f                   	pop    %edi
4d4318:	5e                   	pop    %esi
4d4319:	5b                   	pop    %ebx
4d431a:	8b e5                	mov    %ebp,%esp
4d431c:	5d                   	pop    %ebp
4d431d:	c2 08 00             	ret    $0x8
4d4320:	68 20 64 60 00       	push   $0x606420
4d4325:	e8 ac c8 0f 00       	call   0x5d0bd6
4d432a:	cc                   	int3
4d432b:	cc                   	int3
4d432c:	cc                   	int3
4d432d:	cc                   	int3
4d432e:	cc                   	int3
4d432f:	cc                   	int3
4d4330:	55                   	push   %ebp
4d4331:	8b ec                	mov    %esp,%ebp
4d4333:	6a ff                	push   $0xffffffff
4d4335:	68 8b fa 5f 00       	push   $0x5ffa8b
4d433a:	64 a1 00 00 00 00    	mov    %fs:0x0,%eax
4d4340:	50                   	push   %eax
4d4341:	51                   	push   %ecx
4d4342:	56                   	push   %esi