4227e4:	56                   	push   %esi
4227e5:	57                   	push   %edi
4227e6:	33 ff                	xor    %edi,%edi
4227e8:	33 db                	xor    %ebx,%ebx
4227ea:	39 7d 1c             	cmp    %edi,0x1c(%ebp)
4227ed:	8b f1                	mov    %ecx,%esi
4227ef:	74 24                	je     0x422815
4227f1:	e8 51 1f 00 00       	call   0x424747
4227f6:	ff 75 1c             	push   0x1c(%ebp)
4227f9:	8b 40 0c             	mov    0xc(%eax),%eax
4227fc:	50                   	push   %eax
4227fd:	ff 15 8c 99 43 00    	call   *0x43998c
422803:	8b d8                	mov    %eax,%ebx
422805:	3b df                	cmp    %edi,%ebx
422807:	75 0c                	jne    0x422815
422809:	8b 06                	mov    (%esi),%eax
42280b:	8b ce                	mov    %esi,%ecx
42280d:	ff 90 ac 00 00 00    	call   *0xac(%eax)
422813:	eb 55                	jmp    0x42286a
422815:	ff 75 0c             	push   0xc(%ebp)
422818:	8d 8e ac 00 00 00    	lea    0xac(%esi),%ecx
42281e:	e8 d3 c2 ff ff       	call   0x41eaf6
422823:	8b 45 18             	mov    0x18(%ebp),%eax
422826:	3b c7                	cmp    %edi,%eax
422828:	74 03                	je     0x42282d
42282a:	8b 78 1c             	mov    0x1c(%eax),%edi
42282d:	ff 75 24             	push   0x24(%ebp)
422830:	8b 45 14             	mov    0x14(%ebp),%eax
422833:	8b 48 04             	mov    0x4(%eax),%ecx
422836:	8b 10                	mov    (%eax),%edx
422838:	53                   	push   %ebx
422839:	57                   	push   %edi
42283a:	8b 78 0c             	mov    0xc(%eax),%edi
42283d:	8b 40 08             	mov    0x8(%eax),%eax
422840:	2b f9                	sub    %ecx,%edi
422842:	2b c2                	sub    %edx,%eax
422844:	57                   	push   %edi
422845:	50                   	push   %eax
422846:	51                   	push   %ecx
422847:	52                   	push   %edx
422848:	ff 75 10             	push   0x10(%ebp)
42284b:	8b ce                	mov    %esi,%ecx
42284d:	ff 75 0c             	push   0xc(%ebp)
422850:	ff 75 08             	push   0x8(%ebp)
422853:	ff 75 20             	push   0x20(%ebp)
422856:	e8 04 80 ff ff       	call   0x41a85f
42285b:	85 c0                	test   %eax,%eax
42285d:	75 0f                	jne    0x42286e
42285f:	85 db                	test   %ebx,%ebx
422861:	74 07                	je     0x42286a
422863:	53                   	push   %ebx
422864:	ff 15 1c 98 43 00    	call   *0x43981c
42286a:	33 c0                	xor    %eax,%eax
42286c:	eb 03                	jmp    0x422871
42286e:	6a 01                	push   $0x1
422870:	58                   	pop    %eax
422871:	5f                   	pop    %edi
422872:	5e                   	pop    %esi
422873:	5b                   	pop    %ebx
422874:	5d                   	pop    %ebp
422875:	c2 20 00             	ret    $0x20
422878:	55                   	push   %ebp
422879:	8b ec                	mov    %esp,%ebp
42287b:	83 ec 14             	sub    $0x14,%esp
42287e:	53                   	push   %ebx
42287f:	8b 5d 08             	mov    0x8(%ebp),%ebx
422882:	89 4d fc             	mov    %ecx,-0x4(%ebp)
422885:	56                   	push   %esi
422886:	8b 0b                	mov    (%ebx),%ecx
422888:	57                   	push   %edi
422889:	e8 f2 a4 ff ff       	call   0x41cd80
42288e:	8b f8                	mov    %eax,%edi
422890:	33 f6                	xor    %esi,%esi
422892:	3b fe                	cmp    %esi,%edi
422894:	74 29                	je     0x4228bf
422896:	53                   	push   %ebx
422897:	8b 07                	mov    (%edi),%eax
422899:	ff 75 0c             	push   0xc(%ebp)
42289c:	8d 4d ec             	lea    -0x14(%ebp),%ecx
42289f:	89 75 ec             	mov    %esi,-0x14(%ebp)
4228a2:	89 75 f0             	mov    %esi,-0x10(%ebp)
4228a5:	ff 75 fc             	push   -0x4(%ebp)
4228a8:	89 75 f4             	mov    %esi,-0xc(%ebp)
4228ab:	89 75 f8             	mov    %esi,-0x8(%ebp)
4228ae:	51                   	push   %ecx
4228af:	68 00 00 80 50       	push   $0x50800000
4228b4:	56                   	push   %esi
4228b5:	56                   	push   %esi
4228b6:	8b cf                	mov    %edi,%ecx
4228b8:	ff 50 5c             	call   *0x5c(%eax)
4228bb:	85 c0                	test   %eax,%eax
4228bd:	75 04                	jne    0x4228c3
4228bf:	33 c0                	xor    %eax,%eax
4228c1:	eb 26                	jmp    0x4228e9
4228c3:	39 35 dc 6d 43 00    	cmp    %esi,0x436ddc
4228c9:	74 1c                	je     0x4228e7
4228cb:	8b cf                	mov    %edi,%ecx
4228cd:	e8 20 ae ff ff       	call   0x41d6f2
4228d2:	b9 00 02 00 00       	mov    $0x200,%ecx
4228d7:	85 c1                	test   %eax,%ecx
4228d9:	74 0c                	je     0x4228e7
4228db:	6a 20                	push   $0x20
4228dd:	56                   	push   %esi
4228de:	51                   	push   %ecx
4228df:	8b 4d fc             	mov    -0x4(%ebp),%ecx
4228e2:	e8 59 ae ff ff       	call   0x41d740
4228e7:	8b c7                	mov    %edi,%eax
4228e9:	5f                   	pop    %edi
4228ea:	5e                   	pop    %esi
4228eb:	5b                   	pop    %ebx
4228ec:	c9                   	leave
4228ed:	c2 08 00             	ret    $0x8
4228f0:	8b 44 24 08          	mov    0x8(%esp),%eax
4228f4:	85 c0                	test   %eax,%eax
4228f6:	74 14                	je     0x42290c
4228f8:	83 38 00             	cmpl   $0x0,(%eax)
4228fb:	74 0f                	je     0x42290c
4228fd:	68 00 e9 00 00       	push   $0xe900
422902:	50                   	push   %eax
422903:	e8 70 ff ff ff       	call   0x422878
422908:	85 c0                	test   %eax,%eax
42290a:	74 03                	je     0x42290f
42290c:	6a 01                	push   $0x1
42290e:	58                   	pop    %eax
42290f:	c2 08 00             	ret    $0x8
422912:	8b 44 24 04          	mov    0x4(%esp),%eax
422916:	ff 30                	push   (%eax)
422918:	50                   	push   %eax
422919:	e8 03 00 00 00       	call   0x422921
42291e:	c2 04 00             	ret    $0x4
422921:	56                   	push   %esi
422922:	57                   	push   %edi
422923:	8b f1                	mov    %ecx,%esi
422925:	e8 eb 78 ff ff       	call   0x41a215
42292a:	83 f8 ff             	cmp    $0xffffffff,%eax
42292d:	74 16                	je     0x422945
42292f:	ff 74 24 10          	push   0x10(%esp)
422933:	8b 3e                	mov    (%esi),%edi
422935:	8b ce                	mov    %esi,%ecx
422937:	ff 74 24 10          	push   0x10(%esp)
42293b:	ff 97 e4 00 00 00    	call   *0xe4(%edi)
422941:	85 c0                	test   %eax,%eax
422943:	75 05                	jne    0x42294a
422945:	83 c8 ff             	or     $0xffffffff,%eax
422948:	eb 21                	jmp    0x42296b
42294a:	6a 00                	push   $0x0
42294c:	68 01 e0 00 00       	push   $0xe001
422951:	68 62 03 00 00       	push   $0x362
422956:	ff 76 1c             	push   0x1c(%esi)
422959:	ff 15 40 98 43 00    	call   *0x439840
42295f:	6a 01                	push   $0x1
422961:	8b ce                	mov    %esi,%ecx
422963:	ff 97 d0 00 00 00    	call   *0xd0(%edi)
422969:	33 c0                	xor    %eax,%eax
42296b:	5f                   	pop    %edi
42296c:	5e                   	pop    %esi
42296d:	c2 08 00             	ret    $0x8
422970:	55                   	push   %ebp
422971:	8b ec                	mov    %esp,%ebp
422973:	83 ec 58             	sub    $0x58,%esp
422976:	56                   	push   %esi
422977:	57                   	push   %edi
422978:	8b f1                	mov    %ecx,%esi
42297a:	e8 c8 1d 00 00       	call   0x424747
42297f:	0f b7 4d 0c          	movzwl 0xc(%ebp),%ecx
422983:	8b 40 0c             	mov    0xc(%eax),%eax
422986:	51                   	push   %ecx
422987:	50                   	push   %eax
422988:	ff 15 48 99 43 00    	call   *0x439948
42298e:	8b f8                	mov    %eax,%edi
422990:	85 ff                	test   %edi,%edi
422992:	74 57                	je     0x4229eb
422994:	6a 30                	push   $0x30
422996:	8d 45 a8             	lea    -0x58(%ebp),%eax
422999:	6a 00                	push   $0x0
42299b:	50                   	push   %eax
42299c:	e8 6f 9a fe ff       	call   0x40c410
4229a1:	8b 45 08             	mov    0x8(%ebp),%eax
4229a4:	83 c4 0c             	add    $0xc,%esp
4229a7:	8d 4d a8             	lea    -0x58(%ebp),%ecx
4229aa:	89 45 c8             	mov    %eax,-0x38(%ebp)
4229ad:	8b 06                	mov    (%esi),%eax
4229af:	51                   	push   %ecx
4229b0:	8b ce                	mov    %esi,%ecx
4229b2:	ff 50 64             	call   *0x64(%eax)
4229b5:	83 7d d0 00          	cmpl   $0x0,-0x30(%ebp)
4229b9:	74 30                	je     0x4229eb
4229bb:	e8 87 1d 00 00       	call   0x424747
4229c0:	8b 40 08             	mov    0x8(%eax),%eax
4229c3:	8d 4d d8             	lea    -0x28(%ebp),%ecx
4229c6:	51                   	push   %ecx
4229c7:	ff 75 d0             	push   -0x30(%ebp)
4229ca:	50                   	push   %eax
4229cb:	ff 15 b8 98 43 00    	call   *0x4398b8
4229d1:	85 c0                	test   %eax,%eax
4229d3:	74 16                	je     0x4229eb
4229d5:	39 7d ec             	cmp    %edi,-0x14(%ebp)
4229d8:	74 11                	je     0x4229eb
4229da:	57                   	push   %edi
4229db:	ff 75 f4             	push   -0xc(%ebp)
4229de:	ff 75 f0             	push   -0x10(%ebp)
4229e1:	ff 75 d8             	push   -0x28(%ebp)
4229e4:	e8 62 85 ff ff       	call   0x41af4b
4229e9:	eb 02                	jmp    0x4229ed
4229eb:	33 c0                	xor    %eax,%eax
4229ed:	5f                   	pop    %edi
4229ee:	5e                   	pop    %esi
4229ef:	c9                   	leave
4229f0:	c2 08 00             	ret    $0x8
4229f3:	b8 84 79 42 00       	mov    $0x427984,%eax
4229f8:	e8 33 92 fe ff       	call   0x40bc30
4229fd:	53                   	push   %ebx
4229fe:	56                   	push   %esi
4229ff:	57                   	push   %edi
422a00:	8b 7d 08             	mov    0x8(%ebp),%edi
422a03:	8b f1                	mov    %ecx,%esi
422a05:	8d 4d 08             	lea    0x8(%ebp),%ecx
422a08:	89 be 8c 00 00 00    	mov    %edi,0x8c(%esi)
422a0e:	e8 79 bf ff ff       	call   0x41e98c
422a13:	33 db                	xor    %ebx,%ebx
422a15:	57                   	push   %edi
422a16:	8d 4d 08             	lea    0x8(%ebp),%ecx
422a19:	89 5d fc             	mov    %ebx,-0x4(%ebp)
422a1c:	e8 c8 c1 ff ff       	call   0x41ebe9
422a21:	85 c0                	test   %eax,%eax
422a23:	74 12                	je     0x422a37
422a25:	6a 0a                	push   $0xa
422a27:	53                   	push   %ebx
422a28:	ff 75 08             	push   0x8(%ebp)
422a2b:	8d 86 ac 00 00 00    	lea    0xac(%esi),%eax
422a31:	50                   	push   %eax
422a32:	e8 5d c2 ff ff       	call   0x41ec94
422a37:	e8 0b 1d 00 00       	call   0x424747
422a3c:	f6 40 18 08          	testb  $0x8,0x18(%eax)
422a40:	74 05                	je     0x422a47
422a42:	6a 01                	push   $0x1
422a44:	58                   	pop    %eax
422a45:	eb 07                	jmp    0x422a4e
422a47:	6a 08                	push   $0x8
422a49:	e8 8a 9f ff ff       	call   0x41c9d8
422a4e:	3b c3                	cmp    %ebx,%eax
422a50:	74 30                	je     0x422a82
422a52:	57                   	push   %edi
422a53:	8b ce                	mov    %esi,%ecx
422a55:	ff 75 0c             	push   0xc(%ebp)
422a58:	e8 13 ff ff ff       	call   0x422970
422a5d:	ff 75 14             	push   0x14(%ebp)
422a60:	8b ce                	mov    %esi,%ecx
422a62:	0f b7 ff             	movzwl %di,%edi
422a65:	53                   	push   %ebx
422a66:	57                   	push   %edi
422a67:	ff 75 10             	push   0x10(%ebp)
422a6a:	68 a0 6a 43 00       	push   $0x436aa0
422a6f:	ff 75 0c             	push   0xc(%ebp)
422a72:	ff b6 ac 00 00 00    	push   0xac(%esi)
422a78:	50                   	push   %eax
422a79:	e8 62 fd ff ff       	call   0x4227e0
422a7e:	85 c0                	test   %eax,%eax
422a80:	75 10                	jne    0x422a92
422a82:	83 4d fc ff          	orl    $0xffffffff,-0x4(%ebp)
422a86:	8d 4d 08             	lea    0x8(%ebp),%ecx
422a89:	e8 12 c0 ff ff       	call   0x41eaa0
422a8e:	33 c0                	xor    %eax,%eax
422a90:	eb 3b                	jmp    0x422acd
422a92:	ff 76 1c             	push   0x1c(%esi)
422a95:	ff 15 cc 98 43 00    	call   *0x4398cc
422a9b:	57                   	push   %edi
422a9c:	8b ce                	mov    %esi,%ecx
422a9e:	89 46 44             	mov    %eax,0x44(%esi)
422aa1:	e8 9c f6 ff ff       	call   0x422142
422aa6:	39 5d 14             	cmp    %ebx,0x14(%ebp)
422aa9:	75 13                	jne    0x422abe
422aab:	6a 01                	push   $0x1
422aad:	6a 01                	push   $0x1
422aaf:	53                   	push   %ebx
422ab0:	53                   	push   %ebx
422ab1:	68 64 03 00 00       	push   $0x364
422ab6:	ff 76 1c             	push   0x1c(%esi)
422ab9:	e8 a2 8f ff ff       	call   0x41ba60
422abe:	83 4d fc ff          	orl    $0xffffffff,-0x4(%ebp)
422ac2:	8d 4d 08             	lea    0x8(%ebp),%ecx
422ac5:	e8 d6 bf ff ff       	call   0x41eaa0
422aca:	6a 01                	push   $0x1
422acc:	58                   	pop    %eax
422acd:	8b 4d f4             	mov    -0xc(%ebp),%ecx
422ad0:	5f                   	pop    %edi
422ad1:	5e                   	pop    %esi
422ad2:	64 89 0d 00 00 00 00 	mov    %ecx,%fs:0x0
422ad9:	5b                   	pop    %ebx
422ada:	c9                   	leave
422adb:	c2 10 00             	ret    $0x10
422ade:	56                   	push   %esi
422adf:	57                   	push   %edi
422ae0:	8b 7c 24 0c          	mov    0xc(%esp),%edi
422ae4:	8b f1                	mov    %ecx,%esi
422ae6:	85 ff                	test   %edi,%edi
422ae8:	75 1f                	jne    0x422b09
422aea:	8b 06                	mov    (%esi),%eax
422aec:	ff 90 c4 00 00 00    	call   *0xc4(%eax)
422af2:	85 c0                	test   %eax,%eax
422af4:	74 0c                	je     0x422b02
422af6:	8b 10                	mov    (%eax),%edx
422af8:	8b c8                	mov    %eax,%ecx
422afa:	ff 92 ac 00 00 00    	call   *0xac(%edx)
422b00:	8b f8                	mov    %eax,%edi
422b02:	85 ff                	test   %edi,%edi
422b04:	75 03                	jne    0x422b09
422b06:	8b 7e 44             	mov    0x44(%esi),%edi
422b09:	57                   	push   %edi
422b0a:	ff 76 1c             	push   0x1c(%esi)
422b0d:	ff 15 00 98 43 00    	call   *0x439800
422b13:	5f                   	pop    %edi
422b14:	5e                   	pop    %esi
422b15:	c2 04 00             	ret    $0x4
422b18:	55                   	push   %ebp
422b19:	8b ec                	mov    %esp,%ebp
422b1b:	83 ec 0c             	sub    $0xc,%esp
422b1e:	53                   	push   %ebx
422b1f:	8b d9                	mov    %ecx,%ebx
422b21:	56                   	push   %esi
422b22:	57                   	push   %edi
422b23:	8b 83 9c 00 00 00    	mov    0x9c(%ebx),%eax
422b29:	85 c0                	test   %eax,%eax
422b2b:	74 0b                	je     0x422b38
422b2d:	53                   	push   %ebx
422b2e:	ff d0                	call   *%eax
422b30:	85 c0                	test   %eax,%eax
422b32:	0f 84 e4 00 00 00    	je     0x422c1c
422b38:	8b 03                	mov    (%ebx),%eax
422b3a:	8b cb                	mov    %ebx,%ecx
422b3c:	89 45 f4             	mov    %eax,-0xc(%ebp)
422b3f:	ff 90 c4 00 00 00    	call   *0xc4(%eax)
422b45:	8b f8                	mov    %eax,%edi
422b47:	85 ff                	test   %edi,%edi
422b49:	74 13                	je     0x422b5e
422b4b:	8b 07                	mov    (%edi),%eax
422b4d:	53                   	push   %ebx
422b4e:	8b cf                	mov    %edi,%ecx
422b50:	ff 90 94 00 00 00    	call   *0x94(%eax)
422b56:	85 c0                	test   %eax,%eax
422b58:	0f 84 be 00 00 00    	je     0x422c1c
422b5e:	e8 e4 1b 00 00       	call   0x424747
422b63:	8b 70 04             	mov    0x4(%eax),%esi
422b66:	39 5e 1c             	cmp    %ebx,0x1c(%esi)
422b69:	75 51                	jne    0x422bbc
422b6b:	85 ff                	test   %edi,%edi
422b6d:	75 12                	jne    0x422b81
422b6f:	8b 06                	mov    (%esi),%eax
422b71:	8b ce                	mov    %esi,%ecx
422b73:	ff 90 90 00 00 00    	call   *0x90(%eax)