50f126:	56                   	push   %esi
50f127:	e8 64 c0 fe ff       	call   0x4fb190
50f12c:	8b 45 0c             	mov    0xc(%ebp),%eax
50f12f:	83 c4 04             	add    $0x4,%esp
50f132:	01 06                	add    %eax,(%esi)
50f134:	66 c7 46 2a 00 00    	movw   $0x0,0x2a(%esi)
50f13a:	11 7e 04             	adc    %edi,0x4(%esi)
50f13d:	c6 46 2c 00          	movb   $0x0,0x2c(%esi)
50f141:	5f                   	pop    %edi
50f142:	33 c0                	xor    %eax,%eax
50f144:	5e                   	pop    %esi
50f145:	8b e5                	mov    %ebp,%esp
50f147:	5d                   	pop    %ebp
50f148:	c3                   	ret
50f149:	0f b6 07             	movzbl (%edi),%eax
50f14c:	f6 80 40 1b 6b 00 01 	testb  $0x1,0x6b1b40(%eax)
50f153:	74 19                	je     0x50f16e
50f155:	66 66 66 0f 1f 84 00 	data16 data16 nopw 0x0(%eax,%eax,1)
50f15c:	00 00 00 00
50f160:	0f b6 47 01          	movzbl 0x1(%edi),%eax
50f164:	47                   	inc    %edi
50f165:	f6 80 40 1b 6b 00 01 	testb  $0x1,0x6b1b40(%eax)
50f16c:	75 f2                	jne    0x50f160
50f16e:	8b cf                	mov    %edi,%ecx
50f170:	8d 51 01             	lea    0x1(%ecx),%edx
50f173:	8a 01                	mov    (%ecx),%al
50f175:	41                   	inc    %ecx
50f176:	84 c0                	test   %al,%al
50f178:	75 f9                	jne    0x50f173
50f17a:	2b ca                	sub    %edx,%ecx
50f17c:	81 e1 ff ff ff 3f    	and    $0x3fffffff,%ecx
50f182:	83 f9 0a             	cmp    $0xa,%ecx
50f185:	0f 87 ab 01 00 00    	ja     0x50f336
50f18b:	83 f9 03             	cmp    $0x3,%ecx
50f18e:	0f 82 a2 01 00 00    	jb     0x50f336
50f194:	0f b6 44 0f ff       	movzbl -0x1(%edi,%ecx,1),%eax
50f199:	8d 51 ff             	lea    -0x1(%ecx),%edx
50f19c:	ff 75 14             	push   0x14(%ebp)
50f19f:	80 b8 20 2a 6b 00 73 	cmpb   $0x73,0x6b2a20(%eax)
50f1a6:	0f 45 d1             	cmovne %ecx,%edx
50f1a9:	89 55 0c             	mov    %edx,0xc(%ebp)
50f1ac:	e8 df bf fe ff       	call   0x4fb190
50f1b1:	f2 0f 10 4d f0       	movsd  -0x10(%ebp),%xmm1
50f1b6:	0f 57 c0             	xorps  %xmm0,%xmm0
50f1b9:	83 c4 04             	add    $0x4,%esp
50f1bc:	f2 0f 11 4d e8       	movsd  %xmm1,-0x18(%ebp)
50f1c1:	66 0f 2f c1          	comisd %xmm1,%xmm0
50f1c5:	76 0f                	jbe    0x50f1d6
50f1c7:	f2 0f 10 0d 30 c6 6b 	movsd  0x6bc630,%xmm1
50f1ce:	00
50f1cf:	f2 0f 11 4d e0       	movsd  %xmm1,-0x20(%ebp)
50f1d4:	eb 0d                	jmp    0x50f1e3
50f1d6:	f2 0f 10 05 f8 9b 6a 	movsd  0x6a9bf8,%xmm0
50f1dd:	00
50f1de:	f2 0f 11 45 e0       	movsd  %xmm0,-0x20(%ebp)
50f1e3:	8b 4d 0c             	mov    0xc(%ebp),%ecx
50f1e6:	33 c0                	xor    %eax,%eax
50f1e8:	89 45 fc             	mov    %eax,-0x4(%ebp)
50f1eb:	be d8 1c 6b 00       	mov    $0x6b1cd8,%esi
50f1f0:	0f b6 46 f9          	movzbl -0x7(%esi),%eax
50f1f4:	3b c1                	cmp    %ecx,%eax
50f1f6:	75 33                	jne    0x50f22b
50f1f8:	51                   	push   %ecx
50f1f9:	57                   	push   %edi
50f1fa:	ff 76 fc             	push   -0x4(%esi)
50f1fd:	e8 5e 09 fd ff       	call   0x4dfb60
50f202:	83 c4 0c             	add    $0xc,%esp
50f205:	85 c0                	test   %eax,%eax
50f207:	75 1f                	jne    0x50f228
50f209:	f2 0f 10 16          	movsd  (%esi),%xmm2
50f20d:	f2 0f 10 4d f0       	movsd  -0x10(%ebp),%xmm1
50f212:	0f 28 c2             	movaps %xmm2,%xmm0
50f215:	0f 57 05 10 9c 6a 00 	xorps  0x6a9c10,%xmm0
50f21c:	66 0f 2f c8          	comisd %xmm0,%xmm1
50f220:	76 06                	jbe    0x50f228
50f222:	66 0f 2f d1          	comisd %xmm1,%xmm2
50f226:	77 29                	ja     0x50f251
50f228:	8b 4d 0c             	mov    0xc(%ebp),%ecx
50f22b:	ff 45 fc             	incl   -0x4(%ebp)
50f22e:	83 c6 18             	add    $0x18,%esi
50f231:	81 fe 68 1d 6b 00    	cmp    $0x6b1d68,%esi
50f237:	7c b7                	jl     0x50f1f0
50f239:	8b 75 14             	mov    0x14(%ebp),%esi
50f23c:	b8 01 00 00 00       	mov    $0x1,%eax
50f241:	5f                   	pop    %edi
50f242:	66 c7 46 2a 00 00    	movw   $0x0,0x2a(%esi)
50f248:	c6 46 2c 00          	movb   $0x0,0x2c(%esi)
50f24c:	5e                   	pop    %esi
50f24d:	8b e5                	mov    %ebp,%esp
50f24f:	5d                   	pop    %ebp
50f250:	c3                   	ret
50f251:	8b 45 fc             	mov    -0x4(%ebp),%eax
50f254:	8b 75 14             	mov    0x14(%ebp),%esi
50f257:	8d 04 40             	lea    (%eax,%eax,2),%eax
50f25a:	c1 e0 03             	shl    $0x3,%eax
50f25d:	89 45 f8             	mov    %eax,-0x8(%ebp)
50f260:	0f b6 80 d0 1c 6b 00 	movzbl 0x6b1cd0(%eax),%eax
50f267:	83 e8 01             	sub    $0x1,%eax
50f26a:	74 2a                	je     0x50f296
50f26c:	83 e8 01             	sub    $0x1,%eax
50f26f:	0f 85 80 00 00 00    	jne    0x50f2f5
50f275:	56                   	push   %esi
50f276:	e8 55 c2 fe ff       	call   0x4fb4d0
50f27b:	56                   	push   %esi
50f27c:	e8 4f be fe ff       	call   0x4fb0d0
50f281:	f2 0f 10 4d f0       	movsd  -0x10(%ebp),%xmm1
50f286:	83 c4 08             	add    $0x8,%esp
50f289:	f2 0f 2c c1          	cvttsd2si %xmm1,%eax
50f28d:	01 46 08             	add    %eax,0x8(%esi)
50f290:	66 0f 6e c0          	movd   %eax,%xmm0
50f294:	eb 4e                	jmp    0x50f2e4
50f296:	56                   	push   %esi
50f297:	e8 34 c2 fe ff       	call   0x4fb4d0
50f29c:	56                   	push   %esi
50f29d:	e8 2e be fe ff       	call   0x4fb0d0
50f2a2:	f2 0f 10 4d f0       	movsd  -0x10(%ebp),%xmm1
50f2a7:	83 c4 08             	add    $0x8,%esp
50f2aa:	f2 0f 2c c1          	cvttsd2si %xmm1,%eax
50f2ae:	01 46 0c             	add    %eax,0xc(%esi)
50f2b1:	8b 7e 0c             	mov    0xc(%esi),%edi
50f2b4:	89 45 0c             	mov    %eax,0xc(%ebp)
50f2b7:	b8 ab aa aa 2a       	mov    $0x2aaaaaab,%eax
50f2bc:	8d 4f ff             	lea    -0x1(%edi),%ecx
50f2bf:	85 ff                	test   %edi,%edi
50f2c1:	7f 03                	jg     0x50f2c6
50f2c3:	8d 4f f4             	lea    -0xc(%edi),%ecx
50f2c6:	66 0f 6e 45 0c       	movd   0xc(%ebp),%xmm0
50f2cb:	f7 e9                	imul   %ecx
50f2cd:	d1 fa                	sar    $1,%edx
50f2cf:	8b c2                	mov    %edx,%eax
50f2d1:	c1 e8 1f             	shr    $0x1f,%eax
50f2d4:	03 c2                	add    %edx,%eax
50f2d6:	01 46 08             	add    %eax,0x8(%esi)
50f2d9:	8d 04 40             	lea    (%eax,%eax,2),%eax
50f2dc:	c1 e0 02             	shl    $0x2,%eax
50f2df:	2b f8                	sub    %eax,%edi
50f2e1:	89 7e 0c             	mov    %edi,0xc(%esi)
50f2e4:	f3 0f e6 c0          	cvtdq2pd %xmm0,%xmm0
50f2e8:	c6 46 28 00          	movb   $0x0,0x28(%esi)
50f2ec:	f2 0f 5c c8          	subsd  %xmm0,%xmm1
50f2f0:	f2 0f 11 4d e8       	movsd  %xmm1,-0x18(%ebp)
50f2f5:	56                   	push   %esi
50f2f6:	e8 95 be fe ff       	call   0x4fb190
50f2fb:	8b 45 f8             	mov    -0x8(%ebp),%eax
50f2fe:	83 c4 04             	add    $0x4,%esp
50f301:	f2 0f 10 80 e0 1c 6b 	movsd  0x6b1ce0(%eax),%xmm0
50f308:	00
50f309:	f2 0f 59 45 e8       	mulsd  -0x18(%ebp),%xmm0
50f30e:	f2 0f 58 45 e0       	addsd  -0x20(%ebp),%xmm0
50f313:	e8 73 24 0d 00       	call   0x5e178b
50f318:	01 06                	add    %eax,(%esi)
50f31a:	5f                   	pop    %edi
50f31b:	11 56 04             	adc    %edx,0x4(%esi)
50f31e:	33 c0                	xor    %eax,%eax
50f320:	66 89 46 2a          	mov    %ax,0x2a(%esi)
50f324:	88 46 2c             	mov    %al,0x2c(%esi)
50f327:	5e                   	pop    %esi
50f328:	8b e5                	mov    %ebp,%esp
50f32a:	5d                   	pop    %ebp
50f32b:	c3                   	ret
50f32c:	b8 01 00 00 00       	mov    $0x1,%eax
50f331:	5e                   	pop    %esi
50f332:	8b e5                	mov    %ebp,%esp
50f334:	5d                   	pop    %ebp
50f335:	c3                   	ret
50f336:	5f                   	pop    %edi
50f337:	b8 01 00 00 00       	mov    $0x1,%eax
50f33c:	5e                   	pop    %esi
50f33d:	8b e5                	mov    %ebp,%esp
50f33f:	5d                   	pop    %ebp
50f340:	c3                   	ret
50f341:	0f 1f 00             	nopl   (%eax)
50f344:	57                   	push   %edi
50f345:	f0 50                	lock push %eax
50f347:	00 36                	add    %dh,(%esi)
50f349:	ed                   	in     (%dx),%eax
50f34a:	50                   	push   %eax
50f34b:	00 a8 ef 50 00 8f    	add    %ch,-0x70ffaf11(%eax)
50f351:	ed                   	in     (%dx),%eax
50f352:	50                   	push   %eax
50f353:	00 91 ee 50 00 36    	add    %dl,0x360050ee(%ecx)
50f359:	f3 50                	repz push %eax
50f35b:	00 00                	add    %al,(%eax)
50f35d:	05 00 05 05 00       	add    $0x50500,%eax
50f36a:	00 05 05 05 05 05    	add    %al,0x5050505
50f370:	05 05 05 05 05       	add    $0x5050505,%eax
50f375:	05 05 05 05 05       	add    $0x5050505,%eax
50f37a:	05 05 05 05 05       	add    $0x5050505,%eax
50f37f:	05 05 05 05 05       	add    $0x5050505,%eax
50f384:	05 05 05 05 05       	add    $0x5050505,%eax
50f389:	05 05 05 05 05       	add    $0x5050505,%eax
50f38e:	05 05 05 05 05       	add    $0x5050505,%eax
50f393:	05 05 05 05 05       	add    $0x5050505,%eax
50f398:	05 05 05 05 05       	add    $0x5050505,%eax
50f39d:	01 05 05 05 05 05    	add    %eax,0x5050505
50f3a3:	05 02 05 03 05       	add    $0x5030502,%eax
50f3a8:	04 cc                	add    $0xcc,%al
50f3aa:	cc                   	int3
50f3ab:	cc                   	int3
50f3ac:	cc                   	int3
50f3ad:	cc                   	int3
50f3ae:	cc                   	int3
50f3af:	cc                   	int3
50f3b0:	55                   	push   %ebp
50f3b1:	8b ec                	mov    %esp,%ebp
50f3b3:	83 ec 0c             	sub    $0xc,%esp
50f3b6:	a1 d4 89 72 00       	mov    0x7289d4,%eax
50f3bb:	33 c5                	xor    %ebp,%eax
50f3bd:	89 45 fc             	mov    %eax,-0x4(%ebp)
50f3c0:	53                   	push   %ebx
50f3c1:	56                   	push   %esi
50f3c2:	8b 75 08             	mov    0x8(%ebp),%esi
50f3c5:	57                   	push   %edi
50f3c6:	8b 7d 0c             	mov    0xc(%ebp),%edi
50f3c9:	0f b6 06             	movzbl (%esi),%eax
50f3cc:	f6 80 40 1b 6b 00 01 	testb  $0x1,0x6b1b40(%eax)
50f3d3:	74 19                	je     0x50f3ee
50f3d5:	66 66 66 0f 1f 84 00 	data16 data16 nopw 0x0(%eax,%eax,1)
50f3dc:	00 00 00 00
50f3e0:	0f b6 46 01          	movzbl 0x1(%esi),%eax
50f3e4:	46                   	inc    %esi
50f3e5:	f6 80 40 1b 6b 00 01 	testb  $0x1,0x6b1b40(%eax)
50f3ec:	75 f2                	jne    0x50f3e0
50f3ee:	c7 47 1c 00 00 00 00 	movl   $0x0,0x1c(%edi)
50f3f5:	0f be 0e             	movsbl (%esi),%ecx
50f3f8:	83 f9 2d             	cmp    $0x2d,%ecx
50f3fb:	75 05                	jne    0x50f402
50f3fd:	83 cb ff             	or     $0xffffffff,%ebx
50f400:	eb 08                	jmp    0x50f40a
50f402:	83 f9 2b             	cmp    $0x2b,%ecx
50f405:	75 4f                	jne    0x50f456
50f407:	8d 59 d6             	lea    -0x2a(%ecx),%ebx
50f40a:	8d 45 f4             	lea    -0xc(%ebp),%eax
50f40d:	46                   	inc    %esi
50f40e:	50                   	push   %eax
50f40f:	8d 45 f8             	lea    -0x8(%ebp),%eax
50f412:	50                   	push   %eax
50f413:	68 b4 78 6b 00       	push   $0x6b78b4
50f418:	56                   	push   %esi
50f419:	e8 d2 67 ff ff       	call   0x505bf0
50f41e:	83 c4 10             	add    $0x10,%esp
50f421:	83 f8 02             	cmp    $0x2,%eax
50f424:	74 16                	je     0x50f43c
50f426:	5f                   	pop    %edi
50f427:	5e                   	pop    %esi
50f428:	b8 01 00 00 00       	mov    $0x1,%eax
50f42d:	5b                   	pop    %ebx
50f42e:	8b 4d fc             	mov    -0x4(%ebp),%ecx
50f431:	33 cd                	xor    %ebp,%ecx
50f433:	e8 a2 20 0d 00       	call   0x5e14da
50f438:	8b e5                	mov    %ebp,%esp
50f43a:	5d                   	pop    %ebp
50f43b:	c3                   	ret
50f43c:	8b 4d f8             	mov    -0x8(%ebp),%ecx
50f43f:	83 c6 05             	add    $0x5,%esi
50f442:	8b 45 f4             	mov    -0xc(%ebp),%eax
50f445:	c1 e1 04             	shl    $0x4,%ecx
50f448:	2b 4d f8             	sub    -0x8(%ebp),%ecx
50f44b:	8d 04 88             	lea    (%eax,%ecx,4),%eax
50f44e:	0f af c3             	imul   %ebx,%eax
50f451:	89 47 1c             	mov    %eax,0x1c(%edi)
50f454:	eb 23                	jmp    0x50f479
50f456:	83 f9 5a             	cmp    $0x5a,%ecx
50f459:	74 1d                	je     0x50f478
50f45b:	83 f9 7a             	cmp    $0x7a,%ecx
50f45e:	74 18                	je     0x50f478
50f460:	33 c0                	xor    %eax,%eax
50f462:	85 c9                	test   %ecx,%ecx
50f464:	5f                   	pop    %edi
50f465:	5e                   	pop    %esi
50f466:	0f 95 c0             	setne  %al
50f469:	5b                   	pop    %ebx
50f46a:	8b 4d fc             	mov    -0x4(%ebp),%ecx
50f46d:	33 cd                	xor    %ebp,%ecx
50f46f:	e8 66 20 0d 00       	call   0x5e14da
50f474:	8b e5                	mov    %ebp,%esp
50f476:	5d                   	pop    %ebp
50f477:	c3                   	ret
50f478:	46                   	inc    %esi
50f479:	0f b6 06             	movzbl (%esi),%eax
50f47c:	f6 80 40 1b 6b 00 01 	testb  $0x1,0x6b1b40(%eax)
50f483:	74 19                	je     0x50f49e
50f485:	66 66 66 0f 1f 84 00 	data16 data16 nopw 0x0(%eax,%eax,1)
50f48c:	00 00 00 00
50f490:	0f b6 46 01          	movzbl 0x1(%esi),%eax
50f494:	46                   	inc    %esi
50f495:	f6 80 40 1b 6b 00 01 	testb  $0x1,0x6b1b40(%eax)
50f49c:	75 f2                	jne    0x50f490
50f49e:	8b 4d fc             	mov    -0x4(%ebp),%ecx
50f4a1:	33 c0                	xor    %eax,%eax
50f4a3:	c6 47 2d 01          	movb   $0x1,0x2d(%edi)
50f4a7:	38 06                	cmp    %al,(%esi)
50f4a9:	5f                   	pop    %edi
50f4aa:	0f 95 c0             	setne  %al
50f4ad:	33 cd                	xor    %ebp,%ecx
50f4af:	5e                   	pop    %esi
50f4b0:	5b                   	pop    %ebx
50f4b1:	e8 24 20 0d 00       	call   0x5e14da
50f4b6:	8b e5                	mov    %ebp,%esp
50f4b8:	5d                   	pop    %ebp
50f4b9:	c3                   	ret
50f4ba:	cc                   	int3
50f4bb:	cc                   	int3
50f4bc:	cc                   	int3
50f4bd:	cc                   	int3
50f4be:	cc                   	int3
50f4bf:	cc                   	int3
50f4c0:	55                   	push   %ebp
50f4c1:	8b ec                	mov    %esp,%ebp
50f4c3:	83 ec 10             	sub    $0x10,%esp
50f4c6:	a1 d4 89 72 00       	mov    0x7289d4,%eax
50f4cb:	33 c5                	xor    %ebp,%eax
50f4cd:	89 45 fc             	mov    %eax,-0x4(%ebp)
50f4d0:	53                   	push   %ebx
50f4d1:	56                   	push   %esi
50f4d2:	8b 75 08             	mov    0x8(%ebp),%esi
50f4d5:	57                   	push   %edi
50f4d6:	8b 7d 0c             	mov    0xc(%ebp),%edi
50f4d9:	80 3e 2d             	cmpb   $0x2d,(%esi)
50f4dc:	75 08                	jne    0x50f4e6
50f4de:	46                   	inc    %esi
50f4df:	bb 01 00 00 00       	mov    $0x1,%ebx
50f4e4:	eb 02                	jmp    0x50f4e8
50f4e6:	33 db                	xor    %ebx,%ebx
50f4e8:	8d 45 f0             	lea    -0x10(%ebp),%eax
50f4eb:	50                   	push   %eax
50f4ec:	8d 45 f4             	lea    -0xc(%ebp),%eax
50f4ef:	50                   	push   %eax
50f4f0:	8d 45 f8             	lea    -0x8(%ebp),%eax
50f4f3:	50                   	push   %eax
50f4f4:	68 c8 78 6b 00       	push   $0x6b78c8
50f4f9:	56                   	push   %esi
50f4fa:	e8 f1 66 ff ff       	call   0x505bf0
50f4ff:	83 c4 14             	add    $0x14,%esp
50f502:	83 f8 03             	cmp    $0x3,%eax
50f505:	74 16                	je     0x50f51d
50f507:	5f                   	pop    %edi
50f508:	5e                   	pop    %esi
50f509:	b8 01 00 00 00       	mov    $0x1,%eax
50f50e:	5b                   	pop    %ebx
50f50f:	8b 4d fc             	mov    -0x4(%ebp),%ecx
50f512:	33 cd                	xor    %ebp,%ecx
50f514:	e8 c1 1f 0d 00       	call   0x5e14da
50f519:	8b e5                	mov    %ebp,%esp
50f51b:	5d                   	pop    %ebp
50f51c:	c3                   	ret
50f51d:	83 c6 0a             	add    $0xa,%esi
50f520:	8a 0e                	mov    (%esi),%cl
50f522:	0f b6 c1             	movzbl %cl,%eax
50f525:	f6 80 40 1b 6b 00 01 	testb  $0x1,0x6b1b40(%eax)