57d110:	8b 4c 24 14          	mov    0x14(%esp),%ecx
57d114:	83 e6 7f             	and    $0x7f,%esi
57d117:	5b                   	pop    %ebx
57d118:	89 31                	mov    %esi,(%ecx)
57d11a:	5e                   	pop    %esi
57d11b:	c3                   	ret
57d11c:	8a c1                	mov    %cl,%al
57d11e:	24 e0                	and    $0xe0,%al
57d120:	3c c0                	cmp    $0xc0,%al
57d122:	75 43                	jne    0x57d167
57d124:	83 fe 02             	cmp    $0x2,%esi
57d127:	0f 8c c9 01 00 00    	jl     0x57d2f6
57d12d:	8a 52 01             	mov    0x1(%edx),%dl
57d130:	8a c2                	mov    %dl,%al
57d132:	24 c0                	and    $0xc0,%al
57d134:	3c 80                	cmp    $0x80,%al
57d136:	0f 85 55 02 00 00    	jne    0x57d391
57d13c:	0f b6 f1             	movzbl %cl,%esi
57d13f:	83 e6 1f             	and    $0x1f,%esi
57d142:	0f b6 c2             	movzbl %dl,%eax
57d145:	c1 e6 06             	shl    $0x6,%esi
57d148:	83 e0 3f             	and    $0x3f,%eax
57d14b:	0b f0                	or     %eax,%esi
57d14d:	81 fe 80 00 00 00    	cmp    $0x80,%esi
57d153:	0f 82 22 02 00 00    	jb     0x57d37b
57d159:	8b 4c 24 14          	mov    0x14(%esp),%ecx
57d15d:	b8 02 00 00 00       	mov    $0x2,%eax
57d162:	5b                   	pop    %ebx
57d163:	89 31                	mov    %esi,(%ecx)
57d165:	5e                   	pop    %esi
57d166:	c3                   	ret
57d167:	8a c1                	mov    %cl,%al
57d169:	24 f0                	and    $0xf0,%al
57d16b:	3c e0                	cmp    $0xe0,%al
57d16d:	75 5d                	jne    0x57d1cc
57d16f:	83 fe 03             	cmp    $0x3,%esi
57d172:	0f 8c 7e 01 00 00    	jl     0x57d2f6
57d178:	8a 5a 01             	mov    0x1(%edx),%bl
57d17b:	8a c3                	mov    %bl,%al
57d17d:	24 c0                	and    $0xc0,%al
57d17f:	3c 80                	cmp    $0x80,%al
57d181:	0f 85 0a 02 00 00    	jne    0x57d391
57d187:	8a 52 02             	mov    0x2(%edx),%dl
57d18a:	8a c2                	mov    %dl,%al
57d18c:	24 c0                	and    $0xc0,%al
57d18e:	3c 80                	cmp    $0x80,%al
57d190:	0f 85 fb 01 00 00    	jne    0x57d391
57d196:	0f b6 f1             	movzbl %cl,%esi
57d199:	83 e6 0f             	and    $0xf,%esi
57d19c:	0f b6 c3             	movzbl %bl,%eax
57d19f:	c1 e6 06             	shl    $0x6,%esi
57d1a2:	83 e0 3f             	and    $0x3f,%eax
57d1a5:	0b f0                	or     %eax,%esi
57d1a7:	0f b6 c2             	movzbl %dl,%eax
57d1aa:	c1 e6 06             	shl    $0x6,%esi
57d1ad:	83 e0 3f             	and    $0x3f,%eax
57d1b0:	0b f0                	or     %eax,%esi
57d1b2:	81 fe 00 08 00 00    	cmp    $0x800,%esi
57d1b8:	0f 82 bd 01 00 00    	jb     0x57d37b
57d1be:	8b 4c 24 14          	mov    0x14(%esp),%ecx
57d1c2:	b8 03 00 00 00       	mov    $0x3,%eax
57d1c7:	5b                   	pop    %ebx
57d1c8:	89 31                	mov    %esi,(%ecx)
57d1ca:	5e                   	pop    %esi
57d1cb:	c3                   	ret
57d1cc:	8a c1                	mov    %cl,%al
57d1ce:	24 f8                	and    $0xf8,%al
57d1d0:	3c f0                	cmp    $0xf0,%al
57d1d2:	75 76                	jne    0x57d24a
57d1d4:	83 fe 04             	cmp    $0x4,%esi
57d1d7:	0f 8c 19 01 00 00    	jl     0x57d2f6
57d1dd:	8a 5a 01             	mov    0x1(%edx),%bl
57d1e0:	8a c3                	mov    %bl,%al
57d1e2:	24 c0                	and    $0xc0,%al
57d1e4:	3c 80                	cmp    $0x80,%al
57d1e6:	0f 85 a5 01 00 00    	jne    0x57d391
57d1ec:	8a 6a 02             	mov    0x2(%edx),%ch
57d1ef:	8a c5                	mov    %ch,%al
57d1f1:	24 c0                	and    $0xc0,%al
57d1f3:	3c 80                	cmp    $0x80,%al
57d1f5:	0f 85 96 01 00 00    	jne    0x57d391
57d1fb:	8a 42 03             	mov    0x3(%edx),%al
57d1fe:	24 c0                	and    $0xc0,%al
57d200:	3c 80                	cmp    $0x80,%al
57d202:	0f 85 89 01 00 00    	jne    0x57d391
57d208:	0f b6 f1             	movzbl %cl,%esi
57d20b:	83 e6 07             	and    $0x7,%esi
57d20e:	0f b6 c3             	movzbl %bl,%eax
57d211:	c1 e6 06             	shl    $0x6,%esi
57d214:	83 e0 3f             	and    $0x3f,%eax
57d217:	0b f0                	or     %eax,%esi
57d219:	0f b6 c5             	movzbl %ch,%eax
57d21c:	c1 e6 06             	shl    $0x6,%esi
57d21f:	83 e0 3f             	and    $0x3f,%eax
57d222:	0b f0                	or     %eax,%esi
57d224:	0f b6 42 03          	movzbl 0x3(%edx),%eax
57d228:	c1 e6 06             	shl    $0x6,%esi
57d22b:	83 e0 3f             	and    $0x3f,%eax
57d22e:	0b f0                	or     %eax,%esi
57d230:	81 fe 00 00 01 00    	cmp    $0x10000,%esi
57d236:	0f 82 3f 01 00 00    	jb     0x57d37b
57d23c:	8b 4c 24 14          	mov    0x14(%esp),%ecx
57d240:	b8 04 00 00 00       	mov    $0x4,%eax
57d245:	5b                   	pop    %ebx
57d246:	89 31                	mov    %esi,(%ecx)
57d248:	5e                   	pop    %esi
57d249:	c3                   	ret
57d24a:	8a c1                	mov    %cl,%al
57d24c:	24 fc                	and    $0xfc,%al
57d24e:	3c f8                	cmp    $0xf8,%al
57d250:	0f 85 8f 00 00 00    	jne    0x57d2e5
57d256:	83 fe 05             	cmp    $0x5,%esi
57d259:	0f 8c 97 00 00 00    	jl     0x57d2f6
57d25f:	8a 5a 01             	mov    0x1(%edx),%bl
57d262:	8a c3                	mov    %bl,%al
57d264:	24 c0                	and    $0xc0,%al
57d266:	3c 80                	cmp    $0x80,%al
57d268:	0f 85 23 01 00 00    	jne    0x57d391
57d26e:	8a 6a 02             	mov    0x2(%edx),%ch
57d271:	8a c5                	mov    %ch,%al
57d273:	24 c0                	and    $0xc0,%al
57d275:	3c 80                	cmp    $0x80,%al
57d277:	0f 85 14 01 00 00    	jne    0x57d391
57d27d:	8a 42 03             	mov    0x3(%edx),%al
57d280:	24 c0                	and    $0xc0,%al
57d282:	3c 80                	cmp    $0x80,%al
57d284:	0f 85 07 01 00 00    	jne    0x57d391
57d28a:	8a 42 04             	mov    0x4(%edx),%al
57d28d:	24 c0                	and    $0xc0,%al
57d28f:	3c 80                	cmp    $0x80,%al
57d291:	0f 85 fa 00 00 00    	jne    0x57d391
57d297:	0f b6 f1             	movzbl %cl,%esi
57d29a:	83 e6 03             	and    $0x3,%esi
57d29d:	0f b6 c3             	movzbl %bl,%eax
57d2a0:	c1 e6 06             	shl    $0x6,%esi
57d2a3:	83 e0 3f             	and    $0x3f,%eax
57d2a6:	0b f0                	or     %eax,%esi
57d2a8:	0f b6 c5             	movzbl %ch,%eax
57d2ab:	c1 e6 06             	shl    $0x6,%esi
57d2ae:	83 e0 3f             	and    $0x3f,%eax
57d2b1:	0b f0                	or     %eax,%esi
57d2b3:	0f b6 42 03          	movzbl 0x3(%edx),%eax
57d2b7:	c1 e6 06             	shl    $0x6,%esi
57d2ba:	83 e0 3f             	and    $0x3f,%eax
57d2bd:	0b f0                	or     %eax,%esi
57d2bf:	0f b6 42 04          	movzbl 0x4(%edx),%eax
57d2c3:	c1 e6 06             	shl    $0x6,%esi
57d2c6:	83 e0 3f             	and    $0x3f,%eax
57d2c9:	0b f0                	or     %eax,%esi
57d2cb:	81 fe 00 00 20 00    	cmp    $0x200000,%esi
57d2d1:	0f 82 a4 00 00 00    	jb     0x57d37b
57d2d7:	8b 4c 24 14          	mov    0x14(%esp),%ecx
57d2db:	b8 05 00 00 00       	mov    $0x5,%eax
57d2e0:	5b                   	pop    %ebx
57d2e1:	89 31                	mov    %esi,(%ecx)
57d2e3:	5e                   	pop    %esi
57d2e4:	c3                   	ret
57d2e5:	8a c1                	mov    %cl,%al
57d2e7:	24 fe                	and    $0xfe,%al
57d2e9:	3c fc                	cmp    $0xfc,%al
57d2eb:	0f 85 a8 00 00 00    	jne    0x57d399
57d2f1:	83 fe 06             	cmp    $0x6,%esi
57d2f4:	7d 08                	jge    0x57d2fe
57d2f6:	5b                   	pop    %ebx
57d2f7:	b8 ff ff ff ff       	mov    $0xffffffff,%eax
57d2fc:	5e                   	pop    %esi
57d2fd:	c3                   	ret
57d2fe:	8a 5a 01             	mov    0x1(%edx),%bl
57d301:	8a c3                	mov    %bl,%al
57d303:	24 c0                	and    $0xc0,%al
57d305:	3c 80                	cmp    $0x80,%al
57d307:	0f 85 84 00 00 00    	jne    0x57d391
57d30d:	8a 6a 02             	mov    0x2(%edx),%ch
57d310:	8a c5                	mov    %ch,%al
57d312:	24 c0                	and    $0xc0,%al
57d314:	3c 80                	cmp    $0x80,%al
57d316:	75 79                	jne    0x57d391
57d318:	8a 42 03             	mov    0x3(%edx),%al
57d31b:	24 c0                	and    $0xc0,%al
57d31d:	3c 80                	cmp    $0x80,%al
57d31f:	75 70                	jne    0x57d391
57d321:	8a 42 04             	mov    0x4(%edx),%al
57d324:	24 c0                	and    $0xc0,%al
57d326:	3c 80                	cmp    $0x80,%al
57d328:	75 67                	jne    0x57d391
57d32a:	8a 42 05             	mov    0x5(%edx),%al
57d32d:	24 c0                	and    $0xc0,%al
57d32f:	3c 80                	cmp    $0x80,%al
57d331:	75 5e                	jne    0x57d391
57d333:	0f b6 f1             	movzbl %cl,%esi
57d336:	83 e6 01             	and    $0x1,%esi
57d339:	0f b6 c3             	movzbl %bl,%eax
57d33c:	c1 e6 06             	shl    $0x6,%esi
57d33f:	83 e0 3f             	and    $0x3f,%eax
57d342:	0b f0                	or     %eax,%esi
57d344:	0f b6 c5             	movzbl %ch,%eax
57d347:	0f b6 4a 04          	movzbl 0x4(%edx),%ecx
57d34b:	83 e0 3f             	and    $0x3f,%eax
57d34e:	c1 e6 06             	shl    $0x6,%esi
57d351:	83 e1 3f             	and    $0x3f,%ecx
57d354:	0b f0                	or     %eax,%esi
57d356:	c1 e1 06             	shl    $0x6,%ecx
57d359:	0f b6 42 03          	movzbl 0x3(%edx),%eax
57d35d:	c1 e6 06             	shl    $0x6,%esi
57d360:	83 e0 3f             	and    $0x3f,%eax
57d363:	0b f0                	or     %eax,%esi
57d365:	0f b6 42 05          	movzbl 0x5(%edx),%eax
57d369:	83 e0 3f             	and    $0x3f,%eax
57d36c:	c1 e6 0c             	shl    $0xc,%esi
57d36f:	0b c8                	or     %eax,%ecx
57d371:	0b f1                	or     %ecx,%esi
57d373:	81 fe 00 00 00 04    	cmp    $0x4000000,%esi
57d379:	73 08                	jae    0x57d383
57d37b:	5b                   	pop    %ebx
57d37c:	b8 fc ff ff ff       	mov    $0xfffffffc,%eax
57d381:	5e                   	pop    %esi
57d382:	c3                   	ret
57d383:	8b 4c 24 14          	mov    0x14(%esp),%ecx
57d387:	b8 06 00 00 00       	mov    $0x6,%eax
57d38c:	5b                   	pop    %ebx
57d38d:	89 31                	mov    %esi,(%ecx)
57d38f:	5e                   	pop    %esi
57d390:	c3                   	ret
57d391:	5b                   	pop    %ebx
57d392:	b8 fd ff ff ff       	mov    $0xfffffffd,%eax
57d397:	5e                   	pop    %esi
57d398:	c3                   	ret
57d399:	5b                   	pop    %ebx
57d39a:	b8 fe ff ff ff       	mov    $0xfffffffe,%eax
57d39f:	5e                   	pop    %esi
57d3a0:	c3                   	ret
57d3a1:	cc                   	int3
57d3a2:	cc                   	int3
57d3a3:	cc                   	int3
57d3a4:	cc                   	int3
57d3a5:	cc                   	int3
57d3a6:	cc                   	int3
57d3a7:	cc                   	int3
57d3a8:	cc                   	int3
57d3a9:	cc                   	int3
57d3aa:	cc                   	int3
57d3ab:	cc                   	int3
57d3ac:	cc                   	int3
57d3ad:	cc                   	int3
57d3ae:	cc                   	int3
57d3af:	cc                   	int3
57d3b0:	8b 4c 24 04          	mov    0x4(%esp),%ecx
57d3b4:	85 c9                	test   %ecx,%ecx
57d3b6:	75 05                	jne    0x57d3bd
57d3b8:	8d 41 06             	lea    0x6(%ecx),%eax
57d3bb:	eb 0c                	jmp    0x57d3c9
57d3bd:	8b 44 24 08          	mov    0x8(%esp),%eax
57d3c1:	85 c0                	test   %eax,%eax
57d3c3:	0f 8e 6f 01 00 00    	jle    0x57d538
57d3c9:	8b 54 24 0c          	mov    0xc(%esp),%edx
57d3cd:	81 fa 80 00 00 00    	cmp    $0x80,%edx
57d3d3:	73 0c                	jae    0x57d3e1
57d3d5:	85 c9                	test   %ecx,%ecx
57d3d7:	74 02                	je     0x57d3db
57d3d9:	88 11                	mov    %dl,(%ecx)
57d3db:	b8 01 00 00 00       	mov    $0x1,%eax
57d3e0:	c3                   	ret
57d3e1:	81 fa 00 08 00 00    	cmp    $0x800,%edx
57d3e7:	73 27                	jae    0x57d410
57d3e9:	83 f8 02             	cmp    $0x2,%eax
57d3ec:	0f 82 46 01 00 00    	jb     0x57d538
57d3f2:	85 c9                	test   %ecx,%ecx
57d3f4:	74 14                	je     0x57d40a
57d3f6:	8b c2                	mov    %edx,%eax
57d3f8:	80 e2 3f             	and    $0x3f,%dl
57d3fb:	c1 e8 06             	shr    $0x6,%eax
57d3fe:	24 1f                	and    $0x1f,%al
57d400:	0c c0                	or     $0xc0,%al
57d402:	80 ca 80             	or     $0x80,%dl
57d405:	88 01                	mov    %al,(%ecx)
57d407:	88 51 01             	mov    %dl,0x1(%ecx)
57d40a:	b8 02 00 00 00       	mov    $0x2,%eax
57d40f:	c3                   	ret
57d410:	81 fa 00 00 01 00    	cmp    $0x10000,%edx
57d416:	73 33                	jae    0x57d44b
57d418:	83 f8 03             	cmp    $0x3,%eax
57d41b:	0f 82 17 01 00 00    	jb     0x57d538
57d421:	85 c9                	test   %ecx,%ecx
57d423:	74 20                	je     0x57d445
57d425:	8b c2                	mov    %edx,%eax
57d427:	c1 e8 0c             	shr    $0xc,%eax
57d42a:	24 0f                	and    $0xf,%al
57d42c:	0c e0                	or     $0xe0,%al
57d42e:	88 01                	mov    %al,(%ecx)
57d430:	8b c2                	mov    %edx,%eax
57d432:	c1 e8 06             	shr    $0x6,%eax
57d435:	80 e2 3f             	and    $0x3f,%dl
57d438:	24 3f                	and    $0x3f,%al
57d43a:	0c 80                	or     $0x80,%al
57d43c:	80 ca 80             	or     $0x80,%dl
57d43f:	88 41 01             	mov    %al,0x1(%ecx)
57d442:	88 51 02             	mov    %dl,0x2(%ecx)
57d445:	b8 03 00 00 00       	mov    $0x3,%eax
57d44a:	c3                   	ret
57d44b:	81 fa 00 00 20 00    	cmp    $0x200000,%edx
57d451:	73 3f                	jae    0x57d492
57d453:	83 f8 04             	cmp    $0x4,%eax
57d456:	0f 82 dc 00 00 00    	jb     0x57d538
57d45c:	85 c9                	test   %ecx,%ecx
57d45e:	74 2c                	je     0x57d48c
57d460:	8b c2                	mov    %edx,%eax
57d462:	c1 e8 12             	shr    $0x12,%eax
57d465:	24 07                	and    $0x7,%al
57d467:	0c f0                	or     $0xf0,%al
57d469:	88 01                	mov    %al,(%ecx)
57d46b:	8b c2                	mov    %edx,%eax
57d46d:	c1 e8 0c             	shr    $0xc,%eax
57d470:	24 3f                	and    $0x3f,%al
57d472:	0c 80                	or     $0x80,%al
57d474:	88 41 01             	mov    %al,0x1(%ecx)
57d477:	8b c2                	mov    %edx,%eax
57d479:	c1 e8 06             	shr    $0x6,%eax
57d47c:	80 e2 3f             	and    $0x3f,%dl
57d47f:	24 3f                	and    $0x3f,%al
57d481:	0c 80                	or     $0x80,%al
57d483:	80 ca 80             	or     $0x80,%dl
57d486:	88 41 02             	mov    %al,0x2(%ecx)
57d489:	88 51 03             	mov    %dl,0x3(%ecx)
57d48c:	b8 04 00 00 00       	mov    $0x4,%eax
57d491:	c3                   	ret
57d492:	81 fa 00 00 00 04    	cmp    $0x4000000,%edx
57d498:	73 4b                	jae    0x57d4e5
57d49a:	83 f8 05             	cmp    $0x5,%eax
57d49d:	0f 82 95 00 00 00    	jb     0x57d538
57d4a3:	85 c9                	test   %ecx,%ecx
57d4a5:	74 38                	je     0x57d4df
57d4a7:	8b c2                	mov    %edx,%eax
57d4a9:	c1 e8 18             	shr    $0x18,%eax
57d4ac:	24 03                	and    $0x3,%al
57d4ae:	0c f8                	or     $0xf8,%al
57d4b0:	88 01                	mov    %al,(%ecx)
57d4b2:	8b c2                	mov    %edx,%eax
57d4b4:	c1 e8 12             	shr    $0x12,%eax
57d4b7:	24 3f                	and    $0x3f,%al
57d4b9:	0c 80                	or     $0x80,%al
57d4bb:	88 41 01             	mov    %al,0x1(%ecx)
57d4be:	8b c2                	mov    %edx,%eax
57d4c0:	c1 e8 0c             	shr    $0xc,%eax
57d4c3:	24 3f                	and    $0x3f,%al
57d4c5:	0c 80                	or     $0x80,%al
57d4c7:	88 41 02             	mov    %al,0x2(%ecx)
57d4ca:	8b c2                	mov    %edx,%eax
57d4cc:	c1 e8 06             	shr    $0x6,%eax
57d4cf:	80 e2 3f             	and    $0x3f,%dl
57d4d2:	24 3f                	and    $0x3f,%al