5c31c6:	5e                   	pop    %esi
5c31c7:	c3                   	ret
5c31c8:	83 f8 01             	cmp    $0x1,%eax
5c31cb:	75 2b                	jne    0x5c31f8
5c31cd:	33 f6                	xor    %esi,%esi
5c31cf:	8d 91 18 04 00 00    	lea    0x418(%ecx),%edx
5c31d5:	8d 78 25             	lea    0x25(%eax),%edi
5c31d8:	eb 06                	jmp    0x5c31e0
5c31da:	8d 9b 00 00 00 00    	lea    0x0(%ebx),%ebx
5c31e0:	8b 42 20             	mov    0x20(%edx),%eax
5c31e3:	8d 52 38             	lea    0x38(%edx),%edx
5c31e6:	8b 4a c8             	mov    -0x38(%edx),%ecx
5c31e9:	0f af c8             	imul   %eax,%ecx
5c31ec:	03 f1                	add    %ecx,%esi
5c31ee:	83 ef 01             	sub    $0x1,%edi
5c31f1:	75 ed                	jne    0x5c31e0
5c31f3:	5f                   	pop    %edi
5c31f4:	8b c6                	mov    %esi,%eax
5c31f6:	5e                   	pop    %esi
5c31f7:	c3                   	ret
5c31f8:	5f                   	pop    %edi
5c31f9:	33 c0                	xor    %eax,%eax
5c31fb:	5e                   	pop    %esi
5c31fc:	c3                   	ret
5c31fd:	cc                   	int3
5c31fe:	cc                   	int3
5c31ff:	cc                   	int3
5c3200:	55                   	push   %ebp
5c3201:	8b ec                	mov    %esp,%ebp
5c3203:	6a ff                	push   $0xffffffff
5c3205:	68 ad 06 60 00       	push   $0x6006ad
5c320a:	64 a1 00 00 00 00    	mov    %fs:0x0,%eax
5c3210:	50                   	push   %eax
5c3211:	64 89 25 00 00 00 00 	mov    %esp,%fs:0x0
5c3218:	81 ec 88 00 00 00    	sub    $0x88,%esp
5c321e:	53                   	push   %ebx
5c321f:	56                   	push   %esi
5c3220:	57                   	push   %edi
5c3221:	ff 35 b4 91 69 00    	push   0x6991b4
5c3227:	8b d9                	mov    %ecx,%ebx
5c3229:	ff 35 b0 91 69 00    	push   0x6991b0
5c322f:	89 5d a4             	mov    %ebx,-0x5c(%ebp)
5c3232:	68 94 c0 66 00       	push   $0x66c094
5c3237:	e8 c4 8b ff ff       	call   0x5bbe00
5c323c:	8b 83 1c 59 00 00    	mov    0x591c(%ebx),%eax
5c3242:	83 c4 0c             	add    $0xc,%esp
5c3245:	80 7d 14 00          	cmpb   $0x0,0x14(%ebp)
5c3249:	89 45 a0             	mov    %eax,-0x60(%ebp)
5c324c:	74 0a                	je     0x5c3258
5c324e:	c7 83 1c 59 00 00 00 	movl   $0x0,0x591c(%ebx)
5c3255:	00 00 00
5c3258:	c7 45 f0 00 00 00 00 	movl   $0x0,-0x10(%ebp)
5c325f:	8b 45 f0             	mov    -0x10(%ebp),%eax
5c3262:	6a 20                	push   $0x20
5c3264:	89 45 b0             	mov    %eax,-0x50(%ebp)
5c3267:	c7 45 b4 00 00 00 00 	movl   $0x0,-0x4c(%ebp)
5c326e:	c7 45 b8 00 00 00 00 	movl   $0x0,-0x48(%ebp)
5c3275:	e8 ab df 00 00       	call   0x5d1225
5c327a:	83 c4 04             	add    $0x4,%esp
5c327d:	89 00                	mov    %eax,(%eax)
5c327f:	89 40 04             	mov    %eax,0x4(%eax)
5c3282:	89 45 b4             	mov    %eax,-0x4c(%ebp)
5c3285:	c7 45 fc 00 00 00 00 	movl   $0x0,-0x4(%ebp)
5c328c:	c7 45 bc 00 00 00 00 	movl   $0x0,-0x44(%ebp)
5c3293:	c7 45 c0 00 00 00 00 	movl   $0x0,-0x40(%ebp)
5c329a:	c7 45 c4 00 00 00 00 	movl   $0x0,-0x3c(%ebp)
5c32a1:	c6 45 fc 01          	movb   $0x1,-0x4(%ebp)
5c32a5:	8d 4d bc             	lea    -0x44(%ebp),%ecx
5c32a8:	ff 75 b4             	push   -0x4c(%ebp)
5c32ab:	c7 45 c8 07 00 00 00 	movl   $0x7,-0x38(%ebp)
5c32b2:	6a 10                	push   $0x10
5c32b4:	c7 45 cc 08 00 00 00 	movl   $0x8,-0x34(%ebp)
5c32bb:	c7 45 b0 00 00 80 3f 	movl   $0x3f800000,-0x50(%ebp)
5c32c2:	e8 09 30 00 00       	call   0x5c62d0
5c32c7:	c7 45 fc 03 00 00 00 	movl   $0x3,-0x4(%ebp)
5c32ce:	8d 4d 80             	lea    -0x80(%ebp),%ecx
5c32d1:	e8 7a e8 ff ff       	call   0x5c1b50
5c32d6:	c6 45 fc 04          	movb   $0x4,-0x4(%ebp)
5c32da:	8d 4d 80             	lea    -0x80(%ebp),%ecx
5c32dd:	ff 35 c8 91 69 00    	push   0x6991c8
5c32e3:	e8 e8 37 00 00       	call   0x5c6ad0
5c32e8:	ff 15 24 21 60 00    	call   *0x602124
5c32ee:	8b d0                	mov    %eax,%edx
5c32f0:	be e0 91 69 00       	mov    $0x6991e0,%esi
5c32f5:	3b 15 e0 91 69 00    	cmp    0x6991e0,%edx
5c32fb:	74 1d                	je     0x5c331a
5c32fd:	8b ca                	mov    %edx,%ecx
5c32ff:	33 c0                	xor    %eax,%eax
5c3301:	f0 0f b1 0e          	lock cmpxchg %ecx,(%esi)
5c3305:	85 c0                	test   %eax,%eax
5c3307:	0f 94 c0             	sete   %al
5c330a:	84 c0                	test   %al,%al
5c330c:	75 0c                	jne    0x5c331a
5c330e:	f3 90                	pause
5c3310:	52                   	push   %edx
5c3311:	8b ce                	mov    %esi,%ecx
5c3313:	e8 98 45 00 00       	call   0x5c78b0
5c3318:	eb 07                	jmp    0x5c3321
5c331a:	f0 ff 05 e4 91 69 00 	lock incl 0x6991e4
5c3321:	8d 45 80             	lea    -0x80(%ebp),%eax
5c3324:	89 45 f0             	mov    %eax,-0x10(%ebp)
5c3327:	c6 45 fc 05          	movb   $0x5,-0x4(%ebp)
5c332b:	8d 4d 84             	lea    -0x7c(%ebp),%ecx
5c332e:	a1 c0 91 69 00       	mov    0x6991c0,%eax
5c3333:	89 45 80             	mov    %eax,-0x80(%ebp)
5c3336:	a1 c4 91 69 00       	mov    0x6991c4,%eax
5c333b:	50                   	push   %eax
5c333c:	ff 30                	push   (%eax)
5c333e:	e8 0d d4 ff ff       	call   0x5c0750
5c3343:	ff 75 88             	push   -0x78(%ebp)
5c3346:	8d 4d 80             	lea    -0x80(%ebp),%ecx
5c3349:	e8 f2 30 00 00       	call   0x5c6440
5c334e:	50                   	push   %eax
5c334f:	8d 4d 80             	lea    -0x80(%ebp),%ecx
5c3352:	e8 59 31 00 00       	call   0x5c64b0
5c3357:	c7 45 f0 00 00 00 00 	movl   $0x0,-0x10(%ebp)
5c335e:	c6 45 fc 04          	movb   $0x4,-0x4(%ebp)
5c3362:	f0 ff 0d e4 91 69 00 	lock decl 0x6991e4
5c3369:	83 3d e4 91 69 00 00 	cmpl   $0x0,0x6991e4
5c3370:	75 04                	jne    0x5c3376
5c3372:	33 c0                	xor    %eax,%eax
5c3374:	87 06                	xchg   %eax,(%esi)
5c3376:	8b 45 84             	mov    -0x7c(%ebp),%eax
5c3379:	8b 30                	mov    (%eax),%esi
5c337b:	3b f0                	cmp    %eax,%esi
5c337d:	74 65                	je     0x5c33e4
5c337f:	90                   	nop
5c3380:	8d 7e 0c             	lea    0xc(%esi),%edi
5c3383:	57                   	push   %edi
5c3384:	8d 4d b0             	lea    -0x50(%ebp),%ecx
5c3387:	e8 e4 d2 ff ff       	call   0x5c0670
5c338c:	50                   	push   %eax
5c338d:	57                   	push   %edi
5c338e:	8d 45 a8             	lea    -0x58(%ebp),%eax
5c3391:	50                   	push   %eax
5c3392:	8d 4d b0             	lea    -0x50(%ebp),%ecx
5c3395:	e8 f6 d7 ff ff       	call   0x5c0b90
5c339a:	8b 55 b4             	mov    -0x4c(%ebp),%edx
5c339d:	8b 5e 14             	mov    0x14(%esi),%ebx
5c33a0:	8b 40 04             	mov    0x4(%eax),%eax
5c33a3:	85 c0                	test   %eax,%eax
5c33a5:	0f 45 d0             	cmovne %eax,%edx
5c33a8:	3b 55 b4             	cmp    -0x4c(%ebp),%edx
5c33ab:	75 2a                	jne    0x5c33d7
5c33ad:	57                   	push   %edi
5c33ae:	8d 45 ec             	lea    -0x14(%ebp),%eax
5c33b1:	50                   	push   %eax
5c33b2:	8d 4d b0             	lea    -0x50(%ebp),%ecx
5c33b5:	e8 06 e5 ff ff       	call   0x5c18c0
5c33ba:	57                   	push   %edi
5c33bb:	8d 4d b0             	lea    -0x50(%ebp),%ecx
5c33be:	8b 00                	mov    (%eax),%eax
5c33c0:	89 58 18             	mov    %ebx,0x18(%eax)
5c33c3:	8d 45 d4             	lea    -0x2c(%ebp),%eax
5c33c6:	50                   	push   %eax
5c33c7:	e8 f4 e4 ff ff       	call   0x5c18c0
5c33cc:	8b 00                	mov    (%eax),%eax
5c33ce:	c7 40 1c 01 00 00 00 	movl   $0x1,0x1c(%eax)
5c33d5:	eb 06                	jmp    0x5c33dd
5c33d7:	01 5a 18             	add    %ebx,0x18(%edx)
5c33da:	ff 42 1c             	incl   0x1c(%edx)
5c33dd:	8b 36                	mov    (%esi),%esi
5c33df:	3b 75 84             	cmp    -0x7c(%ebp),%esi
5c33e2:	75 9c                	jne    0x5c3380
5c33e4:	c6 45 fc 03          	movb   $0x3,-0x4(%ebp)
5c33e8:	8d 4d 80             	lea    -0x80(%ebp),%ecx
5c33eb:	e8 00 ea ff ff       	call   0x5c1df0
5c33f0:	33 ff                	xor    %edi,%edi
5c33f2:	33 db                	xor    %ebx,%ebx
5c33f4:	89 7d dc             	mov    %edi,-0x24(%ebp)
5c33f7:	33 c9                	xor    %ecx,%ecx
5c33f9:	89 5d e0             	mov    %ebx,-0x20(%ebp)
5c33fc:	89 7d f0             	mov    %edi,-0x10(%ebp)
5c33ff:	89 4d e8             	mov    %ecx,-0x18(%ebp)
5c3402:	89 4d e4             	mov    %ecx,-0x1c(%ebp)
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