52ef2c:	33 c0                	xor    %eax,%eax
52ef2e:	c3                   	ret
52ef2f:	8b ca                	mov    %edx,%ecx
52ef31:	c1 e2 05             	shl    $0x5,%edx
52ef34:	2b d1                	sub    %ecx,%edx
52ef36:	8b 80 44 07 00 00    	mov    0x744(%eax),%eax
52ef3c:	8d 04 d0             	lea    (%eax,%edx,8),%eax
52ef3f:	c3                   	ret
52ef40:	55                   	push   %ebp
52ef41:	8b ec                	mov    %esp,%ebp
52ef43:	83 c4 f8             	add    $0xfffffff8,%esp
52ef46:	53                   	push   %ebx
52ef47:	56                   	push   %esi
52ef48:	57                   	push   %edi
52ef49:	89 4d f8             	mov    %ecx,-0x8(%ebp)
52ef4c:	89 55 fc             	mov    %edx,-0x4(%ebp)
52ef4f:	8b f8                	mov    %eax,%edi
52ef51:	8b 55 fc             	mov    -0x4(%ebp),%edx
52ef54:	8b c7                	mov    %edi,%eax
52ef56:	e8 9d ff ff ff       	call   0x52eef8
52ef5b:	b2 01                	mov    $0x1,%dl
52ef5d:	a1 ec 6a 42 00       	mov    0x426aec,%eax
52ef62:	e8 69 e2 ef ff       	call   0x42d1d0
52ef67:	8b d8                	mov    %eax,%ebx
52ef69:	b2 06                	mov    $0x6,%dl
52ef6b:	8b c3                	mov    %ebx,%eax
52ef6d:	e8 36 f8 ef ff       	call   0x42e7a8
52ef72:	8b 55 0c             	mov    0xc(%ebp),%edx
52ef75:	8b c3                	mov    %ebx,%eax
52ef77:	8b 08                	mov    (%eax),%ecx
52ef79:	ff 51 40             	call   *0x40(%ecx)
52ef7c:	8b 55 08             	mov    0x8(%ebp),%edx
52ef7f:	8b c3                	mov    %ebx,%eax
52ef81:	8b 08                	mov    (%eax),%ecx
52ef83:	ff 51 34             	call   *0x34(%ecx)
52ef86:	68 00 80 00 00       	push   $0x8000
52ef8b:	8b 45 08             	mov    0x8(%ebp),%eax
52ef8e:	50                   	push   %eax
52ef8f:	8b 45 0c             	mov    0xc(%ebp),%eax
52ef92:	50                   	push   %eax
52ef93:	6a 01                	push   $0x1
52ef95:	8b 45 f8             	mov    -0x8(%ebp),%eax
52ef98:	50                   	push   %eax
52ef99:	6a 00                	push   $0x0
52ef9b:	e8 88 8c ed ff       	call   0x407c28
52efa0:	8b f0                	mov    %eax,%esi
52efa2:	85 f6                	test   %esi,%esi
52efa4:	74 2b                	je     0x52efd1
52efa6:	6a 03                	push   $0x3
52efa8:	6a 00                	push   $0x0
52efaa:	6a 00                	push   $0x0
52efac:	8b 45 08             	mov    0x8(%ebp),%eax
52efaf:	50                   	push   %eax
52efb0:	8b 45 0c             	mov    0xc(%ebp),%eax
52efb3:	50                   	push   %eax
52efb4:	56                   	push   %esi
52efb5:	6a 00                	push   $0x0
52efb7:	6a 00                	push   $0x0
52efb9:	8b c3                	mov    %ebx,%eax
52efbb:	e8 d8 e7 ef ff       	call   0x42d798
52efc0:	e8 fb 9c ef ff       	call   0x428cc0
52efc5:	50                   	push   %eax
52efc6:	e8 5d 89 ed ff       	call   0x407928
52efcb:	56                   	push   %esi
52efcc:	e8 07 89 ed ff       	call   0x4078d8
52efd1:	b2 01                	mov    $0x1,%dl
52efd3:	a1 18 ff 5e 00       	mov    0x5eff18,%eax
52efd8:	e8 c7 85 0c 00       	call   0x5f75a4
52efdd:	8b f0                	mov    %eax,%esi
52efdf:	33 c9                	xor    %ecx,%ecx
52efe1:	8b d3                	mov    %ebx,%edx
52efe3:	8b c6                	mov    %esi,%eax
52efe5:	e8 56 96 0c 00       	call   0x5f8640
52efea:	8b ce                	mov    %esi,%ecx
52efec:	8b 55 fc             	mov    -0x4(%ebp),%edx
52efef:	8b c7                	mov    %edi,%eax
52eff1:	e8 5a fe ff ff       	call   0x52ee50
52eff6:	8b c6                	mov    %esi,%eax
52eff8:	e8 7b 4a ed ff       	call   0x403a78
52effd:	8b c3                	mov    %ebx,%eax
52efff:	e8 74 4a ed ff       	call   0x403a78
52f004:	83 7d fc ff          	cmpl   $0xffffffff,-0x4(%ebp)
52f008:	74 0a                	je     0x52f014
52f00a:	8b c7                	mov    %edi,%eax
52f00c:	8b 10                	mov    (%eax),%edx
52f00e:	ff 92 88 00 00 00    	call   *0x88(%edx)
52f014:	5f                   	pop    %edi
52f015:	5e                   	pop    %esi
52f016:	5b                   	pop    %ebx
52f017:	59                   	pop    %ecx
52f018:	59                   	pop    %ecx
52f019:	5d                   	pop    %ebp
52f01a:	c2 08 00             	ret    $0x8
52f01d:	8d 40 00             	lea    0x0(%eax),%eax
52f020:	53                   	push   %ebx
52f021:	56                   	push   %esi
52f022:	57                   	push   %edi
52f023:	55                   	push   %ebp
52f024:	83 c4 f8             	add    $0xfffffff8,%esp
52f027:	8b f1                	mov    %ecx,%esi
52f029:	89 14 24             	mov    %edx,(%esp)
52f02c:	8b e8                	mov    %eax,%ebp
52f02e:	b2 01                	mov    $0x1,%dl
52f030:	a1 18 ff 5e 00       	mov    0x5eff18,%eax
52f035:	e8 6a 85 0c 00       	call   0x5f75a4
52f03a:	8b f8                	mov    %eax,%edi
52f03c:	8b cd                	mov    %ebp,%ecx
52f03e:	b2 01                	mov    $0x1,%dl
52f040:	a1 7c 67 5c 00       	mov    0x5c677c,%eax
52f045:	e8 2e 7b 09 00       	call   0x5c6b78
52f04a:	8b d8                	mov    %eax,%ebx
52f04c:	8b d7                	mov    %edi,%edx
52f04e:	8b c3                	mov    %ebx,%eax
52f050:	e8 6f 45 0a 00       	call   0x5d35c4
52f055:	8b d6                	mov    %esi,%edx
52f057:	8b c3                	mov    %ebx,%eax
52f059:	66 be ee ff          	mov    $0xffee,%si
52f05d:	e8 12 4c ed ff       	call   0x403c74
52f062:	8a 83 80 01 00 00    	mov    0x180(%ebx),%al
52f068:	34 01                	xor    $0x1,%al
52f06a:	88 44 24 04          	mov    %al,0x4(%esp)
52f06e:	80 7c 24 04 00       	cmpb   $0x0,0x4(%esp)
52f073:	74 0c                	je     0x52f081
52f075:	8b cf                	mov    %edi,%ecx
52f077:	8b 14 24             	mov    (%esp),%edx
52f07a:	8b c5                	mov    %ebp,%eax
52f07c:	e8 cf fd ff ff       	call   0x52ee50
52f081:	8b c3                	mov    %ebx,%eax
52f083:	e8 f0 49 ed ff       	call   0x403a78
52f088:	8b c7                	mov    %edi,%eax
52f08a:	e8 e9 49 ed ff       	call   0x403a78
52f08f:	8a 44 24 04          	mov    0x4(%esp),%al
52f093:	59                   	pop    %ecx
52f094:	5a                   	pop    %edx
52f095:	5d                   	pop    %ebp
52f096:	5f                   	pop    %edi
52f097:	5e                   	pop    %esi
52f098:	5b                   	pop    %ebx
52f099:	c3                   	ret
52f09a:	8b c0                	mov    %eax,%eax
52f09c:	55                   	push   %ebp
52f09d:	8b ec                	mov    %esp,%ebp
52f09f:	53                   	push   %ebx
52f0a0:	56                   	push   %esi
52f0a1:	57                   	push   %edi
52f0a2:	8b f9                	mov    %ecx,%edi
52f0a4:	8b f2                	mov    %edx,%esi
52f0a6:	8b d8                	mov    %eax,%ebx
52f0a8:	8b 93 f0 05 00 00    	mov    0x5f0(%ebx),%edx
52f0ae:	8b 46 10             	mov    0x10(%esi),%eax
52f0b1:	8b 08                	mov    (%eax),%ecx
52f0b3:	ff 51 08             	call   *0x8(%ecx)
52f0b6:	8b 93 f4 05 00 00    	mov    0x5f4(%ebx),%edx
52f0bc:	8b 46 14             	mov    0x14(%esi),%eax
52f0bf:	8b 08                	mov    (%eax),%ecx
52f0c1:	ff 51 08             	call   *0x8(%ecx)
52f0c4:	83 7d 08 00          	cmpl   $0x0,0x8(%ebp)
52f0c8:	75 23                	jne    0x52f0ed
52f0ca:	8b 83 ec 05 00 00    	mov    0x5ec(%ebx),%eax
52f0d0:	8b d0                	mov    %eax,%edx
52f0d2:	03 d7                	add    %edi,%edx
52f0d4:	52                   	push   %edx
52f0d5:	8b 55 0c             	mov    0xc(%ebp),%edx
52f0d8:	03 d0                	add    %eax,%edx
52f0da:	52                   	push   %edx
52f0db:	8b 4d 0c             	mov    0xc(%ebp),%ecx
52f0de:	2b c8                	sub    %eax,%ecx
52f0e0:	8b d7                	mov    %edi,%edx
52f0e2:	2b d0                	sub    %eax,%edx
52f0e4:	8b c6                	mov    %esi,%eax
52f0e6:	e8 85 97 ef ff       	call   0x428870
52f0eb:	eb 6d                	jmp    0x52f15a
52f0ed:	83 7d 08 01          	cmpl   $0x1,0x8(%ebp)
52f0f1:	75 67                	jne    0x52f15a
52f0f3:	ba 01 00 00 00       	mov    $0x1,%edx
52f0f8:	8b 46 10             	mov    0x10(%esi),%eax
52f0fb:	e8 b0 8f ef ff       	call   0x4280b0
52f100:	8b 4d 0c             	mov    0xc(%ebp),%ecx
52f103:	2b 8b ec 05 00 00    	sub    0x5ec(%ebx),%ecx
52f109:	8b d7                	mov    %edi,%edx
52f10b:	8b c6                	mov    %esi,%eax
52f10d:	e8 c2 96 ef ff       	call   0x4287d4
52f112:	8b 93 ec 05 00 00    	mov    0x5ec(%ebx),%edx
52f118:	03 d7                	add    %edi,%edx
52f11a:	8b 4d 0c             	mov    0xc(%ebp),%ecx
52f11d:	8b c6                	mov    %esi,%eax
52f11f:	e8 50 96 ef ff       	call   0x428774
52f124:	8b 4d 0c             	mov    0xc(%ebp),%ecx
52f127:	03 8b ec 05 00 00    	add    0x5ec(%ebx),%ecx
52f12d:	8b d7                	mov    %edi,%edx
52f12f:	8b c6                	mov    %esi,%eax
52f131:	e8 3e 96 ef ff       	call   0x428774
52f136:	8b d7                	mov    %edi,%edx
52f138:	2b 93 ec 05 00 00    	sub    0x5ec(%ebx),%edx
52f13e:	8b 4d 0c             	mov    0xc(%ebp),%ecx
52f141:	8b c6                	mov    %esi,%eax
52f143:	e8 2c 96 ef ff       	call   0x428774
52f148:	8b 4d 0c             	mov    0xc(%ebp),%ecx
52f14b:	2b 8b ec 05 00 00    	sub    0x5ec(%ebx),%ecx
52f151:	8b d7                	mov    %edi,%edx
52f153:	8b c6                	mov    %esi,%eax
52f155:	e8 1a 96 ef ff       	call   0x428774
52f15a:	5f                   	pop    %edi
52f15b:	5e                   	pop    %esi
52f15c:	5b                   	pop    %ebx
52f15d:	5d                   	pop    %ebp
52f15e:	c2 08 00             	ret    $0x8
52f161:	8d 40 00             	lea    0x0(%eax),%eax
52f164:	55                   	push   %ebp
52f165:	8b ec                	mov    %esp,%ebp
52f167:	83 c4 e4             	add    $0xffffffe4,%esp
52f16a:	53                   	push   %ebx
52f16b:	56                   	push   %esi
52f16c:	57                   	push   %edi
52f16d:	89 4d fc             	mov    %ecx,-0x4(%ebp)
52f170:	8b fa                	mov    %edx,%edi
52f172:	8b d8                	mov    %eax,%ebx
52f174:	8b 45 fc             	mov    -0x4(%ebp),%eax
52f177:	8b b3 ec 05 00 00    	mov    0x5ec(%ebx),%esi
52f17d:	03 c6                	add    %esi,%eax
52f17f:	50                   	push   %eax
52f180:	8d 45 ec             	lea    -0x14(%ebp),%eax
52f183:	50                   	push   %eax
52f184:	8b ce                	mov    %esi,%ecx
52f186:	03 cf                	add    %edi,%ecx
52f188:	8b 55 fc             	mov    -0x4(%ebp),%edx
52f18b:	2b d6                	sub    %esi,%edx
52f18d:	8b c7                	mov    %edi,%eax
52f18f:	2b c6                	sub    %esi,%eax
52f191:	e8 de b4 ee ff       	call   0x41a674
52f196:	8d 4d e4             	lea    -0x1c(%ebp),%ecx
52f199:	8b 55 08             	mov    0x8(%ebp),%edx
52f19c:	8b 45 0c             	mov    0xc(%ebp),%eax
52f19f:	e8 a8 b4 ee ff       	call   0x41a64c
52f1a4:	ff 75 e8             	push   -0x18(%ebp)
52f1a7:	ff 75 e4             	push   -0x1c(%ebp)
52f1aa:	8d 45 ec             	lea    -0x14(%ebp),%eax
52f1ad:	50                   	push   %eax
52f1ae:	e8 ed 8a ed ff       	call   0x407ca0
52f1b3:	83 f8 01             	cmp    $0x1,%eax
52f1b6:	1b c0                	sbb    %eax,%eax
52f1b8:	40                   	inc    %eax
52f1b9:	5f                   	pop    %edi
52f1ba:	5e                   	pop    %esi
52f1bb:	5b                   	pop    %ebx
52f1bc:	8b e5                	mov    %ebp,%esp
52f1be:	5d                   	pop    %ebp
52f1bf:	c2 08 00             	ret    $0x8
52f1c2:	8b c0                	mov    %eax,%eax
52f1c4:	53                   	push   %ebx
52f1c5:	56                   	push   %esi
52f1c6:	57                   	push   %edi
52f1c7:	55                   	push   %ebp
52f1c8:	83 c4 e0             	add    $0xffffffe0,%esp
52f1cb:	8b f1                	mov    %ecx,%esi
52f1cd:	8b ea                	mov    %edx,%ebp
52f1cf:	8b d8                	mov    %eax,%ebx
52f1d1:	8b 16                	mov    (%esi),%edx
52f1d3:	8b c3                	mov    %ebx,%eax
52f1d5:	e8 ce 9e 0a 00       	call   0x5d90a8
52f1da:	89 04 24             	mov    %eax,(%esp)
52f1dd:	8b 56 04             	mov    0x4(%esi),%edx
52f1e0:	8b c3                	mov    %ebx,%eax
52f1e2:	e8 45 9f 0a 00       	call   0x5d912c
52f1e7:	89 44 24 04          	mov    %eax,0x4(%esp)
52f1eb:	8b 56 08             	mov    0x8(%esi),%edx
52f1ee:	8b c3                	mov    %ebx,%eax
52f1f0:	e8 b3 9e 0a 00       	call   0x5d90a8
52f1f5:	89 44 24 08          	mov    %eax,0x8(%esp)
52f1f9:	8b 56 0c             	mov    0xc(%esi),%edx
52f1fc:	8b c3                	mov    %ebx,%eax
52f1fe:	e8 29 9f 0a 00       	call   0x5d912c
52f203:	89 44 24 0c          	mov    %eax,0xc(%esp)
52f207:	8b 56 08             	mov    0x8(%esi),%edx
52f20a:	42                   	inc    %edx
52f20b:	8b c3                	mov    %ebx,%eax
52f20d:	e8 96 9e 0a 00       	call   0x5d90a8
52f212:	89 44 24 10          	mov    %eax,0x10(%esp)
52f216:	8b 56 0c             	mov    0xc(%esi),%edx
52f219:	42                   	inc    %edx
52f21a:	8b c3                	mov    %ebx,%eax
52f21c:	e8 0b 9f 0a 00       	call   0x5d912c
52f221:	89 44 24 14          	mov    %eax,0x14(%esp)
52f225:	8d 44 24 04          	lea    0x4(%esp),%eax
52f229:	50                   	push   %eax
52f22a:	8d 44 24 0c          	lea    0xc(%esp),%eax
52f22e:	50                   	push   %eax
52f22f:	8d 44 24 14          	lea    0x14(%esp),%eax
52f233:	50                   	push   %eax
52f234:	8d 44 24 1c          	lea    0x1c(%esp),%eax
52f238:	50                   	push   %eax
52f239:	8d 44 24 24          	lea    0x24(%esp),%eax
52f23d:	50                   	push   %eax
52f23e:	ff b3 ac 03 00 00    	push   0x3ac(%ebx)
52f244:	ff b3 a8 03 00 00    	push   0x3a8(%ebx)
52f24a:	8d 4c 24 1c          	lea    0x1c(%esp),%ecx
52f24e:	8b d6                	mov    %esi,%edx
52f250:	8b c3                	mov    %ebx,%eax
52f252:	e8 1d 6c 00 00       	call   0x535e74
52f257:	8b 44 24 0c          	mov    0xc(%esp),%eax
52f25b:	50                   	push   %eax
52f25c:	8b bb c4 03 00 00    	mov    0x3c4(%ebx),%edi
52f262:	57                   	push   %edi
52f263:	8b 83 c8 03 00 00    	mov    0x3c8(%ebx),%eax
52f269:	50                   	push   %eax
52f26a:	03 bb cc 03 00 00    	add    0x3cc(%ebx),%edi
52f270:	57                   	push   %edi
52f271:	8b 83 c8 03 00 00    	mov    0x3c8(%ebx),%eax
52f277:	03 83 d0 03 00 00    	add    0x3d0(%ebx),%eax
52f27d:	50                   	push   %eax
52f27e:	8b 4c 24 1c          	mov    0x1c(%esp),%ecx
52f282:	8b 54 24 18          	mov    0x18(%esp),%edx
52f286:	8b 44 24 14          	mov    0x14(%esp),%eax
52f28a:	e8 35 1e 0c 00       	call   0x5f10c4
52f28f:	84 c0                	test   %al,%al
52f291:	0f 84 7a 01 00 00    	je     0x52f411
52f297:	80 7e 10 09          	cmpb   $0x9,0x10(%esi)
52f29b:	0f 84 e9 00 00 00    	je     0x52f38a
52f2a1:	8b 44 24 04          	mov    0x4(%esp),%eax
52f2a5:	50                   	push   %eax
52f2a6:	6a 00                	push   $0x0
52f2a8:	8b 4c 24 08          	mov    0x8(%esp),%ecx
52f2ac:	8b d5                	mov    %ebp,%edx
52f2ae:	8b c3                	mov    %ebx,%eax
52f2b0:	e8 e7 fd ff ff       	call   0x52f09c
52f2b5:	8b 44 24 0c          	mov    0xc(%esp),%eax
52f2b9:	50                   	push   %eax
52f2ba:	6a 00                	push   $0x0
52f2bc:	8b 4c 24 10          	mov    0x10(%esp),%ecx
52f2c0:	8b d5                	mov    %ebp,%edx
52f2c2:	8b c3                	mov    %ebx,%eax
52f2c4:	e8 d3 fd ff ff       	call   0x52f09c
52f2c9:	8a 46 10             	mov    0x10(%esi),%al
52f2cc:	3c 01                	cmp    $0x1,%al
52f2ce:	0f 84 f4 00 00 00    	je     0x52f3c8
52f2d4:	3c 07                	cmp    $0x7,%al
52f2d6:	0f 84 ec 00 00 00    	je     0x52f3c8
52f2dc:	3c 0b                	cmp    $0xb,%al
52f2de:	0f 84 e4 00 00 00    	je     0x52f3c8
52f2e4:	8b 44 24 04          	mov    0x4(%esp),%eax
52f2e8:	50                   	push   %eax
52f2e9:	6a 00                	push   $0x0
52f2eb:	8b 4c 24 10          	mov    0x10(%esp),%ecx
52f2ef:	8b d5                	mov    %ebp,%edx
52f2f1:	8b c3                	mov    %ebx,%eax
52f2f3:	e8 a4 fd ff ff       	call   0x52f09c
52f2f8:	8b 44 24 0c          	mov    0xc(%esp),%eax
52f2fc:	50                   	push   %eax
52f2fd:	6a 00                	push   $0x0
52f2ff:	8b 4c 24 08          	mov    0x8(%esp),%ecx