40cfc4:	33 c0                	xor    %eax,%eax
40cfc6:	eb 78                	jmp    0x40d040
40cfc8:	0f be 85 fc fe ff ff 	movsbl -0x104(%ebp),%eax
40cfcf:	56                   	push   %esi
40cfd0:	57                   	push   %edi
40cfd1:	50                   	push   %eax
40cfd2:	8d b5 fc fe ff ff    	lea    -0x104(%ebp),%esi
40cfd8:	e8 73 d8 00 00       	call   0x41a850
40cfdd:	8b 3d 24 06 4b 00    	mov    0x4b0624,%edi
40cfe3:	eb 0e                	jmp    0x40cff3
40cfe5:	56                   	push   %esi
40cfe6:	ff d7                	call   *%edi
40cfe8:	8b f0                	mov    %eax,%esi
40cfea:	0f be 06             	movsbl (%esi),%eax
40cfed:	50                   	push   %eax
40cfee:	e8 5d d8 00 00       	call   0x41a850
40cff3:	85 c0                	test   %eax,%eax
40cff5:	59                   	pop    %ecx
40cff6:	75 ed                	jne    0x40cfe5
40cff8:	8a 06                	mov    (%esi),%al
40cffa:	3c 2b                	cmp    $0x2b,%al
40cffc:	74 04                	je     0x40d002
40cffe:	3c 2d                	cmp    $0x2d,%al
40d000:	75 05                	jne    0x40d007
40d002:	56                   	push   %esi
40d003:	ff d7                	call   *%edi
40d005:	8b f0                	mov    %eax,%esi
40d007:	0f be 06             	movsbl (%esi),%eax
40d00a:	50                   	push   %eax
40d00b:	e8 bc d7 00 00       	call   0x41a7cc
40d010:	59                   	pop    %ecx
40d011:	8b 4d 0c             	mov    0xc(%ebp),%ecx
40d014:	85 c9                	test   %ecx,%ecx
40d016:	5f                   	pop    %edi
40d017:	5e                   	pop    %esi
40d018:	74 02                	je     0x40d01c
40d01a:	89 01                	mov    %eax,(%ecx)
40d01c:	85 c0                	test   %eax,%eax
40d01e:	74 a4                	je     0x40cfc4
40d020:	83 7d 10 00          	cmpl   $0x0,0x10(%ebp)
40d024:	6a 0a                	push   $0xa
40d026:	8d 85 fc fe ff ff    	lea    -0x104(%ebp),%eax
40d02c:	6a 00                	push   $0x0
40d02e:	50                   	push   %eax
40d02f:	74 07                	je     0x40d038
40d031:	e8 68 d7 00 00       	call   0x41a79e
40d036:	eb 05                	jmp    0x40d03d
40d038:	e8 78 d7 00 00       	call   0x41a7b5
40d03d:	83 c4 0c             	add    $0xc,%esp
40d040:	8b 4d fc             	mov    -0x4(%ebp),%ecx
40d043:	e8 96 ab 00 00       	call   0x417bde
40d048:	c9                   	leave
40d049:	c2 0c 00             	ret    $0xc
40d04c:	ff 74 24 04          	push   0x4(%esp)
40d050:	8b 01                	mov    (%ecx),%eax
40d052:	ff 50 74             	call   *0x74(%eax)
40d055:	85 c0                	test   %eax,%eax
40d057:	74 0f                	je     0x40d068
40d059:	ff 74 24 0c          	push   0xc(%esp)
40d05d:	8b c8                	mov    %eax,%ecx
40d05f:	ff 74 24 0c          	push   0xc(%esp)
40d063:	e8 62 43 03 00       	call   0x4413ca
40d068:	c2 0c 00             	ret    $0xc
40d06b:	55                   	push   %ebp
40d06c:	8b ec                	mov    %esp,%ebp
40d06e:	83 ec 28             	sub    $0x28,%esp
40d071:	83 7d 10 00          	cmpl   $0x0,0x10(%ebp)
40d075:	a1 40 8b 4a 00       	mov    0x4a8b40,%eax
40d07a:	56                   	push   %esi
40d07b:	89 45 fc             	mov    %eax,-0x4(%ebp)
40d07e:	6a 0a                	push   $0xa
40d080:	8d 45 d8             	lea    -0x28(%ebp),%eax
40d083:	50                   	push   %eax
40d084:	ff 75 0c             	push   0xc(%ebp)
40d087:	8b f1                	mov    %ecx,%esi
40d089:	74 07                	je     0x40d092
40d08b:	e8 ac d8 00 00       	call   0x41a93c
40d090:	eb 05                	jmp    0x40d097
40d092:	e8 cc d8 00 00       	call   0x41a963
40d097:	8b 06                	mov    (%esi),%eax
40d099:	83 c4 0c             	add    $0xc,%esp
40d09c:	8d 4d d8             	lea    -0x28(%ebp),%ecx
40d09f:	51                   	push   %ecx
40d0a0:	ff 75 08             	push   0x8(%ebp)
40d0a3:	8b ce                	mov    %esi,%ecx
40d0a5:	ff 90 88 00 00 00    	call   *0x88(%eax)
40d0ab:	8b 4d fc             	mov    -0x4(%ebp),%ecx
40d0ae:	5e                   	pop    %esi
40d0af:	e8 2a ab 00 00       	call   0x417bde
40d0b4:	c9                   	leave
40d0b5:	c2 0c 00             	ret    $0xc
40d0b8:	ff 74 24 04          	push   0x4(%esp)
40d0bc:	8b 01                	mov    (%ecx),%eax
40d0be:	ff 50 74             	call   *0x74(%eax)
40d0c1:	85 c0                	test   %eax,%eax
40d0c3:	74 0b                	je     0x40d0d0
40d0c5:	ff 74 24 08          	push   0x8(%esp)
40d0c9:	8b c8                	mov    %eax,%ecx
40d0cb:	e8 fe 3b 03 00       	call   0x440cce
40d0d0:	c2 08 00             	ret    $0x8
40d0d3:	33 c0                	xor    %eax,%eax
40d0d5:	39 41 6c             	cmp    %eax,0x6c(%ecx)
40d0d8:	0f 95 c0             	setne  %al
40d0db:	c3                   	ret
40d0dc:	ff 74 24 0c          	push   0xc(%esp)
40d0e0:	8b 4c 24 08          	mov    0x8(%esp),%ecx
40d0e4:	ff 74 24 0c          	push   0xc(%esp)
40d0e8:	83 c1 8c             	add    $0xffffff8c,%ecx
40d0eb:	e8 0c 70 06 00       	call   0x4740fc
40d0f0:	c2 0c 00             	ret    $0xc
40d0f3:	8b 4c 24 04          	mov    0x4(%esp),%ecx
40d0f7:	83 c1 8c             	add    $0xffffff8c,%ecx
40d0fa:	e8 40 6e 06 00       	call   0x473f3f
40d0ff:	c2 04 00             	ret    $0x4
40d102:	8b 44 24 04          	mov    0x4(%esp),%eax
40d106:	8b 40 a8             	mov    -0x58(%eax),%eax
40d109:	8b 40 1c             	mov    0x1c(%eax),%eax
40d10c:	8b 4c 24 08          	mov    0x8(%esp),%ecx
40d110:	89 01                	mov    %eax,(%ecx)
40d112:	33 c0                	xor    %eax,%eax
40d114:	c2 08 00             	ret    $0x8
40d117:	b8 01 40 00 80       	mov    $0x80004001,%eax
40d11c:	c2 08 00             	ret    $0x8
40d11f:	b8 01 40 00 80       	mov    $0x80004001,%eax
40d124:	c2 08 00             	ret    $0x8
40d127:	b8 01 40 00 80       	mov    $0x80004001,%eax
40d12c:	c2 08 00             	ret    $0x8
40d12f:	b8 01 40 00 80       	mov    $0x80004001,%eax
40d134:	c2 08 00             	ret    $0x8
40d137:	53                   	push   %ebx
40d138:	8b 5c 24 08          	mov    0x8(%esp),%ebx
40d13c:	8b 43 f0             	mov    -0x10(%ebx),%eax
40d13f:	85 c0                	test   %eax,%eax
40d141:	74 25                	je     0x40d168
40d143:	56                   	push   %esi
40d144:	8b 74 24 10          	mov    0x10(%esp),%esi
40d148:	85 f6                	test   %esi,%esi
40d14a:	57                   	push   %edi
40d14b:	8b 78 54             	mov    0x54(%eax),%edi
40d14e:	74 06                	je     0x40d156
40d150:	8b 06                	mov    (%esi),%eax
40d152:	56                   	push   %esi
40d153:	ff 50 04             	call   *0x4(%eax)
40d156:	85 ff                	test   %edi,%edi
40d158:	8b 43 f0             	mov    -0x10(%ebx),%eax
40d15b:	89 70 54             	mov    %esi,0x54(%eax)
40d15e:	74 06                	je     0x40d166
40d160:	8b 07                	mov    (%edi),%eax
40d162:	57                   	push   %edi
40d163:	ff 50 08             	call   *0x8(%eax)
40d166:	5f                   	pop    %edi
40d167:	5e                   	pop    %esi
40d168:	33 c0                	xor    %eax,%eax
40d16a:	5b                   	pop    %ebx
40d16b:	c2 0c 00             	ret    $0xc
40d16e:	b8 01 40 00 80       	mov    $0x80004001,%eax
40d173:	c2 0c 00             	ret    $0xc
40d176:	b8 01 40 00 80       	mov    $0x80004001,%eax
40d17b:	c2 10 00             	ret    $0x10
40d17e:	b8 01 40 00 80       	mov    $0x80004001,%eax
40d183:	c2 08 00             	ret    $0x8
40d186:	b8 01 40 00 80       	mov    $0x80004001,%eax
40d18b:	c2 08 00             	ret    $0x8
40d18e:	33 c0                	xor    %eax,%eax
40d190:	c2 08 00             	ret    $0x8
40d193:	b8 01 40 00 80       	mov    $0x80004001,%eax
40d198:	c2 0c 00             	ret    $0xc
40d19b:	56                   	push   %esi
40d19c:	6a 01                	push   $0x1
40d19e:	ff 74 24 10          	push   0x10(%esp)
40d1a2:	8b f1                	mov    %ecx,%esi
40d1a4:	ff 74 24 10          	push   0x10(%esp)
40d1a8:	6a 04                	push   $0x4
40d1aa:	e8 ec a4 06 00       	call   0x47769b
40d1af:	c7 06 2c c3 48 00    	movl   $0x48c32c,(%esi)
40d1b5:	8b c6                	mov    %esi,%eax
40d1b7:	5e                   	pop    %esi
40d1b8:	c2 08 00             	ret    $0x8
40d1bb:	b8 c0 c2 48 00       	mov    $0x48c2c0,%eax
40d1c0:	c3                   	ret
40d1c1:	b8 47 35 48 00       	mov    $0x483547,%eax
40d1c6:	e8 b1 aa 00 00       	call   0x417c7c
40d1cb:	51                   	push   %ecx
40d1cc:	56                   	push   %esi
40d1cd:	8b f1                	mov    %ecx,%esi
40d1cf:	57                   	push   %edi
40d1d0:	89 75 f0             	mov    %esi,-0x10(%ebp)
40d1d3:	c7 06 2c c3 48 00    	movl   $0x48c32c,(%esi)
40d1d9:	33 ff                	xor    %edi,%edi
40d1db:	39 7e 20             	cmp    %edi,0x20(%esi)
40d1de:	89 7d fc             	mov    %edi,-0x4(%ebp)
40d1e1:	75 19                	jne    0x40d1fc
40d1e3:	39 7e 2c             	cmp    %edi,0x2c(%esi)
40d1e6:	53                   	push   %ebx
40d1e7:	8b 5e 24             	mov    0x24(%esi),%ebx
40d1ea:	76 0f                	jbe    0x40d1fb
40d1ec:	8b 04 bb             	mov    (%ebx,%edi,4),%eax
40d1ef:	8b 08                	mov    (%eax),%ecx
40d1f1:	50                   	push   %eax
40d1f2:	ff 51 08             	call   *0x8(%ecx)
40d1f5:	47                   	inc    %edi
40d1f6:	3b 7e 2c             	cmp    0x2c(%esi),%edi
40d1f9:	72 f1                	jb     0x40d1ec
40d1fb:	5b                   	pop    %ebx
40d1fc:	83 4d fc ff          	orl    $0xffffffff,-0x4(%ebp)
40d200:	8b ce                	mov    %esi,%ecx
40d202:	e8 2d a2 06 00       	call   0x477434
40d207:	8b 4d f4             	mov    -0xc(%ebp),%ecx
40d20a:	5f                   	pop    %edi
40d20b:	5e                   	pop    %esi
40d20c:	64 89 0d 00 00 00 00 	mov    %ecx,%fs:0x0
40d213:	c9                   	leave
40d214:	c3                   	ret
40d215:	56                   	push   %esi
40d216:	8b 74 24 08          	mov    0x8(%esp),%esi
40d21a:	56                   	push   %esi
40d21b:	e8 62 a2 06 00       	call   0x477482
40d220:	85 c0                	test   %eax,%eax
40d222:	74 0b                	je     0x40d22f
40d224:	8b 06                	mov    (%esi),%eax
40d226:	8b 08                	mov    (%eax),%ecx
40d228:	50                   	push   %eax
40d229:	ff 51 04             	call   *0x4(%ecx)
40d22c:	33 c0                	xor    %eax,%eax
40d22e:	40                   	inc    %eax
40d22f:	5e                   	pop    %esi
40d230:	c2 04 00             	ret    $0x4
40d233:	ff 74 24 0c          	push   0xc(%esp)
40d237:	8b 4c 24 08          	mov    0x8(%esp),%ecx
40d23b:	ff 74 24 0c          	push   0xc(%esp)
40d23f:	83 c1 88             	add    $0xffffff88,%ecx
40d242:	e8 b5 6e 06 00       	call   0x4740fc
40d247:	c2 0c 00             	ret    $0xc
40d24a:	8b 4c 24 04          	mov    0x4(%esp),%ecx
40d24e:	83 c1 88             	add    $0xffffff88,%ecx
40d251:	e8 e9 6c 06 00       	call   0x473f3f
40d256:	c2 04 00             	ret    $0x4
40d259:	b8 01 40 00 80       	mov    $0x80004001,%eax
40d25e:	c2 14 00             	ret    $0x14
40d261:	b8 01 40 00 80       	mov    $0x80004001,%eax
40d266:	c2 08 00             	ret    $0x8
40d269:	e9 50 f3 02 00       	jmp    0x43c5be
40d26e:	ff 74 24 04          	push   0x4(%esp)
40d272:	e8 89 f8 ff ff       	call   0x40cb00
40d277:	8b 00                	mov    (%eax),%eax
40d279:	c2 04 00             	ret    $0x4
40d27c:	56                   	push   %esi
40d27d:	ff 74 24 08          	push   0x8(%esp)
40d281:	8b f1                	mov    %ecx,%esi
40d283:	e8 fb f3 02 00       	call   0x43c683
40d288:	c7 06 90 c3 48 00    	movl   $0x48c390,(%esi)
40d28e:	8b c6                	mov    %esi,%eax
40d290:	5e                   	pop    %esi
40d291:	c2 04 00             	ret    $0x4
40d294:	56                   	push   %esi
40d295:	8b f1                	mov    %ecx,%esi
40d297:	e8 5d fc ff ff       	call   0x40cef9
40d29c:	f6 44 24 08 01       	testb  $0x1,0x8(%esp)
40d2a1:	74 07                	je     0x40d2aa
40d2a3:	56                   	push   %esi
40d2a4:	e8 d7 2d 03 00       	call   0x440080
40d2a9:	59                   	pop    %ecx
40d2aa:	8b c6                	mov    %esi,%eax
40d2ac:	5e                   	pop    %esi
40d2ad:	c2 04 00             	ret    $0x4
40d2b0:	56                   	push   %esi
40d2b1:	ff 74 24 08          	push   0x8(%esp)
40d2b5:	8b f1                	mov    %ecx,%esi
40d2b7:	ff 15 f0 ff 4a 00    	call   *0x4afff0
40d2bd:	33 c9                	xor    %ecx,%ecx
40d2bf:	85 c0                	test   %eax,%eax
40d2c1:	0f 95 c1             	setne  %cl
40d2c4:	89 46 04             	mov    %eax,0x4(%esi)
40d2c7:	5e                   	pop    %esi
40d2c8:	8b c1                	mov    %ecx,%eax
40d2ca:	c2 04 00             	ret    $0x4
40d2cd:	ff 74 24 04          	push   0x4(%esp)
40d2d1:	6a 3c                	push   $0x3c
40d2d3:	ff 71 04             	push   0x4(%ecx)
40d2d6:	ff 15 94 00 4b 00    	call   *0x4b0094
40d2dc:	c2 04 00             	ret    $0x4
40d2df:	85 c9                	test   %ecx,%ecx
40d2e1:	75 03                	jne    0x40d2e6
40d2e3:	33 c0                	xor    %eax,%eax
40d2e5:	c3                   	ret
40d2e6:	8b 41 04             	mov    0x4(%ecx),%eax
40d2e9:	c3                   	ret
40d2ea:	ff 74 24 04          	push   0x4(%esp)
40d2ee:	ff 71 08             	push   0x8(%ecx)
40d2f1:	ff 15 48 00 4b 00    	call   *0x4b0048
40d2f7:	c2 04 00             	ret    $0x4
40d2fa:	ff 71 08             	push   0x8(%ecx)
40d2fd:	ff 15 60 ff 4a 00    	call   *0x4aff60
40d303:	c3                   	ret
40d304:	ff 71 08             	push   0x8(%ecx)
40d307:	ff 15 64 ff 4a 00    	call   *0x4aff64
40d30d:	c3                   	ret
40d30e:	6a 00                	push   $0x0
40d310:	6a 00                	push   $0x0
40d312:	6a 31                	push   $0x31
40d314:	ff 71 1c             	push   0x1c(%ecx)
40d317:	ff 15 98 08 4b 00    	call   *0x4b0898
40d31d:	50                   	push   %eax
40d31e:	e8 33 23 04 00       	call   0x44f656
40d323:	c3                   	ret
40d324:	8b c1                	mov    %ecx,%eax
40d326:	8b 4c 24 04          	mov    0x4(%esp),%ecx
40d32a:	8b 51 20             	mov    0x20(%ecx),%edx
40d32d:	83 60 08 00          	andl   $0x0,0x8(%eax)
40d331:	89 10                	mov    %edx,(%eax)
40d333:	89 48 04             	mov    %ecx,0x4(%eax)
40d336:	c2 04 00             	ret    $0x4
40d339:	b8 51 35 48 00       	mov    $0x483551,%eax
40d33e:	e8 39 a9 00 00       	call   0x417c7c
40d343:	83 ec 0c             	sub    $0xc,%esp
40d346:	53                   	push   %ebx
40d347:	56                   	push   %esi
40d348:	8b d9                	mov    %ecx,%ebx
40d34a:	57                   	push   %edi
40d34b:	8d 73 48             	lea    0x48(%ebx),%esi
40d34e:	33 ff                	xor    %edi,%edi
40d350:	39 3e                	cmp    %edi,(%esi)
40d352:	89 65 f0             	mov    %esp,-0x10(%ebp)
40d355:	89 5d ec             	mov    %ebx,-0x14(%ebp)
40d358:	75 3a                	jne    0x40d394
40d35a:	8b 03                	mov    (%ebx),%eax
40d35c:	56                   	push   %esi
40d35d:	ff 90 24 01 00 00    	call   *0x124(%eax)
40d363:	3b c7                	cmp    %edi,%eax
40d365:	74 2d                	je     0x40d394
40d367:	39 3e                	cmp    %edi,(%esi)
40d369:	75 29                	jne    0x40d394
40d36b:	89 7d fc             	mov    %edi,-0x4(%ebp)
40d36e:	e8 8e 05 06 00       	call   0x46d901
40d373:	8b 88 38 10 00 00    	mov    0x1038(%eax),%ecx
40d379:	8b 01                	mov    (%ecx),%eax
40d37b:	53                   	push   %ebx
40d37c:	ff 50 08             	call   *0x8(%eax)
40d37f:	89 06                	mov    %eax,(%esi)
40d381:	eb 11                	jmp    0x40d394
40d383:	8b 4d e8             	mov    -0x18(%ebp),%ecx
40d386:	e8 8e 2b 03 00       	call   0x43ff19
40d38b:	b8 91 d3 40 00       	mov    $0x40d391,%eax
40d390:	c3                   	ret
40d391:	8b 5d ec             	mov    -0x14(%ebp),%ebx
40d394:	83 4d fc ff          	orl    $0xffffffff,-0x4(%ebp)
40d398:	83 7b 48 00          	cmpl   $0x0,0x48(%ebx)
40d39c:	74 3f                	je     0x40d3dd
40d39e:	8b f3                	mov    %ebx,%esi
40d3a0:	bf 00 01 00 00       	mov    $0x100,%edi