47d1a9:	8b 7c 3b 78          	mov    0x78(%ebx,%edi,1),%edi
47d1ad:	03 5c 3b 1c          	add    0x1c(%ebx,%edi,1),%ebx
47d1b1:	8b 04 13             	mov    (%ebx,%edx,1),%eax
47d1b4:	03 85 a9 05 00 00    	add    0x5a9(%ebp),%eax
47d1ba:	5f                   	pop    %edi
47d1bb:	eb 19                	jmp    0x47d1d6
47d1bd:	57                   	push   %edi
47d1be:	8b 46 0c             	mov    0xc(%esi),%eax
47d1c1:	03 85 88 04 00 00    	add    0x488(%ebp),%eax
47d1c7:	50                   	push   %eax
47d1c8:	53                   	push   %ebx
47d1c9:	8d 85 2c 05 00 00    	lea    0x52c(%ebp),%eax
47d1cf:	50                   	push   %eax
47d1d0:	57                   	push   %edi
47d1d1:	e9 c1 00 00 00       	jmp    0x47d297
47d1d6:	89 07                	mov    %eax,(%edi)
47d1d8:	83 85 ad 05 00 00 04 	addl   $0x4,0x5ad(%ebp)
47d1df:	e9 2f ff ff ff       	jmp    0x47d113
47d1e4:	89 06                	mov    %eax,(%esi)
47d1e6:	89 46 0c             	mov    %eax,0xc(%esi)
47d1e9:	89 46 10             	mov    %eax,0x10(%esi)
47d1ec:	83 c6 14             	add    $0x14,%esi
47d1ef:	8b 95 88 04 00 00    	mov    0x488(%ebp),%edx
47d1f5:	e9 e8 fe ff ff       	jmp    0x47d0e2
47d1fa:	8b b5 88 04 00 00    	mov    0x488(%ebp),%esi
47d200:	8b 7e 3c             	mov    0x3c(%esi),%edi
47d203:	03 fe                	add    %esi,%edi
47d205:	51                   	push   %ecx
47d206:	54                   	push   %esp
47d207:	51                   	push   %ecx
47d208:	54                   	push   %esp
47d209:	6a 04                	push   $0x4
47d20b:	ff 77 54             	push   0x54(%edi)
47d20e:	56                   	push   %esi
47d20f:	ff 55 6a             	call   *0x6a(%ebp)
47d212:	ff 77 54             	push   0x54(%edi)
47d215:	56                   	push   %esi
47d216:	0f b7 4f 06          	movzwl 0x6(%edi),%ecx
47d21a:	0f b7 47 14          	movzwl 0x14(%edi),%eax
47d21e:	8d 7c 07 f0          	lea    -0x10(%edi,%eax,1),%edi
47d222:	8d b5 c5 05 00 00    	lea    0x5c5(%ebp),%esi
47d228:	ad                   	lods   %ds:(%esi),%eax
47d229:	85 c0                	test   %eax,%eax
47d22b:	74 40                	je     0x47d26d
47d22d:	83 c7 28             	add    $0x28,%edi
47d230:	3b 47 0c             	cmp    0xc(%edi),%eax
47d233:	e0 f8                	loopne 0x47d22d
47d235:	75 36                	jne    0x47d26d
47d237:	41                   	inc    %ecx
47d238:	51                   	push   %ecx
47d239:	56                   	push   %esi
47d23a:	6a 01                	push   $0x1
47d23c:	f6 46 07 e0          	testb  $0xe0,0x7(%esi)
47d240:	74 03                	je     0x47d245
47d242:	d1 24 24             	shll   $1,(%esp)
47d245:	f6 46 07 80          	testb  $0x80,0x7(%esi)
47d249:	74 03                	je     0x47d24e
47d24b:	d1 24 24             	shll   $1,(%esp)
47d24e:	f6 46 07 20          	testb  $0x20,0x7(%esi)
47d252:	74 04                	je     0x47d258
47d254:	c1 24 24 04          	shll   $0x4,(%esp)
47d258:	ff 77 08             	push   0x8(%edi)
47d25b:	03 85 88 04 00 00    	add    0x488(%ebp),%eax
47d261:	50                   	push   %eax
47d262:	ff 55 6a             	call   *0x6a(%ebp)
47d265:	59                   	pop    %ecx
47d266:	ad                   	lods   %ds:(%esi),%eax
47d267:	ad                   	lods   %ds:(%esi),%eax
47d268:	89 47 24             	mov    %eax,0x24(%edi)
47d26b:	e2 bb                	loop   0x47d228
47d26d:	ff 55 6a             	call   *0x6a(%ebp)
47d270:	59                   	pop    %ecx
47d271:	b8 e1 14 00 00       	mov    $0x14e1,%eax
47d276:	50                   	push   %eax
47d277:	03 85 88 04 00 00    	add    0x488(%ebp),%eax
47d27d:	59                   	pop    %ecx
47d27e:	0b c9                	or     %ecx,%ecx
47d280:	89 85 0e 04 00 00    	mov    %eax,0x40e(%ebp)
47d286:	61                   	popa
47d287:	75 08                	jne    0x47d291
47d289:	b8 01 00 00 00       	mov    $0x1,%eax
47d28e:	c2 0c 00             	ret    $0xc
47d291:	68 00 00 00 00       	push   $0x0
47d296:	c3                   	ret
47d297:	8b 85 8c 04 00 00    	mov    0x48c(%ebp),%eax
47d29d:	8d 8d a1 04 00 00    	lea    0x4a1(%ebp),%ecx
47d2a3:	51                   	push   %ecx
47d2a4:	50                   	push   %eax
47d2a5:	ff 95 a5 0f 00 00    	call   *0xfa5(%ebp)
47d2ab:	89 85 b1 05 00 00    	mov    %eax,0x5b1(%ebp)
47d2b1:	8d 85 ad 04 00 00    	lea    0x4ad(%ebp),%eax
47d2b7:	50                   	push   %eax
47d2b8:	ff 95 ad 0f 00 00    	call   *0xfad(%ebp)
47d2be:	89 85 90 04 00 00    	mov    %eax,0x490(%ebp)
47d2c4:	8d 8d b8 04 00 00    	lea    0x4b8(%ebp),%ecx
47d2ca:	51                   	push   %ecx
47d2cb:	50                   	push   %eax
47d2cc:	ff 95 a5 0f 00 00    	call   *0xfa5(%ebp)
47d2d2:	89 85 b5 05 00 00    	mov    %eax,0x5b5(%ebp)
47d2d8:	8b 85 90 04 00 00    	mov    0x490(%ebp),%eax
47d2de:	8d 8d c4 04 00 00    	lea    0x4c4(%ebp),%ecx
47d2e4:	51                   	push   %ecx
47d2e5:	50                   	push   %eax
47d2e6:	ff 95 a5 0f 00 00    	call   *0xfa5(%ebp)
47d2ec:	ff d0                	call   *%eax
47d2ee:	83 c4 10             	add    $0x10,%esp
47d2f1:	5f                   	pop    %edi
47d2f2:	6a 30                	push   $0x30
47d2f4:	8d 9d ce 04 00 00    	lea    0x4ce(%ebp),%ebx
47d2fa:	53                   	push   %ebx
47d2fb:	57                   	push   %edi
47d2fc:	6a 00                	push   $0x0
47d2fe:	ff 95 b5 05 00 00    	call   *0x5b5(%ebp)
47d304:	6a ff                	push   $0xffffffff
47d306:	ff 95 b1 05 00 00    	call   *0x5b1(%ebp)
47d318:	6b 65 72 6e          	imul   $0x6e,0x72(%ebp),%esp
47d31c:	65 6c                	gs insb (%dx),%es:(%edi)
47d31e:	33 32                	xor    (%edx),%esi
47d320:	2e 64 6c             	cs fs insb (%dx),%es:(%edi)
47d323:	6c                   	insb   (%dx),%es:(%edi)
47d324:	00 45 78             	add    %al,0x78(%ebp)
47d327:	69 74 50 72 6f 63 65 	imul   $0x7365636f,0x72(%eax,%edx,2),%esi
47d32e:	73
47d32f:	73 00                	jae    0x47d331
47d331:	75 73                	jne    0x47d3a6
47d333:	65 72 33             	gs jb  0x47d369
47d336:	32 2e                	xor    (%esi),%ch
47d338:	64 6c                	fs insb (%dx),%es:(%edi)
47d33a:	6c                   	insb   (%dx),%es:(%edi)
47d33b:	00 4d 65             	add    %cl,0x65(%ebp)
47d33e:	73 73                	jae    0x47d3b3
47d340:	61                   	popa
47d341:	67 65 42             	addr16 gs inc %edx
47d344:	6f                   	outsl  %ds:(%esi),(%dx)
47d345:	78 41                	js     0x47d388
47d347:	00 77 73             	add    %dh,0x73(%edi)
47d34a:	70 72                	jo     0x47d3be
47d34c:	69 6e 74 66 41 00 4c 	imul   $0x4c004166,0x74(%esi),%ebp
47d353:	4f                   	dec    %edi
47d354:	41                   	inc    %ecx
47d355:	44                   	inc    %esp
47d356:	45                   	inc    %ebp
47d357:	52                   	push   %edx
47d358:	20 45 52             	and    %al,0x52(%ebp)
47d35b:	52                   	push   %edx
47d35c:	4f                   	dec    %edi
47d35d:	52                   	push   %edx
47d35e:	00 54 68 65          	add    %dl,0x65(%eax,%ebp,2)
47d362:	20 70 72             	and    %dh,0x72(%eax)
47d365:	6f                   	outsl  %ds:(%esi),(%dx)
47d366:	63 65 64             	arpl   %esp,0x64(%ebp)
47d369:	75 72                	jne    0x47d3dd
47d36b:	65 20 65 6e          	and    %ah,%gs:0x6e(%ebp)
47d36f:	74 72                	je     0x47d3e3
47d371:	79 20                	jns    0x47d393
47d373:	70 6f                	jo     0x47d3e4
47d375:	69 6e 74 20 25 73 20 	imul   $0x20732520,0x74(%esi),%ebp
47d37c:	63 6f 75             	arpl   %ebp,0x75(%edi)
47d37f:	6c                   	insb   (%dx),%es:(%edi)
47d380:	64 20 6e 6f          	and    %ch,%fs:0x6f(%esi)
47d384:	74 20                	je     0x47d3a6
47d386:	62 65 20             	bound  %esp,0x20(%ebp)
47d389:	6c                   	insb   (%dx),%es:(%edi)
47d38a:	6f                   	outsl  %ds:(%esi),(%dx)
47d38b:	63 61 74             	arpl   %esp,0x74(%ecx)
47d38e:	65 64 20 69 6e       	gs and %ch,%fs:0x6e(%ecx)
47d393:	20 74 68 65          	and    %dh,0x65(%eax,%ebp,2)
47d397:	20 64 79 6e          	and    %ah,0x6e(%ecx,%edi,2)
47d39b:	61                   	popa
47d39c:	6d                   	insl   (%dx),%es:(%edi)
47d39d:	69 63 20 6c 69 6e 6b 	imul   $0x6b6e696c,0x20(%ebx),%esp
47d3a4:	20 6c 69 62          	and    %ch,0x62(%ecx,%ebp,2)
47d3a8:	72 61                	jb     0x47d40b
47d3aa:	72 79                	jb     0x47d425
47d3ac:	20 25 73 00 54 68    	and    %ah,0x68540073
47d3b2:	65 20 6f 72          	and    %ch,%gs:0x72(%edi)
47d3b6:	64 69 6e 61 6c 20 25 	imul   $0x7525206c,%fs:0x61(%esi),%ebp
47d3bd:	75
47d3be:	20 63 6f             	and    %ah,0x6f(%ebx)
47d3c1:	75 6c                	jne    0x47d42f
47d3c3:	64 20 6e 6f          	and    %ch,%fs:0x6f(%esi)
47d3c7:	74 20                	je     0x47d3e9
47d3c9:	62 65 20             	bound  %esp,0x20(%ebp)
47d3cc:	6c                   	insb   (%dx),%es:(%edi)
47d3cd:	6f                   	outsl  %ds:(%esi),(%dx)
47d3ce:	63 61 74             	arpl   %esp,0x74(%ecx)
47d3d1:	65 64 20 69 6e       	gs and %ch,%fs:0x6e(%ecx)
47d3d6:	20 74 68 65          	and    %dh,0x65(%eax,%ebp,2)
47d3da:	20 64 79 6e          	and    %ah,0x6e(%ecx,%edi,2)
47d3de:	61                   	popa
47d3df:	6d                   	insl   (%dx),%es:(%edi)
47d3e0:	69 63 20 6c 69 6e 6b 	imul   $0x6b6e696c,0x20(%ebx),%esp
47d3e7:	20 6c 69 62          	and    %ch,0x62(%ecx,%ebp,2)
47d3eb:	72 61                	jb     0x47d44e
47d3ed:	72 79                	jb     0x47d468
47d3ef:	20 25 73 00 52 ba    	and    %ah,0xba520073
47d3f5:	8e 24 3b             	mov    (%ebx,%edi,1),%fs
47d3f8:	9c                   	pushf
47d3f9:	ac                   	lods   %ds:(%esi),%al
47d3fa:	0a c0                	or     %al,%al
47d3fc:	74 14                	je     0x47d412
47d3fe:	32 d0                	xor    %al,%dl
47d400:	b0 08                	mov    $0x8,%al
47d402:	d1 ea                	shr    $1,%edx
47d404:	73 06                	jae    0x47d40c
47d406:	81 f2 9a f3 a7 c1    	xor    $0xc1a7f39a,%edx
47d40c:	fe c8                	dec    %al
47d40e:	75 f2                	jne    0x47d402
47d410:	eb e7                	jmp    0x47d3f9
47d412:	92                   	xchg   %eax,%edx
47d413:	5a                   	pop    %edx
47d414:	c3                   	ret
47d415:	00 00                	add    %al,(%eax)
47d417:	40                   	inc    %eax
47d420:	00 00                	add    %al,(%eax)
47d422:	50                   	push   %eax
47d447:	00 00                	add    %al,(%eax)
47d449:	00 10                	add    %dl,(%eax)
47d44b:	00 00                	add    %al,(%eax)
47d44d:	00 1e                	add    %bl,(%esi)
47d44f:	00 00                	add    %al,(%eax)
47d451:	20 00                	and    %al,(%eax)
47d453:	00 60 00             	add    %ah,0x0(%eax)
47d456:	30 00                	xor    %al,(%eax)
47d458:	00 00                	add    %al,(%eax)
47d45a:	0a 00                	or     (%eax),%al
47d45c:	00 40 00             	add    %al,0x0(%eax)
47d45f:	00 40 00             	add    %al,0x0(%eax)
47d462:	40                   	inc    %eax
47d463:	00 00                	add    %al,(%eax)
47d465:	00 0a                	add    %cl,(%edx)
47d467:	00 00                	add    %al,(%eax)
47d469:	40                   	inc    %eax
47d46a:	00 00                	add    %al,(%eax)
47d46c:	c0 00 50             	rolb   $0x50,(%eax)
47d46f:	00 00                	add    %al,(%eax)
47d471:	00 04 00             	add    %al,(%eax,%eax,1)
47d474:	00 40 00             	add    %al,0x0(%eax)
47d477:	00 42 00             	add    %al,0x0(%edx)
47d536:	00 00                	add    %al,(%eax)
47d538:	00 8b 44 24 10 81    	add    %cl,-0x7eefdbbc(%ebx)
47d53e:	ec                   	in     (%dx),%al
47d53f:	54                   	push   %esp
47d540:	03 00                	add    (%eax),%eax
47d542:	00 8d 4c 24 04 50    	add    %cl,0x5004244c(%ebp)
47d548:	e8 a8 03 00 00       	call   0x47d8f5
47d54d:	8b 8c 24 5c 03 00 00 	mov    0x35c(%esp),%ecx
47d554:	8b 94 24 58 03 00 00 	mov    0x358(%esp),%edx
47d55b:	51                   	push   %ecx
47d55c:	52                   	push   %edx
47d55d:	8d 4c 24 0c          	lea    0xc(%esp),%ecx
47d561:	e8 0d 04 00 00       	call   0x47d973
47d566:	84 c0                	test   %al,%al
47d568:	75 0a                	jne    0x47d574
47d56a:	83 c8 ff             	or     $0xffffffff,%eax
47d56d:	81 c4 54 03 00 00    	add    $0x354,%esp
47d573:	c3                   	ret
47d574:	8b 8c 24 60 03 00 00 	mov    0x360(%esp),%ecx
47d57b:	8d 04 24             	lea    (%esp),%eax
47d57e:	50                   	push   %eax
47d57f:	51                   	push   %ecx
47d580:	8d 4c 24 0c          	lea    0xc(%esp),%ecx
47d584:	e8 e8 05 00 00       	call   0x47db71
47d589:	84 c0                	test   %al,%al
47d58b:	75 0a                	jne    0x47d597
47d58d:	83 c8 ff             	or     $0xffffffff,%eax
47d590:	81 c4 54 03 00 00    	add    $0x354,%esp
47d596:	c3                   	ret
47d597:	8b 04 24             	mov    (%esp),%eax
47d59a:	81 c4 54 03 00 00    	add    $0x354,%esp
47d5a0:	c2 10 00             	ret    $0x10
47d5a3:	00 01                	add    %al,(%ecx)
47d5a5:	02 03                	add    (%ebx),%al
47d5a7:	04 05                	add    $0x5,%al
47d5a9:	06                   	push   %es
47d5aa:	07                   	pop    %es
47d5ab:	08 0a                	or     %cl,(%edx)
47d5ad:	0c 0e                	or     $0xe,%al
47d5af:	10 14 18             	adc    %dl,(%eax,%ebx,1)
47d5b2:	1c 20                	sbb    $0x20,%al
47d5b4:	28 30                	sub    %dh,(%eax)
47d5b6:	38 40 50             	cmp    %al,0x50(%eax)
47d5b9:	60                   	pusha
47d5ba:	70 80                	jo     0x47d53c
47d5bc:	a0 c0 e0 00 00       	mov    0xe0c0,%al
47d5c1:	00 00                	add    %al,(%eax)
47d5c3:	00 00                	add    %al,(%eax)
47d5c5:	00 00                	add    %al,(%eax)
47d5c7:	01 01                	add    %eax,(%ecx)
47d5c9:	01 01                	add    %eax,(%ecx)
47d5cb:	02 02                	add    (%edx),%al
47d5cd:	02 02                	add    (%edx),%al
47d5cf:	03 03                	add    (%ebx),%eax
47d5d1:	03 03                	add    (%ebx),%eax
47d5d3:	04 04                	add    $0x4,%al
47d5d5:	04 04                	add    $0x4,%al
47d5d7:	05 05 05 05 00       	add    $0x50505,%eax
47d5dc:	00 00                	add    %al,(%eax)
47d5de:	00 01                	add    %al,(%ecx)
47d5e0:	01 02                	add    %eax,(%edx)
47d5e2:	02 03                	add    (%ebx),%al
47d5e4:	03 04 04             	add    (%esp,%eax,1),%eax
47d5e7:	05 05 06 06 07       	add    $0x7060605,%eax
47d5ec:	07                   	pop    %es
47d5ed:	08 08                	or     %cl,(%eax)
47d5ef:	09 09                	or     %ecx,(%ecx)
47d5f1:	0a 0a                	or     (%edx),%cl
47d5f3:	0b 0b                	or     (%ebx),%ecx
47d5f5:	0c 0c                	or     $0xc,%al
47d5f7:	0d 0d 0e 0e 0f       	or     $0xf0e0e0d,%eax
47d5fc:	0f 10 10             	movups (%eax),%xmm2
47d5ff:	11 11                	adc    %edx,(%ecx)
47d601:	11 11                	adc    %edx,(%ecx)
47d603:	11 11                	adc    %edx,(%ecx)
47d605:	11 11                	adc    %edx,(%ecx)
47d607:	11 11                	adc    %edx,(%ecx)
47d609:	11 11                	adc    %edx,(%ecx)
47d60b:	11 11                	adc    %edx,(%ecx)
47d60d:	12 12                	adc    (%edx),%dl
47d60f:	12 12                	adc    (%edx),%dl
47d611:	12 12                	adc    (%edx),%dl
47d613:	12 12                	adc    (%edx),%dl
47d615:	51                   	push   %ecx
47d616:	8b d1                	mov    %ecx,%edx
47d618:	56                   	push   %esi
47d619:	b9 08 00 00 00       	mov    $0x8,%ecx
47d61e:	57                   	push   %edi
47d61f:	39 4a 04             	cmp    %ecx,0x4(%edx)
47d622:	72 35                	jb     0x47d659
47d624:	53                   	push   %ebx
47d625:	be f8 ff ff ff       	mov    $0xfffffff8,%esi
47d62a:	8b 02                	mov    (%edx),%eax
47d62c:	8a 18                	mov    (%eax),%bl
47d62e:	40                   	inc    %eax
47d62f:	88 5c 24 0c          	mov    %bl,0xc(%esp)
47d633:	89 02                	mov    %eax,(%edx)
47d635:	8b 42 08             	mov    0x8(%edx),%eax
47d638:	8b 7c 24 0c          	mov    0xc(%esp),%edi
47d63c:	c1 e0 08             	shl    $0x8,%eax
47d63f:	81 e7 ff 00 00 00    	and    $0xff,%edi
47d645:	0b c7                	or     %edi,%eax
47d647:	8b 7a 04             	mov    0x4(%edx),%edi
47d64a:	03 fe                	add    %esi,%edi
47d64c:	89 42 08             	mov    %eax,0x8(%edx)
47d64f:	8b c7                	mov    %edi,%eax
47d651:	89 7a 04             	mov    %edi,0x4(%edx)
47d654:	3b c1                	cmp    %ecx,%eax
47d656:	73 d2                	jae    0x47d62a
47d658:	5b                   	pop    %ebx
47d659:	8b 72 04             	mov    0x4(%edx),%esi