511272:	80 c9 80             	or     $0x80,%cl
511275:	c1 e8 07             	shr    $0x7,%eax
511278:	88 4a 07             	mov    %cl,0x7(%edx)
51127b:	8a cb                	mov    %bl,%cl
51127d:	0f ac c3 07          	shrd   $0x7,%eax,%ebx
511281:	80 c9 80             	or     $0x80,%cl
511284:	c1 e8 07             	shr    $0x7,%eax
511287:	88 4a 06             	mov    %cl,0x6(%edx)
51128a:	8a cb                	mov    %bl,%cl
51128c:	0f ac c3 07          	shrd   $0x7,%eax,%ebx
511290:	80 c9 80             	or     $0x80,%cl
511293:	c1 e8 07             	shr    $0x7,%eax
511296:	88 4a 05             	mov    %cl,0x5(%edx)
511299:	8a cb                	mov    %bl,%cl
51129b:	0f ac c3 07          	shrd   $0x7,%eax,%ebx
51129f:	80 c9 80             	or     $0x80,%cl
5112a2:	c1 e8 07             	shr    $0x7,%eax
5112a5:	88 4a 04             	mov    %cl,0x4(%edx)
5112a8:	8a cb                	mov    %bl,%cl
5112aa:	0f ac c3 07          	shrd   $0x7,%eax,%ebx
5112ae:	80 c9 80             	or     $0x80,%cl
5112b1:	c1 e8 07             	shr    $0x7,%eax
5112b4:	88 4a 03             	mov    %cl,0x3(%edx)
5112b7:	8a cb                	mov    %bl,%cl
5112b9:	0f ac c3 07          	shrd   $0x7,%eax,%ebx
5112bd:	80 c9 80             	or     $0x80,%cl
5112c0:	c1 e8 07             	shr    $0x7,%eax
5112c3:	88 4a 02             	mov    %cl,0x2(%edx)
5112c6:	8a cb                	mov    %bl,%cl
5112c8:	0f ac c3 07          	shrd   $0x7,%eax,%ebx
5112cc:	80 c9 80             	or     $0x80,%cl
5112cf:	c1 e8 07             	shr    $0x7,%eax
5112d2:	80 cb 80             	or     $0x80,%bl
5112d5:	88 1a                	mov    %bl,(%edx)
5112d7:	b8 09 00 00 00       	mov    $0x9,%eax
5112dc:	88 4a 01             	mov    %cl,0x1(%edx)
5112df:	5b                   	pop    %ebx
5112e0:	8b e5                	mov    %ebp,%esp
5112e2:	5d                   	pop    %ebp
5112e3:	c3                   	ret
5112e4:	8b 55 0c             	mov    0xc(%ebp),%edx
5112e7:	56                   	push   %esi
5112e8:	57                   	push   %edi
5112e9:	33 ff                	xor    %edi,%edi
5112eb:	0f 1f 44 00 00       	nopl   0x0(%eax,%eax,1)
5112f0:	8a ca                	mov    %dl,%cl
5112f2:	8b f7                	mov    %edi,%esi
5112f4:	80 c9 80             	or     $0x80,%cl
5112f7:	0f ac c2 07          	shrd   $0x7,%eax,%edx
5112fb:	88 4c 3d f4          	mov    %cl,-0xc(%ebp,%edi,1)
5112ff:	47                   	inc    %edi
511300:	c1 e8 07             	shr    $0x7,%eax
511303:	8b ca                	mov    %edx,%ecx
511305:	0b c8                	or     %eax,%ecx
511307:	75 e7                	jne    0x5112f0
511309:	80 65 f4 7f          	andb   $0x7f,-0xc(%ebp)
51130d:	85 f6                	test   %esi,%esi
51130f:	78 12                	js     0x511323
511311:	8b 45 08             	mov    0x8(%ebp),%eax
511314:	8a 4c 35 f4          	mov    -0xc(%ebp,%esi,1),%cl
511318:	8d 40 01             	lea    0x1(%eax),%eax
51131b:	83 ee 01             	sub    $0x1,%esi
51131e:	88 48 ff             	mov    %cl,-0x1(%eax)
511321:	79 f1                	jns    0x511314
511323:	8b c7                	mov    %edi,%eax
511325:	5f                   	pop    %edi
511326:	5e                   	pop    %esi
511327:	8b e5                	mov    %ebp,%esp
511329:	5d                   	pop    %ebp
51132a:	c3                   	ret
51132b:	cc                   	int3
51132c:	cc                   	int3
51132d:	cc                   	int3
51132e:	cc                   	int3
51132f:	cc                   	int3
511330:	55                   	push   %ebp
511331:	8b ec                	mov    %esp,%ebp
511333:	8b 4d 08             	mov    0x8(%ebp),%ecx
511336:	80 79 09 00          	cmpb   $0x0,0x9(%ecx)
51133a:	8b 51 04             	mov    0x4(%ecx),%edx
51133d:	75 04                	jne    0x511343
51133f:	33 c0                	xor    %eax,%eax
511341:	5d                   	pop    %ebp
511342:	c3                   	ret
511343:	39 4a 4c             	cmp    %ecx,0x4c(%edx)
511346:	74 0d                	je     0x511355
511348:	f6 42 16 40          	testb  $0x40,0x16(%edx)
51134c:	74 07                	je     0x511355
51134e:	b8 06 01 00 00       	mov    $0x106,%eax
511353:	5d                   	pop    %ebp
511354:	c3                   	ret
511355:	8b 42 48             	mov    0x48(%edx),%eax
511358:	53                   	push   %ebx
511359:	56                   	push   %esi
51135a:	85 c0                	test   %eax,%eax
51135c:	74 1b                	je     0x511379
51135e:	8a 5d 10             	mov    0x10(%ebp),%bl
511361:	8b 75 0c             	mov    0xc(%ebp),%esi
511364:	39 08                	cmp    %ecx,(%eax)
511366:	74 0a                	je     0x511372
511368:	39 70 04             	cmp    %esi,0x4(%eax)
51136b:	75 05                	jne    0x511372
51136d:	38 58 08             	cmp    %bl,0x8(%eax)
511370:	75 0d                	jne    0x51137f
511372:	8b 40 0c             	mov    0xc(%eax),%eax
511375:	85 c0                	test   %eax,%eax
511377:	75 eb                	jne    0x511364
511379:	5e                   	pop    %esi
51137a:	33 c0                	xor    %eax,%eax
51137c:	5b                   	pop    %ebx
51137d:	5d                   	pop    %ebp
51137e:	c3                   	ret
51137f:	80 fb 02             	cmp    $0x2,%bl
511382:	75 09                	jne    0x51138d
511384:	b8 80 00 00 00       	mov    $0x80,%eax
511389:	66 09 42 16          	or     %ax,0x16(%edx)
51138d:	5e                   	pop    %esi
51138e:	b8 06 01 00 00       	mov    $0x106,%eax
511393:	5b                   	pop    %ebx
511394:	5d                   	pop    %ebp
511395:	c3                   	ret
511396:	cc                   	int3
511397:	cc                   	int3
511398:	cc                   	int3
511399:	cc                   	int3
51139a:	cc                   	int3
51139b:	cc                   	int3
51139c:	cc                   	int3
51139d:	cc                   	int3
51139e:	cc                   	int3
51139f:	cc                   	int3
5113a0:	55                   	push   %ebp
5113a1:	8b ec                	mov    %esp,%ebp
5113a3:	83 ec 08             	sub    $0x8,%esp
5113a6:	a1 d4 89 72 00       	mov    0x7289d4,%eax
5113ab:	33 c5                	xor    %ebp,%eax
5113ad:	89 45 fc             	mov    %eax,-0x4(%ebp)
5113b0:	8b 4d 08             	mov    0x8(%ebp),%ecx
5113b3:	8d 55 f8             	lea    -0x8(%ebp),%edx
5113b6:	56                   	push   %esi
5113b7:	ff 75 10             	push   0x10(%ebp)
5113ba:	8b 75 14             	mov    0x14(%ebp),%esi
5113bd:	ff 75 0c             	push   0xc(%ebp)
5113c0:	8b 01                	mov    (%ecx),%eax
5113c2:	6a 04                	push   $0x4
5113c4:	52                   	push   %edx
5113c5:	51                   	push   %ecx
5113c6:	8b 40 08             	mov    0x8(%eax),%eax
5113c9:	ff d0                	call   *%eax
5113cb:	83 c4 14             	add    $0x14,%esp
5113ce:	85 c0                	test   %eax,%eax
5113d0:	75 07                	jne    0x5113d9
5113d2:	8b 4d f8             	mov    -0x8(%ebp),%ecx
5113d5:	0f c9                	bswap  %ecx
5113d7:	89 0e                	mov    %ecx,(%esi)
5113d9:	8b 4d fc             	mov    -0x4(%ebp),%ecx
5113dc:	33 cd                	xor    %ebp,%ecx
5113de:	5e                   	pop    %esi
5113df:	e8 f6 00 0d 00       	call   0x5e14da
5113e4:	8b e5                	mov    %ebp,%esp
5113e6:	5d                   	pop    %ebp
5113e7:	c3                   	ret
5113e8:	cc                   	int3
5113e9:	cc                   	int3
5113ea:	cc                   	int3
5113eb:	cc                   	int3
5113ec:	cc                   	int3
5113ed:	cc                   	int3
5113ee:	cc                   	int3
5113ef:	cc                   	int3
5113f0:	55                   	push   %ebp
5113f1:	8b ec                	mov    %esp,%ebp
5113f3:	83 ec 08             	sub    $0x8,%esp
5113f6:	53                   	push   %ebx
5113f7:	8b 5d 08             	mov    0x8(%ebp),%ebx
5113fa:	56                   	push   %esi
5113fb:	57                   	push   %edi
5113fc:	c7 45 f8 00 00 00 00 	movl   $0x0,-0x8(%ebp)
511403:	8b 73 14             	mov    0x14(%ebx),%esi
511406:	89 75 fc             	mov    %esi,-0x4(%ebp)
511409:	8b 86 d8 00 00 00    	mov    0xd8(%esi),%eax
51140f:	85 c0                	test   %eax,%eax
511411:	74 6f                	je     0x511482
511413:	8d 4d f8             	lea    -0x8(%ebp),%ecx
511416:	51                   	push   %ecx
511417:	ff 73 18             	push   0x18(%ebx)
51141a:	50                   	push   %eax
51141b:	e8 00 e0 03 00       	call   0x54f420
511420:	83 c4 0c             	add    $0xc,%esp
511423:	85 c0                	test   %eax,%eax
511425:	0f 85 c5 00 00 00    	jne    0x5114f0
51142b:	8b 55 f8             	mov    -0x8(%ebp),%edx
51142e:	85 d2                	test   %edx,%edx
511430:	74 50                	je     0x511482
511432:	8b 8e d8 00 00 00    	mov    0xd8(%esi),%ecx
511438:	0f b7 41 42          	movzwl 0x42(%ecx),%eax
51143c:	8b 71 08             	mov    0x8(%ecx),%esi
51143f:	8b d8                	mov    %eax,%ebx
511441:	25 00 fe 00 00       	and    $0xfe00,%eax
511446:	8d 4a ff             	lea    -0x1(%edx),%ecx
511449:	83 e3 01             	and    $0x1,%ebx
51144c:	c1 e3 10             	shl    $0x10,%ebx
51144f:	03 d8                	add    %eax,%ebx
511451:	8b 3e                	mov    (%esi),%edi
511453:	8d 43 18             	lea    0x18(%ebx),%eax
511456:	f7 e1                	mul    %ecx
511458:	8b 4d fc             	mov    -0x4(%ebp),%ecx
51145b:	83 c0 38             	add    $0x38,%eax
51145e:	83 d2 00             	adc    $0x0,%edx
511461:	52                   	push   %edx
511462:	50                   	push   %eax
511463:	8b 81 98 00 00 00    	mov    0x98(%ecx),%eax
511469:	3b c3                	cmp    %ebx,%eax
51146b:	0f 4f c3             	cmovg  %ebx,%eax
51146e:	8b 5d 08             	mov    0x8(%ebp),%ebx
511471:	50                   	push   %eax
511472:	8b 47 08             	mov    0x8(%edi),%eax
511475:	ff 73 04             	push   0x4(%ebx)
511478:	56                   	push   %esi
511479:	ff d0                	call   *%eax
51147b:	83 c4 14             	add    $0x14,%esp
51147e:	8b c8                	mov    %eax,%ecx
511480:	eb 3d                	jmp    0x5114bf
511482:	8b be 98 00 00 00    	mov    0x98(%esi),%edi
511488:	8b c7                	mov    %edi,%eax
51148a:	8b 4b 18             	mov    0x18(%ebx),%ecx
51148d:	99                   	cltd
51148e:	49                   	dec    %ecx
51148f:	52                   	push   %edx
511490:	50                   	push   %eax
511491:	6a 00                	push   $0x0
511493:	51                   	push   %ecx
511494:	e8 67 06 0d 00       	call   0x5e1b00
511499:	8b 4d fc             	mov    -0x4(%ebp),%ecx
51149c:	8b f0                	mov    %eax,%esi
51149e:	52                   	push   %edx
51149f:	56                   	push   %esi
5114a0:	57                   	push   %edi
5114a1:	8b 49 3c             	mov    0x3c(%ecx),%ecx
5114a4:	ff 73 04             	push   0x4(%ebx)
5114a7:	51                   	push   %ecx
5114a8:	8b 01                	mov    (%ecx),%eax
5114aa:	8b 40 08             	mov    0x8(%eax),%eax
5114ad:	ff d0                	call   *%eax
5114af:	8b c8                	mov    %eax,%ecx
5114b1:	83 c4 14             	add    $0x14,%esp
5114b4:	33 c0                	xor    %eax,%eax
5114b6:	81 f9 0a 02 00 00    	cmp    $0x20a,%ecx
5114bc:	0f 44 c8             	cmove  %eax,%ecx
5114bf:	83 7b 18 01          	cmpl   $0x1,0x18(%ebx)
5114c3:	75 29                	jne    0x5114ee
5114c5:	85 c9                	test   %ecx,%ecx
5114c7:	74 17                	je     0x5114e0
5114c9:	8b 45 fc             	mov    -0x4(%ebp),%eax
5114cc:	0f 28 05 60 0f 6b 00 	movaps 0x6b0f60,%xmm0
5114d3:	5f                   	pop    %edi
5114d4:	5e                   	pop    %esi
5114d5:	0f 11 40 68          	movups %xmm0,0x68(%eax)
5114d9:	8b c1                	mov    %ecx,%eax
5114db:	5b                   	pop    %ebx
5114dc:	8b e5                	mov    %ebp,%esp
5114de:	5d                   	pop    %ebp
5114df:	c3                   	ret
5114e0:	8b 43 04             	mov    0x4(%ebx),%eax
5114e3:	0f 10 40 18          	movups 0x18(%eax),%xmm0
5114e7:	8b 45 fc             	mov    -0x4(%ebp),%eax
5114ea:	0f 11 40 68          	movups %xmm0,0x68(%eax)
5114ee:	8b c1                	mov    %ecx,%eax
5114f0:	5f                   	pop    %edi
5114f1:	5e                   	pop    %esi
5114f2:	5b                   	pop    %ebx
5114f3:	8b e5                	mov    %ebp,%esp
5114f5:	5d                   	pop    %ebp
5114f6:	c3                   	ret
5114f7:	cc                   	int3
5114f8:	cc                   	int3
5114f9:	cc                   	int3
5114fa:	cc                   	int3
5114fb:	cc                   	int3
5114fc:	cc                   	int3
5114fd:	cc                   	int3
5114fe:	cc                   	int3
5114ff:	cc                   	int3
511500:	55                   	push   %ebp
511501:	8b ec                	mov    %esp,%ebp
511503:	83 ec 20             	sub    $0x20,%esp
511506:	a1 d4 89 72 00       	mov    0x7289d4,%eax
51150b:	33 c5                	xor    %ebp,%eax
51150d:	89 45 fc             	mov    %eax,-0x4(%ebp)
511510:	8b 45 18             	mov    0x18(%ebp),%eax
511513:	0f 57 c0             	xorps  %xmm0,%xmm0
511516:	53                   	push   %ebx
511517:	56                   	push   %esi
511518:	57                   	push   %edi
511519:	8b 7d 08             	mov    0x8(%ebp),%edi
51151c:	89 45 f0             	mov    %eax,-0x10(%ebp)
51151f:	8b 45 1c             	mov    0x1c(%ebp),%eax
511522:	89 45 e0             	mov    %eax,-0x20(%ebp)
511525:	8b 4f 48             	mov    0x48(%edi),%ecx
511528:	8b c1                	mov    %ecx,%eax
51152a:	8b 57 4c             	mov    0x4c(%edi),%edx
51152d:	0b c2                	or     %edx,%eax
51152f:	66 0f 13 45 e8       	movlpd %xmm0,-0x18(%ebp)
511534:	74 2a                	je     0x511560
511536:	8b b7 94 00 00 00    	mov    0x94(%edi),%esi
51153c:	83 e9 01             	sub    $0x1,%ecx
51153f:	6a 00                	push   $0x0
511541:	56                   	push   %esi
511542:	83 da 00             	sbb    $0x0,%edx
511545:	52                   	push   %edx
511546:	51                   	push   %ecx
511547:	e8 f4 05 0d 00       	call   0x5e1b40
51154c:	83 c0 01             	add    $0x1,%eax
51154f:	6a 00                	push   $0x0
511551:	56                   	push   %esi
511552:	83 d2 00             	adc    $0x0,%edx
511555:	52                   	push   %edx
511556:	50                   	push   %eax
511557:	e8 a4 05 0d 00       	call   0x5e1b00
51155c:	8b d8                	mov    %eax,%ebx
51155e:	eb 06                	jmp    0x511566
511560:	8b 55 ec             	mov    -0x14(%ebp),%edx
511563:	8b 5d e8             	mov    -0x18(%ebp),%ebx
511566:	8b 8f 94 00 00 00    	mov    0x94(%edi),%ecx
51156c:	33 c0                	xor    %eax,%eax
51156e:	03 cb                	add    %ebx,%ecx
511570:	89 55 e4             	mov    %edx,-0x1c(%ebp)
511573:	89 5f 48             	mov    %ebx,0x48(%edi)
511576:	13 c2                	adc    %edx,%eax
511578:	89 57 4c             	mov    %edx,0x4c(%edi)
51157b:	3b 45 14             	cmp    0x14(%ebp),%eax
51157e:	7c 0f                	jl     0x51158f
511580:	0f 8f a3 01 00 00    	jg     0x511729
511586:	3b 4d 10             	cmp    0x10(%ebp),%ecx
511589:	0f 87 9a 01 00 00    	ja     0x511729
51158f:	83 7d 0c 00          	cmpl   $0x0,0xc(%ebp)
511593:	75 0a                	jne    0x51159f
511595:	3b 5f 50             	cmp    0x50(%edi),%ebx
511598:	75 05                	jne    0x51159f
51159a:	3b 57 54             	cmp    0x54(%edi),%edx
51159d:	74 3e                	je     0x5115dd
51159f:	8b 47 40             	mov    0x40(%edi),%eax
5115a2:	52                   	push   %edx
5115a3:	53                   	push   %ebx
5115a4:	6a 08                	push   $0x8
5115a6:	8b 08                	mov    (%eax),%ecx
5115a8:	8d 55 f4             	lea    -0xc(%ebp),%edx
5115ab:	52                   	push   %edx
5115ac:	50                   	push   %eax
5115ad:	8b 41 08             	mov    0x8(%ecx),%eax