40528e:	cc                   	int3
40528f:	cc                   	int3
405290:	8b 44 24 08          	mov    0x8(%esp),%eax
405294:	81 38 58 ae d2 b1    	cmpl   $0xb1d2ae58,(%eax)
40529a:	75 21                	jne    0x4052bd
40529c:	81 78 04 56 c3 50 ca 	cmpl   $0xca50c356,0x4(%eax)
4052a3:	75 18                	jne    0x4052bd
4052a5:	81 78 08 89 00 00 63 	cmpl   $0x63000089,0x8(%eax)
4052ac:	75 0f                	jne    0x4052bd
4052ae:	81 78 0c f0 98 a8 3f 	cmpl   $0x3fa898f0,0xc(%eax)
4052b5:	75 06                	jne    0x4052bd
4052b7:	b8 01 00 00 00       	mov    $0x1,%eax
4052bc:	c3                   	ret
4052bd:	33 c0                	xor    %eax,%eax
4052bf:	c3                   	ret
4052c0:	83 ec 08             	sub    $0x8,%esp
4052c3:	80 7c 24 10 00       	cmpb   $0x0,0x10(%esp)
4052c8:	53                   	push   %ebx
4052c9:	55                   	push   %ebp
4052ca:	8b 2d 28 34 47 00    	mov    0x473428,%ebp
4052d0:	57                   	push   %edi
4052d1:	0f 84 b6 00 00 00    	je     0x40538d
4052d7:	6a ff                	push   $0xffffffff
4052d9:	e8 52 ff ff ff       	call   0x405230
4052de:	83 c4 04             	add    $0x4,%esp
4052e1:	84 c0                	test   %al,%al
4052e3:	0f 84 6b 01 00 00    	je     0x405454
4052e9:	68 d0 c8 45 00       	push   $0x45c8d0
4052ee:	68 b4 be 45 00       	push   $0x45beb4
4052f3:	e8 c8 a1 02 00       	call   0x42f4c0
4052f8:	83 c4 04             	add    $0x4,%esp
4052fb:	52                   	push   %edx
4052fc:	50                   	push   %eax
4052fd:	e8 fe a1 02 00       	call   0x42f500
405302:	8b da                	mov    %edx,%ebx
405304:	83 c4 0c             	add    $0xc,%esp
405307:	8b f8                	mov    %eax,%edi
405309:	0b c3                	or     %ebx,%eax
40530b:	0f 84 43 01 00 00    	je     0x405454
405311:	8d 4c 24 1c          	lea    0x1c(%esp),%ecx
405315:	51                   	push   %ecx
405316:	6a 05                	push   $0x5
405318:	8d 54 24 14          	lea    0x14(%esp),%edx
40531c:	52                   	push   %edx
40531d:	53                   	push   %ebx
40531e:	57                   	push   %edi
40531f:	56                   	push   %esi
405320:	e8 2b 9b 02 00       	call   0x42ee50
405325:	83 c4 18             	add    $0x18,%esp
405328:	85 c0                	test   %eax,%eax
40532a:	0f 88 24 01 00 00    	js     0x405454
405330:	83 7c 24 1c 05       	cmpl   $0x5,0x1c(%esp)
405335:	0f 85 19 01 00 00    	jne    0x405454
40533b:	80 7c 24 0c e9       	cmpb   $0xe9,0xc(%esp)
405340:	74 0c                	je     0x40534e
405342:	5f                   	pop    %edi
405343:	5d                   	pop    %ebp
405344:	b8 01 00 00 00       	mov    $0x1,%eax
405349:	5b                   	pop    %ebx
40534a:	83 c4 08             	add    $0x8,%esp
40534d:	c3                   	ret
40534e:	8b 44 24 0d          	mov    0xd(%esp),%eax
405352:	99                   	cltd
405353:	03 c7                	add    %edi,%eax
405355:	8d 4c 24 1c          	lea    0x1c(%esp),%ecx
405359:	51                   	push   %ecx
40535a:	13 d3                	adc    %ebx,%edx
40535c:	6a 08                	push   $0x8
40535e:	83 c0 fd             	add    $0xfffffffd,%eax
405361:	8d 4c 24 14          	lea    0x14(%esp),%ecx
405365:	51                   	push   %ecx
405366:	83 d2 ff             	adc    $0xffffffff,%edx
405369:	52                   	push   %edx
40536a:	50                   	push   %eax
40536b:	56                   	push   %esi
40536c:	e8 df 9a 02 00       	call   0x42ee50
405371:	83 c4 18             	add    $0x18,%esp
405374:	85 c0                	test   %eax,%eax
405376:	0f 88 d8 00 00 00    	js     0x405454
40537c:	83 7c 24 1c 08       	cmpl   $0x8,0x1c(%esp)
405381:	0f 85 cd 00 00 00    	jne    0x405454
405387:	8b 44 24 0c          	mov    0xc(%esp),%eax
40538b:	eb 7b                	jmp    0x405408
40538d:	68 d0 c8 45 00       	push   $0x45c8d0
405392:	68 b4 be 45 00       	push   $0x45beb4
405397:	ff 15 38 34 47 00    	call   *0x473438
40539d:	50                   	push   %eax
40539e:	ff 15 34 34 47 00    	call   *0x473434
4053a4:	8b f8                	mov    %eax,%edi
4053a6:	85 ff                	test   %edi,%edi
4053a8:	0f 84 a6 00 00 00    	je     0x405454
4053ae:	8d 54 24 1c          	lea    0x1c(%esp),%edx
4053b2:	52                   	push   %edx
4053b3:	bb 05 00 00 00       	mov    $0x5,%ebx
4053b8:	53                   	push   %ebx
4053b9:	8d 44 24 14          	lea    0x14(%esp),%eax
4053bd:	50                   	push   %eax
4053be:	57                   	push   %edi
4053bf:	56                   	push   %esi
4053c0:	ff d5                	call   *%ebp
4053c2:	85 c0                	test   %eax,%eax
4053c4:	0f 84 8a 00 00 00    	je     0x405454
4053ca:	39 5c 24 1c          	cmp    %ebx,0x1c(%esp)
4053ce:	0f 85 80 00 00 00    	jne    0x405454
4053d4:	80 7c 24 0c e9       	cmpb   $0xe9,0xc(%esp)
4053d9:	0f 85 63 ff ff ff    	jne    0x405342
4053df:	8b 4c 24 0d          	mov    0xd(%esp),%ecx
4053e3:	8d 54 24 1c          	lea    0x1c(%esp),%edx
4053e7:	52                   	push   %edx
4053e8:	53                   	push   %ebx
4053e9:	8d 44 24 14          	lea    0x14(%esp),%eax
4053ed:	50                   	push   %eax
4053ee:	8d 7c 0f 05          	lea    0x5(%edi,%ecx,1),%edi
4053f2:	57                   	push   %edi
4053f3:	56                   	push   %esi
4053f4:	ff d5                	call   *%ebp
4053f6:	85 c0                	test   %eax,%eax
4053f8:	74 5a                	je     0x405454
4053fa:	39 5c 24 1c          	cmp    %ebx,0x1c(%esp)
4053fe:	75 54                	jne    0x405454
405400:	8b 4c 24 0d          	mov    0xd(%esp),%ecx
405404:	8d 44 0f 05          	lea    0x5(%edi,%ecx,1),%eax
405408:	25 00 f0 ff ff       	and    $0xfffff000,%eax
40540d:	85 c0                	test   %eax,%eax
40540f:	74 43                	je     0x405454
405411:	8b 7c 24 18          	mov    0x18(%esp),%edi
405415:	8d 54 24 1c          	lea    0x1c(%esp),%edx
405419:	52                   	push   %edx
40541a:	68 2c 08 00 00       	push   $0x82c
40541f:	57                   	push   %edi
405420:	50                   	push   %eax
405421:	56                   	push   %esi
405422:	ff d5                	call   *%ebp
405424:	85 c0                	test   %eax,%eax
405426:	0f 84 16 ff ff ff    	je     0x405342
40542c:	81 7c 24 1c 2c 08 00 	cmpl   $0x82c,0x1c(%esp)
405433:	00
405434:	0f 85 08 ff ff ff    	jne    0x405342
40543a:	57                   	push   %edi
40543b:	56                   	push   %esi
40543c:	e8 4f fe ff ff       	call   0x405290
405441:	83 c4 08             	add    $0x8,%esp
405444:	33 c9                	xor    %ecx,%ecx
405446:	84 c0                	test   %al,%al
405448:	0f 94 c1             	sete   %cl
40544b:	5f                   	pop    %edi
40544c:	5d                   	pop    %ebp
40544d:	5b                   	pop    %ebx
40544e:	8b c1                	mov    %ecx,%eax
405450:	83 c4 08             	add    $0x8,%esp
405453:	c3                   	ret
405454:	5f                   	pop    %edi
405455:	5d                   	pop    %ebp
405456:	b8 02 00 00 00       	mov    $0x2,%eax
40545b:	5b                   	pop    %ebx
40545c:	83 c4 08             	add    $0x8,%esp
40545f:	c3                   	ret
405460:	8b 44 24 08          	mov    0x8(%esp),%eax
405464:	56                   	push   %esi
405465:	8b 74 24 08          	mov    0x8(%esp),%esi
405469:	6a 01                	push   $0x1
40546b:	50                   	push   %eax
40546c:	e8 4f fe ff ff       	call   0x4052c0
405471:	83 c4 08             	add    $0x8,%esp
405474:	5e                   	pop    %esi
405475:	c3                   	ret
405476:	cc                   	int3
405477:	cc                   	int3
405478:	cc                   	int3
405479:	cc                   	int3
40547a:	cc                   	int3
40547b:	cc                   	int3
40547c:	cc                   	int3
40547d:	cc                   	int3
40547e:	cc                   	int3
40547f:	cc                   	int3
405480:	8b 44 24 08          	mov    0x8(%esp),%eax
405484:	56                   	push   %esi
405485:	8b 74 24 08          	mov    0x8(%esp),%esi
405489:	6a 00                	push   $0x0
40548b:	50                   	push   %eax
40548c:	e8 2f fe ff ff       	call   0x4052c0
405491:	83 c4 08             	add    $0x8,%esp
405494:	5e                   	pop    %esi
405495:	c3                   	ret
405496:	cc                   	int3
405497:	cc                   	int3
405498:	cc                   	int3
405499:	cc                   	int3
40549a:	cc                   	int3
40549b:	cc                   	int3
40549c:	cc                   	int3
40549d:	cc                   	int3
40549e:	cc                   	int3
40549f:	cc                   	int3
4054a0:	8b 44 24 04          	mov    0x4(%esp),%eax
4054a4:	c2 04 00             	ret    $0x4
4054a7:	cc                   	int3
4054a8:	cc                   	int3
4054a9:	cc                   	int3
4054aa:	cc                   	int3
4054ab:	cc                   	int3
4054ac:	cc                   	int3
4054ad:	cc                   	int3
4054ae:	cc                   	int3
4054af:	cc                   	int3
4054b0:	81 ec d0 02 00 00    	sub    $0x2d0,%esp
4054b6:	8d 04 24             	lea    (%esp),%eax
4054b9:	50                   	push   %eax
4054ba:	c7 44 24 04 00 00 00 	movl   $0x0,0x4(%esp)
4054c1:	00
4054c2:	e8 49 d6 ff ff       	call   0x402b10
4054c7:	83 c4 04             	add    $0x4,%esp
4054ca:	81 3c 24 8c 00 00 00 	cmpl   $0x8c,(%esp)
4054d1:	72 09                	jb     0x4054dc
4054d3:	33 c0                	xor    %eax,%eax
4054d5:	81 c4 d0 02 00 00    	add    $0x2d0,%esp
4054db:	c3                   	ret
4054dc:	83 3d 54 07 47 00 00 	cmpl   $0x0,0x470754
4054e3:	75 50                	jne    0x405535
4054e5:	56                   	push   %esi
4054e6:	6a 00                	push   $0x0
4054e8:	6a 04                	push   $0x4
4054ea:	6a 00                	push   $0x0
4054ec:	68 a0 54 40 00       	push   $0x4054a0
4054f1:	6a 00                	push   $0x0
4054f3:	6a 00                	push   $0x0
4054f5:	ff 15 94 34 47 00    	call   *0x473494
4054fb:	8b f0                	mov    %eax,%esi
4054fd:	85 f6                	test   %esi,%esi
4054ff:	74 33                	je     0x405534
405501:	8d 4c 24 08          	lea    0x8(%esp),%ecx
405505:	51                   	push   %ecx
405506:	56                   	push   %esi
405507:	c7 44 24 10 07 00 01 	movl   $0x10007,0x10(%esp)
40550e:	00
40550f:	ff 15 90 34 47 00    	call   *0x473490
405515:	85 c0                	test   %eax,%eax
405517:	74 0d                	je     0x405526
405519:	8b 94 24 c0 00 00 00 	mov    0xc0(%esp),%edx
405520:	89 15 54 07 47 00    	mov    %edx,0x470754
405526:	56                   	push   %esi
405527:	ff 15 8c 34 47 00    	call   *0x47348c
40552d:	56                   	push   %esi
40552e:	ff 15 2c 34 47 00    	call   *0x47342c
405534:	5e                   	pop    %esi
405535:	a1 54 07 47 00       	mov    0x470754,%eax
40553a:	81 c4 d0 02 00 00    	add    $0x2d0,%esp
405540:	c3                   	ret
405541:	cc                   	int3
405542:	cc                   	int3
405543:	cc                   	int3
405544:	cc                   	int3
405545:	cc                   	int3
405546:	cc                   	int3
405547:	cc                   	int3
405548:	cc                   	int3
405549:	cc                   	int3
40554a:	cc                   	int3
40554b:	cc                   	int3
40554c:	cc                   	int3
40554d:	cc                   	int3
40554e:	cc                   	int3
40554f:	cc                   	int3
405550:	81 ec 1c 03 00 00    	sub    $0x31c,%esp
405556:	53                   	push   %ebx
405557:	55                   	push   %ebp
405558:	8b ac 24 38 03 00 00 	mov    0x338(%esp),%ebp
40555f:	33 c0                	xor    %eax,%eax
405561:	57                   	push   %edi
405562:	33 db                	xor    %ebx,%ebx
405564:	68 c8 02 00 00       	push   $0x2c8
405569:	89 44 24 24          	mov    %eax,0x24(%esp)
40556d:	89 44 24 28          	mov    %eax,0x28(%esp)
405571:	89 44 24 2c          	mov    %eax,0x2c(%esp)
405575:	89 44 24 30          	mov    %eax,0x30(%esp)
405579:	8d 44 24 64          	lea    0x64(%esp),%eax
40557d:	53                   	push   %ebx
40557e:	50                   	push   %eax
40557f:	89 5c 24 1c          	mov    %ebx,0x1c(%esp)
405583:	89 5c 24 28          	mov    %ebx,0x28(%esp)
405587:	89 5c 24 68          	mov    %ebx,0x68(%esp)
40558b:	e8 e0 b5 02 00       	call   0x430b70
405590:	8b 8c 24 3c 03 00 00 	mov    0x33c(%esp),%ecx
405597:	56                   	push   %esi
405598:	89 5c 24 24          	mov    %ebx,0x24(%esp)
40559c:	89 5c 24 28          	mov    %ebx,0x28(%esp)
4055a0:	89 4c 24 1c          	mov    %ecx,0x1c(%esp)
4055a4:	e8 17 d7 ff ff       	call   0x402cc0
4055a9:	83 c4 10             	add    $0x10,%esp
4055ac:	8b f8                	mov    %eax,%edi
4055ae:	39 1d 50 07 47 00    	cmp    %ebx,0x470750
4055b4:	75 24                	jne    0x4055da
4055b6:	68 00 c9 45 00       	push   $0x45c900
4055bb:	68 b4 be 45 00       	push   $0x45beb4
4055c0:	ff 15 38 34 47 00    	call   *0x473438
4055c6:	50                   	push   %eax
4055c7:	ff 15 34 34 47 00    	call   *0x473434
4055cd:	a3 50 07 47 00       	mov    %eax,0x470750
4055d2:	3b c3                	cmp    %ebx,%eax
4055d4:	0f 84 90 02 00 00    	je     0x40586a
4055da:	8d 54 24 14          	lea    0x14(%esp),%edx
4055de:	52                   	push   %edx
4055df:	53                   	push   %ebx
4055e0:	53                   	push   %ebx
4055e1:	53                   	push   %ebx
4055e2:	53                   	push   %ebx
4055e3:	6a 04                	push   $0x4
4055e5:	6a 06                	push   $0x6
4055e7:	56                   	push   %esi
4055e8:	ff 15 a4 33 47 00    	call   *0x4733a4
4055ee:	8b 44 24 14          	mov    0x14(%esp),%eax
4055f2:	6a 04                	push   $0x4
4055f4:	68 00 20 00 00       	push   $0x2000
4055f9:	8d 8d 00 f0 ff ff    	lea    -0x1000(%ebp),%ecx
4055ff:	51                   	push   %ecx
405600:	53                   	push   %ebx
405601:	56                   	push   %esi
405602:	c7 44 24 4c 18 00 00 	movl   $0x18,0x4c(%esp)
405609:	00
40560a:	89 5c 24 50          	mov    %ebx,0x50(%esp)
40560e:	c7 44 24 58 40 00 00 	movl   $0x40,0x58(%esp)
405615:	00
405616:	89 5c 24 54          	mov    %ebx,0x54(%esp)
40561a:	89 44 24 5c          	mov    %eax,0x5c(%esp)
40561e:	89 5c 24 60          	mov    %ebx,0x60(%esp)
405622:	ff 15 a4 34 47 00    	call   *0x4734a4
405628:	8b 8c 24 50 03 00 00 	mov    0x350(%esp),%ecx
40562f:	89 44 24 2c          	mov    %eax,0x2c(%esp)
405633:	3b cb                	cmp    %ebx,%ecx
405635:	74 02                	je     0x405639
405637:	89 01                	mov    %eax,(%ecx)
405639:	3b c3                	cmp    %ebx,%eax
40563b:	0f 84 4c 02 00 00    	je     0x40588d
405641:	05 00 10 00 00       	add    $0x1000,%eax
405646:	89 44 24 2c          	mov    %eax,0x2c(%esp)
40564a:	8d 84 28 00 e0 ff ff 	lea    -0x2000(%eax,%ebp,1),%eax
405651:	89 44 24 24          	mov    %eax,0x24(%esp)
405655:	3b fb                	cmp    %ebx,%edi
405657:	74 09                	je     0x405662
405659:	2d 00 10 00 00       	sub    $0x1000,%eax
40565e:	89 44 24 24          	mov    %eax,0x24(%esp)
405662:	8b 8c 24 40 03 00 00 	mov    0x340(%esp),%ecx
405669:	8b d0                	mov    %eax,%edx
40566b:	2b d1                	sub    %ecx,%edx
40566d:	81 c1 00 10 00 00    	add    $0x1000,%ecx
405673:	2b c1                	sub    %ecx,%eax
405675:	89 54 24 28          	mov    %edx,0x28(%esp)
405679:	3b fb                	cmp    %ebx,%edi
40567b:	74 06                	je     0x405683