5c3405:	c6 45 fc 07          	movb   $0x7,-0x4(%ebp)
5c3409:	8b 45 b8             	mov    -0x48(%ebp),%eax
5c340c:	89 45 d8             	mov    %eax,-0x28(%ebp)
5c340f:	85 c0                	test   %eax,%eax
5c3411:	74 26                	je     0x5c3439
5c3413:	3d cc cc cc 0c       	cmp    $0xccccccc,%eax
5c3418:	0f 87 02 02 00 00    	ja     0x5c3620
5c341e:	8d 45 d8             	lea    -0x28(%ebp),%eax
5c3421:	50                   	push   %eax
5c3422:	8d 4d dc             	lea    -0x24(%ebp),%ecx
5c3425:	e8 96 de ff ff       	call   0x5c12c0
5c342a:	8b 4d e4             	mov    -0x1c(%ebp),%ecx
5c342d:	8b 7d dc             	mov    -0x24(%ebp),%edi
5c3430:	8b 5d e0             	mov    -0x20(%ebp),%ebx
5c3433:	89 4d e8             	mov    %ecx,-0x18(%ebp)
5c3436:	89 7d f0             	mov    %edi,-0x10(%ebp)
5c3439:	8b 45 b4             	mov    -0x4c(%ebp),%eax
5c343c:	8b 30                	mov    (%eax),%esi
5c343e:	3b f0                	cmp    %eax,%esi
5c3440:	0f 84 81 00 00 00    	je     0x5c34c7
5c3446:	8b 4e 1c             	mov    0x1c(%esi),%ecx
5c3449:	8b 46 18             	mov    0x18(%esi),%eax
5c344c:	8b 56 08             	mov    0x8(%esi),%edx
5c344f:	8b 7e 0c             	mov    0xc(%esi),%edi
5c3452:	89 4d f0             	mov    %ecx,-0x10(%ebp)
5c3455:	89 8d 78 ff ff ff    	mov    %ecx,-0x88(%ebp)
5c345b:	8b 4e 14             	mov    0x14(%esi),%ecx
5c345e:	89 4d d8             	mov    %ecx,-0x28(%ebp)
5c3461:	89 8d 7c ff ff ff    	mov    %ecx,-0x84(%ebp)
5c3467:	8b 4d e8             	mov    -0x18(%ebp),%ecx
5c346a:	89 95 6c ff ff ff    	mov    %edx,-0x94(%ebp)
5c3470:	89 bd 70 ff ff ff    	mov    %edi,-0x90(%ebp)
5c3476:	89 85 74 ff ff ff    	mov    %eax,-0x8c(%ebp)
5c347c:	3b 45 08             	cmp    0x8(%ebp),%eax
5c347f:	72 39                	jb     0x5c34ba
5c3481:	3b d9                	cmp    %ecx,%ebx
5c3483:	74 1c                	je     0x5c34a1
5c3485:	89 13                	mov    %edx,(%ebx)
5c3487:	89 7b 04             	mov    %edi,0x4(%ebx)
5c348a:	89 43 08             	mov    %eax,0x8(%ebx)
5c348d:	8b 45 f0             	mov    -0x10(%ebp),%eax
5c3490:	89 43 0c             	mov    %eax,0xc(%ebx)
5c3493:	8b 45 d8             	mov    -0x28(%ebp),%eax
5c3496:	89 43 10             	mov    %eax,0x10(%ebx)
5c3499:	83 c3 14             	add    $0x14,%ebx
5c349c:	89 5d e0             	mov    %ebx,-0x20(%ebp)
5c349f:	eb 19                	jmp    0x5c34ba
5c34a1:	8d 85 6c ff ff ff    	lea    -0x94(%ebp),%eax
5c34a7:	50                   	push   %eax
5c34a8:	53                   	push   %ebx
5c34a9:	8d 4d dc             	lea    -0x24(%ebp),%ecx
5c34ac:	e8 8f d4 ff ff       	call   0x5c0940
5c34b1:	8b 4d e4             	mov    -0x1c(%ebp),%ecx
5c34b4:	8b 5d e0             	mov    -0x20(%ebp),%ebx
5c34b7:	89 4d e8             	mov    %ecx,-0x18(%ebp)
5c34ba:	8b 36                	mov    (%esi),%esi
5c34bc:	3b 75 b4             	cmp    -0x4c(%ebp),%esi
5c34bf:	75 85                	jne    0x5c3446
5c34c1:	8b 7d dc             	mov    -0x24(%ebp),%edi
5c34c4:	89 7d f0             	mov    %edi,-0x10(%ebp)
5c34c7:	8b cb                	mov    %ebx,%ecx
5c34c9:	c6 45 08 00          	movb   $0x0,0x8(%ebp)
5c34cd:	ff 75 08             	push   0x8(%ebp)
5c34d0:	2b cf                	sub    %edi,%ecx
5c34d2:	b8 67 66 66 66       	mov    $0x66666667,%eax
5c34d7:	f7 e9                	imul   %ecx
5c34d9:	c1 fa 03             	sar    $0x3,%edx
5c34dc:	8b c2                	mov    %edx,%eax
5c34de:	c1 e8 1f             	shr    $0x1f,%eax
5c34e1:	03 c2                	add    %edx,%eax
5c34e3:	50                   	push   %eax
5c34e4:	53                   	push   %ebx
5c34e5:	57                   	push   %edi
5c34e6:	e8 85 de ff ff       	call   0x5c1370
5c34eb:	83 c4 10             	add    $0x10,%esp
5c34ee:	c7 45 d0 00 00 00 00 	movl   $0x0,-0x30(%ebp)
5c34f5:	c7 45 08 00 00 00 00 	movl   $0x0,0x8(%ebp)
5c34fc:	3b fb                	cmp    %ebx,%edi
5c34fe:	0f 84 8b 00 00 00    	je     0x5c358f
5c3504:	83 c7 08             	add    $0x8,%edi
5c3507:	89 7d d8             	mov    %edi,-0x28(%ebp)
5c350a:	8d 9b 00 00 00 00    	lea    0x0(%ebx),%ebx
5c3510:	8b 45 d8             	mov    -0x28(%ebp),%eax
5c3513:	8b 77 fc             	mov    -0x4(%edi),%esi
5c3516:	8b 7f f8             	mov    -0x8(%edi),%edi
5c3519:	6a 01                	push   $0x1
5c351b:	8b 00                	mov    (%eax),%eax
5c351d:	89 45 ac             	mov    %eax,-0x54(%ebp)
5c3520:	db 45 ac             	fildl  -0x54(%ebp)
5c3523:	6a 02                	push   $0x2
5c3525:	85 c0                	test   %eax,%eax
5c3527:	79 06                	jns    0x5c352f
5c3529:	d8 05 00 5e 60 00    	fadds  0x605e00
5c352f:	d9 5d ac             	fstps  -0x54(%ebp)
5c3532:	d9 45 ac             	flds   -0x54(%ebp)
5c3535:	51                   	push   %ecx
5c3536:	d9 1c 24             	fstps  (%esp)
5c3539:	e8 92 3a 00 00       	call   0x5c6fd0
5c353e:	56                   	push   %esi
5c353f:	57                   	push   %edi
5c3540:	8b 7d d8             	mov    -0x28(%ebp),%edi
5c3543:	50                   	push   %eax
5c3544:	ff 77 04             	push   0x4(%edi)
5c3547:	68 b4 c0 66 00       	push   $0x66c0b4
5c354c:	e8 af 88 ff ff       	call   0x5bbe00
5c3551:	8b 47 08             	mov    0x8(%edi),%eax
5c3554:	83 c4 20             	add    $0x20,%esp
5c3557:	8b 75 d0             	mov    -0x30(%ebp),%esi
5c355a:	85 c0                	test   %eax,%eax
5c355c:	74 1d                	je     0x5c357b
5c355e:	3b 75 0c             	cmp    0xc(%ebp),%esi
5c3561:	7c 18                	jl     0x5c357b
5c3563:	8b 4d 10             	mov    0x10(%ebp),%ecx
5c3566:	39 4d 08             	cmp    %ecx,0x8(%ebp)
5c3569:	7d 10                	jge    0x5c357b
5c356b:	6a 00                	push   $0x0
5c356d:	6a 00                	push   $0x0
5c356f:	50                   	push   %eax
5c3570:	e8 eb 6c 00 00       	call   0x5ca260
5c3575:	83 c4 0c             	add    $0xc,%esp
5c3578:	ff 45 08             	incl   0x8(%ebp)
5c357b:	83 c7 14             	add    $0x14,%edi
5c357e:	46                   	inc    %esi
5c357f:	89 75 d0             	mov    %esi,-0x30(%ebp)
5c3582:	89 7d d8             	mov    %edi,-0x28(%ebp)
5c3585:	8d 47 f8             	lea    -0x8(%edi),%eax
5c3588:	3b c3                	cmp    %ebx,%eax
5c358a:	75 84                	jne    0x5c3510
5c358c:	8b 7d f0             	mov    -0x10(%ebp),%edi
5c358f:	80 7d 14 00          	cmpb   $0x0,0x14(%ebp)
5c3593:	74 0c                	je     0x5c35a1
5c3595:	8b 45 a4             	mov    -0x5c(%ebp),%eax
5c3598:	8b 4d a0             	mov    -0x60(%ebp),%ecx
5c359b:	89 88 1c 59 00 00    	mov    %ecx,0x591c(%eax)
5c35a1:	c6 45 fc 03          	movb   $0x3,-0x4(%ebp)
5c35a5:	85 ff                	test   %edi,%edi
5c35a7:	74 55                	je     0x5c35fe
5c35a9:	8b 4d e8             	mov    -0x18(%ebp),%ecx
5c35ac:	b8 67 66 66 66       	mov    $0x66666667,%eax
5c35b1:	2b cf                	sub    %edi,%ecx
5c35b3:	f7 e9                	imul   %ecx
5c35b5:	c1 fa 03             	sar    $0x3,%edx
5c35b8:	8b c2                	mov    %edx,%eax
5c35ba:	c1 e8 1f             	shr    $0x1f,%eax
5c35bd:	03 c2                	add    %edx,%eax
5c35bf:	8d 0c 80             	lea    (%eax,%eax,4),%ecx
5c35c2:	8b c7                	mov    %edi,%eax
5c35c4:	c1 e1 02             	shl    $0x2,%ecx
5c35c7:	81 f9 00 10 00 00    	cmp    $0x1000,%ecx
5c35cd:	72 10                	jb     0x5c35df
5c35cf:	8b 78 fc             	mov    -0x4(%eax),%edi
5c35d2:	83 c1 23             	add    $0x23,%ecx
5c35d5:	2b c7                	sub    %edi,%eax
5c35d7:	83 c0 fc             	add    $0xfffffffc,%eax
5c35da:	83 f8 1f             	cmp    $0x1f,%eax
5c35dd:	77 46                	ja     0x5c3625
5c35df:	51                   	push   %ecx
5c35e0:	57                   	push   %edi
5c35e1:	e8 6f dc 00 00       	call   0x5d1255
5c35e6:	83 c4 08             	add    $0x8,%esp
5c35e9:	c7 45 dc 00 00 00 00 	movl   $0x0,-0x24(%ebp)
5c35f0:	c7 45 e0 00 00 00 00 	movl   $0x0,-0x20(%ebp)
5c35f7:	c7 45 e4 00 00 00 00 	movl   $0x0,-0x1c(%ebp)
5c35fe:	c7 45 fc ff ff ff ff 	movl   $0xffffffff,-0x4(%ebp)
5c3605:	8d 4d b0             	lea    -0x50(%ebp),%ecx
5c3608:	e8 63 e8 ff ff       	call   0x5c1e70
5c360d:	8b 4d f4             	mov    -0xc(%ebp),%ecx
5c3610:	5f                   	pop    %edi
5c3611:	5e                   	pop    %esi
5c3612:	5b                   	pop    %ebx
5c3613:	64 89 0d 00 00 00 00 	mov    %ecx,%fs:0x0
5c361a:	8b e5                	mov    %ebp,%esp
5c361c:	5d                   	pop    %ebp
5c361d:	c2 10 00             	ret    $0x10
5c3620:	e8 7b 91 e9 ff       	call   0x45c7a0
5c3625:	e8 c6 2b 01 00       	call   0x5d61f0
5c362a:	cc                   	int3
5c362b:	cc                   	int3
5c362c:	cc                   	int3
5c362d:	cc                   	int3
5c362e:	cc                   	int3
5c362f:	cc                   	int3
5c3630:	55                   	push   %ebp
5c3631:	8b ec                	mov    %esp,%ebp
5c3633:	83 ec 1c             	sub    $0x1c,%esp
5c3636:	53                   	push   %ebx
5c3637:	56                   	push   %esi
5c3638:	8d b1 14 04 00 00    	lea    0x414(%ecx),%esi
5c363e:	33 c0                	xor    %eax,%eax
5c3640:	57                   	push   %edi
5c3641:	8d 7e 1c             	lea    0x1c(%esi),%edi
5c3644:	89 45 ec             	mov    %eax,-0x14(%ebp)
5c3647:	89 7d f8             	mov    %edi,-0x8(%ebp)
5c364a:	39 45 08             	cmp    %eax,0x8(%ebp)
5c364d:	0f 84 e5 00 00 00    	je     0x5c3738
5c3653:	89 45 f4             	mov    %eax,-0xc(%ebp)
5c3656:	89 45 f0             	mov    %eax,-0x10(%ebp)
5c3659:	89 45 fc             	mov    %eax,-0x4(%ebp)
5c365c:	89 7d e8             	mov    %edi,-0x18(%ebp)
5c365f:	90                   	nop
5c3660:	8b 06                	mov    (%esi),%eax
5c3662:	33 d2                	xor    %edx,%edx
5c3664:	c1 e0 10             	shl    $0x10,%eax
5c3667:	89 45 e4             	mov    %eax,-0x1c(%ebp)
5c366a:	b8 00 00 01 00       	mov    $0x10000,%eax
5c366f:	f7 76 fc             	divl   -0x4(%esi)
5c3672:	8b 3f                	mov    (%edi),%edi
5c3674:	33 d2                	xor    %edx,%edx
5c3676:	8b d8                	mov    %eax,%ebx
5c3678:	8b 4d f8             	mov    -0x8(%ebp),%ecx
5c367b:	b8 00 00 01 00       	mov    $0x10000,%eax
5c3680:	0f af 1e             	imul   (%esi),%ebx
5c3683:	f7 76 fc             	divl   -0x4(%esi)
5c3686:	8b 55 e4             	mov    -0x1c(%ebp),%edx
5c3689:	0f af 06             	imul   (%esi),%eax
5c368c:	8b 09                	mov    (%ecx),%ecx
5c368e:	6a 00                	push   $0x0
5c3690:	c1 ea 0a             	shr    $0xa,%edx
5c3693:	52                   	push   %edx
5c3694:	53                   	push   %ebx
5c3695:	57                   	push   %edi
5c3696:	2b c1                	sub    %ecx,%eax
5c3698:	50                   	push   %eax
5c3699:	6a 00                	push   $0x0
5c369b:	ff 76 fc             	push   -0x4(%esi)
5c369e:	ff 75 fc             	push   -0x4(%ebp)
5c36a1:	68 b0 c1 66 00       	push   $0x66c1b0
5c36a6:	ff 75 08             	push   0x8(%ebp)
5c36a9:	e8 f2 23 eb ff       	call   0x475aa0
5c36ae:	8b 06                	mov    (%esi),%eax
5c36b0:	8d 76 38             	lea    0x38(%esi),%esi
5c36b3:	c1 e0 10             	shl    $0x10,%eax
5c36b6:	33 d2                	xor    %edx,%edx
5c36b8:	01 45 f4             	add    %eax,-0xc(%ebp)
5c36bb:	83 c4 28             	add    $0x28,%esp
5c36be:	b8 00 00 01 00       	mov    $0x10000,%eax
5c36c3:	8b 4e e4             	mov    -0x1c(%esi),%ecx
5c36c6:	f7 76 c4             	divl   -0x3c(%esi)
5c36c9:	8b 5d f0             	mov    -0x10(%ebp),%ebx
5c36cc:	33 d2                	xor    %edx,%edx
5c36ce:	0f af 46 c8          	imul   -0x38(%esi),%eax
5c36d2:	8b 7d e8             	mov    -0x18(%ebp),%edi
5c36d5:	83 45 f8 38          	addl   $0x38,-0x8(%ebp)
5c36d9:	83 c7 38             	add    $0x38,%edi
5c36dc:	89 7d e8             	mov    %edi,-0x18(%ebp)
5c36df:	2b c1                	sub    %ecx,%eax
5c36e1:	8b 4e e4             	mov    -0x1c(%esi),%ecx
5c36e4:	0f af 46 c4          	imul   -0x3c(%esi),%eax
5c36e8:	03 d8                	add    %eax,%ebx
5c36ea:	b8 00 00 01 00       	mov    $0x10000,%eax
5c36ef:	f7 76 c4             	divl   -0x3c(%esi)
5c36f2:	89 5d f0             	mov    %ebx,-0x10(%ebp)
5c36f5:	0f af 46 c8          	imul   -0x38(%esi),%eax
5c36f9:	2b c1                	sub    %ecx,%eax
5c36fb:	8b 4d ec             	mov    -0x14(%ebp),%ecx
5c36fe:	03 c8                	add    %eax,%ecx
5c3700:	8b 45 fc             	mov    -0x4(%ebp),%eax
5c3703:	40                   	inc    %eax
5c3704:	89 4d ec             	mov    %ecx,-0x14(%ebp)
5c3707:	89 45 fc             	mov    %eax,-0x4(%ebp)
5c370a:	83 f8 26             	cmp    $0x26,%eax
5c370d:	0f 8c 4d ff ff ff    	jl     0x5c3660
5c3713:	8b 45 f4             	mov    -0xc(%ebp),%eax
5c3716:	c1 eb 0a             	shr    $0xa,%ebx
5c3719:	53                   	push   %ebx
5c371a:	c1 e8 0a             	shr    $0xa,%eax
5c371d:	50                   	push   %eax
5c371e:	51                   	push   %ecx
5c371f:	68 04 c2 66 00       	push   $0x66c204
5c3724:	ff 75 08             	push   0x8(%ebp)
5c3727:	e8 74 23 eb ff       	call   0x475aa0
5c372c:	83 c4 14             	add    $0x14,%esp
5c372f:	5f                   	pop    %edi
5c3730:	5e                   	pop    %esi
5c3731:	5b                   	pop    %ebx
5c3732:	8b e5                	mov    %ebp,%esp
5c3734:	5d                   	pop    %ebp
5c3735:	c2 04 00             	ret    $0x4
5c3738:	c7 45 e8 00 00 00 00 	movl   $0x0,-0x18(%ebp)
5c373f:	89 45 08             	mov    %eax,0x8(%ebp)
5c3742:	c7 45 f0 26 00 00 00 	movl   $0x26,-0x10(%ebp)
5c3749:	89 7d f4             	mov    %edi,-0xc(%ebp)
5c374c:	8d 64 24 00          	lea    0x0(%esp),%esp
5c3750:	8b 06                	mov    (%esi),%eax
5c3752:	33 d2                	xor    %edx,%edx
5c3754:	c1 e0 10             	shl    $0x10,%eax
5c3757:	c1 e8 0a             	shr    $0xa,%eax
5c375a:	89 45 e4             	mov    %eax,-0x1c(%ebp)
5c375d:	b8 00 00 01 00       	mov    $0x10000,%eax
5c3762:	f7 76 fc             	divl   -0x4(%esi)
5c3765:	8b 3f                	mov    (%edi),%edi
5c3767:	33 d2                	xor    %edx,%edx
5c3769:	8b d8                	mov    %eax,%ebx
5c376b:	8b 4d f4             	mov    -0xc(%ebp),%ecx
5c376e:	b8 00 00 01 00       	mov    $0x10000,%eax
5c3773:	0f af 1e             	imul   (%esi),%ebx
5c3776:	f7 76 fc             	divl   -0x4(%esi)
5c3779:	8b 09                	mov    (%ecx),%ecx
5c377b:	0f af 06             	imul   (%esi),%eax
5c377e:	6a 00                	push   $0x0
5c3780:	ff 75 e4             	push   -0x1c(%ebp)
5c3783:	53                   	push   %ebx
5c3784:	57                   	push   %edi
5c3785:	2b c1                	sub    %ecx,%eax
5c3787:	50                   	push   %eax
5c3788:	6a 00                	push   $0x0
5c378a:	ff 76 fc             	push   -0x4(%esi)
5c378d:	68 38 c2 66 00       	push   $0x66c238
5c3792:	e8 69 86 ff ff       	call   0x5bbe00
5c3797:	8b 06                	mov    (%esi),%eax
5c3799:	8d 76 38             	lea    0x38(%esi),%esi
5c379c:	8b 5d e8             	mov    -0x18(%ebp),%ebx
5c379f:	33 d2                	xor    %edx,%edx
5c37a1:	c1 e0 10             	shl    $0x10,%eax
5c37a4:	83 c4 20             	add    $0x20,%esp
5c37a7:	03 d8                	add    %eax,%ebx
5c37a9:	8b 4e e4             	mov    -0x1c(%esi),%ecx
5c37ac:	b8 00 00 01 00       	mov    $0x10000,%eax
5c37b1:	8b 7d f8             	mov    -0x8(%ebp),%edi
5c37b4:	f7 76 c4             	divl   -0x3c(%esi)
5c37b7:	33 d2                	xor    %edx,%edx
5c37b9:	83 45 f4 38          	addl   $0x38,-0xc(%ebp)
5c37bd:	0f af 46 c8          	imul   -0x38(%esi),%eax
5c37c1:	83 c7 38             	add    $0x38,%edi
5c37c4:	89 5d e8             	mov    %ebx,-0x18(%ebp)
5c37c7:	89 7d f8             	mov    %edi,-0x8(%ebp)
5c37ca:	2b c1                	sub    %ecx,%eax
5c37cc:	8b 4e e4             	mov    -0x1c(%esi),%ecx
5c37cf:	0f af 46 c4          	imul   -0x3c(%esi),%eax
5c37d3:	01 45 08             	add    %eax,0x8(%ebp)
5c37d6:	b8 00 00 01 00       	mov    $0x10000,%eax
5c37db:	f7 76 c4             	divl   -0x3c(%esi)
5c37de:	0f af 46 c8          	imul   -0x38(%esi),%eax
5c37e2:	2b c1                	sub    %ecx,%eax
5c37e4:	8b 4d ec             	mov    -0x14(%ebp),%ecx
5c37e7:	03 c8                	add    %eax,%ecx
5c37e9:	8b 45 f0             	mov    -0x10(%ebp),%eax
5c37ec:	48                   	dec    %eax
5c37ed:	89 4d ec             	mov    %ecx,-0x14(%ebp)
5c37f0:	89 45 f0             	mov    %eax,-0x10(%ebp)
5c37f3:	85 c0                	test   %eax,%eax
5c37f5:	0f 85 55 ff ff ff    	jne    0x5c3750
5c37fb:	8b 45 08             	mov    0x8(%ebp),%eax
5c37fe:	81 fb 00 00 40 06    	cmp    $0x6400000,%ebx
5c3804:	76 1f                	jbe    0x5c3825
5c3806:	c1 e8 14             	shr    $0x14,%eax
5c3809:	50                   	push   %eax
5c380a:	c1 eb 14             	shr    $0x14,%ebx
5c380d:	53                   	push   %ebx
5c380e:	51                   	push   %ecx