5c5349:	84 c0                	test   %al,%al
5c534b:	75 0c                	jne    0x5c5359
5c534d:	f3 90                	pause
5c534f:	52                   	push   %edx
5c5350:	8b cf                	mov    %edi,%ecx
5c5352:	e8 59 25 00 00       	call   0x5c78b0
5c5357:	eb 07                	jmp    0x5c5360
5c5359:	f0 ff 05 e4 91 69 00 	lock incl 0x6991e4
5c5360:	0f b6 45 08          	movzbl 0x8(%ebp),%eax
5c5364:	35 c5 9d 1c 81       	xor    $0x811c9dc5,%eax
5c5369:	69 c8 93 01 00 01    	imul   $0x1000193,%eax,%ecx
5c536f:	0f b6 45 09          	movzbl 0x9(%ebp),%eax
5c5373:	56                   	push   %esi
5c5374:	33 c8                	xor    %eax,%ecx
5c5376:	0f b6 45 0a          	movzbl 0xa(%ebp),%eax
5c537a:	69 c9 93 01 00 01    	imul   $0x1000193,%ecx,%ecx
5c5380:	33 c8                	xor    %eax,%ecx
5c5382:	0f b6 45 0b          	movzbl 0xb(%ebp),%eax
5c5386:	69 c9 93 01 00 01    	imul   $0x1000193,%ecx,%ecx
5c538c:	33 c8                	xor    %eax,%ecx
5c538e:	69 c1 93 01 00 01    	imul   $0x1000193,%ecx,%eax
5c5394:	b9 c0 91 69 00       	mov    $0x6991c0,%ecx
5c5399:	50                   	push   %eax
5c539a:	8d 45 08             	lea    0x8(%ebp),%eax
5c539d:	50                   	push   %eax
5c539e:	8d 45 f8             	lea    -0x8(%ebp),%eax
5c53a1:	50                   	push   %eax
5c53a2:	e8 79 b7 ff ff       	call   0x5c0b20
5c53a7:	8b 35 c4 91 69 00    	mov    0x6991c4,%esi
5c53ad:	8b 48 04             	mov    0x4(%eax),%ecx
5c53b0:	85 c9                	test   %ecx,%ecx
5c53b2:	8b c6                	mov    %esi,%eax
5c53b4:	0f 45 c1             	cmovne %ecx,%eax
5c53b7:	3b c6                	cmp    %esi,%eax
5c53b9:	0f 84 83 00 00 00    	je     0x5c5442
5c53bf:	0f b6 48 08          	movzbl 0x8(%eax),%ecx
5c53c3:	81 f1 c5 9d 1c 81    	xor    $0x811c9dc5,%ecx
5c53c9:	69 d1 93 01 00 01    	imul   $0x1000193,%ecx,%edx
5c53cf:	0f b6 48 09          	movzbl 0x9(%eax),%ecx
5c53d3:	33 d1                	xor    %ecx,%edx
5c53d5:	0f b6 48 0a          	movzbl 0xa(%eax),%ecx
5c53d9:	69 d2 93 01 00 01    	imul   $0x1000193,%edx,%edx
5c53df:	33 d1                	xor    %ecx,%edx
5c53e1:	0f b6 48 0b          	movzbl 0xb(%eax),%ecx
5c53e5:	69 d2 93 01 00 01    	imul   $0x1000193,%edx,%edx
5c53eb:	33 d1                	xor    %ecx,%edx
5c53ed:	8b 0d cc 91 69 00    	mov    0x6991cc,%ecx
5c53f3:	69 d2 93 01 00 01    	imul   $0x1000193,%edx,%edx
5c53f9:	23 15 d8 91 69 00    	and    0x6991d8,%edx
5c53ff:	8d 14 d1             	lea    (%ecx,%edx,8),%edx
5c5402:	8b 0a                	mov    (%edx),%ecx
5c5404:	39 42 04             	cmp    %eax,0x4(%edx)
5c5407:	75 13                	jne    0x5c541c
5c5409:	3b c8                	cmp    %eax,%ecx
5c540b:	75 07                	jne    0x5c5414
5c540d:	89 32                	mov    %esi,(%edx)
5c540f:	89 72 04             	mov    %esi,0x4(%edx)
5c5412:	eb 10                	jmp    0x5c5424
5c5414:	8b 70 04             	mov    0x4(%eax),%esi
5c5417:	89 72 04             	mov    %esi,0x4(%edx)
5c541a:	eb 08                	jmp    0x5c5424
5c541c:	3b c8                	cmp    %eax,%ecx
5c541e:	75 04                	jne    0x5c5424
5c5420:	8b 08                	mov    (%eax),%ecx
5c5422:	89 0a                	mov    %ecx,(%edx)
5c5424:	8b 10                	mov    (%eax),%edx
5c5426:	ff 0d c8 91 69 00    	decl   0x6991c8
5c542c:	8b 48 04             	mov    0x4(%eax),%ecx
5c542f:	6a 1c                	push   $0x1c
5c5431:	50                   	push   %eax
5c5432:	89 11                	mov    %edx,(%ecx)
5c5434:	8b 48 04             	mov    0x4(%eax),%ecx
5c5437:	89 4a 04             	mov    %ecx,0x4(%edx)
5c543a:	e8 16 be 00 00       	call   0x5d1255
5c543f:	83 c4 08             	add    $0x8,%esp
5c5442:	f0 ff 0d e4 91 69 00 	lock decl 0x6991e4
5c5449:	83 3d e4 91 69 00 00 	cmpl   $0x0,0x6991e4
5c5450:	5e                   	pop    %esi
5c5451:	75 04                	jne    0x5c5457
5c5453:	33 c0                	xor    %eax,%eax
5c5455:	87 07                	xchg   %eax,(%edi)
5c5457:	5f                   	pop    %edi
5c5458:	8b e5                	mov    %ebp,%esp
5c545a:	5d                   	pop    %ebp
5c545b:	c3                   	ret
5c545c:	cc                   	int3
5c545d:	cc                   	int3
5c545e:	cc                   	int3
5c545f:	cc                   	int3
5c5460:	55                   	push   %ebp
5c5461:	8b ec                	mov    %esp,%ebp
5c5463:	8b 45 0c             	mov    0xc(%ebp),%eax
5c5466:	85 c0                	test   %eax,%eax
5c5468:	53                   	push   %ebx
5c5469:	bb 01 00 00 00       	mov    $0x1,%ebx
5c546e:	0f 45 d8             	cmovne %eax,%ebx
5c5471:	8b 81 50 0c 00 00    	mov    0xc50(%ecx),%eax
5c5477:	56                   	push   %esi
5c5478:	8b 75 08             	mov    0x8(%ebp),%esi
5c547b:	57                   	push   %edi
5c547c:	8b fe                	mov    %esi,%edi
5c547e:	2b 78 04             	sub    0x4(%eax),%edi
5c5481:	c1 ef 10             	shr    $0x10,%edi
5c5484:	81 ff 00 02 00 00    	cmp    $0x200,%edi
5c548a:	73 06                	jae    0x5c5492
5c548c:	8b 7c f8 0c          	mov    0xc(%eax,%edi,8),%edi
5c5490:	eb 02                	jmp    0x5c5494
5c5492:	33 ff                	xor    %edi,%edi
5c5494:	81 fb 00 04 00 00    	cmp    $0x400,%ebx
5c549a:	77 0b                	ja     0x5c54a7
5c549c:	8d 43 ff             	lea    -0x1(%ebx),%eax
5c549f:	c1 e8 02             	shr    $0x2,%eax
5c54a2:	8b 04 81             	mov    (%ecx,%eax,4),%eax
5c54a5:	eb 02                	jmp    0x5c54a9
5c54a7:	33 c0                	xor    %eax,%eax
5c54a9:	3b f8                	cmp    %eax,%edi
5c54ab:	75 09                	jne    0x5c54b6
5c54ad:	5f                   	pop    %edi
5c54ae:	8b c6                	mov    %esi,%eax
5c54b0:	5e                   	pop    %esi
5c54b1:	5b                   	pop    %ebx
5c54b2:	5d                   	pop    %ebp
5c54b3:	c2 08 00             	ret    $0x8
5c54b6:	e8 b5 16 00 00       	call   0x5c6b70
5c54bb:	53                   	push   %ebx
5c54bc:	8b 08                	mov    (%eax),%ecx
5c54be:	8b 51 0c             	mov    0xc(%ecx),%edx
5c54c1:	8b c8                	mov    %eax,%ecx
5c54c3:	ff d2                	call   *%edx
5c54c5:	89 45 0c             	mov    %eax,0xc(%ebp)
5c54c8:	85 c0                	test   %eax,%eax
5c54ca:	74 13                	je     0x5c54df
5c54cc:	8b 4f 10             	mov    0x10(%edi),%ecx
5c54cf:	3b d9                	cmp    %ecx,%ebx
5c54d1:	0f 42 cb             	cmovb  %ebx,%ecx
5c54d4:	51                   	push   %ecx
5c54d5:	56                   	push   %esi
5c54d6:	50                   	push   %eax
5c54d7:	e8 f4 d8 00 00       	call   0x5d2dd0
5c54dc:	83 c4 0c             	add    $0xc,%esp
5c54df:	e8 8c 16 00 00       	call   0x5c6b70
5c54e4:	8b 57 10             	mov    0x10(%edi),%edx
5c54e7:	33 c9                	xor    %ecx,%ecx
5c54e9:	f7 da                	neg    %edx
5c54eb:	13 c9                	adc    %ecx,%ecx
5c54ed:	f7 d9                	neg    %ecx
5c54ef:	51                   	push   %ecx
5c54f0:	52                   	push   %edx
5c54f1:	ff b0 24 59 00 00    	push   0x5924(%eax)
5c54f7:	e8 24 2e 00 00       	call   0x5c8320
5c54fc:	8b c6                	mov    %esi,%eax
5c54fe:	83 c4 0c             	add    $0xc,%esp
5c5501:	2b 05 f4 eb 6d 00    	sub    0x6debf4,%eax
5c5507:	c1 e8 10             	shr    $0x10,%eax
5c550a:	3d 00 02 00 00       	cmp    $0x200,%eax
5c550f:	72 23                	jb     0x5c5534
5c5511:	50                   	push   %eax
5c5512:	68 00 02 00 00       	push   $0x200
5c5517:	56                   	push   %esi
5c5518:	68 10 c3 66 00       	push   $0x66c310
5c551d:	68 fa 02 00 00       	push   $0x2fa
5c5522:	68 78 bb 66 00       	push   $0x66bb78
5c5527:	e8 44 5f ff ff       	call   0x5bb470
5c552c:	83 c4 18             	add    $0x18,%esp
5c552f:	84 c0                	test   %al,%al
5c5531:	75 01                	jne    0x5c5534
5c5533:	cc                   	int3
5c5534:	85 f6                	test   %esi,%esi
5c5536:	74 0e                	je     0x5c5546
5c5538:	f0 ff 47 30          	lock incl 0x30(%edi)
5c553c:	56                   	push   %esi
5c553d:	57                   	push   %edi
5c553e:	e8 1d 57 00 00       	call   0x5cac60
5c5543:	83 c4 08             	add    $0x8,%esp
5c5546:	8b 45 0c             	mov    0xc(%ebp),%eax
5c5549:	5f                   	pop    %edi
5c554a:	5e                   	pop    %esi
5c554b:	5b                   	pop    %ebx
5c554c:	5d                   	pop    %ebp
5c554d:	c2 08 00             	ret    $0x8
5c5550:	55                   	push   %ebp
5c5551:	8b ec                	mov    %esp,%ebp
5c5553:	8b 45 0c             	mov    0xc(%ebp),%eax
5c5556:	85 c0                	test   %eax,%eax
5c5558:	53                   	push   %ebx
5c5559:	bb 01 00 00 00       	mov    $0x1,%ebx
5c555e:	0f 45 d8             	cmovne %eax,%ebx
5c5561:	8b 81 b0 4c 00 00    	mov    0x4cb0(%ecx),%eax
5c5567:	56                   	push   %esi
5c5568:	8b 75 08             	mov    0x8(%ebp),%esi
5c556b:	57                   	push   %edi
5c556c:	8b fe                	mov    %esi,%edi
5c556e:	2b 78 04             	sub    0x4(%eax),%edi
5c5571:	c1 ef 10             	shr    $0x10,%edi
5c5574:	81 ff 00 80 00 00    	cmp    $0x8000,%edi
5c557a:	73 06                	jae    0x5c5582
5c557c:	8b 7c f8 0c          	mov    0xc(%eax,%edi,8),%edi
5c5580:	eb 02                	jmp    0x5c5584
5c5582:	33 ff                	xor    %edi,%edi
5c5584:	81 fb 00 40 00 00    	cmp    $0x4000,%ebx
5c558a:	77 0b                	ja     0x5c5597
5c558c:	8d 43 ff             	lea    -0x1(%ebx),%eax
5c558f:	c1 e8 02             	shr    $0x2,%eax
5c5592:	8b 04 81             	mov    (%ecx,%eax,4),%eax
5c5595:	eb 02                	jmp    0x5c5599
5c5597:	33 c0                	xor    %eax,%eax
5c5599:	3b f8                	cmp    %eax,%edi
5c559b:	75 09                	jne    0x5c55a6
5c559d:	5f                   	pop    %edi
5c559e:	8b c6                	mov    %esi,%eax
5c55a0:	5e                   	pop    %esi
5c55a1:	5b                   	pop    %ebx
5c55a2:	5d                   	pop    %ebp
5c55a3:	c2 08 00             	ret    $0x8
5c55a6:	e8 c5 15 00 00       	call   0x5c6b70
5c55ab:	53                   	push   %ebx
5c55ac:	8b 08                	mov    (%eax),%ecx
5c55ae:	8b 51 0c             	mov    0xc(%ecx),%edx
5c55b1:	8b c8                	mov    %eax,%ecx
5c55b3:	ff d2                	call   *%edx
5c55b5:	89 45 0c             	mov    %eax,0xc(%ebp)
5c55b8:	85 c0                	test   %eax,%eax
5c55ba:	74 13                	je     0x5c55cf
5c55bc:	8b 4f 10             	mov    0x10(%edi),%ecx
5c55bf:	3b d9                	cmp    %ecx,%ebx
5c55c1:	0f 42 cb             	cmovb  %ebx,%ecx
5c55c4:	51                   	push   %ecx
5c55c5:	56                   	push   %esi
5c55c6:	50                   	push   %eax
5c55c7:	e8 04 d8 00 00       	call   0x5d2dd0
5c55cc:	83 c4 0c             	add    $0xc,%esp
5c55cf:	e8 9c 15 00 00       	call   0x5c6b70
5c55d4:	8b 57 10             	mov    0x10(%edi),%edx
5c55d7:	33 c9                	xor    %ecx,%ecx
5c55d9:	f7 da                	neg    %edx
5c55db:	13 c9                	adc    %ecx,%ecx
5c55dd:	f7 d9                	neg    %ecx
5c55df:	51                   	push   %ecx
5c55e0:	52                   	push   %edx
5c55e1:	ff b0 24 59 00 00    	push   0x5924(%eax)
5c55e7:	e8 34 2d 00 00       	call   0x5c8320
5c55ec:	8b c6                	mov    %esi,%eax
5c55ee:	83 c4 0c             	add    $0xc,%esp
5c55f1:	2b 05 e4 eb 69 00    	sub    0x69ebe4,%eax
5c55f7:	c1 e8 10             	shr    $0x10,%eax
5c55fa:	3d 00 80 00 00       	cmp    $0x8000,%eax
5c55ff:	72 23                	jb     0x5c5624
5c5601:	50                   	push   %eax
5c5602:	68 00 80 00 00       	push   $0x8000
5c5607:	56                   	push   %esi
5c5608:	68 10 c3 66 00       	push   $0x66c310
5c560d:	68 fa 02 00 00       	push   $0x2fa
5c5612:	68 78 bb 66 00       	push   $0x66bb78
5c5617:	e8 54 5e ff ff       	call   0x5bb470
5c561c:	83 c4 18             	add    $0x18,%esp
5c561f:	84 c0                	test   %al,%al
5c5621:	75 01                	jne    0x5c5624
5c5623:	cc                   	int3
5c5624:	85 f6                	test   %esi,%esi
5c5626:	74 0e                	je     0x5c5636
5c5628:	f0 ff 47 30          	lock incl 0x30(%edi)
5c562c:	56                   	push   %esi
5c562d:	57                   	push   %edi
5c562e:	e8 2d 56 00 00       	call   0x5cac60
5c5633:	83 c4 08             	add    $0x8,%esp
5c5636:	8b 45 0c             	mov    0xc(%ebp),%eax
5c5639:	5f                   	pop    %edi
5c563a:	5e                   	pop    %esi
5c563b:	5b                   	pop    %ebx
5c563c:	5d                   	pop    %ebp
5c563d:	c2 08 00             	ret    $0x8
5c5640:	55                   	push   %ebp
5c5641:	8b ec                	mov    %esp,%ebp
5c5643:	53                   	push   %ebx
5c5644:	8b 5d 0c             	mov    0xc(%ebp),%ebx
5c5647:	57                   	push   %edi
5c5648:	8b f9                	mov    %ecx,%edi
5c564a:	85 db                	test   %ebx,%ebx
5c564c:	75 16                	jne    0x5c5664
5c564e:	8b 45 08             	mov    0x8(%ebp),%eax
5c5651:	85 c0                	test   %eax,%eax
5c5653:	74 07                	je     0x5c565c
5c5655:	53                   	push   %ebx
5c5656:	50                   	push   %eax
5c5657:	e8 b4 e8 ff ff       	call   0x5c3f10
5c565c:	5f                   	pop    %edi
5c565d:	33 c0                	xor    %eax,%eax
5c565f:	5b                   	pop    %ebx
5c5660:	5d                   	pop    %ebp
5c5661:	c2 08 00             	ret    $0x8
5c5664:	56                   	push   %esi
5c5665:	8b 75 08             	mov    0x8(%ebp),%esi
5c5668:	85 f6                	test   %esi,%esi
5c566a:	0f 84 2e 01 00 00    	je     0x5c579e
5c5670:	8b 87 60 59 00 00    	mov    0x5960(%edi),%eax
5c5676:	03 c6                	add    %esi,%eax
5c5678:	3b 87 6c 59 00 00    	cmp    0x596c(%edi),%eax
5c567e:	73 5b                	jae    0x5c56db
5c5680:	3b b7 68 59 00 00    	cmp    0x5968(%edi),%esi
5c5686:	72 53                	jb     0x5c56db
5c5688:	53                   	push   %ebx
5c5689:	e8 d2 d3 ff ff       	call   0x5c2a60
5c568e:	8b 8f 60 59 00 00    	mov    0x5960(%edi),%ecx
5c5694:	8b d0                	mov    %eax,%edx
5c5696:	03 ce                	add    %esi,%ecx
5c5698:	89 55 08             	mov    %edx,0x8(%ebp)
5c569b:	3b 8f 6c 59 00 00    	cmp    0x596c(%edi),%ecx
5c56a1:	73 14                	jae    0x5c56b7
5c56a3:	3b b7 68 59 00 00    	cmp    0x5968(%edi),%esi
5c56a9:	72 0c                	jb     0x5c56b7
5c56ab:	8b 8f 64 59 00 00    	mov    0x5964(%edi),%ecx
5c56b1:	8b 44 31 04          	mov    0x4(%ecx,%esi,1),%eax
5c56b5:	eb 02                	jmp    0x5c56b9
5c56b7:	33 c0                	xor    %eax,%eax
5c56b9:	3b d8                	cmp    %eax,%ebx
5c56bb:	0f 42 c3             	cmovb  %ebx,%eax
5c56be:	50                   	push   %eax
5c56bf:	56                   	push   %esi
5c56c0:	52                   	push   %edx
5c56c1:	e8 0a d7 00 00       	call   0x5d2dd0
5c56c6:	83 c4 0c             	add    $0xc,%esp
5c56c9:	8b cf                	mov    %edi,%ecx
5c56cb:	56                   	push   %esi
5c56cc:	e8 ff e8 ff ff       	call   0x5c3fd0
5c56d1:	8b 45 08             	mov    0x8(%ebp),%eax
5c56d4:	5e                   	pop    %esi
5c56d5:	5f                   	pop    %edi
5c56d6:	5b                   	pop    %ebx
5c56d7:	5d                   	pop    %ebp
5c56d8:	c2 08 00             	ret    $0x8
5c56db:	8b 87 18 59 00 00    	mov    0x5918(%edi),%eax
5c56e1:	83 f8 01             	cmp    $0x1,%eax
5c56e4:	75 23                	jne    0x5c5709
5c56e6:	8b 87 58 0c 00 00    	mov    0xc58(%edi),%eax
5c56ec:	8d 4f 08             	lea    0x8(%edi),%ecx
5c56ef:	3b 70 04             	cmp    0x4(%eax),%esi
5c56f2:	72 40                	jb     0x5c5734
5c56f4:	3b 70 08             	cmp    0x8(%eax),%esi
5c56f7:	73 3b                	jae    0x5c5734
5c56f9:	53                   	push   %ebx
5c56fa:	56                   	push   %esi
5c56fb:	e8 60 fd ff ff       	call   0x5c5460
5c5700:	8b f0                	mov    %eax,%esi
5c5702:	5e                   	pop    %esi
5c5703:	5f                   	pop    %edi
5c5704:	5b                   	pop    %ebx
5c5705:	5d                   	pop    %ebp
5c5706:	c2 08 00             	ret    $0x8
5c5709:	83 f8 02             	cmp    $0x2,%eax
5c570c:	75 26                	jne    0x5c5734