52fd63:	8b d8                	mov    %eax,%ebx
52fd65:	8b b3 10 06 00 00    	mov    0x610(%ebx),%esi
52fd6b:	4e                   	dec    %esi
52fd6c:	85 f6                	test   %esi,%esi
52fd6e:	7c 20                	jl     0x52fd90
52fd70:	46                   	inc    %esi
52fd71:	33 ff                	xor    %edi,%edi
52fd73:	8b 83 14 06 00 00    	mov    0x614(%ebx),%eax
52fd79:	8b 14 b8             	mov    (%eax,%edi,4),%edx
52fd7c:	8b c3                	mov    %ebx,%eax
52fd7e:	e8 75 f1 ff ff       	call   0x52eef8
52fd83:	8b d0                	mov    %eax,%edx
52fd85:	8b c3                	mov    %ebx,%eax
52fd87:	e8 8c 00 00 00       	call   0x52fe18
52fd8c:	47                   	inc    %edi
52fd8d:	4e                   	dec    %esi
52fd8e:	75 e3                	jne    0x52fd73
52fd90:	8b 83 14 06 00 00    	mov    0x614(%ebx),%eax
52fd96:	e8 31 2a ed ff       	call   0x4027cc
52fd9b:	33 c0                	xor    %eax,%eax
52fd9d:	89 83 10 06 00 00    	mov    %eax,0x610(%ebx)
52fda3:	33 c0                	xor    %eax,%eax
52fda5:	89 83 14 06 00 00    	mov    %eax,0x614(%ebx)
52fdab:	5f                   	pop    %edi
52fdac:	5e                   	pop    %esi
52fdad:	5b                   	pop    %ebx
52fdae:	c3                   	ret
52fdaf:	90                   	nop
52fdb0:	53                   	push   %ebx
52fdb1:	56                   	push   %esi
52fdb2:	57                   	push   %edi
52fdb3:	8b da                	mov    %edx,%ebx
52fdb5:	8b 43 58             	mov    0x58(%ebx),%eax
52fdb8:	85 c0                	test   %eax,%eax
52fdba:	74 05                	je     0x52fdc1
52fdbc:	e8 0b 2a ed ff       	call   0x4027cc
52fdc1:	33 c0                	xor    %eax,%eax
52fdc3:	89 43 58             	mov    %eax,0x58(%ebx)
52fdc6:	8b 43 70             	mov    0x70(%ebx),%eax
52fdc9:	85 c0                	test   %eax,%eax
52fdcb:	74 05                	je     0x52fdd2
52fdcd:	e8 fa 29 ed ff       	call   0x4027cc
52fdd2:	33 c0                	xor    %eax,%eax
52fdd4:	89 43 70             	mov    %eax,0x70(%ebx)
52fdd7:	83 7b 74 00          	cmpl   $0x0,0x74(%ebx)
52fddb:	74 34                	je     0x52fe11
52fddd:	eb 1b                	jmp    0x52fdfa
52fddf:	8b d7                	mov    %edi,%edx
52fde1:	4a                   	dec    %edx
52fde2:	8b c6                	mov    %esi,%eax
52fde4:	e8 d7 bf ee ff       	call   0x41bdc0
52fde9:	e8 de 29 ed ff       	call   0x4027cc
52fdee:	8b 43 74             	mov    0x74(%ebx),%eax
52fdf1:	8b 50 08             	mov    0x8(%eax),%edx
52fdf4:	4a                   	dec    %edx
52fdf5:	e8 66 be ee ff       	call   0x41bc60
52fdfa:	8b 73 74             	mov    0x74(%ebx),%esi
52fdfd:	8b 7e 08             	mov    0x8(%esi),%edi
52fe00:	85 ff                	test   %edi,%edi
52fe02:	7f db                	jg     0x52fddf
52fe04:	8b 43 74             	mov    0x74(%ebx),%eax
52fe07:	e8 6c 3c ed ff       	call   0x403a78
52fe0c:	33 c0                	xor    %eax,%eax
52fe0e:	89 43 74             	mov    %eax,0x74(%ebx)
52fe11:	5f                   	pop    %edi
52fe12:	5e                   	pop    %esi
52fe13:	5b                   	pop    %ebx
52fe14:	c3                   	ret
52fe15:	8d 40 00             	lea    0x0(%eax),%eax
52fe18:	53                   	push   %ebx
52fe19:	56                   	push   %esi
52fe1a:	8b da                	mov    %edx,%ebx
52fe1c:	8b f0                	mov    %eax,%esi
52fe1e:	8b 43 50             	mov    0x50(%ebx),%eax
52fe21:	85 c0                	test   %eax,%eax
52fe23:	7c 10                	jl     0x52fe35
52fe25:	8b d0                	mov    %eax,%edx
52fe27:	8b c6                	mov    %esi,%eax
52fe29:	e8 e2 ee ff ff       	call   0x52ed10
52fe2e:	c7 43 50 ff ff ff ff 	movl   $0xffffffff,0x50(%ebx)
52fe35:	8b 83 88 00 00 00    	mov    0x88(%ebx),%eax
52fe3b:	85 c0                	test   %eax,%eax
52fe3d:	74 05                	je     0x52fe44
52fe3f:	e8 88 29 ed ff       	call   0x4027cc
52fe44:	8b 43 5c             	mov    0x5c(%ebx),%eax
52fe47:	85 c0                	test   %eax,%eax
52fe49:	74 05                	je     0x52fe50
52fe4b:	e8 7c 29 ed ff       	call   0x4027cc
52fe50:	33 c0                	xor    %eax,%eax
52fe52:	89 43 5c             	mov    %eax,0x5c(%ebx)
52fe55:	8b d3                	mov    %ebx,%edx
52fe57:	8b c6                	mov    %esi,%eax
52fe59:	e8 52 ff ff ff       	call   0x52fdb0
52fe5e:	83 7b 68 00          	cmpl   $0x0,0x68(%ebx)
52fe62:	7e 08                	jle    0x52fe6c
52fe64:	8b 43 64             	mov    0x64(%ebx),%eax
52fe67:	e8 60 29 ed ff       	call   0x4027cc
52fe6c:	33 c0                	xor    %eax,%eax
52fe6e:	89 43 68             	mov    %eax,0x68(%ebx)
52fe71:	33 c0                	xor    %eax,%eax
52fe73:	89 43 64             	mov    %eax,0x64(%ebx)
52fe76:	8b 83 94 00 00 00    	mov    0x94(%ebx),%eax
52fe7c:	85 c0                	test   %eax,%eax
52fe7e:	74 05                	je     0x52fe85
52fe80:	e8 47 29 ed ff       	call   0x4027cc
52fe85:	33 c0                	xor    %eax,%eax
52fe87:	89 83 94 00 00 00    	mov    %eax,0x94(%ebx)
52fe8d:	33 c0                	xor    %eax,%eax
52fe8f:	89 83 98 00 00 00    	mov    %eax,0x98(%ebx)
52fe95:	33 c0                	xor    %eax,%eax
52fe97:	89 83 9c 00 00 00    	mov    %eax,0x9c(%ebx)
52fe9d:	33 c0                	xor    %eax,%eax
52fe9f:	89 83 a0 00 00 00    	mov    %eax,0xa0(%ebx)
52fea5:	33 c0                	xor    %eax,%eax
52fea7:	89 83 a4 00 00 00    	mov    %eax,0xa4(%ebx)
52fead:	33 c0                	xor    %eax,%eax
52feaf:	89 83 a8 00 00 00    	mov    %eax,0xa8(%ebx)
52feb5:	8b 83 b0 00 00 00    	mov    0xb0(%ebx),%eax
52febb:	85 c0                	test   %eax,%eax
52febd:	74 0d                	je     0x52fecc
52febf:	e8 08 29 ed ff       	call   0x4027cc
52fec4:	33 c0                	xor    %eax,%eax
52fec6:	89 83 b0 00 00 00    	mov    %eax,0xb0(%ebx)
52fecc:	33 c0                	xor    %eax,%eax
52fece:	89 83 b4 00 00 00    	mov    %eax,0xb4(%ebx)
52fed4:	8b 83 f4 00 00 00    	mov    0xf4(%ebx),%eax
52feda:	e8 99 3b ed ff       	call   0x403a78
52fedf:	33 c0                	xor    %eax,%eax
52fee1:	89 83 f4 00 00 00    	mov    %eax,0xf4(%ebx)
52fee7:	5e                   	pop    %esi
52fee8:	5b                   	pop    %ebx
52fee9:	c3                   	ret
52feea:	8b c0                	mov    %eax,%eax
52feec:	53                   	push   %ebx
52feed:	56                   	push   %esi
52feee:	57                   	push   %edi
52feef:	55                   	push   %ebp
52fef0:	8b d8                	mov    %eax,%ebx
52fef2:	8b c3                	mov    %ebx,%eax
52fef4:	e8 b7 db ff ff       	call   0x52dab0
52fef9:	80 bb b4 07 00 00 00 	cmpb   $0x0,0x7b4(%ebx)
52ff00:	74 07                	je     0x52ff09
52ff02:	8b c3                	mov    %ebx,%eax
52ff04:	e8 23 8d 00 00       	call   0x538c2c
52ff09:	8b c3                	mov    %ebx,%eax
52ff0b:	e8 50 fe ff ff       	call   0x52fd60
52ff10:	8b 83 28 07 00 00    	mov    0x728(%ebx),%eax
52ff16:	e8 b1 28 ed ff       	call   0x4027cc
52ff1b:	33 c0                	xor    %eax,%eax
52ff1d:	89 83 28 07 00 00    	mov    %eax,0x728(%ebx)
52ff23:	33 c0                	xor    %eax,%eax
52ff25:	89 83 2c 07 00 00    	mov    %eax,0x72c(%ebx)
52ff2b:	8b 83 44 07 00 00    	mov    0x744(%ebx),%eax
52ff31:	e8 96 28 ed ff       	call   0x4027cc
52ff36:	33 c0                	xor    %eax,%eax
52ff38:	89 83 44 07 00 00    	mov    %eax,0x744(%ebx)
52ff3e:	33 c0                	xor    %eax,%eax
52ff40:	89 83 48 07 00 00    	mov    %eax,0x748(%ebx)
52ff46:	8b 83 80 06 00 00    	mov    0x680(%ebx),%eax
52ff4c:	83 f8 ff             	cmp    $0xffffffff,%eax
52ff4f:	7e 22                	jle    0x52ff73
52ff51:	3b 83 50 07 00 00    	cmp    0x750(%ebx),%eax
52ff57:	7d 1a                	jge    0x52ff73
52ff59:	8b 93 4c 07 00 00    	mov    0x74c(%ebx),%edx
52ff5f:	8b 2c c2             	mov    (%edx,%eax,8),%ebp
52ff62:	33 c9                	xor    %ecx,%ecx
52ff64:	89 0c c2             	mov    %ecx,(%edx,%eax,8)
52ff67:	c7 83 80 06 00 00 ff 	movl   $0xffffffff,0x680(%ebx)
52ff6e:	ff ff ff
52ff71:	eb 02                	jmp    0x52ff75
52ff73:	33 ed                	xor    %ebp,%ebp
52ff75:	8b bb 50 07 00 00    	mov    0x750(%ebx),%edi
52ff7b:	4f                   	dec    %edi
52ff7c:	85 ff                	test   %edi,%edi
52ff7e:	7c 1f                	jl     0x52ff9f
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)