40435d:	85 c0                	test   %eax,%eax
40435f:	74 06                	je     0x404367
404361:	5d                   	pop    %ebp
404362:	e9 84 1c 00 00       	jmp    0x405feb
404367:	5d                   	pop    %ebp
404368:	c3                   	ret
404369:	8b 49 04             	mov    0x4(%ecx),%ecx
40436c:	e8 ef cf ff ff       	call   0x401360
404371:	85 c0                	test   %eax,%eax
404373:	74 08                	je     0x40437d
404375:	8b 10                	mov    (%eax),%edx
404377:	6a 01                	push   $0x1
404379:	8b c8                	mov    %eax,%ecx
40437b:	ff 12                	call   *(%edx)
40437d:	c3                   	ret
40437e:	8b ff                	mov    %edi,%edi
404380:	55                   	push   %ebp
404381:	8b ec                	mov    %esp,%ebp
404383:	56                   	push   %esi
404384:	8b f1                	mov    %ecx,%esi
404386:	e8 de ff ff ff       	call   0x404369
40438b:	f6 45 08 01          	testb  $0x1,0x8(%ebp)
40438f:	74 07                	je     0x404398
404391:	56                   	push   %esi
404392:	e8 9f 0f 00 00       	call   0x405336
404397:	59                   	pop    %ecx
404398:	8b c6                	mov    %esi,%eax
40439a:	5e                   	pop    %esi
40439b:	5d                   	pop    %ebp
40439c:	c2 04 00             	ret    $0x4
40439f:	8b ff                	mov    %edi,%edi
4043a1:	55                   	push   %ebp
4043a2:	8b ec                	mov    %esp,%ebp
4043a4:	8b 45 08             	mov    0x8(%ebp),%eax
4043a7:	8b 08                	mov    (%eax),%ecx
4043a9:	85 c9                	test   %ecx,%ecx
4043ab:	74 11                	je     0x4043be
4043ad:	e8 ae cf ff ff       	call   0x401360
4043b2:	85 c0                	test   %eax,%eax
4043b4:	74 08                	je     0x4043be
4043b6:	8b 10                	mov    (%eax),%edx
4043b8:	6a 01                	push   $0x1
4043ba:	8b c8                	mov    %eax,%ecx
4043bc:	ff 12                	call   *(%edx)
4043be:	5d                   	pop    %ebp
4043bf:	c3                   	ret
4043c0:	8b ff                	mov    %edi,%edi
4043c2:	55                   	push   %ebp
4043c3:	8b ec                	mov    %esp,%ebp
4043c5:	51                   	push   %ecx
4043c6:	6a 00                	push   $0x0
4043c8:	8d 4d fc             	lea    -0x4(%ebp),%ecx
4043cb:	e8 3e 03 00 00       	call   0x40470e
4043d0:	68 04 06 43 00       	push   $0x430604
4043d5:	e8 c5 ff ff ff       	call   0x40439f
4043da:	83 25 04 06 43 00 00 	andl   $0x0,0x430604
4043e1:	59                   	pop    %ecx
4043e2:	8d 4d fc             	lea    -0x4(%ebp),%ecx
4043e5:	e8 4c 03 00 00       	call   0x404736
4043ea:	c9                   	leave
4043eb:	c3                   	ret
4043ec:	a1 04 06 43 00       	mov    0x430604,%eax
4043f1:	c3                   	ret
4043f2:	8b ff                	mov    %edi,%edi
4043f4:	55                   	push   %ebp
4043f5:	8b ec                	mov    %esp,%ebp
4043f7:	80 3d 28 06 43 00 00 	cmpb   $0x0,0x430628
4043fe:	75 12                	jne    0x404412
404400:	68 c0 43 40 00       	push   $0x4043c0
404405:	c6 05 28 06 43 00 01 	movb   $0x1,0x430628
40440c:	e8 83 08 00 00       	call   0x404c94
404411:	59                   	pop    %ecx
404412:	8b 45 08             	mov    0x8(%ebp),%eax
404415:	a3 04 06 43 00       	mov    %eax,0x430604
40441a:	5d                   	pop    %ebp
40441b:	c3                   	ret
40441c:	6a 04                	push   $0x4
40441e:	b8 a8 96 41 00       	mov    $0x4196a8,%eax
404423:	e8 0d 22 00 00       	call   0x406635
404428:	6a 00                	push   $0x0
40442a:	8d 4d f0             	lea    -0x10(%ebp),%ecx
40442d:	e8 dc 02 00 00       	call   0x40470e
404432:	8b 7d 08             	mov    0x8(%ebp),%edi
404435:	83 65 fc 00          	andl   $0x0,-0x4(%ebp)
404439:	8b 77 0c             	mov    0xc(%edi),%esi
40443c:	eb 1f                	jmp    0x40445d
40443e:	8b 47 08             	mov    0x8(%edi),%eax
404441:	4e                   	dec    %esi
404442:	8d 04 b0             	lea    (%eax,%esi,4),%eax
404445:	83 38 00             	cmpl   $0x0,(%eax)
404448:	74 13                	je     0x40445d
40444a:	8b 08                	mov    (%eax),%ecx
40444c:	e8 0f cf ff ff       	call   0x401360
404451:	85 c0                	test   %eax,%eax
404453:	74 08                	je     0x40445d
404455:	8b 10                	mov    (%eax),%edx
404457:	6a 01                	push   $0x1
404459:	8b c8                	mov    %eax,%ecx
40445b:	ff 12                	call   *(%edx)
40445d:	85 f6                	test   %esi,%esi
40445f:	77 dd                	ja     0x40443e
404461:	ff 77 08             	push   0x8(%edi)
404464:	e8 b7 0b 00 00       	call   0x405020
404469:	83 4d fc ff          	orl    $0xffffffff,-0x4(%ebp)
40446d:	59                   	pop    %ecx
40446e:	8d 4d f0             	lea    -0x10(%ebp),%ecx
404471:	e8 c0 02 00 00       	call   0x404736
404476:	e8 23 22 00 00       	call   0x40669e
40447b:	c3                   	ret
40447c:	8b ff                	mov    %edi,%edi
40447e:	55                   	push   %ebp
40447f:	8b ec                	mov    %esp,%ebp
404481:	51                   	push   %ecx
404482:	6a 00                	push   $0x0
404484:	8d 4d fc             	lea    -0x4(%ebp),%ecx
404487:	e8 82 02 00 00       	call   0x40470e
40448c:	eb 10                	jmp    0x40449e
40448e:	8b c8                	mov    %eax,%ecx
404490:	8b 00                	mov    (%eax),%eax
404492:	6a 01                	push   $0x1
404494:	a3 00 06 43 00       	mov    %eax,0x430600
404499:	e8 e0 fe ff ff       	call   0x40437e
40449e:	a1 00 06 43 00       	mov    0x430600,%eax
4044a3:	85 c0                	test   %eax,%eax
4044a5:	75 e7                	jne    0x40448e
4044a7:	8d 4d fc             	lea    -0x4(%ebp),%ecx
4044aa:	e8 87 02 00 00       	call   0x404736
4044af:	c9                   	leave
4044b0:	c3                   	ret
4044b1:	8b ff                	mov    %edi,%edi
4044b3:	55                   	push   %ebp
4044b4:	8b ec                	mov    %esp,%ebp
4044b6:	83 3d 00 06 43 00 00 	cmpl   $0x0,0x430600
4044bd:	75 0b                	jne    0x4044ca
4044bf:	68 7c 44 40 00       	push   $0x40447c
4044c4:	e8 86 fe ff ff       	call   0x40434f
4044c9:	59                   	pop    %ecx
4044ca:	6a 08                	push   $0x8
4044cc:	e8 ac 13 00 00       	call   0x40587d
4044d1:	59                   	pop    %ecx
4044d2:	85 c0                	test   %eax,%eax
4044d4:	74 10                	je     0x4044e6
4044d6:	8b 0d 00 06 43 00    	mov    0x430600,%ecx
4044dc:	89 08                	mov    %ecx,(%eax)
4044de:	8b 4d 08             	mov    0x8(%ebp),%ecx
4044e1:	89 48 04             	mov    %ecx,0x4(%eax)
4044e4:	eb 02                	jmp    0x4044e8
4044e6:	33 c0                	xor    %eax,%eax
4044e8:	a3 00 06 43 00       	mov    %eax,0x430600
4044ed:	5d                   	pop    %ebp
4044ee:	c3                   	ret
4044ef:	8b ff                	mov    %edi,%edi
4044f1:	55                   	push   %ebp
4044f2:	8b ec                	mov    %esp,%ebp
4044f4:	8b 45 08             	mov    0x8(%ebp),%eax
4044f7:	83 78 50 00          	cmpl   $0x0,0x50(%eax)
4044fb:	76 18                	jbe    0x404515
4044fd:	83 78 54 10          	cmpl   $0x10,0x54(%eax)
404501:	72 05                	jb     0x404508
404503:	8b 40 40             	mov    0x40(%eax),%eax
404506:	eb 03                	jmp    0x40450b
404508:	83 c0 40             	add    $0x40,%eax
40450b:	50                   	push   %eax
40450c:	6a 00                	push   $0x0
40450e:	e8 e1 31 00 00       	call   0x4076f4
404513:	59                   	pop    %ecx
404514:	59                   	pop    %ecx
404515:	5d                   	pop    %ebp
404516:	c3                   	ret
404517:	6a 04                	push   $0x4
404519:	b8 cb 96 41 00       	mov    $0x4196cb,%eax
40451e:	e8 12 21 00 00       	call   0x406635
404523:	8b f1                	mov    %ecx,%esi
404525:	89 75 f0             	mov    %esi,-0x10(%ebp)
404528:	c7 46 04 01 00 00 00 	movl   $0x1,0x4(%esi)
40452f:	33 c0                	xor    %eax,%eax
404531:	89 45 fc             	mov    %eax,-0x4(%ebp)
404534:	89 46 08             	mov    %eax,0x8(%esi)
404537:	89 46 0c             	mov    %eax,0xc(%esi)
40453a:	89 46 10             	mov    %eax,0x10(%esi)
40453d:	8a 45 08             	mov    0x8(%ebp),%al
404540:	68 20 a2 41 00       	push   $0x41a220
404545:	8d 4e 18             	lea    0x18(%esi),%ecx
404548:	c7 06 1c a2 41 00    	movl   $0x41a21c,(%esi)
40454e:	88 46 14             	mov    %al,0x14(%esi)
404551:	e8 5a de ff ff       	call   0x4023b0
404556:	8b c6                	mov    %esi,%eax
404558:	e8 41 21 00 00       	call   0x40669e
40455d:	c2 04 00             	ret    $0x4
404560:	6a 04                	push   $0x4
404562:	b8 f9 96 41 00       	mov    $0x4196f9,%eax
404567:	e8 c9 20 00 00       	call   0x406635
40456c:	8b f1                	mov    %ecx,%esi
40456e:	89 75 f0             	mov    %esi,-0x10(%ebp)
404571:	c7 06 1c a2 41 00    	movl   $0x41a21c,(%esi)
404577:	56                   	push   %esi
404578:	c7 45 fc 01 00 00 00 	movl   $0x1,-0x4(%ebp)
40457f:	e8 98 fe ff ff       	call   0x40441c
404584:	59                   	pop    %ecx
404585:	6a 00                	push   $0x0
404587:	6a 01                	push   $0x1
404589:	8d 4e 18             	lea    0x18(%esi),%ecx
40458c:	e8 af ec ff ff       	call   0x403240
404591:	c7 06 14 a2 41 00    	movl   $0x41a214,(%esi)
404597:	e8 02 21 00 00       	call   0x40669e
40459c:	c3                   	ret
40459d:	8b ff                	mov    %edi,%edi
40459f:	55                   	push   %ebp
4045a0:	8b ec                	mov    %esp,%ebp
4045a2:	56                   	push   %esi
4045a3:	8b f1                	mov    %ecx,%esi
4045a5:	e8 b6 ff ff ff       	call   0x404560
4045aa:	f6 45 08 01          	testb  $0x1,0x8(%ebp)
4045ae:	74 07                	je     0x4045b7
4045b0:	56                   	push   %esi
4045b1:	e8 80 0d 00 00       	call   0x405336
4045b6:	59                   	pop    %ecx
4045b7:	8b c6                	mov    %esi,%eax
4045b9:	5e                   	pop    %esi
4045ba:	5d                   	pop    %ebp
4045bb:	c2 04 00             	ret    $0x4
4045be:	6a 08                	push   $0x8
4045c0:	b8 26 97 41 00       	mov    $0x419726,%eax
4045c5:	e8 6b 20 00 00       	call   0x406635
4045ca:	a1 04 06 43 00       	mov    0x430604,%eax
4045cf:	8b f0                	mov    %eax,%esi
4045d1:	85 c0                	test   %eax,%eax
4045d3:	75 7b                	jne    0x404650
4045d5:	50                   	push   %eax
4045d6:	8d 4d f0             	lea    -0x10(%ebp),%ecx
4045d9:	e8 30 01 00 00       	call   0x40470e
4045de:	a1 04 06 43 00       	mov    0x430604,%eax
4045e3:	21 75 fc             	and    %esi,-0x4(%ebp)
4045e6:	8b f0                	mov    %eax,%esi
4045e8:	85 c0                	test   %eax,%eax
4045ea:	75 58                	jne    0x404644
4045ec:	6a 34                	push   $0x34
4045ee:	e8 8a 12 00 00       	call   0x40587d
4045f3:	59                   	pop    %ecx
4045f4:	8b c8                	mov    %eax,%ecx
4045f6:	89 4d ec             	mov    %ecx,-0x14(%ebp)
4045f9:	c6 45 fc 01          	movb   $0x1,-0x4(%ebp)
4045fd:	85 c9                	test   %ecx,%ecx
4045ff:	74 0a                	je     0x40460b
404601:	56                   	push   %esi
404602:	e8 10 ff ff ff       	call   0x404517
404607:	8b f0                	mov    %eax,%esi
404609:	eb 02                	jmp    0x40460d
40460b:	33 f6                	xor    %esi,%esi
40460d:	56                   	push   %esi
40460e:	c6 45 fc 00          	movb   $0x0,-0x4(%ebp)
404612:	e8 db fd ff ff       	call   0x4043f2
404617:	8d 4e 18             	lea    0x18(%esi),%ecx
40461a:	c7 46 10 3f 00 00 00 	movl   $0x3f,0x10(%esi)
404621:	c7 04 24 24 a2 41 00 	movl   $0x41a224,(%esp)
404628:	e8 e3 eb ff ff       	call   0x403210
40462d:	8b ce                	mov    %esi,%ecx
40462f:	89 35 08 06 43 00    	mov    %esi,0x430608
404635:	e8 f6 cc ff ff       	call   0x401330
40463a:	a1 08 06 43 00       	mov    0x430608,%eax
40463f:	a3 20 06 43 00       	mov    %eax,0x430620
404644:	83 4d fc ff          	orl    $0xffffffff,-0x4(%ebp)
404648:	8d 4d f0             	lea    -0x10(%ebp),%ecx
40464b:	e8 e6 00 00 00       	call   0x404736
404650:	8b c6                	mov    %esi,%eax
404652:	e8 47 20 00 00       	call   0x40669e
404657:	c3                   	ret
404658:	8b ff                	mov    %edi,%edi
40465a:	55                   	push   %ebp
40465b:	8b ec                	mov    %esp,%ebp
40465d:	8b 45 0c             	mov    0xc(%ebp),%eax
404660:	83 78 18 10          	cmpl   $0x10,0x18(%eax)
404664:	56                   	push   %esi
404665:	57                   	push   %edi
404666:	72 05                	jb     0x40466d
404668:	8b 70 04             	mov    0x4(%eax),%esi
40466b:	eb 03                	jmp    0x404670
40466d:	8d 70 04             	lea    0x4(%eax),%esi
404670:	6a 00                	push   $0x0
404672:	6a 00                	push   $0x0
404674:	e8 7b 30 00 00       	call   0x4076f4
404679:	59                   	pop    %ecx
40467a:	59                   	pop    %ecx
40467b:	85 c0                	test   %eax,%eax
40467d:	75 05                	jne    0x404684
40467f:	b8 26 a2 41 00       	mov    $0x41a226,%eax
404684:	8b 7d 08             	mov    0x8(%ebp),%edi
404687:	50                   	push   %eax
404688:	8d 4f 3c             	lea    0x3c(%edi),%ecx
40468b:	e8 80 eb ff ff       	call   0x403210
404690:	85 f6                	test   %esi,%esi
404692:	74 0e                	je     0x4046a2
404694:	56                   	push   %esi
404695:	6a 00                	push   $0x0
404697:	e8 58 30 00 00       	call   0x4076f4
40469c:	59                   	pop    %ecx
40469d:	59                   	pop    %ecx
40469e:	85 c0                	test   %eax,%eax
4046a0:	75 05                	jne    0x4046a7
4046a2:	b8 20 a2 41 00       	mov    $0x41a220,%eax
4046a7:	50                   	push   %eax
4046a8:	8d 4f 58             	lea    0x58(%edi),%ecx
4046ab:	e8 60 eb ff ff       	call   0x403210
4046b0:	5f                   	pop    %edi
4046b1:	5e                   	pop    %esi
4046b2:	5d                   	pop    %ebp
4046b3:	c3                   	ret
4046b4:	8b ff                	mov    %edi,%edi
4046b6:	57                   	push   %edi
4046b7:	68 30 b0 42 00       	push   $0x42b030
4046bc:	8b f9                	mov    %ecx,%edi
4046be:	ff 15 74 a0 41 00    	call   *0x41a074
4046c4:	85 c0                	test   %eax,%eax
4046c6:	75 19                	jne    0x4046e1
4046c8:	56                   	push   %esi
4046c9:	be 30 06 43 00       	mov    $0x430630,%esi
4046ce:	56                   	push   %esi
4046cf:	e8 0b 06 00 00       	call   0x404cdf
4046d4:	83 c6 18             	add    $0x18,%esi
4046d7:	81 fe 90 06 43 00    	cmp    $0x430690,%esi
4046dd:	59                   	pop    %ecx
4046de:	7c ee                	jl     0x4046ce
4046e0:	5e                   	pop    %esi
4046e1:	8b c7                	mov    %edi,%eax
4046e3:	5f                   	pop    %edi
4046e4:	c3                   	ret
4046e5:	68 30 b0 42 00       	push   $0x42b030
4046ea:	ff 15 78 a0 41 00    	call   *0x41a078
4046f0:	85 c0                	test   %eax,%eax
4046f2:	7d 19                	jge    0x40470d
4046f4:	56                   	push   %esi
4046f5:	be 30 06 43 00       	mov    $0x430630,%esi
4046fa:	56                   	push   %esi
4046fb:	e8 ef 05 00 00       	call   0x404cef
404700:	83 c6 18             	add    $0x18,%esi
404703:	81 fe 90 06 43 00    	cmp    $0x430690,%esi
404709:	59                   	pop    %ecx
40470a:	7c ee                	jl     0x4046fa
40470c:	5e                   	pop    %esi
40470d:	c3                   	ret
40470e:	8b ff                	mov    %edi,%edi
404710:	55                   	push   %ebp
404711:	8b ec                	mov    %esp,%ebp
404713:	8b 45 08             	mov    0x8(%ebp),%eax
404716:	83 f8 04             	cmp    $0x4,%eax
404719:	56                   	push   %esi
40471a:	8b f1                	mov    %ecx,%esi
40471c:	89 06                	mov    %eax,(%esi)
40471e:	7d 0f                	jge    0x40472f
404720:	6b c0 18             	imul   $0x18,%eax,%eax