4097cd:	5f                   	pop    %edi
4097ce:	5e                   	pop    %esi
4097cf:	c9                   	leave
4097d0:	c2 08 00             	ret    $0x8
4097d3:	8b ff                	mov    %edi,%edi
4097d5:	55                   	push   %ebp
4097d6:	8b ec                	mov    %esp,%ebp
4097d8:	83 ec 10             	sub    $0x10,%esp
4097db:	56                   	push   %esi
4097dc:	8b f1                	mov    %ecx,%esi
4097de:	80 3e 00             	cmpb   $0x0,(%esi)
4097e1:	0f 84 8d 00 00 00    	je     0x409874
4097e7:	e8 32 d3 ff ff       	call   0x406b1e
4097ec:	84 c0                	test   %al,%al
4097ee:	0f 85 80 00 00 00    	jne    0x409874
4097f4:	53                   	push   %ebx
4097f5:	57                   	push   %edi
4097f6:	8d 5e 14             	lea    0x14(%esi),%ebx
4097f9:	53                   	push   %ebx
4097fa:	ff 15 60 61 42 00    	call   *0x426160
409800:	33 c0                	xor    %eax,%eax
409802:	8d 8e 84 00 00 00    	lea    0x84(%esi),%ecx
409808:	66 89 45 f6          	mov    %ax,-0xa(%ebp)
40980c:	8b 45 08             	mov    0x8(%ebp),%eax
40980f:	89 45 f0             	mov    %eax,-0x10(%ebp)
409812:	66 8b 45 0c          	mov    0xc(%ebp),%ax
409816:	66 89 45 f4          	mov    %ax,-0xc(%ebp)
40981a:	8b 45 10             	mov    0x10(%ebp),%eax
40981d:	89 45 f8             	mov    %eax,-0x8(%ebp)
409820:	8d 45 f0             	lea    -0x10(%ebp),%eax
409823:	6a 0c                	push   $0xc
409825:	50                   	push   %eax
409826:	e8 4e eb ff ff       	call   0x408379
40982b:	8d 46 20             	lea    0x20(%esi),%eax
40982e:	80 38 00             	cmpb   $0x0,(%eax)
409831:	8d 7e 1c             	lea    0x1c(%esi),%edi
409834:	89 45 fc             	mov    %eax,-0x4(%ebp)
409837:	75 2e                	jne    0x409867
409839:	83 3f 00             	cmpl   $0x0,(%edi)
40983c:	75 19                	jne    0x409857
40983e:	6a 00                	push   $0x0
409840:	56                   	push   %esi
409841:	68 e0 ac 40 00       	push   $0x40ace0
409846:	ff 15 48 61 42 00    	call   *0x426148
40984c:	50                   	push   %eax
40984d:	8b cf                	mov    %edi,%ecx
40984f:	e8 58 0b 00 00       	call   0x40a3ac
409854:	8b 45 fc             	mov    -0x4(%ebp),%eax
409857:	6a 00                	push   $0x0
409859:	68 88 13 00 00       	push   $0x1388
40985e:	8b d0                	mov    %eax,%edx
409860:	8b cf                	mov    %edi,%ecx
409862:	e8 33 ea ff ff       	call   0x40829a
409867:	85 db                	test   %ebx,%ebx
409869:	74 07                	je     0x409872
40986b:	53                   	push   %ebx
40986c:	ff 15 6c 61 42 00    	call   *0x42616c
409872:	5f                   	pop    %edi
409873:	5b                   	pop    %ebx
409874:	5e                   	pop    %esi
409875:	c9                   	leave
409876:	c2 0c 00             	ret    $0xc
409879:	8b ff                	mov    %edi,%edi
40987b:	55                   	push   %ebp
40987c:	8b ec                	mov    %esp,%ebp
40987e:	51                   	push   %ecx
40987f:	56                   	push   %esi
409880:	8b f1                	mov    %ecx,%esi
409882:	8b 46 0c             	mov    0xc(%esi),%eax
409885:	85 c0                	test   %eax,%eax
409887:	75 5a                	jne    0x4098e3
409889:	53                   	push   %ebx
40988a:	57                   	push   %edi
40988b:	33 ff                	xor    %edi,%edi
40988d:	39 7e 08             	cmp    %edi,0x8(%esi)
409890:	75 1d                	jne    0x4098af
409892:	8b 4e 04             	mov    0x4(%esi),%ecx
409895:	8d 55 fc             	lea    -0x4(%ebp),%edx
409898:	89 7d fc             	mov    %edi,-0x4(%ebp)
40989b:	e8 ca 0b 00 00       	call   0x40a46a
4098a0:	85 c0                	test   %eax,%eax
4098a2:	78 0b                	js     0x4098af
4098a4:	39 7e 08             	cmp    %edi,0x8(%esi)
4098a7:	75 06                	jne    0x4098af
4098a9:	8b 45 fc             	mov    -0x4(%ebp),%eax
4098ac:	89 46 08             	mov    %eax,0x8(%esi)
4098af:	8b 7e 08             	mov    0x8(%esi),%edi
4098b2:	8d 5e 10             	lea    0x10(%esi),%ebx
4098b5:	53                   	push   %ebx
4098b6:	8d 47 10             	lea    0x10(%edi),%eax
4098b9:	f7 df                	neg    %edi
4098bb:	1b ff                	sbb    %edi,%edi
4098bd:	23 f8                	and    %eax,%edi
4098bf:	ff 15 60 61 42 00    	call   *0x426160
4098c5:	8b 46 0c             	mov    0xc(%esi),%eax
4098c8:	85 c0                	test   %eax,%eax
4098ca:	75 05                	jne    0x4098d1
4098cc:	89 7e 0c             	mov    %edi,0xc(%esi)
4098cf:	8b c7                	mov    %edi,%eax
4098d1:	85 db                	test   %ebx,%ebx
4098d3:	74 0a                	je     0x4098df
4098d5:	53                   	push   %ebx
4098d6:	ff 15 6c 61 42 00    	call   *0x42616c
4098dc:	8b 46 0c             	mov    0xc(%esi),%eax
4098df:	5f                   	pop    %edi
4098e0:	5b                   	pop    %ebx
4098e1:	85 c0                	test   %eax,%eax
4098e3:	0f 95 c0             	setne  %al
4098e6:	5e                   	pop    %esi
4098e7:	c9                   	leave
4098e8:	c3                   	ret
4098e9:	8b ff                	mov    %edi,%edi
4098eb:	56                   	push   %esi
4098ec:	57                   	push   %edi
4098ed:	8d 79 21             	lea    0x21(%ecx),%edi
4098f0:	80 3f 00             	cmpb   $0x0,(%edi)
4098f3:	8d 71 18             	lea    0x18(%ecx),%esi
4098f6:	75 2b                	jne    0x409923
4098f8:	83 3e 00             	cmpl   $0x0,(%esi)
4098fb:	75 16                	jne    0x409913
4098fd:	6a 00                	push   $0x0
4098ff:	51                   	push   %ecx
409900:	68 a0 ac 40 00       	push   $0x40aca0
409905:	ff 15 48 61 42 00    	call   *0x426148
40990b:	50                   	push   %eax
40990c:	8b ce                	mov    %esi,%ecx
40990e:	e8 99 0a 00 00       	call   0x40a3ac
409913:	6a 00                	push   $0x0
409915:	68 e0 93 04 00       	push   $0x493e0
40991a:	8b d7                	mov    %edi,%edx
40991c:	8b ce                	mov    %esi,%ecx
40991e:	e8 77 e9 ff ff       	call   0x40829a
409923:	5f                   	pop    %edi
409924:	5e                   	pop    %esi
409925:	c3                   	ret
409926:	8b ff                	mov    %edi,%edi
409928:	53                   	push   %ebx
409929:	8b dc                	mov    %esp,%ebx
40992b:	51                   	push   %ecx
40992c:	51                   	push   %ecx
40992d:	83 e4 f8             	and    $0xfffffff8,%esp
409930:	83 c4 04             	add    $0x4,%esp
409933:	55                   	push   %ebp
409934:	8b 6b 04             	mov    0x4(%ebx),%ebp
409937:	89 6c 24 04          	mov    %ebp,0x4(%esp)
40993b:	8b ec                	mov    %esp,%ebp
40993d:	83 ec 30             	sub    $0x30,%esp
409940:	a1 10 42 42 00       	mov    0x424210,%eax
409945:	33 c5                	xor    %ebp,%eax
409947:	89 45 fc             	mov    %eax,-0x4(%ebp)
40994a:	8b 43 08             	mov    0x8(%ebx),%eax
40994d:	56                   	push   %esi
40994e:	57                   	push   %edi
40994f:	8b f9                	mov    %ecx,%edi
409951:	89 45 f0             	mov    %eax,-0x10(%ebp)
409954:	8b 43 0c             	mov    0xc(%ebx),%eax
409957:	33 c9                	xor    %ecx,%ecx
409959:	89 55 d4             	mov    %edx,-0x2c(%ebp)
40995c:	89 45 f4             	mov    %eax,-0xc(%ebp)
40995f:	39 0f                	cmp    %ecx,(%edi)
409961:	75 6a                	jne    0x4099cd
409963:	8d 45 e8             	lea    -0x18(%ebp),%eax
409966:	89 4d ec             	mov    %ecx,-0x14(%ebp)
409969:	50                   	push   %eax
40996a:	51                   	push   %ecx
40996b:	8d 45 ec             	lea    -0x14(%ebp),%eax
40996e:	89 4d e8             	mov    %ecx,-0x18(%ebp)
409971:	50                   	push   %eax
409972:	51                   	push   %ecx
409973:	8d 4d f0             	lea    -0x10(%ebp),%ecx
409976:	e8 97 df ff ff       	call   0x407912
40997b:	8b 45 f0             	mov    -0x10(%ebp),%eax
40997e:	89 45 d8             	mov    %eax,-0x28(%ebp)
409981:	8b 45 f4             	mov    -0xc(%ebp),%eax
409984:	89 45 e0             	mov    %eax,-0x20(%ebp)
409987:	8b 45 ec             	mov    -0x14(%ebp),%eax
40998a:	89 45 d0             	mov    %eax,-0x30(%ebp)
40998d:	8b 07                	mov    (%edi),%eax
40998f:	89 45 e4             	mov    %eax,-0x1c(%ebp)
409992:	85 c0                	test   %eax,%eax
409994:	74 17                	je     0x4099ad
409996:	ff 15 70 61 42 00    	call   *0x426170
40999c:	ff 75 e4             	push   -0x1c(%ebp)
40999f:	8b f0                	mov    %eax,%esi
4099a1:	e8 84 eb ff ff       	call   0x40852a
4099a6:	56                   	push   %esi
4099a7:	ff 15 9c 61 42 00    	call   *0x42619c
4099ad:	ff 75 e0             	push   -0x20(%ebp)
4099b0:	8b 55 d0             	mov    -0x30(%ebp),%edx
4099b3:	8b cf                	mov    %edi,%ecx
4099b5:	ff 75 d8             	push   -0x28(%ebp)
4099b8:	83 27 00             	andl   $0x0,(%edi)
4099bb:	83 ec 0c             	sub    $0xc,%esp
4099be:	ff 75 d4             	push   -0x2c(%ebp)
4099c1:	68 f0 99 40 00       	push   $0x4099f0
4099c6:	e8 f6 df ff ff       	call   0x4079c1
4099cb:	eb 02                	jmp    0x4099cf
4099cd:	33 c0                	xor    %eax,%eax
4099cf:	8b 4d fc             	mov    -0x4(%ebp),%ecx
4099d2:	5f                   	pop    %edi
4099d3:	33 cd                	xor    %ebp,%ecx
4099d5:	5e                   	pop    %esi
4099d6:	e8 95 7e 01 00       	call   0x421870
4099db:	8b e5                	mov    %ebp,%esp
4099dd:	5d                   	pop    %ebp
4099de:	8b e3                	mov    %ebx,%esp
4099e0:	5b                   	pop    %ebx
4099e1:	c2 08 00             	ret    $0x8
4099e4:	cc                   	int3
4099e5:	cc                   	int3
4099e6:	cc                   	int3
4099e7:	cc                   	int3
4099e8:	cc                   	int3
4099e9:	cc                   	int3
4099ea:	cc                   	int3
4099eb:	cc                   	int3
4099ec:	cc                   	int3
4099ed:	cc                   	int3
4099ee:	cc                   	int3
4099ef:	cc                   	int3
4099f0:	8b ff                	mov    %edi,%edi
4099f2:	55                   	push   %ebp
4099f3:	8b ec                	mov    %esp,%ebp
4099f5:	8b 4d 18             	mov    0x18(%ebp),%ecx
4099f8:	80 39 00             	cmpb   $0x0,(%ecx)
4099fb:	74 0c                	je     0x409a09
4099fd:	8d 41 10             	lea    0x10(%ecx),%eax
409a00:	83 c1 34             	add    $0x34,%ecx
409a03:	50                   	push   %eax
409a04:	e8 b0 f9 ff ff       	call   0x4093b9
409a09:	33 c0                	xor    %eax,%eax
409a0b:	5d                   	pop    %ebp
409a0c:	c2 1c 00             	ret    $0x1c
409a0f:	cc                   	int3
409a10:	8b ff                	mov    %edi,%edi
409a12:	55                   	push   %ebp
409a13:	8b ec                	mov    %esp,%ebp
409a15:	8b 4d 08             	mov    0x8(%ebp),%ecx
409a18:	80 39 00             	cmpb   $0x0,(%ecx)
409a1b:	74 0c                	je     0x409a29
409a1d:	8d 41 10             	lea    0x10(%ecx),%eax
409a20:	83 c1 34             	add    $0x34,%ecx
409a23:	50                   	push   %eax
409a24:	e8 90 f9 ff ff       	call   0x4093b9
409a29:	5d                   	pop    %ebp
409a2a:	c2 04 00             	ret    $0x4
409a2d:	8b ff                	mov    %edi,%edi
409a2f:	53                   	push   %ebx
409a30:	56                   	push   %esi
409a31:	57                   	push   %edi
409a32:	8b f9                	mov    %ecx,%edi
409a34:	33 db                	xor    %ebx,%ebx
409a36:	8d 47 2c             	lea    0x2c(%edi),%eax
409a39:	39 18                	cmp    %ebx,(%eax)
409a3b:	75 3e                	jne    0x409a7b
409a3d:	8b 35 88 4c 42 00    	mov    0x424c88,%esi
409a43:	89 18                	mov    %ebx,(%eax)
409a45:	85 f6                	test   %esi,%esi
409a47:	75 20                	jne    0x409a69
409a49:	68 7c 1b 40 00       	push   $0x401b7c
409a4e:	e8 dc dd ff ff       	call   0x40782f
409a53:	50                   	push   %eax
409a54:	ff 15 68 60 42 00    	call   *0x426068
409a5a:	8b f0                	mov    %eax,%esi
409a5c:	89 35 88 4c 42 00    	mov    %esi,0x424c88
409a62:	85 f6                	test   %esi,%esi
409a64:	74 15                	je     0x409a7b
409a66:	8d 47 2c             	lea    0x2c(%edi),%eax
409a69:	50                   	push   %eax
409a6a:	53                   	push   %ebx
409a6b:	57                   	push   %edi
409a6c:	68 10 9a 40 00       	push   $0x409a10
409a71:	8b ce                	mov    %esi,%ecx
409a73:	ff 15 78 64 42 00    	call   *0x426478
409a79:	ff d6                	call   *%esi
409a7b:	ff 35 5c 1d 40 00    	push   0x401d5c
409a81:	8d 4f 24             	lea    0x24(%edi),%ecx
409a84:	8b d7                	mov    %edi,%edx
409a86:	ff 35 58 1d 40 00    	push   0x401d58
409a8c:	e8 95 fe ff ff       	call   0x409926
409a91:	85 c0                	test   %eax,%eax
409a93:	75 1c                	jne    0x409ab1
409a95:	ff 35 fc 1c 40 00    	push   0x401cfc
409a9b:	8d 4f 28             	lea    0x28(%edi),%ecx
409a9e:	8b d7                	mov    %edi,%edx
409aa0:	ff 35 f8 1c 40 00    	push   0x401cf8
409aa6:	e8 7b fe ff ff       	call   0x409926
409aab:	85 c0                	test   %eax,%eax
409aad:	75 02                	jne    0x409ab1
409aaf:	b3 01                	mov    $0x1,%bl
409ab1:	5f                   	pop    %edi
409ab2:	5e                   	pop    %esi
409ab3:	8a c3                	mov    %bl,%al
409ab5:	5b                   	pop    %ebx
409ab6:	c3                   	ret
409ab7:	cc                   	int3
409ab8:	cc                   	int3
409ab9:	cc                   	int3
409aba:	cc                   	int3
409abb:	cc                   	int3
409abc:	cc                   	int3
409abd:	cc                   	int3
409abe:	cc                   	int3
409abf:	cc                   	int3
409ac0:	8b ff                	mov    %edi,%edi
409ac2:	55                   	push   %ebp
409ac3:	8b ec                	mov    %esp,%ebp
409ac5:	8b 4d 08             	mov    0x8(%ebp),%ecx
409ac8:	80 39 00             	cmpb   $0x0,(%ecx)
409acb:	74 0c                	je     0x409ad9
409acd:	8d 41 10             	lea    0x10(%ecx),%eax
409ad0:	83 c1 5c             	add    $0x5c,%ecx
409ad3:	50                   	push   %eax
409ad4:	e8 e0 f8 ff ff       	call   0x4093b9
409ad9:	5d                   	pop    %ebp
409ada:	c2 04 00             	ret    $0x4
409add:	8b ff                	mov    %edi,%edi
409adf:	56                   	push   %esi
409ae0:	57                   	push   %edi
409ae1:	33 ff                	xor    %edi,%edi
409ae3:	8b f1                	mov    %ecx,%esi
409ae5:	57                   	push   %edi
409ae6:	57                   	push   %edi
409ae7:	56                   	push   %esi
409ae8:	ff 15 88 61 42 00    	call   *0x426188
409aee:	89 7e 18             	mov    %edi,0x18(%esi)
409af1:	8b c6                	mov    %esi,%eax
409af3:	89 7e 1c             	mov    %edi,0x1c(%esi)
409af6:	89 7e 20             	mov    %edi,0x20(%esi)
409af9:	89 7e 24             	mov    %edi,0x24(%esi)
409afc:	5f                   	pop    %edi
409afd:	5e                   	pop    %esi
409afe:	c3                   	ret
409aff:	8b ff                	mov    %edi,%edi
409b01:	55                   	push   %ebp
409b02:	8b ec                	mov    %esp,%ebp
409b04:	83 7d 08 00          	cmpl   $0x0,0x8(%ebp)
409b08:	74 16                	je     0x409b20
409b0a:	8b 0d 4c 5e 42 00    	mov    0x425e4c,%ecx
409b10:	85 c9                	test   %ecx,%ecx
409b12:	74 0c                	je     0x409b20
409b14:	ff 75 08             	push   0x8(%ebp)
409b17:	51                   	push   %ecx
409b18:	83 c1 70             	add    $0x70,%ecx
409b1b:	e8 40 f8 ff ff       	call   0x409360
409b20:	5d                   	pop    %ebp
409b21:	c2 04 00             	ret    $0x4
409b24:	8b ff                	mov    %edi,%edi
409b26:	55                   	push   %ebp
409b27:	8b ec                	mov    %esp,%ebp