52ff80:	47                   	inc    %edi
52ff81:	33 f6                	xor    %esi,%esi
52ff83:	8b 83 4c 07 00 00    	mov    0x74c(%ebx),%eax
52ff89:	8b 04 f0             	mov    (%eax,%esi,8),%eax
52ff8c:	85 c0                	test   %eax,%eax
52ff8e:	74 0b                	je     0x52ff9b
52ff90:	8b 93 4c 07 00 00    	mov    0x74c(%ebx),%edx
52ff96:	e8 dd 3a ed ff       	call   0x403a78
52ff9b:	46                   	inc    %esi
52ff9c:	4f                   	dec    %edi
52ff9d:	75 e4                	jne    0x52ff83
52ff9f:	8b 83 4c 07 00 00    	mov    0x74c(%ebx),%eax
52ffa5:	e8 22 28 ed ff       	call   0x4027cc
52ffaa:	33 c0                	xor    %eax,%eax
52ffac:	89 83 4c 07 00 00    	mov    %eax,0x74c(%ebx)
52ffb2:	33 c0                	xor    %eax,%eax
52ffb4:	89 83 50 07 00 00    	mov    %eax,0x750(%ebx)
52ffba:	c7 83 80 06 00 00 ff 	movl   $0xffffffff,0x680(%ebx)
52ffc1:	ff ff ff
52ffc4:	85 ed                	test   %ebp,%ebp
52ffc6:	74 13                	je     0x52ffdb
52ffc8:	8b cd                	mov    %ebp,%ecx
52ffca:	83 ca ff             	or     $0xffffffff,%edx
52ffcd:	8b c3                	mov    %ebx,%eax
52ffcf:	e8 7c ee ff ff       	call   0x52ee50
52ffd4:	8b c5                	mov    %ebp,%eax
52ffd6:	e8 9d 3a ed ff       	call   0x403a78
52ffdb:	33 c0                	xor    %eax,%eax
52ffdd:	89 83 10 06 00 00    	mov    %eax,0x610(%ebx)
52ffe3:	8b c3                	mov    %ebx,%eax
52ffe5:	8b 10                	mov    (%eax),%edx
52ffe7:	ff 92 54 01 00 00    	call   *0x154(%edx)
52ffed:	8b c3                	mov    %ebx,%eax
52ffef:	8b 10                	mov    (%eax),%edx
52fff1:	ff 92 88 00 00 00    	call   *0x88(%edx)
52fff7:	5d                   	pop    %ebp
52fff8:	5f                   	pop    %edi
52fff9:	5e                   	pop    %esi
52fffa:	5b                   	pop    %ebx
52fffb:	c3                   	ret
52fffc:	55                   	push   %ebp
52fffd:	8b ec                	mov    %esp,%ebp
52ffff:	83 c4 f8             	add    $0xfffffff8,%esp
530002:	53                   	push   %ebx
530003:	56                   	push   %esi
530004:	57                   	push   %edi
530005:	8b f1                	mov    %ecx,%esi
530007:	89 55 fc             	mov    %edx,-0x4(%ebp)
53000a:	8b d8                	mov    %eax,%ebx
53000c:	8b 7d 08             	mov    0x8(%ebp),%edi
53000f:	8b 55 fc             	mov    -0x4(%ebp),%edx
530012:	8b c3                	mov    %ebx,%eax
530014:	e8 df ee ff ff       	call   0x52eef8
530019:	8b d8                	mov    %eax,%ebx
53001b:	8b 83 98 00 00 00    	mov    0x98(%ebx),%eax
530021:	85 c0                	test   %eax,%eax
530023:	74 1c                	je     0x530041
530025:	8b 93 94 00 00 00    	mov    0x94(%ebx),%edx
53002b:	3b 74 c2 f8          	cmp    -0x8(%edx,%eax,8),%esi
53002f:	75 10                	jne    0x530041
530031:	8b 93 94 00 00 00    	mov    0x94(%ebx),%edx
530037:	3b 7c c2 fc          	cmp    -0x4(%edx,%eax,8),%edi
53003b:	0f 84 a0 00 00 00    	je     0x5300e1
530041:	ff 83 98 00 00 00    	incl   0x98(%ebx)
530047:	8b 83 98 00 00 00    	mov    0x98(%ebx),%eax
53004d:	c1 e0 03             	shl    $0x3,%eax
530050:	e8 57 27 ed ff       	call   0x4027ac
530055:	89 45 f8             	mov    %eax,-0x8(%ebp)
530058:	8b 83 98 00 00 00    	mov    0x98(%ebx),%eax
53005e:	48                   	dec    %eax
53005f:	8b c8                	mov    %eax,%ecx
530061:	c1 e1 03             	shl    $0x3,%ecx
530064:	8b 55 f8             	mov    -0x8(%ebp),%edx
530067:	8b 83 94 00 00 00    	mov    0x94(%ebx),%eax
53006d:	e8 ae 29 ed ff       	call   0x402a20
530072:	8b 83 94 00 00 00    	mov    0x94(%ebx),%eax
530078:	e8 4f 27 ed ff       	call   0x4027cc
53007d:	8b 45 f8             	mov    -0x8(%ebp),%eax
530080:	89 83 94 00 00 00    	mov    %eax,0x94(%ebx)
530086:	8b 93 98 00 00 00    	mov    0x98(%ebx),%edx
53008c:	89 74 d0 f8          	mov    %esi,-0x8(%eax,%edx,8)
530090:	8b 83 94 00 00 00    	mov    0x94(%ebx),%eax
530096:	8b 93 98 00 00 00    	mov    0x98(%ebx),%edx
53009c:	89 7c d0 fc          	mov    %edi,-0x4(%eax,%edx,8)
5300a0:	3b 33                	cmp    (%ebx),%esi
5300a2:	7d 02                	jge    0x5300a6
5300a4:	89 33                	mov    %esi,(%ebx)
5300a6:	3b 73 08             	cmp    0x8(%ebx),%esi
5300a9:	7e 03                	jle    0x5300ae
5300ab:	89 73 08             	mov    %esi,0x8(%ebx)
5300ae:	3b 7b 04             	cmp    0x4(%ebx),%edi
5300b1:	7d 03                	jge    0x5300b6
5300b3:	89 7b 04             	mov    %edi,0x4(%ebx)
5300b6:	3b 7b 0c             	cmp    0xc(%ebx),%edi
5300b9:	7e 03                	jle    0x5300be
5300bb:	89 7b 0c             	mov    %edi,0xc(%ebx)
5300be:	8b 03                	mov    (%ebx),%eax
5300c0:	89 83 9c 00 00 00    	mov    %eax,0x9c(%ebx)
5300c6:	8b 43 04             	mov    0x4(%ebx),%eax
5300c9:	89 83 a0 00 00 00    	mov    %eax,0xa0(%ebx)
5300cf:	8b 43 08             	mov    0x8(%ebx),%eax
5300d2:	89 83 a4 00 00 00    	mov    %eax,0xa4(%ebx)
5300d8:	8b 43 0c             	mov    0xc(%ebx),%eax
5300db:	89 83 a8 00 00 00    	mov    %eax,0xa8(%ebx)
5300e1:	5f                   	pop    %edi
5300e2:	5e                   	pop    %esi
5300e3:	5b                   	pop    %ebx
5300e4:	59                   	pop    %ecx
5300e5:	59                   	pop    %ecx
5300e6:	5d                   	pop    %ebp
5300e7:	c2 04 00             	ret    $0x4
5300ea:	8b c0                	mov    %eax,%eax
5300ec:	55                   	push   %ebp
5300ed:	8b ec                	mov    %esp,%ebp
5300ef:	83 c4 f8             	add    $0xfffffff8,%esp
5300f2:	53                   	push   %ebx
5300f3:	56                   	push   %esi
5300f4:	57                   	push   %edi
5300f5:	8b da                	mov    %edx,%ebx
5300f7:	03 db                	add    %ebx,%ebx
5300f9:	43                   	inc    %ebx
5300fa:	85 db                	test   %ebx,%ebx
5300fc:	78 07                	js     0x530105
5300fe:	8b 34 98             	mov    (%eax,%ebx,4),%esi
530101:	4b                   	dec    %ebx
530102:	56                   	push   %esi
530103:	79 f9                	jns    0x5300fe
530105:	8b c4                	mov    %esp,%eax
530107:	89 4d fc             	mov    %ecx,-0x4(%ebp)
53010a:	8b d8                	mov    %eax,%ebx
53010c:	8b 45 fc             	mov    -0x4(%ebp),%eax
53010f:	c7 00 40 42 0f 00    	movl   $0xf4240,(%eax)
530115:	8b 45 10             	mov    0x10(%ebp),%eax
530118:	c7 00 40 42 0f 00    	movl   $0xf4240,(%eax)
53011e:	8b 45 0c             	mov    0xc(%ebp),%eax
530121:	c7 00 c0 bd f0 ff    	movl   $0xfff0bdc0,(%eax)
530127:	8b 45 08             	mov    0x8(%ebp),%eax
53012a:	c7 00 c0 bd f0 ff    	movl   $0xfff0bdc0,(%eax)
530130:	8b 73 08             	mov    0x8(%ebx),%esi
530133:	8b 7b 0c             	mov    0xc(%ebx),%edi
530136:	8b 53 10             	mov    0x10(%ebx),%edx
530139:	8b 03                	mov    (%ebx),%eax
53013b:	e8 d4 92 07 00       	call   0x5a9414
530140:	50                   	push   %eax
530141:	8b c6                	mov    %esi,%eax
530143:	5a                   	pop    %edx
530144:	2b c2                	sub    %edx,%eax
530146:	99                   	cltd
530147:	33 c2                	xor    %edx,%eax
530149:	2b c2                	sub    %edx,%eax
53014b:	89 45 f8             	mov    %eax,-0x8(%ebp)
53014e:	8b 53 14             	mov    0x14(%ebx),%edx
530151:	8b 43 04             	mov    0x4(%ebx),%eax
530154:	e8 bb 92 07 00       	call   0x5a9414
530159:	50                   	push   %eax
53015a:	8b c7                	mov    %edi,%eax
53015c:	5a                   	pop    %edx
53015d:	2b c2                	sub    %edx,%eax
53015f:	99                   	cltd
530160:	33 c2                	xor    %edx,%eax
530162:	2b c2                	sub    %edx,%eax
530164:	8b d6                	mov    %esi,%edx
530166:	2b 55 f8             	sub    -0x8(%ebp),%edx
530169:	8b 4d fc             	mov    -0x4(%ebp),%ecx
53016c:	89 11                	mov    %edx,(%ecx)
53016e:	8b d7                	mov    %edi,%edx
530170:	2b d0                	sub    %eax,%edx
530172:	8b 4d 10             	mov    0x10(%ebp),%ecx
530175:	89 11                	mov    %edx,(%ecx)
530177:	03 75 f8             	add    -0x8(%ebp),%esi
53017a:	8b 55 0c             	mov    0xc(%ebp),%edx
53017d:	89 32                	mov    %esi,(%edx)
53017f:	03 c7                	add    %edi,%eax
530181:	8b 55 08             	mov    0x8(%ebp),%edx
530184:	89 02                	mov    %eax,(%edx)
530186:	8b 7d ec             	mov    -0x14(%ebp),%edi
530189:	8b 75 f0             	mov    -0x10(%ebp),%esi
53018c:	8b 5d f4             	mov    -0xc(%ebp),%ebx
53018f:	8b e5                	mov    %ebp,%esp
530191:	5d                   	pop    %ebp
530192:	c2 0c 00             	ret    $0xc
530195:	8d 40 00             	lea    0x0(%eax),%eax
530198:	55                   	push   %ebp
530199:	8b ec                	mov    %esp,%ebp
53019b:	83 c4 e0             	add    $0xffffffe0,%esp
53019e:	53                   	push   %ebx
53019f:	56                   	push   %esi
5301a0:	57                   	push   %edi
5301a1:	88 4d ff             	mov    %cl,-0x1(%ebp)
5301a4:	8b da                	mov    %edx,%ebx
5301a6:	8b f0                	mov    %eax,%esi
5301a8:	8b 45 0c             	mov    0xc(%ebp),%eax
5301ab:	50                   	push   %eax
5301ac:	8b 45 08             	mov    0x8(%ebp),%eax
5301af:	50                   	push   %eax
5301b0:	8a 4d ff             	mov    -0x1(%ebp),%cl
5301b3:	8b d3                	mov    %ebx,%edx
5301b5:	8b c6                	mov    %esi,%eax
5301b7:	e8 0c cb 0a 00       	call   0x5dccc8
5301bc:	f6 45 ff 40          	testb  $0x40,-0x1(%ebp)
5301c0:	0f 95 c0             	setne  %al
5301c3:	88 86 0e 06 00 00    	mov    %al,0x60e(%esi)
5301c9:	84 db                	test   %bl,%bl
5301cb:	74 09                	je     0x5301d6
5301cd:	80 fb 01             	cmp    $0x1,%bl
5301d0:	0f 85 af 06 00 00    	jne    0x530885
5301d6:	8b c6                	mov    %esi,%eax
5301d8:	e8 eb 87 00 00       	call   0x5389c8
5301dd:	c7 86 34 07 00 00 ff 	movl   $0xffffffff,0x734(%esi)
5301e4:	ff ff ff
5301e7:	c7 86 08 06 00 00 ff 	movl   $0xffffffff,0x608(%esi)
5301ee:	ff ff ff
5301f1:	f6 86 40 05 00 00 04 	testb  $0x4,0x540(%esi)
5301f8:	74 0c                	je     0x530206
5301fa:	c6 86 19 06 00 00 01 	movb   $0x1,0x619(%esi)
530201:	e9 5d 06 00 00       	jmp    0x530863
530206:	f6 86 41 05 00 00 20 	testb  $0x20,0x541(%esi)
53020d:	74 0c                	je     0x53021b
53020f:	c6 86 19 06 00 00 0b 	movb   $0xb,0x619(%esi)
530216:	e9 48 06 00 00       	jmp    0x530863
53021b:	f6 86 41 05 00 00 02 	testb  $0x2,0x541(%esi)
530222:	74 0c                	je     0x530230
530224:	c6 86 19 06 00 00 07 	movb   $0x7,0x619(%esi)
53022b:	e9 33 06 00 00       	jmp    0x530863
530230:	f6 86 40 05 00 00 08 	testb  $0x8,0x540(%esi)
530237:	74 0c                	je     0x530245
530239:	c6 86 19 06 00 00 02 	movb   $0x2,0x619(%esi)
530240:	e9 1e 06 00 00       	jmp    0x530863
530245:	f6 86 40 05 00 00 10 	testb  $0x10,0x540(%esi)
53024c:	74 0c                	je     0x53025a
53024e:	c6 86 19 06 00 00 03 	movb   $0x3,0x619(%esi)
530255:	e9 09 06 00 00       	jmp    0x530863
53025a:	f6 86 40 05 00 00 20 	testb  $0x20,0x540(%esi)
530261:	74 0c                	je     0x53026f
530263:	c6 86 19 06 00 00 05 	movb   $0x5,0x619(%esi)
53026a:	e9 f4 05 00 00       	jmp    0x530863
53026f:	f6 86 40 05 00 00 40 	testb  $0x40,0x540(%esi)
530276:	74 0c                	je     0x530284
530278:	c6 86 19 06 00 00 06 	movb   $0x6,0x619(%esi)
53027f:	e9 df 05 00 00       	jmp    0x530863
530284:	f6 86 41 05 00 00 10 	testb  $0x10,0x541(%esi)
53028b:	74 0c                	je     0x530299
53028d:	c6 86 19 06 00 00 0a 	movb   $0xa,0x619(%esi)
530294:	e9 ca 05 00 00       	jmp    0x530863
530299:	f6 86 41 05 00 00 01 	testb  $0x1,0x541(%esi)
5302a0:	74 0c                	je     0x5302ae
5302a2:	c6 86 19 06 00 00 01 	movb   $0x1,0x619(%esi)
5302a9:	e9 b5 05 00 00       	jmp    0x530863
5302ae:	f6 86 41 05 00 00 08 	testb  $0x8,0x541(%esi)
5302b5:	0f 84 55 02 00 00    	je     0x530510
5302bb:	f6 45 ff 40          	testb  $0x40,-0x1(%ebp)
5302bf:	0f 85 4b 02 00 00    	jne    0x530510
5302c5:	80 be 19 06 00 00 09 	cmpb   $0x9,0x619(%esi)
5302cc:	0f 84 e1 00 00 00    	je     0x5303b3
5302d2:	f6 45 ff 40          	testb  $0x40,-0x1(%ebp)
5302d6:	0f 85 d7 00 00 00    	jne    0x5303b3
5302dc:	c6 86 19 06 00 00 09 	movb   $0x9,0x619(%esi)
5302e3:	8b 55 0c             	mov    0xc(%ebp),%edx
5302e6:	8b c6                	mov    %esi,%eax
5302e8:	e8 c3 8e 0a 00       	call   0x5d91b0
5302ed:	89 45 f8             	mov    %eax,-0x8(%ebp)
5302f0:	8b 55 08             	mov    0x8(%ebp),%edx
5302f3:	8b c6                	mov    %esi,%eax
5302f5:	e8 02 8f 0a 00       	call   0x5d91fc
5302fa:	89 45 f4             	mov    %eax,-0xc(%ebp)
5302fd:	8d 9e 30 06 00 00    	lea    0x630(%esi),%ebx
530303:	c6 43 10 09          	movb   $0x9,0x10(%ebx)
530307:	8d 4d e0             	lea    -0x20(%ebp),%ecx
53030a:	8b 55 f4             	mov    -0xc(%ebp),%edx
53030d:	8b 45 f8             	mov    -0x8(%ebp),%eax
530310:	e8 37 a3 ee ff       	call   0x41a64c
530315:	8b 45 e0             	mov    -0x20(%ebp),%eax
530318:	89 83 b8 00 00 00    	mov    %eax,0xb8(%ebx)
53031e:	8b 45 e4             	mov    -0x1c(%ebp),%eax
530321:	89 83 bc 00 00 00    	mov    %eax,0xbc(%ebx)
530327:	8d 4d e0             	lea    -0x20(%ebp),%ecx
53032a:	ba c0 bd f0 ff       	mov    $0xfff0bdc0,%edx
53032f:	b8 c0 bd f0 ff       	mov    $0xfff0bdc0,%eax
530334:	e8 13 a3 ee ff       	call   0x41a64c
530339:	8b 45 e0             	mov    -0x20(%ebp),%eax
53033c:	89 83 c0 00 00 00    	mov    %eax,0xc0(%ebx)
530342:	8b 45 e4             	mov    -0x1c(%ebp),%eax
530345:	89 83 c4 00 00 00    	mov    %eax,0xc4(%ebx)
53034b:	8d 4d e0             	lea    -0x20(%ebp),%ecx
53034e:	ba c0 bd f0 ff       	mov    $0xfff0bdc0,%edx
530353:	b8 c0 bd f0 ff       	mov    $0xfff0bdc0,%eax
530358:	e8 ef a2 ee ff       	call   0x41a64c
53035d:	8b 45 e0             	mov    -0x20(%ebp),%eax
530360:	89 83 c8 00 00 00    	mov    %eax,0xc8(%ebx)
530366:	8b 45 e4             	mov    -0x1c(%ebp),%eax
530369:	89 83 cc 00 00 00    	mov    %eax,0xcc(%ebx)
53036f:	c7 03 40 42 0f 00    	movl   $0xf4240,(%ebx)
530375:	c7 43 04 40 42 0f 00 	movl   $0xf4240,0x4(%ebx)
53037c:	c7 43 08 c0 bd f0 ff 	movl   $0xfff0bdc0,0x8(%ebx)
530383:	c7 43 0c c0 bd f0 ff 	movl   $0xfff0bdc0,0xc(%ebx)
53038a:	8d 96 30 06 00 00    	lea    0x630(%esi),%edx
530390:	8b c6                	mov    %esi,%eax
530392:	e8 25 f5 ff ff       	call   0x52f8bc
530397:	89 86 28 06 00 00    	mov    %eax,0x628(%esi)
53039d:	8b c6                	mov    %esi,%eax
53039f:	e8 1c e9 ff ff       	call   0x52ecc0
5303a4:	8b c6                	mov    %esi,%eax
5303a6:	8b 10                	mov    (%eax),%edx
5303a8:	ff 92 88 00 00 00    	call   *0x88(%edx)
5303ae:	e9 b0 04 00 00       	jmp    0x530863
5303b3:	8b 96 28 06 00 00    	mov    0x628(%esi),%edx
5303b9:	8b c6                	mov    %esi,%eax
5303bb:	e8 38 eb ff ff       	call   0x52eef8
5303c0:	8b d8                	mov    %eax,%ebx
5303c2:	8b 55 0c             	mov    0xc(%ebp),%edx
5303c5:	8b c6                	mov    %esi,%eax
5303c7:	e8 e4 8d 0a 00       	call   0x5d91b0
5303cc:	89 45 f8             	mov    %eax,-0x8(%ebp)
5303cf:	8b 55 08             	mov    0x8(%ebp),%edx
5303d2:	8b c6                	mov    %esi,%eax
5303d4:	e8 23 8e 0a 00       	call   0x5d91fc
5303d9:	89 45 f4             	mov    %eax,-0xc(%ebp)
5303dc:	8b 83 c0 00 00 00    	mov    0xc0(%ebx),%eax
5303e2:	3d c0 bd f0 ff       	cmp    $0xfff0bdc0,%eax
5303e7:	75 63                	jne    0x53044c
5303e9:	f6 45 ff 04          	testb  $0x4,-0x1(%ebp)
5303ed:	74 38                	je     0x530427
5303ef:	8d 45 f4             	lea    -0xc(%ebp),%eax
5303f2:	50                   	push   %eax
5303f3:	8d 4d f8             	lea    -0x8(%ebp),%ecx
5303f6:	8b 93 bc 00 00 00    	mov    0xbc(%ebx),%edx
5303fc:	8b 83 b8 00 00 00    	mov    0xb8(%ebx),%eax
530402:	e8 ad 0b 0c 00       	call   0x5f0fb4
530407:	8b 55 f8             	mov    -0x8(%ebp),%edx
53040a:	8b c6                	mov    %esi,%eax
53040c:	e8 97 8c 0a 00       	call   0x5d90a8
530411:	89 86 28 04 00 00    	mov    %eax,0x428(%esi)
530417:	8b 55 f4             	mov    -0xc(%ebp),%edx
53041a:	8b c6                	mov    %esi,%eax
53041c:	e8 0b 8d 0a 00       	call   0x5d912c
530421:	89 86 2c 04 00 00    	mov    %eax,0x42c(%esi)
530427:	8d 4d e0             	lea    -0x20(%ebp),%ecx
53042a:	8b 55 f4             	mov    -0xc(%ebp),%edx
53042d:	8b 45 f8             	mov    -0x8(%ebp),%eax
530430:	e8 17 a2 ee ff       	call   0x41a64c
530435:	8b 45 e0             	mov    -0x20(%ebp),%eax
530438:	89 83 c0 00 00 00    	mov    %eax,0xc0(%ebx)
53043e:	8b 45 e4             	mov    -0x1c(%ebp),%eax
530441:	89 83 c4 00 00 00    	mov    %eax,0xc4(%ebx)
530447:	e9 b5 00 00 00       	jmp    0x530501
53044c:	f6 45 ff 04          	testb  $0x4,-0x1(%ebp)
530450:	74 12                	je     0x530464
530452:	8d 55 f4             	lea    -0xc(%ebp),%edx
530455:	52                   	push   %edx
530456:	8d 4d f8             	lea    -0x8(%ebp),%ecx