407426:	74 08                	je     0x407430
407428:	89 35 18 10 43 00    	mov    %esi,0x431018
40742e:	eb 34                	jmp    0x407464
407430:	ff 15 58 d0 41 00    	call   *0x41d058
407436:	83 f8 78             	cmp    $0x78,%eax
407439:	75 0a                	jne    0x407445
40743b:	6a 02                	push   $0x2
40743d:	58                   	pop    %eax
40743e:	a3 18 10 43 00       	mov    %eax,0x431018
407443:	eb 05                	jmp    0x40744a
407445:	a1 18 10 43 00       	mov    0x431018,%eax
40744a:	83 f8 02             	cmp    $0x2,%eax
40744d:	0f 84 cf 00 00 00    	je     0x407522
407453:	3b c3                	cmp    %ebx,%eax
407455:	0f 84 c7 00 00 00    	je     0x407522
40745b:	83 f8 01             	cmp    $0x1,%eax
40745e:	0f 85 e8 00 00 00    	jne    0x40754c
407464:	89 5d f8             	mov    %ebx,-0x8(%ebp)
407467:	39 5d 18             	cmp    %ebx,0x18(%ebp)
40746a:	75 08                	jne    0x407474
40746c:	8b 07                	mov    (%edi),%eax
40746e:	8b 40 04             	mov    0x4(%eax),%eax
407471:	89 45 18             	mov    %eax,0x18(%ebp)
407474:	8b 35 20 d1 41 00    	mov    0x41d120,%esi
40747a:	33 c0                	xor    %eax,%eax
40747c:	39 5d 20             	cmp    %ebx,0x20(%ebp)
40747f:	53                   	push   %ebx
407480:	53                   	push   %ebx
407481:	ff 75 10             	push   0x10(%ebp)
407484:	0f 95 c0             	setne  %al
407487:	ff 75 0c             	push   0xc(%ebp)
40748a:	8d 04 c5 01 00 00 00 	lea    0x1(,%eax,8),%eax
407491:	50                   	push   %eax
407492:	ff 75 18             	push   0x18(%ebp)
407495:	ff d6                	call   *%esi
407497:	8b f8                	mov    %eax,%edi
407499:	3b fb                	cmp    %ebx,%edi
40749b:	0f 84 ab 00 00 00    	je     0x40754c
4074a1:	7e 3c                	jle    0x4074df
4074a3:	81 ff f0 ff ff 7f    	cmp    $0x7ffffff0,%edi
4074a9:	77 34                	ja     0x4074df
4074ab:	8d 44 3f 08          	lea    0x8(%edi,%edi,1),%eax
4074af:	3d 00 04 00 00       	cmp    $0x400,%eax
4074b4:	77 13                	ja     0x4074c9
4074b6:	e8 f5 16 00 00       	call   0x408bb0
4074bb:	8b c4                	mov    %esp,%eax
4074bd:	3b c3                	cmp    %ebx,%eax
4074bf:	74 1c                	je     0x4074dd
4074c1:	c7 00 cc cc 00 00    	movl   $0xcccc,(%eax)
4074c7:	eb 11                	jmp    0x4074da
4074c9:	50                   	push   %eax
4074ca:	e8 6b 01 00 00       	call   0x40763a
4074cf:	59                   	pop    %ecx
4074d0:	3b c3                	cmp    %ebx,%eax
4074d2:	74 09                	je     0x4074dd
4074d4:	c7 00 dd dd 00 00    	movl   $0xdddd,(%eax)
4074da:	83 c0 08             	add    $0x8,%eax
4074dd:	8b d8                	mov    %eax,%ebx
4074df:	85 db                	test   %ebx,%ebx
4074e1:	74 69                	je     0x40754c
4074e3:	8d 04 3f             	lea    (%edi,%edi,1),%eax
4074e6:	50                   	push   %eax
4074e7:	6a 00                	push   $0x0
4074e9:	53                   	push   %ebx
4074ea:	e8 51 f9 ff ff       	call   0x406e40
4074ef:	83 c4 0c             	add    $0xc,%esp
4074f2:	57                   	push   %edi
4074f3:	53                   	push   %ebx
4074f4:	ff 75 10             	push   0x10(%ebp)
4074f7:	ff 75 0c             	push   0xc(%ebp)
4074fa:	6a 01                	push   $0x1
4074fc:	ff 75 18             	push   0x18(%ebp)
4074ff:	ff d6                	call   *%esi
407501:	85 c0                	test   %eax,%eax
407503:	74 11                	je     0x407516
407505:	ff 75 14             	push   0x14(%ebp)
407508:	50                   	push   %eax
407509:	53                   	push   %ebx
40750a:	ff 75 08             	push   0x8(%ebp)
40750d:	ff 15 28 d1 41 00    	call   *0x41d128
407513:	89 45 f8             	mov    %eax,-0x8(%ebp)
407516:	53                   	push   %ebx
407517:	e8 c9 fa ff ff       	call   0x406fe5
40751c:	8b 45 f8             	mov    -0x8(%ebp),%eax
40751f:	59                   	pop    %ecx
407520:	eb 75                	jmp    0x407597
407522:	33 f6                	xor    %esi,%esi
407524:	39 5d 1c             	cmp    %ebx,0x1c(%ebp)
407527:	75 08                	jne    0x407531
407529:	8b 07                	mov    (%edi),%eax
40752b:	8b 40 14             	mov    0x14(%eax),%eax
40752e:	89 45 1c             	mov    %eax,0x1c(%ebp)
407531:	39 5d 18             	cmp    %ebx,0x18(%ebp)
407534:	75 08                	jne    0x40753e
407536:	8b 07                	mov    (%edi),%eax
407538:	8b 40 04             	mov    0x4(%eax),%eax
40753b:	89 45 18             	mov    %eax,0x18(%ebp)
40753e:	ff 75 1c             	push   0x1c(%ebp)
407541:	e8 96 16 00 00       	call   0x408bdc
407546:	59                   	pop    %ecx
407547:	83 f8 ff             	cmp    $0xffffffff,%eax
40754a:	75 04                	jne    0x407550
40754c:	33 c0                	xor    %eax,%eax
40754e:	eb 47                	jmp    0x407597
407550:	3b 45 18             	cmp    0x18(%ebp),%eax
407553:	74 1e                	je     0x407573
407555:	53                   	push   %ebx
407556:	53                   	push   %ebx
407557:	8d 4d 10             	lea    0x10(%ebp),%ecx
40755a:	51                   	push   %ecx
40755b:	ff 75 0c             	push   0xc(%ebp)
40755e:	50                   	push   %eax
40755f:	ff 75 18             	push   0x18(%ebp)
407562:	e8 be 16 00 00       	call   0x408c25
407567:	8b f0                	mov    %eax,%esi
407569:	83 c4 18             	add    $0x18,%esp
40756c:	3b f3                	cmp    %ebx,%esi
40756e:	74 dc                	je     0x40754c
407570:	89 75 0c             	mov    %esi,0xc(%ebp)
407573:	ff 75 14             	push   0x14(%ebp)
407576:	ff 75 10             	push   0x10(%ebp)
407579:	ff 75 0c             	push   0xc(%ebp)
40757c:	ff 75 08             	push   0x8(%ebp)
40757f:	ff 75 1c             	push   0x1c(%ebp)
407582:	ff 15 24 d1 41 00    	call   *0x41d124
407588:	8b f8                	mov    %eax,%edi
40758a:	3b f3                	cmp    %ebx,%esi
40758c:	74 07                	je     0x407595
40758e:	56                   	push   %esi
40758f:	e8 0f d8 ff ff       	call   0x404da3
407594:	59                   	pop    %ecx
407595:	8b c7                	mov    %edi,%eax
407597:	8d 65 ec             	lea    -0x14(%ebp),%esp
40759a:	5f                   	pop    %edi
40759b:	5e                   	pop    %esi
40759c:	5b                   	pop    %ebx
40759d:	8b 4d fc             	mov    -0x4(%ebp),%ecx
4075a0:	33 cd                	xor    %ebp,%ecx
4075a2:	e8 59 9a ff ff       	call   0x401000
4075a7:	c9                   	leave
4075a8:	c3                   	ret
4075a9:	8b ff                	mov    %edi,%edi
4075ab:	55                   	push   %ebp
4075ac:	8b ec                	mov    %esp,%ebp
4075ae:	83 ec 10             	sub    $0x10,%esp
4075b1:	ff 75 08             	push   0x8(%ebp)
4075b4:	8d 4d f0             	lea    -0x10(%ebp),%ecx
4075b7:	e8 12 d0 ff ff       	call   0x4045ce
4075bc:	ff 75 24             	push   0x24(%ebp)
4075bf:	8d 4d f0             	lea    -0x10(%ebp),%ecx
4075c2:	ff 75 20             	push   0x20(%ebp)
4075c5:	ff 75 1c             	push   0x1c(%ebp)
4075c8:	ff 75 18             	push   0x18(%ebp)
4075cb:	ff 75 14             	push   0x14(%ebp)
4075ce:	ff 75 10             	push   0x10(%ebp)
4075d1:	ff 75 0c             	push   0xc(%ebp)
4075d4:	e8 16 fe ff ff       	call   0x4073ef
4075d9:	83 c4 1c             	add    $0x1c,%esp
4075dc:	80 7d fc 00          	cmpb   $0x0,-0x4(%ebp)
4075e0:	74 07                	je     0x4075e9
4075e2:	8b 4d f8             	mov    -0x8(%ebp),%ecx
4075e5:	83 61 70 fd          	andl   $0xfffffffd,0x70(%ecx)
4075e9:	c9                   	leave
4075ea:	c3                   	ret
4075eb:	6a 0c                	push   $0xc
4075ed:	68 48 e8 41 00       	push   $0x41e848
4075f2:	e8 89 b5 ff ff       	call   0x402b80
4075f7:	83 65 e4 00          	andl   $0x0,-0x1c(%ebp)
4075fb:	8b 75 08             	mov    0x8(%ebp),%esi
4075fe:	3b 35 80 2d de 02    	cmp    0x2de2d80,%esi
407604:	77 22                	ja     0x407628
407606:	6a 04                	push   $0x4
407608:	e8 ca c4 ff ff       	call   0x403ad7
40760d:	59                   	pop    %ecx
40760e:	83 65 fc 00          	andl   $0x0,-0x4(%ebp)
407612:	56                   	push   %esi
407613:	e8 61 e7 ff ff       	call   0x405d79
407618:	59                   	pop    %ecx
407619:	89 45 e4             	mov    %eax,-0x1c(%ebp)
40761c:	c7 45 fc fe ff ff ff 	movl   $0xfffffffe,-0x4(%ebp)
407623:	e8 09 00 00 00       	call   0x407631
407628:	8b 45 e4             	mov    -0x1c(%ebp),%eax
40762b:	e8 95 b5 ff ff       	call   0x402bc5
407630:	c3                   	ret
407631:	6a 04                	push   $0x4
407633:	e8 c5 c3 ff ff       	call   0x4039fd
407638:	59                   	pop    %ecx
407639:	c3                   	ret
40763a:	8b ff                	mov    %edi,%edi
40763c:	55                   	push   %ebp
40763d:	8b ec                	mov    %esp,%ebp
40763f:	56                   	push   %esi
407640:	8b 75 08             	mov    0x8(%ebp),%esi
407643:	83 fe e0             	cmp    $0xffffffe0,%esi
407646:	0f 87 a1 00 00 00    	ja     0x4076ed
40764c:	53                   	push   %ebx
40764d:	57                   	push   %edi
40764e:	8b 3d 50 d0 41 00    	mov    0x41d050,%edi
407654:	83 3d 24 0e 43 00 00 	cmpl   $0x0,0x430e24
40765b:	75 18                	jne    0x407675
40765d:	e8 4e a6 ff ff       	call   0x401cb0
407662:	6a 1e                	push   $0x1e
407664:	e8 9c a4 ff ff       	call   0x401b05
407669:	68 ff 00 00 00       	push   $0xff
40766e:	e8 de a1 ff ff       	call   0x401851
407673:	59                   	pop    %ecx
407674:	59                   	pop    %ecx
407675:	a1 98 2d de 02       	mov    0x2de2d98,%eax
40767a:	83 f8 01             	cmp    $0x1,%eax
40767d:	75 0e                	jne    0x40768d
40767f:	85 f6                	test   %esi,%esi
407681:	74 04                	je     0x407687
407683:	8b c6                	mov    %esi,%eax
407685:	eb 03                	jmp    0x40768a
407687:	33 c0                	xor    %eax,%eax
407689:	40                   	inc    %eax
40768a:	50                   	push   %eax
40768b:	eb 1c                	jmp    0x4076a9
40768d:	83 f8 03             	cmp    $0x3,%eax
407690:	75 0b                	jne    0x40769d
407692:	56                   	push   %esi
407693:	e8 53 ff ff ff       	call   0x4075eb
407698:	59                   	pop    %ecx
407699:	85 c0                	test   %eax,%eax
40769b:	75 16                	jne    0x4076b3
40769d:	85 f6                	test   %esi,%esi
40769f:	75 01                	jne    0x4076a2
4076a1:	46                   	inc    %esi
4076a2:	83 c6 0f             	add    $0xf,%esi
4076a5:	83 e6 f0             	and    $0xfffffff0,%esi
4076a8:	56                   	push   %esi
4076a9:	6a 00                	push   $0x0
4076ab:	ff 35 24 0e 43 00    	push   0x430e24
4076b1:	ff d7                	call   *%edi
4076b3:	8b d8                	mov    %eax,%ebx
4076b5:	85 db                	test   %ebx,%ebx
4076b7:	75 2e                	jne    0x4076e7
4076b9:	6a 0c                	push   $0xc
4076bb:	5e                   	pop    %esi
4076bc:	39 05 24 10 43 00    	cmp    %eax,0x431024
4076c2:	74 15                	je     0x4076d9
4076c4:	ff 75 08             	push   0x8(%ebp)
4076c7:	e8 ff ca ff ff       	call   0x4041cb
4076cc:	59                   	pop    %ecx
4076cd:	85 c0                	test   %eax,%eax
4076cf:	74 0f                	je     0x4076e0
4076d1:	8b 75 08             	mov    0x8(%ebp),%esi
4076d4:	e9 7b ff ff ff       	jmp    0x407654
4076d9:	e8 6e b7 ff ff       	call   0x402e4c
4076de:	89 30                	mov    %esi,(%eax)
4076e0:	e8 67 b7 ff ff       	call   0x402e4c
4076e5:	89 30                	mov    %esi,(%eax)
4076e7:	5f                   	pop    %edi
4076e8:	8b c3                	mov    %ebx,%eax
4076ea:	5b                   	pop    %ebx
4076eb:	eb 14                	jmp    0x407701
4076ed:	56                   	push   %esi
4076ee:	e8 d8 ca ff ff       	call   0x4041cb
4076f3:	59                   	pop    %ecx
4076f4:	e8 53 b7 ff ff       	call   0x402e4c
4076f9:	c7 00 0c 00 00 00    	movl   $0xc,(%eax)
4076ff:	33 c0                	xor    %eax,%eax
407701:	5e                   	pop    %esi
407702:	5d                   	pop    %ebp
407703:	c3                   	ret
407704:	6a 0c                	push   $0xc
407706:	68 68 e8 41 00       	push   $0x41e868
40770b:	e8 70 b4 ff ff       	call   0x402b80
407710:	8b 4d 08             	mov    0x8(%ebp),%ecx
407713:	33 ff                	xor    %edi,%edi
407715:	3b cf                	cmp    %edi,%ecx
407717:	76 2e                	jbe    0x407747
407719:	6a e0                	push   $0xffffffe0
40771b:	58                   	pop    %eax
40771c:	33 d2                	xor    %edx,%edx
40771e:	f7 f1                	div    %ecx
407720:	3b 45 0c             	cmp    0xc(%ebp),%eax
407723:	1b c0                	sbb    %eax,%eax
407725:	40                   	inc    %eax
407726:	75 1f                	jne    0x407747
407728:	e8 1f b7 ff ff       	call   0x402e4c
40772d:	c7 00 0c 00 00 00    	movl   $0xc,(%eax)
407733:	57                   	push   %edi
407734:	57                   	push   %edi
407735:	57                   	push   %edi
407736:	57                   	push   %edi
407737:	57                   	push   %edi
407738:	e8 04 c5 ff ff       	call   0x403c41
40773d:	83 c4 14             	add    $0x14,%esp
407740:	33 c0                	xor    %eax,%eax
407742:	e9 d5 00 00 00       	jmp    0x40781c
407747:	0f af 4d 0c          	imul   0xc(%ebp),%ecx
40774b:	8b f1                	mov    %ecx,%esi
40774d:	89 75 08             	mov    %esi,0x8(%ebp)
407750:	3b f7                	cmp    %edi,%esi
407752:	75 03                	jne    0x407757
407754:	33 f6                	xor    %esi,%esi
407756:	46                   	inc    %esi
407757:	33 db                	xor    %ebx,%ebx
407759:	89 5d e4             	mov    %ebx,-0x1c(%ebp)
40775c:	83 fe e0             	cmp    $0xffffffe0,%esi
40775f:	77 69                	ja     0x4077ca
407761:	83 3d 98 2d de 02 03 	cmpl   $0x3,0x2de2d98
407768:	75 4b                	jne    0x4077b5
40776a:	83 c6 0f             	add    $0xf,%esi
40776d:	83 e6 f0             	and    $0xfffffff0,%esi
407770:	89 75 0c             	mov    %esi,0xc(%ebp)
407773:	8b 45 08             	mov    0x8(%ebp),%eax
407776:	3b 05 80 2d de 02    	cmp    0x2de2d80,%eax
40777c:	77 37                	ja     0x4077b5
40777e:	6a 04                	push   $0x4
407780:	e8 52 c3 ff ff       	call   0x403ad7
407785:	59                   	pop    %ecx
407786:	89 7d fc             	mov    %edi,-0x4(%ebp)
407789:	ff 75 08             	push   0x8(%ebp)
40778c:	e8 e8 e5 ff ff       	call   0x405d79
407791:	59                   	pop    %ecx
407792:	89 45 e4             	mov    %eax,-0x1c(%ebp)
407795:	c7 45 fc fe ff ff ff 	movl   $0xfffffffe,-0x4(%ebp)
40779c:	e8 5f 00 00 00       	call   0x407800
4077a1:	8b 5d e4             	mov    -0x1c(%ebp),%ebx
4077a4:	3b df                	cmp    %edi,%ebx
4077a6:	74 11                	je     0x4077b9
4077a8:	ff 75 08             	push   0x8(%ebp)
4077ab:	57                   	push   %edi
4077ac:	53                   	push   %ebx
4077ad:	e8 8e f6 ff ff       	call   0x406e40
4077b2:	83 c4 0c             	add    $0xc,%esp
4077b5:	3b df                	cmp    %edi,%ebx
4077b7:	75 61                	jne    0x40781a
4077b9:	56                   	push   %esi
4077ba:	6a 08                	push   $0x8
4077bc:	ff 35 24 0e 43 00    	push   0x430e24
4077c2:	ff 15 50 d0 41 00    	call   *0x41d050
4077c8:	8b d8                	mov    %eax,%ebx
4077ca:	3b df                	cmp    %edi,%ebx
4077cc:	75 4c                	jne    0x40781a
4077ce:	39 3d 24 10 43 00    	cmp    %edi,0x431024
4077d4:	74 33                	je     0x407809
4077d6:	56                   	push   %esi
4077d7:	e8 ef c9 ff ff       	call   0x4041cb
4077dc:	59                   	pop    %ecx
4077dd:	85 c0                	test   %eax,%eax
4077df:	0f 85 72 ff ff ff    	jne    0x407757
4077e5:	8b 45 10             	mov    0x10(%ebp),%eax
4077e8:	3b c7                	cmp    %edi,%eax
4077ea:	0f 84 50 ff ff ff    	je     0x407740
4077f0:	c7 00 0c 00 00 00    	movl   $0xc,(%eax)
4077f6:	e9 45 ff ff ff       	jmp    0x407740
4077fb:	33 ff                	xor    %edi,%edi