51ff90:	59                   	pop    %ecx
51ff91:	59                   	pop    %ecx
51ff92:	5d                   	pop    %ebp
51ff93:	c3                   	ret
51ff94:	55                   	push   %ebp
51ff95:	8b ec                	mov    %esp,%ebp
51ff97:	6a 00                	push   $0x0
51ff99:	53                   	push   %ebx
51ff9a:	8b d8                	mov    %eax,%ebx
51ff9c:	33 c0                	xor    %eax,%eax
51ff9e:	55                   	push   %ebp
51ff9f:	68 1c 00 52 00       	push   $0x52001c
51ffa4:	64 ff 30             	push   %fs:(%eax)
51ffa7:	64 89 20             	mov    %esp,%fs:(%eax)
51ffaa:	80 bb d8 05 00 00 00 	cmpb   $0x0,0x5d8(%ebx)
51ffb1:	74 53                	je     0x520006
51ffb3:	8d 55 fc             	lea    -0x4(%ebp),%edx
51ffb6:	8b 83 20 05 00 00    	mov    0x520(%ebx),%eax
51ffbc:	e8 0b 88 f2 ff       	call   0x4487cc
51ffc1:	8b 45 fc             	mov    -0x4(%ebp),%eax
51ffc4:	ba 32 00 00 00       	mov    $0x32,%edx
51ffc9:	e8 12 97 ee ff       	call   0x4096e0
51ffce:	3b 83 e8 05 00 00    	cmp    0x5e8(%ebx),%eax
51ffd4:	74 16                	je     0x51ffec
51ffd6:	8b d0                	mov    %eax,%edx
51ffd8:	8b 83 24 05 00 00    	mov    0x524(%ebx),%eax
51ffde:	e8 59 5b f8 ff       	call   0x4a5b3c
51ffe3:	8b d3                	mov    %ebx,%edx
51ffe5:	8b c3                	mov    %ebx,%eax
51ffe7:	e8 f8 01 00 00       	call   0x5201e4
51ffec:	b2 01                	mov    $0x1,%dl
51ffee:	8b 83 ec 04 00 00    	mov    0x4ec(%ebx),%eax
51fff4:	8b 08                	mov    (%eax),%ecx
51fff6:	ff 51 64             	call   *0x64(%ecx)
51fff9:	b2 01                	mov    $0x1,%dl
51fffb:	8b 83 3c 03 00 00    	mov    0x33c(%ebx),%eax
520001:	8b 08                	mov    (%eax),%ecx
520003:	ff 51 64             	call   *0x64(%ecx)
520006:	33 c0                	xor    %eax,%eax
520008:	5a                   	pop    %edx
520009:	59                   	pop    %ecx
52000a:	59                   	pop    %ecx
52000b:	64 89 10             	mov    %edx,%fs:(%eax)
52000e:	68 23 00 52 00       	push   $0x520023
520013:	8d 45 fc             	lea    -0x4(%ebp),%eax
520016:	e8 4d 48 ee ff       	call   0x404868
52001b:	c3                   	ret
52001c:	e9 eb 41 ee ff       	jmp    0x40420c
520021:	eb f0                	jmp    0x520013
520023:	5b                   	pop    %ebx
520024:	59                   	pop    %ecx
520025:	5d                   	pop    %ebp
520026:	c3                   	ret
520027:	90                   	nop
520028:	55                   	push   %ebp
520029:	8b ec                	mov    %esp,%ebp
52002b:	6a 00                	push   $0x0
52002d:	6a 00                	push   $0x0
52002f:	53                   	push   %ebx
520030:	56                   	push   %esi
520031:	57                   	push   %edi
520032:	8b d8                	mov    %eax,%ebx
520034:	33 c0                	xor    %eax,%eax
520036:	55                   	push   %ebp
520037:	68 d3 01 52 00       	push   $0x5201d3
52003c:	64 ff 30             	push   %fs:(%eax)
52003f:	64 89 20             	mov    %esp,%fs:(%eax)
520042:	80 bb d8 05 00 00 00 	cmpb   $0x0,0x5d8(%ebx)
520049:	0f 84 66 01 00 00    	je     0x5201b5
52004f:	8d 55 fc             	lea    -0x4(%ebp),%edx
520052:	8b 83 28 03 00 00    	mov    0x328(%ebx),%eax
520058:	e8 6f 87 f2 ff       	call   0x4487cc
52005d:	8b 45 fc             	mov    -0x4(%ebp),%eax
520060:	33 d2                	xor    %edx,%edx
520062:	e8 79 96 ee ff       	call   0x4096e0
520067:	8b f0                	mov    %eax,%esi
520069:	8b 83 10 03 00 00    	mov    0x310(%ebx),%eax
52006f:	8b 80 28 02 00 00    	mov    0x228(%eax),%eax
520075:	3b 83 e8 05 00 00    	cmp    0x5e8(%ebx),%eax
52007b:	75 64                	jne    0x5200e1
52007d:	8b 83 60 04 00 00    	mov    0x460(%ebx),%eax
520083:	8b 10                	mov    (%eax),%edx
520085:	ff 92 c8 00 00 00    	call   *0xc8(%edx)
52008b:	3b 83 ec 05 00 00    	cmp    0x5ec(%ebx),%eax
520091:	75 4e                	jne    0x5200e1
520093:	8b 83 24 03 00 00    	mov    0x324(%ebx),%eax
520099:	8b 10                	mov    (%eax),%edx
52009b:	ff 92 c8 00 00 00    	call   *0xc8(%edx)
5200a1:	3b 83 f0 05 00 00    	cmp    0x5f0(%ebx),%eax
5200a7:	75 38                	jne    0x5200e1
5200a9:	8b 83 20 03 00 00    	mov    0x320(%ebx),%eax
5200af:	8b 10                	mov    (%eax),%edx
5200b1:	ff 92 c4 00 00 00    	call   *0xc4(%edx)
5200b7:	3a 83 f4 05 00 00    	cmp    0x5f4(%ebx),%al
5200bd:	75 22                	jne    0x5200e1
5200bf:	3b b3 f8 05 00 00    	cmp    0x5f8(%ebx),%esi
5200c5:	75 1a                	jne    0x5200e1
5200c7:	8b 83 38 03 00 00    	mov    0x338(%ebx),%eax
5200cd:	8b 10                	mov    (%eax),%edx
5200cf:	ff 92 c4 00 00 00    	call   *0xc4(%edx)
5200d5:	3a 83 fc 05 00 00    	cmp    0x5fc(%ebx),%al
5200db:	0f 84 d4 00 00 00    	je     0x5201b5
5200e1:	8b 83 10 03 00 00    	mov    0x310(%ebx),%eax
5200e7:	8b b8 28 02 00 00    	mov    0x228(%eax),%edi
5200ed:	89 bb e8 05 00 00    	mov    %edi,0x5e8(%ebx)
5200f3:	85 ff                	test   %edi,%edi
5200f5:	7e 1a                	jle    0x520111
5200f7:	8d 55 f8             	lea    -0x8(%ebp),%edx
5200fa:	8b c7                	mov    %edi,%eax
5200fc:	e8 c3 94 ee ff       	call   0x4095c4
520101:	8b 55 f8             	mov    -0x8(%ebp),%edx
520104:	8b 83 0c 03 00 00    	mov    0x30c(%ebx),%eax
52010a:	e8 ed 86 f2 ff       	call   0x4487fc
52010f:	eb 0d                	jmp    0x52011e
520111:	33 d2                	xor    %edx,%edx
520113:	8b 83 0c 03 00 00    	mov    0x30c(%ebx),%eax
520119:	e8 de 86 f2 ff       	call   0x4487fc
52011e:	8b 83 60 04 00 00    	mov    0x460(%ebx),%eax
520124:	8b 10                	mov    (%eax),%edx
520126:	ff 92 c8 00 00 00    	call   *0xc8(%edx)
52012c:	89 83 ec 05 00 00    	mov    %eax,0x5ec(%ebx)
520132:	8b 83 24 03 00 00    	mov    0x324(%ebx),%eax
520138:	8b 10                	mov    (%eax),%edx
52013a:	ff 92 c8 00 00 00    	call   *0xc8(%edx)
520140:	89 83 f0 05 00 00    	mov    %eax,0x5f0(%ebx)
520146:	8b 83 20 03 00 00    	mov    0x320(%ebx),%eax
52014c:	8b 10                	mov    (%eax),%edx
52014e:	ff 92 c4 00 00 00    	call   *0xc4(%edx)
520154:	88 83 f4 05 00 00    	mov    %al,0x5f4(%ebx)
52015a:	89 b3 f8 05 00 00    	mov    %esi,0x5f8(%ebx)
520160:	8b 83 38 03 00 00    	mov    0x338(%ebx),%eax
520166:	8b 10                	mov    (%eax),%edx
520168:	ff 92 c4 00 00 00    	call   *0xc4(%edx)
52016e:	88 83 fc 05 00 00    	mov    %al,0x5fc(%ebx)
520174:	8b 83 78 05 00 00    	mov    0x578(%ebx),%eax
52017a:	8b 10                	mov    (%eax),%edx
52017c:	ff 92 c4 00 00 00    	call   *0xc4(%edx)
520182:	84 c0                	test   %al,%al
520184:	74 15                	je     0x52019b
520186:	8b c3                	mov    %ebx,%eax
520188:	e8 2b c5 ff ff       	call   0x51c6b8
52018d:	8b 83 b8 05 00 00    	mov    0x5b8(%ebx),%eax
520193:	8b 10                	mov    (%eax),%edx
520195:	ff 92 c4 00 00 00    	call   *0xc4(%edx)
52019b:	b2 01                	mov    $0x1,%dl
52019d:	8b 83 ec 04 00 00    	mov    0x4ec(%ebx),%eax
5201a3:	8b 08                	mov    (%eax),%ecx
5201a5:	ff 51 64             	call   *0x64(%ecx)
5201a8:	b2 01                	mov    $0x1,%dl
5201aa:	8b 83 3c 03 00 00    	mov    0x33c(%ebx),%eax
5201b0:	8b 08                	mov    (%eax),%ecx
5201b2:	ff 51 64             	call   *0x64(%ecx)
5201b5:	33 c0                	xor    %eax,%eax
5201b7:	5a                   	pop    %edx
5201b8:	59                   	pop    %ecx
5201b9:	59                   	pop    %ecx
5201ba:	64 89 10             	mov    %edx,%fs:(%eax)
5201bd:	68 da 01 52 00       	push   $0x5201da
5201c2:	8d 45 f8             	lea    -0x8(%ebp),%eax
5201c5:	e8 9e 46 ee ff       	call   0x404868
5201ca:	8d 45 fc             	lea    -0x4(%ebp),%eax
5201cd:	e8 96 46 ee ff       	call   0x404868
5201d2:	c3                   	ret
5201d3:	e9 34 40 ee ff       	jmp    0x40420c
5201d8:	eb e8                	jmp    0x5201c2
5201da:	5f                   	pop    %edi
5201db:	5e                   	pop    %esi
5201dc:	5b                   	pop    %ebx
5201dd:	59                   	pop    %ecx
5201de:	59                   	pop    %ecx
5201df:	5d                   	pop    %ebp
5201e0:	c3                   	ret
5201e1:	8d 40 00             	lea    0x0(%eax),%eax
5201e4:	55                   	push   %ebp
5201e5:	8b ec                	mov    %esp,%ebp
5201e7:	6a 00                	push   $0x0
5201e9:	53                   	push   %ebx
5201ea:	56                   	push   %esi
5201eb:	8b d8                	mov    %eax,%ebx
5201ed:	33 c0                	xor    %eax,%eax
5201ef:	55                   	push   %ebp
5201f0:	68 8f 02 52 00       	push   $0x52028f
5201f5:	64 ff 30             	push   %fs:(%eax)
5201f8:	64 89 20             	mov    %esp,%fs:(%eax)
5201fb:	80 bb d8 05 00 00 00 	cmpb   $0x0,0x5d8(%ebx)
520202:	74 75                	je     0x520279
520204:	8b 83 24 05 00 00    	mov    0x524(%ebx),%eax
52020a:	8b 80 28 02 00 00    	mov    0x228(%eax),%eax
520210:	3b 83 e8 05 00 00    	cmp    0x5e8(%ebx),%eax
520216:	74 61                	je     0x520279
520218:	8b f0                	mov    %eax,%esi
52021a:	89 b3 e8 05 00 00    	mov    %esi,0x5e8(%ebx)
520220:	8d 55 fc             	lea    -0x4(%ebp),%edx
520223:	8b c6                	mov    %esi,%eax
520225:	e8 9a 93 ee ff       	call   0x4095c4
52022a:	8b 55 fc             	mov    -0x4(%ebp),%edx
52022d:	8b 83 20 05 00 00    	mov    0x520(%ebx),%eax
520233:	e8 c4 85 f2 ff       	call   0x4487fc
520238:	8b 83 78 05 00 00    	mov    0x578(%ebx),%eax
52023e:	8b 10                	mov    (%eax),%edx
520240:	ff 92 c4 00 00 00    	call   *0xc4(%edx)
520246:	84 c0                	test   %al,%al
520248:	74 15                	je     0x52025f
52024a:	8b c3                	mov    %ebx,%eax
52024c:	e8 67 c4 ff ff       	call   0x51c6b8
520251:	8b 83 b8 05 00 00    	mov    0x5b8(%ebx),%eax
520257:	8b 10                	mov    (%eax),%edx
520259:	ff 92 c4 00 00 00    	call   *0xc4(%edx)
52025f:	b2 01                	mov    $0x1,%dl
520261:	8b 83 ec 04 00 00    	mov    0x4ec(%ebx),%eax
520267:	8b 08                	mov    (%eax),%ecx
520269:	ff 51 64             	call   *0x64(%ecx)
52026c:	b2 01                	mov    $0x1,%dl
52026e:	8b 83 3c 03 00 00    	mov    0x33c(%ebx),%eax
520274:	8b 08                	mov    (%eax),%ecx
520276:	ff 51 64             	call   *0x64(%ecx)
520279:	33 c0                	xor    %eax,%eax
52027b:	5a                   	pop    %edx
52027c:	59                   	pop    %ecx
52027d:	59                   	pop    %ecx
52027e:	64 89 10             	mov    %edx,%fs:(%eax)
520281:	68 96 02 52 00       	push   $0x520296
520286:	8d 45 fc             	lea    -0x4(%ebp),%eax
520289:	e8 da 45 ee ff       	call   0x404868
52028e:	c3                   	ret
52028f:	e9 78 3f ee ff       	jmp    0x40420c
520294:	eb f0                	jmp    0x520286
520296:	5e                   	pop    %esi
520297:	5b                   	pop    %ebx
520298:	59                   	pop    %ecx
520299:	5d                   	pop    %ebp
52029a:	c3                   	ret
52029b:	90                   	nop
52029c:	53                   	push   %ebx
52029d:	56                   	push   %esi
52029e:	57                   	push   %edi
52029f:	55                   	push   %ebp
5202a0:	83 c4 f8             	add    $0xfffffff8,%esp
5202a3:	89 14 24             	mov    %edx,(%esp)
5202a6:	8b f0                	mov    %eax,%esi
5202a8:	80 be d8 05 00 00 00 	cmpb   $0x0,0x5d8(%esi)
5202af:	0f 84 47 02 00 00    	je     0x5204fc
5202b5:	8a 9e 0c 06 00 00    	mov    0x60c(%esi),%bl
5202bb:	8a 86 14 06 00 00    	mov    0x614(%esi),%al
5202c1:	88 44 24 04          	mov    %al,0x4(%esp)
5202c5:	8b ae 38 06 00 00    	mov    0x638(%esi),%ebp
5202cb:	8b be 34 06 00 00    	mov    0x634(%esi),%edi
5202d1:	8b 86 50 05 00 00    	mov    0x550(%esi),%eax
5202d7:	3b 04 24             	cmp    (%esp),%eax
5202da:	0f 85 04 01 00 00    	jne    0x5203e4
5202e0:	8b 86 50 05 00 00    	mov    0x550(%esi),%eax
5202e6:	8b 10                	mov    (%eax),%edx
5202e8:	ff 92 c8 00 00 00    	call   *0xc8(%edx)
5202ee:	8b d0                	mov    %eax,%edx
5202f0:	8b c6                	mov    %esi,%eax
5202f2:	e8 29 a1 ff ff       	call   0x51a420
5202f7:	8b d8                	mov    %eax,%ebx
5202f9:	33 c0                	xor    %eax,%eax
5202fb:	8a c3                	mov    %bl,%al
5202fd:	83 f8 07             	cmp    $0x7,%eax
520300:	0f 87 75 01 00 00    	ja     0x52047b
520306:	ff 24 85 0d 03 52 00 	jmp    *0x52030d(,%eax,4)
52030d:	7b 04                	jnp    0x520313
52030f:	52                   	push   %edx
520310:	00 2d 03 52 00 51    	add    %ch,0x51005203
520316:	03 52 00             	add    0x0(%edx),%edx
520319:	75 03                	jne    0x52031e
52031b:	52                   	push   %edx
52031c:	00 99 03 52 00 7b    	add    %bl,0x7b005203(%ecx)
520322:	04 52                	add    $0x52,%al
520324:	00 7b 04             	add    %bh,0x4(%ebx)
520327:	52                   	push   %edx
520328:	00 bd 03 52 00 c6    	add    %bh,-0x39ffadfd(%ebp)
52032e:	44                   	inc    %esp
52032f:	24 04                	and    $0x4,%al
520331:	01 bf 01 00 00 00    	add    %edi,0x1(%edi)
520337:	bd 01 00 00 00       	mov    $0x1,%ebp
52033c:	33 d2                	xor    %edx,%edx
52033e:	8b 86 58 05 00 00    	mov    0x558(%esi),%eax
520344:	8b 08                	mov    (%eax),%ecx
520346:	ff 91 cc 00 00 00    	call   *0xcc(%ecx)
52034c:	e9 2a 01 00 00       	jmp    0x52047b
520351:	c6 44 24 04 01       	movb   $0x1,0x4(%esp)
520356:	bf 01 00 00 00       	mov    $0x1,%edi
52035b:	bd 01 00 00 00       	mov    $0x1,%ebp
520360:	33 d2                	xor    %edx,%edx
520362:	8b 86 58 05 00 00    	mov    0x558(%esi),%eax
520368:	8b 08                	mov    (%eax),%ecx
52036a:	ff 91 cc 00 00 00    	call   *0xcc(%ecx)
520370:	e9 06 01 00 00       	jmp    0x52047b
520375:	c6 44 24 04 01       	movb   $0x1,0x4(%esp)
52037a:	bf 01 00 00 00       	mov    $0x1,%edi
52037f:	bd 01 00 00 00       	mov    $0x1,%ebp
520384:	33 d2                	xor    %edx,%edx
520386:	8b 86 58 05 00 00    	mov    0x558(%esi),%eax
52038c:	8b 08                	mov    (%eax),%ecx
52038e:	ff 91 cc 00 00 00    	call   *0xcc(%ecx)
520394:	e9 e2 00 00 00       	jmp    0x52047b
520399:	c6 44 24 04 01       	movb   $0x1,0x4(%esp)
52039e:	bf 01 00 00 00       	mov    $0x1,%edi
5203a3:	bd 01 00 00 00       	mov    $0x1,%ebp
5203a8:	33 d2                	xor    %edx,%edx
5203aa:	8b 86 58 05 00 00    	mov    0x558(%esi),%eax
5203b0:	8b 08                	mov    (%eax),%ecx
5203b2:	ff 91 cc 00 00 00    	call   *0xcc(%ecx)
5203b8:	e9 be 00 00 00       	jmp    0x52047b
5203bd:	c6 44 24 04 06       	movb   $0x6,0x4(%esp)
5203c2:	bf 08 00 00 00       	mov    $0x8,%edi
5203c7:	bd 03 00 00 00       	mov    $0x3,%ebp
5203cc:	ba 03 00 00 00       	mov    $0x3,%edx
5203d1:	8b 86 58 05 00 00    	mov    0x558(%esi),%eax
5203d7:	8b 08                	mov    (%eax),%ecx
5203d9:	ff 91 cc 00 00 00    	call   *0xcc(%ecx)
5203df:	e9 97 00 00 00       	jmp    0x52047b
5203e4:	8b 86 58 05 00 00    	mov    0x558(%esi),%eax
5203ea:	8b 10                	mov    (%eax),%edx
5203ec:	ff 92 c8 00 00 00    	call   *0xc8(%edx)
5203f2:	83 e8 01             	sub    $0x1,%eax
5203f5:	72 0a                	jb     0x520401
5203f7:	74 14                	je     0x52040d
5203f9:	48                   	dec    %eax
5203fa:	74 1d                	je     0x520419
5203fc:	48                   	dec    %eax
5203fd:	74 26                	je     0x520425
5203ff:	eb 2e                	jmp    0x52042f
520401:	bf 01 00 00 00       	mov    $0x1,%edi
520406:	bd 01 00 00 00       	mov    $0x1,%ebp
52040b:	eb 22                	jmp    0x52042f
52040d:	bf 04 00 00 00       	mov    $0x4,%edi
520412:	bd 01 00 00 00       	mov    $0x1,%ebp
520417:	eb 16                	jmp    0x52042f
520419:	bf 08 00 00 00       	mov    $0x8,%edi
52041e:	bd 01 00 00 00       	mov    $0x1,%ebp
520423:	eb 0a                	jmp    0x52042f
520425:	bf 08 00 00 00       	mov    $0x8,%edi
52042a:	bd 03 00 00 00       	mov    $0x3,%ebp
52042f:	83 ff 01             	cmp    $0x1,%edi
520432:	7e 17                	jle    0x52044b
520434:	80 fb 04             	cmp    $0x4,%bl
520437:	77 12                	ja     0x52044b
520439:	33 db                	xor    %ebx,%ebx
52043b:	33 d2                	xor    %edx,%edx
52043d:	8b 86 50 05 00 00    	mov    0x550(%esi),%eax
520443:	8b 08                	mov    (%eax),%ecx
520445:	ff 91 cc 00 00 00    	call   *0xcc(%ecx)
52044b:	83 ff 08             	cmp    $0x8,%edi
52044e:	74 1c                	je     0x52046c
520450:	83 fd 03             	cmp    $0x3,%ebp
520453:	74 17                	je     0x52046c
520455:	80 fb 07             	cmp    $0x7,%bl