422222:	8d 65 e0             	lea    -0x20(%ebp),%esp
422225:	5f                   	pop    %edi
422226:	5e                   	pop    %esi
422227:	5b                   	pop    %ebx
422228:	8b 4d fc             	mov    -0x4(%ebp),%ecx
42222b:	33 cd                	xor    %ebp,%ecx
42222d:	e8 9c bf ff ff       	call   0x41e1ce
422232:	c9                   	leave
422233:	c3                   	ret
422234:	8b ff                	mov    %edi,%edi
422236:	55                   	push   %ebp
422237:	8b ec                	mov    %esp,%ebp
422239:	83 ec 10             	sub    $0x10,%esp
42223c:	ff 75 08             	push   0x8(%ebp)
42223f:	8d 4d f0             	lea    -0x10(%ebp),%ecx
422242:	e8 a1 a8 ff ff       	call   0x41cae8
422247:	ff 75 28             	push   0x28(%ebp)
42224a:	8d 4d f0             	lea    -0x10(%ebp),%ecx
42224d:	ff 75 24             	push   0x24(%ebp)
422250:	ff 75 20             	push   0x20(%ebp)
422253:	ff 75 1c             	push   0x1c(%ebp)
422256:	ff 75 18             	push   0x18(%ebp)
422259:	ff 75 14             	push   0x14(%ebp)
42225c:	ff 75 10             	push   0x10(%ebp)
42225f:	ff 75 0c             	push   0xc(%ebp)
422262:	e8 28 fc ff ff       	call   0x421e8f
422267:	83 c4 20             	add    $0x20,%esp
42226a:	80 7d fc 00          	cmpb   $0x0,-0x4(%ebp)
42226e:	74 07                	je     0x422277
422270:	8b 4d f8             	mov    -0x8(%ebp),%ecx
422273:	83 61 70 fd          	andl   $0xfffffffd,0x70(%ecx)
422277:	c9                   	leave
422278:	c3                   	ret
422279:	8b ff                	mov    %edi,%edi
42227b:	55                   	push   %ebp
42227c:	8b ec                	mov    %esp,%ebp
42227e:	83 ec 10             	sub    $0x10,%esp
422281:	ff 75 0c             	push   0xc(%ebp)
422284:	8d 4d f0             	lea    -0x10(%ebp),%ecx
422287:	e8 5c a8 ff ff       	call   0x41cae8
42228c:	0f b6 45 08          	movzbl 0x8(%ebp),%eax
422290:	8b 4d f0             	mov    -0x10(%ebp),%ecx
422293:	8b 89 c8 00 00 00    	mov    0xc8(%ecx),%ecx
422299:	0f b7 04 41          	movzwl (%ecx,%eax,2),%eax
42229d:	25 00 80 00 00       	and    $0x8000,%eax
4222a2:	80 7d fc 00          	cmpb   $0x0,-0x4(%ebp)
4222a6:	74 07                	je     0x4222af
4222a8:	8b 4d f8             	mov    -0x8(%ebp),%ecx
4222ab:	83 61 70 fd          	andl   $0xfffffffd,0x70(%ecx)
4222af:	c9                   	leave
4222b0:	c3                   	ret
4222b1:	8b ff                	mov    %edi,%edi
4222b3:	55                   	push   %ebp
4222b4:	8b ec                	mov    %esp,%ebp
4222b6:	6a 00                	push   $0x0
4222b8:	ff 75 08             	push   0x8(%ebp)
4222bb:	e8 b9 ff ff ff       	call   0x422279
4222c0:	59                   	pop    %ecx
4222c1:	59                   	pop    %ecx
4222c2:	5d                   	pop    %ebp
4222c3:	c3                   	ret
4222c4:	8b ff                	mov    %edi,%edi
4222c6:	55                   	push   %ebp
4222c7:	8b ec                	mov    %esp,%ebp
4222c9:	83 ec 18             	sub    $0x18,%esp
4222cc:	53                   	push   %ebx
4222cd:	ff 75 10             	push   0x10(%ebp)
4222d0:	8d 4d e8             	lea    -0x18(%ebp),%ecx
4222d3:	e8 10 a8 ff ff       	call   0x41cae8
4222d8:	8b 5d 08             	mov    0x8(%ebp),%ebx
4222db:	8d 43 01             	lea    0x1(%ebx),%eax
4222de:	3d 00 01 00 00       	cmp    $0x100,%eax
4222e3:	77 0f                	ja     0x4222f4
4222e5:	8b 45 e8             	mov    -0x18(%ebp),%eax
4222e8:	8b 80 c8 00 00 00    	mov    0xc8(%eax),%eax
4222ee:	0f b7 04 58          	movzwl (%eax,%ebx,2),%eax
4222f2:	eb 75                	jmp    0x422369
4222f4:	89 5d 08             	mov    %ebx,0x8(%ebp)
4222f7:	c1 7d 08 08          	sarl   $0x8,0x8(%ebp)
4222fb:	8d 45 e8             	lea    -0x18(%ebp),%eax
4222fe:	50                   	push   %eax
4222ff:	8b 45 08             	mov    0x8(%ebp),%eax
422302:	25 ff 00 00 00       	and    $0xff,%eax
422307:	50                   	push   %eax
422308:	e8 6c ff ff ff       	call   0x422279
42230d:	59                   	pop    %ecx
42230e:	59                   	pop    %ecx
42230f:	85 c0                	test   %eax,%eax
422311:	74 12                	je     0x422325
422313:	8a 45 08             	mov    0x8(%ebp),%al
422316:	6a 02                	push   $0x2
422318:	88 45 f8             	mov    %al,-0x8(%ebp)
42231b:	88 5d f9             	mov    %bl,-0x7(%ebp)
42231e:	c6 45 fa 00          	movb   $0x0,-0x6(%ebp)
422322:	59                   	pop    %ecx
422323:	eb 0a                	jmp    0x42232f
422325:	33 c9                	xor    %ecx,%ecx
422327:	88 5d f8             	mov    %bl,-0x8(%ebp)
42232a:	c6 45 f9 00          	movb   $0x0,-0x7(%ebp)
42232e:	41                   	inc    %ecx
42232f:	8b 45 e8             	mov    -0x18(%ebp),%eax
422332:	6a 01                	push   $0x1
422334:	ff 70 14             	push   0x14(%eax)
422337:	ff 70 04             	push   0x4(%eax)
42233a:	8d 45 fc             	lea    -0x4(%ebp),%eax
42233d:	50                   	push   %eax
42233e:	51                   	push   %ecx
42233f:	8d 45 f8             	lea    -0x8(%ebp),%eax
422342:	50                   	push   %eax
422343:	8d 45 e8             	lea    -0x18(%ebp),%eax
422346:	6a 01                	push   $0x1
422348:	50                   	push   %eax
422349:	e8 1e 34 00 00       	call   0x42576c
42234e:	83 c4 20             	add    $0x20,%esp
422351:	85 c0                	test   %eax,%eax
422353:	75 10                	jne    0x422365
422355:	38 45 f4             	cmp    %al,-0xc(%ebp)
422358:	74 07                	je     0x422361
42235a:	8b 45 f0             	mov    -0x10(%ebp),%eax
42235d:	83 60 70 fd          	andl   $0xfffffffd,0x70(%eax)
422361:	33 c0                	xor    %eax,%eax
422363:	eb 14                	jmp    0x422379
422365:	0f b7 45 fc          	movzwl -0x4(%ebp),%eax
422369:	23 45 0c             	and    0xc(%ebp),%eax
42236c:	80 7d f4 00          	cmpb   $0x0,-0xc(%ebp)
422370:	74 07                	je     0x422379
422372:	8b 4d f0             	mov    -0x10(%ebp),%ecx
422375:	83 61 70 fd          	andl   $0xfffffffd,0x70(%ecx)
422379:	5b                   	pop    %ebx
42237a:	c9                   	leave
42237b:	c3                   	ret
42237c:	8b ff                	mov    %edi,%edi
42237e:	55                   	push   %ebp
42237f:	8b ec                	mov    %esp,%ebp
422381:	83 ec 10             	sub    $0x10,%esp
422384:	ff 75 08             	push   0x8(%ebp)
422387:	8d 4d f0             	lea    -0x10(%ebp),%ecx
42238a:	e8 59 a7 ff ff       	call   0x41cae8
42238f:	8b 45 18             	mov    0x18(%ebp),%eax
422392:	85 c0                	test   %eax,%eax
422394:	7e 18                	jle    0x4223ae
422396:	8b 4d 14             	mov    0x14(%ebp),%ecx
422399:	8b d0                	mov    %eax,%edx
42239b:	4a                   	dec    %edx
42239c:	66 83 39 00          	cmpw   $0x0,(%ecx)
4223a0:	74 09                	je     0x4223ab
4223a2:	41                   	inc    %ecx
4223a3:	41                   	inc    %ecx
4223a4:	85 d2                	test   %edx,%edx
4223a6:	75 f3                	jne    0x42239b
4223a8:	83 ca ff             	or     $0xffffffff,%edx
4223ab:	2b c2                	sub    %edx,%eax
4223ad:	48                   	dec    %eax
4223ae:	ff 75 20             	push   0x20(%ebp)
4223b1:	ff 75 1c             	push   0x1c(%ebp)
4223b4:	50                   	push   %eax
4223b5:	ff 75 14             	push   0x14(%ebp)
4223b8:	ff 75 10             	push   0x10(%ebp)
4223bb:	ff 75 0c             	push   0xc(%ebp)
4223be:	ff 15 84 a1 42 00    	call   *0x42a184
4223c4:	80 7d fc 00          	cmpb   $0x0,-0x4(%ebp)
4223c8:	74 07                	je     0x4223d1
4223ca:	8b 4d f8             	mov    -0x8(%ebp),%ecx
4223cd:	83 61 70 fd          	andl   $0xfffffffd,0x70(%ecx)
4223d1:	c9                   	leave
4223d2:	c3                   	ret
4223d3:	8b ff                	mov    %edi,%edi
4223d5:	55                   	push   %ebp
4223d6:	8b ec                	mov    %esp,%ebp
4223d8:	b8 ff ff 00 00       	mov    $0xffff,%eax
4223dd:	83 ec 14             	sub    $0x14,%esp
4223e0:	66 39 45 08          	cmp    %ax,0x8(%ebp)
4223e4:	75 06                	jne    0x4223ec
4223e6:	83 65 fc 00          	andl   $0x0,-0x4(%ebp)
4223ea:	eb 65                	jmp    0x422451
4223ec:	b8 00 01 00 00       	mov    $0x100,%eax
4223f1:	66 39 45 08          	cmp    %ax,0x8(%ebp)
4223f5:	73 1a                	jae    0x422411
4223f7:	0f b7 45 08          	movzwl 0x8(%ebp),%eax
4223fb:	8b 0d 34 ff 42 00    	mov    0x42ff34,%ecx
422401:	66 8b 04 41          	mov    (%ecx,%eax,2),%ax
422405:	66 23 45 0c          	and    0xc(%ebp),%ax
422409:	0f b7 c0             	movzwl %ax,%eax
42240c:	89 45 fc             	mov    %eax,-0x4(%ebp)
42240f:	eb 40                	jmp    0x422451
422411:	ff 75 10             	push   0x10(%ebp)
422414:	8d 4d ec             	lea    -0x14(%ebp),%ecx
422417:	e8 cc a6 ff ff       	call   0x41cae8
42241c:	8b 45 ec             	mov    -0x14(%ebp),%eax
42241f:	ff 70 14             	push   0x14(%eax)
422422:	ff 70 04             	push   0x4(%eax)
422425:	8d 45 fc             	lea    -0x4(%ebp),%eax
422428:	50                   	push   %eax
422429:	6a 01                	push   $0x1
42242b:	8d 45 08             	lea    0x8(%ebp),%eax
42242e:	50                   	push   %eax
42242f:	8d 45 ec             	lea    -0x14(%ebp),%eax
422432:	6a 01                	push   $0x1
422434:	50                   	push   %eax
422435:	e8 a2 38 00 00       	call   0x425cdc
42243a:	83 c4 1c             	add    $0x1c,%esp
42243d:	85 c0                	test   %eax,%eax
42243f:	75 03                	jne    0x422444
422441:	21 45 fc             	and    %eax,-0x4(%ebp)
422444:	80 7d f8 00          	cmpb   $0x0,-0x8(%ebp)
422448:	74 07                	je     0x422451
42244a:	8b 45 f4             	mov    -0xc(%ebp),%eax
42244d:	83 60 70 fd          	andl   $0xfffffffd,0x70(%eax)
422451:	0f b7 45 fc          	movzwl -0x4(%ebp),%eax
422455:	0f b7 4d 0c          	movzwl 0xc(%ebp),%ecx
422459:	23 c1                	and    %ecx,%eax
42245b:	c9                   	leave
42245c:	c3                   	ret
42245d:	8b ff                	mov    %edi,%edi
42245f:	55                   	push   %ebp
422460:	8b ec                	mov    %esp,%ebp
422462:	8b 4d 08             	mov    0x8(%ebp),%ecx
422465:	53                   	push   %ebx
422466:	33 db                	xor    %ebx,%ebx
422468:	56                   	push   %esi
422469:	57                   	push   %edi
42246a:	3b cb                	cmp    %ebx,%ecx
42246c:	74 07                	je     0x422475
42246e:	8b 7d 0c             	mov    0xc(%ebp),%edi
422471:	3b fb                	cmp    %ebx,%edi
422473:	77 1b                	ja     0x422490
422475:	e8 24 c4 ff ff       	call   0x41e89e
42247a:	6a 16                	push   $0x16
42247c:	5e                   	pop    %esi
42247d:	89 30                	mov    %esi,(%eax)
42247f:	53                   	push   %ebx
422480:	53                   	push   %ebx
422481:	53                   	push   %ebx
422482:	53                   	push   %ebx
422483:	53                   	push   %ebx
422484:	e8 6a d7 ff ff       	call   0x41fbf3
422489:	83 c4 14             	add    $0x14,%esp
42248c:	8b c6                	mov    %esi,%eax
42248e:	eb 30                	jmp    0x4224c0
422490:	8b 75 10             	mov    0x10(%ebp),%esi
422493:	3b f3                	cmp    %ebx,%esi
422495:	75 04                	jne    0x42249b
422497:	88 19                	mov    %bl,(%ecx)
422499:	eb da                	jmp    0x422475
42249b:	8b d1                	mov    %ecx,%edx
42249d:	8a 06                	mov    (%esi),%al
42249f:	88 02                	mov    %al,(%edx)
4224a1:	42                   	inc    %edx
4224a2:	46                   	inc    %esi
4224a3:	3a c3                	cmp    %bl,%al
4224a5:	74 03                	je     0x4224aa
4224a7:	4f                   	dec    %edi
4224a8:	75 f3                	jne    0x42249d
4224aa:	3b fb                	cmp    %ebx,%edi
4224ac:	75 10                	jne    0x4224be
4224ae:	88 19                	mov    %bl,(%ecx)
4224b0:	e8 e9 c3 ff ff       	call   0x41e89e
4224b5:	6a 22                	push   $0x22
4224b7:	59                   	pop    %ecx
4224b8:	89 08                	mov    %ecx,(%eax)
4224ba:	8b f1                	mov    %ecx,%esi
4224bc:	eb c1                	jmp    0x42247f
4224be:	33 c0                	xor    %eax,%eax
4224c0:	5f                   	pop    %edi
4224c1:	5e                   	pop    %esi
4224c2:	5b                   	pop    %ebx
4224c3:	5d                   	pop    %ebp
4224c4:	c3                   	ret
4224c5:	8b ff                	mov    %edi,%edi
4224c7:	55                   	push   %ebp
4224c8:	8b ec                	mov    %esp,%ebp
4224ca:	83 ec 10             	sub    $0x10,%esp
4224cd:	56                   	push   %esi
4224ce:	ff 75 0c             	push   0xc(%ebp)
4224d1:	8d 4d f0             	lea    -0x10(%ebp),%ecx
4224d4:	e8 0f a6 ff ff       	call   0x41cae8
4224d9:	8b 75 08             	mov    0x8(%ebp),%esi
4224dc:	0f be 06             	movsbl (%esi),%eax
4224df:	50                   	push   %eax
4224e0:	e8 fc 39 00 00       	call   0x425ee1
4224e5:	83 f8 65             	cmp    $0x65,%eax
4224e8:	eb 0c                	jmp    0x4224f6
4224ea:	46                   	inc    %esi
4224eb:	0f b6 06             	movzbl (%esi),%eax
4224ee:	50                   	push   %eax
4224ef:	e8 aa 38 00 00       	call   0x425d9e
4224f4:	85 c0                	test   %eax,%eax
4224f6:	59                   	pop    %ecx
4224f7:	75 f1                	jne    0x4224ea
4224f9:	0f be 06             	movsbl (%esi),%eax
4224fc:	50                   	push   %eax
4224fd:	e8 df 39 00 00       	call   0x425ee1
422502:	59                   	pop    %ecx
422503:	83 f8 78             	cmp    $0x78,%eax
422506:	75 02                	jne    0x42250a
422508:	46                   	inc    %esi
422509:	46                   	inc    %esi
42250a:	8b 4d f0             	mov    -0x10(%ebp),%ecx
42250d:	8b 89 bc 00 00 00    	mov    0xbc(%ecx),%ecx
422513:	8b 09                	mov    (%ecx),%ecx
422515:	8a 06                	mov    (%esi),%al
422517:	8a 09                	mov    (%ecx),%cl
422519:	88 0e                	mov    %cl,(%esi)
42251b:	46                   	inc    %esi
42251c:	8a 0e                	mov    (%esi),%cl
42251e:	88 06                	mov    %al,(%esi)
422520:	8a c1                	mov    %cl,%al
422522:	8a 0e                	mov    (%esi),%cl
422524:	46                   	inc    %esi
422525:	84 c9                	test   %cl,%cl
422527:	75 f3                	jne    0x42251c
422529:	5e                   	pop    %esi
42252a:	38 4d fc             	cmp    %cl,-0x4(%ebp)
42252d:	74 07                	je     0x422536
42252f:	8b 45 f8             	mov    -0x8(%ebp),%eax
422532:	83 60 70 fd          	andl   $0xfffffffd,0x70(%eax)
422536:	c9                   	leave
422537:	c3                   	ret
422538:	8b ff                	mov    %edi,%edi
42253a:	55                   	push   %ebp
42253b:	8b ec                	mov    %esp,%ebp
42253d:	83 ec 10             	sub    $0x10,%esp
422540:	56                   	push   %esi
422541:	ff 75 0c             	push   0xc(%ebp)
422544:	8d 4d f0             	lea    -0x10(%ebp),%ecx
422547:	e8 9c a5 ff ff       	call   0x41cae8
42254c:	8b 45 08             	mov    0x8(%ebp),%eax
42254f:	8a 08                	mov    (%eax),%cl
422551:	8b 75 f0             	mov    -0x10(%ebp),%esi
422554:	84 c9                	test   %cl,%cl
422556:	74 15                	je     0x42256d
422558:	8b 96 bc 00 00 00    	mov    0xbc(%esi),%edx
42255e:	8b 12                	mov    (%edx),%edx
422560:	8a 12                	mov    (%edx),%dl
422562:	3a ca                	cmp    %dl,%cl
422564:	74 07                	je     0x42256d
422566:	40                   	inc    %eax
422567:	8a 08                	mov    (%eax),%cl
422569:	84 c9                	test   %cl,%cl
42256b:	75 f5                	jne    0x422562
42256d:	8a 08                	mov    (%eax),%cl
42256f:	40                   	inc    %eax
422570:	84 c9                	test   %cl,%cl
422572:	74 36                	je     0x4225aa
422574:	eb 0b                	jmp    0x422581
422576:	80 f9 65             	cmp    $0x65,%cl
422579:	74 0c                	je     0x422587
42257b:	80 f9 45             	cmp    $0x45,%cl
42257e:	74 07                	je     0x422587
422580:	40                   	inc    %eax