40532c:	83 7d 08 00          	cmpl   $0x0,0x8(%ebp)
405330:	74 76                	je     0x4053a8
405332:	8b 7d 18             	mov    0x18(%ebp),%edi
405335:	85 ff                	test   %edi,%edi
405337:	74 6f                	je     0x4053a8
405339:	83 3f 09             	cmpl   $0x9,(%edi)
40533c:	75 6a                	jne    0x4053a8
40533e:	8b 47 0c             	mov    0xc(%edi),%eax
405341:	89 45 ec             	mov    %eax,-0x14(%ebp)
405344:	85 c0                	test   %eax,%eax
405346:	74 60                	je     0x4053a8
405348:	83 65 fc 00          	andl   $0x0,-0x4(%ebp)
40534c:	6a 5c                	push   $0x5c
40534e:	ff 75 08             	push   0x8(%ebp)
405351:	ff 15 cc 22 41 00    	call   *0x4122cc
405357:	59                   	pop    %ecx
405358:	59                   	pop    %ecx
405359:	8b f0                	mov    %eax,%esi
40535b:	85 f6                	test   %esi,%esi
40535d:	75 05                	jne    0x405364
40535f:	8b 75 08             	mov    0x8(%ebp),%esi
405362:	eb 0a                	jmp    0x40536e
405364:	83 c6 02             	add    $0x2,%esi
405367:	33 c0                	xor    %eax,%eax
405369:	66 39 06             	cmp    %ax,(%esi)
40536c:	74 3a                	je     0x4053a8
40536e:	8b 57 08             	mov    0x8(%edi),%edx
405371:	85 d2                	test   %edx,%edx
405373:	74 10                	je     0x405385
405375:	ff 77 04             	push   0x4(%edi)
405378:	6a 01                	push   $0x1
40537a:	8b ce                	mov    %esi,%ecx
40537c:	e8 19 51 00 00       	call   0x40a49a
405381:	85 c0                	test   %eax,%eax
405383:	75 10                	jne    0x405395
405385:	51                   	push   %ecx
405386:	8b d6                	mov    %esi,%edx
405388:	8b 4d ec             	mov    -0x14(%ebp),%ecx
40538b:	e8 6f 37 00 00       	call   0x408aff
405390:	83 f8 ff             	cmp    $0xffffffff,%eax
405393:	74 13                	je     0x4053a8
405395:	83 4d fc ff          	orl    $0xffffffff,-0x4(%ebp)
405399:	33 c0                	xor    %eax,%eax
40539b:	40                   	inc    %eax
40539c:	eb 0c                	jmp    0x4053aa
40539e:	b8 a4 53 40 00       	mov    $0x4053a4,%eax
4053a3:	c3                   	ret
4053a4:	83 4d fc ff          	orl    $0xffffffff,-0x4(%ebp)
4053a8:	33 c0                	xor    %eax,%eax
4053aa:	e8 4a 9f 00 00       	call   0x40f2f9
4053af:	c2 14 00             	ret    $0x14
4053b2:	8b ff                	mov    %edi,%edi
4053b4:	53                   	push   %ebx
4053b5:	56                   	push   %esi
4053b6:	57                   	push   %edi
4053b7:	8b f9                	mov    %ecx,%edi
4053b9:	b9 97 00 00 00       	mov    $0x97,%ecx
4053be:	8b 77 50             	mov    0x50(%edi),%esi
4053c1:	e8 8b 46 00 00       	call   0x409a51
4053c6:	8b c8                	mov    %eax,%ecx
4053c8:	e8 68 48 00 00       	call   0x409c35
4053cd:	33 db                	xor    %ebx,%ebx
4053cf:	89 86 00 02 00 00    	mov    %eax,0x200(%esi)
4053d5:	6a 41                	push   $0x41
4053d7:	8d 8e 08 02 00 00    	lea    0x208(%esi),%ecx
4053dd:	c7 86 04 02 00 00 10 	movl   $0x1010,0x204(%esi)
4053e4:	10 00 00
4053e7:	ba 30 12 40 00       	mov    $0x401230,%edx
4053ec:	89 9e 8c 02 00 00    	mov    %ebx,0x28c(%esi)
4053f2:	89 9e 90 02 00 00    	mov    %ebx,0x290(%esi)
4053f8:	e8 f9 4f 00 00       	call   0x40a3f6
4053fd:	68 00 01 00 00       	push   $0x100
405402:	6a 65                	push   $0x65
405404:	59                   	pop    %ecx
405405:	e8 47 46 00 00       	call   0x409a51
40540a:	8b d0                	mov    %eax,%edx
40540c:	8b ce                	mov    %esi,%ecx
40540e:	e8 e3 4f 00 00       	call   0x40a3f6
405413:	8b 77 50             	mov    0x50(%edi),%esi
405416:	b9 98 00 00 00       	mov    $0x98,%ecx
40541b:	81 c6 78 0f 00 00    	add    $0xf78,%esi
405421:	e8 2b 46 00 00       	call   0x409a51
405426:	8b c8                	mov    %eax,%ecx
405428:	e8 08 48 00 00       	call   0x409c35
40542d:	6a 41                	push   $0x41
40542f:	8d 8e 08 02 00 00    	lea    0x208(%esi),%ecx
405435:	89 86 00 02 00 00    	mov    %eax,0x200(%esi)
40543b:	ba 30 12 40 00       	mov    $0x401230,%edx
405440:	c7 86 04 02 00 00 10 	movl   $0x101010,0x204(%esi)
405447:	10 10 00
40544a:	89 9e 8c 02 00 00    	mov    %ebx,0x28c(%esi)
405450:	89 9e 90 02 00 00    	mov    %ebx,0x290(%esi)
405456:	e8 9b 4f 00 00       	call   0x40a3f6
40545b:	68 00 01 00 00       	push   $0x100
405460:	6a 66                	push   $0x66
405462:	59                   	pop    %ecx
405463:	e8 e9 45 00 00       	call   0x409a51
405468:	8b d0                	mov    %eax,%edx
40546a:	8b ce                	mov    %esi,%ecx
40546c:	e8 85 4f 00 00       	call   0x40a3f6
405471:	8b 77 50             	mov    0x50(%edi),%esi
405474:	b9 a6 00 00 00       	mov    $0xa6,%ecx
405479:	81 c6 94 02 00 00    	add    $0x294,%esi
40547f:	39 5f 18             	cmp    %ebx,0x18(%edi)
405482:	75 03                	jne    0x405487
405484:	83 c1 f3             	add    $0xfffffff3,%ecx
405487:	e8 c5 45 00 00       	call   0x409a51
40548c:	8b c8                	mov    %eax,%ecx
40548e:	e8 a2 47 00 00       	call   0x409c35
405493:	6a 41                	push   $0x41
405495:	8d 8e 08 02 00 00    	lea    0x208(%esi),%ecx
40549b:	89 86 00 02 00 00    	mov    %eax,0x200(%esi)
4054a1:	ba 30 12 40 00       	mov    $0x401230,%edx
4054a6:	c7 86 04 02 00 00 10 	movl   $0x1010,0x204(%esi)
4054ad:	10 00 00
4054b0:	89 9e 8c 02 00 00    	mov    %ebx,0x28c(%esi)
4054b6:	89 9e 90 02 00 00    	mov    %ebx,0x290(%esi)
4054bc:	e8 35 4f 00 00       	call   0x40a3f6
4054c1:	68 00 01 00 00       	push   $0x100
4054c6:	6a 67                	push   $0x67
4054c8:	59                   	pop    %ecx
4054c9:	e8 83 45 00 00       	call   0x409a51
4054ce:	8b d0                	mov    %eax,%edx
4054d0:	8b ce                	mov    %esi,%ecx
4054d2:	e8 1f 4f 00 00       	call   0x40a3f6
4054d7:	8b 77 50             	mov    0x50(%edi),%esi
4054da:	b9 9a 00 00 00       	mov    $0x9a,%ecx
4054df:	81 c6 28 05 00 00    	add    $0x528,%esi
4054e5:	e8 67 45 00 00       	call   0x409a51
4054ea:	8b c8                	mov    %eax,%ecx
4054ec:	e8 44 47 00 00       	call   0x409c35
4054f1:	6a 41                	push   $0x41
4054f3:	8d 8e 08 02 00 00    	lea    0x208(%esi),%ecx
4054f9:	89 86 00 02 00 00    	mov    %eax,0x200(%esi)
4054ff:	ba 30 12 40 00       	mov    $0x401230,%edx
405504:	c7 86 04 02 00 00 20 	movl   $0x1020,0x204(%esi)
40550b:	10 00 00
40550e:	89 9e 8c 02 00 00    	mov    %ebx,0x28c(%esi)
405514:	89 9e 90 02 00 00    	mov    %ebx,0x290(%esi)
40551a:	e8 d7 4e 00 00       	call   0x40a3f6
40551f:	68 00 01 00 00       	push   $0x100
405524:	6a 68                	push   $0x68
405526:	59                   	pop    %ecx
405527:	e8 25 45 00 00       	call   0x409a51
40552c:	8b d0                	mov    %eax,%edx
40552e:	8b ce                	mov    %esi,%ecx
405530:	e8 c1 4e 00 00       	call   0x40a3f6
405535:	8b 77 50             	mov    0x50(%edi),%esi
405538:	b9 a2 00 00 00       	mov    $0xa2,%ecx
40553d:	81 c6 bc 07 00 00    	add    $0x7bc,%esi
405543:	e8 09 45 00 00       	call   0x409a51
405548:	8b c8                	mov    %eax,%ecx
40554a:	e8 e6 46 00 00       	call   0x409c35
40554f:	6a 41                	push   $0x41
405551:	8d 8e 08 02 00 00    	lea    0x208(%esi),%ecx
405557:	89 86 00 02 00 00    	mov    %eax,0x200(%esi)
40555d:	ba 30 12 40 00       	mov    $0x401230,%edx
405562:	c7 86 04 02 00 00 10 	movl   $0x1010,0x204(%esi)
405569:	10 00 00
40556c:	89 9e 8c 02 00 00    	mov    %ebx,0x28c(%esi)
405572:	89 9e 90 02 00 00    	mov    %ebx,0x290(%esi)
405578:	e8 79 4e 00 00       	call   0x40a3f6
40557d:	68 00 01 00 00       	push   $0x100
405582:	6a 6f                	push   $0x6f
405584:	59                   	pop    %ecx
405585:	e8 c7 44 00 00       	call   0x409a51
40558a:	8b d0                	mov    %eax,%edx
40558c:	8b ce                	mov    %esi,%ecx
40558e:	e8 63 4e 00 00       	call   0x40a3f6
405593:	8b 77 50             	mov    0x50(%edi),%esi
405596:	bb 10 10 01 00       	mov    $0x11010,%ebx
40559b:	83 a6 dc 0c 00 00 00 	andl   $0x0,0xcdc(%esi)
4055a2:	81 c6 50 0a 00 00    	add    $0xa50,%esi
4055a8:	6a 41                	push   $0x41
4055aa:	ba 30 12 40 00       	mov    $0x401230,%edx
4055af:	83 a6 90 02 00 00 00 	andl   $0x0,0x290(%esi)
4055b6:	8d 8e 08 02 00 00    	lea    0x208(%esi),%ecx
4055bc:	c7 86 00 02 00 00 0b 	movl   $0xb,0x200(%esi)
4055c3:	00 00 00
4055c6:	89 9e 04 02 00 00    	mov    %ebx,0x204(%esi)
4055cc:	e8 25 4e 00 00       	call   0x40a3f6
4055d1:	68 00 01 00 00       	push   $0x100
4055d6:	6a 69                	push   $0x69
4055d8:	59                   	pop    %ecx
4055d9:	e8 73 44 00 00       	call   0x409a51
4055de:	8b d0                	mov    %eax,%edx
4055e0:	8b ce                	mov    %esi,%ecx
4055e2:	e8 0f 4e 00 00       	call   0x40a3f6
4055e7:	8b 77 50             	mov    0x50(%edi),%esi
4055ea:	b9 9d 00 00 00       	mov    $0x9d,%ecx
4055ef:	81 c6 34 17 00 00    	add    $0x1734,%esi
4055f5:	e8 57 44 00 00       	call   0x409a51
4055fa:	8b c8                	mov    %eax,%ecx
4055fc:	e8 34 46 00 00       	call   0x409c35
405601:	83 a6 8c 02 00 00 00 	andl   $0x0,0x28c(%esi)
405608:	8d 8e 08 02 00 00    	lea    0x208(%esi),%ecx
40560e:	83 a6 90 02 00 00 00 	andl   $0x0,0x290(%esi)
405615:	ba 30 12 40 00       	mov    $0x401230,%edx
40561a:	6a 41                	push   $0x41
40561c:	89 86 00 02 00 00    	mov    %eax,0x200(%esi)
405622:	c7 86 04 02 00 00 10 	movl   $0x101010,0x204(%esi)
405629:	10 10 00
40562c:	e8 c5 4d 00 00       	call   0x40a3f6
405631:	68 00 01 00 00       	push   $0x100
405636:	6a 6b                	push   $0x6b
405638:	59                   	pop    %ecx
405639:	e8 13 44 00 00       	call   0x409a51
40563e:	8b d0                	mov    %eax,%edx
405640:	8b ce                	mov    %esi,%ecx
405642:	e8 af 4d 00 00       	call   0x40a3f6
405647:	8b 77 50             	mov    0x50(%edi),%esi
40564a:	b9 9c 00 00 00       	mov    $0x9c,%ecx
40564f:	81 c6 0c 12 00 00    	add    $0x120c,%esi
405655:	e8 f7 43 00 00       	call   0x409a51
40565a:	8b c8                	mov    %eax,%ecx
40565c:	e8 d4 45 00 00       	call   0x409c35
405661:	83 a6 8c 02 00 00 00 	andl   $0x0,0x28c(%esi)
405668:	8d 8e 08 02 00 00    	lea    0x208(%esi),%ecx
40566e:	83 a6 90 02 00 00 00 	andl   $0x0,0x290(%esi)
405675:	ba 30 12 40 00       	mov    $0x401230,%edx
40567a:	6a 41                	push   $0x41
40567c:	89 86 00 02 00 00    	mov    %eax,0x200(%esi)
405682:	c7 86 04 02 00 00 10 	movl   $0x1010,0x204(%esi)
405689:	10 00 00
40568c:	e8 65 4d 00 00       	call   0x40a3f6
405691:	68 00 01 00 00       	push   $0x100
405696:	6a 6a                	push   $0x6a
405698:	59                   	pop    %ecx
405699:	e8 b3 43 00 00       	call   0x409a51
40569e:	8b d0                	mov    %eax,%edx
4056a0:	8b ce                	mov    %esi,%ecx
4056a2:	e8 4f 4d 00 00       	call   0x40a3f6
4056a7:	8b 77 50             	mov    0x50(%edi),%esi
4056aa:	b9 9e 00 00 00       	mov    $0x9e,%ecx
4056af:	81 c6 a0 14 00 00    	add    $0x14a0,%esi
4056b5:	e8 97 43 00 00       	call   0x409a51
4056ba:	8b c8                	mov    %eax,%ecx
4056bc:	e8 74 45 00 00       	call   0x409c35
4056c1:	83 a6 8c 02 00 00 00 	andl   $0x0,0x28c(%esi)
4056c8:	8d 8e 08 02 00 00    	lea    0x208(%esi),%ecx
4056ce:	83 a6 90 02 00 00 00 	andl   $0x0,0x290(%esi)
4056d5:	ba 30 12 40 00       	mov    $0x401230,%edx
4056da:	6a 41                	push   $0x41
4056dc:	89 86 00 02 00 00    	mov    %eax,0x200(%esi)
4056e2:	89 9e 04 02 00 00    	mov    %ebx,0x204(%esi)
4056e8:	e8 09 4d 00 00       	call   0x40a3f6
4056ed:	68 00 01 00 00       	push   $0x100
4056f2:	6a 6c                	push   $0x6c
4056f4:	59                   	pop    %ecx
4056f5:	e8 57 43 00 00       	call   0x409a51
4056fa:	8b d0                	mov    %eax,%edx
4056fc:	8b ce                	mov    %esi,%ecx
4056fe:	e8 f3 4c 00 00       	call   0x40a3f6
405703:	8b 77 50             	mov    0x50(%edi),%esi
405706:	b9 9f 00 00 00       	mov    $0x9f,%ecx
40570b:	81 c6 e4 0c 00 00    	add    $0xce4,%esi
405711:	e8 3b 43 00 00       	call   0x409a51
405716:	8b c8                	mov    %eax,%ecx
405718:	e8 18 45 00 00       	call   0x409c35
40571d:	83 a6 8c 02 00 00 00 	andl   $0x0,0x28c(%esi)
405724:	8d 8e 08 02 00 00    	lea    0x208(%esi),%ecx
40572a:	83 a6 90 02 00 00 00 	andl   $0x0,0x290(%esi)
405731:	ba 30 12 40 00       	mov    $0x401230,%edx
405736:	6a 41                	push   $0x41
405738:	89 86 00 02 00 00    	mov    %eax,0x200(%esi)
40573e:	89 9e 04 02 00 00    	mov    %ebx,0x204(%esi)
405744:	e8 ad 4c 00 00       	call   0x40a3f6
405749:	68 00 01 00 00       	push   $0x100
40574e:	6a 6d                	push   $0x6d
405750:	59                   	pop    %ecx
405751:	e8 fb 42 00 00       	call   0x409a51
405756:	8b d0                	mov    %eax,%edx
405758:	8b ce                	mov    %esi,%ecx
40575a:	e8 97 4c 00 00       	call   0x40a3f6
40575f:	8b 77 50             	mov    0x50(%edi),%esi
405762:	b9 a4 00 00 00       	mov    $0xa4,%ecx
405767:	81 c6 c8 19 00 00    	add    $0x19c8,%esi
40576d:	e8 df 42 00 00       	call   0x409a51
405772:	8b c8                	mov    %eax,%ecx
405774:	e8 bc 44 00 00       	call   0x409c35
405779:	83 a6 8c 02 00 00 00 	andl   $0x0,0x28c(%esi)
405780:	8d 8e 08 02 00 00    	lea    0x208(%esi),%ecx
405786:	83 a6 90 02 00 00 00 	andl   $0x0,0x290(%esi)
40578d:	bb 10 d0 18 00       	mov    $0x18d010,%ebx
405792:	6a 41                	push   $0x41
405794:	ba 30 12 40 00       	mov    $0x401230,%edx
405799:	89 86 00 02 00 00    	mov    %eax,0x200(%esi)
40579f:	89 9e 04 02 00 00    	mov    %ebx,0x204(%esi)
4057a5:	e8 4c 4c 00 00       	call   0x40a3f6
4057aa:	68 00 01 00 00       	push   $0x100
4057af:	6a 6e                	push   $0x6e
4057b1:	59                   	pop    %ecx
4057b2:	e8 9a 42 00 00       	call   0x409a51
4057b7:	8b d0                	mov    %eax,%edx
4057b9:	8b ce                	mov    %esi,%ecx
4057bb:	e8 36 4c 00 00       	call   0x40a3f6
4057c0:	8b 77 50             	mov    0x50(%edi),%esi
4057c3:	b9 a4 00 00 00       	mov    $0xa4,%ecx
4057c8:	81 c6 5c 1c 00 00    	add    $0x1c5c,%esi
4057ce:	e8 7e 42 00 00       	call   0x409a51
4057d3:	8b c8                	mov    %eax,%ecx
4057d5:	e8 5b 44 00 00       	call   0x409c35
4057da:	89 9e 04 02 00 00    	mov    %ebx,0x204(%esi)
4057e0:	8d 8e 08 02 00 00    	lea    0x208(%esi),%ecx
4057e6:	33 db                	xor    %ebx,%ebx
4057e8:	89 86 00 02 00 00    	mov    %eax,0x200(%esi)
4057ee:	6a 41                	push   $0x41
4057f0:	ba 30 12 40 00       	mov    $0x401230,%edx
4057f5:	89 9e 8c 02 00 00    	mov    %ebx,0x28c(%esi)
4057fb:	89 9e 90 02 00 00    	mov    %ebx,0x290(%esi)
405801:	e8 f0 4b 00 00       	call   0x40a3f6
405806:	68 00 01 00 00       	push   $0x100
40580b:	6a 70                	push   $0x70
40580d:	59                   	pop    %ecx
40580e:	e8 3e 42 00 00       	call   0x409a51
405813:	8b d0                	mov    %eax,%edx
405815:	8b ce                	mov    %esi,%ecx
405817:	e8 da 4b 00 00       	call   0x40a3f6
40581c:	8b 77 50             	mov    0x50(%edi),%esi
40581f:	b9 a5 00 00 00       	mov    $0xa5,%ecx
405824:	81 c6 f0 1e 00 00    	add    $0x1ef0,%esi
40582a:	e8 22 42 00 00       	call   0x409a51
40582f:	8b c8                	mov    %eax,%ecx
405831:	e8 ff 43 00 00       	call   0x409c35
405836:	6a 41                	push   $0x41
405838:	8d 8e 08 02 00 00    	lea    0x208(%esi),%ecx
40583e:	89 86 00 02 00 00    	mov    %eax,0x200(%esi)
405844:	ba 30 12 40 00       	mov    $0x401230,%edx
405849:	c7 86 04 02 00 00 10 	movl   $0x1010,0x204(%esi)
405850:	10 00 00
405853:	89 9e 8c 02 00 00    	mov    %ebx,0x28c(%esi)
405859:	89 9e 90 02 00 00    	mov    %ebx,0x290(%esi)
40585f:	e8 92 4b 00 00       	call   0x40a3f6
405864:	68 00 01 00 00       	push   $0x100
405869:	6a 71                	push   $0x71
40586b:	59                   	pop    %ecx
40586c:	e8 e0 41 00 00       	call   0x409a51
405871:	8b d0                	mov    %eax,%edx
405873:	8b ce                	mov    %esi,%ecx
405875:	e8 7c 4b 00 00       	call   0x40a3f6
40587a:	8b 47 50             	mov    0x50(%edi),%eax
40587d:	33 f6                	xor    %esi,%esi
40587f:	46                   	inc    %esi
405880:	ba ff ef ff ff       	mov    $0xffffefff,%edx
405885:	39 77 14             	cmp    %esi,0x14(%edi)
405888:	75 1d                	jne    0x4058a7
40588a:	21 90 98 04 00 00    	and    %edx,0x498(%eax)
405890:	8b 47 50             	mov    0x50(%edi),%eax
405893:	21 90 2c 07 00 00    	and    %edx,0x72c(%eax)
405899:	8b 47 50             	mov    0x50(%edi),%eax