4043b0:	bf 04 01 00 00       	mov    $0x104,%edi
4043b5:	8d 85 e8 fd ff ff    	lea    -0x218(%ebp),%eax
4043bb:	57                   	push   %edi
4043bc:	50                   	push   %eax
4043bd:	ff 35 d4 63 40 00    	push   0x4063d4
4043c3:	ff 15 90 70 40 00    	call   *0x407090
4043c9:	85 c0                	test   %eax,%eax
4043cb:	74 4b                	je     0x404418
4043cd:	8d 85 dc fb ff ff    	lea    -0x424(%ebp),%eax
4043d3:	50                   	push   %eax
4043d4:	8d 85 e0 fb ff ff    	lea    -0x420(%ebp),%eax
4043da:	50                   	push   %eax
4043db:	57                   	push   %edi
4043dc:	8d 85 e8 fd ff ff    	lea    -0x218(%ebp),%eax
4043e2:	50                   	push   %eax
4043e3:	ff 15 50 70 40 00    	call   *0x407050
4043e9:	48                   	dec    %eax
4043ea:	3d 03 01 00 00       	cmp    $0x103,%eax
4043ef:	77 27                	ja     0x404418
4043f1:	ff b5 dc fb ff ff    	push   -0x424(%ebp)
4043f7:	8d 8d d0 fb ff ff    	lea    -0x430(%ebp),%ecx
4043fd:	e8 4b d8 ff ff       	call   0x401c4d
404402:	68 c0 15 40 00       	push   $0x4015c0
404407:	8d 8d d0 fb ff ff    	lea    -0x430(%ebp),%ecx
40440d:	e8 3b d8 ff ff       	call   0x401c4d
404412:	8b b5 d0 fb ff ff    	mov    -0x430(%ebp),%esi
404418:	85 f6                	test   %esi,%esi
40441a:	74 07                	je     0x404423
40441c:	56                   	push   %esi
40441d:	ff 15 f8 70 40 00    	call   *0x4070f8
404423:	8b 4d fc             	mov    -0x4(%ebp),%ecx
404426:	33 c0                	xor    %eax,%eax
404428:	5f                   	pop    %edi
404429:	33 cd                	xor    %ebp,%ecx
40442b:	5e                   	pop    %esi
40442c:	e8 6f 0b 00 00       	call   0x404fa0
404431:	c9                   	leave
404432:	c3                   	ret
404433:	8b ff                	mov    %edi,%edi
404435:	55                   	push   %ebp
404436:	8b ec                	mov    %esp,%ebp
404438:	83 ec 0c             	sub    $0xc,%esp
40443b:	a1 54 60 40 00       	mov    0x406054,%eax
404440:	33 c5                	xor    %ebp,%eax
404442:	89 45 fc             	mov    %eax,-0x4(%ebp)
404445:	a1 88 15 40 00       	mov    0x401588,%eax
40444a:	56                   	push   %esi
40444b:	57                   	push   %edi
40444c:	8b 7d 08             	mov    0x8(%ebp),%edi
40444f:	89 45 f4             	mov    %eax,-0xc(%ebp)
404452:	66 a1 8c 15 40 00    	mov    0x40158c,%ax
404458:	66 89 45 f8          	mov    %ax,-0x8(%ebp)
40445c:	83 27 00             	andl   $0x0,(%edi)
40445f:	eb 26                	jmp    0x404487
404461:	68 90 15 40 00       	push   $0x401590
404466:	56                   	push   %esi
404467:	ff 15 78 71 40 00    	call   *0x407178
40446d:	59                   	pop    %ecx
40446e:	59                   	pop    %ecx
40446f:	85 c0                	test   %eax,%eax
404471:	74 47                	je     0x4044ba
404473:	68 a8 15 40 00       	push   $0x4015a8
404478:	56                   	push   %esi
404479:	ff 15 78 71 40 00    	call   *0x407178
40447f:	59                   	pop    %ecx
404480:	59                   	pop    %ecx
404481:	85 c0                	test   %eax,%eax
404483:	74 22                	je     0x4044a7
404485:	8b ce                	mov    %esi,%ecx
404487:	8d 55 f4             	lea    -0xc(%ebp),%edx
40448a:	e8 17 fd ff ff       	call   0x4041a6
40448f:	8b f0                	mov    %eax,%esi
404491:	85 f6                	test   %esi,%esi
404493:	75 cc                	jne    0x404461
404495:	b0 01                	mov    $0x1,%al
404497:	8b 4d fc             	mov    -0x4(%ebp),%ecx
40449a:	5f                   	pop    %edi
40449b:	33 cd                	xor    %ebp,%ecx
40449d:	5e                   	pop    %esi
40449e:	e8 fd 0a 00 00       	call   0x404fa0
4044a3:	c9                   	leave
4044a4:	c2 04 00             	ret    $0x4
4044a7:	e8 43 fd ff ff       	call   0x4041ef
4044ac:	89 07                	mov    %eax,(%edi)
4044ae:	85 c0                	test   %eax,%eax
4044b0:	78 1b                	js     0x4044cd
4044b2:	51                   	push   %ecx
4044b3:	e8 a3 f4 ff ff       	call   0x40395b
4044b8:	eb 11                	jmp    0x4044cb
4044ba:	e8 76 fe ff ff       	call   0x404335
4044bf:	89 07                	mov    %eax,(%edi)
4044c1:	85 c0                	test   %eax,%eax
4044c3:	78 08                	js     0x4044cd
4044c5:	51                   	push   %ecx
4044c6:	e8 50 f5 ff ff       	call   0x403a1b
4044cb:	89 07                	mov    %eax,(%edi)
4044cd:	32 c0                	xor    %al,%al
4044cf:	eb c6                	jmp    0x404497
4044d1:	8b ff                	mov    %edi,%edi
4044d3:	55                   	push   %ebp
4044d4:	8b ec                	mov    %esp,%ebp
4044d6:	83 e4 f8             	and    $0xfffffff8,%esp
4044d9:	83 ec 20             	sub    $0x20,%esp
4044dc:	56                   	push   %esi
4044dd:	57                   	push   %edi
4044de:	33 f6                	xor    %esi,%esi
4044e0:	56                   	push   %esi
4044e1:	56                   	push   %esi
4044e2:	6a 01                	push   $0x1
4044e4:	56                   	push   %esi
4044e5:	ff 15 64 70 40 00    	call   *0x407064
4044eb:	ff 15 ac 70 40 00    	call   *0x4070ac
4044f1:	56                   	push   %esi
4044f2:	56                   	push   %esi
4044f3:	8b f8                	mov    %eax,%edi
4044f5:	ff 15 24 70 40 00    	call   *0x407024
4044fb:	8b f0                	mov    %eax,%esi
4044fd:	89 74 24 08          	mov    %esi,0x8(%esp)
404501:	85 f6                	test   %esi,%esi
404503:	74 2a                	je     0x40452f
404505:	8b 0d 48 60 40 00    	mov    0x406048,%ecx
40450b:	81 f9 48 60 40 00    	cmp    $0x406048,%ecx
404511:	74 1a                	je     0x40452d
404513:	f6 41 1c 01          	testb  $0x1,0x1c(%ecx)
404517:	74 14                	je     0x40452d
404519:	56                   	push   %esi
40451a:	ff 71 14             	push   0x14(%ecx)
40451d:	ba 40 16 40 00       	mov    $0x401640,%edx
404522:	ff 71 10             	push   0x10(%ecx)
404525:	6a 0a                	push   $0xa
404527:	59                   	pop    %ecx
404528:	e8 55 fc ff ff       	call   0x404182
40452d:	85 f6                	test   %esi,%esi
40452f:	78 1a                	js     0x40454b
404531:	33 f6                	xor    %esi,%esi
404533:	56                   	push   %esi
404534:	56                   	push   %esi
404535:	56                   	push   %esi
404536:	6a 03                	push   $0x3
404538:	6a 02                	push   $0x2
40453a:	56                   	push   %esi
40453b:	56                   	push   %esi
40453c:	6a ff                	push   $0xffffffff
40453e:	56                   	push   %esi
40453f:	ff 15 18 70 40 00    	call   *0x407018
404545:	89 44 24 08          	mov    %eax,0x8(%esp)
404549:	eb 02                	jmp    0x40454d
40454b:	33 f6                	xor    %esi,%esi
40454d:	51                   	push   %ecx
40454e:	ff 75 08             	push   0x8(%ebp)
404551:	c7 05 68 64 40 00 88 	movl   $0x1388,0x406468
404558:	13 00 00
40455b:	51                   	push   %ecx
40455c:	c7 05 6c 64 40 00 e8 	movl   $0x3e8,0x40646c
404563:	03 00 00
404566:	e8 1f f9 ff ff       	call   0x403e8a
40456b:	8d 44 24 08          	lea    0x8(%esp),%eax
40456f:	8b cf                	mov    %edi,%ecx
404571:	50                   	push   %eax
404572:	e8 bc fe ff ff       	call   0x404433
404577:	84 c0                	test   %al,%al
404579:	0f 84 ef 00 00 00    	je     0x40466e
40457f:	e8 dd fa ff ff       	call   0x404061
404584:	51                   	push   %ecx
404585:	e8 ed f0 ff ff       	call   0x403677
40458a:	85 c0                	test   %eax,%eax
40458c:	74 28                	je     0x4045b6
40458e:	8b 0d 48 60 40 00    	mov    0x406048,%ecx
404594:	81 f9 48 60 40 00    	cmp    $0x406048,%ecx
40459a:	74 1a                	je     0x4045b6
40459c:	f6 41 1c 01          	testb  $0x1,0x1c(%ecx)
4045a0:	74 14                	je     0x4045b6
4045a2:	50                   	push   %eax
4045a3:	ff 71 14             	push   0x14(%ecx)
4045a6:	ba 40 16 40 00       	mov    $0x401640,%edx
4045ab:	ff 71 10             	push   0x10(%ecx)
4045ae:	6a 0b                	push   $0xb
4045b0:	59                   	pop    %ecx
4045b1:	e8 cc fb ff ff       	call   0x404182
4045b6:	ff 15 14 70 40 00    	call   *0x407014
4045bc:	8b f8                	mov    %eax,%edi
4045be:	85 ff                	test   %edi,%edi
4045c0:	74 33                	je     0x4045f5
4045c2:	a1 48 60 40 00       	mov    0x406048,%eax
4045c7:	3d 48 60 40 00       	cmp    $0x406048,%eax
4045cc:	74 27                	je     0x4045f5
4045ce:	f6 40 1c 01          	testb  $0x1,0x1c(%eax)
4045d2:	74 21                	je     0x4045f5
4045d4:	57                   	push   %edi
4045d5:	ff 70 14             	push   0x14(%eax)
4045d8:	ba 40 16 40 00       	mov    $0x401640,%edx
4045dd:	ff 70 10             	push   0x10(%eax)
4045e0:	6a 0c                	push   $0xc
4045e2:	59                   	pop    %ecx
4045e3:	e8 9a fb ff ff       	call   0x404182
4045e8:	eb 0b                	jmp    0x4045f5
4045ea:	8d 44 24 0c          	lea    0xc(%esp),%eax
4045ee:	50                   	push   %eax
4045ef:	ff 15 20 80 40 00    	call   *0x408020
4045f5:	56                   	push   %esi
4045f6:	56                   	push   %esi
4045f7:	56                   	push   %esi
4045f8:	8d 44 24 18          	lea    0x18(%esp),%eax
4045fc:	50                   	push   %eax
4045fd:	ff 15 1c 80 40 00    	call   *0x40801c
404603:	85 c0                	test   %eax,%eax
404605:	75 e3                	jne    0x4045ea
404607:	8b 35 e0 63 40 00    	mov    0x4063e0,%esi
40460d:	85 f6                	test   %esi,%esi
40460f:	74 2b                	je     0x40463c
404611:	39 06                	cmp    %eax,(%esi)
404613:	74 27                	je     0x40463c
404615:	85 c0                	test   %eax,%eax
404617:	75 23                	jne    0x40463c
404619:	ff 76 14             	push   0x14(%esi)
40461c:	ff 15 20 70 40 00    	call   *0x407020
404622:	33 c9                	xor    %ecx,%ecx
404624:	83 3d d0 63 40 00 64 	cmpl   $0x64,0x4063d0
40462b:	0f 95 c1             	setne  %cl
40462e:	8d 0c cd 1c 00 00 00 	lea    0x1c(,%ecx,8),%ecx
404635:	03 f1                	add    %ecx,%esi
404637:	83 3e 00             	cmpl   $0x0,(%esi)
40463a:	75 d9                	jne    0x404615
40463c:	ff 35 7c 64 40 00    	push   0x40647c
404642:	ff 15 40 71 40 00    	call   *0x407140
404648:	68 f4 01 00 00       	push   $0x1f4
40464d:	ff 35 80 64 40 00    	push   0x406480
404653:	ff 15 34 71 40 00    	call   *0x407134
404659:	ff 35 80 64 40 00    	push   0x406480
40465f:	ff 15 58 70 40 00    	call   *0x407058
404665:	83 25 80 64 40 00 00 	andl   $0x0,0x406480
40466c:	eb 04                	jmp    0x404672
40466e:	8b 7c 24 08          	mov    0x8(%esp),%edi
404672:	a1 60 64 40 00       	mov    0x406460,%eax
404677:	85 c0                	test   %eax,%eax
404679:	74 13                	je     0x40468e
40467b:	50                   	push   %eax
40467c:	ff 15 58 70 40 00    	call   *0x407058
404682:	f7 d8                	neg    %eax
404684:	1b c0                	sbb    %eax,%eax
404686:	f7 d0                	not    %eax
404688:	21 05 60 64 40 00    	and    %eax,0x406460
40468e:	e8 83 f8 ff ff       	call   0x403f16
404693:	ff 15 04 70 40 00    	call   *0x407004
404699:	8b c7                	mov    %edi,%eax
40469b:	5f                   	pop    %edi
40469c:	5e                   	pop    %esi
40469d:	8b e5                	mov    %ebp,%esp
40469f:	5d                   	pop    %ebp
4046a0:	c2 10 00             	ret    $0x10
4046a3:	cc                   	int3
4046a4:	cc                   	int3
4046a5:	cc                   	int3
4046a6:	cc                   	int3
4046a7:	cc                   	int3
4046a8:	cc                   	int3
4046a9:	cc                   	int3
4046aa:	cc                   	int3
4046ab:	cc                   	int3
4046ac:	cc                   	int3
4046ad:	cc                   	int3
4046ae:	cc                   	int3
4046af:	cc                   	int3
4046b0:	8b ff                	mov    %edi,%edi
4046b2:	55                   	push   %ebp
4046b3:	8b ec                	mov    %esp,%ebp
4046b5:	83 7d 08 00          	cmpl   $0x0,0x8(%ebp)
4046b9:	75 0d                	jne    0x4046c8
4046bb:	ff 75 10             	push   0x10(%ebp)
4046be:	8b 55 0c             	mov    0xc(%ebp),%edx
4046c1:	e8 1f 01 00 00       	call   0x4047e5
4046c6:	eb 16                	jmp    0x4046de
4046c8:	8b 45 10             	mov    0x10(%ebp),%eax
4046cb:	85 c0                	test   %eax,%eax
4046cd:	75 07                	jne    0x4046d6
4046cf:	b8 03 40 00 80       	mov    $0x80004003,%eax
4046d4:	eb 08                	jmp    0x4046de
4046d6:	83 20 00             	andl   $0x0,(%eax)
4046d9:	b8 10 01 04 80       	mov    $0x80040110,%eax
4046de:	5d                   	pop    %ebp
4046df:	c2 0c 00             	ret    $0xc
4046e2:	cc                   	int3
4046e3:	cc                   	int3
4046e4:	cc                   	int3
4046e5:	cc                   	int3
4046e6:	cc                   	int3
4046e7:	cc                   	int3
4046e8:	cc                   	int3
4046e9:	cc                   	int3
4046ea:	cc                   	int3
4046eb:	cc                   	int3
4046ec:	cc                   	int3
4046ed:	cc                   	int3
4046ee:	cc                   	int3
4046ef:	cc                   	int3
4046f0:	33 c0                	xor    %eax,%eax
4046f2:	c3                   	ret
4046f3:	cc                   	int3
4046f4:	cc                   	int3
4046f5:	cc                   	int3
4046f6:	cc                   	int3
4046f7:	cc                   	int3
4046f8:	cc                   	int3
4046f9:	cc                   	int3
4046fa:	cc                   	int3
4046fb:	cc                   	int3
4046fc:	cc                   	int3
4046fd:	cc                   	int3
4046fe:	cc                   	int3
4046ff:	cc                   	int3
404700:	8b ff                	mov    %edi,%edi
404702:	55                   	push   %ebp
404703:	8b ec                	mov    %esp,%ebp
404705:	57                   	push   %edi
404706:	8b 7d 10             	mov    0x10(%ebp),%edi
404709:	85 ff                	test   %edi,%edi
40470b:	75 07                	jne    0x404714
40470d:	b8 03 40 00 80       	mov    $0x80004003,%eax
404712:	eb 7d                	jmp    0x404791
404714:	83 27 00             	andl   $0x0,(%edi)
404717:	53                   	push   %ebx
404718:	56                   	push   %esi
404719:	6a 28                	push   $0x28
40471b:	be 0e 00 07 80       	mov    $0x8007000e,%esi
404720:	e8 eb 04 00 00       	call   0x404c10
404725:	8b d8                	mov    %eax,%ebx
404727:	59                   	pop    %ecx
404728:	85 db                	test   %ebx,%ebx
40472a:	74 1c                	je     0x404748
40472c:	83 63 04 00          	andl   $0x0,0x4(%ebx)
404730:	8d 7b 08             	lea    0x8(%ebx),%edi
404733:	6a 06                	push   $0x6
404735:	33 c0                	xor    %eax,%eax
404737:	59                   	pop    %ecx
404738:	f3 ab                	rep stos %eax,%es:(%edi)
40473a:	8b 7d 10             	mov    0x10(%ebp),%edi
40473d:	88 43 20             	mov    %al,0x20(%ebx)
404740:	c7 03 98 10 40 00    	movl   $0x401098,(%ebx)
404746:	eb 02                	jmp    0x40474a
404748:	33 db                	xor    %ebx,%ebx
40474a:	85 db                	test   %ebx,%ebx
40474c:	74 3f                	je     0x40478d
40474e:	8b 45 08             	mov    0x8(%ebp),%eax
404751:	8d 4b 08             	lea    0x8(%ebx),%ecx
404754:	89 43 24             	mov    %eax,0x24(%ebx)
404757:	e8 72 d3 ff ff       	call   0x401ace
40475c:	8b f0                	mov    %eax,%esi
40475e:	85 f6                	test   %esi,%esi
404760:	78 08                	js     0x40476a
404762:	33 f6                	xor    %esi,%esi