426119:	33 f6                	xor    %esi,%esi
42611b:	46                   	inc    %esi
42611c:	3b 75 10             	cmp    0x10(%ebp),%esi
42611f:	73 54                	jae    0x426175
426121:	8a 24 1e             	mov    (%esi,%ebx,1),%ah
426124:	8a c4                	mov    %ah,%al
426126:	24 c0                	and    $0xc0,%al
426128:	3c 80                	cmp    $0x80,%al
42612a:	0f 85 82 00 00 00    	jne    0x4261b2
426130:	0f b6 c4             	movzbl %ah,%eax
426133:	83 e0 3f             	and    $0x3f,%eax
426136:	c1 e2 06             	shl    $0x6,%edx
426139:	0b d0                	or     %eax,%edx
42613b:	46                   	inc    %esi
42613c:	83 e9 01             	sub    $0x1,%ecx
42613f:	75 db                	jne    0x42611c
426141:	8d 82 00 28 ff ff    	lea    -0xd800(%edx),%eax
426147:	3d ff 07 00 00       	cmp    $0x7ff,%eax
42614c:	76 64                	jbe    0x4261b2
42614e:	8b 4d 08             	mov    0x8(%ebp),%ecx
426151:	66 89 11             	mov    %dx,(%ecx)
426154:	8b c6                	mov    %esi,%eax
426156:	eb 76                	jmp    0x4261ce
426158:	0f b6 d2             	movzbl %dl,%edx
42615b:	33 f6                	xor    %esi,%esi
42615d:	8b ca                	mov    %edx,%ecx
42615f:	46                   	inc    %esi
426160:	83 e1 07             	and    $0x7,%ecx
426163:	c1 ea 03             	shr    $0x3,%edx
426166:	8b c6                	mov    %esi,%eax
426168:	d3 e0                	shl    %cl,%eax
42616a:	84 44 3a 0c          	test   %al,0xc(%edx,%edi,1)
42616e:	74 0f                	je     0x42617f
426170:	39 75 10             	cmp    %esi,0x10(%ebp)
426173:	75 05                	jne    0x42617a
426175:	6a fe                	push   $0xfffffffe
426177:	58                   	pop    %eax
426178:	eb 54                	jmp    0x4261ce
42617a:	6a 02                	push   $0x2
42617c:	5b                   	pop    %ebx
42617d:	eb 02                	jmp    0x426181
42617f:	8b de                	mov    %esi,%ebx
426181:	56                   	push   %esi
426182:	ff 75 08             	push   0x8(%ebp)
426185:	53                   	push   %ebx
426186:	ff 75 0c             	push   0xc(%ebp)
426189:	6a 09                	push   $0x9
42618b:	ff 37                	push   (%edi)
42618d:	ff 15 74 41 49 00    	call   *0x494174
426193:	85 c0                	test   %eax,%eax
426195:	74 1b                	je     0x4261b2
426197:	8b c3                	mov    %ebx,%eax
426199:	eb 33                	jmp    0x4261ce
42619b:	33 f6                	xor    %esi,%esi
42619d:	46                   	inc    %esi
42619e:	56                   	push   %esi
42619f:	ff 75 08             	push   0x8(%ebp)
4261a2:	56                   	push   %esi
4261a3:	53                   	push   %ebx
4261a4:	6a 09                	push   $0x9
4261a6:	ff 37                	push   (%edi)
4261a8:	ff 15 74 41 49 00    	call   *0x494174
4261ae:	85 c0                	test   %eax,%eax
4261b0:	75 a2                	jne    0x426154
4261b2:	e8 78 6c 02 00       	call   0x44ce2f
4261b7:	c7 00 2a 00 00 00    	movl   $0x2a,(%eax)
4261bd:	83 c8 ff             	or     $0xffffffff,%eax
4261c0:	eb 0c                	jmp    0x4261ce
4261c2:	8b 45 08             	mov    0x8(%ebp),%eax
4261c5:	0f b6 ca             	movzbl %dl,%ecx
4261c8:	66 89 08             	mov    %cx,(%eax)
4261cb:	33 c0                	xor    %eax,%eax
4261cd:	40                   	inc    %eax
4261ce:	5f                   	pop    %edi
4261cf:	5e                   	pop    %esi
4261d0:	5b                   	pop    %ebx
4261d1:	c9                   	leave
4261d2:	c3                   	ret
4261d3:	55                   	push   %ebp
4261d4:	8b ec                	mov    %esp,%ebp
4261d6:	8a 4d 0c             	mov    0xc(%ebp),%cl
4261d9:	84 c9                	test   %cl,%cl
4261db:	78 04                	js     0x4261e1
4261dd:	33 c0                	xor    %eax,%eax
4261df:	5d                   	pop    %ebp
4261e0:	c3                   	ret
4261e1:	8a c1                	mov    %cl,%al
4261e3:	24 e0                	and    $0xe0,%al
4261e5:	3c c0                	cmp    $0xc0,%al
4261e7:	75 10                	jne    0x4261f9
4261e9:	8b 45 08             	mov    0x8(%ebp),%eax
4261ec:	0f b6 c9             	movzbl %cl,%ecx
4261ef:	83 e1 1f             	and    $0x1f,%ecx
4261f2:	89 08                	mov    %ecx,(%eax)
4261f4:	33 c0                	xor    %eax,%eax
4261f6:	40                   	inc    %eax
4261f7:	5d                   	pop    %ebp
4261f8:	c3                   	ret
4261f9:	8a c1                	mov    %cl,%al
4261fb:	24 f0                	and    $0xf0,%al
4261fd:	3c e0                	cmp    $0xe0,%al
4261ff:	75 10                	jne    0x426211
426201:	0f b6 c9             	movzbl %cl,%ecx
426204:	83 e1 0f             	and    $0xf,%ecx
426207:	6a 02                	push   $0x2
426209:	8b 45 08             	mov    0x8(%ebp),%eax
42620c:	89 08                	mov    %ecx,(%eax)
42620e:	58                   	pop    %eax
42620f:	5d                   	pop    %ebp
426210:	c3                   	ret
426211:	8a c1                	mov    %cl,%al
426213:	24 f8                	and    $0xf8,%al
426215:	3c f0                	cmp    $0xf0,%al
426217:	75 0a                	jne    0x426223
426219:	0f b6 c9             	movzbl %cl,%ecx
42621c:	83 e1 07             	and    $0x7,%ecx
42621f:	6a 03                	push   $0x3
426221:	eb e6                	jmp    0x426209
426223:	b8 ff ff ff 7f       	mov    $0x7fffffff,%eax
426228:	5d                   	pop    %ebp
426229:	c3                   	ret
42622a:	55                   	push   %ebp
42622b:	8b ec                	mov    %esp,%ebp
42622d:	51                   	push   %ecx
42622e:	51                   	push   %ecx
42622f:	8b 4d 18             	mov    0x18(%ebp),%ecx
426232:	53                   	push   %ebx
426233:	56                   	push   %esi
426234:	8b 75 14             	mov    0x14(%ebp),%esi
426237:	83 cb ff             	or     $0xffffffff,%ebx
42623a:	2b 75 10             	sub    0x10(%ebp),%esi
42623d:	57                   	push   %edi
42623e:	8b 7d 0c             	mov    0xc(%ebp),%edi
426241:	2b 7d 08             	sub    0x8(%ebp),%edi
426244:	85 c9                	test   %ecx,%ecx
426246:	75 1a                	jne    0x426262
426248:	e8 c3 1e 04 00       	call   0x468110
42624d:	8b 40 04             	mov    0x4(%eax),%eax
426250:	89 45 fc             	mov    %eax,-0x4(%ebp)
426253:	e8 91 1e 04 00       	call   0x4680e9
426258:	8b c8                	mov    %eax,%ecx
42625a:	89 45 f8             	mov    %eax,-0x8(%ebp)
42625d:	8b 45 fc             	mov    -0x4(%ebp),%eax
426260:	eb 0b                	jmp    0x42626d
426262:	8b 41 04             	mov    0x4(%ecx),%eax
426265:	8b 09                	mov    (%ecx),%ecx
426267:	89 45 fc             	mov    %eax,-0x4(%ebp)
42626a:	89 4d f8             	mov    %ecx,-0x8(%ebp)
42626d:	85 c0                	test   %eax,%eax
42626f:	75 1b                	jne    0x42628c
426271:	85 c9                	test   %ecx,%ecx
426273:	75 17                	jne    0x42628c
426275:	3b f7                	cmp    %edi,%esi
426277:	77 0f                	ja     0x426288
426279:	56                   	push   %esi
42627a:	ff 75 10             	push   0x10(%ebp)
42627d:	ff 75 08             	push   0x8(%ebp)
426280:	e8 db d0 01 00       	call   0x443360
426285:	83 c4 0c             	add    $0xc,%esp
426288:	8b de                	mov    %esi,%ebx
42628a:	eb 41                	jmp    0x4262cd
42628c:	6a 01                	push   $0x1
42628e:	51                   	push   %ecx
42628f:	6a 00                	push   $0x0
426291:	6a 00                	push   $0x0
426293:	56                   	push   %esi
426294:	ff 75 10             	push   0x10(%ebp)
426297:	68 00 04 00 00       	push   $0x400
42629c:	50                   	push   %eax
42629d:	e8 a6 1f 00 00       	call   0x428248
4262a2:	83 c4 20             	add    $0x20,%esp
4262a5:	85 c0                	test   %eax,%eax
4262a7:	74 24                	je     0x4262cd
4262a9:	8b d8                	mov    %eax,%ebx
4262ab:	3b c7                	cmp    %edi,%eax
4262ad:	7f 1e                	jg     0x4262cd
4262af:	8b 45 fc             	mov    -0x4(%ebp),%eax
4262b2:	6a 01                	push   $0x1
4262b4:	ff 75 f8             	push   -0x8(%ebp)
4262b7:	57                   	push   %edi
4262b8:	ff 75 08             	push   0x8(%ebp)
4262bb:	56                   	push   %esi
4262bc:	ff 75 10             	push   0x10(%ebp)
4262bf:	68 00 04 00 00       	push   $0x400
4262c4:	50                   	push   %eax
4262c5:	e8 7e 1f 00 00       	call   0x428248
4262ca:	83 c4 20             	add    $0x20,%esp
4262cd:	5f                   	pop    %edi
4262ce:	5e                   	pop    %esi
4262cf:	8b c3                	mov    %ebx,%eax
4262d1:	5b                   	pop    %ebx
4262d2:	c9                   	leave
4262d3:	c3                   	ret
4262d4:	55                   	push   %ebp
4262d5:	8b ec                	mov    %esp,%ebp
4262d7:	83 ec 10             	sub    $0x10,%esp
4262da:	56                   	push   %esi
4262db:	8b 75 0c             	mov    0xc(%ebp),%esi
4262de:	57                   	push   %edi
4262df:	85 f6                	test   %esi,%esi
4262e1:	75 0f                	jne    0x4262f2
4262e3:	e8 28 1e 04 00       	call   0x468110
4262e8:	8b 78 08             	mov    0x8(%eax),%edi
4262eb:	e8 d2 1d 04 00       	call   0x4680c2
4262f0:	eb 05                	jmp    0x4262f7
4262f2:	8b 7e 0c             	mov    0xc(%esi),%edi
4262f5:	8b 06                	mov    (%esi),%eax
4262f7:	89 45 f4             	mov    %eax,-0xc(%ebp)
4262fa:	85 ff                	test   %edi,%edi
4262fc:	75 1d                	jne    0x42631b
4262fe:	8b 45 08             	mov    0x8(%ebp),%eax
426301:	83 f8 61             	cmp    $0x61,%eax
426304:	0f 8c c4 00 00 00    	jl     0x4263ce
42630a:	83 f8 7a             	cmp    $0x7a,%eax
42630d:	0f 8f bb 00 00 00    	jg     0x4263ce
426313:	83 e8 20             	sub    $0x20,%eax
426316:	e9 b3 00 00 00       	jmp    0x4263ce
42631b:	53                   	push   %ebx
42631c:	8b 5d 08             	mov    0x8(%ebp),%ebx
42631f:	81 fb 00 01 00 00    	cmp    $0x100,%ebx
426325:	73 1a                	jae    0x426341
426327:	85 f6                	test   %esi,%esi
426329:	75 0d                	jne    0x426338
42632b:	53                   	push   %ebx
42632c:	e8 9a 19 04 00       	call   0x467ccb
426331:	59                   	pop    %ecx
426332:	85 c0                	test   %eax,%eax
426334:	75 0f                	jne    0x426345
426336:	eb 7f                	jmp    0x4263b7
426338:	8b 46 04             	mov    0x4(%esi),%eax
42633b:	f6 04 58 02          	testb  $0x2,(%eax,%ebx,2)
42633f:	74 76                	je     0x4263b7
426341:	85 f6                	test   %esi,%esi
426343:	75 1e                	jne    0x426363
426345:	8b c3                	mov    %ebx,%eax
426347:	c1 f8 08             	sar    $0x8,%eax
42634a:	89 45 f0             	mov    %eax,-0x10(%ebp)
42634d:	e8 c5 21 04 00       	call   0x468517
426352:	8b 55 f0             	mov    -0x10(%ebp),%edx
426355:	0f b6 ca             	movzbl %dl,%ecx
426358:	0f b7 04 48          	movzwl (%eax,%ecx,2),%eax
42635c:	25 00 80 00 00       	and    $0x8000,%eax
426361:	eb 15                	jmp    0x426378
426363:	8b 46 04             	mov    0x4(%esi),%eax
426366:	8b d3                	mov    %ebx,%edx
426368:	c1 fa 08             	sar    $0x8,%edx
42636b:	0f b6 ca             	movzbl %dl,%ecx
42636e:	0f bf 04 48          	movswl (%eax,%ecx,2),%eax
426372:	c1 e8 0f             	shr    $0xf,%eax
426375:	83 e0 01             	and    $0x1,%eax
426378:	85 c0                	test   %eax,%eax
42637a:	74 0f                	je     0x42638b
42637c:	6a 02                	push   $0x2
42637e:	88 55 fc             	mov    %dl,-0x4(%ebp)
426381:	88 5d fd             	mov    %bl,-0x3(%ebp)
426384:	c6 45 fe 00          	movb   $0x0,-0x2(%ebp)
426388:	58                   	pop    %eax
426389:	eb 0a                	jmp    0x426395
42638b:	33 c0                	xor    %eax,%eax
42638d:	88 5d fc             	mov    %bl,-0x4(%ebp)
426390:	c6 45 fd 00          	movb   $0x0,-0x3(%ebp)
426394:	40                   	inc    %eax
426395:	6a 01                	push   $0x1
426397:	ff 75 f4             	push   -0xc(%ebp)
42639a:	8d 4d f8             	lea    -0x8(%ebp),%ecx
42639d:	6a 03                	push   $0x3
42639f:	51                   	push   %ecx
4263a0:	50                   	push   %eax
4263a1:	8d 45 fc             	lea    -0x4(%ebp),%eax
4263a4:	50                   	push   %eax
4263a5:	68 00 02 00 00       	push   $0x200
4263aa:	57                   	push   %edi
4263ab:	e8 98 1e 00 00       	call   0x428248
4263b0:	83 c4 20             	add    $0x20,%esp
4263b3:	85 c0                	test   %eax,%eax
4263b5:	75 04                	jne    0x4263bb
4263b7:	8b c3                	mov    %ebx,%eax
4263b9:	eb 12                	jmp    0x4263cd
4263bb:	83 f8 01             	cmp    $0x1,%eax
4263be:	0f b6 45 f8          	movzbl -0x8(%ebp),%eax
4263c2:	74 09                	je     0x4263cd
4263c4:	0f b6 4d f9          	movzbl -0x7(%ebp),%ecx
4263c8:	c1 e0 08             	shl    $0x8,%eax
4263cb:	0b c1                	or     %ecx,%eax
4263cd:	5b                   	pop    %ebx
4263ce:	5f                   	pop    %edi
4263cf:	5e                   	pop    %esi
4263d0:	c9                   	leave
4263d1:	c3                   	ret
4263d2:	55                   	push   %ebp
4263d3:	8b ec                	mov    %esp,%ebp
4263d5:	8b 45 18             	mov    0x18(%ebp),%eax
4263d8:	56                   	push   %esi
4263d9:	8b 75 0c             	mov    0xc(%ebp),%esi
4263dc:	2b 75 08             	sub    0x8(%ebp),%esi
4263df:	57                   	push   %edi
4263e0:	8b 7d 14             	mov    0x14(%ebp),%edi
4263e3:	2b 7d 10             	sub    0x10(%ebp),%edi
4263e6:	d1 fe                	sar    $1,%esi
4263e8:	d1 ff                	sar    $1,%edi
4263ea:	85 c0                	test   %eax,%eax
4263ec:	75 05                	jne    0x4263f3
4263ee:	e8 1d 1d 04 00       	call   0x468110
4263f3:	8b 40 04             	mov    0x4(%eax),%eax
4263f6:	85 c0                	test   %eax,%eax
4263f8:	75 2d                	jne    0x426427
4263fa:	8b c6                	mov    %esi,%eax
4263fc:	3b f7                	cmp    %edi,%esi
4263fe:	7c 02                	jl     0x426402
426400:	8b c7                	mov    %edi,%eax
426402:	50                   	push   %eax
426403:	ff 75 10             	push   0x10(%ebp)
426406:	ff 75 08             	push   0x8(%ebp)
426409:	e8 4c 00 00 00       	call   0x42645a
42640e:	83 c4 0c             	add    $0xc,%esp
426411:	85 c0                	test   %eax,%eax
426413:	75 41                	jne    0x426456
426415:	3b f7                	cmp    %edi,%esi
426417:	74 3d                	je     0x426456
426419:	3b f7                	cmp    %edi,%esi
42641b:	0f 9d c0             	setge  %al
42641e:	8d 04 45 ff ff ff ff 	lea    -0x1(,%eax,2),%eax
426425:	eb 2f                	jmp    0x426456
426427:	57                   	push   %edi
426428:	ff 75 10             	push   0x10(%ebp)
42642b:	56                   	push   %esi
42642c:	ff 75 08             	push   0x8(%ebp)
42642f:	68 00 10 00 00       	push   $0x1000
426434:	50                   	push   %eax
426435:	e8 e3 1f 00 00       	call   0x42841d
42643a:	83 c4 18             	add    $0x18,%esp
42643d:	85 c0                	test   %eax,%eax
42643f:	75 12                	jne    0x426453
426441:	e8 e9 69 02 00       	call   0x44ce2f
426446:	c7 00 16 00 00 00    	movl   $0x16,(%eax)
42644c:	b8 ff ff ff 7f       	mov    $0x7fffffff,%eax
426451:	eb 03                	jmp    0x426456
426453:	83 e8 02             	sub    $0x2,%eax
426456:	5f                   	pop    %edi
426457:	5e                   	pop    %esi
426458:	5d                   	pop    %ebp
426459:	c3                   	ret
42645a:	55                   	push   %ebp
42645b:	8b ec                	mov    %esp,%ebp
42645d:	8b 4d 10             	mov    0x10(%ebp),%ecx
426460:	56                   	push   %esi
426461:	57                   	push   %edi
426462:	85 c9                	test   %ecx,%ecx
426464:	74 1c                	je     0x426482
426466:	8b 55 08             	mov    0x8(%ebp),%edx