47cf8e:	33 db                	xor    %ebx,%ebx
47cf90:	0b c9                	or     %ecx,%ecx
47cf92:	74 2e                	je     0x47cfc2
47cf94:	78 2c                	js     0x47cfc2
47cf96:	ac                   	lods   %ds:(%esi),%al
47cf97:	3c e8                	cmp    $0xe8,%al
47cf99:	74 0a                	je     0x47cfa5
47cf9b:	eb 00                	jmp    0x47cf9d
47cf9d:	3c e9                	cmp    $0xe9,%al
47cf9f:	74 04                	je     0x47cfa5
47cfa1:	43                   	inc    %ebx
47cfa2:	49                   	dec    %ecx
47cfa3:	eb eb                	jmp    0x47cf90
47cfa5:	8b 06                	mov    (%esi),%eax
47cfa7:	eb 00                	jmp    0x47cfa9
47cfa9:	80 3e 00             	cmpb   $0x0,(%esi)
47cfac:	75 f3                	jne    0x47cfa1
47cfae:	24 00                	and    $0x0,%al
47cfb0:	c1 c0 18             	rol    $0x18,%eax
47cfb3:	2b c3                	sub    %ebx,%eax
47cfb5:	89 06                	mov    %eax,(%esi)
47cfb7:	83 c3 05             	add    $0x5,%ebx
47cfba:	83 c6 04             	add    $0x4,%esi
47cfbd:	83 e9 05             	sub    $0x5,%ecx
47cfc0:	eb ce                	jmp    0x47cf90
47cfc2:	5b                   	pop    %ebx
47cfc3:	5e                   	pop    %esi
47cfc4:	59                   	pop    %ecx
47cfc5:	58                   	pop    %eax
47cfc6:	eb 08                	jmp    0x47cfd0
47cfd0:	8b c8                	mov    %eax,%ecx
47cfd2:	8b 3e                	mov    (%esi),%edi
47cfd4:	03 bd 88 04 00 00    	add    0x488(%ebp),%edi
47cfda:	8b b5 44 01 00 00    	mov    0x144(%ebp),%esi
47cfe0:	c1 f9 02             	sar    $0x2,%ecx
47cfe3:	f3 a5                	rep movsl %ds:(%esi),%es:(%edi)
47cfe5:	8b c8                	mov    %eax,%ecx
47cfe7:	83 e1 03             	and    $0x3,%ecx
47cfea:	f3 a4                	rep movsb %ds:(%esi),%es:(%edi)
47cfec:	5e                   	pop    %esi
47cfed:	68 00 80 00 00       	push   $0x8000
47cff2:	6a 00                	push   $0x0
47cff4:	ff b5 44 01 00 00    	push   0x144(%ebp)
47cffa:	ff 55 5e             	call   *0x5e(%ebp)
47cffd:	83 c6 0c             	add    $0xc,%esi
47d000:	83 3e 00             	cmpl   $0x0,(%esi)
47d003:	0f 85 2f ff ff ff    	jne    0x47cf38
47d009:	68 00 80 00 00       	push   $0x8000
47d00e:	6a 00                	push   $0x0
47d010:	ff b5 48 01 00 00    	push   0x148(%ebp)
47d016:	ff 55 5e             	call   *0x5e(%ebp)
47d019:	8b 9d 95 05 00 00    	mov    0x595(%ebp),%ebx
47d01f:	0b db                	or     %ebx,%ebx
47d021:	74 08                	je     0x47d02b
47d023:	8b 03                	mov    (%ebx),%eax
47d025:	87 85 99 05 00 00    	xchg   %eax,0x599(%ebp)
47d02b:	8b 95 88 04 00 00    	mov    0x488(%ebp),%edx
47d031:	8b 85 91 05 00 00    	mov    0x591(%ebp),%eax
47d037:	2b d0                	sub    %eax,%edx
47d039:	74 79                	je     0x47d0b4
47d03b:	8b c2                	mov    %edx,%eax
47d03d:	c1 e8 10             	shr    $0x10,%eax
47d040:	33 db                	xor    %ebx,%ebx
47d042:	8b b5 9d 05 00 00    	mov    0x59d(%ebp),%esi
47d048:	03 b5 88 04 00 00    	add    0x488(%ebp),%esi
47d04e:	83 3e 00             	cmpl   $0x0,(%esi)
47d051:	74 61                	je     0x47d0b4
47d053:	8b 4e 04             	mov    0x4(%esi),%ecx
47d056:	83 e9 08             	sub    $0x8,%ecx
47d059:	d1 e9                	shr    $1,%ecx
47d05b:	8b 3e                	mov    (%esi),%edi
47d05d:	03 bd 88 04 00 00    	add    0x488(%ebp),%edi
47d063:	83 c6 08             	add    $0x8,%esi
47d066:	66 8b 1e             	mov    (%esi),%bx
47d069:	c1 eb 0c             	shr    $0xc,%ebx
47d06c:	83 fb 01             	cmp    $0x1,%ebx
47d06f:	74 0c                	je     0x47d07d
47d071:	83 fb 02             	cmp    $0x2,%ebx
47d074:	74 16                	je     0x47d08c
47d076:	83 fb 03             	cmp    $0x3,%ebx
47d079:	74 20                	je     0x47d09b
47d07b:	eb 2c                	jmp    0x47d0a9
47d07d:	66 8b 1e             	mov    (%esi),%bx
47d080:	81 e3 ff 0f 00 00    	and    $0xfff,%ebx
47d086:	66 01 04 1f          	add    %ax,(%edi,%ebx,1)
47d08a:	eb 1d                	jmp    0x47d0a9
47d08c:	66 8b 1e             	mov    (%esi),%bx
47d08f:	81 e3 ff 0f 00 00    	and    $0xfff,%ebx
47d095:	66 01 14 1f          	add    %dx,(%edi,%ebx,1)
47d099:	eb 0e                	jmp    0x47d0a9
47d09b:	66 8b 1e             	mov    (%esi),%bx
47d09e:	81 e3 ff 0f 00 00    	and    $0xfff,%ebx
47d0a4:	01 14 1f             	add    %edx,(%edi,%ebx,1)
47d0a7:	eb 00                	jmp    0x47d0a9
47d0a9:	66 83 0e ff          	orw    $0xffff,(%esi)
47d0ad:	83 c6 02             	add    $0x2,%esi
47d0b0:	e2 b4                	loop   0x47d066
47d0b2:	eb 9a                	jmp    0x47d04e
47d0b4:	8b 95 88 04 00 00    	mov    0x488(%ebp),%edx
47d0ba:	8b b5 a5 05 00 00    	mov    0x5a5(%ebp),%esi
47d0c0:	0b f6                	or     %esi,%esi
47d0c2:	74 11                	je     0x47d0d5
47d0c4:	03 f2                	add    %edx,%esi
47d0c6:	ad                   	lods   %ds:(%esi),%eax
47d0c7:	0b c0                	or     %eax,%eax
47d0c9:	74 0a                	je     0x47d0d5
47d0cb:	03 c2                	add    %edx,%eax
47d0cd:	8b f8                	mov    %eax,%edi
47d0cf:	66 ad                	lods   %ds:(%esi),%ax
47d0d1:	66 ab                	stos   %ax,%es:(%edi)
47d0d3:	eb f1                	jmp    0x47d0c6
47d0d5:	be bc 32 00 00       	mov    $0x32bc,%esi
47d0da:	8b 95 88 04 00 00    	mov    0x488(%ebp),%edx
47d0e0:	03 f2                	add    %edx,%esi
47d0e2:	8b 46 0c             	mov    0xc(%esi),%eax
47d0e5:	85 c0                	test   %eax,%eax
47d0e7:	0f 84 0d 01 00 00    	je     0x47d1fa
47d0ed:	03 c2                	add    %edx,%eax
47d0ef:	8b d8                	mov    %eax,%ebx
47d0f1:	50                   	push   %eax
47d0f2:	ff 95 a9 0f 00 00    	call   *0xfa9(%ebp)
47d0f8:	85 c0                	test   %eax,%eax
47d0fa:	75 07                	jne    0x47d103
47d0fc:	53                   	push   %ebx
47d0fd:	ff 95 ad 0f 00 00    	call   *0xfad(%ebp)
47d103:	89 85 a9 05 00 00    	mov    %eax,0x5a9(%ebp)
47d109:	c7 85 ad 05 00 00 00 	movl   $0x0,0x5ad(%ebp)
47d110:	00 00 00
47d113:	8b 95 88 04 00 00    	mov    0x488(%ebp),%edx
47d119:	8b 06                	mov    (%esi),%eax
47d11b:	85 c0                	test   %eax,%eax
47d11d:	75 03                	jne    0x47d122
47d11f:	8b 46 10             	mov    0x10(%esi),%eax
47d122:	03 c2                	add    %edx,%eax
47d124:	03 85 ad 05 00 00    	add    0x5ad(%ebp),%eax
47d12a:	8b 18                	mov    (%eax),%ebx
47d12c:	8b 7e 10             	mov    0x10(%esi),%edi
47d12f:	03 fa                	add    %edx,%edi
47d131:	03 bd ad 05 00 00    	add    0x5ad(%ebp),%edi
47d137:	85 db                	test   %ebx,%ebx
47d139:	0f 84 a5 00 00 00    	je     0x47d1e4
47d13f:	f7 c3 00 00 00 80    	test   $0x80000000,%ebx
47d145:	75 04                	jne    0x47d14b
47d147:	03 da                	add    %edx,%ebx
47d149:	43                   	inc    %ebx
47d14a:	43                   	inc    %ebx
47d14b:	53                   	push   %ebx
47d14c:	81 e3 ff ff ff 7f    	and    $0x7fffffff,%ebx
47d152:	53                   	push   %ebx
47d153:	ff b5 a9 05 00 00    	push   0x5a9(%ebp)
47d159:	ff 95 a5 0f 00 00    	call   *0xfa5(%ebp)
47d15f:	85 c0                	test   %eax,%eax
47d161:	5b                   	pop    %ebx
47d162:	75 72                	jne    0x47d1d6
47d164:	f7 c3 00 00 00 80    	test   $0x80000000,%ebx
47d16a:	75 19                	jne    0x47d185
47d16c:	57                   	push   %edi
47d16d:	8b 46 0c             	mov    0xc(%esi),%eax
47d170:	03 85 88 04 00 00    	add    0x488(%ebp),%eax
47d176:	50                   	push   %eax
47d177:	53                   	push   %ebx
47d178:	8d 85 db 04 00 00    	lea    0x4db(%ebp),%eax
47d17e:	50                   	push   %eax
47d17f:	57                   	push   %edi
47d180:	e9 12 01 00 00       	jmp    0x47d297
47d185:	81 e3 ff ff ff 7f    	and    $0x7fffffff,%ebx
47d18b:	8b 85 8c 04 00 00    	mov    0x48c(%ebp),%eax
47d191:	39 85 a9 05 00 00    	cmp    %eax,0x5a9(%ebp)
47d197:	75 24                	jne    0x47d1bd
47d199:	57                   	push   %edi
47d19a:	8b d3                	mov    %ebx,%edx
47d19c:	4a                   	dec    %edx
47d19d:	c1 e2 02             	shl    $0x2,%edx
47d1a0:	8b 9d a9 05 00 00    	mov    0x5a9(%ebp),%ebx
47d1a6:	8b 7b 3c             	mov    0x3c(%ebx),%edi
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