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
426469:	8b 45 0c             	mov    0xc(%ebp),%eax
42646c:	2b d0                	sub    %eax,%edx
42646e:	0f b7 34 02          	movzwl (%edx,%eax,1),%esi
426472:	0f b7 38             	movzwl (%eax),%edi
426475:	66 3b f7             	cmp    %di,%si
426478:	75 0e                	jne    0x426488
42647a:	83 c0 02             	add    $0x2,%eax
42647d:	83 e9 01             	sub    $0x1,%ecx
426480:	75 ec                	jne    0x42646e
426482:	33 c0                	xor    %eax,%eax
426484:	5f                   	pop    %edi
426485:	5e                   	pop    %esi
426486:	5d                   	pop    %ebp
426487:	c3                   	ret
426488:	1b c0                	sbb    %eax,%eax
42648a:	83 e0 fe             	and    $0xfffffffe,%eax
42648d:	40                   	inc    %eax
42648e:	eb f4                	jmp    0x426484
426490:	55                   	push   %ebp
426491:	8b ec                	mov    %esp,%ebp
426493:	51                   	push   %ecx
426494:	51                   	push   %ecx
426495:	8b 4d 08             	mov    0x8(%ebp),%ecx
426498:	8b 45 18             	mov    0x18(%ebp),%eax
42649b:	53                   	push   %ebx
42649c:	8b 5d 0c             	mov    0xc(%ebp),%ebx
42649f:	56                   	push   %esi
4264a0:	57                   	push   %edi
4264a1:	8b 7d 14             	mov    0x14(%ebp),%edi
4264a4:	2b d9                	sub    %ecx,%ebx
4264a6:	2b 7d 10             	sub    0x10(%ebp),%edi
4264a9:	83 ce ff             	or     $0xffffffff,%esi
4264ac:	d1 fb                	sar    $1,%ebx
4264ae:	d1 ff                	sar    $1,%edi
4264b0:	85 c0                	test   %eax,%eax
4264b2:	75 08                	jne    0x4264bc
4264b4:	e8 57 1c 04 00       	call   0x468110
4264b9:	8b 4d 08             	mov    0x8(%ebp),%ecx
4264bc:	8b 40 04             	mov    0x4(%eax),%eax
4264bf:	89 45 f8             	mov    %eax,-0x8(%ebp)
4264c2:	85 c0                	test   %eax,%eax
4264c4:	75 18                	jne    0x4264de
4264c6:	3b fb                	cmp    %ebx,%edi
4264c8:	77 10                	ja     0x4264da
4264ca:	8d 04 3f             	lea    (%edi,%edi,1),%eax
4264cd:	50                   	push   %eax
4264ce:	ff 75 10             	push   0x10(%ebp)
4264d1:	51                   	push   %ecx
4264d2:	e8 89 ce 01 00       	call   0x443360
4264d7:	83 c4 0c             	add    $0xc,%esp
4264da:	8b f7                	mov    %edi,%esi
4264dc:	eb 6f                	jmp    0x42654d
4264de:	53                   	push   %ebx
4264df:	e8 5f 20 04 00       	call   0x468543
4264e4:	89 45 fc             	mov    %eax,-0x4(%ebp)
4264e7:	59                   	pop    %ecx
4264e8:	85 c0                	test   %eax,%eax
4264ea:	74 61                	je     0x42654d
4264ec:	53                   	push   %ebx
4264ed:	8b 5d f8             	mov    -0x8(%ebp),%ebx
4264f0:	50                   	push   %eax
4264f1:	57                   	push   %edi
4264f2:	ff 75 10             	push   0x10(%ebp)
4264f5:	68 00 04 00 00       	push   $0x400
4264fa:	53                   	push   %ebx
4264fb:	e8 7e 1f 00 00       	call   0x42847e
426500:	8b f0                	mov    %eax,%esi
426502:	83 c4 18             	add    $0x18,%esp
426505:	85 f6                	test   %esi,%esi
426507:	75 24                	jne    0x42652d
426509:	50                   	push   %eax
42650a:	50                   	push   %eax
42650b:	57                   	push   %edi
42650c:	ff 75 10             	push   0x10(%ebp)
42650f:	68 00 04 00 00       	push   $0x400
426514:	53                   	push   %ebx
426515:	e8 64 1f 00 00       	call   0x42847e
42651a:	8b 55 fc             	mov    -0x4(%ebp),%edx
42651d:	8b f0                	mov    %eax,%esi
42651f:	83 c4 18             	add    $0x18,%esp
426522:	85 f6                	test   %esi,%esi
426524:	75 20                	jne    0x426546
426526:	be ff ff ff 7f       	mov    $0x7fffffff,%esi
42652b:	eb 19                	jmp    0x426546
42652d:	8b 55 fc             	mov    -0x4(%ebp),%edx
426530:	33 c9                	xor    %ecx,%ecx
426532:	85 f6                	test   %esi,%esi
426534:	74 10                	je     0x426546
426536:	8b 7d 08             	mov    0x8(%ebp),%edi
426539:	0f b6 04 11          	movzbl (%ecx,%edx,1),%eax
42653d:	66 89 04 4f          	mov    %ax,(%edi,%ecx,2)
426541:	41                   	inc    %ecx
426542:	3b ce                	cmp    %esi,%ecx
426544:	72 f3                	jb     0x426539
426546:	52                   	push   %edx
426547:	e8 42 68 02 00       	call   0x44cd8e
42654c:	59                   	pop    %ecx
42654d:	5f                   	pop    %edi
42654e:	8b c6                	mov    %esi,%eax
426550:	5e                   	pop    %esi
426551:	5b                   	pop    %ebx
426552:	c9                   	leave
426553:	c3                   	ret
426554:	55                   	push   %ebp
426555:	8b ec                	mov    %esp,%ebp
426557:	51                   	push   %ecx
426558:	8d 45 fc             	lea    -0x4(%ebp),%eax
42655b:	50                   	push   %eax
42655c:	6a 01                	push   $0x1
42655e:	8d 45 08             	lea    0x8(%ebp),%eax
426561:	50                   	push   %eax
426562:	6a 01                	push   $0x1
426564:	ff 15 bc 41 49 00    	call   *0x4941bc
42656a:	f7 d8                	neg    %eax
42656c:	1b c0                	sbb    %eax,%eax
42656e:	66 23 45 fc          	and    -0x4(%ebp),%ax
426572:	c9                   	leave
426573:	c3                   	ret
426574:	55                   	push   %ebp
426575:	8b ec                	mov    %esp,%ebp
426577:	ff 75 10             	push   0x10(%ebp)
42657a:	8b 4d 0c             	mov    0xc(%ebp),%ecx
42657d:	2b 4d 08             	sub    0x8(%ebp),%ecx
426580:	d1 f9                	sar    $1,%ecx
426582:	51                   	push   %ecx
426583:	ff 75 08             	push   0x8(%ebp)
426586:	6a 01                	push   $0x1
426588:	ff 15 bc 41 49 00    	call   *0x4941bc
42658e:	8b 45 0c             	mov    0xc(%ebp),%eax
426591:	5d                   	pop    %ebp
426592:	c3                   	ret
426593:	55                   	push   %ebp
426594:	8b ec                	mov    %esp,%ebp
426596:	51                   	push   %ecx
426597:	66 8b 4d 08          	mov    0x8(%ebp),%cx
42659b:	b8 ff ff 00 00       	mov    $0xffff,%eax
4265a0:	66 89 4d fc          	mov    %cx,-0x4(%ebp)
4265a4:	66 3b c8             	cmp    %ax,%cx
4265a7:	74 45                	je     0x4265ee
4265a9:	8b 45 0c             	mov    0xc(%ebp),%eax
4265ac:	ba 00 01 00 00       	mov    $0x100,%edx
4265b1:	8b 40 0c             	mov    0xc(%eax),%eax
4265b4:	85 c0                	test   %eax,%eax
4265b6:	75 14                	jne    0x4265cc
4265b8:	66 3b ca             	cmp    %dx,%cx
4265bb:	73 0f                	jae    0x4265cc
4265bd:	8d 41 bf             	lea    -0x41(%ecx),%eax
4265c0:	66 83 f8 19          	cmp    $0x19,%ax
4265c4:	77 28                	ja     0x4265ee
4265c6:	66 83 c1 20          	add    $0x20,%cx
4265ca:	eb 22                	jmp    0x4265ee
4265cc:	6a 01                	push   $0x1
4265ce:	8d 4d fc             	lea    -0x4(%ebp),%ecx
4265d1:	51                   	push   %ecx
4265d2:	6a 01                	push   $0x1
4265d4:	8d 4d 08             	lea    0x8(%ebp),%ecx
4265d7:	51                   	push   %ecx
4265d8:	52                   	push   %edx
4265d9:	50                   	push   %eax
4265da:	e8 9f 1e 00 00       	call   0x42847e
4265df:	66 8b 4d 08          	mov    0x8(%ebp),%cx
4265e3:	83 c4 18             	add    $0x18,%esp
4265e6:	85 c0                	test   %eax,%eax
4265e8:	74 04                	je     0x4265ee
4265ea:	66 8b 4d fc          	mov    -0x4(%ebp),%cx
4265ee:	66 8b c1             	mov    %cx,%ax
4265f1:	c9                   	leave
4265f2:	c3                   	ret
4265f3:	55                   	push   %ebp
4265f4:	8b ec                	mov    %esp,%ebp
4265f6:	51                   	push   %ecx
4265f7:	66 8b 4d 08          	mov    0x8(%ebp),%cx
4265fb:	b8 ff ff 00 00       	mov    $0xffff,%eax
426600:	66 89 4d fc          	mov    %cx,-0x4(%ebp)
426604:	66 3b c8             	cmp    %ax,%cx