5958ba:	cc                   	int3
5958bb:	cc                   	int3
5958bc:	cc                   	int3
5958bd:	cc                   	int3
5958be:	cc                   	int3
5958bf:	cc                   	int3
5958c0:	8b 44 24 04          	mov    0x4(%esp),%eax
5958c4:	85 c0                	test   %eax,%eax
5958c6:	75 1b                	jne    0x5958e3
5958c8:	68 28 01 00 00       	push   $0x128
5958cd:	68 60 85 6c 00       	push   $0x6c8560
5958d2:	6a 69                	push   $0x69
5958d4:	6a 6c                	push   $0x6c
5958d6:	6a 0e                	push   $0xe
5958d8:	e8 c3 bb f0 ff       	call   0x4a14a0
5958dd:	83 c4 14             	add    $0x14,%esp
5958e0:	33 c0                	xor    %eax,%eax
5958e2:	c3                   	ret
5958e3:	8b 4c 24 08          	mov    0x8(%esp),%ecx
5958e7:	85 c9                	test   %ecx,%ecx
5958e9:	75 1b                	jne    0x595906
5958eb:	68 2d 01 00 00       	push   $0x12d
5958f0:	68 60 85 6c 00       	push   $0x6c8560
5958f5:	6a 6b                	push   $0x6b
5958f7:	6a 6c                	push   $0x6c
5958f9:	6a 0e                	push   $0xe
5958fb:	e8 a0 bb f0 ff       	call   0x4a14a0
595900:	83 c4 14             	add    $0x14,%esp
595903:	33 c0                	xor    %eax,%eax
595905:	c3                   	ret
595906:	89 4c 24 08          	mov    %ecx,0x8(%esp)
59590a:	89 44 24 04          	mov    %eax,0x4(%esp)
59590e:	e9 9d ed 00 00       	jmp    0x5a46b0
595913:	cc                   	int3
595914:	cc                   	int3
595915:	cc                   	int3
595916:	cc                   	int3
595917:	cc                   	int3
595918:	cc                   	int3
595919:	cc                   	int3
59591a:	cc                   	int3
59591b:	cc                   	int3
59591c:	cc                   	int3
59591d:	cc                   	int3
59591e:	cc                   	int3
59591f:	cc                   	int3
595920:	ff 74 24 0c          	push   0xc(%esp)
595924:	ff 74 24 0c          	push   0xc(%esp)
595928:	ff 74 24 0c          	push   0xc(%esp)
59592c:	e8 cf ed 00 00       	call   0x5a4700
595931:	83 c4 0c             	add    $0xc,%esp
595934:	85 c0                	test   %eax,%eax
595936:	75 54                	jne    0x59598c
595938:	39 44 24 04          	cmp    %eax,0x4(%esp)
59593c:	75 1b                	jne    0x595959
59593e:	68 41 01 00 00       	push   $0x141
595943:	68 60 85 6c 00       	push   $0x6c8560
595948:	6a 6a                	push   $0x6a
59594a:	6a 6d                	push   $0x6d
59594c:	6a 0e                	push   $0xe
59594e:	e8 4d bb f0 ff       	call   0x4a14a0
595953:	83 c4 14             	add    $0x14,%esp
595956:	33 c0                	xor    %eax,%eax
595958:	c3                   	ret
595959:	68 44 01 00 00       	push   $0x144
59595e:	68 60 85 6c 00       	push   $0x6c8560
595963:	6a 6c                	push   $0x6c
595965:	6a 6d                	push   $0x6d
595967:	6a 0e                	push   $0xe
595969:	e8 32 bb f0 ff       	call   0x4a14a0
59596e:	ff 74 24 20          	push   0x20(%esp)
595972:	68 7c 85 6c 00       	push   $0x6c857c
595977:	ff 74 24 24          	push   0x24(%esp)
59597b:	68 84 85 6c 00       	push   $0x6c8584
595980:	6a 04                	push   $0x4
595982:	e8 39 b6 f0 ff       	call   0x4a0fc0
595987:	83 c4 28             	add    $0x28,%esp
59598a:	33 c0                	xor    %eax,%eax
59598c:	c3                   	ret
59598d:	cc                   	int3
59598e:	cc                   	int3
59598f:	cc                   	int3
595990:	8b 4c 24 04          	mov    0x4(%esp),%ecx
595994:	85 c9                	test   %ecx,%ecx
595996:	75 1b                	jne    0x5959b3
595998:	68 87 01 00 00       	push   $0x187
59599d:	68 8c 85 6c 00       	push   $0x6c858c
5959a2:	6a 43                	push   $0x43
5959a4:	6a 7e                	push   $0x7e
5959a6:	6a 25                	push   $0x25
5959a8:	e8 f3 ba f0 ff       	call   0x4a14a0
5959ad:	83 c4 14             	add    $0x14,%esp
5959b0:	33 c0                	xor    %eax,%eax
5959b2:	c3                   	ret
5959b3:	56                   	push   %esi
5959b4:	8b 74 24 0c          	mov    0xc(%esp),%esi
5959b8:	85 f6                	test   %esi,%esi
5959ba:	75 23                	jne    0x5959df
5959bc:	8b 71 20             	mov    0x20(%ecx),%esi
5959bf:	85 f6                	test   %esi,%esi
5959c1:	75 1c                	jne    0x5959df
5959c3:	68 8d 01 00 00       	push   $0x18d
5959c8:	68 8c 85 6c 00       	push   $0x6c858c
5959cd:	6a 6f                	push   $0x6f
5959cf:	6a 7e                	push   $0x7e
5959d1:	6a 25                	push   $0x25
5959d3:	e8 c8 ba f0 ff       	call   0x4a14a0
5959d8:	83 c4 14             	add    $0x14,%esp
5959db:	33 c0                	xor    %eax,%eax
5959dd:	5e                   	pop    %esi
5959de:	c3                   	ret
5959df:	f6 41 0c 01          	testb  $0x1,0xc(%ecx)
5959e3:	57                   	push   %edi
5959e4:	75 1d                	jne    0x595a03
5959e6:	8b 41 18             	mov    0x18(%ecx),%eax
5959e9:	85 c0                	test   %eax,%eax
5959eb:	75 09                	jne    0x5959f6
5959ed:	8b 01                	mov    (%ecx),%eax
5959ef:	8b 40 18             	mov    0x18(%eax),%eax
5959f2:	85 c0                	test   %eax,%eax
5959f4:	74 0d                	je     0x595a03
5959f6:	56                   	push   %esi
5959f7:	51                   	push   %ecx
5959f8:	ff d0                	call   *%eax
5959fa:	8b f8                	mov    %eax,%edi
5959fc:	83 c4 08             	add    $0x8,%esp
5959ff:	85 ff                	test   %edi,%edi
595a01:	75 64                	jne    0x595a67
595a03:	8b ce                	mov    %esi,%ecx
595a05:	8d 51 01             	lea    0x1(%ecx),%edx
595a08:	8a 01                	mov    (%ecx),%al
595a0a:	41                   	inc    %ecx
595a0b:	84 c0                	test   %al,%al
595a0d:	75 f9                	jne    0x595a08
595a0f:	2b ca                	sub    %edx,%ecx
595a11:	68 97 01 00 00       	push   $0x197
595a16:	68 8c 85 6c 00       	push   $0x6c858c
595a1b:	8d 41 01             	lea    0x1(%ecx),%eax
595a1e:	50                   	push   %eax
595a1f:	e8 8c a7 f0 ff       	call   0x4a01b0
595a24:	8b f8                	mov    %eax,%edi
595a26:	83 c4 0c             	add    $0xc,%esp
595a29:	85 ff                	test   %edi,%edi
595a2b:	75 1d                	jne    0x595a4a
595a2d:	68 99 01 00 00       	push   $0x199
595a32:	68 8c 85 6c 00       	push   $0x6c858c
595a37:	6a 41                	push   $0x41
595a39:	6a 7e                	push   $0x7e
595a3b:	6a 25                	push   $0x25
595a3d:	e8 5e ba f0 ff       	call   0x4a14a0
595a42:	83 c4 14             	add    $0x14,%esp
595a45:	33 c0                	xor    %eax,%eax
595a47:	5f                   	pop    %edi
595a48:	5e                   	pop    %esi
595a49:	c3                   	ret
595a4a:	8b ce                	mov    %esi,%ecx
595a4c:	8d 51 01             	lea    0x1(%ecx),%edx
595a4f:	90                   	nop
595a50:	8a 01                	mov    (%ecx),%al
595a52:	41                   	inc    %ecx
595a53:	84 c0                	test   %al,%al
595a55:	75 f9                	jne    0x595a50
595a57:	2b ca                	sub    %edx,%ecx
595a59:	8d 41 01             	lea    0x1(%ecx),%eax
595a5c:	50                   	push   %eax
595a5d:	56                   	push   %esi
595a5e:	57                   	push   %edi
595a5f:	e8 dc 8d f1 ff       	call   0x4ae840
595a64:	83 c4 0c             	add    $0xc,%esp
595a67:	8b c7                	mov    %edi,%eax
595a69:	5f                   	pop    %edi
595a6a:	5e                   	pop    %esi
595a6b:	c3                   	ret
595a6c:	cc                   	int3
595a6d:	cc                   	int3
595a6e:	cc                   	int3
595a6f:	cc                   	int3
595a70:	8b 54 24 08          	mov    0x8(%esp),%edx
595a74:	85 d2                	test   %edx,%edx
595a76:	7f 03                	jg     0x595a7b
595a78:	33 c0                	xor    %eax,%eax
595a7a:	c3                   	ret
595a7b:	53                   	push   %ebx
595a7c:	56                   	push   %esi
595a7d:	8b 74 24 0c          	mov    0xc(%esp),%esi
595a81:	57                   	push   %edi
595a82:	8a 0e                	mov    (%esi),%cl
595a84:	84 c9                	test   %cl,%cl
595a86:	78 15                	js     0x595a9d
595a88:	0f b6 d1             	movzbl %cl,%edx
595a8b:	b8 01 00 00 00       	mov    $0x1,%eax
595a90:	8b 4c 24 18          	mov    0x18(%esp),%ecx
595a94:	83 e2 7f             	and    $0x7f,%edx
595a97:	5f                   	pop    %edi
595a98:	5e                   	pop    %esi
595a99:	5b                   	pop    %ebx
595a9a:	89 11                	mov    %edx,(%ecx)
595a9c:	c3                   	ret
595a9d:	8a c1                	mov    %cl,%al
595a9f:	24 e0                	and    $0xe0,%al
595aa1:	3c c0                	cmp    $0xc0,%al
595aa3:	75 44                	jne    0x595ae9
595aa5:	83 fa 02             	cmp    $0x2,%edx
595aa8:	0f 8c c7 01 00 00    	jl     0x595c75
595aae:	8a 5e 01             	mov    0x1(%esi),%bl
595ab1:	8a c3                	mov    %bl,%al
595ab3:	24 c0                	and    $0xc0,%al
595ab5:	3c 80                	cmp    $0x80,%al
595ab7:	0f 85 52 02 00 00    	jne    0x595d0f
595abd:	0f b6 d1             	movzbl %cl,%edx
595ac0:	83 e2 1f             	and    $0x1f,%edx
595ac3:	0f b6 c3             	movzbl %bl,%eax
595ac6:	c1 e2 06             	shl    $0x6,%edx
595ac9:	83 e0 3f             	and    $0x3f,%eax
595acc:	0b d0                	or     %eax,%edx
595ace:	81 fa 80 00 00 00    	cmp    $0x80,%edx
595ad4:	0f 82 1d 02 00 00    	jb     0x595cf7
595ada:	8b 4c 24 18          	mov    0x18(%esp),%ecx
595ade:	b8 02 00 00 00       	mov    $0x2,%eax
595ae3:	5f                   	pop    %edi
595ae4:	5e                   	pop    %esi
595ae5:	5b                   	pop    %ebx
595ae6:	89 11                	mov    %edx,(%ecx)
595ae8:	c3                   	ret
595ae9:	8a c1                	mov    %cl,%al
595aeb:	24 f0                	and    $0xf0,%al
595aed:	3c e0                	cmp    $0xe0,%al
595aef:	75 5c                	jne    0x595b4d
595af1:	83 fa 03             	cmp    $0x3,%edx
595af4:	0f 8c 7b 01 00 00    	jl     0x595c75
595afa:	8a 46 01             	mov    0x1(%esi),%al
595afd:	24 c0                	and    $0xc0,%al
595aff:	3c 80                	cmp    $0x80,%al
595b01:	0f 85 08 02 00 00    	jne    0x595d0f
595b07:	8a 46 02             	mov    0x2(%esi),%al
595b0a:	24 c0                	and    $0xc0,%al
595b0c:	3c 80                	cmp    $0x80,%al
595b0e:	0f 85 fb 01 00 00    	jne    0x595d0f
595b14:	0f b6 46 02          	movzbl 0x2(%esi),%eax
595b18:	0f b6 d1             	movzbl %cl,%edx
595b1b:	83 e0 3f             	and    $0x3f,%eax
595b1e:	0f b6 4e 01          	movzbl 0x1(%esi),%ecx
595b22:	83 e2 0f             	and    $0xf,%edx
595b25:	83 e1 3f             	and    $0x3f,%ecx
595b28:	c1 e2 0c             	shl    $0xc,%edx
595b2b:	c1 e1 06             	shl    $0x6,%ecx
595b2e:	0b c8                	or     %eax,%ecx
595b30:	0b d1                	or     %ecx,%edx
595b32:	81 fa 00 08 00 00    	cmp    $0x800,%edx
595b38:	0f 82 b9 01 00 00    	jb     0x595cf7
595b3e:	8b 4c 24 18          	mov    0x18(%esp),%ecx
595b42:	b8 03 00 00 00       	mov    $0x3,%eax
595b47:	5f                   	pop    %edi
595b48:	5e                   	pop    %esi
595b49:	5b                   	pop    %ebx
595b4a:	89 11                	mov    %edx,(%ecx)
595b4c:	c3                   	ret
595b4d:	8a c1                	mov    %cl,%al
595b4f:	24 f8                	and    $0xf8,%al
595b51:	3c f0                	cmp    $0xf0,%al
595b53:	75 75                	jne    0x595bca
595b55:	83 fa 04             	cmp    $0x4,%edx
595b58:	0f 8c 17 01 00 00    	jl     0x595c75
595b5e:	8a 46 01             	mov    0x1(%esi),%al
595b61:	24 c0                	and    $0xc0,%al
595b63:	3c 80                	cmp    $0x80,%al
595b65:	0f 85 a4 01 00 00    	jne    0x595d0f
595b6b:	8a 46 02             	mov    0x2(%esi),%al
595b6e:	24 c0                	and    $0xc0,%al
595b70:	3c 80                	cmp    $0x80,%al
595b72:	0f 85 97 01 00 00    	jne    0x595d0f
595b78:	8a 46 03             	mov    0x3(%esi),%al
595b7b:	24 c0                	and    $0xc0,%al
595b7d:	3c 80                	cmp    $0x80,%al
595b7f:	0f 85 8a 01 00 00    	jne    0x595d0f
595b85:	0f b6 46 01          	movzbl 0x1(%esi),%eax
595b89:	0f b6 d1             	movzbl %cl,%edx
595b8c:	83 e0 3f             	and    $0x3f,%eax
595b8f:	0f b6 4e 02          	movzbl 0x2(%esi),%ecx
595b93:	83 e2 07             	and    $0x7,%edx
595b96:	c1 e0 0c             	shl    $0xc,%eax
595b99:	83 e1 3f             	and    $0x3f,%ecx
595b9c:	c1 e2 12             	shl    $0x12,%edx
595b9f:	0b d0                	or     %eax,%edx
595ba1:	c1 e1 06             	shl    $0x6,%ecx
595ba4:	0f b6 46 03          	movzbl 0x3(%esi),%eax
595ba8:	83 e0 3f             	and    $0x3f,%eax
595bab:	0b c8                	or     %eax,%ecx
595bad:	0b d1                	or     %ecx,%edx
595baf:	81 fa 00 00 01 00    	cmp    $0x10000,%edx
595bb5:	0f 82 3c 01 00 00    	jb     0x595cf7
595bbb:	8b 4c 24 18          	mov    0x18(%esp),%ecx
595bbf:	b8 04 00 00 00       	mov    $0x4,%eax
595bc4:	5f                   	pop    %edi
595bc5:	5e                   	pop    %esi
595bc6:	5b                   	pop    %ebx
595bc7:	89 11                	mov    %edx,(%ecx)
595bc9:	c3                   	ret
595bca:	8a c1                	mov    %cl,%al
595bcc:	24 fc                	and    $0xfc,%al
595bce:	3c f8                	cmp    $0xf8,%al
595bd0:	0f 85 8e 00 00 00    	jne    0x595c64
595bd6:	83 fa 05             	cmp    $0x5,%edx
595bd9:	0f 8c 96 00 00 00    	jl     0x595c75
595bdf:	8a 46 01             	mov    0x1(%esi),%al
595be2:	24 c0                	and    $0xc0,%al
595be4:	3c 80                	cmp    $0x80,%al
595be6:	0f 85 23 01 00 00    	jne    0x595d0f
595bec:	8a 46 02             	mov    0x2(%esi),%al
595bef:	24 c0                	and    $0xc0,%al
595bf1:	3c 80                	cmp    $0x80,%al
595bf3:	0f 85 16 01 00 00    	jne    0x595d0f
595bf9:	8a 46 03             	mov    0x3(%esi),%al
595bfc:	24 c0                	and    $0xc0,%al
595bfe:	3c 80                	cmp    $0x80,%al
595c00:	0f 85 09 01 00 00    	jne    0x595d0f
595c06:	8a 46 04             	mov    0x4(%esi),%al
595c09:	24 c0                	and    $0xc0,%al
595c0b:	3c 80                	cmp    $0x80,%al
595c0d:	0f 85 fc 00 00 00    	jne    0x595d0f
595c13:	0f b6 46 01          	movzbl 0x1(%esi),%eax
595c17:	0f b6 d1             	movzbl %cl,%edx
595c1a:	83 e0 3f             	and    $0x3f,%eax
595c1d:	0f b6 4e 03          	movzbl 0x3(%esi),%ecx
595c21:	83 e2 03             	and    $0x3,%edx
595c24:	c1 e0 12             	shl    $0x12,%eax
595c27:	83 e1 3f             	and    $0x3f,%ecx
595c2a:	c1 e2 18             	shl    $0x18,%edx
595c2d:	0b d0                	or     %eax,%edx
595c2f:	c1 e1 06             	shl    $0x6,%ecx
595c32:	0f b6 46 02          	movzbl 0x2(%esi),%eax
595c36:	83 e0 3f             	and    $0x3f,%eax
595c39:	c1 e0 0c             	shl    $0xc,%eax
595c3c:	0b d0                	or     %eax,%edx
595c3e:	0f b6 46 04          	movzbl 0x4(%esi),%eax
595c42:	83 e0 3f             	and    $0x3f,%eax
595c45:	0b c8                	or     %eax,%ecx
595c47:	0b d1                	or     %ecx,%edx
595c49:	81 fa 00 00 20 00    	cmp    $0x200000,%edx
595c4f:	0f 82 a2 00 00 00    	jb     0x595cf7
595c55:	8b 4c 24 18          	mov    0x18(%esp),%ecx
595c59:	b8 05 00 00 00       	mov    $0x5,%eax
595c5e:	5f                   	pop    %edi
595c5f:	5e                   	pop    %esi
595c60:	5b                   	pop    %ebx
595c61:	89 11                	mov    %edx,(%ecx)
595c63:	c3                   	ret
595c64:	8a c1                	mov    %cl,%al
595c66:	24 fe                	and    $0xfe,%al
595c68:	3c fc                	cmp    $0xfc,%al