4221e6:	42                   	inc    %edx
4221e7:	00 01                	add    %al,(%ecx)
4221e9:	00 ff                	add    %bh,%bh
4221eb:	ff 24 25 42 00 15 54 	jmp    *0x54150042(,%eiz,1)
4221f2:	42                   	inc    %edx
4221f3:	72 75                	jb     0x42226a
4221f5:	73 68                	jae    0x42225f
4221f7:	52                   	push   %edx
4221f8:	65 73 6f             	gs jae 0x42226a
4221fb:	75 72                	jne    0x42226f
4221fd:	63 65 4d             	arpl   %esp,0x4d(%ebp)
422200:	61                   	popa
422201:	6e                   	outsb  %ds:(%esi),(%dx)
422202:	61                   	popa
422203:	67 65 72 8b          	addr16 gs jb 0x422192
422207:	c0 89 d1 89 c2 31 c0 	rorb   $0xc0,0x31c289d1(%ecx)
42220e:	66 c1 c0 05          	rol    $0x5,%ax
422212:	32 02                	xor    (%edx),%al
422214:	42                   	inc    %edx
422215:	49                   	dec    %ecx
422216:	75 f6                	jne    0x42220e
422218:	c3                   	ret
422219:	8d 40 00             	lea    0x0(%eax),%eax
42221c:	53                   	push   %ebx
42221d:	56                   	push   %esi
42221e:	84 d2                	test   %dl,%dl
422220:	74 08                	je     0x42222a
422222:	83 c4 f0             	add    $0xfffffff0,%esp
422225:	e8 ee 19 fe ff       	call   0x403c18
42222a:	8b da                	mov    %edx,%ebx
42222c:	8b f0                	mov    %eax,%esi
42222e:	66 89 4e 20          	mov    %cx,0x20(%esi)
422232:	8d 46 08             	lea    0x8(%esi),%eax
422235:	50                   	push   %eax
422236:	e8 0d 48 fe ff       	call   0x406a48
42223b:	8b c6                	mov    %esi,%eax
42223d:	84 db                	test   %bl,%bl
42223f:	74 0f                	je     0x422250
422241:	e8 2a 1a fe ff       	call   0x403c70
422246:	64 8f 05 00 00 00 00 	pop    %fs:0x0
42224d:	83 c4 0c             	add    $0xc,%esp
422250:	8b c6                	mov    %esi,%eax
422252:	5e                   	pop    %esi
422253:	5b                   	pop    %ebx
422254:	c3                   	ret
422255:	8d 40 00             	lea    0x0(%eax),%eax
422258:	53                   	push   %ebx
422259:	56                   	push   %esi
42225a:	e8 61 1a fe ff       	call   0x403cc0
42225f:	8b da                	mov    %edx,%ebx
422261:	8b f0                	mov    %eax,%esi
422263:	8d 46 08             	lea    0x8(%esi),%eax
422266:	50                   	push   %eax
422267:	e8 cc 46 fe ff       	call   0x406938
42226c:	84 db                	test   %bl,%bl
42226e:	7e 07                	jle    0x422277
422270:	8b c6                	mov    %esi,%eax
422272:	e8 f1 19 fe ff       	call   0x403c68
422277:	5e                   	pop    %esi
422278:	5b                   	pop    %ebx
422279:	c3                   	ret
42227a:	8b c0                	mov    %eax,%eax
42227c:	83 c0 08             	add    $0x8,%eax
42227f:	50                   	push   %eax
422280:	e8 bb 46 fe ff       	call   0x406940
422285:	c3                   	ret
422286:	8b c0                	mov    %eax,%eax
422288:	83 c0 08             	add    $0x8,%eax
42228b:	50                   	push   %eax
42228c:	e8 bf 47 fe ff       	call   0x406a50
422291:	c3                   	ret
422292:	8b c0                	mov    %eax,%eax
422294:	55                   	push   %ebp
422295:	8b ec                	mov    %esp,%ebp
422297:	83 c4 f8             	add    $0xfffffff8,%esp
42229a:	53                   	push   %ebx
42229b:	56                   	push   %esi
42229c:	8b da                	mov    %edx,%ebx
42229e:	89 45 fc             	mov    %eax,-0x4(%ebp)
4222a1:	8b 45 fc             	mov    -0x4(%ebp),%eax
4222a4:	0f b7 50 20          	movzwl 0x20(%eax),%edx
4222a8:	8b c3                	mov    %ebx,%eax
4222aa:	e8 59 ff ff ff       	call   0x422208
4222af:	8b f0                	mov    %eax,%esi
4222b1:	8b 45 fc             	mov    -0x4(%ebp),%eax
4222b4:	e8 c3 ff ff ff       	call   0x42227c
4222b9:	33 d2                	xor    %edx,%edx
4222bb:	55                   	push   %ebp
4222bc:	68 68 23 42 00       	push   $0x422368
4222c1:	64 ff 32             	push   %fs:(%edx)
4222c4:	64 89 22             	mov    %esp,%fs:(%edx)
4222c7:	8b 45 fc             	mov    -0x4(%ebp),%eax
4222ca:	8b 40 04             	mov    0x4(%eax),%eax
4222cd:	89 45 f8             	mov    %eax,-0x8(%ebp)
4222d0:	eb 08                	jmp    0x4222da
4222d2:	8b 45 f8             	mov    -0x8(%ebp),%eax
4222d5:	8b 00                	mov    (%eax),%eax
4222d7:	89 45 f8             	mov    %eax,-0x8(%ebp)
4222da:	83 7d f8 00          	cmpl   $0x0,-0x8(%ebp)
4222de:	74 21                	je     0x422301
4222e0:	8b 45 f8             	mov    -0x8(%ebp),%eax
4222e3:	66 3b 70 0c          	cmp    0xc(%eax),%si
4222e7:	75 e9                	jne    0x4222d2
4222e9:	8b 45 fc             	mov    -0x4(%ebp),%eax
4222ec:	0f b7 48 20          	movzwl 0x20(%eax),%ecx
4222f0:	8b d3                	mov    %ebx,%edx
4222f2:	8b 45 f8             	mov    -0x8(%ebp),%eax
4222f5:	83 c0 10             	add    $0x10,%eax
4222f8:	e8 eb 64 fe ff       	call   0x4087e8
4222fd:	84 c0                	test   %al,%al
4222ff:	74 d1                	je     0x4222d2
422301:	83 7d f8 00          	cmpl   $0x0,-0x8(%ebp)
422305:	75 45                	jne    0x42234c
422307:	8b 45 fc             	mov    -0x4(%ebp),%eax
42230a:	0f b7 40 20          	movzwl 0x20(%eax),%eax
42230e:	83 c0 10             	add    $0x10,%eax
422311:	e8 d6 09 fe ff       	call   0x402cec
422316:	89 45 f8             	mov    %eax,-0x8(%ebp)
422319:	8b 45 f8             	mov    -0x8(%ebp),%eax
42231c:	8b 55 fc             	mov    -0x4(%ebp),%edx
42231f:	8b 52 04             	mov    0x4(%edx),%edx
422322:	89 10                	mov    %edx,(%eax)
422324:	33 d2                	xor    %edx,%edx
422326:	89 50 04             	mov    %edx,0x4(%eax)
422329:	8b 13                	mov    (%ebx),%edx
42232b:	89 50 08             	mov    %edx,0x8(%eax)
42232e:	66 89 70 0c          	mov    %si,0xc(%eax)
422332:	8b 55 fc             	mov    -0x4(%ebp),%edx
422335:	0f b7 4a 20          	movzwl 0x20(%edx),%ecx
422339:	8d 50 10             	lea    0x10(%eax),%edx
42233c:	8b c3                	mov    %ebx,%eax
42233e:	e8 99 0b fe ff       	call   0x402edc
422343:	8b 45 fc             	mov    -0x4(%ebp),%eax
422346:	8b 55 f8             	mov    -0x8(%ebp),%edx
422349:	89 50 04             	mov    %edx,0x4(%eax)
42234c:	8b 45 f8             	mov    -0x8(%ebp),%eax
42234f:	ff 40 04             	incl   0x4(%eax)
422352:	33 c0                	xor    %eax,%eax
422354:	5a                   	pop    %edx
422355:	59                   	pop    %ecx
422356:	59                   	pop    %ecx
422357:	64 89 10             	mov    %edx,%fs:(%eax)
42235a:	68 6f 23 42 00       	push   $0x42236f
42235f:	8b 45 fc             	mov    -0x4(%ebp),%eax
422362:	e8 21 ff ff ff       	call   0x422288
422367:	c3                   	ret
422368:	e9 1b 1d fe ff       	jmp    0x404088
42236d:	eb f0                	jmp    0x42235f
42236f:	8b 45 f8             	mov    -0x8(%ebp),%eax
422372:	5e                   	pop    %esi
422373:	5b                   	pop    %ebx
422374:	59                   	pop    %ecx
422375:	59                   	pop    %ecx
422376:	5d                   	pop    %ebp
422377:	c3                   	ret
422378:	55                   	push   %ebp
422379:	8b ec                	mov    %esp,%ebp
42237b:	83 c4 f0             	add    $0xfffffff0,%esp
42237e:	56                   	push   %esi
42237f:	89 55 f8             	mov    %edx,-0x8(%ebp)
422382:	89 45 fc             	mov    %eax,-0x4(%ebp)
422385:	83 7d f8 00          	cmpl   $0x0,-0x8(%ebp)
422389:	0f 84 a5 00 00 00    	je     0x422434
42238f:	8b 45 f8             	mov    -0x8(%ebp),%eax
422392:	89 45 f0             	mov    %eax,-0x10(%ebp)
422395:	8b 45 fc             	mov    -0x4(%ebp),%eax
422398:	e8 df fe ff ff       	call   0x42227c
42239d:	33 c9                	xor    %ecx,%ecx
42239f:	55                   	push   %ebp
4223a0:	68 00 24 42 00       	push   $0x422400
4223a5:	64 ff 31             	push   %fs:(%ecx)
4223a8:	64 89 21             	mov    %esp,%fs:(%ecx)
4223ab:	8b 45 f0             	mov    -0x10(%ebp),%eax
4223ae:	ff 48 04             	decl   0x4(%eax)
4223b1:	8b 45 f0             	mov    -0x10(%ebp),%eax
4223b4:	83 78 04 00          	cmpl   $0x0,0x4(%eax)
4223b8:	0f 94 45 f7          	sete   -0x9(%ebp)
4223bc:	80 7d f7 00          	cmpb   $0x0,-0x9(%ebp)
4223c0:	74 28                	je     0x4223ea
4223c2:	8b 45 fc             	mov    -0x4(%ebp),%eax
4223c5:	8b 40 04             	mov    0x4(%eax),%eax
4223c8:	3b 45 f8             	cmp    -0x8(%ebp),%eax
4223cb:	75 0f                	jne    0x4223dc
4223cd:	8b 45 f8             	mov    -0x8(%ebp),%eax
4223d0:	8b 00                	mov    (%eax),%eax
4223d2:	8b 55 fc             	mov    -0x4(%ebp),%edx
4223d5:	89 42 04             	mov    %eax,0x4(%edx)
4223d8:	eb 10                	jmp    0x4223ea
4223da:	8b c2                	mov    %edx,%eax
4223dc:	8b 10                	mov    (%eax),%edx
4223de:	3b 55 f8             	cmp    -0x8(%ebp),%edx
4223e1:	75 f7                	jne    0x4223da
4223e3:	8b 55 f8             	mov    -0x8(%ebp),%edx
4223e6:	8b 12                	mov    (%edx),%edx
4223e8:	89 10                	mov    %edx,(%eax)
4223ea:	33 c0                	xor    %eax,%eax
4223ec:	5a                   	pop    %edx
4223ed:	59                   	pop    %ecx
4223ee:	59                   	pop    %ecx
4223ef:	64 89 10             	mov    %edx,%fs:(%eax)
4223f2:	68 07 24 42 00       	push   $0x422407
4223f7:	8b 45 fc             	mov    -0x4(%ebp),%eax
4223fa:	e8 89 fe ff ff       	call   0x422288
4223ff:	c3                   	ret
422400:	e9 83 1c fe ff       	jmp    0x404088
422405:	eb f0                	jmp    0x4223f7
422407:	80 7d f7 00          	cmpb   $0x0,-0x9(%ebp)
42240b:	74 27                	je     0x422434
42240d:	8b 45 f0             	mov    -0x10(%ebp),%eax
422410:	8b 40 08             	mov    0x8(%eax),%eax
422413:	85 c0                	test   %eax,%eax
422415:	74 06                	je     0x42241d
422417:	50                   	push   %eax
422418:	e8 73 47 fe ff       	call   0x406b90
42241d:	8b 55 f8             	mov    -0x8(%ebp),%edx
422420:	8b 45 fc             	mov    -0x4(%ebp),%eax
422423:	66 be ff ff          	mov    $0xffff,%si
422427:	e8 c4 16 fe ff       	call   0x403af0
42242c:	8b 45 f8             	mov    -0x8(%ebp),%eax
42242f:	e8 d4 08 fe ff       	call   0x402d08
422434:	5e                   	pop    %esi
422435:	8b e5                	mov    %ebp,%esp
422437:	5d                   	pop    %ebp
422438:	c3                   	ret
422439:	8d 40 00             	lea    0x0(%eax),%eax
42243c:	55                   	push   %ebp
42243d:	8b ec                	mov    %esp,%ebp
42243f:	83 c4 f8             	add    $0xfffffff8,%esp
422442:	53                   	push   %ebx
422443:	56                   	push   %esi
422444:	57                   	push   %edi
422445:	89 4d f8             	mov    %ecx,-0x8(%ebp)
422448:	8b da                	mov    %edx,%ebx
42244a:	89 45 fc             	mov    %eax,-0x4(%ebp)
42244d:	8b 45 fc             	mov    -0x4(%ebp),%eax
422450:	e8 27 fe ff ff       	call   0x42227c
422455:	33 c0                	xor    %eax,%eax
422457:	55                   	push   %ebp
422458:	68 a5 24 42 00       	push   $0x4224a5
42245d:	64 ff 30             	push   %fs:(%eax)
422460:	64 89 20             	mov    %esp,%fs:(%eax)
422463:	8b 7b 10             	mov    0x10(%ebx),%edi
422466:	8b 55 f8             	mov    -0x8(%ebp),%edx
422469:	8b 45 fc             	mov    -0x4(%ebp),%eax
42246c:	e8 23 fe ff ff       	call   0x422294
422471:	8b f0                	mov    %eax,%esi
422473:	89 73 10             	mov    %esi,0x10(%ebx)
422476:	3b fe                	cmp    %esi,%edi
422478:	74 0b                	je     0x422485
42247a:	8b c3                	mov    %ebx,%eax
42247c:	66 be fd ff          	mov    $0xfffd,%si
422480:	e8 6b 16 fe ff       	call   0x403af0
422485:	8b d7                	mov    %edi,%edx
422487:	8b 45 fc             	mov    -0x4(%ebp),%eax
42248a:	e8 e9 fe ff ff       	call   0x422378
42248f:	33 c0                	xor    %eax,%eax
422491:	5a                   	pop    %edx
422492:	59                   	pop    %ecx
422493:	59                   	pop    %ecx
422494:	64 89 10             	mov    %edx,%fs:(%eax)
422497:	68 ac 24 42 00       	push   $0x4224ac
42249c:	8b 45 fc             	mov    -0x4(%ebp),%eax
42249f:	e8 e4 fd ff ff       	call   0x422288
4224a4:	c3                   	ret
4224a5:	e9 de 1b fe ff       	jmp    0x404088
4224aa:	eb f0                	jmp    0x42249c
4224ac:	5f                   	pop    %edi
4224ad:	5e                   	pop    %esi
4224ae:	5b                   	pop    %ebx
4224af:	59                   	pop    %ecx
4224b0:	59                   	pop    %ecx
4224b1:	5d                   	pop    %ebp
4224b2:	c3                   	ret
4224b3:	90                   	nop
4224b4:	c3                   	ret
4224b5:	8d 40 00             	lea    0x0(%eax),%eax
4224b8:	55                   	push   %ebp
4224b9:	8b ec                	mov    %esp,%ebp
4224bb:	51                   	push   %ecx
4224bc:	53                   	push   %ebx
4224bd:	56                   	push   %esi
4224be:	57                   	push   %edi
4224bf:	8b f9                	mov    %ecx,%edi
4224c1:	8b f2                	mov    %edx,%esi
4224c3:	89 45 fc             	mov    %eax,-0x4(%ebp)
4224c6:	8b 45 fc             	mov    -0x4(%ebp),%eax
4224c9:	e8 ae fd ff ff       	call   0x42227c
4224ce:	33 c0                	xor    %eax,%eax
4224d0:	55                   	push   %ebp
4224d1:	68 14 25 42 00       	push   $0x422514
4224d6:	64 ff 30             	push   %fs:(%eax)
4224d9:	64 89 20             	mov    %esp,%fs:(%eax)
4224dc:	8b 5e 10             	mov    0x10(%esi),%ebx
4224df:	3b fb                	cmp    %ebx,%edi
4224e1:	74 1b                	je     0x4224fe
4224e3:	ff 47 04             	incl   0x4(%edi)
4224e6:	89 7e 10             	mov    %edi,0x10(%esi)
4224e9:	8b c6                	mov    %esi,%eax
4224eb:	66 be fd ff          	mov    $0xfffd,%si
4224ef:	e8 fc 15 fe ff       	call   0x403af0
4224f4:	8b d3                	mov    %ebx,%edx
4224f6:	8b 45 fc             	mov    -0x4(%ebp),%eax
4224f9:	e8 7a fe ff ff       	call   0x422378
4224fe:	33 c0                	xor    %eax,%eax
422500:	5a                   	pop    %edx
422501:	59                   	pop    %ecx
422502:	59                   	pop    %ecx
422503:	64 89 10             	mov    %edx,%fs:(%eax)
422506:	68 1b 25 42 00       	push   $0x42251b
42250b:	8b 45 fc             	mov    -0x4(%ebp),%eax
42250e:	e8 75 fd ff ff       	call   0x422288
422513:	c3                   	ret
422514:	e9 6f 1b fe ff       	jmp    0x404088
422519:	eb f0                	jmp    0x42250b
42251b:	5f                   	pop    %edi
42251c:	5e                   	pop    %esi
42251d:	5b                   	pop    %ebx
42251e:	59                   	pop    %ecx
42251f:	5d                   	pop    %ebp
422520:	c3                   	ret
422521:	8d 40 00             	lea    0x0(%eax),%eax
422524:	80 7a 1d 00          	cmpb   $0x0,0x1d(%edx)
422528:	74 08                	je     0x422532
42252a:	8d 42 18             	lea    0x18(%edx),%eax
42252d:	e8 1a b8 fe ff       	call   0x40dd4c
422532:	c3                   	ret
422533:	90                   	nop
422534:	55                   	push   %ebp
422535:	8b ec                	mov    %esp,%ebp
422537:	51                   	push   %ecx
422538:	53                   	push   %ebx
422539:	56                   	push   %esi
42253a:	57                   	push   %edi
42253b:	89 45 fc             	mov    %eax,-0x4(%ebp)
42253e:	8b 45 fc             	mov    -0x4(%ebp),%eax
422541:	e8 36 fd ff ff       	call   0x42227c
422546:	33 c0                	xor    %eax,%eax
422548:	55                   	push   %ebp
422549:	68 94 25 42 00       	push   $0x422594
42254e:	64 ff 30             	push   %fs:(%eax)
422551:	64 89 20             	mov    %esp,%fs:(%eax)
422554:	8b 45 fc             	mov    -0x4(%ebp),%eax
422557:	8b 58 04             	mov    0x4(%eax),%ebx
42255a:	85 db                	test   %ebx,%ebx
42255c:	74 20                	je     0x42257e
42255e:	8b f3                	mov    %ebx,%esi
422560:	8b 7e 08             	mov    0x8(%esi),%edi
422563:	85 ff                	test   %edi,%edi
422565:	74 11                	je     0x422578
422567:	83 7e 14 00          	cmpl   $0x0,0x14(%esi)