405303:	85 ff                	test   %edi,%edi
405305:	74 69                	je     0x405370
405307:	8d 85 f4 fd ff ff    	lea    -0x20c(%ebp),%eax
40530d:	50                   	push   %eax
40530e:	ff b5 f0 fd ff ff    	push   -0x210(%ebp)
405314:	68 ae ee 00 00       	push   $0xeeae
405319:	6a 01                	push   $0x1
40531b:	e8 59 1b 00 00       	call   0x406e79
405320:	59                   	pop    %ecx
405321:	50                   	push   %eax
405322:	e8 b6 c6 ff ff       	call   0x4019dd
405327:	83 c4 10             	add    $0x10,%esp
40532a:	8d 85 ec fd ff ff    	lea    -0x214(%ebp),%eax
405330:	8b cf                	mov    %edi,%ecx
405332:	50                   	push   %eax
405333:	6a 01                	push   $0x1
405335:	8d 85 f4 fd ff ff    	lea    -0x20c(%ebp),%eax
40533b:	50                   	push   %eax
40533c:	ff b5 f0 fd ff ff    	push   -0x210(%ebp)
405342:	6a 00                	push   $0x0
405344:	ff 15 ec 81 40 00    	call   *0x4081ec
40534a:	ff d7                	call   *%edi
40534c:	85 c0                	test   %eax,%eax
40534e:	74 20                	je     0x405370
405350:	68 b2 ee 00 00       	push   $0xeeb2
405355:	6a 01                	push   $0x1
405357:	e8 1d 1b 00 00       	call   0x406e79
40535c:	59                   	pop    %ecx
40535d:	50                   	push   %eax
40535e:	e8 7a c6 ff ff       	call   0x4019dd
405363:	33 db                	xor    %ebx,%ebx
405365:	39 9d ec fd ff ff    	cmp    %ebx,-0x214(%ebp)
40536b:	59                   	pop    %ecx
40536c:	59                   	pop    %ecx
40536d:	0f 95 c3             	setne  %bl
405370:	56                   	push   %esi
405371:	ff 15 50 80 40 00    	call   *0x408050
405377:	5f                   	pop    %edi
405378:	8b c3                	mov    %ebx,%eax
40537a:	eb 03                	jmp    0x40537f
40537c:	6a 03                	push   $0x3
40537e:	58                   	pop    %eax
40537f:	8b 4d fc             	mov    -0x4(%ebp),%ecx
405382:	5e                   	pop    %esi
405383:	33 cd                	xor    %ebp,%ecx
405385:	5b                   	pop    %ebx
405386:	e8 55 15 00 00       	call   0x4068e0
40538b:	c9                   	leave
40538c:	c2 14 00             	ret    $0x14
40538f:	cc                   	int3
405390:	cc                   	int3
405391:	cc                   	int3
405392:	cc                   	int3
405393:	cc                   	int3
405394:	cc                   	int3
405395:	cc                   	int3
405396:	cc                   	int3
405397:	cc                   	int3
405398:	cc                   	int3
405399:	cc                   	int3
40539a:	cc                   	int3
40539b:	cc                   	int3
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:	81 ec 84 04 00 00    	sub    $0x484,%esp
4053ab:	a1 b4 71 40 00       	mov    0x4071b4,%eax
4053b0:	33 c5                	xor    %ebp,%eax
4053b2:	89 45 fc             	mov    %eax,-0x4(%ebp)
4053b5:	83 7d 0c 00          	cmpl   $0x0,0xc(%ebp)
4053b9:	53                   	push   %ebx
4053ba:	8b 5d 18             	mov    0x18(%ebp),%ebx
4053bd:	56                   	push   %esi
4053be:	57                   	push   %edi
4053bf:	6a 02                	push   $0x2
4053c1:	5e                   	pop    %esi
4053c2:	0f 85 84 01 00 00    	jne    0x40554c
4053c8:	39 75 14             	cmp    %esi,0x14(%ebp)
4053cb:	0f 8c 7b 01 00 00    	jl     0x40554c
4053d1:	8b 03                	mov    (%ebx),%eax
4053d3:	33 c9                	xor    %ecx,%ecx
4053d5:	89 8d 7c fb ff ff    	mov    %ecx,-0x484(%ebp)
4053db:	66 39 08             	cmp    %cx,(%eax)
4053de:	0f 84 68 01 00 00    	je     0x40554c
4053e4:	8b 7b 04             	mov    0x4(%ebx),%edi
4053e7:	66 39 0f             	cmp    %cx,(%edi)
4053ea:	0f 84 5c 01 00 00    	je     0x40554c
4053f0:	51                   	push   %ecx
4053f1:	8d 8d ac fb ff ff    	lea    -0x454(%ebp),%ecx
4053f7:	51                   	push   %ecx
4053f8:	68 04 01 00 00       	push   $0x104
4053fd:	50                   	push   %eax
4053fe:	ff 15 5c 80 40 00    	call   *0x40805c
405404:	3d 04 01 00 00       	cmp    $0x104,%eax
405409:	72 07                	jb     0x405412
40540b:	8b c6                	mov    %esi,%eax
40540d:	e9 3d 01 00 00       	jmp    0x40554f
405412:	33 c0                	xor    %eax,%eax
405414:	68 08 02 00 00       	push   $0x208
405419:	50                   	push   %eax
40541a:	8d 85 b4 fd ff ff    	lea    -0x24c(%ebp),%eax
405420:	50                   	push   %eax
405421:	e8 ab 1a 00 00       	call   0x406ed1
405426:	8d 8d b4 fd ff ff    	lea    -0x24c(%ebp),%ecx
40542c:	83 c4 0c             	add    $0xc,%esp
40542f:	8b c1                	mov    %ecx,%eax
405431:	ba 00 01 00 00       	mov    $0x100,%edx
405436:	2b f8                	sub    %eax,%edi
405438:	8d 82 fe fe ff 7f    	lea    0x7ffffefe(%edx),%eax
40543e:	85 c0                	test   %eax,%eax
405440:	74 17                	je     0x405459
405442:	0f b7 04 0f          	movzwl (%edi,%ecx,1),%eax
405446:	66 85 c0             	test   %ax,%ax
405449:	74 0a                	je     0x405455
40544b:	66 89 01             	mov    %ax,(%ecx)
40544e:	03 ce                	add    %esi,%ecx
405450:	83 ea 01             	sub    $0x1,%edx
405453:	75 e3                	jne    0x405438
405455:	85 d2                	test   %edx,%edx
405457:	74 b2                	je     0x40540b
405459:	33 c0                	xor    %eax,%eax
40545b:	33 ff                	xor    %edi,%edi
40545d:	57                   	push   %edi
40545e:	66 89 01             	mov    %ax,(%ecx)
405461:	8d 45 bc             	lea    -0x44(%ebp),%eax
405464:	6a 20                	push   $0x20
405466:	50                   	push   %eax
405467:	8d 85 9c fb ff ff    	lea    -0x464(%ebp),%eax
40546d:	50                   	push   %eax
40546e:	8d 85 ac fb ff ff    	lea    -0x454(%ebp),%eax
405474:	50                   	push   %eax
405475:	ff 15 a8 80 40 00    	call   *0x4080a8
40547b:	85 c0                	test   %eax,%eax
40547d:	74 8c                	je     0x40540b
40547f:	57                   	push   %edi
405480:	8d 85 9c fb ff ff    	lea    -0x464(%ebp),%eax
405486:	50                   	push   %eax
405487:	ff 15 a4 80 40 00    	call   *0x4080a4
40548d:	8b f8                	mov    %eax,%edi
40548f:	83 ff ff             	cmp    $0xffffffff,%edi
405492:	0f 84 73 ff ff ff    	je     0x40540b
405498:	8d 85 80 fb ff ff    	lea    -0x480(%ebp),%eax
40549e:	c7 85 80 fb ff ff 1c 	movl   $0x1c,-0x480(%ebp)
4054a5:	00 00 00
4054a8:	50                   	push   %eax
4054a9:	6a 01                	push   $0x1
4054ab:	33 c0                	xor    %eax,%eax
4054ad:	50                   	push   %eax
4054ae:	50                   	push   %eax
4054af:	8d 85 9c fb ff ff    	lea    -0x464(%ebp),%eax
4054b5:	50                   	push   %eax
4054b6:	8d 45 bc             	lea    -0x44(%ebp),%eax
4054b9:	50                   	push   %eax
4054ba:	57                   	push   %edi
4054bb:	ff 15 c8 80 40 00    	call   *0x4080c8
4054c1:	85 c0                	test   %eax,%eax
4054c3:	74 7b                	je     0x405540
4054c5:	8d 8d b4 fd ff ff    	lea    -0x24c(%ebp),%ecx
4054cb:	8d 51 02             	lea    0x2(%ecx),%edx
4054ce:	66 8b 01             	mov    (%ecx),%ax
4054d1:	03 ce                	add    %esi,%ecx
4054d3:	66 3b 85 7c fb ff ff 	cmp    -0x484(%ebp),%ax
4054da:	75 f2                	jne    0x4054ce
4054dc:	2b ca                	sub    %edx,%ecx
4054de:	d1 f9                	sar    $1,%ecx
4054e0:	8d 04 4d 04 00 00 00 	lea    0x4(,%ecx,2),%eax
4054e7:	50                   	push   %eax
4054e8:	8d 85 b4 fd ff ff    	lea    -0x24c(%ebp),%eax
4054ee:	50                   	push   %eax
4054ef:	6a 01                	push   $0x1
4054f1:	8d 85 80 fb ff ff    	lea    -0x480(%ebp),%eax
4054f7:	50                   	push   %eax
4054f8:	57                   	push   %edi
4054f9:	ff 15 c0 80 40 00    	call   *0x4080c0
4054ff:	85 c0                	test   %eax,%eax
405501:	74 3d                	je     0x405540
405503:	8d 85 80 fb ff ff    	lea    -0x480(%ebp),%eax
405509:	50                   	push   %eax
40550a:	57                   	push   %edi
40550b:	6a 19                	push   $0x19
40550d:	ff 15 e8 80 40 00    	call   *0x4080e8
405513:	85 c0                	test   %eax,%eax
405515:	74 29                	je     0x405540
405517:	68 4a ee 00 00       	push   $0xee4a
40551c:	6a 01                	push   $0x1
40551e:	e8 56 19 00 00       	call   0x406e79
405523:	59                   	pop    %ecx
405524:	50                   	push   %eax
405525:	e8 b3 c4 ff ff       	call   0x4019dd
40552a:	59                   	pop    %ecx
40552b:	59                   	pop    %ecx
40552c:	53                   	push   %ebx
40552d:	ff 75 14             	push   0x14(%ebp)
405530:	33 c0                	xor    %eax,%eax
405532:	ff 75 10             	push   0x10(%ebp)
405535:	50                   	push   %eax
405536:	ff 75 08             	push   0x8(%ebp)
405539:	e8 12 fd ff ff       	call   0x405250
40553e:	8b f0                	mov    %eax,%esi
405540:	57                   	push   %edi
405541:	ff 15 fc 80 40 00    	call   *0x4080fc
405547:	e9 bf fe ff ff       	jmp    0x40540b
40554c:	6a 03                	push   $0x3
40554e:	58                   	pop    %eax
40554f:	8b 4d fc             	mov    -0x4(%ebp),%ecx
405552:	5f                   	pop    %edi
405553:	5e                   	pop    %esi
405554:	33 cd                	xor    %ebp,%ecx
405556:	5b                   	pop    %ebx
405557:	e8 84 13 00 00       	call   0x4068e0
40555c:	c9                   	leave
40555d:	c2 14 00             	ret    $0x14
405560:	cc                   	int3
405561:	cc                   	int3
405562:	cc                   	int3
405563:	cc                   	int3
405564:	cc                   	int3
405565:	cc                   	int3
405566:	cc                   	int3
405567:	cc                   	int3
405568:	cc                   	int3
405569:	cc                   	int3
40556a:	cc                   	int3
40556b:	cc                   	int3
40556c:	cc                   	int3
40556d:	cc                   	int3
40556e:	cc                   	int3
40556f:	cc                   	int3
405570:	8b ff                	mov    %edi,%edi
405572:	55                   	push   %ebp
405573:	8b ec                	mov    %esp,%ebp
405575:	51                   	push   %ecx
405576:	53                   	push   %ebx
405577:	68 40 13 40 00       	push   $0x401340
40557c:	ff 15 48 80 40 00    	call   *0x408048
405582:	8b d8                	mov    %eax,%ebx
405584:	85 db                	test   %ebx,%ebx
405586:	75 16                	jne    0x40559e
405588:	ff 75 18             	push   0x18(%ebp)
40558b:	ff 75 14             	push   0x14(%ebp)
40558e:	ff 75 10             	push   0x10(%ebp)
405591:	ff 75 0c             	push   0xc(%ebp)
405594:	ff 75 08             	push   0x8(%ebp)
405597:	e8 b4 fc ff ff       	call   0x405250
40559c:	eb 71                	jmp    0x40560f
40559e:	56                   	push   %esi
40559f:	68 dc 13 40 00       	push   $0x4013dc
4055a4:	53                   	push   %ebx
4055a5:	ff 15 4c 80 40 00    	call   *0x40804c
4055ab:	8b f0                	mov    %eax,%esi
4055ad:	89 75 fc             	mov    %esi,-0x4(%ebp)
4055b0:	85 f6                	test   %esi,%esi
4055b2:	75 1d                	jne    0x4055d1
4055b4:	53                   	push   %ebx
4055b5:	ff 15 50 80 40 00    	call   *0x408050
4055bb:	ff 75 18             	push   0x18(%ebp)
4055be:	ff 75 14             	push   0x14(%ebp)
4055c1:	ff 75 10             	push   0x10(%ebp)
4055c4:	ff 75 0c             	push   0xc(%ebp)
4055c7:	ff 75 08             	push   0x8(%ebp)
4055ca:	e8 81 fc ff ff       	call   0x405250
4055cf:	eb 3d                	jmp    0x40560e
4055d1:	57                   	push   %edi
4055d2:	6a 01                	push   $0x1
4055d4:	8b ce                	mov    %esi,%ecx
4055d6:	ff 15 ec 81 40 00    	call   *0x4081ec
4055dc:	ff d6                	call   *%esi
4055de:	ff 75 18             	push   0x18(%ebp)
4055e1:	8b f0                	mov    %eax,%esi
4055e3:	ff 75 14             	push   0x14(%ebp)
4055e6:	ff 75 10             	push   0x10(%ebp)
4055e9:	ff 75 0c             	push   0xc(%ebp)
4055ec:	ff 75 08             	push   0x8(%ebp)
4055ef:	e8 5c fc ff ff       	call   0x405250
4055f4:	56                   	push   %esi
4055f5:	8b 75 fc             	mov    -0x4(%ebp),%esi
4055f8:	8b f8                	mov    %eax,%edi
4055fa:	8b ce                	mov    %esi,%ecx
4055fc:	ff 15 ec 81 40 00    	call   *0x4081ec
405602:	ff d6                	call   *%esi
405604:	53                   	push   %ebx
405605:	ff 15 50 80 40 00    	call   *0x408050
40560b:	8b c7                	mov    %edi,%eax
40560d:	5f                   	pop    %edi
40560e:	5e                   	pop    %esi
40560f:	5b                   	pop    %ebx
405610:	c9                   	leave
405611:	c2 14 00             	ret    $0x14
405614:	cc                   	int3
405615:	cc                   	int3
405616:	cc                   	int3
405617:	cc                   	int3
405618:	cc                   	int3
405619:	cc                   	int3
40561a:	cc                   	int3
40561b:	cc                   	int3
40561c:	cc                   	int3
40561d:	cc                   	int3
40561e:	cc                   	int3
40561f:	cc                   	int3
405620:	8b ff                	mov    %edi,%edi
405622:	55                   	push   %ebp
405623:	8b ec                	mov    %esp,%ebp
405625:	81 ec f8 05 00 00    	sub    $0x5f8,%esp
40562b:	a1 b4 71 40 00       	mov    0x4071b4,%eax
405630:	33 c5                	xor    %ebp,%eax
405632:	89 45 fc             	mov    %eax,-0x4(%ebp)
405635:	53                   	push   %ebx
405636:	8b 5d 0c             	mov    0xc(%ebp),%ebx
405639:	8d 85 08 fa ff ff    	lea    -0x5f8(%ebp),%eax
40563f:	56                   	push   %esi
405640:	8b 75 14             	mov    0x14(%ebp),%esi
405643:	57                   	push   %edi
405644:	8b 7d 08             	mov    0x8(%ebp),%edi
405647:	50                   	push   %eax
405648:	57                   	push   %edi
405649:	c7 85 08 fa ff ff 26 	movl   $0x226,-0x5f8(%ebp)
405650:	02 00 00
405653:	ff 15 0c 81 40 00    	call   *0x40810c
405659:	85 c0                	test   %eax,%eax
40565b:	0f 84 c1 00 00 00    	je     0x405722
405661:	ff b5 1c fa ff ff    	push   -0x5e4(%ebp)
405667:	8d 85 6c fe ff ff    	lea    -0x194(%ebp),%eax
40566d:	6a 00                	push   $0x0
40566f:	68 c8 00 00 00       	push   $0xc8
405674:	50                   	push   %eax
405675:	ff 73 14             	push   0x14(%ebx)
405678:	ff 15 04 81 40 00    	call   *0x408104
40567e:	85 c0                	test   %eax,%eax
405680:	0f 85 9c 00 00 00    	jne    0x405722
405686:	21 85 68 fe ff ff    	and    %eax,-0x198(%ebp)
40568c:	8d 85 5c fe ff ff    	lea    -0x1a4(%ebp),%eax
405692:	6a 10                	push   $0x10
405694:	50                   	push   %eax
405695:	53                   	push   %ebx
405696:	57                   	push   %edi
405697:	c7 85 5c fe ff ff 08 	movl   $0x8,-0x1a4(%ebp)
40569e:	00 00 00
4056a1:	c7 85 60 fe ff ff 05 	movl   $0x5,-0x1a0(%ebp)
4056a8:	00 00 00
4056ab:	c7 85 64 fe ff ff 01 	movl   $0x1,-0x19c(%ebp)
4056b2:	00 00 00
4056b5:	ff 15 b0 80 40 00    	call   *0x4080b0
4056bb:	85 c0                	test   %eax,%eax
4056bd:	74 4a                	je     0x405709
4056bf:	53                   	push   %ebx