40840a:	75 45                	jne    0x408451
40840c:	ff 15 70 20 41 00    	call   *0x412070
408412:	83 f8 7a             	cmp    $0x7a,%eax
408415:	75 2f                	jne    0x408446
408417:	ff 75 f0             	push   -0x10(%ebp)
40841a:	8d 4d e0             	lea    -0x20(%ebp),%ecx
40841d:	e8 cb f4 ff ff       	call   0x4078ed
408422:	8b 75 e4             	mov    -0x1c(%ebp),%esi
408425:	8d 45 f0             	lea    -0x10(%ebp),%eax
408428:	8b 7d e0             	mov    -0x20(%ebp),%edi
40842b:	2b f7                	sub    %edi,%esi
40842d:	50                   	push   %eax
40842e:	57                   	push   %edi
40842f:	d1 fe                	sar    $1,%esi
408431:	56                   	push   %esi
408432:	53                   	push   %ebx
408433:	89 75 f0             	mov    %esi,-0x10(%ebp)
408436:	ff 15 2c 20 41 00    	call   *0x41202c
40843c:	85 c0                	test   %eax,%eax
40843e:	75 11                	jne    0x408451
408440:	ff 15 70 20 41 00    	call   *0x412070
408446:	3d 03 01 00 00       	cmp    $0x103,%eax
40844b:	74 1b                	je     0x408468
40844d:	85 c0                	test   %eax,%eax
40844f:	75 13                	jne    0x408464
408451:	57                   	push   %edi
408452:	68 2c 26 40 00       	push   $0x40262c
408457:	ff 75 ec             	push   -0x14(%ebp)
40845a:	e8 e9 fe ff ff       	call   0x408348
40845f:	83 c4 0c             	add    $0xc,%esp
408462:	eb 94                	jmp    0x4083f8
408464:	6a 0d                	push   $0xd
408466:	eb 22                	jmp    0x40848a
408468:	85 ff                	test   %edi,%edi
40846a:	74 08                	je     0x408474
40846c:	57                   	push   %edi
40846d:	ff 15 e4 21 41 00    	call   *0x4121e4
408473:	59                   	pop    %ecx
408474:	8d 4d d4             	lea    -0x2c(%ebp),%ecx
408477:	e8 e7 d9 ff ff       	call   0x405e63
40847c:	e8 9b 61 00 00       	call   0x40e61c
408481:	c3                   	ret
408482:	ff 15 70 20 41 00    	call   *0x412070
408488:	6a 0c                	push   $0xc
40848a:	5a                   	pop    %edx
40848b:	8b c8                	mov    %eax,%ecx
40848d:	e8 51 f1 ff ff       	call   0x4075e3
408492:	cc                   	int3
408493:	8b ff                	mov    %edi,%edi
408495:	55                   	push   %ebp
408496:	8b ec                	mov    %esp,%ebp
408498:	51                   	push   %ecx
408499:	56                   	push   %esi
40849a:	8b 75 08             	mov    0x8(%ebp),%esi
40849d:	57                   	push   %edi
40849e:	8b f9                	mov    %ecx,%edi
4084a0:	0f b7 06             	movzwl (%esi),%eax
4084a3:	66 85 c0             	test   %ax,%ax
4084a6:	74 64                	je     0x40850c
4084a8:	8b d0                	mov    %eax,%edx
4084aa:	8b 4f 10             	mov    0x10(%edi),%ecx
4084ad:	0f b7 c2             	movzwl %dx,%eax
4084b0:	83 e8 0a             	sub    $0xa,%eax
4084b3:	74 40                	je     0x4084f5
4084b5:	83 e8 03             	sub    $0x3,%eax
4084b8:	74 34                	je     0x4084ee
4084ba:	83 e8 19             	sub    $0x19,%eax
4084bd:	74 28                	je     0x4084e7
4084bf:	83 e8 16             	sub    $0x16,%eax
4084c2:	74 1c                	je     0x4084e0
4084c4:	48                   	dec    %eax
4084c5:	83 e8 01             	sub    $0x1,%eax
4084c8:	74 0f                	je     0x4084d9
4084ca:	33 c0                	xor    %eax,%eax
4084cc:	66 89 55 fc          	mov    %dx,-0x4(%ebp)
4084d0:	66 89 45 fe          	mov    %ax,-0x2(%ebp)
4084d4:	8d 55 fc             	lea    -0x4(%ebp),%edx
4084d7:	eb 21                	jmp    0x4084fa
4084d9:	ba 44 26 40 00       	mov    $0x402644,%edx
4084de:	eb 1a                	jmp    0x4084fa
4084e0:	ba 50 26 40 00       	mov    $0x402650,%edx
4084e5:	eb 13                	jmp    0x4084fa
4084e7:	ba 38 26 40 00       	mov    $0x402638,%edx
4084ec:	eb 0c                	jmp    0x4084fa
4084ee:	ba 5c 26 40 00       	mov    $0x40265c,%edx
4084f3:	eb 05                	jmp    0x4084fa
4084f5:	ba 68 26 40 00       	mov    $0x402668,%edx
4084fa:	e8 15 ee ff ff       	call   0x407314
4084ff:	83 c6 02             	add    $0x2,%esi
408502:	0f b7 06             	movzwl (%esi),%eax
408505:	8b d0                	mov    %eax,%edx
408507:	66 85 c0             	test   %ax,%ax
40850a:	75 9e                	jne    0x4084aa
40850c:	5f                   	pop    %edi
40850d:	5e                   	pop    %esi
40850e:	c9                   	leave
40850f:	c2 04 00             	ret    $0x4
408512:	8b ff                	mov    %edi,%edi
408514:	55                   	push   %ebp
408515:	8b ec                	mov    %esp,%ebp
408517:	51                   	push   %ecx
408518:	56                   	push   %esi
408519:	8b 75 08             	mov    0x8(%ebp),%esi
40851c:	57                   	push   %edi
40851d:	8b f9                	mov    %ecx,%edi
40851f:	0f b7 06             	movzwl (%esi),%eax
408522:	66 85 c0             	test   %ax,%ax
408525:	74 64                	je     0x40858b
408527:	8b d0                	mov    %eax,%edx
408529:	8b 4f 10             	mov    0x10(%edi),%ecx
40852c:	0f b7 c2             	movzwl %dx,%eax
40852f:	83 e8 22             	sub    $0x22,%eax
408532:	74 40                	je     0x408574
408534:	83 e8 04             	sub    $0x4,%eax
408537:	74 34                	je     0x40856d
408539:	83 e8 01             	sub    $0x1,%eax
40853c:	74 28                	je     0x408566
40853e:	83 e8 15             	sub    $0x15,%eax
408541:	74 1c                	je     0x40855f
408543:	48                   	dec    %eax
408544:	83 e8 01             	sub    $0x1,%eax
408547:	74 0f                	je     0x408558
408549:	33 c0                	xor    %eax,%eax
40854b:	66 89 55 fc          	mov    %dx,-0x4(%ebp)
40854f:	66 89 45 fe          	mov    %ax,-0x2(%ebp)
408553:	8d 55 fc             	lea    -0x4(%ebp),%edx
408556:	eb 21                	jmp    0x408579
408558:	ba 44 26 40 00       	mov    $0x402644,%edx
40855d:	eb 1a                	jmp    0x408579
40855f:	ba 50 26 40 00       	mov    $0x402650,%edx
408564:	eb 13                	jmp    0x408579
408566:	ba 74 26 40 00       	mov    $0x402674,%edx
40856b:	eb 0c                	jmp    0x408579
40856d:	ba 38 26 40 00       	mov    $0x402638,%edx
408572:	eb 05                	jmp    0x408579
408574:	ba 84 26 40 00       	mov    $0x402684,%edx
408579:	e8 96 ed ff ff       	call   0x407314
40857e:	83 c6 02             	add    $0x2,%esi
408581:	0f b7 06             	movzwl (%esi),%eax
408584:	8b d0                	mov    %eax,%edx
408586:	66 85 c0             	test   %ax,%ax
408589:	75 9e                	jne    0x408529
40858b:	5f                   	pop    %edi
40858c:	5e                   	pop    %esi
40858d:	c9                   	leave
40858e:	c2 04 00             	ret    $0x4
408591:	cc                   	int3
408592:	cc                   	int3
408593:	cc                   	int3
408594:	cc                   	int3
408595:	cc                   	int3
408596:	cc                   	int3
408597:	cc                   	int3
408598:	cc                   	int3
408599:	cc                   	int3
40859a:	cc                   	int3
40859b:	cc                   	int3
40859c:	cc                   	int3
40859d:	cc                   	int3
40859e:	cc                   	int3
40859f:	cc                   	int3
4085a0:	6a 2b                	push   $0x2b
4085a2:	e8 95 df ff ff       	call   0x40653c
4085a7:	c3                   	ret
4085a8:	cc                   	int3
4085a9:	cc                   	int3
4085aa:	cc                   	int3
4085ab:	cc                   	int3
4085ac:	cc                   	int3
4085ad:	cc                   	int3
4085ae:	cc                   	int3
4085af:	cc                   	int3
4085b0:	6a 20                	push   $0x20
4085b2:	b8 f5 ef 40 00       	mov    $0x40eff5,%eax
4085b7:	e8 c5 60 00 00       	call   0x40e681
4085bc:	8b f1                	mov    %ecx,%esi
4085be:	8b 4e 08             	mov    0x8(%esi),%ecx
4085c1:	6a 02                	push   $0x2
4085c3:	6a 02                	push   $0x2
4085c5:	e8 f7 e5 ff ff       	call   0x406bc1
4085ca:	8b 4e 08             	mov    0x8(%esi),%ecx
4085cd:	68 04 10 41 00       	push   $0x411004
4085d2:	e8 b9 e4 ff ff       	call   0x406a90
4085d7:	8b 4e 08             	mov    0x8(%esi),%ecx
4085da:	33 db                	xor    %ebx,%ebx
4085dc:	43                   	inc    %ebx
4085dd:	53                   	push   %ebx
4085de:	e8 6d e4 ff ff       	call   0x406a50
4085e3:	50                   	push   %eax
4085e4:	8d 4e 18             	lea    0x18(%esi),%ecx
4085e7:	e8 b5 de ff ff       	call   0x4064a1
4085ec:	8b 4e 08             	mov    0x8(%esi),%ecx
4085ef:	8d 45 d7             	lea    -0x29(%ebp),%eax
4085f2:	50                   	push   %eax
4085f3:	68 7c 24 40 00       	push   $0x40247c
4085f8:	68 a4 26 40 00       	push   $0x4026a4
4085fd:	68 a8 26 40 00       	push   $0x4026a8
408602:	e8 43 e3 ff ff       	call   0x40694a
408607:	83 65 e8 00          	andl   $0x0,-0x18(%ebp)
40860b:	33 c9                	xor    %ecx,%ecx
40860d:	66 89 4d d8          	mov    %cx,-0x28(%ebp)
408611:	8d 4d d8             	lea    -0x28(%ebp),%ecx
408614:	50                   	push   %eax
408615:	c7 45 ec 07 00 00 00 	movl   $0x7,-0x14(%ebp)
40861c:	e8 80 de ff ff       	call   0x4064a1
408621:	83 65 fc 00          	andl   $0x0,-0x4(%ebp)
408625:	83 7d ec 08          	cmpl   $0x8,-0x14(%ebp)
408629:	8b 45 d8             	mov    -0x28(%ebp),%eax
40862c:	73 03                	jae    0x408631
40862e:	8d 45 d8             	lea    -0x28(%ebp),%eax
408631:	83 cf ff             	or     $0xffffffff,%edi
408634:	57                   	push   %edi
408635:	68 b8 26 40 00       	push   $0x4026b8
40863a:	57                   	push   %edi
40863b:	50                   	push   %eax
40863c:	53                   	push   %ebx
40863d:	6a 7f                	push   $0x7f
40863f:	ff 15 f4 20 41 00    	call   *0x4120f4
408645:	83 f8 02             	cmp    $0x2,%eax
408648:	74 48                	je     0x408692
40864a:	83 7d ec 08          	cmpl   $0x8,-0x14(%ebp)
40864e:	8b 45 d8             	mov    -0x28(%ebp),%eax
408651:	73 03                	jae    0x408656
408653:	8d 45 d8             	lea    -0x28(%ebp),%eax
408656:	57                   	push   %edi
408657:	68 7c 24 40 00       	push   $0x40247c
40865c:	57                   	push   %edi
40865d:	50                   	push   %eax
40865e:	53                   	push   %ebx
40865f:	6a 7f                	push   $0x7f
408661:	ff 15 f4 20 41 00    	call   *0x4120f4
408667:	83 f8 02             	cmp    $0x2,%eax
40866a:	74 26                	je     0x408692
40866c:	83 7d ec 08          	cmpl   $0x8,-0x14(%ebp)
408670:	8b 45 d8             	mov    -0x28(%ebp),%eax
408673:	73 03                	jae    0x408678
408675:	8d 45 d8             	lea    -0x28(%ebp),%eax
408678:	57                   	push   %edi
408679:	68 c4 26 40 00       	push   $0x4026c4
40867e:	57                   	push   %edi
40867f:	50                   	push   %eax
408680:	53                   	push   %ebx
408681:	6a 7f                	push   $0x7f
408683:	ff 15 f4 20 41 00    	call   *0x4120f4
408689:	83 f8 02             	cmp    $0x2,%eax
40868c:	75 1a                	jne    0x4086a8
40868e:	8a c3                	mov    %bl,%al
408690:	eb 02                	jmp    0x408694
408692:	32 c0                	xor    %al,%al
408694:	6a 00                	push   $0x0
408696:	53                   	push   %ebx
408697:	8d 4d d8             	lea    -0x28(%ebp),%ecx
40869a:	88 46 30             	mov    %al,0x30(%esi)
40869d:	e8 4e de ff ff       	call   0x4064f0
4086a2:	e8 89 5f 00 00       	call   0x40e630
4086a7:	c3                   	ret
4086a8:	6a 12                	push   $0x12
4086aa:	6a 57                	push   $0x57
4086ac:	e8 64 ef ff ff       	call   0x407615
4086b1:	cc                   	int3
4086b2:	cc                   	int3
4086b3:	cc                   	int3
4086b4:	cc                   	int3
4086b5:	cc                   	int3
4086b6:	cc                   	int3
4086b7:	cc                   	int3
4086b8:	cc                   	int3
4086b9:	cc                   	int3
4086ba:	cc                   	int3
4086bb:	cc                   	int3
4086bc:	cc                   	int3
4086bd:	cc                   	int3
4086be:	cc                   	int3
4086bf:	cc                   	int3
4086c0:	8b ff                	mov    %edi,%edi
4086c2:	55                   	push   %ebp
4086c3:	8b ec                	mov    %esp,%ebp
4086c5:	83 e4 f8             	and    $0xfffffff8,%esp
4086c8:	80 79 30 00          	cmpb   $0x0,0x30(%ecx)
4086cc:	74 07                	je     0x4086d5
4086ce:	e8 30 0c 00 00       	call   0x409303
4086d3:	eb 05                	jmp    0x4086da
4086d5:	e8 04 00 00 00       	call   0x4086de
4086da:	8b e5                	mov    %ebp,%esp
4086dc:	5d                   	pop    %ebp
4086dd:	c3                   	ret
4086de:	6a 54                	push   $0x54
4086e0:	b8 3a f0 40 00       	mov    $0x40f03a,%eax
4086e5:	e8 97 5f 00 00       	call   0x40e681
4086ea:	8b f1                	mov    %ecx,%esi
4086ec:	8d 7e 18             	lea    0x18(%esi),%edi
4086ef:	83 7f 14 08          	cmpl   $0x8,0x14(%edi)
4086f3:	72 04                	jb     0x4086f9
4086f5:	8b 07                	mov    (%edi),%eax
4086f7:	eb 02                	jmp    0x4086fb
4086f9:	8b c7                	mov    %edi,%eax
4086fb:	6a 02                	push   $0x2
4086fd:	6a 01                	push   $0x1
4086ff:	50                   	push   %eax
408700:	ff 15 28 20 41 00    	call   *0x412028
408706:	8b d8                	mov    %eax,%ebx
408708:	89 5d bc             	mov    %ebx,-0x44(%ebp)
40870b:	85 db                	test   %ebx,%ebx
40870d:	0f 84 d2 0b 00 00    	je     0x4092e5
408713:	a1 30 20 41 00       	mov    0x412030,%eax
408718:	33 c9                	xor    %ecx,%ecx
40871a:	88 4d a0             	mov    %cl,-0x60(%ebp)
40871d:	89 45 a4             	mov    %eax,-0x5c(%ebp)
408720:	89 5d a8             	mov    %ebx,-0x58(%ebp)
408723:	89 4d fc             	mov    %ecx,-0x4(%ebp)
408726:	89 4d c8             	mov    %ecx,-0x38(%ebp)
408729:	89 4d cc             	mov    %ecx,-0x34(%ebp)
40872c:	89 4d d0             	mov    %ecx,-0x30(%ebp)
40872f:	c6 45 fc 01          	movb   $0x1,-0x4(%ebp)
408733:	83 7f 14 08          	cmpl   $0x8,0x14(%edi)
408737:	c7 45 c0 01 00 00 00 	movl   $0x1,-0x40(%ebp)
40873e:	72 02                	jb     0x408742
408740:	8b 3f                	mov    (%edi),%edi
408742:	57                   	push   %edi
408743:	68 cc 26 40 00       	push   $0x4026cc
408748:	56                   	push   %esi
408749:	e8 fa fb ff ff       	call   0x408348
40874e:	83 c4 0c             	add    $0xc,%esp
408751:	8d 45 d4             	lea    -0x2c(%ebp),%eax
408754:	50                   	push   %eax
408755:	8d 45 c8             	lea    -0x38(%ebp),%eax
408758:	50                   	push   %eax
408759:	51                   	push   %ecx
40875a:	6a 1b                	push   $0x1b
40875c:	5a                   	pop    %edx
40875d:	8b cb                	mov    %ebx,%ecx
40875f:	e8 01 f9 ff ff       	call   0x408065
408764:	85 c0                	test   %eax,%eax
408766:	0f 85 89 0b 00 00    	jne    0x4092f5
40876c:	8b 7d d4             	mov    -0x2c(%ebp),%edi
40876f:	8b 47 0c             	mov    0xc(%edi),%eax
408772:	85 c0                	test   %eax,%eax
408774:	74 3b                	je     0x4087b1
408776:	83 f8 02             	cmp    $0x2,%eax
408779:	75 14                	jne    0x40878f
40877b:	85 c0                	test   %eax,%eax
40877d:	74 32                	je     0x4087b1
40877f:	8b 17                	mov    (%edi),%edx
408781:	b9 10 12 41 00       	mov    $0x411210,%ecx
408786:	e8 d4 53 00 00       	call   0x40db5f
40878b:	85 c0                	test   %eax,%eax
40878d:	75 0e                	jne    0x40879d
40878f:	68 f8 26 40 00       	push   $0x4026f8
408794:	6a 0e                	push   $0xe
408796:	6a 0d                	push   $0xd