410569:	ff 75 90             	push   -0x70(%ebp)
41056c:	33 c0                	xor    %eax,%eax
41056e:	50                   	push   %eax
41056f:	53                   	push   %ebx
410570:	e8 7c 25 00 00       	call   0x412af1
410575:	83 c4 0c             	add    $0xc,%esp
410578:	ff b5 78 ff ff ff    	push   -0x88(%ebp)
41057e:	ff b5 7c ff ff ff    	push   -0x84(%ebp)
410584:	53                   	push   %ebx
410585:	e8 ac 20 00 00       	call   0x412636
41058a:	83 c4 0c             	add    $0xc,%esp
41058d:	8d 85 78 ff ff ff    	lea    -0x88(%ebp),%eax
410593:	ff 75 90             	push   -0x70(%ebp)
410596:	50                   	push   %eax
410597:	53                   	push   %ebx
410598:	33 c0                	xor    %eax,%eax
41059a:	50                   	push   %eax
41059b:	6a 01                	push   $0x1
41059d:	50                   	push   %eax
41059e:	ff 37                	push   (%edi)
4105a0:	ff 15 94 60 41 00    	call   *0x416094
4105a6:	85 c0                	test   %eax,%eax
4105a8:	75 25                	jne    0x4105cf
4105aa:	ff 15 68 61 41 00    	call   *0x416168
4105b0:	8b f8                	mov    %eax,%edi
4105b2:	85 ff                	test   %edi,%edi
4105b4:	7e 09                	jle    0x4105bf
4105b6:	0f b7 ff             	movzwl %di,%edi
4105b9:	81 cf 00 00 07 80    	or     $0x80070000,%edi
4105bf:	57                   	push   %edi
4105c0:	68 98 43 40 00       	push   $0x404398
4105c5:	68 68 03 00 00       	push   $0x368
4105ca:	e9 86 fe ff ff       	jmp    0x410455
4105cf:	8d 85 6c ff ff ff    	lea    -0x94(%ebp),%eax
4105d5:	50                   	push   %eax
4105d6:	8d 45 88             	lea    -0x78(%ebp),%eax
4105d9:	50                   	push   %eax
4105da:	ff 75 90             	push   -0x70(%ebp)
4105dd:	53                   	push   %ebx
4105de:	e8 52 f8 ff ff       	call   0x40fe35
4105e3:	8b f8                	mov    %eax,%edi
4105e5:	85 ff                	test   %edi,%edi
4105e7:	79 10                	jns    0x4105f9
4105e9:	57                   	push   %edi
4105ea:	68 98 43 40 00       	push   $0x404398
4105ef:	68 6f 03 00 00       	push   $0x36f
4105f4:	e9 5c fe ff ff       	jmp    0x410455
4105f9:	8b 85 70 ff ff ff    	mov    -0x90(%ebp),%eax
4105ff:	85 c0                	test   %eax,%eax
410601:	74 47                	je     0x41064a
410603:	83 c0 02             	add    $0x2,%eax
410606:	50                   	push   %eax
410607:	68 ec 43 40 00       	push   $0x4043ec
41060c:	8d 45 9c             	lea    -0x64(%ebp),%eax
41060f:	6a 28                	push   $0x28
410611:	50                   	push   %eax
410612:	e8 bb aa ff ff       	call   0x40b0d2
410617:	8b f8                	mov    %eax,%edi
410619:	83 c4 10             	add    $0x10,%esp
41061c:	85 ff                	test   %edi,%edi
41061e:	79 10                	jns    0x410630
410620:	57                   	push   %edi
410621:	68 98 43 40 00       	push   $0x404398
410626:	68 7a 03 00 00       	push   $0x37a
41062b:	e9 25 fe ff ff       	jmp    0x410455
410630:	8d 45 9c             	lea    -0x64(%ebp),%eax
410633:	50                   	push   %eax
410634:	8d 4d 98             	lea    -0x68(%ebp),%ecx
410637:	e8 64 92 ff ff       	call   0x4098a0
41063c:	ff 75 8c             	push   -0x74(%ebp)
41063f:	8d 4d 98             	lea    -0x68(%ebp),%ecx
410642:	e8 3a e6 ff ff       	call   0x40ec81
410647:	8b 75 98             	mov    -0x68(%ebp),%esi
41064a:	8b 85 6c ff ff ff    	mov    -0x94(%ebp),%eax
410650:	85 c0                	test   %eax,%eax
410652:	0f 84 80 00 00 00    	je     0x4106d8
410658:	83 c0 02             	add    $0x2,%eax
41065b:	50                   	push   %eax
41065c:	68 f8 43 40 00       	push   $0x4043f8
410661:	8d 45 9c             	lea    -0x64(%ebp),%eax
410664:	6a 28                	push   $0x28
410666:	50                   	push   %eax
410667:	e8 66 aa ff ff       	call   0x40b0d2
41066c:	8b f8                	mov    %eax,%edi
41066e:	83 c4 10             	add    $0x10,%esp
410671:	85 ff                	test   %edi,%edi
410673:	79 10                	jns    0x410685
410675:	57                   	push   %edi
410676:	68 98 43 40 00       	push   $0x404398
41067b:	68 8c 03 00 00       	push   $0x38c
410680:	e9 d0 fd ff ff       	jmp    0x410455
410685:	8d 4d 9c             	lea    -0x64(%ebp),%ecx
410688:	33 f6                	xor    %esi,%esi
41068a:	8d 51 02             	lea    0x2(%ecx),%edx
41068d:	66 8b 01             	mov    (%ecx),%ax
410690:	83 c1 02             	add    $0x2,%ecx
410693:	66 3b c6             	cmp    %si,%ax
410696:	75 f5                	jne    0x41068d
410698:	2b ca                	sub    %edx,%ecx
41069a:	8d 45 9c             	lea    -0x64(%ebp),%eax
41069d:	d1 f9                	sar    $1,%ecx
41069f:	51                   	push   %ecx
4106a0:	50                   	push   %eax
4106a1:	8d 4d 98             	lea    -0x68(%ebp),%ecx
4106a4:	e8 6e 05 00 00       	call   0x410c17
4106a9:	8b f8                	mov    %eax,%edi
4106ab:	85 ff                	test   %edi,%edi
4106ad:	79 1b                	jns    0x4106ca
4106af:	57                   	push   %edi
4106b0:	68 98 43 40 00       	push   $0x404398
4106b5:	68 92 03 00 00       	push   $0x392
4106ba:	68 20 41 40 00       	push   $0x404120
4106bf:	51                   	push   %ecx
4106c0:	e8 0d 09 00 00       	call   0x410fd2
4106c5:	8b 75 98             	mov    -0x68(%ebp),%esi
4106c8:	eb 1c                	jmp    0x4106e6
4106ca:	ff 75 88             	push   -0x78(%ebp)
4106cd:	8d 4d 98             	lea    -0x68(%ebp),%ecx
4106d0:	e8 ac e5 ff ff       	call   0x40ec81
4106d5:	8b 75 98             	mov    -0x68(%ebp),%esi
4106d8:	33 c9                	xor    %ecx,%ecx
4106da:	8b c6                	mov    %esi,%eax
4106dc:	8b f1                	mov    %ecx,%esi
4106de:	8b 8d 68 ff ff ff    	mov    -0x98(%ebp),%ecx
4106e4:	89 01                	mov    %eax,(%ecx)
4106e6:	85 db                	test   %ebx,%ebx
4106e8:	74 08                	je     0x4106f2
4106ea:	53                   	push   %ebx
4106eb:	ff 15 bc 62 41 00    	call   *0x4162bc
4106f1:	59                   	pop    %ecx
4106f2:	83 7d 8c 00          	cmpl   $0x0,-0x74(%ebp)
4106f6:	74 09                	je     0x410701
4106f8:	ff 75 8c             	push   -0x74(%ebp)
4106fb:	ff 15 b8 61 41 00    	call   *0x4161b8
410701:	83 7d 88 00          	cmpl   $0x0,-0x78(%ebp)
410705:	74 09                	je     0x410710
410707:	ff 75 88             	push   -0x78(%ebp)
41070a:	ff 15 b8 61 41 00    	call   *0x4161b8
410710:	8b 5d 80             	mov    -0x80(%ebp),%ebx
410713:	83 7b 28 00          	cmpl   $0x0,0x28(%ebx)
410717:	74 09                	je     0x410722
410719:	ff 73 28             	push   0x28(%ebx)
41071c:	ff 15 74 60 41 00    	call   *0x416074
410722:	83 7b 2c 00          	cmpl   $0x0,0x2c(%ebx)
410726:	74 09                	je     0x410731
410728:	ff 73 2c             	push   0x2c(%ebx)
41072b:	ff 15 74 60 41 00    	call   *0x416074
410731:	56                   	push   %esi
410732:	ff 15 b8 61 41 00    	call   *0x4161b8
410738:	8b c7                	mov    %edi,%eax
41073a:	e8 01 1e 00 00       	call   0x412540
41073f:	c2 08 00             	ret    $0x8
410742:	6a 14                	push   $0x14
410744:	b8 85 31 41 00       	mov    $0x413185,%eax
410749:	e8 10 1e 00 00       	call   0x41255e
41074e:	8b f9                	mov    %ecx,%edi
410750:	33 db                	xor    %ebx,%ebx
410752:	89 5d f0             	mov    %ebx,-0x10(%ebp)
410755:	89 5d fc             	mov    %ebx,-0x4(%ebp)
410758:	89 5d e4             	mov    %ebx,-0x1c(%ebp)
41075b:	89 5d e8             	mov    %ebx,-0x18(%ebp)
41075e:	89 5d ec             	mov    %ebx,-0x14(%ebp)
410761:	8d 45 f0             	lea    -0x10(%ebp),%eax
410764:	c6 45 fc 03          	movb   $0x3,-0x4(%ebp)
410768:	50                   	push   %eax
410769:	68 08 2b 40 00       	push   $0x402b08
41076e:	6a 04                	push   $0x4
410770:	53                   	push   %ebx
410771:	68 c8 2c 40 00       	push   $0x402cc8
410776:	89 5d e0             	mov    %ebx,-0x20(%ebp)
410779:	ff 15 20 62 41 00    	call   *0x416220
41077f:	8b f0                	mov    %eax,%esi
410781:	85 f6                	test   %esi,%esi
410783:	79 17                	jns    0x41079c
410785:	51                   	push   %ecx
410786:	51                   	push   %ecx
410787:	e8 83 06 00 00       	call   0x410e0f
41078c:	56                   	push   %esi
41078d:	68 08 44 40 00       	push   $0x404408
410792:	68 e8 03 00 00       	push   $0x3e8
410797:	e9 7c 01 00 00       	jmp    0x410918
41079c:	8b 4f 04             	mov    0x4(%edi),%ecx
41079f:	85 c9                	test   %ecx,%ecx
4107a1:	0f 84 5f 01 00 00    	je     0x410906
4107a7:	8b 01                	mov    (%ecx),%eax
4107a9:	8d 55 ec             	lea    -0x14(%ebp),%edx
4107ac:	52                   	push   %edx
4107ad:	51                   	push   %ecx
4107ae:	8b 70 10             	mov    0x10(%eax),%esi
4107b1:	8b ce                	mov    %esi,%ecx
4107b3:	ff 15 28 63 41 00    	call   *0x416328
4107b9:	ff d6                	call   *%esi
4107bb:	8b f0                	mov    %eax,%esi
4107bd:	85 f6                	test   %esi,%esi
4107bf:	79 10                	jns    0x4107d1
4107c1:	56                   	push   %esi
4107c2:	68 08 44 40 00       	push   $0x404408
4107c7:	68 f0 03 00 00       	push   $0x3f0
4107cc:	e9 47 01 00 00       	jmp    0x410918
4107d1:	8b 45 f0             	mov    -0x10(%ebp),%eax
4107d4:	ff 75 ec             	push   -0x14(%ebp)
4107d7:	50                   	push   %eax
4107d8:	8b 08                	mov    (%eax),%ecx
4107da:	8b 71 40             	mov    0x40(%ecx),%esi
4107dd:	8b ce                	mov    %esi,%ecx
4107df:	ff 15 28 63 41 00    	call   *0x416328
4107e5:	ff d6                	call   *%esi
4107e7:	8b f0                	mov    %eax,%esi
4107e9:	85 f6                	test   %esi,%esi
4107eb:	79 10                	jns    0x4107fd
4107ed:	56                   	push   %esi
4107ee:	68 08 44 40 00       	push   $0x404408
4107f3:	68 ff 03 00 00       	push   $0x3ff
4107f8:	e9 1b 01 00 00       	jmp    0x410918
4107fd:	8b 45 f0             	mov    -0x10(%ebp),%eax
410800:	ff 77 34             	push   0x34(%edi)
410803:	50                   	push   %eax
410804:	8b 08                	mov    (%eax),%ecx
410806:	8b 71 38             	mov    0x38(%ecx),%esi
410809:	8b ce                	mov    %esi,%ecx
41080b:	ff 15 28 63 41 00    	call   *0x416328
410811:	ff d6                	call   *%esi
410813:	8b f0                	mov    %eax,%esi
410815:	85 f6                	test   %esi,%esi
410817:	79 10                	jns    0x410829
410819:	56                   	push   %esi
41081a:	68 08 44 40 00       	push   $0x404408
41081f:	68 05 04 00 00       	push   $0x405
410824:	e9 ef 00 00 00       	jmp    0x410918
410829:	8b 45 f0             	mov    -0x10(%ebp),%eax
41082c:	8d 4d e0             	lea    -0x20(%ebp),%ecx
41082f:	53                   	push   %ebx
410830:	51                   	push   %ecx
410831:	50                   	push   %eax
410832:	8b 30                	mov    (%eax),%esi
410834:	8b 4e 2c             	mov    0x2c(%esi),%ecx
410837:	ff 15 28 63 41 00    	call   *0x416328
41083d:	ff 56 2c             	call   *0x2c(%esi)
410840:	8b f0                	mov    %eax,%esi
410842:	85 f6                	test   %esi,%esi
410844:	79 10                	jns    0x410856
410846:	56                   	push   %esi
410847:	68 08 44 40 00       	push   $0x404408
41084c:	68 10 04 00 00       	push   $0x410
410851:	e9 c2 00 00 00       	jmp    0x410918
410856:	83 7d e0 00          	cmpl   $0x0,-0x20(%ebp)
41085a:	75 20                	jne    0x41087c
41085c:	53                   	push   %ebx
41085d:	68 08 44 40 00       	push   $0x404408
410862:	68 11 04 00 00       	push   $0x411
410867:	68 20 41 40 00       	push   $0x404120
41086c:	51                   	push   %ecx
41086d:	e8 60 07 00 00       	call   0x410fd2
410872:	be 05 40 00 80       	mov    $0x80004005,%esi
410877:	e9 a7 00 00 00       	jmp    0x410923
41087c:	8b 45 f0             	mov    -0x10(%ebp),%eax
41087f:	8d 55 e4             	lea    -0x1c(%ebp),%edx
410882:	52                   	push   %edx
410883:	50                   	push   %eax
410884:	8b 08                	mov    (%eax),%ecx
410886:	8b 71 20             	mov    0x20(%ecx),%esi
410889:	8b ce                	mov    %esi,%ecx
41088b:	ff 15 28 63 41 00    	call   *0x416328
410891:	ff d6                	call   *%esi
410893:	8b f0                	mov    %eax,%esi
410895:	85 f6                	test   %esi,%esi
410897:	79 0d                	jns    0x4108a6
410899:	56                   	push   %esi
41089a:	68 08 44 40 00       	push   $0x404408
41089f:	68 16 04 00 00       	push   $0x416
4108a4:	eb 72                	jmp    0x410918
4108a6:	8d 45 e8             	lea    -0x18(%ebp),%eax
4108a9:	8b cf                	mov    %edi,%ecx
4108ab:	50                   	push   %eax
4108ac:	ff 75 e4             	push   -0x1c(%ebp)
4108af:	e8 cf fa ff ff       	call   0x410383
4108b4:	8b f0                	mov    %eax,%esi
4108b6:	85 f6                	test   %esi,%esi
4108b8:	79 0d                	jns    0x4108c7
4108ba:	56                   	push   %esi
4108bb:	68 08 44 40 00       	push   $0x404408
4108c0:	68 1d 04 00 00       	push   $0x41d
4108c5:	eb 51                	jmp    0x410918
4108c7:	8b 4f 04             	mov    0x4(%edi),%ecx
4108ca:	85 c9                	test   %ecx,%ecx
4108cc:	74 26                	je     0x4108f4
4108ce:	8b 01                	mov    (%ecx),%eax
4108d0:	ff 75 e8             	push   -0x18(%ebp)
4108d3:	51                   	push   %ecx
4108d4:	8b 70 1c             	mov    0x1c(%eax),%esi
4108d7:	8b ce                	mov    %esi,%ecx
4108d9:	ff 15 28 63 41 00    	call   *0x416328
4108df:	ff d6                	call   *%esi
4108e1:	8b f0                	mov    %eax,%esi
4108e3:	85 f6                	test   %esi,%esi
4108e5:	79 3c                	jns    0x410923
4108e7:	56                   	push   %esi
4108e8:	68 08 44 40 00       	push   $0x404408
4108ed:	68 24 04 00 00       	push   $0x424
4108f2:	eb 24                	jmp    0x410918
4108f4:	b8 03 40 00 80       	mov    $0x80004003,%eax
4108f9:	50                   	push   %eax
4108fa:	68 08 44 40 00       	push   $0x404408
4108ff:	68 2b 04 00 00       	push   $0x42b
410904:	eb 10                	jmp    0x410916
410906:	b8 03 40 00 80       	mov    $0x80004003,%eax
41090b:	50                   	push   %eax
41090c:	68 08 44 40 00       	push   $0x404408
410911:	68 f9 03 00 00       	push   $0x3f9
410916:	8b f0                	mov    %eax,%esi
410918:	68 20 41 40 00       	push   $0x404120
41091d:	51                   	push   %ecx
41091e:	e8 af 06 00 00       	call   0x410fd2
410923:	ff 75 ec             	push   -0x14(%ebp)
410926:	ff 15 b8 61 41 00    	call   *0x4161b8
41092c:	ff 75 e8             	push   -0x18(%ebp)
41092f:	ff 15 b8 61 41 00    	call   *0x4161b8
410935:	ff 75 e4             	push   -0x1c(%ebp)
410938:	ff 15 b8 61 41 00    	call   *0x4161b8
41093e:	8d 4d f0             	lea    -0x10(%ebp),%ecx
410941:	e8 a9 60 ff ff       	call   0x4069ef
410946:	8b c6                	mov    %esi,%eax
410948:	e8 df 1b 00 00       	call   0x41252c
41094d:	c3                   	ret
41094e:	6a 20                	push   $0x20
410950:	b8 b0 31 41 00       	mov    $0x4131b0,%eax
410955:	e8 04 1c 00 00       	call   0x41255e
41095a:	8b f9                	mov    %ecx,%edi
41095c:	89 7d f0             	mov    %edi,-0x10(%ebp)
41095f:	33 c0                	xor    %eax,%eax
410961:	8b d8                	mov    %eax,%ebx
410963:	89 45 e0             	mov    %eax,-0x20(%ebp)
410966:	89 45 fc             	mov    %eax,-0x4(%ebp)
410969:	68 cc 3c 40 00       	push   $0x403ccc
41096e:	89 45 ec             	mov    %eax,-0x14(%ebp)
410971:	89 45 e8             	mov    %eax,-0x18(%ebp)
410974:	89 45 e4             	mov    %eax,-0x1c(%ebp)
410977:	ff 15 a4 61 41 00    	call   *0x4161a4
41097d:	8b f0                	mov    %eax,%esi
41097f:	89 75 dc             	mov    %esi,-0x24(%ebp)
410982:	85 f6                	test   %esi,%esi
410984:	0f 84 a6 01 00 00    	je     0x410b30
41098a:	8b 4d 08             	mov    0x8(%ebp),%ecx
41098d:	8d 45 ec             	lea    -0x14(%ebp),%eax
410990:	50                   	push   %eax
410991:	ba 64 44 40 00       	mov    $0x404464,%edx
410996:	c6 45 fc 01          	movb   $0x1,-0x4(%ebp)
41099a:	e8 37 08 00 00       	call   0x4111d6
41099f:	85 c0                	test   %eax,%eax
4109a1:	0f 84 58 01 00 00    	je     0x410aff