573856:	8b c3                	mov    %ebx,%eax
573858:	e8 27 4b 00 00       	call   0x578384
57385d:	5b                   	pop    %ebx
57385e:	c3                   	ret
57385f:	90                   	nop
573860:	53                   	push   %ebx
573861:	56                   	push   %esi
573862:	8b f0                	mov    %eax,%esi
573864:	57                   	push   %edi
573865:	55                   	push   %ebp
573866:	8b 5e 0c             	mov    0xc(%esi),%ebx
573869:	eb 01                	jmp    0x57386c
57386b:	43                   	inc    %ebx
57386c:	8a 03                	mov    (%ebx),%al
57386e:	84 c0                	test   %al,%al
573870:	74 0e                	je     0x573880
573872:	0f be d0             	movsbl %al,%edx
573875:	52                   	push   %edx
573876:	e8 79 76 fe ff       	call   0x55aef4
57387b:	59                   	pop    %ecx
57387c:	85 c0                	test   %eax,%eax
57387e:	75 eb                	jne    0x57386b
573880:	8a 0b                	mov    (%ebx),%cl
573882:	84 c9                	test   %cl,%cl
573884:	75 0d                	jne    0x573893
573886:	89 5e 0c             	mov    %ebx,0xc(%esi)
573889:	b8 01 00 00 00       	mov    $0x1,%eax
57388e:	e9 d7 00 00 00       	jmp    0x57396a
573893:	0f be 13             	movsbl (%ebx),%edx
573896:	52                   	push   %edx
573897:	e8 68 76 fe ff       	call   0x55af04
57389c:	59                   	pop    %ecx
57389d:	85 c0                	test   %eax,%eax
57389f:	75 1d                	jne    0x5738be
5738a1:	8a 0b                	mov    (%ebx),%cl
5738a3:	80 f9 5f             	cmp    $0x5f,%cl
5738a6:	74 16                	je     0x5738be
5738a8:	0f be 03             	movsbl (%ebx),%eax
5738ab:	50                   	push   %eax
5738ac:	e8 7f 76 fe ff       	call   0x55af30
5738b1:	59                   	pop    %ecx
5738b2:	85 c0                	test   %eax,%eax
5738b4:	75 08                	jne    0x5738be
5738b6:	83 c8 ff             	or     $0xffffffff,%eax
5738b9:	e9 ac 00 00 00       	jmp    0x57396a
5738be:	8b fb                	mov    %ebx,%edi
5738c0:	eb 01                	jmp    0x5738c3
5738c2:	43                   	inc    %ebx
5738c3:	8a 03                	mov    (%ebx),%al
5738c5:	84 c0                	test   %al,%al
5738c7:	74 23                	je     0x5738ec
5738c9:	0f be 13             	movsbl (%ebx),%edx
5738cc:	52                   	push   %edx
5738cd:	e8 32 76 fe ff       	call   0x55af04
5738d2:	59                   	pop    %ecx
5738d3:	85 c0                	test   %eax,%eax
5738d5:	75 eb                	jne    0x5738c2
5738d7:	8a 0b                	mov    (%ebx),%cl
5738d9:	80 f9 5f             	cmp    $0x5f,%cl
5738dc:	74 e4                	je     0x5738c2
5738de:	0f be 03             	movsbl (%ebx),%eax
5738e1:	50                   	push   %eax
5738e2:	e8 49 76 fe ff       	call   0x55af30
5738e7:	59                   	pop    %ecx
5738e8:	85 c0                	test   %eax,%eax
5738ea:	75 d6                	jne    0x5738c2
5738ec:	8a 13                	mov    (%ebx),%dl
5738ee:	84 d2                	test   %dl,%dl
5738f0:	75 11                	jne    0x573903
5738f2:	89 7e 04             	mov    %edi,0x4(%esi)
5738f5:	33 c0                	xor    %eax,%eax
5738f7:	c7 46 08 68 1c 6a 00 	movl   $0x6a1c68,0x8(%esi)
5738fe:	89 5e 0c             	mov    %ebx,0xc(%esi)
573901:	eb 67                	jmp    0x57396a
573903:	8a 13                	mov    (%ebx),%dl
573905:	80 fa 3d             	cmp    $0x3d,%dl
573908:	74 2e                	je     0x573938
57390a:	8a 03                	mov    (%ebx),%al
57390c:	84 c0                	test   %al,%al
57390e:	74 13                	je     0x573923
573910:	0f be d0             	movsbl %al,%edx
573913:	52                   	push   %edx
573914:	e8 db 75 fe ff       	call   0x55aef4
573919:	59                   	pop    %ecx
57391a:	85 c0                	test   %eax,%eax
57391c:	75 05                	jne    0x573923
57391e:	83 c8 ff             	or     $0xffffffff,%eax
573921:	eb 47                	jmp    0x57396a
573923:	c6 03 00             	movb   $0x0,(%ebx)
573926:	89 7e 04             	mov    %edi,0x4(%esi)
573929:	c7 46 08 69 1c 6a 00 	movl   $0x6a1c69,0x8(%esi)
573930:	43                   	inc    %ebx
573931:	33 c0                	xor    %eax,%eax
573933:	89 5e 0c             	mov    %ebx,0xc(%esi)
573936:	eb 32                	jmp    0x57396a
573938:	c6 03 00             	movb   $0x0,(%ebx)
57393b:	43                   	inc    %ebx
57393c:	8b eb                	mov    %ebx,%ebp
57393e:	eb 01                	jmp    0x573941
573940:	43                   	inc    %ebx
573941:	8a 03                	mov    (%ebx),%al
573943:	84 c0                	test   %al,%al
573945:	74 0e                	je     0x573955
573947:	0f be d0             	movsbl %al,%edx
57394a:	52                   	push   %edx
57394b:	e8 a4 75 fe ff       	call   0x55aef4
573950:	59                   	pop    %ecx
573951:	85 c0                	test   %eax,%eax
573953:	74 eb                	je     0x573940
573955:	8a 0b                	mov    (%ebx),%cl
573957:	84 c9                	test   %cl,%cl
573959:	74 04                	je     0x57395f
57395b:	c6 03 00             	movb   $0x0,(%ebx)
57395e:	43                   	inc    %ebx
57395f:	89 5e 0c             	mov    %ebx,0xc(%esi)
573962:	89 7e 04             	mov    %edi,0x4(%esi)
573965:	89 6e 08             	mov    %ebp,0x8(%esi)
573968:	33 c0                	xor    %eax,%eax
57396a:	5d                   	pop    %ebp
57396b:	5f                   	pop    %edi
57396c:	5e                   	pop    %esi
57396d:	5b                   	pop    %ebx
57396e:	c3                   	ret
57396f:	90                   	nop
573970:	8b 40 04             	mov    0x4(%eax),%eax
573973:	c3                   	ret
573974:	8b 40 08             	mov    0x8(%eax),%eax
573977:	c3                   	ret
573978:	53                   	push   %ebx
573979:	56                   	push   %esi
57397a:	8b f2                	mov    %edx,%esi
57397c:	8b d8                	mov    %eax,%ebx
57397e:	eb 2b                	jmp    0x5739ab
573980:	8b 43 04             	mov    0x4(%ebx),%eax
573983:	8b d6                	mov    %esi,%edx
573985:	8a 08                	mov    (%eax),%cl
573987:	3a 0a                	cmp    (%edx),%cl
573989:	75 1d                	jne    0x5739a8
57398b:	84 c9                	test   %cl,%cl
57398d:	74 12                	je     0x5739a1
57398f:	8a 48 01             	mov    0x1(%eax),%cl
573992:	3a 4a 01             	cmp    0x1(%edx),%cl
573995:	75 11                	jne    0x5739a8
573997:	83 c0 02             	add    $0x2,%eax
57399a:	83 c2 02             	add    $0x2,%edx
57399d:	84 c9                	test   %cl,%cl
57399f:	75 e4                	jne    0x573985
5739a1:	75 05                	jne    0x5739a8
5739a3:	8b c3                	mov    %ebx,%eax
5739a5:	5e                   	pop    %esi
5739a6:	5b                   	pop    %ebx
5739a7:	c3                   	ret
5739a8:	83 c3 08             	add    $0x8,%ebx
5739ab:	8b 13                	mov    (%ebx),%edx
5739ad:	85 d2                	test   %edx,%edx
5739af:	7d cf                	jge    0x573980
5739b1:	33 c0                	xor    %eax,%eax
5739b3:	5e                   	pop    %esi
5739b4:	5b                   	pop    %ebx
5739b5:	c3                   	ret
5739b6:	90                   	nop
5739b7:	90                   	nop
5739b8:	85 c0                	test   %eax,%eax
5739ba:	75 05                	jne    0x5739c1
5739bc:	b8 60 1c 6a 00       	mov    $0x6a1c60,%eax
5739c1:	c3                   	ret
5739c2:	8b c0                	mov    %eax,%eax
5739c4:	53                   	push   %ebx
5739c5:	56                   	push   %esi
5739c6:	57                   	push   %edi
5739c7:	8b f8                	mov    %eax,%edi
5739c9:	b8 9c 00 00 00       	mov    $0x9c,%eax
5739ce:	e8 a9 49 00 00       	call   0x57837c
5739d3:	8b d8                	mov    %eax,%ebx
5739d5:	85 c0                	test   %eax,%eax
5739d7:	75 04                	jne    0x5739dd
5739d9:	33 c0                	xor    %eax,%eax
5739db:	eb 33                	jmp    0x573a10
5739dd:	68 9c 00 00 00       	push   $0x9c
5739e2:	6a 00                	push   $0x0
5739e4:	53                   	push   %ebx
5739e5:	e8 be 70 fe ff       	call   0x55aaa8
5739ea:	83 c4 0c             	add    $0xc,%esp
5739ed:	33 d2                	xor    %edx,%edx
5739ef:	89 7b 08             	mov    %edi,0x8(%ebx)
5739f2:	89 53 0c             	mov    %edx,0xc(%ebx)
5739f5:	8b c7                	mov    %edi,%eax
5739f7:	e8 80 0d 00 00       	call   0x57477c
5739fc:	8b f0                	mov    %eax,%esi
5739fe:	85 c0                	test   %eax,%eax
573a00:	75 04                	jne    0x573a06
573a02:	33 c0                	xor    %eax,%eax
573a04:	eb 0a                	jmp    0x573a10
573a06:	89 73 04             	mov    %esi,0x4(%ebx)
573a09:	83 c6 0c             	add    $0xc,%esi
573a0c:	89 33                	mov    %esi,(%ebx)
573a0e:	8b c3                	mov    %ebx,%eax
573a10:	5f                   	pop    %edi
573a11:	5e                   	pop    %esi
573a12:	5b                   	pop    %ebx
573a13:	c3                   	ret
573a14:	53                   	push   %ebx
573a15:	8b d8                	mov    %eax,%ebx
573a17:	8b 03                	mov    (%ebx),%eax
573a19:	8b 50 04             	mov    0x4(%eax),%edx
573a1c:	85 d2                	test   %edx,%edx
573a1e:	74 07                	je     0x573a27
573a20:	8b c3                	mov    %ebx,%eax
573a22:	8b 10                	mov    (%eax),%edx
573a24:	ff 52 04             	call   *0x4(%edx)
573a27:	8b c3                	mov    %ebx,%eax
573a29:	e8 56 49 00 00       	call   0x578384
573a2e:	5b                   	pop    %ebx
573a2f:	c3                   	ret
573a30:	53                   	push   %ebx
573a31:	8d 58 10             	lea    0x10(%eax),%ebx
573a34:	8b 43 04             	mov    0x4(%ebx),%eax
573a37:	85 c0                	test   %eax,%eax
573a39:	74 0a                	je     0x573a45
573a3b:	e8 44 49 00 00       	call   0x578384
573a40:	33 d2                	xor    %edx,%edx
573a42:	89 53 04             	mov    %edx,0x4(%ebx)
573a45:	5b                   	pop    %ebx
573a46:	c3                   	ret
573a47:	90                   	nop
573a48:	53                   	push   %ebx
573a49:	8d 58 10             	lea    0x10(%eax),%ebx
573a4c:	8b 43 04             	mov    0x4(%ebx),%eax
573a4f:	85 c0                	test   %eax,%eax
573a51:	74 0a                	je     0x573a5d
573a53:	e8 2c 49 00 00       	call   0x578384
573a58:	33 d2                	xor    %edx,%edx
573a5a:	89 53 04             	mov    %edx,0x4(%ebx)
573a5d:	5b                   	pop    %ebx
573a5e:	c3                   	ret
573a5f:	90                   	nop
573a60:	53                   	push   %ebx
573a61:	56                   	push   %esi
573a62:	57                   	push   %edi
573a63:	83 c4 f4             	add    $0xfffffff4,%esp
573a66:	8b f8                	mov    %eax,%edi
573a68:	33 f6                	xor    %esi,%esi
573a6a:	b8 9c 00 00 00       	mov    $0x9c,%eax
573a6f:	e8 08 49 00 00       	call   0x57837c
573a74:	8b d8                	mov    %eax,%ebx
573a76:	85 c0                	test   %eax,%eax
573a78:	0f 84 d9 00 00 00    	je     0x573b57
573a7e:	c7 03 f8 1e 6a 00    	movl   $0x6a1ef8,(%ebx)
573a84:	8b d4                	mov    %esp,%edx
573a86:	8b c7                	mov    %edi,%eax
573a88:	e8 87 08 00 00       	call   0x574314
573a8d:	85 c0                	test   %eax,%eax
573a8f:	0f 85 c2 00 00 00    	jne    0x573b57
573a95:	8d 53 08             	lea    0x8(%ebx),%edx
573a98:	8b c7                	mov    %edi,%eax
573a9a:	e8 75 08 00 00       	call   0x574314
573a9f:	85 c0                	test   %eax,%eax
573aa1:	0f 85 b0 00 00 00    	jne    0x573b57
573aa7:	8b 43 08             	mov    0x8(%ebx),%eax
573aaa:	e8 cd 0c 00 00       	call   0x57477c
573aaf:	89 43 04             	mov    %eax,0x4(%ebx)
573ab2:	83 c0 0c             	add    $0xc,%eax
573ab5:	89 03                	mov    %eax,(%ebx)
573ab7:	8b 04 24             	mov    (%esp),%eax
573aba:	89 43 0c             	mov    %eax,0xc(%ebx)
573abd:	83 f8 01             	cmp    $0x1,%eax
573ac0:	75 1a                	jne    0x573adc
573ac2:	8d 54 24 04          	lea    0x4(%esp),%edx
573ac6:	8b c7                	mov    %edi,%eax
573ac8:	e8 b3 09 00 00       	call   0x574480
573acd:	85 c0                	test   %eax,%eax
573acf:	0f 85 82 00 00 00    	jne    0x573b57
573ad5:	8b 44 24 04          	mov    0x4(%esp),%eax
573ad9:	89 43 0c             	mov    %eax,0xc(%ebx)
573adc:	8b 43 0c             	mov    0xc(%ebx),%eax
573adf:	85 c0                	test   %eax,%eax
573ae1:	74 05                	je     0x573ae8
573ae3:	83 f8 08             	cmp    $0x8,%eax
573ae6:	72 6f                	jb     0x573b57
573ae8:	8b 53 04             	mov    0x4(%ebx),%edx
573aeb:	8b 42 08             	mov    0x8(%edx),%eax
573aee:	83 e0 03             	and    $0x3,%eax
573af1:	83 f8 01             	cmp    $0x1,%eax
573af4:	1b c0                	sbb    %eax,%eax
573af6:	f7 d8                	neg    %eax
573af8:	85 c0                	test   %eax,%eax
573afa:	74 46                	je     0x573b42
573afc:	33 d2                	xor    %edx,%edx
573afe:	33 c0                	xor    %eax,%eax
573b00:	e8 17 49 00 00       	call   0x57841c
573b05:	8b f0                	mov    %eax,%esi
573b07:	85 c0                	test   %eax,%eax
573b09:	74 4c                	je     0x573b57
573b0b:	8b 4b 0c             	mov    0xc(%ebx),%ecx
573b0e:	83 e9 08             	sub    $0x8,%ecx
573b11:	8b d7                	mov    %edi,%edx
573b13:	8b c6                	mov    %esi,%eax
573b15:	e8 0e 54 00 00       	call   0x578f28
573b1a:	85 c0                	test   %eax,%eax
573b1c:	75 39                	jne    0x573b57
573b1e:	8b c6                	mov    %esi,%eax
573b20:	e8 37 50 00 00       	call   0x578b5c
573b25:	8b 13                	mov    (%ebx),%edx
573b27:	8b 4a 08             	mov    0x8(%edx),%ecx
573b2a:	85 c9                	test   %ecx,%ecx
573b2c:	74 0d                	je     0x573b3b
573b2e:	8b d6                	mov    %esi,%edx
573b30:	8b c3                	mov    %ebx,%eax
573b32:	8b 08                	mov    (%eax),%ecx
573b34:	ff 51 08             	call   *0x8(%ecx)
573b37:	85 c0                	test   %eax,%eax
573b39:	75 1c                	jne    0x573b57
573b3b:	8b c6                	mov    %esi,%eax
573b3d:	e8 fa 4b 00 00       	call   0x57873c
573b42:	ba 80 2e 6a 00       	mov    $0x6a2e80,%edx
573b47:	8b c3                	mov    %ebx,%eax
573b49:	e8 2a 00 00 00       	call   0x573b78
573b4e:	8b c3                	mov    %ebx,%eax
573b50:	eb 1d                	jmp    0x573b6f
573b52:	e8 f1 6f fe ff       	call   0x55ab48
573b57:	85 db                	test   %ebx,%ebx
573b59:	74 07                	je     0x573b62
573b5b:	8b c3                	mov    %ebx,%eax
573b5d:	e8 b2 fe ff ff       	call   0x573a14
573b62:	85 f6                	test   %esi,%esi
573b64:	74 07                	je     0x573b6d
573b66:	8b c6                	mov    %esi,%eax
573b68:	e8 cf 4b 00 00       	call   0x57873c
573b6d:	33 c0                	xor    %eax,%eax
573b6f:	83 c4 0c             	add    $0xc,%esp
573b72:	5f                   	pop    %edi
573b73:	5e                   	pop    %esi
573b74:	5b                   	pop    %ebx
573b75:	c3                   	ret
573b76:	90                   	nop
573b77:	90                   	nop
573b78:	53                   	push   %ebx
573b79:	8b d8                	mov    %eax,%ebx
573b7b:	56                   	push   %esi
573b7c:	57                   	push   %edi
573b7d:	8b fa                	mov    %edx,%edi
573b7f:	8b 43 08             	mov    0x8(%ebx),%eax
573b82:	e8 f5 0b 00 00       	call   0x57477c
573b87:	8b f0                	mov    %eax,%esi
573b89:	85 f6                	test   %esi,%esi
573b8b:	75 17                	jne    0x573ba4
573b8d:	68 65 01 00 00       	push   $0x165
573b92:	68 76 1f 6a 00       	push   $0x6a1f76
573b97:	68 6e 1f 6a 00       	push   $0x6a1f6e
573b9c:	e8 9f 6f fe ff       	call   0x55ab40