4c3378:	81 e3 00 20 00 00    	and    $0x2000,%ebx
4c337e:	81 fb 00 20 00 00    	cmp    $0x2000,%ebx
4c3384:	75 1a                	jne    0x4c33a0
4c3386:	81 e2 02 20 00 00    	and    $0x2002,%edx
4c338c:	81 fa 02 20 00 00    	cmp    $0x2002,%edx
4c3392:	75 07                	jne    0x4c339b
4c3394:	b9 05 00 00 80       	mov    $0x80000005,%ecx
4c3399:	eb 16                	jmp    0x4c33b1
4c339b:	8b 48 14             	mov    0x14(%eax),%ecx
4c339e:	eb 11                	jmp    0x4c33b1
4c33a0:	81 e2 00 40 00 00    	and    $0x4000,%edx
4c33a6:	81 fa 00 40 00 00    	cmp    $0x4000,%edx
4c33ac:	75 03                	jne    0x4c33b1
4c33ae:	8b 48 18             	mov    0x18(%eax),%ecx
4c33b1:	8b c1                	mov    %ecx,%eax
4c33b3:	5b                   	pop    %ebx
4c33b4:	c3                   	ret
4c33b5:	8d 40 00             	lea    0x0(%eax),%eax
4c33b8:	53                   	push   %ebx
4c33b9:	56                   	push   %esi
4c33ba:	51                   	push   %ecx
4c33bb:	8b 32                	mov    (%edx),%esi
4c33bd:	8b de                	mov    %esi,%ebx
4c33bf:	81 e3 00 10 00 00    	and    $0x1000,%ebx
4c33c5:	81 fb 00 10 00 00    	cmp    $0x1000,%ebx
4c33cb:	75 0e                	jne    0x4c33db
4c33cd:	81 e6 00 02 00 00    	and    $0x200,%esi
4c33d3:	81 fe 00 02 00 00    	cmp    $0x200,%esi
4c33d9:	74 04                	je     0x4c33df
4c33db:	33 db                	xor    %ebx,%ebx
4c33dd:	eb 02                	jmp    0x4c33e1
4c33df:	b3 01                	mov    $0x1,%bl
4c33e1:	88 1c 24             	mov    %bl,(%esp)
4c33e4:	80 7a 08 00          	cmpb   $0x0,0x8(%edx)
4c33e8:	75 12                	jne    0x4c33fc
4c33ea:	80 7a 0a 01          	cmpb   $0x1,0xa(%edx)
4c33ee:	0f 94 c3             	sete   %bl
4c33f1:	83 e3 7f             	and    $0x7f,%ebx
4c33f4:	8a 9b 0c b6 68 00    	mov    0x68b60c(%ebx),%bl
4c33fa:	eb 3c                	jmp    0x4c3438
4c33fc:	80 7a 1a 00          	cmpb   $0x0,0x1a(%edx)
4c3400:	74 04                	je     0x4c3406
4c3402:	b3 07                	mov    $0x7,%bl
4c3404:	eb 32                	jmp    0x4c3438
4c3406:	80 7a 09 00          	cmpb   $0x0,0x9(%edx)
4c340a:	74 04                	je     0x4c3410
4c340c:	b3 03                	mov    $0x3,%bl
4c340e:	eb 28                	jmp    0x4c3438
4c3410:	80 7a 0b 00          	cmpb   $0x0,0xb(%edx)
4c3414:	74 12                	je     0x4c3428
4c3416:	80 7a 0a 00          	cmpb   $0x0,0xa(%edx)
4c341a:	0f 95 c3             	setne  %bl
4c341d:	83 e3 7f             	and    $0x7f,%ebx
4c3420:	8a 9b 10 b6 68 00    	mov    0x68b610(%ebx),%bl
4c3426:	eb 10                	jmp    0x4c3438
4c3428:	80 7a 0a 00          	cmpb   $0x0,0xa(%edx)
4c342c:	0f 95 c3             	setne  %bl
4c342f:	83 e3 7f             	and    $0x7f,%ebx
4c3432:	8a 9b 14 b6 68 00    	mov    0x68b614(%ebx),%bl
4c3438:	8b f1                	mov    %ecx,%esi
4c343a:	83 e6 7f             	and    $0x7f,%esi
4c343d:	83 e3 7f             	and    $0x7f,%ebx
4c3440:	8d 1c 5b             	lea    (%ebx,%ebx,2),%ebx
4c3443:	8d 1c 98             	lea    (%eax,%ebx,4),%ebx
4c3446:	8b b4 b3 80 00 00 00 	mov    0x80(%ebx,%esi,4),%esi
4c344d:	80 3c 24 00          	cmpb   $0x0,(%esp)
4c3451:	74 2e                	je     0x4c3481
4c3453:	84 c9                	test   %cl,%cl
4c3455:	75 0b                	jne    0x4c3462
4c3457:	81 fe ff ff ff 1f    	cmp    $0x1fffffff,%esi
4c345d:	75 03                	jne    0x4c3462
4c345f:	8b 70 10             	mov    0x10(%eax),%esi
4c3462:	80 f9 02             	cmp    $0x2,%cl
4c3465:	75 1a                	jne    0x4c3481
4c3467:	80 7a 0b 00          	cmpb   $0x0,0xb(%edx)
4c346b:	74 07                	je     0x4c3474
4c346d:	be 06 00 00 80       	mov    $0x80000006,%esi
4c3472:	eb 0d                	jmp    0x4c3481
4c3474:	81 fe ff ff ff 1f    	cmp    $0x1fffffff,%esi
4c347a:	75 05                	jne    0x4c3481
4c347c:	be 10 00 00 80       	mov    $0x80000010,%esi
4c3481:	8b c6                	mov    %esi,%eax
4c3483:	5a                   	pop    %edx
4c3484:	5e                   	pop    %esi
4c3485:	5b                   	pop    %ebx
4c3486:	c3                   	ret
4c3487:	90                   	nop
4c3488:	53                   	push   %ebx
4c3489:	56                   	push   %esi
4c348a:	51                   	push   %ecx
4c348b:	88 0c 24             	mov    %cl,(%esp)
4c348e:	8b f0                	mov    %eax,%esi
4c3490:	8b 02                	mov    (%edx),%eax
4c3492:	25 01 20 00 00       	and    $0x2001,%eax
4c3497:	3d 01 20 00 00       	cmp    $0x2001,%eax
4c349c:	75 06                	jne    0x4c34a4
4c349e:	f6 42 04 01          	testb  $0x1,0x4(%edx)
4c34a2:	74 04                	je     0x4c34a8
4c34a4:	33 c9                	xor    %ecx,%ecx
4c34a6:	eb 02                	jmp    0x4c34aa
4c34a8:	b1 01                	mov    $0x1,%cl
4c34aa:	8b 02                	mov    (%edx),%eax
4c34ac:	8b d8                	mov    %eax,%ebx
4c34ae:	81 e3 00 10 00 00    	and    $0x1000,%ebx
4c34b4:	81 fb 00 10 00 00    	cmp    $0x1000,%ebx
4c34ba:	75 0c                	jne    0x4c34c8
4c34bc:	25 00 02 00 00       	and    $0x200,%eax
4c34c1:	3d 00 02 00 00       	cmp    $0x200,%eax
4c34c6:	74 04                	je     0x4c34cc
4c34c8:	33 c0                	xor    %eax,%eax
4c34ca:	eb 02                	jmp    0x4c34ce
4c34cc:	b0 01                	mov    $0x1,%al
4c34ce:	84 c9                	test   %cl,%cl
4c34d0:	74 3f                	je     0x4c3511
4c34d2:	80 7a 08 00          	cmpb   $0x0,0x8(%edx)
4c34d6:	75 12                	jne    0x4c34ea
4c34d8:	80 7a 0a 01          	cmpb   $0x1,0xa(%edx)
4c34dc:	0f 94 c0             	sete   %al
4c34df:	83 e0 7f             	and    $0x7f,%eax
4c34e2:	8a 80 18 b6 68 00    	mov    0x68b618(%eax),%al
4c34e8:	eb 10                	jmp    0x4c34fa
4c34ea:	80 7a 0a 00          	cmpb   $0x0,0xa(%edx)
4c34ee:	0f 95 c0             	setne  %al
4c34f1:	83 e0 7f             	and    $0x7f,%eax
4c34f4:	8a 80 1c b6 68 00    	mov    0x68b61c(%eax),%al
4c34fa:	33 d2                	xor    %edx,%edx
4c34fc:	8a 14 24             	mov    (%esp),%dl
4c34ff:	83 e0 7f             	and    $0x7f,%eax
4c3502:	8d 04 40             	lea    (%eax,%eax,2),%eax
4c3505:	8d 04 86             	lea    (%esi,%eax,4),%eax
4c3508:	8b 54 90 50          	mov    0x50(%eax,%edx,4),%edx
4c350c:	e9 89 00 00 00       	jmp    0x4c359a
4c3511:	80 7a 08 00          	cmpb   $0x0,0x8(%edx)
4c3515:	75 12                	jne    0x4c3529
4c3517:	80 7a 0a 01          	cmpb   $0x1,0xa(%edx)
4c351b:	0f 94 c2             	sete   %dl
4c351e:	83 e2 7f             	and    $0x7f,%edx
4c3521:	8a 92 20 b6 68 00    	mov    0x68b620(%edx),%dl
4c3527:	eb 3c                	jmp    0x4c3565
4c3529:	80 7a 1a 00          	cmpb   $0x0,0x1a(%edx)
4c352d:	74 04                	je     0x4c3533
4c352f:	b2 07                	mov    $0x7,%dl
4c3531:	eb 32                	jmp    0x4c3565
4c3533:	80 7a 09 00          	cmpb   $0x0,0x9(%edx)
4c3537:	74 04                	je     0x4c353d
4c3539:	b2 03                	mov    $0x3,%dl
4c353b:	eb 28                	jmp    0x4c3565
4c353d:	80 7a 0b 00          	cmpb   $0x0,0xb(%edx)
4c3541:	74 12                	je     0x4c3555
4c3543:	80 7a 0a 00          	cmpb   $0x0,0xa(%edx)
4c3547:	0f 95 c2             	setne  %dl
4c354a:	83 e2 7f             	and    $0x7f,%edx
4c354d:	8a 92 24 b6 68 00    	mov    0x68b624(%edx),%dl
4c3553:	eb 10                	jmp    0x4c3565
4c3555:	80 7a 0a 00          	cmpb   $0x0,0xa(%edx)
4c3559:	0f 95 c2             	setne  %dl
4c355c:	83 e2 7f             	and    $0x7f,%edx
4c355f:	8a 92 28 b6 68 00    	mov    0x68b628(%edx),%dl
4c3565:	33 c9                	xor    %ecx,%ecx
4c3567:	8a 0c 24             	mov    (%esp),%cl
4c356a:	83 e2 7f             	and    $0x7f,%edx
4c356d:	8d 14 52             	lea    (%edx,%edx,2),%edx
4c3570:	8d 14 96             	lea    (%esi,%edx,4),%edx
4c3573:	8b 94 8a 80 00 00 00 	mov    0x80(%edx,%ecx,4),%edx
4c357a:	84 c0                	test   %al,%al
4c357c:	74 1c                	je     0x4c359a
4c357e:	81 fa ff ff ff 1f    	cmp    $0x1fffffff,%edx
4c3584:	75 14                	jne    0x4c359a
4c3586:	80 3c 24 00          	cmpb   $0x0,(%esp)
4c358a:	75 03                	jne    0x4c358f
4c358c:	8b 56 10             	mov    0x10(%esi),%edx
4c358f:	80 3c 24 02          	cmpb   $0x2,(%esp)
4c3593:	75 05                	jne    0x4c359a
4c3595:	ba 10 00 00 80       	mov    $0x80000010,%edx
4c359a:	8b c2                	mov    %edx,%eax
4c359c:	5a                   	pop    %edx
4c359d:	5e                   	pop    %esi
4c359e:	5b                   	pop    %ebx
4c359f:	c3                   	ret
4c35a0:	55                   	push   %ebp
4c35a1:	8b ec                	mov    %esp,%ebp
4c35a3:	83 c4 c8             	add    $0xffffffc8,%esp
4c35a6:	53                   	push   %ebx
4c35a7:	56                   	push   %esi
4c35a8:	57                   	push   %edi
4c35a9:	8b d9                	mov    %ecx,%ebx
4c35ab:	89 55 f8             	mov    %edx,-0x8(%ebp)
4c35ae:	89 45 fc             	mov    %eax,-0x4(%ebp)
4c35b1:	8b 75 0c             	mov    0xc(%ebp),%esi
4c35b4:	8b c3                	mov    %ebx,%eax
4c35b6:	e8 1d 40 f6 ff       	call   0x4275d8
4c35bb:	e8 a8 49 f4 ff       	call   0x407f68
4c35c0:	25 ff 00 00 00       	and    $0xff,%eax
4c35c5:	89 45 e8             	mov    %eax,-0x18(%ebp)
4c35c8:	8b c3                	mov    %ebx,%eax
4c35ca:	e8 09 40 f6 ff       	call   0x4275d8
4c35cf:	e8 98 49 f4 ff       	call   0x407f6c
4c35d4:	25 ff 00 00 00       	and    $0xff,%eax
4c35d9:	89 45 e4             	mov    %eax,-0x1c(%ebp)
4c35dc:	8b c3                	mov    %ebx,%eax
4c35de:	e8 f5 3f f6 ff       	call   0x4275d8
4c35e3:	e8 88 49 f4 ff       	call   0x407f70
4c35e8:	25 ff 00 00 00       	and    $0xff,%eax
4c35ed:	89 45 e0             	mov    %eax,-0x20(%ebp)
4c35f0:	8b c6                	mov    %esi,%eax
4c35f2:	e8 e1 3f f6 ff       	call   0x4275d8
4c35f7:	e8 6c 49 f4 ff       	call   0x407f68
4c35fc:	25 ff 00 00 00       	and    $0xff,%eax
4c3601:	89 45 f4             	mov    %eax,-0xc(%ebp)
4c3604:	8b c6                	mov    %esi,%eax
4c3606:	e8 cd 3f f6 ff       	call   0x4275d8
4c360b:	e8 5c 49 f4 ff       	call   0x407f6c
4c3610:	25 ff 00 00 00       	and    $0xff,%eax
4c3615:	89 45 f0             	mov    %eax,-0x10(%ebp)
4c3618:	8b c6                	mov    %esi,%eax
4c361a:	e8 b9 3f f6 ff       	call   0x4275d8
4c361f:	e8 4c 49 f4 ff       	call   0x407f70
4c3624:	25 ff 00 00 00       	and    $0xff,%eax
4c3629:	89 45 ec             	mov    %eax,-0x14(%ebp)
4c362c:	8b 45 e8             	mov    -0x18(%ebp),%eax
4c362f:	2b 45 f4             	sub    -0xc(%ebp),%eax
4c3632:	8b d0                	mov    %eax,%edx
4c3634:	c1 e0 04             	shl    $0x4,%eax
4c3637:	2b c2                	sub    %edx,%eax
4c3639:	b9 09 00 00 00       	mov    $0x9,%ecx
4c363e:	99                   	cltd
4c363f:	f7 f9                	idiv   %ecx
4c3641:	03 45 f4             	add    -0xc(%ebp),%eax
4c3644:	89 45 dc             	mov    %eax,-0x24(%ebp)
4c3647:	8b 45 e4             	mov    -0x1c(%ebp),%eax
4c364a:	2b 45 f0             	sub    -0x10(%ebp),%eax
4c364d:	8b d0                	mov    %eax,%edx
4c364f:	c1 e0 04             	shl    $0x4,%eax
4c3652:	2b c2                	sub    %edx,%eax
4c3654:	b9 09 00 00 00       	mov    $0x9,%ecx
4c3659:	99                   	cltd
4c365a:	f7 f9                	idiv   %ecx
4c365c:	03 45 f0             	add    -0x10(%ebp),%eax
4c365f:	89 45 d8             	mov    %eax,-0x28(%ebp)
4c3662:	8b 45 e0             	mov    -0x20(%ebp),%eax
4c3665:	2b 45 ec             	sub    -0x14(%ebp),%eax
4c3668:	8b d0                	mov    %eax,%edx
4c366a:	c1 e0 04             	shl    $0x4,%eax
4c366d:	2b c2                	sub    %edx,%eax
4c366f:	b9 09 00 00 00       	mov    $0x9,%ecx
4c3674:	99                   	cltd
4c3675:	f7 f9                	idiv   %ecx
4c3677:	03 45 ec             	add    -0x14(%ebp),%eax
4c367a:	89 45 d4             	mov    %eax,-0x2c(%ebp)
4c367d:	83 7d dc 00          	cmpl   $0x0,-0x24(%ebp)
4c3681:	7d 07                	jge    0x4c368a
4c3683:	33 c0                	xor    %eax,%eax
4c3685:	89 45 dc             	mov    %eax,-0x24(%ebp)
4c3688:	eb 10                	jmp    0x4c369a
4c368a:	81 7d dc ff 00 00 00 	cmpl   $0xff,-0x24(%ebp)
4c3691:	7e 07                	jle    0x4c369a
4c3693:	c7 45 dc ff 00 00 00 	movl   $0xff,-0x24(%ebp)
4c369a:	83 7d d8 00          	cmpl   $0x0,-0x28(%ebp)
4c369e:	7d 07                	jge    0x4c36a7
4c36a0:	33 c0                	xor    %eax,%eax
4c36a2:	89 45 d8             	mov    %eax,-0x28(%ebp)
4c36a5:	eb 10                	jmp    0x4c36b7
4c36a7:	81 7d d8 ff 00 00 00 	cmpl   $0xff,-0x28(%ebp)
4c36ae:	7e 07                	jle    0x4c36b7
4c36b0:	c7 45 d8 ff 00 00 00 	movl   $0xff,-0x28(%ebp)
4c36b7:	83 7d d4 00          	cmpl   $0x0,-0x2c(%ebp)
4c36bb:	7d 07                	jge    0x4c36c4
4c36bd:	33 c0                	xor    %eax,%eax
4c36bf:	89 45 d4             	mov    %eax,-0x2c(%ebp)
4c36c2:	eb 10                	jmp    0x4c36d4
4c36c4:	81 7d d4 ff 00 00 00 	cmpl   $0xff,-0x2c(%ebp)
4c36cb:	7e 07                	jle    0x4c36d4
4c36cd:	c7 45 d4 ff 00 00 00 	movl   $0xff,-0x2c(%ebp)
4c36d4:	80 7d 08 01          	cmpb   $0x1,0x8(%ebp)
4c36d8:	0f 85 31 01 00 00    	jne    0x4c380f
4c36de:	ba 01 00 00 00       	mov    $0x1,%edx
4c36e3:	a1 c4 b2 6a 00       	mov    0x6ab2c4,%eax
4c36e8:	8b 08                	mov    (%eax),%ecx
4c36ea:	ff 51 40             	call   *0x40(%ecx)
4c36ed:	8b 55 f8             	mov    -0x8(%ebp),%edx
4c36f0:	8b 52 0c             	mov    0xc(%edx),%edx
4c36f3:	8b 45 f8             	mov    -0x8(%ebp),%eax
4c36f6:	2b 50 04             	sub    0x4(%eax),%edx
4c36f9:	4a                   	dec    %edx
4c36fa:	a1 c4 b2 6a 00       	mov    0x6ab2c4,%eax
4c36ff:	8b 08                	mov    (%eax),%ecx
4c3701:	ff 51 34             	call   *0x34(%ecx)
4c3704:	a1 c4 b2 6a 00       	mov    0x6ab2c4,%eax
4c3709:	8b 10                	mov    (%eax),%edx
4c370b:	ff 52 20             	call   *0x20(%edx)
4c370e:	89 45 d0             	mov    %eax,-0x30(%ebp)
4c3711:	8b 7d d0             	mov    -0x30(%ebp),%edi
4c3714:	d1 ff                	sar    $1,%edi
4c3716:	79 03                	jns    0x4c371b
4c3718:	83 d7 00             	adc    $0x0,%edi
4c371b:	8b f7                	mov    %edi,%esi
4c371d:	4e                   	dec    %esi
4c371e:	85 f6                	test   %esi,%esi
4c3720:	7c 59                	jl     0x4c377b
4c3722:	46                   	inc    %esi
4c3723:	33 db                	xor    %ebx,%ebx
4c3725:	8b d3                	mov    %ebx,%edx
4c3727:	a1 c4 b2 6a 00       	mov    0x6ab2c4,%eax
4c372c:	e8 d7 a1 f6 ff       	call   0x42d908
4c3731:	89 45 cc             	mov    %eax,-0x34(%ebp)
4c3734:	8b 45 e8             	mov    -0x18(%ebp),%eax
4c3737:	2b 45 f4             	sub    -0xc(%ebp),%eax
4c373a:	f7 eb                	imul   %ebx
4c373c:	99                   	cltd
4c373d:	f7 ff                	idiv   %edi
4c373f:	02 45 f4             	add    -0xc(%ebp),%al
4c3742:	88 45 cb             	mov    %al,-0x35(%ebp)
4c3745:	8b 45 e4             	mov    -0x1c(%ebp),%eax
4c3748:	2b 45 f0             	sub    -0x10(%ebp),%eax
4c374b:	f7 eb                	imul   %ebx
4c374d:	99                   	cltd
4c374e:	f7 ff                	idiv   %edi
4c3750:	02 45 f0             	add    -0x10(%ebp),%al
4c3753:	88 45 ca             	mov    %al,-0x36(%ebp)
4c3756:	8b 45 e0             	mov    -0x20(%ebp),%eax
4c3759:	2b 45 ec             	sub    -0x14(%ebp),%eax
4c375c:	f7 eb                	imul   %ebx
4c375e:	99                   	cltd
4c375f:	f7 ff                	idiv   %edi
4c3761:	02 45 ec             	add    -0x14(%ebp),%al
4c3764:	88 45 c9             	mov    %al,-0x37(%ebp)
4c3767:	8b 45 cc             	mov    -0x34(%ebp),%eax
4c376a:	66 8b 55 c9          	mov    -0x37(%ebp),%dx
4c376e:	66 89 10             	mov    %dx,(%eax)
4c3771:	8a 55 cb             	mov    -0x35(%ebp),%dl
4c3774:	88 50 02             	mov    %dl,0x2(%eax)
4c3777:	43                   	inc    %ebx
4c3778:	4e                   	dec    %esi
4c3779:	75 aa                	jne    0x4c3725
4c377b:	8b 45 e8             	mov    -0x18(%ebp),%eax
4c377e:	3b 45 f4             	cmp    -0xc(%ebp),%eax
4c3781:	7e 12                	jle    0x4c3795
4c3783:	8b 45 e8             	mov    -0x18(%ebp),%eax
4c3786:	89 45 dc             	mov    %eax,-0x24(%ebp)
4c3789:	8b 45 e4             	mov    -0x1c(%ebp),%eax
4c378c:	89 45 d8             	mov    %eax,-0x28(%ebp)
4c378f:	8b 45 e0             	mov    -0x20(%ebp),%eax
4c3792:	89 45 d4             	mov    %eax,-0x2c(%ebp)
4c3795:	8b df                	mov    %edi,%ebx
4c3797:	8b 75 d0             	mov    -0x30(%ebp),%esi
4c379a:	4e                   	dec    %esi
4c379b:	2b f3                	sub    %ebx,%esi
4c379d:	7c 5a                	jl     0x4c37f9
4c379f:	46                   	inc    %esi
4c37a0:	8b d3                	mov    %ebx,%edx