40753a:	ff 15 40 f0 40 00    	call   *0x40f040
407540:	8b d0                	mov    %eax,%edx
407542:	b9 68 3c 40 00       	mov    $0x403c68,%ecx
407547:	e8 34 14 00 00       	call   0x408980
40754c:	8b 74 24 14          	mov    0x14(%esp),%esi
407550:	8b d8                	mov    %eax,%ebx
407552:	e9 ab e4 ff ff       	jmp    0x405a02
407557:	33 c0                	xor    %eax,%eax
407559:	89 44 24 20          	mov    %eax,0x20(%esp)
40755d:	39 74 24 18          	cmp    %esi,0x18(%esp)
407561:	76 14                	jbe    0x407577
407563:	8b 44 24 10          	mov    0x10(%esp),%eax
407567:	ff 34 b0             	push   (%eax,%esi,4)
40756a:	ff 15 0c f1 40 00    	call   *0x40f10c
407570:	83 c4 04             	add    $0x4,%esp
407573:	89 44 24 20          	mov    %eax,0x20(%esp)
407577:	6a 06                	push   $0x6
407579:	e9 bc fe ff ff       	jmp    0x40743a
40757e:	8b 44 24 10          	mov    0x10(%esp),%eax
407582:	68 90 3f 40 00       	push   $0x403f90
407587:	ff 34 07             	push   (%edi,%eax,1)
40758a:	ff 15 28 f1 40 00    	call   *0x40f128
407590:	83 c4 08             	add    $0x8,%esp
407593:	85 c0                	test   %eax,%eax
407595:	75 3e                	jne    0x4075d5
407597:	8d 46 02             	lea    0x2(%esi),%eax
40759a:	39 44 24 18          	cmp    %eax,0x18(%esp)
40759e:	73 0f                	jae    0x4075af
4075a0:	33 d2                	xor    %edx,%edx
4075a2:	8d 4a 72             	lea    0x72(%edx),%ecx
4075a5:	e8 05 30 00 00       	call   0x40a5af
4075aa:	e9 e1 0d 00 00       	jmp    0x408390
4075af:	6a 01                	push   $0x1
4075b1:	6a 00                	push   $0x0
4075b3:	ff 74 24 24          	push   0x24(%esp)
4075b7:	ff 15 4c 00 41 00    	call   *0x41004c
4075bd:	8b f0                	mov    %eax,%esi
4075bf:	85 f6                	test   %esi,%esi
4075c1:	0f 84 2b f7 ff ff    	je     0x406cf2
4075c7:	6a 04                	push   $0x4
4075c9:	8d 44 24 28          	lea    0x28(%esp),%eax
4075cd:	50                   	push   %eax
4075ce:	6a 04                	push   $0x4
4075d0:	e9 7a fe ff ff       	jmp    0x40744f
4075d5:	8b 44 24 10          	mov    0x10(%esp),%eax
4075d9:	68 ac 3f 40 00       	push   $0x403fac
4075de:	ff 34 07             	push   (%edi,%eax,1)
4075e1:	ff 15 28 f1 40 00    	call   *0x40f128
4075e7:	83 c4 08             	add    $0x8,%esp
4075ea:	85 c0                	test   %eax,%eax
4075ec:	75 67                	jne    0x407655
4075ee:	8b 5c 24 18          	mov    0x18(%esp),%ebx
4075f2:	83 c6 02             	add    $0x2,%esi
4075f5:	3b de                	cmp    %esi,%ebx
4075f7:	73 16                	jae    0x40760f
4075f9:	33 d2                	xor    %edx,%edx
4075fb:	b9 8e 00 00 00       	mov    $0x8e,%ecx
407600:	e8 aa 2f 00 00       	call   0x40a5af
407605:	bb 67 06 00 00       	mov    $0x667,%ebx
40760a:	e9 81 0d 00 00       	jmp    0x408390
40760f:	6a 01                	push   $0x1
407611:	6a 00                	push   $0x0
407613:	ff 74 24 24          	push   0x24(%esp)
407617:	ff 15 4c 00 41 00    	call   *0x41004c
40761d:	89 44 24 14          	mov    %eax,0x14(%esp)
407621:	85 c0                	test   %eax,%eax
407623:	75 1d                	jne    0x407642
407625:	ff 15 40 f0 40 00    	call   *0x40f040
40762b:	8b d0                	mov    %eax,%edx
40762d:	b9 68 3c 40 00       	mov    $0x403c68,%ecx
407632:	e8 49 13 00 00       	call   0x408980
407637:	8b 74 24 14          	mov    0x14(%esp),%esi
40763b:	8b d8                	mov    %eax,%ebx
40763d:	e9 c0 e3 ff ff       	jmp    0x405a02
407642:	33 c0                	xor    %eax,%eax
407644:	89 44 24 20          	mov    %eax,0x20(%esp)
407648:	3b de                	cmp    %esi,%ebx
40764a:	0f 86 e8 fd ff ff    	jbe    0x407438
407650:	e9 cf fd ff ff       	jmp    0x407424
407655:	8b 44 24 10          	mov    0x10(%esp),%eax
407659:	68 c8 3f 40 00       	push   $0x403fc8
40765e:	ff 34 07             	push   (%edi,%eax,1)
407661:	ff 15 28 f1 40 00    	call   *0x40f128
407667:	83 c4 08             	add    $0x8,%esp
40766a:	85 c0                	test   %eax,%eax
40766c:	75 3e                	jne    0x4076ac
40766e:	8d 46 02             	lea    0x2(%esi),%eax
407671:	39 44 24 18          	cmp    %eax,0x18(%esp)
407675:	73 0f                	jae    0x407686
407677:	33 d2                	xor    %edx,%edx
407679:	8d 4a 76             	lea    0x76(%edx),%ecx
40767c:	e8 2e 2f 00 00       	call   0x40a5af
407681:	e9 0a 0d 00 00       	jmp    0x408390
407686:	6a 01                	push   $0x1
407688:	6a 00                	push   $0x0
40768a:	ff 74 24 24          	push   0x24(%esp)
40768e:	ff 15 4c 00 41 00    	call   *0x41004c
407694:	8b f0                	mov    %eax,%esi
407696:	85 f6                	test   %esi,%esi
407698:	0f 84 54 f6 ff ff    	je     0x406cf2
40769e:	6a 05                	push   $0x5
4076a0:	8d 44 24 28          	lea    0x28(%esp),%eax
4076a4:	50                   	push   %eax
4076a5:	6a 04                	push   $0x4
4076a7:	e9 a3 fd ff ff       	jmp    0x40744f
4076ac:	8b 44 24 10          	mov    0x10(%esp),%eax
4076b0:	68 dc 3f 40 00       	push   $0x403fdc
4076b5:	ff 34 07             	push   (%edi,%eax,1)
4076b8:	ff 15 28 f1 40 00    	call   *0x40f128
4076be:	83 c4 08             	add    $0x8,%esp
4076c1:	85 c0                	test   %eax,%eax
4076c3:	75 4d                	jne    0x407712
4076c5:	83 7c 24 18 03       	cmpl   $0x3,0x18(%esp)
4076ca:	75 30                	jne    0x4076fc
4076cc:	83 fe 01             	cmp    $0x1,%esi
4076cf:	75 2b                	jne    0x4076fc
4076d1:	56                   	push   %esi
4076d2:	50                   	push   %eax
4076d3:	ff 74 24 24          	push   0x24(%esp)
4076d7:	ff 15 4c 00 41 00    	call   *0x41004c
4076dd:	8b f0                	mov    %eax,%esi
4076df:	85 f6                	test   %esi,%esi
4076e1:	0f 84 0b f6 ff ff    	je     0x406cf2
4076e7:	8b 7c 24 10          	mov    0x10(%esp),%edi
4076eb:	8b ce                	mov    %esi,%ecx
4076ed:	8b 57 08             	mov    0x8(%edi),%edx
4076f0:	e8 8b 3f 00 00       	call   0x40b680
4076f5:	8b d8                	mov    %eax,%ebx
4076f7:	e9 0a e3 ff ff       	jmp    0x405a06
4076fc:	33 d2                	xor    %edx,%edx
4076fe:	b9 86 00 00 00       	mov    $0x86,%ecx
407703:	e8 a7 2e 00 00       	call   0x40a5af
407708:	bb 67 06 00 00       	mov    $0x667,%ebx
40770d:	e9 7e 0c 00 00       	jmp    0x408390
407712:	8b 44 24 10          	mov    0x10(%esp),%eax
407716:	68 ec 3f 40 00       	push   $0x403fec
40771b:	ff 34 07             	push   (%edi,%eax,1)
40771e:	ff 15 28 f1 40 00    	call   *0x40f128
407724:	83 c4 08             	add    $0x8,%esp
407727:	85 c0                	test   %eax,%eax
407729:	75 45                	jne    0x407770
40772b:	8d 46 02             	lea    0x2(%esi),%eax
40772e:	39 44 24 18          	cmp    %eax,0x18(%esp)
407732:	73 16                	jae    0x40774a
407734:	33 d2                	xor    %edx,%edx
407736:	b9 97 00 00 00       	mov    $0x97,%ecx
40773b:	e8 6f 2e 00 00       	call   0x40a5af
407740:	bb 67 06 00 00       	mov    $0x667,%ebx
407745:	e9 46 0c 00 00       	jmp    0x408390
40774a:	6a 01                	push   $0x1
40774c:	6a 00                	push   $0x0
40774e:	ff 74 24 24          	push   0x24(%esp)
407752:	ff 15 4c 00 41 00    	call   *0x41004c
407758:	8b f0                	mov    %eax,%esi
40775a:	85 f6                	test   %esi,%esi
40775c:	0f 84 90 f5 ff ff    	je     0x406cf2
407762:	6a 09                	push   $0x9
407764:	8d 44 24 28          	lea    0x28(%esp),%eax
407768:	50                   	push   %eax
407769:	6a 04                	push   $0x4
40776b:	e9 df fc ff ff       	jmp    0x40744f
407770:	8b 44 24 10          	mov    0x10(%esp),%eax
407774:	68 0c 40 40 00       	push   $0x40400c
407779:	ff 34 07             	push   (%edi,%eax,1)
40777c:	ff 15 28 f1 40 00    	call   *0x40f128
407782:	83 c4 08             	add    $0x8,%esp
407785:	85 c0                	test   %eax,%eax
407787:	75 45                	jne    0x4077ce
407789:	8d 46 02             	lea    0x2(%esi),%eax
40778c:	39 44 24 18          	cmp    %eax,0x18(%esp)
407790:	73 16                	jae    0x4077a8
407792:	33 d2                	xor    %edx,%edx
407794:	b9 aa 00 00 00       	mov    $0xaa,%ecx
407799:	e8 11 2e 00 00       	call   0x40a5af
40779e:	bb 67 06 00 00       	mov    $0x667,%ebx
4077a3:	e9 e8 0b 00 00       	jmp    0x408390
4077a8:	6a 01                	push   $0x1
4077aa:	6a 00                	push   $0x0
4077ac:	ff 74 24 24          	push   0x24(%esp)
4077b0:	ff 15 4c 00 41 00    	call   *0x41004c
4077b6:	8b f0                	mov    %eax,%esi
4077b8:	85 f6                	test   %esi,%esi
4077ba:	0f 84 32 f5 ff ff    	je     0x406cf2
4077c0:	6a 0b                	push   $0xb
4077c2:	8d 44 24 28          	lea    0x28(%esp),%eax
4077c6:	50                   	push   %eax
4077c7:	6a 01                	push   $0x1
4077c9:	e9 81 fc ff ff       	jmp    0x40744f
4077ce:	8b 44 24 10          	mov    0x10(%esp),%eax
4077d2:	68 2c 40 40 00       	push   $0x40402c
4077d7:	ff 34 07             	push   (%edi,%eax,1)
4077da:	ff 15 28 f1 40 00    	call   *0x40f128
4077e0:	83 c4 08             	add    $0x8,%esp
4077e3:	85 c0                	test   %eax,%eax
4077e5:	75 4d                	jne    0x407834
4077e7:	6a 10                	push   $0x10
4077e9:	50                   	push   %eax
4077ea:	ff 74 24 24          	push   0x24(%esp)
4077ee:	ff 15 4c 00 41 00    	call   *0x41004c
4077f4:	8b f0                	mov    %eax,%esi
4077f6:	85 f6                	test   %esi,%esi
4077f8:	0f 84 f4 f4 ff ff    	je     0x406cf2
4077fe:	8b 4c 24 18          	mov    0x18(%esp),%ecx
407802:	b8 f4 01 00 00       	mov    $0x1f4,%eax
407807:	89 44 24 20          	mov    %eax,0x20(%esp)
40780b:	3b 4c 24 30          	cmp    0x30(%esp),%ecx
40780f:	76 15                	jbe    0x407826
407811:	8b 44 24 10          	mov    0x10(%esp),%eax
407815:	ff 74 07 04          	push   0x4(%edi,%eax,1)
407819:	ff 15 0c f1 40 00    	call   *0x40f10c
40781f:	83 c4 04             	add    $0x4,%esp
407822:	89 44 24 20          	mov    %eax,0x20(%esp)
407826:	8b d0                	mov    %eax,%edx
407828:	8b ce                	mov    %esi,%ecx
40782a:	e8 6c 3d 00 00       	call   0x40b59b
40782f:	e9 db f2 ff ff       	jmp    0x406b0f
407834:	8b 44 24 10          	mov    0x10(%esp),%eax
407838:	68 40 40 40 00       	push   $0x404040
40783d:	ff 34 07             	push   (%edi,%eax,1)
407840:	ff 15 28 f1 40 00    	call   *0x40f128
407846:	83 c4 08             	add    $0x8,%esp
407849:	85 c0                	test   %eax,%eax
40784b:	75 3c                	jne    0x407889
40784d:	8d 46 02             	lea    0x2(%esi),%eax
407850:	39 44 24 18          	cmp    %eax,0x18(%esp)
407854:	73 16                	jae    0x40786c
407856:	33 d2                	xor    %edx,%edx
407858:	b9 ac 00 00 00       	mov    $0xac,%ecx
40785d:	e8 4d 2d 00 00       	call   0x40a5af
407862:	bb 67 06 00 00       	mov    $0x667,%ebx
407867:	e9 24 0b 00 00       	jmp    0x408390
40786c:	6a 01                	push   $0x1
40786e:	6a 00                	push   $0x0
407870:	ff 74 24 24          	push   0x24(%esp)
407874:	ff 15 4c 00 41 00    	call   *0x41004c
40787a:	8b f0                	mov    %eax,%esi
40787c:	85 f6                	test   %esi,%esi
40787e:	0f 84 6e f4 ff ff    	je     0x406cf2
407884:	e9 bd fb ff ff       	jmp    0x407446
407889:	8b 44 24 10          	mov    0x10(%esp),%eax
40788d:	68 58 40 40 00       	push   $0x404058
407892:	ff 34 07             	push   (%edi,%eax,1)
407895:	ff 15 28 f1 40 00    	call   *0x40f128
40789b:	83 c4 08             	add    $0x8,%esp
40789e:	85 c0                	test   %eax,%eax
4078a0:	75 23                	jne    0x4078c5
4078a2:	6a 08                	push   $0x8
4078a4:	50                   	push   %eax
4078a5:	ff 74 24 24          	push   0x24(%esp)
4078a9:	ff 15 4c 00 41 00    	call   *0x41004c
4078af:	8b f0                	mov    %eax,%esi
4078b1:	85 f6                	test   %esi,%esi
4078b3:	0f 84 39 f4 ff ff    	je     0x406cf2
4078b9:	8b ce                	mov    %esi,%ecx
4078bb:	e8 00 41 00 00       	call   0x40b9c0
4078c0:	e9 4a f2 ff ff       	jmp    0x406b0f
4078c5:	8b 44 24 10          	mov    0x10(%esp),%eax
4078c9:	68 64 40 40 00       	push   $0x404064
4078ce:	ff 34 07             	push   (%edi,%eax,1)
4078d1:	ff 15 28 f1 40 00    	call   *0x40f128
4078d7:	83 c4 08             	add    $0x8,%esp
4078da:	85 c0                	test   %eax,%eax
4078dc:	0f 85 8b 00 00 00    	jne    0x40796d
4078e2:	8d 46 02             	lea    0x2(%esi),%eax
4078e5:	39 44 24 18          	cmp    %eax,0x18(%esp)
4078e9:	73 14                	jae    0x4078ff
4078eb:	33 d2                	xor    %edx,%edx
4078ed:	8d 4a 11             	lea    0x11(%edx),%ecx
4078f0:	e8 ba 2c 00 00       	call   0x40a5af
4078f5:	bb 67 06 00 00       	mov    $0x667,%ebx
4078fa:	e9 91 0a 00 00       	jmp    0x408390
4078ff:	6a 01                	push   $0x1
407901:	6a 00                	push   $0x0
407903:	ff 74 24 24          	push   0x24(%esp)
407907:	ff 15 4c 00 41 00    	call   *0x41004c
40790d:	8b f0                	mov    %eax,%esi
40790f:	85 f6                	test   %esi,%esi
407911:	0f 84 db f3 ff ff    	je     0x406cf2
407917:	8b 44 24 10          	mov    0x10(%esp),%eax
40791b:	68 00 00 01 00       	push   $0x10000
407920:	ff 74 07 04          	push   0x4(%edi,%eax,1)
407924:	56                   	push   %esi
407925:	ff 15 3c 00 41 00    	call   *0x41003c
40792b:	89 44 24 24          	mov    %eax,0x24(%esp)
40792f:	85 c0                	test   %eax,%eax
407931:	75 10                	jne    0x407943
407933:	ff 15 40 f0 40 00    	call   *0x40f040
407939:	b9 88 14 40 00       	mov    $0x401488,%ecx
40793e:	e9 c7 f3 ff ff       	jmp    0x406d0a
407943:	50                   	push   %eax
407944:	ff 15 40 00 41 00    	call   *0x410040
40794a:	85 c0                	test   %eax,%eax
40794c:	0f 84 ad f3 ff ff    	je     0x406cff
407952:	8d 54 24 30          	lea    0x30(%esp),%edx
407956:	c7 44 24 30 74 40 40 	movl   $0x404074,0x30(%esp)
40795d:	00
40795e:	b9 64 00 00 00       	mov    $0x64,%ecx
407963:	e8 47 2c 00 00       	call   0x40a5af
407968:	e9 95 e0 ff ff       	jmp    0x405a02
40796d:	8b 44 24 10          	mov    0x10(%esp),%eax
407971:	68 90 40 40 00       	push   $0x404090
407976:	ff 34 07             	push   (%edi,%eax,1)
407979:	ff 15 28 f1 40 00    	call   *0x40f128
40797f:	83 c4 08             	add    $0x8,%esp
407982:	85 c0                	test   %eax,%eax
407984:	75 6e                	jne    0x4079f4
407986:	8b 5c 24 18          	mov    0x18(%esp),%ebx
40798a:	8d 46 03             	lea    0x3(%esi),%eax
40798d:	3b d8                	cmp    %eax,%ebx
40798f:	73 0c                	jae    0x40799d
407991:	e8 53 22 00 00       	call   0x409be9
407996:	8b d8                	mov    %eax,%ebx
407998:	e9 f3 09 00 00       	jmp    0x408390
40799d:	6a 02                	push   $0x2
40799f:	6a 00                	push   $0x0
4079a1:	ff 74 24 24          	push   0x24(%esp)
4079a5:	ff 15 4c 00 41 00    	call   *0x41004c
4079ab:	89 44 24 14          	mov    %eax,0x14(%esp)
4079af:	85 c0                	test   %eax,%eax
4079b1:	75 1d                	jne    0x4079d0
4079b3:	ff 15 40 f0 40 00    	call   *0x40f040
4079b9:	8b d0                	mov    %eax,%edx
4079bb:	b9 68 3c 40 00       	mov    $0x403c68,%ecx
4079c0:	e8 bb 0f 00 00       	call   0x408980
4079c5:	8b 74 24 14          	mov    0x14(%esp),%esi
4079c9:	8b d8                	mov    %eax,%ebx
4079cb:	e9 32 e0 ff ff       	jmp    0x405a02
4079d0:	8b 4c 24 10          	mov    0x10(%esp),%ecx
4079d4:	2b de                	sub    %esi,%ebx
4079d6:	8b 74 24 14          	mov    0x14(%esp),%esi
4079da:	83 eb 02             	sub    $0x2,%ebx
4079dd:	53                   	push   %ebx
4079de:	8b 54 0f 04          	mov    0x4(%edi,%ecx,1),%edx
4079e2:	8d 41 08             	lea    0x8(%ecx),%eax
4079e5:	03 c7                	add    %edi,%eax
4079e7:	8b ce                	mov    %esi,%ecx
4079e9:	50                   	push   %eax
4079ea:	e8 1c 22 00 00       	call   0x409c0b
4079ef:	e9 1b f1 ff ff       	jmp    0x406b0f
4079f4:	8b 44 24 10          	mov    0x10(%esp),%eax
4079f8:	68 a0 40 40 00       	push   $0x4040a0
4079fd:	ff 34 07             	push   (%edi,%eax,1)
407a00:	ff 15 28 f1 40 00    	call   *0x40f128
407a06:	83 c4 08             	add    $0x8,%esp
407a09:	85 c0                	test   %eax,%eax
407a0b:	75 7a                	jne    0x407a87
407a0d:	8d 46 02             	lea    0x2(%esi),%eax
407a10:	39 44 24 18          	cmp    %eax,0x18(%esp)
407a14:	72 5d                	jb     0x407a73
407a16:	8b 74 24 10          	mov    0x10(%esp),%esi