5f31ee:	81 fa 00 01 00 00    	cmp    $0x100,%edx
5f31f4:	74 16                	je     0x5f320c
5f31f6:	3b d7                	cmp    %edi,%edx
5f31f8:	74 0b                	je     0x5f3205
5f31fa:	3b d6                	cmp    %esi,%edx
5f31fc:	75 13                	jne    0x5f3211
5f31fe:	0d 00 0c 00 00       	or     $0xc00,%eax
5f3203:	eb 0c                	jmp    0x5f3211
5f3205:	0d 00 08 00 00       	or     $0x800,%eax
5f320a:	eb 05                	jmp    0x5f3211
5f320c:	0d 00 04 00 00       	or     $0x400,%eax
5f3211:	8b d1                	mov    %ecx,%edx
5f3213:	81 e2 00 00 03 00    	and    $0x30000,%edx
5f3219:	74 0c                	je     0x5f3227
5f321b:	81 fa 00 00 01 00    	cmp    $0x10000,%edx
5f3221:	75 06                	jne    0x5f3229
5f3223:	0b c7                	or     %edi,%eax
5f3225:	eb 02                	jmp    0x5f3229
5f3227:	0b c6                	or     %esi,%eax
5f3229:	5f                   	pop    %edi
5f322a:	5e                   	pop    %esi
5f322b:	f7 c1 00 00 04 00    	test   $0x40000,%ecx
5f3231:	74 05                	je     0x5f3238
5f3233:	0d 00 10 00 00       	or     $0x1000,%eax
5f3238:	5d                   	pop    %ebp
5f3239:	c3                   	ret
5f323a:	8b ff                	mov    %edi,%edi
5f323c:	55                   	push   %ebp
5f323d:	8b ec                	mov    %esp,%ebp
5f323f:	53                   	push   %ebx
5f3240:	56                   	push   %esi
5f3241:	ba 40 80 00 00       	mov    $0x8040,%edx
5f3246:	33 f6                	xor    %esi,%esi
5f3248:	57                   	push   %edi
5f3249:	8b 7d 08             	mov    0x8(%ebp),%edi
5f324c:	8b c7                	mov    %edi,%eax
5f324e:	23 c2                	and    %edx,%eax
5f3250:	8d 4a c0             	lea    -0x40(%edx),%ecx
5f3253:	66 3b c1             	cmp    %cx,%ax
5f3256:	75 07                	jne    0x5f325f
5f3258:	bb 00 0c 00 00       	mov    $0xc00,%ebx
5f325d:	eb 19                	jmp    0x5f3278
5f325f:	66 83 f8 40          	cmp    $0x40,%ax
5f3263:	75 07                	jne    0x5f326c
5f3265:	bb 00 08 00 00       	mov    $0x800,%ebx
5f326a:	eb 0c                	jmp    0x5f3278
5f326c:	bb 00 04 00 00       	mov    $0x400,%ebx
5f3271:	66 3b c2             	cmp    %dx,%ax
5f3274:	74 02                	je     0x5f3278
5f3276:	8b de                	mov    %esi,%ebx
5f3278:	8b c7                	mov    %edi,%eax
5f327a:	b9 00 60 00 00       	mov    $0x6000,%ecx
5f327f:	23 c1                	and    %ecx,%eax
5f3281:	74 25                	je     0x5f32a8
5f3283:	3d 00 20 00 00       	cmp    $0x2000,%eax
5f3288:	74 19                	je     0x5f32a3
5f328a:	3d 00 40 00 00       	cmp    $0x4000,%eax
5f328f:	74 0b                	je     0x5f329c
5f3291:	3b c1                	cmp    %ecx,%eax
5f3293:	75 13                	jne    0x5f32a8
5f3295:	be 00 03 00 00       	mov    $0x300,%esi
5f329a:	eb 0c                	jmp    0x5f32a8
5f329c:	be 00 02 00 00       	mov    $0x200,%esi
5f32a1:	eb 05                	jmp    0x5f32a8
5f32a3:	be 00 01 00 00       	mov    $0x100,%esi
5f32a8:	8b d7                	mov    %edi,%edx
5f32aa:	b9 00 04 00 00       	mov    $0x400,%ecx
5f32af:	c1 ea 02             	shr    $0x2,%edx
5f32b2:	8b c7                	mov    %edi,%eax
5f32b4:	25 00 08 00 00       	and    $0x800,%eax
5f32b9:	23 d1                	and    %ecx,%edx
5f32bb:	0b d0                	or     %eax,%edx
5f32bd:	8b c7                	mov    %edi,%eax
5f32bf:	23 c1                	and    %ecx,%eax
5f32c1:	c1 ea 02             	shr    $0x2,%edx
5f32c4:	0b c2                	or     %edx,%eax
5f32c6:	8b cf                	mov    %edi,%ecx
5f32c8:	c1 e8 02             	shr    $0x2,%eax
5f32cb:	81 e1 00 02 00 00    	and    $0x200,%ecx
5f32d1:	0b c1                	or     %ecx,%eax
5f32d3:	81 e7 80 01 00 00    	and    $0x180,%edi
5f32d9:	c1 e8 03             	shr    $0x3,%eax
5f32dc:	0b c7                	or     %edi,%eax
5f32de:	c1 e8 03             	shr    $0x3,%eax
5f32e1:	0b c3                	or     %ebx,%eax
5f32e3:	5f                   	pop    %edi
5f32e4:	0b c6                	or     %esi,%eax
5f32e6:	5e                   	pop    %esi
5f32e7:	5b                   	pop    %ebx
5f32e8:	5d                   	pop    %ebp
5f32e9:	c3                   	ret
5f32ea:	8b ff                	mov    %edi,%edi
5f32ec:	55                   	push   %ebp
5f32ed:	8b ec                	mov    %esp,%ebp
5f32ef:	51                   	push   %ecx
5f32f0:	53                   	push   %ebx
5f32f1:	56                   	push   %esi
5f32f2:	57                   	push   %edi
5f32f3:	8b 7d 08             	mov    0x8(%ebp),%edi
5f32f6:	ba 00 10 00 00       	mov    $0x1000,%edx
5f32fb:	0f b7 c7             	movzwl %di,%eax
5f32fe:	8b d8                	mov    %eax,%ebx
5f3300:	89 55 fc             	mov    %edx,-0x4(%ebp)
5f3303:	23 da                	and    %edx,%ebx
5f3305:	8b c8                	mov    %eax,%ecx
5f3307:	c1 e3 02             	shl    $0x2,%ebx
5f330a:	ba 00 02 00 00       	mov    $0x200,%edx
5f330f:	6a 00                	push   $0x0
5f3311:	5e                   	pop    %esi
5f3312:	81 e1 00 03 00 00    	and    $0x300,%ecx
5f3318:	74 09                	je     0x5f3323
5f331a:	3b ca                	cmp    %edx,%ecx
5f331c:	74 0c                	je     0x5f332a
5f331e:	89 75 fc             	mov    %esi,-0x4(%ebp)
5f3321:	eb 07                	jmp    0x5f332a
5f3323:	c7 45 fc 00 20 00 00 	movl   $0x2000,-0x4(%ebp)
5f332a:	b9 00 0c 00 00       	mov    $0xc00,%ecx
5f332f:	23 c1                	and    %ecx,%eax
5f3331:	74 22                	je     0x5f3355
5f3333:	3d 00 04 00 00       	cmp    $0x400,%eax
5f3338:	74 16                	je     0x5f3350
5f333a:	3d 00 08 00 00       	cmp    $0x800,%eax
5f333f:	74 0b                	je     0x5f334c
5f3341:	3b c1                	cmp    %ecx,%eax
5f3343:	75 10                	jne    0x5f3355
5f3345:	be 00 03 00 00       	mov    $0x300,%esi
5f334a:	eb 09                	jmp    0x5f3355
5f334c:	8b f2                	mov    %edx,%esi
5f334e:	eb 05                	jmp    0x5f3355
5f3350:	be 00 01 00 00       	mov    $0x100,%esi
5f3355:	8b d7                	mov    %edi,%edx
5f3357:	8b c7                	mov    %edi,%eax
5f3359:	83 e0 10             	and    $0x10,%eax
5f335c:	c1 ea 02             	shr    $0x2,%edx
5f335f:	83 e2 08             	and    $0x8,%edx
5f3362:	8b cf                	mov    %edi,%ecx
5f3364:	0b d0                	or     %eax,%edx
5f3366:	83 e1 02             	and    $0x2,%ecx
5f3369:	8b c7                	mov    %edi,%eax
5f336b:	c1 ea 02             	shr    $0x2,%edx
5f336e:	83 e0 08             	and    $0x8,%eax
5f3371:	c1 e1 03             	shl    $0x3,%ecx
5f3374:	0b d0                	or     %eax,%edx
5f3376:	8b c7                	mov    %edi,%eax
5f3378:	83 e0 04             	and    $0x4,%eax
5f337b:	d1 ea                	shr    $1,%edx
5f337d:	0b c1                	or     %ecx,%eax
5f337f:	83 e7 01             	and    $0x1,%edi
5f3382:	03 c0                	add    %eax,%eax
5f3384:	c1 e7 04             	shl    $0x4,%edi
5f3387:	0b c2                	or     %edx,%eax
5f3389:	0b c7                	or     %edi,%eax
5f338b:	0b c3                	or     %ebx,%eax
5f338d:	0b 45 fc             	or     -0x4(%ebp),%eax
5f3390:	5f                   	pop    %edi
5f3391:	0b c6                	or     %esi,%eax
5f3393:	5e                   	pop    %esi
5f3394:	5b                   	pop    %ebx
5f3395:	c9                   	leave
5f3396:	c3                   	ret
5f3397:	8b ff                	mov    %edi,%edi
5f3399:	55                   	push   %ebp
5f339a:	8b ec                	mov    %esp,%ebp
5f339c:	8b 4d 08             	mov    0x8(%ebp),%ecx
5f339f:	8b c1                	mov    %ecx,%eax
5f33a1:	53                   	push   %ebx
5f33a2:	56                   	push   %esi
5f33a3:	8b f1                	mov    %ecx,%esi
5f33a5:	c1 e8 02             	shr    $0x2,%eax
5f33a8:	81 e6 ff ff 3f c0    	and    $0xc03fffff,%esi
5f33ae:	0b f0                	or     %eax,%esi
5f33b0:	b8 00 0c 00 00       	mov    $0xc00,%eax
5f33b5:	57                   	push   %edi
5f33b6:	23 c8                	and    %eax,%ecx
5f33b8:	c1 ee 16             	shr    $0x16,%esi
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