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
40d3a5:	8b 46 38             	mov    0x38(%esi),%eax
40d3a8:	85 c7                	test   %eax,%edi
40d3aa:	75 31                	jne    0x40d3dd
40d3ac:	ff 76 1c             	push   0x1c(%esi)
40d3af:	0b c7                	or     %edi,%eax
40d3b1:	89 46 38             	mov    %eax,0x38(%esi)
40d3b4:	ff 15 d8 07 4b 00    	call   *0x4b07d8
40d3ba:	50                   	push   %eax
40d3bb:	e8 e2 78 03 00       	call   0x444ca2
40d3c0:	8b f0                	mov    %eax,%esi
40d3c2:	85 f6                	test   %esi,%esi
40d3c4:	74 03                	je     0x40d3c9
40d3c6:	8b 46 1c             	mov    0x1c(%esi),%eax
40d3c9:	6a f0                	push   $0xfffffff0
40d3cb:	50                   	push   %eax
40d3cc:	ff 15 14 08 4b 00    	call   *0x4b0814
40d3d2:	a9 00 00 00 40       	test   $0x40000000,%eax
40d3d7:	74 04                	je     0x40d3dd
40d3d9:	85 f6                	test   %esi,%esi
40d3db:	75 c8                	jne    0x40d3a5
40d3dd:	8b 4d f4             	mov    -0xc(%ebp),%ecx
40d3e0:	33 c0                	xor    %eax,%eax
40d3e2:	39 43 48             	cmp    %eax,0x48(%ebx)
40d3e5:	5f                   	pop    %edi
40d3e6:	5e                   	pop    %esi
40d3e7:	0f 95 c0             	setne  %al
40d3ea:	64 89 0d 00 00 00 00 	mov    %ecx,%fs:0x0
40d3f1:	5b                   	pop    %ebx
40d3f2:	c9                   	leave
40d3f3:	c3                   	ret
40d3f4:	e9 ad f2 02 00       	jmp    0x43c6a6
40d3f9:	8b c1                	mov    %ecx,%eax
40d3fb:	c3                   	ret
40d3fc:	b8 79 35 48 00       	mov    $0x483579,%eax
40d401:	e8 76 a8 00 00       	call   0x417c7c
40d406:	83 ec 0c             	sub    $0xc,%esp
40d409:	53                   	push   %ebx
40d40a:	56                   	push   %esi
40d40b:	8b f1                	mov    %ecx,%esi
40d40d:	57                   	push   %edi
40d40e:	89 75 e8             	mov    %esi,-0x18(%ebp)
40d411:	c7 06 a4 c3 48 00    	movl   $0x48c3a4,(%esi)
40d417:	8b 46 40             	mov    0x40(%esi),%eax
40d41a:	85 c0                	test   %eax,%eax
40d41c:	c7 45 fc 02 00 00 00 	movl   $0x2,-0x4(%ebp)
40d423:	89 45 f0             	mov    %eax,-0x10(%ebp)
40d426:	74 42                	je     0x40d46a
40d428:	8d 5e 3c             	lea    0x3c(%esi),%ebx
40d42b:	89 45 ec             	mov    %eax,-0x14(%ebp)
40d42e:	8d 45 f0             	lea    -0x10(%ebp),%eax
40d431:	50                   	push   %eax
40d432:	8b cb                	mov    %ebx,%ecx
40d434:	e8 29 a0 ff ff       	call   0x407462
40d439:	8b 38                	mov    (%eax),%edi
40d43b:	8b 47 04             	mov    0x4(%edi),%eax
40d43e:	85 c0                	test   %eax,%eax
40d440:	74 21                	je     0x40d463
40d442:	83 b8 8c 00 00 00 00 	cmpl   $0x0,0x8c(%eax)
40d449:	75 18                	jne    0x40d463
40d44b:	ff 75 ec             	push   -0x14(%ebp)
40d44e:	8b cb                	mov    %ebx,%ecx
40d450:	e8 b1 f1 02 00       	call   0x43c606
40d455:	8b cf                	mov    %edi,%ecx
40d457:	e8 8e fa ff ff       	call   0x40ceea
40d45c:	57                   	push   %edi
40d45d:	e8 1e 2c 03 00       	call   0x440080
40d462:	59                   	pop    %ecx
40d463:	8b 45 f0             	mov    -0x10(%ebp),%eax
40d466:	85 c0                	test   %eax,%eax
40d468:	75 c1                	jne    0x40d42b
40d46a:	83 7e 48 00          	cmpl   $0x0,0x48(%esi)
40d46e:	74 24                	je     0x40d494
40d470:	8d 5e 3c             	lea    0x3c(%esi),%ebx
40d473:	8b cb                	mov    %ebx,%ecx
40d475:	e8 44 f1 02 00       	call   0x43c5be
40d47a:	8b f8                	mov    %eax,%edi
40d47c:	85 ff                	test   %edi,%edi
40d47e:	74 0e                	je     0x40d48e
40d480:	8b cf                	mov    %edi,%ecx
40d482:	e8 63 fa ff ff       	call   0x40ceea
40d487:	57                   	push   %edi
40d488:	e8 f3 2b 03 00       	call   0x440080
40d48d:	59                   	pop    %ecx
40d48e:	83 7e 48 00          	cmpl   $0x0,0x48(%esi)
40d492:	75 df                	jne    0x40d473
40d494:	8d 7e 20             	lea    0x20(%esi),%edi
40d497:	8b cf                	mov    %edi,%ecx
40d499:	e8 ac 12 03 00       	call   0x43e74a
40d49e:	8d 46 60             	lea    0x60(%esi),%eax
40d4a1:	50                   	push   %eax
40d4a2:	e8 7c 6a 06 00       	call   0x473f23
40d4a7:	8d 4e 3c             	lea    0x3c(%esi),%ecx
40d4aa:	c6 45 fc 01          	movb   $0x1,-0x4(%ebp)
40d4ae:	e8 f3 f1 02 00       	call   0x43c6a6
40d4b3:	8b cf                	mov    %edi,%ecx
40d4b5:	c6 45 fc 00          	movb   $0x0,-0x4(%ebp)
40d4b9:	e8 51 14 03 00       	call   0x43e90f
40d4be:	83 4d fc ff          	orl    $0xffffffff,-0x4(%ebp)
40d4c2:	8b ce                	mov    %esi,%ecx
40d4c4:	e8 55 4c 03 00       	call   0x44211e
40d4c9:	8b 4d f4             	mov    -0xc(%ebp),%ecx
40d4cc:	5f                   	pop    %edi
40d4cd:	5e                   	pop    %esi
40d4ce:	5b                   	pop    %ebx
40d4cf:	64 89 0d 00 00 00 00 	mov    %ecx,%fs:0x0
40d4d6:	c9                   	leave
40d4d7:	c3                   	ret
40d4d8:	55                   	push   %ebp
40d4d9:	8b ec                	mov    %esp,%ebp
40d4db:	51                   	push   %ecx
40d4dc:	51                   	push   %ecx
40d4dd:	8b 41 40             	mov    0x40(%ecx),%eax
40d4e0:	85 c0                	test   %eax,%eax
40d4e2:	89 45 f8             	mov    %eax,-0x8(%ebp)
40d4e5:	74 56                	je     0x40d53d
40d4e7:	57                   	push   %edi
40d4e8:	8d 79 3c             	lea    0x3c(%ecx),%edi
40d4eb:	8d 45 f8             	lea    -0x8(%ebp),%eax
40d4ee:	50                   	push   %eax
40d4ef:	8b cf                	mov    %edi,%ecx
40d4f1:	e8 6c 9f ff ff       	call   0x407462
40d4f6:	8b 00                	mov    (%eax),%eax
40d4f8:	8b 48 04             	mov    0x4(%eax),%ecx
40d4fb:	85 c9                	test   %ecx,%ecx
40d4fd:	74 37                	je     0x40d536
40d4ff:	83 79 4c 00          	cmpl   $0x0,0x4c(%ecx)
40d503:	74 31                	je     0x40d536
40d505:	83 65 fc 00          	andl   $0x0,-0x4(%ebp)
40d509:	8b 40 04             	mov    0x4(%eax),%eax
40d50c:	8b 40 4c             	mov    0x4c(%eax),%eax
40d50f:	8b 08                	mov    (%eax),%ecx
40d511:	8d 55 fc             	lea    -0x4(%ebp),%edx
40d514:	52                   	push   %edx
40d515:	68 9c 64 49 00       	push   $0x49649c
40d51a:	50                   	push   %eax
40d51b:	ff 11                	call   *(%ecx)
40d51d:	8b 45 fc             	mov    -0x4(%ebp),%eax
40d520:	85 c0                	test   %eax,%eax
40d522:	74 12                	je     0x40d536
40d524:	ff 75 08             	push   0x8(%ebp)
40d527:	8b 08                	mov    (%eax),%ecx
40d529:	50                   	push   %eax
40d52a:	ff 51 14             	call   *0x14(%ecx)
40d52d:	8b 45 fc             	mov    -0x4(%ebp),%eax
40d530:	8b 08                	mov    (%eax),%ecx
40d532:	50                   	push   %eax
40d533:	ff 51 08             	call   *0x8(%ecx)
40d536:	83 7d f8 00          	cmpl   $0x0,-0x8(%ebp)
40d53a:	75 af                	jne    0x40d4eb
40d53c:	5f                   	pop    %edi
40d53d:	c9                   	leave
40d53e:	c2 04 00             	ret    $0x4
40d541:	b8 83 35 48 00       	mov    $0x483583,%eax
40d546:	e8 31 a7 00 00       	call   0x417c7c
40d54b:	83 ec 10             	sub    $0x10,%esp
40d54e:	53                   	push   %ebx
40d54f:	56                   	push   %esi
40d550:	57                   	push   %edi
40d551:	89 65 f0             	mov    %esp,-0x10(%ebp)
40d554:	ff 75 0c             	push   0xc(%ebp)
40d557:	8b f1                	mov    %ecx,%esi
40d559:	ff 75 20             	push   0x20(%ebp)
40d55c:	8b 4e 1c             	mov    0x1c(%esi),%ecx
40d55f:	8d 55 ec             	lea    -0x14(%ebp),%edx
40d562:	33 ff                	xor    %edi,%edi
40d564:	52                   	push   %edx
40d565:	89 7d ec             	mov    %edi,-0x14(%ebp)
40d568:	8b 01                	mov    (%ecx),%eax
40d56a:	56                   	push   %esi
40d56b:	89 75 e8             	mov    %esi,-0x18(%ebp)
40d56e:	89 7d fc             	mov    %edi,-0x4(%ebp)
40d571:	ff 90 28 01 00 00    	call   *0x128(%eax)
40d577:	3b c7                	cmp    %edi,%eax
40d579:	74 2c                	je     0x40d5a7
40d57b:	39 7d ec             	cmp    %edi,-0x14(%ebp)