5cf366:	8b 41 04             	mov    0x4(%ecx),%eax
5cf369:	83 f8 ff             	cmp    $0xffffffff,%eax
5cf36c:	75 d4                	jne    0x5cf342
5cf36e:	8b 7d f4             	mov    -0xc(%ebp),%edi
5cf371:	83 f8 ff             	cmp    $0xffffffff,%eax
5cf374:	75 1a                	jne    0x5cf390
5cf376:	6a 01                	push   $0x1
5cf378:	8d 45 f8             	lea    -0x8(%ebp),%eax
5cf37b:	89 75 f8             	mov    %esi,-0x8(%ebp)
5cf37e:	50                   	push   %eax
5cf37f:	8d 4d c0             	lea    -0x40(%ebp),%ecx
5cf382:	c7 45 fc 01 00 00 00 	movl   $0x1,-0x4(%ebp)
5cf389:	e8 42 f7 ff ff       	call   0x5cead0
5cf38e:	eb 0a                	jmp    0x5cf39a
5cf390:	8b 4d e8             	mov    -0x18(%ebp),%ecx
5cf393:	8d 04 40             	lea    (%eax,%eax,2),%eax
5cf396:	ff 44 c1 14          	incl   0x14(%ecx,%eax,8)
5cf39a:	43                   	inc    %ebx
5cf39b:	3b 9f 1c 51 03 00    	cmp    0x3511c(%edi),%ebx
5cf3a1:	0f 8c 6a ff ff ff    	jl     0x5cf311
5cf3a7:	8b 5d e0             	mov    -0x20(%ebp),%ebx
5cf3aa:	33 f6                	xor    %esi,%esi
5cf3ac:	85 db                	test   %ebx,%ebx
5cf3ae:	7e 4e                	jle    0x5cf3fe
5cf3b0:	85 f6                	test   %esi,%esi
5cf3b2:	78 45                	js     0x5cf3f9
5cf3b4:	3b f3                	cmp    %ebx,%esi
5cf3b6:	7d 41                	jge    0x5cf3f9
5cf3b8:	8b 45 e8             	mov    -0x18(%ebp),%eax
5cf3bb:	8d 0c 76             	lea    (%esi,%esi,2),%ecx
5cf3be:	39 34 c8             	cmp    %esi,(%eax,%ecx,8)
5cf3c1:	74 36                	je     0x5cf3f9
5cf3c3:	8d 14 c8             	lea    (%eax,%ecx,8),%edx
5cf3c6:	8b 4a 10             	mov    0x10(%edx),%ecx
5cf3c9:	85 c9                	test   %ecx,%ecx
5cf3cb:	74 16                	je     0x5cf3e3
5cf3cd:	3b 4f 08             	cmp    0x8(%edi),%ecx
5cf3d0:	73 11                	jae    0x5cf3e3
5cf3d2:	8b c1                	mov    %ecx,%eax
5cf3d4:	81 e1 ff 7f 00 00    	and    $0x7fff,%ecx
5cf3da:	c1 e8 0f             	shr    $0xf,%eax
5cf3dd:	03 4c 87 10          	add    0x10(%edi,%eax,4),%ecx
5cf3e1:	eb 05                	jmp    0x5cf3e8
5cf3e3:	b9 64 25 60 00       	mov    $0x602564,%ecx
5cf3e8:	ff 72 14             	push   0x14(%edx)
5cf3eb:	51                   	push   %ecx
5cf3ec:	68 94 0a 67 00       	push   $0x670a94
5cf3f1:	e8 fa bb fe ff       	call   0x5baff0
5cf3f6:	83 c4 0c             	add    $0xc,%esp
5cf3f9:	46                   	inc    %esi
5cf3fa:	3b f3                	cmp    %ebx,%esi
5cf3fc:	7c b2                	jl     0x5cf3b0
5cf3fe:	8d 4d c0             	lea    -0x40(%ebp),%ecx
5cf401:	e8 3a fe ff ff       	call   0x5cf240
5cf406:	33 f6                	xor    %esi,%esi
5cf408:	39 77 0c             	cmp    %esi,0xc(%edi)
5cf40b:	76 1c                	jbe    0x5cf429
5cf40d:	8d 5f 10             	lea    0x10(%edi),%ebx
5cf410:	e8 5b 77 ff ff       	call   0x5c6b70
5cf415:	6a 00                	push   $0x0
5cf417:	ff 33                	push   (%ebx)
5cf419:	8b c8                	mov    %eax,%ecx
5cf41b:	8b 10                	mov    (%eax),%edx
5cf41d:	ff 52 1c             	call   *0x1c(%edx)
5cf420:	46                   	inc    %esi
5cf421:	8d 5b 04             	lea    0x4(%ebx),%ebx
5cf424:	3b 77 0c             	cmp    0xc(%edi),%esi
5cf427:	72 e7                	jb     0x5cf410
5cf429:	8d 8f fc 50 03 00    	lea    0x350fc(%edi),%ecx
5cf42f:	e8 0c fe ff ff       	call   0x5cf240
5cf434:	8d 8f e0 50 03 00    	lea    0x350e0(%edi),%ecx
5cf43a:	e8 21 83 ff ff       	call   0x5c7760
5cf43f:	8d 8f d8 50 03 00    	lea    0x350d8(%edi),%ecx
5cf445:	e8 16 83 ff ff       	call   0x5c7760
5cf44a:	8d 8f c0 50 03 00    	lea    0x350c0(%edi),%ecx
5cf450:	e8 cb 82 ff ff       	call   0x5c7720
5cf455:	8d 8f a4 50 03 00    	lea    0x350a4(%edi),%ecx
5cf45b:	e8 00 83 ff ff       	call   0x5c7760
5cf460:	8d 8f 9c 50 03 00    	lea    0x3509c(%edi),%ecx
5cf466:	e8 f5 82 ff ff       	call   0x5c7760
5cf46b:	8d 8f 84 50 03 00    	lea    0x35084(%edi),%ecx
5cf471:	e8 aa 82 ff ff       	call   0x5c7720
5cf476:	8d 8f 44 10 03 00    	lea    0x31044(%edi),%ecx
5cf47c:	e8 bf fd ff ff       	call   0x5cf240
5cf481:	8d 8f 14 10 00 00    	lea    0x1014(%edi),%ecx
5cf487:	e8 94 13 00 00       	call   0x5d0820
5cf48c:	5f                   	pop    %edi
5cf48d:	5e                   	pop    %esi
5cf48e:	5b                   	pop    %ebx
5cf48f:	8b e5                	mov    %ebp,%esp
5cf491:	5d                   	pop    %ebp
5cf492:	c3                   	ret
5cf493:	cc                   	int3
5cf494:	cc                   	int3
5cf495:	cc                   	int3
5cf496:	cc                   	int3
5cf497:	cc                   	int3
5cf498:	cc                   	int3
5cf499:	cc                   	int3
5cf49a:	cc                   	int3
5cf49b:	cc                   	int3
5cf49c:	cc                   	int3
5cf49d:	cc                   	int3
5cf49e:	cc                   	int3
5cf49f:	cc                   	int3
5cf4a0:	55                   	push   %ebp
5cf4a1:	8b ec                	mov    %esp,%ebp
5cf4a3:	56                   	push   %esi
5cf4a4:	8b f1                	mov    %ecx,%esi
5cf4a6:	e8 15 fe ff ff       	call   0x5cf2c0
5cf4ab:	f6 45 08 01          	testb  $0x1,0x8(%ebp)
5cf4af:	74 0e                	je     0x5cf4bf
5cf4b1:	68 30 51 03 00       	push   $0x35130
5cf4b6:	56                   	push   %esi
5cf4b7:	e8 99 1d 00 00       	call   0x5d1255
5cf4bc:	83 c4 08             	add    $0x8,%esp
5cf4bf:	8b c6                	mov    %esi,%eax
5cf4c1:	5e                   	pop    %esi
5cf4c2:	5d                   	pop    %ebp
5cf4c3:	c2 04 00             	ret    $0x4
5cf4c6:	cc                   	int3
5cf4c7:	cc                   	int3
5cf4c8:	cc                   	int3
5cf4c9:	cc                   	int3
5cf4ca:	cc                   	int3
5cf4cb:	cc                   	int3
5cf4cc:	cc                   	int3
5cf4cd:	cc                   	int3
5cf4ce:	cc                   	int3
5cf4cf:	cc                   	int3
5cf4d0:	55                   	push   %ebp
5cf4d1:	8b ec                	mov    %esp,%ebp
5cf4d3:	83 ec 08             	sub    $0x8,%esp
5cf4d6:	56                   	push   %esi
5cf4d7:	57                   	push   %edi
5cf4d8:	8b f9                	mov    %ecx,%edi
5cf4da:	8d 8f b8 50 03 00    	lea    0x350b8(%edi),%ecx
5cf4e0:	e8 3b 84 ff ff       	call   0x5c7920
5cf4e5:	8b 45 08             	mov    0x8(%ebp),%eax
5cf4e8:	8d 8f fc 50 03 00    	lea    0x350fc(%edi),%ecx
5cf4ee:	89 45 f8             	mov    %eax,-0x8(%ebp)
5cf4f1:	8b 45 0c             	mov    0xc(%ebp),%eax
5cf4f4:	89 45 fc             	mov    %eax,-0x4(%ebp)
5cf4f7:	8d 45 f8             	lea    -0x8(%ebp),%eax
5cf4fa:	6a 01                	push   $0x1
5cf4fc:	50                   	push   %eax
5cf4fd:	e8 ee f7 ff ff       	call   0x5cecf0
5cf502:	8d 8f b8 50 03 00    	lea    0x350b8(%edi),%ecx
5cf508:	e8 c3 8b ff ff       	call   0x5c80d0
5cf50d:	5f                   	pop    %edi
5cf50e:	5e                   	pop    %esi
5cf50f:	8b e5                	mov    %ebp,%esp
5cf511:	5d                   	pop    %ebp
5cf512:	c2 08 00             	ret    $0x8
5cf515:	cc                   	int3
5cf516:	cc                   	int3
5cf517:	cc                   	int3
5cf518:	cc                   	int3
5cf519:	cc                   	int3
5cf51a:	cc                   	int3
5cf51b:	cc                   	int3
5cf51c:	cc                   	int3
5cf51d:	cc                   	int3
5cf51e:	cc                   	int3
5cf51f:	cc                   	int3
5cf520:	55                   	push   %ebp
5cf521:	8b ec                	mov    %esp,%ebp
5cf523:	51                   	push   %ecx
5cf524:	53                   	push   %ebx
5cf525:	8b 5d 0c             	mov    0xc(%ebp),%ebx
5cf528:	56                   	push   %esi
5cf529:	8b f1                	mov    %ecx,%esi
5cf52b:	81 fb 00 04 00 00    	cmp    $0x400,%ebx
5cf531:	7c 1a                	jl     0x5cf54d
5cf533:	53                   	push   %ebx
5cf534:	68 b0 0a 67 00       	push   $0x670ab0
5cf539:	68 62 01 00 00       	push   $0x162
5cf53e:	68 c8 08 67 00       	push   $0x6708c8
5cf543:	e8 28 bf fe ff       	call   0x5bb470
5cf548:	83 c4 10             	add    $0x10,%esp
5cf54b:	eb 22                	jmp    0x5cf56f
5cf54d:	8b 56 08             	mov    0x8(%esi),%edx
5cf550:	81 fa 00 00 00 02    	cmp    $0x2000000,%edx
5cf556:	72 26                	jb     0x5cf57e
5cf558:	68 f0 0a 67 00       	push   $0x670af0
5cf55d:	68 68 01 00 80       	push   $0x80000168
5cf562:	68 c8 08 67 00       	push   $0x6708c8
5cf567:	e8 f4 be fe ff       	call   0x5bb460
5cf56c:	83 c4 0c             	add    $0xc,%esp
5cf56f:	84 c0                	test   %al,%al
5cf571:	75 01                	jne    0x5cf574
5cf573:	cc                   	int3
5cf574:	5e                   	pop    %esi
5cf575:	33 c0                	xor    %eax,%eax
5cf577:	5b                   	pop    %ebx
5cf578:	8b e5                	mov    %ebp,%esp
5cf57a:	5d                   	pop    %ebp
5cf57b:	c2 08 00             	ret    $0x8
5cf57e:	8b ca                	mov    %edx,%ecx
5cf580:	81 e2 ff 7f 00 00    	and    $0x7fff,%edx
5cf586:	c1 e9 0f             	shr    $0xf,%ecx
5cf589:	57                   	push   %edi
5cf58a:	8d 04 1a             	lea    (%edx,%ebx,1),%eax
5cf58d:	3d 00 80 00 00       	cmp    $0x8000,%eax
5cf592:	1b ff                	sbb    %edi,%edi
5cf594:	23 fa                	and    %edx,%edi
5cf596:	3d 00 80 00 00       	cmp    $0x8000,%eax
5cf59b:	89 7d fc             	mov    %edi,-0x4(%ebp)
5cf59e:	8d 79 01             	lea    0x1(%ecx),%edi
5cf5a1:	0f 42 f9             	cmovb  %ecx,%edi
5cf5a4:	3b 7e 0c             	cmp    0xc(%esi),%edi
5cf5a7:	75 63                	jne    0x5cf60c
5cf5a9:	e8 c2 75 ff ff       	call   0x5c6b70
5cf5ae:	6a 00                	push   $0x0
5cf5b0:	6a 00                	push   $0x0
5cf5b2:	68 7c 01 00 00       	push   $0x17c
5cf5b7:	8b 08                	mov    (%eax),%ecx
5cf5b9:	68 c8 08 67 00       	push   $0x6708c8
5cf5be:	68 00 80 00 00       	push   $0x8000
5cf5c3:	8b 51 08             	mov    0x8(%ecx),%edx
5cf5c6:	8b c8                	mov    %eax,%ecx
5cf5c8:	ff d2                	call   *%edx
5cf5ca:	89 45 0c             	mov    %eax,0xc(%ebp)
5cf5cd:	8b 46 08             	mov    0x8(%esi),%eax
5cf5d0:	3d 00 00 80 01       	cmp    $0x1800000,%eax
5cf5d5:	72 24                	jb     0x5cf5fb
5cf5d7:	b9 00 00 00 02       	mov    $0x2000000,%ecx
5cf5dc:	2b c8                	sub    %eax,%ecx
5cf5de:	51                   	push   %ecx
5cf5df:	68 28 0b 67 00       	push   $0x670b28
5cf5e4:	68 83 01 00 00       	push   $0x183
5cf5e9:	68 c8 08 67 00       	push   $0x6708c8
5cf5ee:	e8 7d be fe ff       	call   0x5bb470
5cf5f3:	83 c4 10             	add    $0x10,%esp
5cf5f6:	84 c0                	test   %al,%al
5cf5f8:	75 01                	jne    0x5cf5fb
5cf5fa:	cc                   	int3
5cf5fb:	8b 46 0c             	mov    0xc(%esi),%eax
5cf5fe:	8b 4d 0c             	mov    0xc(%ebp),%ecx
5cf601:	89 4c 86 10          	mov    %ecx,0x10(%esi,%eax,4)
5cf605:	8b c1                	mov    %ecx,%eax
5cf607:	ff 46 0c             	incl   0xc(%esi)
5cf60a:	eb 04                	jmp    0x5cf610
5cf60c:	8b 44 be 10          	mov    0x10(%esi,%edi,4),%eax
5cf610:	03 45 fc             	add    -0x4(%ebp),%eax
5cf613:	53                   	push   %ebx
5cf614:	ff 75 08             	push   0x8(%ebp)
5cf617:	50                   	push   %eax
5cf618:	e8 b3 37 00 00       	call   0x5d2dd0
5cf61d:	8b 8e 78 10 03 00    	mov    0x31078(%esi),%ecx
5cf623:	83 c4 0c             	add    $0xc,%esp
5cf626:	c1 e7 0f             	shl    $0xf,%edi
5cf629:	03 7d fc             	add    -0x4(%ebp),%edi
5cf62c:	8d 04 1f             	lea    (%edi,%ebx,1),%eax
5cf62f:	89 46 08             	mov    %eax,0x8(%esi)
5cf632:	89 bc 8e 7c 10 03 00 	mov    %edi,0x3107c(%esi,%ecx,4)
5cf639:	ff 86 78 10 03 00    	incl   0x31078(%esi)
5cf63f:	81 be 78 10 03 00 00 	cmpl   $0x1000,0x31078(%esi)
5cf646:	10 00 00
5cf649:	7c 0a                	jl     0x5cf655
5cf64b:	c7 86 78 10 03 00 00 	movl   $0x0,0x31078(%esi)
5cf652:	00 00 00
5cf655:	8b c7                	mov    %edi,%eax
5cf657:	5f                   	pop    %edi
5cf658:	5e                   	pop    %esi
5cf659:	5b                   	pop    %ebx
5cf65a:	8b e5                	mov    %ebp,%esp
5cf65c:	5d                   	pop    %ebp
5cf65d:	c2 08 00             	ret    $0x8
5cf660:	55                   	push   %ebp
5cf661:	8b ec                	mov    %esp,%ebp
5cf663:	51                   	push   %ecx
5cf664:	53                   	push   %ebx
5cf665:	8b d9                	mov    %ecx,%ebx
5cf667:	56                   	push   %esi
5cf668:	57                   	push   %edi
5cf669:	8d b3 7c 50 03 00    	lea    0x3507c(%ebx),%esi
5cf66f:	8b ce                	mov    %esi,%ecx
5cf671:	89 75 fc             	mov    %esi,-0x4(%ebp)
5cf674:	e8 a7 82 ff ff       	call   0x5c7920
5cf679:	bf 00 10 00 00       	mov    $0x1000,%edi
5cf67e:	39 7d 08             	cmp    %edi,0x8(%ebp)
5cf681:	0f 42 7d 08          	cmovb  0x8(%ebp),%edi
5cf685:	57                   	push   %edi
5cf686:	68 20 09 67 00       	push   $0x670920
5cf68b:	89 7d 08             	mov    %edi,0x8(%ebp)
5cf68e:	e8 6d c7 fe ff       	call   0x5bbe00
5cf693:	8b 83 78 10 03 00    	mov    0x31078(%ebx),%eax
5cf699:	83 c4 08             	add    $0x8,%esp
5cf69c:	2b c7                	sub    %edi,%eax
5cf69e:	05 00 10 00 00       	add    $0x1000,%eax
5cf6a3:	85 ff                	test   %edi,%edi
5cf6a5:	74 59                	je     0x5cf700
5cf6a7:	8b f8                	mov    %eax,%edi
5cf6a9:	81 e7 ff 0f 00 80    	and    $0x80000fff,%edi
5cf6af:	79 08                	jns    0x5cf6b9
5cf6b1:	4f                   	dec    %edi
5cf6b2:	81 cf 00 f0 ff ff    	or     $0xfffff000,%edi
5cf6b8:	47                   	inc    %edi
5cf6b9:	8b 75 08             	mov    0x8(%ebp),%esi
5cf6bc:	3d 00 10 00 00       	cmp    $0x1000,%eax
5cf6c1:	0f 4c f8             	cmovl  %eax,%edi
5cf6c4:	8b 84 bb 7c 10 03 00 	mov    0x3107c(%ebx,%edi,4),%eax
5cf6cb:	85 c0                	test   %eax,%eax
5cf6cd:	74 1c                	je     0x5cf6eb
5cf6cf:	8b c8                	mov    %eax,%ecx
5cf6d1:	25 ff 7f 00 00       	and    $0x7fff,%eax
5cf6d6:	c1 e9 0f             	shr    $0xf,%ecx
5cf6d9:	03 44 8b 10          	add    0x10(%ebx,%ecx,4),%eax
5cf6dd:	50                   	push   %eax
5cf6de:	68 68 09 67 00       	push   $0x670968
5cf6e3:	e8 18 c7 fe ff       	call   0x5bbe00
5cf6e8:	83 c4 08             	add    $0x8,%esp
5cf6eb:	8d 47 01             	lea    0x1(%edi),%eax
5cf6ee:	33 ff                	xor    %edi,%edi
5cf6f0:	3d 00 10 00 00       	cmp    $0x1000,%eax
5cf6f5:	0f 4c f8             	cmovl  %eax,%edi
5cf6f8:	83 ee 01             	sub    $0x1,%esi
5cf6fb:	75 c7                	jne    0x5cf6c4
5cf6fd:	8b 75 fc             	mov    -0x4(%ebp),%esi
5cf700:	8b ce                	mov    %esi,%ecx
5cf702:	e8 c9 89 ff ff       	call   0x5c80d0
5cf707:	5f                   	pop    %edi
5cf708:	5e                   	pop    %esi
5cf709:	5b                   	pop    %ebx
5cf70a:	8b e5                	mov    %ebp,%esp
5cf70c:	5d                   	pop    %ebp
5cf70d:	c2 04 00             	ret    $0x4
5cf710:	6a 00                	push   $0x0
5cf712:	e8 19 01 00 00       	call   0x5cf830
5cf717:	c3                   	ret
5cf718:	cc                   	int3
5cf719:	cc                   	int3
5cf71a:	cc                   	int3
5cf71b:	cc                   	int3
5cf71c:	cc                   	int3
5cf71d:	cc                   	int3
5cf71e:	cc                   	int3
5cf71f:	cc                   	int3
5cf720:	8b d1                	mov    %ecx,%edx
5cf722:	56                   	push   %esi
5cf723:	57                   	push   %edi
5cf724:	8b 7a 28             	mov    0x28(%edx),%edi
5cf727:	8b 42 14             	mov    0x14(%edx),%eax
5cf72a:	8d 9b 00 00 00 00    	lea    0x0(%ebx),%ebx
5cf730:	8d 0c 40             	lea    (%eax,%eax,2),%ecx
5cf733:	c1 e1 03             	shl    $0x3,%ecx
5cf736:	8d 34 39             	lea    (%ecx,%edi,1),%esi
5cf739:	83 f8 ff             	cmp    $0xffffffff,%eax
5cf73c:	75 02                	jne    0x5cf740