5f2fbc:	81 ce 00 03 00 00    	or     $0x300,%esi
5f2fc2:	eb 0e                	jmp    0x5f2fd2
5f2fc4:	81 ce 00 02 00 00    	or     $0x200,%esi
5f2fca:	eb 06                	jmp    0x5f2fd2
5f2fcc:	81 ce 00 01 00 00    	or     $0x100,%esi
5f2fd2:	81 e2 00 03 00 00    	and    $0x300,%edx
5f2fd8:	74 10                	je     0x5f2fea
5f2fda:	81 fa 00 02 00 00    	cmp    $0x200,%edx
5f2fe0:	75 0e                	jne    0x5f2ff0
5f2fe2:	81 ce 00 00 01 00    	or     $0x10000,%esi
5f2fe8:	eb 06                	jmp    0x5f2ff0
5f2fea:	81 ce 00 00 02 00    	or     $0x20000,%esi
5f2ff0:	0f b7 c0             	movzwl %ax,%eax
5f2ff3:	ba 00 10 00 00       	mov    $0x1000,%edx
5f2ff8:	85 c2                	test   %eax,%edx
5f2ffa:	74 06                	je     0x5f3002
5f2ffc:	81 ce 00 00 04 00    	or     $0x40000,%esi
5f3002:	83 3d 58 6b 71 00 01 	cmpl   $0x1,0x716b58
5f3009:	0f 8c 86 01 00 00    	jl     0x5f3195
5f300f:	81 e7 1f 03 08 03    	and    $0x308031f,%edi
5f3015:	0f ae 5d f0          	stmxcsr -0x10(%ebp)
5f3019:	8b 4d f0             	mov    -0x10(%ebp),%ecx
5f301c:	8b c1                	mov    %ecx,%eax
5f301e:	c1 e8 03             	shr    $0x3,%eax
5f3021:	83 e0 10             	and    $0x10,%eax
5f3024:	f7 c1 00 02 00 00    	test   $0x200,%ecx
5f302a:	74 03                	je     0x5f302f
5f302c:	83 c8 08             	or     $0x8,%eax
5f302f:	f7 c1 00 04 00 00    	test   $0x400,%ecx
5f3035:	74 03                	je     0x5f303a
5f3037:	83 c8 04             	or     $0x4,%eax
5f303a:	f7 c1 00 08 00 00    	test   $0x800,%ecx
5f3040:	74 03                	je     0x5f3045
5f3042:	83 c8 02             	or     $0x2,%eax
5f3045:	85 ca                	test   %ecx,%edx
5f3047:	74 03                	je     0x5f304c
5f3049:	83 c8 01             	or     $0x1,%eax
5f304c:	f7 c1 00 01 00 00    	test   $0x100,%ecx
5f3052:	74 05                	je     0x5f3059
5f3054:	0d 00 00 08 00       	or     $0x80000,%eax
5f3059:	8b d1                	mov    %ecx,%edx
5f305b:	bb 00 60 00 00       	mov    $0x6000,%ebx
5f3060:	23 d3                	and    %ebx,%edx
5f3062:	74 27                	je     0x5f308b
5f3064:	81 fa 00 20 00 00    	cmp    $0x2000,%edx
5f306a:	74 1a                	je     0x5f3086
5f306c:	81 fa 00 40 00 00    	cmp    $0x4000,%edx
5f3072:	74 0b                	je     0x5f307f
5f3074:	3b d3                	cmp    %ebx,%edx
5f3076:	75 13                	jne    0x5f308b
5f3078:	0d 00 03 00 00       	or     $0x300,%eax
5f307d:	eb 0c                	jmp    0x5f308b
5f307f:	0d 00 02 00 00       	or     $0x200,%eax
5f3084:	eb 05                	jmp    0x5f308b
5f3086:	0d 00 01 00 00       	or     $0x100,%eax
5f308b:	6a 40                	push   $0x40
5f308d:	81 e1 40 80 00 00    	and    $0x8040,%ecx
5f3093:	5b                   	pop    %ebx
5f3094:	2b cb                	sub    %ebx,%ecx
5f3096:	74 1a                	je     0x5f30b2
5f3098:	81 e9 c0 7f 00 00    	sub    $0x7fc0,%ecx
5f309e:	74 0b                	je     0x5f30ab
5f30a0:	2b cb                	sub    %ebx,%ecx
5f30a2:	75 13                	jne    0x5f30b7
5f30a4:	0d 00 00 00 01       	or     $0x1000000,%eax
5f30a9:	eb 0c                	jmp    0x5f30b7
5f30ab:	0d 00 00 00 03       	or     $0x3000000,%eax
5f30b0:	eb 05                	jmp    0x5f30b7
5f30b2:	0d 00 00 00 02       	or     $0x2000000,%eax
5f30b7:	8b cf                	mov    %edi,%ecx
5f30b9:	23 7d 08             	and    0x8(%ebp),%edi
5f30bc:	f7 d1                	not    %ecx
5f30be:	23 c8                	and    %eax,%ecx
5f30c0:	0b cf                	or     %edi,%ecx
5f30c2:	3b c8                	cmp    %eax,%ecx
5f30c4:	0f 84 b4 00 00 00    	je     0x5f317e
5f30ca:	51                   	push   %ecx
5f30cb:	e8 46 fc ff ff       	call   0x5f2d16
5f30d0:	50                   	push   %eax
5f30d1:	89 45 f4             	mov    %eax,-0xc(%ebp)
5f30d4:	e8 f0 ae ff ff       	call   0x5edfc9
5f30d9:	59                   	pop    %ecx
5f30da:	59                   	pop    %ecx
5f30db:	0f ae 5d f4          	stmxcsr -0xc(%ebp)
5f30df:	8b 4d f4             	mov    -0xc(%ebp),%ecx
5f30e2:	8b c1                	mov    %ecx,%eax
5f30e4:	c1 e8 03             	shr    $0x3,%eax
5f30e7:	83 e0 10             	and    $0x10,%eax
5f30ea:	f7 c1 00 02 00 00    	test   $0x200,%ecx
5f30f0:	74 03                	je     0x5f30f5
5f30f2:	83 c8 08             	or     $0x8,%eax
5f30f5:	f7 c1 00 04 00 00    	test   $0x400,%ecx
5f30fb:	74 03                	je     0x5f3100
5f30fd:	83 c8 04             	or     $0x4,%eax
5f3100:	f7 c1 00 08 00 00    	test   $0x800,%ecx
5f3106:	74 03                	je     0x5f310b
5f3108:	83 c8 02             	or     $0x2,%eax
5f310b:	f7 c1 00 10 00 00    	test   $0x1000,%ecx
5f3111:	74 03                	je     0x5f3116
5f3113:	83 c8 01             	or     $0x1,%eax
5f3116:	f7 c1 00 01 00 00    	test   $0x100,%ecx
5f311c:	74 05                	je     0x5f3123
5f311e:	0d 00 00 08 00       	or     $0x80000,%eax
5f3123:	8b d1                	mov    %ecx,%edx
5f3125:	bf 00 60 00 00       	mov    $0x6000,%edi
5f312a:	23 d7                	and    %edi,%edx
5f312c:	74 27                	je     0x5f3155
5f312e:	81 fa 00 20 00 00    	cmp    $0x2000,%edx
5f3134:	74 1a                	je     0x5f3150
5f3136:	81 fa 00 40 00 00    	cmp    $0x4000,%edx
5f313c:	74 0b                	je     0x5f3149
5f313e:	3b d7                	cmp    %edi,%edx
5f3140:	75 13                	jne    0x5f3155
5f3142:	0d 00 03 00 00       	or     $0x300,%eax
5f3147:	eb 0c                	jmp    0x5f3155
5f3149:	0d 00 02 00 00       	or     $0x200,%eax
5f314e:	eb 05                	jmp    0x5f3155
5f3150:	0d 00 01 00 00       	or     $0x100,%eax
5f3155:	81 e1 40 80 00 00    	and    $0x8040,%ecx
5f315b:	2b cb                	sub    %ebx,%ecx
5f315d:	74 1a                	je     0x5f3179
5f315f:	81 e9 c0 7f 00 00    	sub    $0x7fc0,%ecx
5f3165:	74 0b                	je     0x5f3172
5f3167:	2b cb                	sub    %ebx,%ecx
5f3169:	75 13                	jne    0x5f317e
5f316b:	0d 00 00 00 01       	or     $0x1000000,%eax
5f3170:	eb 0c                	jmp    0x5f317e
5f3172:	0d 00 00 00 03       	or     $0x3000000,%eax
5f3177:	eb 05                	jmp    0x5f317e
5f3179:	0d 00 00 00 02       	or     $0x2000000,%eax
5f317e:	8b c8                	mov    %eax,%ecx
5f3180:	33 c6                	xor    %esi,%eax
5f3182:	0b ce                	or     %esi,%ecx
5f3184:	a9 1f 03 08 00       	test   $0x8031f,%eax
5f3189:	74 06                	je     0x5f3191
5f318b:	81 c9 00 00 00 80    	or     $0x80000000,%ecx
5f3191:	8b c1                	mov    %ecx,%eax
5f3193:	eb 02                	jmp    0x5f3197
5f3195:	8b c6                	mov    %esi,%eax
5f3197:	5f                   	pop    %edi
5f3198:	5e                   	pop    %esi
5f3199:	5b                   	pop    %ebx
5f319a:	c9                   	leave
5f319b:	c3                   	ret
5f319c:	8b ff                	mov    %edi,%edi
5f319e:	55                   	push   %ebp
5f319f:	8b ec                	mov    %esp,%ebp
5f31a1:	8b 4d 08             	mov    0x8(%ebp),%ecx
5f31a4:	8b d1                	mov    %ecx,%edx
5f31a6:	c1 ea 04             	shr    $0x4,%edx
5f31a9:	83 e2 01             	and    $0x1,%edx
5f31ac:	8b c2                	mov    %edx,%eax
5f31ae:	f6 c1 08             	test   $0x8,%cl
5f31b1:	74 06                	je     0x5f31b9
5f31b3:	83 ca 04             	or     $0x4,%edx
5f31b6:	0f b7 c2             	movzwl %dx,%eax
5f31b9:	f6 c1 04             	test   $0x4,%cl
5f31bc:	74 03                	je     0x5f31c1
5f31be:	83 c8 08             	or     $0x8,%eax
5f31c1:	f6 c1 02             	test   $0x2,%cl
5f31c4:	74 03                	je     0x5f31c9
5f31c6:	83 c8 10             	or     $0x10,%eax
5f31c9:	f6 c1 01             	test   $0x1,%cl
5f31cc:	74 03                	je     0x5f31d1
5f31ce:	83 c8 20             	or     $0x20,%eax
5f31d1:	f7 c1 00 00 08 00    	test   $0x80000,%ecx
5f31d7:	74 03                	je     0x5f31dc
5f31d9:	83 c8 02             	or     $0x2,%eax
5f31dc:	56                   	push   %esi
5f31dd:	8b d1                	mov    %ecx,%edx
5f31df:	be 00 03 00 00       	mov    $0x300,%esi
5f31e4:	57                   	push   %edi
5f31e5:	bf 00 02 00 00       	mov    $0x200,%edi
5f31ea:	23 d6                	and    %esi,%edx
5f31ec:	74 23                	je     0x5f3211
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