405366:	80 78 19 02          	cmpb   $0x2,0x19(%eax)
40536a:	72 13                	jb     0x40537f
40536c:	68 c4 1d 40 00       	push   $0x401dc4
405371:	ff 70 14             	push   0x14(%eax)
405374:	ff 70 10             	push   0x10(%eax)
405377:	6a 0e                	push   $0xe
405379:	59                   	pop    %ecx
40537a:	e8 e0 fc ff ff       	call   0x40505f
40537f:	68 03 40 00 80       	push   $0x80004003
405384:	8d 4c 24 14          	lea    0x14(%esp),%ecx
405388:	e8 e1 ea ff ff       	call   0x403e6e
40538d:	68 a4 c6 40 00       	push   $0x40c6a4
405392:	8d 44 24 14          	lea    0x14(%esp),%eax
405396:	50                   	push   %eax
405397:	e8 9e 57 00 00       	call   0x40ab3a
40539c:	cc                   	int3
40539d:	cc                   	int3
40539e:	cc                   	int3
40539f:	cc                   	int3
4053a0:	8b ff                	mov    %edi,%edi
4053a2:	55                   	push   %ebp
4053a3:	8b ec                	mov    %esp,%ebp
4053a5:	83 ec 0c             	sub    $0xc,%esp
4053a8:	8b 45 08             	mov    0x8(%ebp),%eax
4053ab:	56                   	push   %esi
4053ac:	57                   	push   %edi
4053ad:	89 45 f4             	mov    %eax,-0xc(%ebp)
4053b0:	8d 75 f4             	lea    -0xc(%ebp),%esi
4053b3:	8b 45 0c             	mov    0xc(%ebp),%eax
4053b6:	83 ec 0c             	sub    $0xc,%esp
4053b9:	89 45 f8             	mov    %eax,-0x8(%ebp)
4053bc:	8b fc                	mov    %esp,%edi
4053be:	8b 45 10             	mov    0x10(%ebp),%eax
4053c1:	89 45 fc             	mov    %eax,-0x4(%ebp)
4053c4:	a5                   	movsl  %ds:(%esi),%es:(%edi)
4053c5:	a5                   	movsl  %ds:(%esi),%es:(%edi)
4053c6:	a5                   	movsl  %ds:(%esi),%es:(%edi)
4053c7:	e8 54 0d 00 00       	call   0x406120
4053cc:	5f                   	pop    %edi
4053cd:	5e                   	pop    %esi
4053ce:	c9                   	leave
4053cf:	c2 0c 00             	ret    $0xc
4053d2:	6a 78                	push   $0x78
4053d4:	b8 0e ae 40 00       	mov    $0x40ae0e,%eax
4053d9:	e8 36 58 00 00       	call   0x40ac14
4053de:	8b f9                	mov    %ecx,%edi
4053e0:	8d 4d eb             	lea    -0x15(%ebp),%ecx
4053e3:	e8 4a ec ff ff       	call   0x404032
4053e8:	83 65 fc 00          	andl   $0x0,-0x4(%ebp)
4053ec:	8b 0f                	mov    (%edi),%ecx
4053ee:	e8 e9 fc ff ff       	call   0x4050dc
4053f3:	68 00 08 00 00       	push   $0x800
4053f8:	6a 00                	push   $0x0
4053fa:	68 f8 1d 40 00       	push   $0x401df8
4053ff:	ff 15 90 e0 40 00    	call   *0x40e090
405405:	8b f0                	mov    %eax,%esi
405407:	85 f6                	test   %esi,%esi
405409:	74 73                	je     0x40547e
40540b:	89 75 ec             	mov    %esi,-0x14(%ebp)
40540e:	68 1c 1e 40 00       	push   $0x401e1c
405413:	56                   	push   %esi
405414:	c6 45 fc 01          	movb   $0x1,-0x4(%ebp)
405418:	ff 15 80 e0 40 00    	call   *0x40e080
40541e:	8b d8                	mov    %eax,%ebx
405420:	85 db                	test   %ebx,%ebx
405422:	74 5f                	je     0x405483
405424:	ff 77 08             	push   0x8(%edi)
405427:	8b cb                	mov    %ebx,%ecx
405429:	ff 77 04             	push   0x4(%edi)
40542c:	ff 15 f0 e1 40 00    	call   *0x40e1f0
405432:	ff d3                	call   *%ebx
405434:	8b d8                	mov    %eax,%ebx
405436:	85 db                	test   %ebx,%ebx
405438:	79 2b                	jns    0x405465
40543a:	8b 0d 00 d0 40 00    	mov    0x40d000,%ecx
405440:	81 f9 00 d0 40 00    	cmp    $0x40d000,%ecx
405446:	74 1a                	je     0x405462
405448:	80 79 19 02          	cmpb   $0x2,0x19(%ecx)
40544c:	72 14                	jb     0x405462
40544e:	8b 47 08             	mov    0x8(%edi),%eax
405451:	53                   	push   %ebx
405452:	ff 30                	push   (%eax)
405454:	ff 77 04             	push   0x4(%edi)
405457:	ff 71 14             	push   0x14(%ecx)
40545a:	ff 71 10             	push   0x10(%ecx)
40545d:	e8 65 fb ff ff       	call   0x404fc7
405462:	53                   	push   %ebx
405463:	eb 56                	jmp    0x4054bb
405465:	56                   	push   %esi
405466:	ff 15 84 e0 40 00    	call   *0x40e084
40546c:	80 7d eb 00          	cmpb   $0x0,-0x15(%ebp)
405470:	74 06                	je     0x405478
405472:	ff 15 24 e0 40 00    	call   *0x40e024
405478:	e8 52 57 00 00       	call   0x40abcf
40547d:	c3                   	ret
40547e:	e8 bc ea ff ff       	call   0x403f3f
405483:	a1 00 d0 40 00       	mov    0x40d000,%eax
405488:	3d 00 d0 40 00       	cmp    $0x40d000,%eax
40548d:	74 19                	je     0x4054a8
40548f:	80 78 19 02          	cmpb   $0x2,0x19(%eax)
405493:	72 13                	jb     0x4054a8
405495:	ff 70 14             	push   0x14(%eax)
405498:	ba 3c 1e 40 00       	mov    $0x401e3c,%edx
40549d:	ff 70 10             	push   0x10(%eax)
4054a0:	6a 0f                	push   $0xf
4054a2:	59                   	pop    %ecx
4054a3:	e8 e5 ea ff ff       	call   0x403f8d
4054a8:	ff 15 44 e0 40 00    	call   *0x40e044
4054ae:	85 c0                	test   %eax,%eax
4054b0:	7e 08                	jle    0x4054ba
4054b2:	0f b7 c0             	movzwl %ax,%eax
4054b5:	0d 00 00 07 80       	or     $0x80070000,%eax
4054ba:	50                   	push   %eax
4054bb:	8d 8d 7c ff ff ff    	lea    -0x84(%ebp),%ecx
4054c1:	e8 a8 e9 ff ff       	call   0x403e6e
4054c6:	68 a4 c6 40 00       	push   $0x40c6a4
4054cb:	8d 85 7c ff ff ff    	lea    -0x84(%ebp),%eax
4054d1:	50                   	push   %eax
4054d2:	e8 63 56 00 00       	call   0x40ab3a
4054d7:	cc                   	int3
4054d8:	cc                   	int3
4054d9:	cc                   	int3
4054da:	cc                   	int3
4054db:	cc                   	int3
4054dc:	cc                   	int3
4054dd:	cc                   	int3
4054de:	cc                   	int3
4054df:	cc                   	int3
4054e0:	8b ff                	mov    %edi,%edi
4054e2:	55                   	push   %ebp
4054e3:	8b ec                	mov    %esp,%ebp
4054e5:	83 e4 f8             	and    $0xfffffff8,%esp
4054e8:	83 ec 78             	sub    $0x78,%esp
4054eb:	a1 50 d1 40 00       	mov    0x40d150,%eax
4054f0:	33 c4                	xor    %esp,%eax
4054f2:	89 44 24 74          	mov    %eax,0x74(%esp)
4054f6:	56                   	push   %esi
4054f7:	57                   	push   %edi
4054f8:	8d 75 0c             	lea    0xc(%ebp),%esi
4054fb:	8b 45 08             	mov    0x8(%ebp),%eax
4054fe:	8d 7c 24 58          	lea    0x58(%esp),%edi
405502:	89 44 24 08          	mov    %eax,0x8(%esp)
405506:	a5                   	movsl  %ds:(%esi),%es:(%edi)
405507:	83 ec 40             	sub    $0x40,%esp
40550a:	8b 45 44             	mov    0x44(%ebp),%eax
40550d:	89 44 24 4c          	mov    %eax,0x4c(%esp)
405511:	8b 45 30             	mov    0x30(%ebp),%eax
405514:	a5                   	movsl  %ds:(%esi),%es:(%edi)
405515:	89 44 24 50          	mov    %eax,0x50(%esp)
405519:	8b 45 2c             	mov    0x2c(%ebp),%eax
40551c:	6a 10                	push   $0x10
40551e:	a5                   	movsl  %ds:(%esi),%es:(%edi)
40551f:	59                   	pop    %ecx
405520:	a5                   	movsl  %ds:(%esi),%es:(%edi)
405521:	8d 75 1c             	lea    0x1c(%ebp),%esi
405524:	8d bc 24 a8 00 00 00 	lea    0xa8(%esp),%edi
40552b:	a5                   	movsl  %ds:(%esi),%es:(%edi)
40552c:	a5                   	movsl  %ds:(%esi),%es:(%edi)
40552d:	a5                   	movsl  %ds:(%esi),%es:(%edi)
40552e:	a5                   	movsl  %ds:(%esi),%es:(%edi)
40552f:	8d 75 34             	lea    0x34(%ebp),%esi
405532:	8d bc 24 88 00 00 00 	lea    0x88(%esp),%edi
405539:	a5                   	movsl  %ds:(%esi),%es:(%edi)
40553a:	a5                   	movsl  %ds:(%esi),%es:(%edi)
40553b:	a5                   	movsl  %ds:(%esi),%es:(%edi)
40553c:	a5                   	movsl  %ds:(%esi),%es:(%edi)
40553d:	8d b4 24 88 00 00 00 	lea    0x88(%esp),%esi
405544:	8d 7c 24 54          	lea    0x54(%esp),%edi
405548:	a5                   	movsl  %ds:(%esi),%es:(%edi)
405549:	a5                   	movsl  %ds:(%esi),%es:(%edi)
40554a:	a5                   	movsl  %ds:(%esi),%es:(%edi)
40554b:	a5                   	movsl  %ds:(%esi),%es:(%edi)
40554c:	8d b4 24 98 00 00 00 	lea    0x98(%esp),%esi
405553:	8d 7c 24 64          	lea    0x64(%esp),%edi
405557:	a5                   	movsl  %ds:(%esi),%es:(%edi)
405558:	a5                   	movsl  %ds:(%esi),%es:(%edi)
405559:	a5                   	movsl  %ds:(%esi),%es:(%edi)
40555a:	a5                   	movsl  %ds:(%esi),%es:(%edi)
40555b:	8d b4 24 a8 00 00 00 	lea    0xa8(%esp),%esi
405562:	8d 7c 24 74          	lea    0x74(%esp),%edi
405566:	a5                   	movsl  %ds:(%esi),%es:(%edi)
405567:	a5                   	movsl  %ds:(%esi),%es:(%edi)
405568:	a5                   	movsl  %ds:(%esi),%es:(%edi)
405569:	a5                   	movsl  %ds:(%esi),%es:(%edi)
40556a:	8b fc                	mov    %esp,%edi
40556c:	89 84 24 84 00 00 00 	mov    %eax,0x84(%esp)
405573:	8d 74 24 48          	lea    0x48(%esp),%esi
405577:	f3 a5                	rep movsl %ds:(%esi),%es:(%edi)
405579:	e8 f6 0b 00 00       	call   0x406174
40557e:	8b 4c 24 7c          	mov    0x7c(%esp),%ecx
405582:	5f                   	pop    %edi
405583:	5e                   	pop    %esi
405584:	33 cc                	xor    %esp,%ecx
405586:	e8 d5 48 00 00       	call   0x409e60
40558b:	8b e5                	mov    %ebp,%esp
40558d:	5d                   	pop    %ebp
40558e:	c2 40 00             	ret    $0x40
405591:	68 94 00 00 00       	push   $0x94
405596:	b8 53 ae 40 00       	mov    $0x40ae53,%eax
40559b:	e8 74 56 00 00       	call   0x40ac14
4055a0:	8b d9                	mov    %ecx,%ebx
4055a2:	8d 4d db             	lea    -0x25(%ebp),%ecx
4055a5:	e8 88 ea ff ff       	call   0x404032
4055aa:	83 65 fc 00          	andl   $0x0,-0x4(%ebp)
4055ae:	8b 0b                	mov    (%ebx),%ecx
4055b0:	e8 27 fb ff ff       	call   0x4050dc
4055b5:	8b 4b 04             	mov    0x4(%ebx),%ecx
4055b8:	89 45 d4             	mov    %eax,-0x2c(%ebp)
4055bb:	85 c9                	test   %ecx,%ecx
4055bd:	74 69                	je     0x405628
4055bf:	83 21 00             	andl   $0x0,(%ecx)
4055c2:	8d 73 0c             	lea    0xc(%ebx),%esi
4055c5:	8b 43 08             	mov    0x8(%ebx),%eax
4055c8:	8d 7d e0             	lea    -0x20(%ebp),%edi
4055cb:	89 45 dc             	mov    %eax,-0x24(%ebp)
4055ce:	a5                   	movsl  %ds:(%esi),%es:(%edi)
4055cf:	6a 0c                	push   $0xc
4055d1:	a5                   	movsl  %ds:(%esi),%es:(%edi)
4055d2:	a5                   	movsl  %ds:(%esi),%es:(%edi)
4055d3:	a5                   	movsl  %ds:(%esi),%es:(%edi)
4055d4:	e8 1d 54 00 00       	call   0x40a9f6
4055d9:	8b f8                	mov    %eax,%edi
4055db:	59                   	pop    %ecx
4055dc:	89 7d d0             	mov    %edi,-0x30(%ebp)
4055df:	8b 73 3c             	mov    0x3c(%ebx),%esi
4055e2:	c7 07 4e 4f 62 6a    	movl   $0x6a624f4e,(%edi)
4055e8:	8b 4d d4             	mov    -0x2c(%ebp),%ecx
4055eb:	83 c1 04             	add    $0x4,%ecx
4055ee:	c6 45 fc 02          	movb   $0x2,-0x4(%ebp)
4055f2:	e8 cc f5 ff ff       	call   0x404bc3
4055f7:	8d 48 04             	lea    0x4(%eax),%ecx
4055fa:	51                   	push   %ecx
4055fb:	8d 45 dc             	lea    -0x24(%ebp),%eax
4055fe:	50                   	push   %eax
4055ff:	56                   	push   %esi
405600:	8d 43 2c             	lea    0x2c(%ebx),%eax
405603:	50                   	push   %eax
405604:	8d 43 1c             	lea    0x1c(%ebx),%eax
405607:	50                   	push   %eax
405608:	8d 47 04             	lea    0x4(%edi),%eax
40560b:	50                   	push   %eax
40560c:	e8 34 25 00 00       	call   0x407b45
405611:	80 7d db 00          	cmpb   $0x0,-0x25(%ebp)
405615:	8b 43 04             	mov    0x4(%ebx),%eax
405618:	89 38                	mov    %edi,(%eax)
40561a:	74 06                	je     0x405622
40561c:	ff 15 24 e0 40 00    	call   *0x40e024
405622:	e8 a8 55 00 00       	call   0x40abcf
405627:	c3                   	ret
405628:	a1 00 d0 40 00       	mov    0x40d000,%eax
40562d:	3d 00 d0 40 00       	cmp    $0x40d000,%eax
405632:	74 19                	je     0x40564d
405634:	80 78 19 02          	cmpb   $0x2,0x19(%eax)
405638:	72 13                	jb     0x40564d
40563a:	68 dc 1d 40 00       	push   $0x401ddc
40563f:	ff 70 14             	push   0x14(%eax)
405642:	ff 70 10             	push   0x10(%eax)
405645:	6a 11                	push   $0x11
405647:	59                   	pop    %ecx
405648:	e8 12 fa ff ff       	call   0x40505f
40564d:	68 03 40 00 80       	push   $0x80004003
405652:	8d 8d 64 ff ff ff    	lea    -0x9c(%ebp),%ecx
405658:	e8 11 e8 ff ff       	call   0x403e6e
40565d:	68 a4 c6 40 00       	push   $0x40c6a4
405662:	8d 85 64 ff ff ff    	lea    -0x9c(%ebp),%eax
405668:	50                   	push   %eax
405669:	e8 cc 54 00 00       	call   0x40ab3a
40566e:	cc                   	int3
40566f:	cc                   	int3
405670:	8b ff                	mov    %edi,%edi
405672:	55                   	push   %ebp
405673:	8b ec                	mov    %esp,%ebp
405675:	5d                   	pop    %ebp
405676:	e9 4f 0b 00 00       	jmp    0x4061ca
40567b:	6a 70                	push   $0x70
40567d:	b8 83 ae 40 00       	mov    $0x40ae83,%eax
405682:	e8 59 55 00 00       	call   0x40abe0
405687:	8b f9                	mov    %ecx,%edi
405689:	8d 4d f3             	lea    -0xd(%ebp),%ecx
40568c:	e8 a1 e9 ff ff       	call   0x404032
405691:	83 65 fc 00          	andl   $0x0,-0x4(%ebp)
405695:	8b 0f                	mov    (%edi),%ecx
405697:	85 c9                	test   %ecx,%ecx
405699:	74 42                	je     0x4056dd
40569b:	8b 09                	mov    (%ecx),%ecx
40569d:	e8 a3 fa ff ff       	call   0x405145
4056a2:	8b f0                	mov    %eax,%esi
4056a4:	85 f6                	test   %esi,%esi
4056a6:	74 18                	je     0x4056c0
4056a8:	8d 4e 04             	lea    0x4(%esi),%ecx
4056ab:	e8 89 09 00 00       	call   0x406039
4056b0:	81 0e 00 80 00 00    	orl    $0x8000,(%esi)
4056b6:	6a 0c                	push   $0xc
4056b8:	56                   	push   %esi
4056b9:	e8 81 4b 00 00       	call   0x40a23f
4056be:	59                   	pop    %ecx
4056bf:	59                   	pop    %ecx
4056c0:	8b 07                	mov    (%edi),%eax
4056c2:	83 20 00             	andl   $0x0,(%eax)
4056c5:	ff 15 1c e0 40 00    	call   *0x40e01c
4056cb:	80 7d f3 00          	cmpb   $0x0,-0xd(%ebp)
4056cf:	74 06                	je     0x4056d7
4056d1:	ff 15 24 e0 40 00    	call   *0x40e024
4056d7:	e8 de 54 00 00       	call   0x40abba
4056dc:	c3                   	ret
4056dd:	a1 00 d0 40 00       	mov    0x40d000,%eax
4056e2:	3d 00 d0 40 00       	cmp    $0x40d000,%eax
4056e7:	74 19                	je     0x405702
4056e9:	80 78 19 02          	cmpb   $0x2,0x19(%eax)
4056ed:	72 13                	jb     0x405702
4056ef:	68 dc 1d 40 00       	push   $0x401ddc
4056f4:	ff 70 14             	push   0x14(%eax)
4056f7:	ff 70 10             	push   0x10(%eax)
4056fa:	6a 12                	push   $0x12
4056fc:	59                   	pop    %ecx
4056fd:	e8 5d f9 ff ff       	call   0x40505f
405702:	68 03 40 00 80       	push   $0x80004003
405707:	8d 4d 84             	lea    -0x7c(%ebp),%ecx
40570a:	e8 5f e7 ff ff       	call   0x403e6e
40570f:	68 a4 c6 40 00       	push   $0x40c6a4
405714:	8d 45 84             	lea    -0x7c(%ebp),%eax
405717:	50                   	push   %eax
405718:	e8 1d 54 00 00       	call   0x40ab3a
40571d:	cc                   	int3
40571e:	cc                   	int3
40571f:	cc                   	int3
405720:	8b ff                	mov    %edi,%edi
405722:	55                   	push   %ebp
405723:	8b ec                	mov    %esp,%ebp
405725:	83 e4 f8             	and    $0xfffffff8,%esp
405728:	ff 75 0c             	push   0xc(%ebp)
40572b:	ff 75 08             	push   0x8(%ebp)
40572e:	e8 e3 0a 00 00       	call   0x406216
405733:	8b e5                	mov    %ebp,%esp
405735:	5d                   	pop    %ebp
405736:	c2 08 00             	ret    $0x8
405739:	cc                   	int3
40573a:	cc                   	int3
40573b:	cc                   	int3
40573c:	cc                   	int3
40573d:	cc                   	int3
40573e:	cc                   	int3
40573f:	cc                   	int3
405740:	8b ff                	mov    %edi,%edi
405742:	55                   	push   %ebp
405743:	8b ec                	mov    %esp,%ebp
405745:	5d                   	pop    %ebp
405746:	e9 1a 0b 00 00       	jmp    0x406265
40574b:	cc                   	int3
40574c:	cc                   	int3