5f33bb:	33 ff                	xor    %edi,%edi
5f33bd:	81 f9 00 04 00 00    	cmp    $0x400,%ecx
5f33c3:	74 1c                	je     0x5f33e1
5f33c5:	81 f9 00 08 00 00    	cmp    $0x800,%ecx
5f33cb:	74 0f                	je     0x5f33dc
5f33cd:	3b c8                	cmp    %eax,%ecx
5f33cf:	74 04                	je     0x5f33d5
5f33d1:	8b df                	mov    %edi,%ebx
5f33d3:	eb 11                	jmp    0x5f33e6
5f33d5:	bb 00 80 00 00       	mov    $0x8000,%ebx
5f33da:	eb 0a                	jmp    0x5f33e6
5f33dc:	6a 40                	push   $0x40
5f33de:	5b                   	pop    %ebx
5f33df:	eb 05                	jmp    0x5f33e6
5f33e1:	bb 40 80 00 00       	mov    $0x8040,%ebx
5f33e6:	8b c6                	mov    %esi,%eax
5f33e8:	b9 00 03 00 00       	mov    $0x300,%ecx
5f33ed:	23 c1                	and    %ecx,%eax
5f33ef:	74 25                	je     0x5f3416
5f33f1:	3d 00 01 00 00       	cmp    $0x100,%eax
5f33f6:	74 19                	je     0x5f3411
5f33f8:	3d 00 02 00 00       	cmp    $0x200,%eax
5f33fd:	74 0b                	je     0x5f340a
5f33ff:	3b c1                	cmp    %ecx,%eax
5f3401:	75 13                	jne    0x5f3416
5f3403:	bf 00 60 00 00       	mov    $0x6000,%edi
5f3408:	eb 0c                	jmp    0x5f3416
5f340a:	bf 00 40 00 00       	mov    $0x4000,%edi
5f340f:	eb 05                	jmp    0x5f3416
5f3411:	bf 00 20 00 00       	mov    $0x2000,%edi
5f3416:	8b d6                	mov    %esi,%edx
5f3418:	8b c6                	mov    %esi,%eax
5f341a:	83 e0 02             	and    $0x2,%eax
5f341d:	83 e2 01             	and    $0x1,%edx
5f3420:	c1 e2 02             	shl    $0x2,%edx
5f3423:	8b ce                	mov    %esi,%ecx
5f3425:	0b d0                	or     %eax,%edx
5f3427:	83 e1 08             	and    $0x8,%ecx
5f342a:	8b c6                	mov    %esi,%eax
5f342c:	c1 e2 02             	shl    $0x2,%edx
5f342f:	83 e0 04             	and    $0x4,%eax
5f3432:	83 e6 30             	and    $0x30,%esi
5f3435:	0b c2                	or     %edx,%eax
5f3437:	c1 e0 02             	shl    $0x2,%eax
5f343a:	0b c1                	or     %ecx,%eax
5f343c:	c1 e0 03             	shl    $0x3,%eax
5f343f:	0b c6                	or     %esi,%eax
5f3441:	c1 e0 03             	shl    $0x3,%eax
5f3444:	0b c3                	or     %ebx,%eax
5f3446:	0b c7                	or     %edi,%eax
5f3448:	5f                   	pop    %edi
5f3449:	5e                   	pop    %esi
5f344a:	5b                   	pop    %ebx
5f344b:	5d                   	pop    %ebp
5f344c:	c3                   	ret
5f344d:	8b ff                	mov    %edi,%edi
5f344f:	55                   	push   %ebp
5f3450:	8b ec                	mov    %esp,%ebp
5f3452:	51                   	push   %ecx
5f3453:	8b 4d 08             	mov    0x8(%ebp),%ecx
5f3456:	ba 00 03 00 00       	mov    $0x300,%edx
5f345b:	53                   	push   %ebx
5f345c:	56                   	push   %esi
5f345d:	8b f1                	mov    %ecx,%esi
5f345f:	8b c1                	mov    %ecx,%eax
5f3461:	c1 ee 02             	shr    $0x2,%esi
5f3464:	25 00 00 c0 00       	and    $0xc00000,%eax
5f3469:	81 e6 00 c0 0f 00    	and    $0xfc000,%esi
5f346f:	bb 00 10 00 00       	mov    $0x1000,%ebx
5f3474:	0b f0                	or     %eax,%esi
5f3476:	8b c1                	mov    %ecx,%eax
5f3478:	57                   	push   %edi
5f3479:	c1 e8 02             	shr    $0x2,%eax
5f347c:	23 c3                	and    %ebx,%eax
5f347e:	c1 ee 0e             	shr    $0xe,%esi
5f3481:	89 45 fc             	mov    %eax,-0x4(%ebp)
5f3484:	6a 00                	push   $0x0
5f3486:	5f                   	pop    %edi
5f3487:	81 e1 00 30 00 00    	and    $0x3000,%ecx
5f348d:	74 0f                	je     0x5f349e
5f348f:	3b cb                	cmp    %ebx,%ecx
5f3491:	74 04                	je     0x5f3497
5f3493:	8b df                	mov    %edi,%ebx
5f3495:	eb 09                	jmp    0x5f34a0
5f3497:	bb 00 02 00 00       	mov    $0x200,%ebx
5f349c:	eb 02                	jmp    0x5f34a0
5f349e:	8b da                	mov    %edx,%ebx
5f34a0:	8b c6                	mov    %esi,%eax
5f34a2:	23 c2                	and    %edx,%eax
5f34a4:	74 25                	je     0x5f34cb
5f34a6:	3d 00 01 00 00       	cmp    $0x100,%eax
5f34ab:	74 19                	je     0x5f34c6
5f34ad:	3d 00 02 00 00       	cmp    $0x200,%eax
5f34b2:	74 0b                	je     0x5f34bf
5f34b4:	3b c2                	cmp    %edx,%eax
5f34b6:	75 13                	jne    0x5f34cb
5f34b8:	bf 00 0c 00 00       	mov    $0xc00,%edi
5f34bd:	eb 0c                	jmp    0x5f34cb
5f34bf:	bf 00 08 00 00       	mov    $0x800,%edi
5f34c4:	eb 05                	jmp    0x5f34cb
5f34c6:	bf 00 04 00 00       	mov    $0x400,%edi
5f34cb:	8b d6                	mov    %esi,%edx
5f34cd:	8b c6                	mov    %esi,%eax
5f34cf:	83 e0 02             	and    $0x2,%eax
5f34d2:	83 e2 01             	and    $0x1,%edx
5f34d5:	c1 e2 02             	shl    $0x2,%edx
5f34d8:	8b ce                	mov    %esi,%ecx
5f34da:	0b d0                	or     %eax,%edx
5f34dc:	c1 e9 04             	shr    $0x4,%ecx
5f34df:	8b c6                	mov    %esi,%eax
5f34e1:	c1 e2 02             	shl    $0x2,%edx
5f34e4:	83 e0 04             	and    $0x4,%eax
5f34e7:	d1 ee                	shr    $1,%esi
5f34e9:	0b c2                	or     %edx,%eax
5f34eb:	83 e1 03             	and    $0x3,%ecx
5f34ee:	03 c0                	add    %eax,%eax
5f34f0:	83 e6 04             	and    $0x4,%esi
5f34f3:	0b c1                	or     %ecx,%eax
5f34f5:	0b c6                	or     %esi,%eax
5f34f7:	0b 45 fc             	or     -0x4(%ebp),%eax
5f34fa:	0b c3                	or     %ebx,%eax
5f34fc:	0b c7                	or     %edi,%eax
5f34fe:	5f                   	pop    %edi
5f34ff:	5e                   	pop    %esi
5f3500:	5b                   	pop    %ebx
5f3501:	c9                   	leave
5f3502:	c3                   	ret
5f3503:	8b ff                	mov    %edi,%edi
5f3505:	55                   	push   %ebp
5f3506:	8b ec                	mov    %esp,%ebp
5f3508:	8b 4d 08             	mov    0x8(%ebp),%ecx
5f350b:	ba 00 03 00 00       	mov    $0x300,%edx
5f3510:	8b c1                	mov    %ecx,%eax
5f3512:	c1 e9 16             	shr    $0x16,%ecx
5f3515:	c1 e8 0e             	shr    $0xe,%eax
5f3518:	23 ca                	and    %edx,%ecx
5f351a:	23 c2                	and    %edx,%eax
5f351c:	3b c1                	cmp    %ecx,%eax
5f351e:	74 03                	je     0x5f3523
5f3520:	83 c8 ff             	or     $0xffffffff,%eax
5f3523:	5d                   	pop    %ebp
5f3524:	c3                   	ret
5f3525:	8b ff                	mov    %edi,%edi
5f3527:	55                   	push   %ebp
5f3528:	8b ec                	mov    %esp,%ebp
5f352a:	83 ec 20             	sub    $0x20,%esp
5f352d:	56                   	push   %esi
5f352e:	57                   	push   %edi
5f352f:	6a 07                	push   $0x7
5f3531:	59                   	pop    %ecx
5f3532:	33 c0                	xor    %eax,%eax
5f3534:	8d 7d e0             	lea    -0x20(%ebp),%edi
5f3537:	f3 ab                	rep stos %eax,%es:(%edi)
5f3539:	d9 75 e0             	fnstenv -0x20(%ebp)
5f353c:	d9 65 e0             	fldenv -0x20(%ebp)
5f353f:	8b 45 e0             	mov    -0x20(%ebp),%eax
5f3542:	25 3f 1f 00 00       	and    $0x1f3f,%eax
5f3547:	50                   	push   %eax
5f3548:	e8 9d fd ff ff       	call   0x5f32ea
5f354d:	83 3d 58 6b 71 00 01 	cmpl   $0x1,0x716b58
5f3554:	8b f0                	mov    %eax,%esi
5f3556:	59                   	pop    %ecx
5f3557:	7d 04                	jge    0x5f355d
5f3559:	33 c9                	xor    %ecx,%ecx
5f355b:	eb 0d                	jmp    0x5f356a
5f355d:	0f ae 5d fc          	stmxcsr -0x4(%ebp)
5f3561:	8b 4d fc             	mov    -0x4(%ebp),%ecx
5f3564:	81 e1 c0 ff 00 00    	and    $0xffc0,%ecx
5f356a:	51                   	push   %ecx
5f356b:	e8 ca fc ff ff       	call   0x5f323a
5f3570:	59                   	pop    %ecx
5f3571:	8b d0                	mov    %eax,%edx
5f3573:	8b c8                	mov    %eax,%ecx
5f3575:	83 e2 3f             	and    $0x3f,%edx
5f3578:	81 e1 00 ff ff ff    	and    $0xffffff00,%ecx
5f357e:	c1 e2 02             	shl    $0x2,%edx
5f3581:	0b d1                	or     %ecx,%edx
5f3583:	8b ce                	mov    %esi,%ecx
5f3585:	c1 e2 06             	shl    $0x6,%edx
5f3588:	83 e1 3f             	and    $0x3f,%ecx
5f358b:	0b d1                	or     %ecx,%edx
5f358d:	8b ce                	mov    %esi,%ecx
5f358f:	c1 e2 02             	shl    $0x2,%edx
5f3592:	81 e1 00 03 00 00    	and    $0x300,%ecx
5f3598:	0b d1                	or     %ecx,%edx
5f359a:	c1 e2 0e             	shl    $0xe,%edx
5f359d:	0b c2                	or     %edx,%eax
5f359f:	5f                   	pop    %edi
5f35a0:	0b c6                	or     %esi,%eax
5f35a2:	5e                   	pop    %esi
5f35a3:	c9                   	leave
5f35a4:	c3                   	ret
5f35a5:	8b ff                	mov    %edi,%edi
5f35a7:	55                   	push   %ebp
5f35a8:	8b ec                	mov    %esp,%ebp
5f35aa:	51                   	push   %ecx
5f35ab:	56                   	push   %esi
5f35ac:	33 c0                	xor    %eax,%eax
5f35ae:	57                   	push   %edi
5f35af:	66 89 45 fc          	mov    %ax,-0x4(%ebp)
5f35b3:	dd 7d fc             	fnstsw -0x4(%ebp)
5f35b6:	0f b7 55 fc          	movzwl -0x4(%ebp),%edx
5f35ba:	8b f2                	mov    %edx,%esi
5f35bc:	8b c2                	mov    %edx,%eax
5f35be:	c1 ee 02             	shr    $0x2,%esi
5f35c1:	83 e0 10             	and    $0x10,%eax
5f35c4:	83 e6 08             	and    $0x8,%esi
5f35c7:	8b ca                	mov    %edx,%ecx
5f35c9:	0b f0                	or     %eax,%esi
5f35cb:	83 e1 02             	and    $0x2,%ecx
5f35ce:	c1 ee 02             	shr    $0x2,%esi
5f35d1:	8b c2                	mov    %edx,%eax
5f35d3:	83 e0 08             	and    $0x8,%eax
5f35d6:	c1 e1 03             	shl    $0x3,%ecx
5f35d9:	0b f0                	or     %eax,%esi
5f35db:	8b c2                	mov    %edx,%eax
5f35dd:	83 e0 04             	and    $0x4,%eax
5f35e0:	d1 ee                	shr    $1,%esi
5f35e2:	0b c8                	or     %eax,%ecx
5f35e4:	83 e2 01             	and    $0x1,%edx
5f35e7:	03 c9                	add    %ecx,%ecx
5f35e9:	c1 e2 04             	shl    $0x4,%edx
5f35ec:	0b f1                	or     %ecx,%esi
5f35ee:	0b f2                	or     %edx,%esi
5f35f0:	83 3d 58 6b 71 00 01 	cmpl   $0x1,0x716b58
5f35f7:	7d 04                	jge    0x5f35fd
5f35f9:	33 ff                	xor    %edi,%edi
5f35fb:	eb 0a                	jmp    0x5f3607
5f35fd:	0f ae 5d fc          	stmxcsr -0x4(%ebp)
5f3601:	8b 7d fc             	mov    -0x4(%ebp),%edi
5f3604:	83 e7 3f             	and    $0x3f,%edi
5f3607:	8b d7                	mov    %edi,%edx
5f3609:	8b c7                	mov    %edi,%eax
5f360b:	83 e0 10             	and    $0x10,%eax
5f360e:	c1 ea 02             	shr    $0x2,%edx
5f3611:	83 e2 08             	and    $0x8,%edx
5f3614:	8b cf                	mov    %edi,%ecx
5f3616:	0b d0                	or     %eax,%edx
5f3618:	83 e1 02             	and    $0x2,%ecx
5f361b:	8b c7                	mov    %edi,%eax
5f361d:	c1 ea 02             	shr    $0x2,%edx
5f3620:	83 e0 08             	and    $0x8,%eax
5f3623:	c1 e1 03             	shl    $0x3,%ecx
5f3626:	0b d0                	or     %eax,%edx
5f3628:	8b c7                	mov    %edi,%eax
5f362a:	83 e0 04             	and    $0x4,%eax
5f362d:	d1 ea                	shr    $1,%edx
5f362f:	0b c8                	or     %eax,%ecx
5f3631:	83 e7 01             	and    $0x1,%edi
5f3634:	03 c9                	add    %ecx,%ecx
5f3636:	c1 e7 04             	shl    $0x4,%edi
5f3639:	0b d1                	or     %ecx,%edx
5f363b:	0b d7                	or     %edi,%edx
5f363d:	8b c2                	mov    %edx,%eax
5f363f:	c1 e0 08             	shl    $0x8,%eax
5f3642:	0b c6                	or     %esi,%eax
5f3644:	c1 e0 10             	shl    $0x10,%eax
5f3647:	0b c2                	or     %edx,%eax
5f3649:	5f                   	pop    %edi
5f364a:	0b c6                	or     %esi,%eax
5f364c:	5e                   	pop    %esi
5f364d:	c9                   	leave
5f364e:	c3                   	ret
5f364f:	8b ff                	mov    %edi,%edi
5f3651:	55                   	push   %ebp
5f3652:	8b ec                	mov    %esp,%ebp
5f3654:	83 ec 20             	sub    $0x20,%esp
5f3657:	57                   	push   %edi
5f3658:	ff 75 08             	push   0x8(%ebp)
5f365b:	e8 ed fd ff ff       	call   0x5f344d
5f3660:	59                   	pop    %ecx
5f3661:	6a 07                	push   $0x7
5f3663:	0f b7 d0             	movzwl %ax,%edx
5f3666:	8d 7d e0             	lea    -0x20(%ebp),%edi
5f3669:	59                   	pop    %ecx
5f366a:	33 c0                	xor    %eax,%eax
5f366c:	f3 ab                	rep stos %eax,%es:(%edi)
5f366e:	d9 75 e0             	fnstenv -0x20(%ebp)
5f3671:	8b 4d e0             	mov    -0x20(%ebp),%ecx
5f3674:	81 e2 3f 1f 00 00    	and    $0x1f3f,%edx
5f367a:	81 e1 c0 e0 ff ff    	and    $0xffffe0c0,%ecx
5f3680:	8b c2                	mov    %edx,%eax
5f3682:	0b ca                	or     %edx,%ecx
5f3684:	89 45 fc             	mov    %eax,-0x4(%ebp)
5f3687:	89 4d e0             	mov    %ecx,-0x20(%ebp)
5f368a:	d9 65 e0             	fldenv -0x20(%ebp)
5f368d:	ff 75 08             	push   0x8(%ebp)
5f3690:	e8 02 fd ff ff       	call   0x5f3397
5f3695:	83 3d 58 6b 71 00 01 	cmpl   $0x1,0x716b58
5f369c:	59                   	pop    %ecx
5f369d:	0f b7 d0             	movzwl %ax,%edx
5f36a0:	5f                   	pop    %edi
5f36a1:	7c 25                	jl     0x5f36c8
5f36a3:	81 e2 c0 ff 00 00    	and    $0xffc0,%edx
5f36a9:	0f b7 c2             	movzwl %dx,%eax
5f36ac:	89 45 fc             	mov    %eax,-0x4(%ebp)
5f36af:	0f ae 5d fc          	stmxcsr -0x4(%ebp)
5f36b3:	8b 4d fc             	mov    -0x4(%ebp),%ecx
5f36b6:	81 e1 3f 00 ff ff    	and    $0xffff003f,%ecx
5f36bc:	0f b7 c2             	movzwl %dx,%eax
5f36bf:	0b c8                	or     %eax,%ecx
5f36c1:	89 4d fc             	mov    %ecx,-0x4(%ebp)
5f36c4:	0f ae 55 fc          	ldmxcsr -0x4(%ebp)
5f36c8:	c9                   	leave
5f36c9:	c3                   	ret
5f36ca:	8b ff                	mov    %edi,%edi
5f36cc:	55                   	push   %ebp
5f36cd:	8b ec                	mov    %esp,%ebp
5f36cf:	83 ec 20             	sub    $0x20,%esp
5f36d2:	56                   	push   %esi
5f36d3:	8b 75 08             	mov    0x8(%ebp),%esi
5f36d6:	8b ce                	mov    %esi,%ecx
5f36d8:	c1 e9 10             	shr    $0x10,%ecx
5f36db:	83 e1 3f             	and    $0x3f,%ecx
5f36de:	8b d1                	mov    %ecx,%edx
5f36e0:	8b c1                	mov    %ecx,%eax
5f36e2:	83 e2 01             	and    $0x1,%edx
5f36e5:	f7 da                	neg    %edx
5f36e7:	57                   	push   %edi
5f36e8:	1b d2                	sbb    %edx,%edx
5f36ea:	8d 7d e0             	lea    -0x20(%ebp),%edi
5f36ed:	83 e0 02             	and    $0x2,%eax
5f36f0:	83 e2 20             	and    $0x20,%edx
5f36f3:	f7 d8                	neg    %eax
5f36f5:	6a 00                	push   $0x0
5f36f7:	1b c0                	sbb    %eax,%eax
5f36f9:	83 e0 10             	and    $0x10,%eax
5f36fc:	0b d0                	or     %eax,%edx
5f36fe:	8b c1                	mov    %ecx,%eax
5f3700:	83 e0 04             	and    $0x4,%eax
5f3703:	f7 d8                	neg    %eax
5f3705:	1b c0                	sbb    %eax,%eax
5f3707:	83 e0 08             	and    $0x8,%eax
5f370a:	0b d0                	or     %eax,%edx
5f370c:	8b c1                	mov    %ecx,%eax
5f370e:	83 e0 08             	and    $0x8,%eax
5f3711:	f7 d8                	neg    %eax
5f3713:	1b c0                	sbb    %eax,%eax
5f3715:	83 e0 04             	and    $0x4,%eax
5f3718:	0b d0                	or     %eax,%edx
5f371a:	f7 c1 10 00 00 00    	test   $0x10,%ecx
5f3720:	58                   	pop    %eax
5f3721:	0f 95 c0             	setne  %al
5f3724:	83 e1 20             	and    $0x20,%ecx
5f3727:	0b d0                	or     %eax,%edx
5f3729:	f7 d9                	neg    %ecx
5f372b:	6a 07                	push   $0x7
5f372d:	1b c9                	sbb    %ecx,%ecx
5f372f:	33 c0                	xor    %eax,%eax
5f3731:	83 e1 02             	and    $0x2,%ecx