5c036f:	cc                   	int3
5c0370:	55                   	push   %ebp
5c0371:	8b ec                	mov    %esp,%ebp
5c0373:	56                   	push   %esi
5c0374:	8b f1                	mov    %ecx,%esi
5c0376:	8b 06                	mov    (%esi),%eax
5c0378:	85 c0                	test   %eax,%eax
5c037a:	74 2c                	je     0x5c03a8
5c037c:	8b 4e 08             	mov    0x8(%esi),%ecx
5c037f:	2b c8                	sub    %eax,%ecx
5c0381:	83 e1 f8             	and    $0xfffffff8,%ecx
5c0384:	81 f9 00 10 00 00    	cmp    $0x1000,%ecx
5c038a:	72 12                	jb     0x5c039e
5c038c:	8b 50 fc             	mov    -0x4(%eax),%edx
5c038f:	83 c1 23             	add    $0x23,%ecx
5c0392:	2b c2                	sub    %edx,%eax
5c0394:	83 c0 fc             	add    $0xfffffffc,%eax
5c0397:	83 f8 1f             	cmp    $0x1f,%eax
5c039a:	77 28                	ja     0x5c03c4
5c039c:	8b c2                	mov    %edx,%eax
5c039e:	51                   	push   %ecx
5c039f:	50                   	push   %eax
5c03a0:	e8 b0 0e 01 00       	call   0x5d1255
5c03a5:	83 c4 08             	add    $0x8,%esp
5c03a8:	8b 4d 08             	mov    0x8(%ebp),%ecx
5c03ab:	8b 45 0c             	mov    0xc(%ebp),%eax
5c03ae:	89 0e                	mov    %ecx,(%esi)
5c03b0:	8d 04 c1             	lea    (%ecx,%eax,8),%eax
5c03b3:	89 46 04             	mov    %eax,0x4(%esi)
5c03b6:	8b 45 10             	mov    0x10(%ebp),%eax
5c03b9:	8d 04 c1             	lea    (%ecx,%eax,8),%eax
5c03bc:	89 46 08             	mov    %eax,0x8(%esi)
5c03bf:	5e                   	pop    %esi
5c03c0:	5d                   	pop    %ebp
5c03c1:	c2 0c 00             	ret    $0xc
5c03c4:	e8 27 5e 01 00       	call   0x5d61f0
5c03c9:	cc                   	int3
5c03ca:	cc                   	int3
5c03cb:	cc                   	int3
5c03cc:	cc                   	int3
5c03cd:	cc                   	int3
5c03ce:	cc                   	int3
5c03cf:	cc                   	int3
5c03d0:	55                   	push   %ebp
5c03d1:	8b ec                	mov    %esp,%ebp
5c03d3:	8b 45 0c             	mov    0xc(%ebp),%eax
5c03d6:	8d 0c 85 00 00 00 00 	lea    0x0(,%eax,4),%ecx
5c03dd:	8b 45 08             	mov    0x8(%ebp),%eax
5c03e0:	81 f9 00 10 00 00    	cmp    $0x1000,%ecx
5c03e6:	72 12                	jb     0x5c03fa
5c03e8:	8b 50 fc             	mov    -0x4(%eax),%edx
5c03eb:	83 c1 23             	add    $0x23,%ecx
5c03ee:	2b c2                	sub    %edx,%eax
5c03f0:	83 c0 fc             	add    $0xfffffffc,%eax
5c03f3:	83 f8 1f             	cmp    $0x1f,%eax
5c03f6:	77 10                	ja     0x5c0408
5c03f8:	8b c2                	mov    %edx,%eax
5c03fa:	51                   	push   %ecx
5c03fb:	50                   	push   %eax
5c03fc:	e8 54 0e 01 00       	call   0x5d1255
5c0401:	83 c4 08             	add    $0x8,%esp
5c0404:	5d                   	pop    %ebp
5c0405:	c2 08 00             	ret    $0x8
5c0408:	e8 e3 5d 01 00       	call   0x5d61f0
5c040d:	cc                   	int3
5c040e:	cc                   	int3
5c040f:	cc                   	int3
5c0410:	55                   	push   %ebp
5c0411:	8b ec                	mov    %esp,%ebp
5c0413:	8b 4d 0c             	mov    0xc(%ebp),%ecx
5c0416:	8b 45 08             	mov    0x8(%ebp),%eax
5c0419:	c1 e1 05             	shl    $0x5,%ecx
5c041c:	81 f9 00 10 00 00    	cmp    $0x1000,%ecx
5c0422:	72 12                	jb     0x5c0436
5c0424:	8b 50 fc             	mov    -0x4(%eax),%edx
5c0427:	83 c1 23             	add    $0x23,%ecx
5c042a:	2b c2                	sub    %edx,%eax
5c042c:	83 c0 fc             	add    $0xfffffffc,%eax
5c042f:	83 f8 1f             	cmp    $0x1f,%eax
5c0432:	77 10                	ja     0x5c0444
5c0434:	8b c2                	mov    %edx,%eax
5c0436:	51                   	push   %ecx
5c0437:	50                   	push   %eax
5c0438:	e8 18 0e 01 00       	call   0x5d1255
5c043d:	83 c4 08             	add    $0x8,%esp
5c0440:	5d                   	pop    %ebp
5c0441:	c2 08 00             	ret    $0x8
5c0444:	e8 a7 5d 01 00       	call   0x5d61f0
5c0449:	cc                   	int3
5c044a:	cc                   	int3
5c044b:	cc                   	int3
5c044c:	cc                   	int3
5c044d:	cc                   	int3
5c044e:	cc                   	int3
5c044f:	cc                   	int3
5c0450:	55                   	push   %ebp
5c0451:	8b ec                	mov    %esp,%ebp
5c0453:	8b 45 0c             	mov    0xc(%ebp),%eax
5c0456:	8d 0c c5 00 00 00 00 	lea    0x0(,%eax,8),%ecx
5c045d:	8b 45 08             	mov    0x8(%ebp),%eax
5c0460:	81 f9 00 10 00 00    	cmp    $0x1000,%ecx
5c0466:	72 12                	jb     0x5c047a
5c0468:	8b 50 fc             	mov    -0x4(%eax),%edx
5c046b:	83 c1 23             	add    $0x23,%ecx
5c046e:	2b c2                	sub    %edx,%eax
5c0470:	83 c0 fc             	add    $0xfffffffc,%eax
5c0473:	83 f8 1f             	cmp    $0x1f,%eax
5c0476:	77 10                	ja     0x5c0488
5c0478:	8b c2                	mov    %edx,%eax
5c047a:	51                   	push   %ecx
5c047b:	50                   	push   %eax
5c047c:	e8 d4 0d 01 00       	call   0x5d1255
5c0481:	83 c4 08             	add    $0x8,%esp
5c0484:	5d                   	pop    %ebp
5c0485:	c2 08 00             	ret    $0x8
5c0488:	e8 63 5d 01 00       	call   0x5d61f0
5c048d:	cc                   	int3
5c048e:	cc                   	int3
5c048f:	cc                   	int3
5c0490:	55                   	push   %ebp
5c0491:	8b ec                	mov    %esp,%ebp
5c0493:	56                   	push   %esi
5c0494:	8b 75 08             	mov    0x8(%ebp),%esi
5c0497:	80 7e 08 00          	cmpb   $0x0,0x8(%esi)
5c049b:	74 06                	je     0x5c04a3
5c049d:	83 7e 04 00          	cmpl   $0x0,0x4(%esi)
5c04a1:	74 27                	je     0x5c04ca
5c04a3:	8b 4e 0c             	mov    0xc(%esi),%ecx
5c04a6:	e8 55 eb ff ff       	call   0x5bf000
5c04ab:	84 c0                	test   %al,%al
5c04ad:	74 0f                	je     0x5c04be
5c04af:	80 7e 08 00          	cmpb   $0x0,0x8(%esi)
5c04b3:	75 09                	jne    0x5c04be
5c04b5:	8b 46 0c             	mov    0xc(%esi),%eax
5c04b8:	8b 40 48             	mov    0x48(%eax),%eax
5c04bb:	89 46 0c             	mov    %eax,0xc(%esi)
5c04be:	8b 46 0c             	mov    0xc(%esi),%eax
5c04c1:	3b 46 10             	cmp    0x10(%esi),%eax
5c04c4:	0f 94 c0             	sete   %al
5c04c7:	88 46 08             	mov    %al,0x8(%esi)
5c04ca:	5e                   	pop    %esi
5c04cb:	5d                   	pop    %ebp
5c04cc:	c3                   	ret
5c04cd:	cc                   	int3
5c04ce:	cc                   	int3
5c04cf:	cc                   	int3
5c04d0:	55                   	push   %ebp
5c04d1:	8b ec                	mov    %esp,%ebp
5c04d3:	51                   	push   %ecx
5c04d4:	56                   	push   %esi
5c04d5:	b9 78 71 69 00       	mov    $0x697178,%ecx
5c04da:	e8 21 73 00 00       	call   0x5c7800
5c04df:	8b f0                	mov    %eax,%esi
5c04e1:	85 f6                	test   %esi,%esi
5c04e3:	75 0f                	jne    0x5c04f4
5c04e5:	e8 c6 00 00 00       	call   0x5c05b0
5c04ea:	8b f0                	mov    %eax,%esi
5c04ec:	85 f6                	test   %esi,%esi
5c04ee:	0f 84 a7 00 00 00    	je     0x5c059b
5c04f4:	83 7e 04 00          	cmpl   $0x0,0x4(%esi)
5c04f8:	75 0a                	jne    0x5c0504
5c04fa:	80 7e 08 00          	cmpb   $0x0,0x8(%esi)
5c04fe:	0f 85 97 00 00 00    	jne    0x5c059b
5c0504:	8b 46 0c             	mov    0xc(%esi),%eax
5c0507:	57                   	push   %edi
5c0508:	8b 7d 08             	mov    0x8(%ebp),%edi
5c050b:	3b 78 04             	cmp    0x4(%eax),%edi
5c050e:	74 50                	je     0x5c0560
5c0510:	53                   	push   %ebx
5c0511:	8b d8                	mov    %eax,%ebx
5c0513:	8b 43 4c             	mov    0x4c(%ebx),%eax
5c0516:	85 c0                	test   %eax,%eax
5c0518:	74 12                	je     0x5c052c
5c051a:	8d 9b 00 00 00 00    	lea    0x0(%ebx),%ebx
5c0520:	39 78 04             	cmp    %edi,0x4(%eax)
5c0523:	74 37                	je     0x5c055c
5c0525:	8b 40 50             	mov    0x50(%eax),%eax
5c0528:	85 c0                	test   %eax,%eax
5c052a:	75 f4                	jne    0x5c0520
5c052c:	8b 43 60             	mov    0x60(%ebx),%eax
5c052f:	b9 78 71 69 00       	mov    $0x697178,%ecx
5c0534:	89 45 fc             	mov    %eax,-0x4(%ebp)
5c0537:	e8 c4 72 00 00       	call   0x5c7800
5c053c:	85 c0                	test   %eax,%eax
5c053e:	75 05                	jne    0x5c0545
5c0540:	e8 6b 00 00 00       	call   0x5c05b0
5c0545:	ff 75 0c             	push   0xc(%ebp)
5c0548:	8b 4d fc             	mov    -0x4(%ebp),%ecx
5c054b:	53                   	push   %ebx
5c054c:	57                   	push   %edi
5c054d:	50                   	push   %eax
5c054e:	e8 8d d9 ff ff       	call   0x5bdee0
5c0553:	8b 4b 4c             	mov    0x4c(%ebx),%ecx
5c0556:	89 48 50             	mov    %ecx,0x50(%eax)
5c0559:	89 43 4c             	mov    %eax,0x4c(%ebx)
5c055c:	89 46 0c             	mov    %eax,0xc(%esi)
5c055f:	5b                   	pop    %ebx
5c0560:	8b 4e 1c             	mov    0x1c(%esi),%ecx
5c0563:	8b 40 58             	mov    0x58(%eax),%eax
5c0566:	83 4c c1 04 04       	orl    $0x4,0x4(%ecx,%eax,8)
5c056b:	8b 7e 0c             	mov    0xc(%esi),%edi
5c056e:	8b 4f 10             	mov    0x10(%edi),%ecx
5c0571:	ff 47 14             	incl   0x14(%edi)
5c0574:	8d 41 01             	lea    0x1(%ecx),%eax
5c0577:	89 47 10             	mov    %eax,0x10(%edi)
5c057a:	85 c9                	test   %ecx,%ecx
5c057c:	75 11                	jne    0x5c058f
5c057e:	e8 4d 6d 00 00       	call   0x5c72d0
5c0583:	89 47 08             	mov    %eax,0x8(%edi)
5c0586:	8b 45 10             	mov    0x10(%ebp),%eax
5c0589:	89 57 0c             	mov    %edx,0xc(%edi)
5c058c:	89 47 54             	mov    %eax,0x54(%edi)
5c058f:	5f                   	pop    %edi
5c0590:	c6 46 08 00          	movb   $0x0,0x8(%esi)
5c0594:	8b c6                	mov    %esi,%eax
5c0596:	5e                   	pop    %esi
5c0597:	8b e5                	mov    %ebp,%esp
5c0599:	5d                   	pop    %ebp
5c059a:	c3                   	ret
5c059b:	33 c0                	xor    %eax,%eax
5c059d:	5e                   	pop    %esi
5c059e:	8b e5                	mov    %ebp,%esp
5c05a0:	5d                   	pop    %ebp
5c05a1:	c3                   	ret
5c05a2:	cc                   	int3
5c05a3:	cc                   	int3
5c05a4:	cc                   	int3
5c05a5:	cc                   	int3
5c05a6:	cc                   	int3
5c05a7:	cc                   	int3
5c05a8:	cc                   	int3
5c05a9:	cc                   	int3
5c05aa:	cc                   	int3
5c05ab:	cc                   	int3
5c05ac:	cc                   	int3
5c05ad:	cc                   	int3
5c05ae:	cc                   	int3
5c05af:	cc                   	int3
5c05b0:	55                   	push   %ebp
5c05b1:	8b ec                	mov    %esp,%ebp
5c05b3:	6a ff                	push   $0xffffffff
5c05b5:	68 47 02 60 00       	push   $0x600247
5c05ba:	64 a1 00 00 00 00    	mov    %fs:0x0,%eax
5c05c0:	50                   	push   %eax
5c05c1:	64 89 25 00 00 00 00 	mov    %esp,%fs:0x0
5c05c8:	51                   	push   %ecx
5c05c9:	b9 78 71 69 00       	mov    $0x697178,%ecx
5c05ce:	e8 2d 72 00 00       	call   0x5c7800
5c05d3:	85 c0                	test   %eax,%eax
5c05d5:	74 19                	je     0x5c05f0
5c05d7:	68 f0 af 66 00       	push   $0x66aff0
5c05dc:	6a 4a                	push   $0x4a
5c05de:	68 00 b0 66 00       	push   $0x66b000
5c05e3:	e8 78 ae ff ff       	call   0x5bb460
5c05e8:	83 c4 0c             	add    $0xc,%esp
5c05eb:	84 c0                	test   %al,%al
5c05ed:	75 01                	jne    0x5c05f0
5c05ef:	cc                   	int3
5c05f0:	53                   	push   %ebx
5c05f1:	56                   	push   %esi
5c05f2:	57                   	push   %edi
5c05f3:	68 80 01 00 00       	push   $0x180
5c05f8:	e8 28 0c 01 00       	call   0x5d1225
5c05fd:	83 c4 04             	add    $0x4,%esp
5c0600:	89 45 f0             	mov    %eax,-0x10(%ebp)
5c0603:	c7 45 fc 00 00 00 00 	movl   $0x0,-0x4(%ebp)
5c060a:	85 c0                	test   %eax,%eax
5c060c:	74 0b                	je     0x5c0619
5c060e:	8b c8                	mov    %eax,%ecx
5c0610:	e8 bb ce ff ff       	call   0x5bd4d0
5c0615:	8b d8                	mov    %eax,%ebx
5c0617:	eb 02                	jmp    0x5c061b
5c0619:	33 db                	xor    %ebx,%ebx
5c061b:	c7 45 fc ff ff ff ff 	movl   $0xffffffff,-0x4(%ebp)
5c0622:	b9 78 71 69 00       	mov    $0x697178,%ecx
5c0627:	53                   	push   %ebx
5c0628:	e8 f3 73 00 00       	call   0x5c7a20
5c062d:	e8 be 18 f2 ff       	call   0x4e1ef0
5c0632:	8b f8                	mov    %eax,%edi
5c0634:	ff 15 24 21 60 00    	call   *0x602124
5c063a:	b9 78 71 69 00       	mov    $0x697178,%ecx
5c063f:	8b f0                	mov    %eax,%esi
5c0641:	e8 ba 71 00 00       	call   0x5c7800
5c0646:	57                   	push   %edi
5c0647:	56                   	push   %esi
5c0648:	50                   	push   %eax
5c0649:	b9 80 71 69 00       	mov    $0x697180,%ecx
5c064e:	e8 dd d6 ff ff       	call   0x5bdd30
5c0653:	8b 4d f4             	mov    -0xc(%ebp),%ecx
5c0656:	5f                   	pop    %edi
5c0657:	89 83 24 01 00 00    	mov    %eax,0x124(%ebx)
5c065d:	8b c3                	mov    %ebx,%eax
5c065f:	5e                   	pop    %esi
5c0660:	5b                   	pop    %ebx
5c0661:	64 89 0d 00 00 00 00 	mov    %ecx,%fs:0x0
5c0668:	8b e5                	mov    %ebp,%esp
5c066a:	5d                   	pop    %ebp
5c066b:	c3                   	ret
5c066c:	cc                   	int3
5c066d:	cc                   	int3
5c066e:	cc                   	int3
5c066f:	cc                   	int3
5c0670:	55                   	push   %ebp
5c0671:	8b ec                	mov    %esp,%ebp
5c0673:	56                   	push   %esi
5c0674:	8b 75 08             	mov    0x8(%ebp),%esi
5c0677:	0f b6 06             	movzbl (%esi),%eax
5c067a:	35 c5 9d 1c 81       	xor    $0x811c9dc5,%eax
5c067f:	69 c8 93 01 00 01    	imul   $0x1000193,%eax,%ecx
5c0685:	0f b6 46 01          	movzbl 0x1(%esi),%eax
5c0689:	33 c8                	xor    %eax,%ecx
5c068b:	0f b6 46 02          	movzbl 0x2(%esi),%eax
5c068f:	69 c9 93 01 00 01    	imul   $0x1000193,%ecx,%ecx
5c0695:	33 c8                	xor    %eax,%ecx
5c0697:	0f b6 46 03          	movzbl 0x3(%esi),%eax
5c069b:	69 c9 93 01 00 01    	imul   $0x1000193,%ecx,%ecx
5c06a1:	33 c8                	xor    %eax,%ecx
5c06a3:	0f b6 46 04          	movzbl 0x4(%esi),%eax
5c06a7:	35 c5 9d 1c 81       	xor    $0x811c9dc5,%eax
5c06ac:	69 d1 93 01 00 01    	imul   $0x1000193,%ecx,%edx
5c06b2:	69 c8 93 01 00 01    	imul   $0x1000193,%eax,%ecx
5c06b8:	0f b6 46 05          	movzbl 0x5(%esi),%eax
5c06bc:	33 c8                	xor    %eax,%ecx
5c06be:	0f b6 46 06          	movzbl 0x6(%esi),%eax
5c06c2:	69 c9 93 01 00 01    	imul   $0x1000193,%ecx,%ecx
5c06c8:	33 c8                	xor    %eax,%ecx
5c06ca:	0f b6 46 07          	movzbl 0x7(%esi),%eax
5c06ce:	69 c9 93 01 00 01    	imul   $0x1000193,%ecx,%ecx
5c06d4:	5e                   	pop    %esi
5c06d5:	33 c8                	xor    %eax,%ecx
5c06d7:	69 c1 93 01 00 01    	imul   $0x1000193,%ecx,%eax
5c06dd:	03 c0                	add    %eax,%eax
5c06df:	33 c2                	xor    %edx,%eax
5c06e1:	5d                   	pop    %ebp
5c06e2:	c2 04 00             	ret    $0x4
5c06e5:	cc                   	int3
5c06e6:	cc                   	int3
5c06e7:	cc                   	int3
5c06e8:	cc                   	int3
5c06e9:	cc                   	int3
5c06ea:	cc                   	int3
5c06eb:	cc                   	int3
5c06ec:	cc                   	int3
5c06ed:	cc                   	int3
5c06ee:	cc                   	int3
5c06ef:	cc                   	int3
5c06f0:	55                   	push   %ebp
5c06f1:	8b ec                	mov    %esp,%ebp
5c06f3:	8b 45 0c             	mov    0xc(%ebp),%eax
5c06f6:	8b 00                	mov    (%eax),%eax