4222db:	1b c0                	sbb    %eax,%eax
4222dd:	40                   	inc    %eax
4222de:	c3                   	ret
4222df:	55                   	push   %ebp
4222e0:	8b ec                	mov    %esp,%ebp
4222e2:	56                   	push   %esi
4222e3:	e8 b2 55 00 00       	call   0x42789a
4222e8:	50                   	push   %eax
4222e9:	e8 bc 5b 00 00       	call   0x427eaa
4222ee:	8b f0                	mov    %eax,%esi
4222f0:	59                   	pop    %ecx
4222f1:	85 f6                	test   %esi,%esi
4222f3:	75 2c                	jne    0x422321
4222f5:	8b 75 08             	mov    0x8(%ebp),%esi
4222f8:	56                   	push   %esi
4222f9:	e8 9c 55 00 00       	call   0x42789a
4222fe:	50                   	push   %eax
4222ff:	e8 c5 5b 00 00       	call   0x427ec9
422304:	59                   	pop    %ecx
422305:	59                   	pop    %ecx
422306:	85 c0                	test   %eax,%eax
422308:	75 0d                	jne    0x422317
42230a:	ff 15 10 d3 48 00    	call   *0x48d310
422310:	50                   	push   %eax
422311:	ff 15 50 d3 48 00    	call   *0x48d350
422317:	ff 15 74 d1 48 00    	call   *0x48d174
42231d:	89 06                	mov    %eax,(%esi)
42231f:	eb 1b                	jmp    0x42233c
422321:	8b 4d 08             	mov    0x8(%ebp),%ecx
422324:	51                   	push   %ecx
422325:	8b 41 54             	mov    0x54(%ecx),%eax
422328:	89 46 54             	mov    %eax,0x54(%esi)
42232b:	8b 41 58             	mov    0x58(%ecx),%eax
42232e:	89 46 58             	mov    %eax,0x58(%esi)
422331:	8b 41 04             	mov    0x4(%ecx),%eax
422334:	89 46 04             	mov    %eax,0x4(%esi)
422337:	e8 64 55 00 00       	call   0x4278a0
42233c:	e8 cb 5b 00 00       	call   0x427f0c
422341:	89 86 b4 03 00 00    	mov    %eax,0x3b4(%esi)
422347:	85 c0                	test   %eax,%eax
422349:	74 0b                	je     0x422356
42234b:	e8 37 ff ff ff       	call   0x422287
422350:	89 86 b4 03 00 00    	mov    %eax,0x3b4(%esi)
422356:	e8 bd fe ff ff       	call   0x422218
42235b:	cc                   	int3
42235c:	83 3d 44 01 4c 00 00 	cmpl   $0x0,0x4c0144
422363:	75 38                	jne    0x42239d
422365:	68 08 db 48 00       	push   $0x48db08
42236a:	68 00 08 00 00       	push   $0x800
42236f:	6a 00                	push   $0x0
422371:	68 f0 da 48 00       	push   $0x48daf0
422376:	ff 15 64 d2 48 00    	call   *0x48d264
42237c:	50                   	push   %eax
42237d:	ff 15 90 d1 48 00    	call   *0x48d190
422383:	85 c0                	test   %eax,%eax
422385:	74 24                	je     0x4223ab
422387:	50                   	push   %eax
422388:	ff 15 00 a0 4b 00    	call   *0x4ba000
42238e:	a3 40 01 4c 00       	mov    %eax,0x4c0140
422393:	c7 05 44 01 4c 00 01 	movl   $0x1,0x4c0144
42239a:	00 00 00
42239d:	ff 35 40 01 4c 00    	push   0x4c0140
4223a3:	ff 15 04 a0 4b 00    	call   *0x4ba004
4223a9:	ff e0                	jmp    *%eax
4223ab:	c3                   	ret
4223ac:	55                   	push   %ebp
4223ad:	8b ec                	mov    %esp,%ebp
4223af:	8b 4d 10             	mov    0x10(%ebp),%ecx
4223b2:	56                   	push   %esi
4223b3:	57                   	push   %edi
4223b4:	8b 7d 08             	mov    0x8(%ebp),%edi
4223b7:	8b f7                	mov    %edi,%esi
4223b9:	85 c9                	test   %ecx,%ecx
4223bb:	74 33                	je     0x4223f0
4223bd:	8b 55 0c             	mov    0xc(%ebp),%edx
4223c0:	2b d7                	sub    %edi,%edx
4223c2:	0f b7 04 3a          	movzwl (%edx,%edi,1),%eax
4223c6:	66 89 07             	mov    %ax,(%edi)
4223c9:	83 c7 02             	add    $0x2,%edi
4223cc:	66 85 c0             	test   %ax,%ax
4223cf:	74 03                	je     0x4223d4
4223d1:	49                   	dec    %ecx
4223d2:	75 ee                	jne    0x4223c2
4223d4:	85 c9                	test   %ecx,%ecx
4223d6:	74 18                	je     0x4223f0
4223d8:	49                   	dec    %ecx
4223d9:	74 15                	je     0x4223f0
4223db:	33 c0                	xor    %eax,%eax
4223dd:	0f b7 d0             	movzwl %ax,%edx
4223e0:	8b c2                	mov    %edx,%eax
4223e2:	c1 e2 10             	shl    $0x10,%edx
4223e5:	0b c2                	or     %edx,%eax
4223e7:	d1 e9                	shr    $1,%ecx
4223e9:	f3 ab                	rep stos %eax,%es:(%edi)
4223eb:	13 c9                	adc    %ecx,%ecx
4223ed:	66 f3 ab             	rep stos %ax,%es:(%edi)
4223f0:	5f                   	pop    %edi
4223f1:	8b c6                	mov    %esi,%eax
4223f3:	5e                   	pop    %esi
4223f4:	5d                   	pop    %ebp
4223f5:	c3                   	ret
4223f6:	53                   	push   %ebx
4223f7:	8b dc                	mov    %esp,%ebx
4223f9:	51                   	push   %ecx
4223fa:	51                   	push   %ecx
4223fb:	83 e4 f0             	and    $0xfffffff0,%esp
4223fe:	83 c4 04             	add    $0x4,%esp
422401:	55                   	push   %ebp
422402:	8b 6b 04             	mov    0x4(%ebx),%ebp
422405:	89 6c 24 04          	mov    %ebp,0x4(%esp)
422409:	8b ec                	mov    %esp,%ebp
42240b:	8b 4b 08             	mov    0x8(%ebx),%ecx
42240e:	66 8b 53 0c          	mov    0xc(%ebx),%dx
422412:	83 ec 20             	sub    $0x20,%esp
422415:	83 3d 54 01 4c 00 01 	cmpl   $0x1,0x4c0154
42241c:	7c 48                	jl     0x422466
42241e:	0f b7 c2             	movzwl %dx,%eax
422421:	66 0f 6e c0          	movd   %eax,%xmm0
422425:	f2 0f 70 c0 00       	pshuflw $0x0,%xmm0,%xmm0
42242a:	66 0f 70 d0 00       	pshufd $0x0,%xmm0,%xmm2
42242f:	8b c1                	mov    %ecx,%eax
422431:	25 ff 0f 00 00       	and    $0xfff,%eax
422436:	3d f0 0f 00 00       	cmp    $0xff0,%eax
42243b:	77 3e                	ja     0x42247b
42243d:	f3 0f 6f 01          	movdqu (%ecx),%xmm0
422441:	66 0f ef c9          	pxor   %xmm1,%xmm1
422445:	66 0f 75 c8          	pcmpeqw %xmm0,%xmm1
422449:	66 0f 75 c2          	pcmpeqw %xmm2,%xmm0
42244d:	66 0f eb c8          	por    %xmm0,%xmm1
422451:	66 0f d7 c1          	pmovmskb %xmm1,%eax
422455:	85 c0                	test   %eax,%eax
422457:	75 34                	jne    0x42248d
422459:	83 c1 10             	add    $0x10,%ecx
42245c:	eb d1                	jmp    0x42242f
42245e:	66 3b c2             	cmp    %dx,%ax
422461:	74 0b                	je     0x42246e
422463:	83 c1 02             	add    $0x2,%ecx
422466:	0f b7 01             	movzwl (%ecx),%eax
422469:	66 85 c0             	test   %ax,%ax
42246c:	75 f0                	jne    0x42245e
42246e:	33 c0                	xor    %eax,%eax
422470:	66 39 11             	cmp    %dx,(%ecx)
422473:	0f 95 c0             	setne  %al
422476:	48                   	dec    %eax
422477:	23 c1                	and    %ecx,%eax
422479:	eb 22                	jmp    0x42249d
42247b:	0f b7 01             	movzwl (%ecx),%eax
42247e:	66 3b c2             	cmp    %dx,%ax
422481:	74 18                	je     0x42249b
422483:	66 85 c0             	test   %ax,%ax
422486:	74 0f                	je     0x422497
422488:	83 c1 02             	add    $0x2,%ecx
42248b:	eb a2                	jmp    0x42242f
42248d:	0f bc c0             	bsf    %eax,%eax
422490:	89 45 fc             	mov    %eax,-0x4(%ebp)
422493:	03 c8                	add    %eax,%ecx
422495:	eb d7                	jmp    0x42246e
422497:	33 c0                	xor    %eax,%eax
422499:	eb 02                	jmp    0x42249d
42249b:	8b c1                	mov    %ecx,%eax
42249d:	8b e5                	mov    %ebp,%esp
42249f:	5d                   	pop    %ebp
4224a0:	8b e3                	mov    %ebx,%esp
4224a2:	5b                   	pop    %ebx
4224a3:	c3                   	ret
4224a4:	55                   	push   %ebp
4224a5:	8b ec                	mov    %esp,%ebp
4224a7:	8b 45 08             	mov    0x8(%ebp),%eax
4224aa:	53                   	push   %ebx
4224ab:	0f b7 08             	movzwl (%eax),%ecx
4224ae:	56                   	push   %esi
4224af:	57                   	push   %edi
4224b0:	66 85 c9             	test   %cx,%cx
4224b3:	74 2a                	je     0x4224df
4224b5:	8b 7d 0c             	mov    0xc(%ebp),%edi
4224b8:	0f b7 1f             	movzwl (%edi),%ebx
4224bb:	8b f7                	mov    %edi,%esi
4224bd:	66 85 db             	test   %bx,%bx
4224c0:	74 12                	je     0x4224d4
4224c2:	8b d3                	mov    %ebx,%edx
4224c4:	66 3b d1             	cmp    %cx,%dx
4224c7:	74 18                	je     0x4224e1
4224c9:	83 c6 02             	add    $0x2,%esi
4224cc:	0f b7 16             	movzwl (%esi),%edx
4224cf:	66 85 d2             	test   %dx,%dx
4224d2:	75 f0                	jne    0x4224c4
4224d4:	83 c0 02             	add    $0x2,%eax
4224d7:	0f b7 08             	movzwl (%eax),%ecx
4224da:	66 85 c9             	test   %cx,%cx
4224dd:	75 dc                	jne    0x4224bb
4224df:	33 c0                	xor    %eax,%eax
4224e1:	5f                   	pop    %edi
4224e2:	5e                   	pop    %esi
4224e3:	5b                   	pop    %ebx
4224e4:	5d                   	pop    %ebp
4224e5:	c3                   	ret
4224e6:	55                   	push   %ebp
4224e7:	8b ec                	mov    %esp,%ebp
4224e9:	56                   	push   %esi
4224ea:	33 f6                	xor    %esi,%esi
4224ec:	83 3d 54 01 4c 00 02 	cmpl   $0x2,0x4c0154
4224f3:	7d 2d                	jge    0x422522
4224f5:	8b 4d 08             	mov    0x8(%ebp),%ecx
4224f8:	8b d1                	mov    %ecx,%edx
4224fa:	66 8b 01             	mov    (%ecx),%ax
4224fd:	83 c1 02             	add    $0x2,%ecx
422500:	66 85 c0             	test   %ax,%ax
422503:	75 f5                	jne    0x4224fa
422505:	66 8b 45 0c          	mov    0xc(%ebp),%ax
422509:	83 e9 02             	sub    $0x2,%ecx
42250c:	3b ca                	cmp    %edx,%ecx
42250e:	74 05                	je     0x422515
422510:	66 39 01             	cmp    %ax,(%ecx)
422513:	75 f4                	jne    0x422509
422515:	66 39 01             	cmp    %ax,(%ecx)
422518:	75 04                	jne    0x42251e
42251a:	8b c1                	mov    %ecx,%eax
42251c:	eb 6b                	jmp    0x422589
42251e:	33 c0                	xor    %eax,%eax
422520:	eb 67                	jmp    0x422589
422522:	8b 55 08             	mov    0x8(%ebp),%edx
422525:	66 8b 4d 0c          	mov    0xc(%ebp),%cx
422529:	eb 12                	jmp    0x42253d
42252b:	0f b7 02             	movzwl (%edx),%eax
42252e:	66 3b c1             	cmp    %cx,%ax
422531:	75 02                	jne    0x422535
422533:	8b f2                	mov    %edx,%esi
422535:	66 85 c0             	test   %ax,%ax
422538:	74 4d                	je     0x422587
42253a:	83 c2 02             	add    $0x2,%edx
42253d:	8d 42 01             	lea    0x1(%edx),%eax
422540:	a8 0e                	test   $0xe,%al
422542:	75 e7                	jne    0x42252b
422544:	33 c0                	xor    %eax,%eax
422546:	66 3b c1             	cmp    %cx,%ax
422549:	75 1f                	jne    0x42256a
42254b:	b8 01 00 ff ff       	mov    $0xffff0001,%eax
422550:	66 0f 6e c8          	movd   %eax,%xmm1
422554:	eb 03                	jmp    0x422559
422556:	83 c2 10             	add    $0x10,%edx
422559:	f3 0f 6f 02          	movdqu (%edx),%xmm0
42255d:	66 0f 3a 63 c8 15    	pcmpistri $0x15,%xmm0,%xmm1
422563:	75 f1                	jne    0x422556
422565:	8d 04 4a             	lea    (%edx,%ecx,2),%eax
422568:	eb 1f                	jmp    0x422589
42256a:	0f b7 c1             	movzwl %cx,%eax
42256d:	66 0f 6e c0          	movd   %eax,%xmm0
422571:	f3 0f 6f 0a          	movdqu (%edx),%xmm1
422575:	66 0f 3a 63 c1 41    	pcmpistri $0x41,%xmm1,%xmm0
42257b:	73 03                	jae    0x422580
42257d:	8d 34 4a             	lea    (%edx,%ecx,2),%esi
422580:	74 05                	je     0x422587
422582:	83 c2 10             	add    $0x10,%edx
422585:	eb ea                	jmp    0x422571
422587:	8b c6                	mov    %esi,%eax
422589:	5e                   	pop    %esi
42258a:	5d                   	pop    %ebp
42258b:	c3                   	ret
42258c:	cc                   	int3
42258d:	cc                   	int3
42258e:	cc                   	int3
42258f:	cc                   	int3
422590:	57                   	push   %edi
422591:	8b 7c 24 08          	mov    0x8(%esp),%edi
422595:	eb 6e                	jmp    0x422605
422597:	8d a4 24 00 00 00 00 	lea    0x0(%esp),%esp
42259e:	8b ff                	mov    %edi,%edi
4225a0:	8b 4c 24 04          	mov    0x4(%esp),%ecx
4225a4:	57                   	push   %edi
4225a5:	f7 c1 03 00 00 00    	test   $0x3,%ecx
4225ab:	74 13                	je     0x4225c0
4225ad:	8a 01                	mov    (%ecx),%al
4225af:	83 c1 01             	add    $0x1,%ecx
4225b2:	84 c0                	test   %al,%al
4225b4:	74 3d                	je     0x4225f3
4225b6:	f7 c1 03 00 00 00    	test   $0x3,%ecx
4225bc:	75 ef                	jne    0x4225ad
4225be:	8b ff                	mov    %edi,%edi
4225c0:	8b 01                	mov    (%ecx),%eax
4225c2:	ba ff fe fe 7e       	mov    $0x7efefeff,%edx
4225c7:	03 d0                	add    %eax,%edx
4225c9:	83 f0 ff             	xor    $0xffffffff,%eax
4225cc:	33 c2                	xor    %edx,%eax
4225ce:	83 c1 04             	add    $0x4,%ecx
4225d1:	a9 00 01 01 81       	test   $0x81010100,%eax
4225d6:	74 e8                	je     0x4225c0
4225d8:	8b 41 fc             	mov    -0x4(%ecx),%eax
4225db:	84 c0                	test   %al,%al
4225dd:	74 23                	je     0x422602
4225df:	84 e4                	test   %ah,%ah
4225e1:	74 1a                	je     0x4225fd
4225e3:	a9 00 00 ff 00       	test   $0xff0000,%eax
4225e8:	74 0e                	je     0x4225f8
4225ea:	a9 00 00 00 ff       	test   $0xff000000,%eax
4225ef:	74 02                	je     0x4225f3
4225f1:	eb cd                	jmp    0x4225c0
4225f3:	8d 79 ff             	lea    -0x1(%ecx),%edi
4225f6:	eb 0d                	jmp    0x422605
4225f8:	8d 79 fe             	lea    -0x2(%ecx),%edi
4225fb:	eb 08                	jmp    0x422605
4225fd:	8d 79 fd             	lea    -0x3(%ecx),%edi
422600:	eb 03                	jmp    0x422605
422602:	8d 79 fc             	lea    -0x4(%ecx),%edi
422605:	8b 4c 24 0c          	mov    0xc(%esp),%ecx
422609:	f7 c1 03 00 00 00    	test   $0x3,%ecx
42260f:	74 1d                	je     0x42262e
422611:	8a 11                	mov    (%ecx),%dl
422613:	83 c1 01             	add    $0x1,%ecx
422616:	84 d2                	test   %dl,%dl
422618:	74 66                	je     0x422680
42261a:	88 17                	mov    %dl,(%edi)
42261c:	83 c7 01             	add    $0x1,%edi
42261f:	f7 c1 03 00 00 00    	test   $0x3,%ecx
422625:	75 ea                	jne    0x422611
422627:	eb 05                	jmp    0x42262e
422629:	89 17                	mov    %edx,(%edi)
42262b:	83 c7 04             	add    $0x4,%edi
42262e:	ba ff fe fe 7e       	mov    $0x7efefeff,%edx
422633:	8b 01                	mov    (%ecx),%eax
422635:	03 d0                	add    %eax,%edx
422637:	83 f0 ff             	xor    $0xffffffff,%eax
42263a:	33 c2                	xor    %edx,%eax
42263c:	8b 11                	mov    (%ecx),%edx
42263e:	83 c1 04             	add    $0x4,%ecx
422641:	a9 00 01 01 81       	test   $0x81010100,%eax
422646:	74 e1                	je     0x422629
422648:	84 d2                	test   %dl,%dl
42264a:	74 34                	je     0x422680
42264c:	84 f6                	test   %dh,%dh
42264e:	74 27                	je     0x422677
422650:	f7 c2 00 00 ff 00    	test   $0xff0000,%edx
422656:	74 12                	je     0x42266a
422658:	f7 c2 00 00 00 ff    	test   $0xff000000,%edx
42265e:	74 02                	je     0x422662
422660:	eb c7                	jmp    0x422629
422662:	89 17                	mov    %edx,(%edi)
422664:	8b 44 24 08          	mov    0x8(%esp),%eax
422668:	5f                   	pop    %edi
422669:	c3                   	ret
42266a:	66 89 17             	mov    %dx,(%edi)
42266d:	8b 44 24 08          	mov    0x8(%esp),%eax
422671:	c6 47 02 00          	movb   $0x0,0x2(%edi)
422675:	5f                   	pop    %edi
422676:	c3                   	ret
422677:	66 89 17             	mov    %dx,(%edi)
42267a:	8b 44 24 08          	mov    0x8(%esp),%eax
42267e:	5f                   	pop    %edi
42267f:	c3                   	ret
422680:	88 17                	mov    %dl,(%edi)
422682:	8b 44 24 08          	mov    0x8(%esp),%eax