5768ce:	8d 53 03             	lea    0x3(%ebx),%edx
5768d1:	8b c7                	mov    %edi,%eax
5768d3:	e8 84 0d 00 00       	call   0x57765c
5768d8:	85 c0                	test   %eax,%eax
5768da:	75 1c                	jne    0x5768f8
5768dc:	8d 53 04             	lea    0x4(%ebx),%edx
5768df:	8b c7                	mov    %edi,%eax
5768e1:	e8 76 0d 00 00       	call   0x57765c
5768e6:	85 c0                	test   %eax,%eax
5768e8:	75 0e                	jne    0x5768f8
5768ea:	8d 53 05             	lea    0x5(%ebx),%edx
5768ed:	8b c7                	mov    %edi,%eax
5768ef:	e8 68 0d 00 00       	call   0x57765c
5768f4:	85 c0                	test   %eax,%eax
5768f6:	74 05                	je     0x5768fd
5768f8:	83 c8 ff             	or     $0xffffffff,%eax
5768fb:	eb 71                	jmp    0x57696e
5768fd:	33 d2                	xor    %edx,%edx
5768ff:	8a 53 01             	mov    0x1(%ebx),%dl
576902:	42                   	inc    %edx
576903:	89 53 08             	mov    %edx,0x8(%ebx)
576906:	8b 4d 0c             	mov    0xc(%ebp),%ecx
576909:	85 c9                	test   %ecx,%ecx
57690b:	74 4d                	je     0x57695a
57690d:	33 c0                	xor    %eax,%eax
57690f:	8d 73 0c             	lea    0xc(%ebx),%esi
576912:	89 45 f8             	mov    %eax,-0x8(%ebp)
576915:	eb 36                	jmp    0x57694d
576917:	8d 55 ff             	lea    -0x1(%ebp),%edx
57691a:	8b c7                	mov    %edi,%eax
57691c:	e8 3b 0d 00 00       	call   0x57765c
576921:	85 c0                	test   %eax,%eax
576923:	74 0c                	je     0x576931
576925:	8b c3                	mov    %ebx,%eax
576927:	e8 74 ff ff ff       	call   0x5768a0
57692c:	83 c8 ff             	or     $0xffffffff,%eax
57692f:	eb 3d                	jmp    0x57696e
576931:	8a 55 ff             	mov    -0x1(%ebp),%dl
576934:	80 e2 0f             	and    $0xf,%dl
576937:	88 16                	mov    %dl,(%esi)
576939:	33 c9                	xor    %ecx,%ecx
57693b:	8a 4d ff             	mov    -0x1(%ebp),%cl
57693e:	c1 f9 04             	sar    $0x4,%ecx
576941:	80 e1 0f             	and    $0xf,%cl
576944:	88 4e 01             	mov    %cl,0x1(%esi)
576947:	ff 45 f8             	incl   -0x8(%ebp)
57694a:	83 c6 02             	add    $0x2,%esi
57694d:	8b 45 f8             	mov    -0x8(%ebp),%eax
576950:	8b 53 08             	mov    0x8(%ebx),%edx
576953:	3b c2                	cmp    %edx,%eax
576955:	7c c0                	jl     0x576917
576957:	80 0b 01             	orb    $0x1,(%ebx)
57695a:	f6 47 08 01          	testb  $0x1,0x8(%edi)
57695e:	74 0c                	je     0x57696c
576960:	8b c3                	mov    %ebx,%eax
576962:	e8 39 ff ff ff       	call   0x5768a0
576967:	83 c8 ff             	or     $0xffffffff,%eax
57696a:	eb 02                	jmp    0x57696e
57696c:	33 c0                	xor    %eax,%eax
57696e:	5f                   	pop    %edi
57696f:	5e                   	pop    %esi
576970:	5b                   	pop    %ebx
576971:	59                   	pop    %ecx
576972:	59                   	pop    %ecx
576973:	5d                   	pop    %ebp
576974:	c2 08 00             	ret    $0x8
576977:	90                   	nop
576978:	55                   	push   %ebp
576979:	8b ec                	mov    %esp,%ebp
57697b:	51                   	push   %ecx
57697c:	53                   	push   %ebx
57697d:	56                   	push   %esi
57697e:	57                   	push   %edi
57697f:	8b f9                	mov    %ecx,%edi
576981:	8b 75 08             	mov    0x8(%ebp),%esi
576984:	8a 46 01             	mov    0x1(%esi),%al
576987:	3c 20                	cmp    $0x20,%al
576989:	76 17                	jbe    0x5769a2
57698b:	68 1d 03 00 00       	push   $0x31d
576990:	68 85 26 6a 00       	push   $0x6a2685
576995:	68 6b 26 6a 00       	push   $0x6a266b
57699a:	e8 a1 41 fe ff       	call   0x55ab40
57699f:	83 c4 0c             	add    $0xc,%esp
5769a2:	8a 56 01             	mov    0x1(%esi),%dl
5769a5:	8b c7                	mov    %edi,%eax
5769a7:	e8 14 0d 00 00       	call   0x5776c0
5769ac:	85 c0                	test   %eax,%eax
5769ae:	75 38                	jne    0x5769e8
5769b0:	8a 56 02             	mov    0x2(%esi),%dl
5769b3:	8b c7                	mov    %edi,%eax
5769b5:	e8 06 0d 00 00       	call   0x5776c0
5769ba:	85 c0                	test   %eax,%eax
5769bc:	75 2a                	jne    0x5769e8
5769be:	8a 56 03             	mov    0x3(%esi),%dl
5769c1:	8b c7                	mov    %edi,%eax
5769c3:	e8 f8 0c 00 00       	call   0x5776c0
5769c8:	85 c0                	test   %eax,%eax
5769ca:	75 1c                	jne    0x5769e8
5769cc:	8a 56 04             	mov    0x4(%esi),%dl
5769cf:	8b c7                	mov    %edi,%eax
5769d1:	e8 ea 0c 00 00       	call   0x5776c0
5769d6:	85 c0                	test   %eax,%eax
5769d8:	75 0e                	jne    0x5769e8
5769da:	8a 56 05             	mov    0x5(%esi),%dl
5769dd:	8b c7                	mov    %edi,%eax
5769df:	e8 dc 0c 00 00       	call   0x5776c0
5769e4:	85 c0                	test   %eax,%eax
5769e6:	74 05                	je     0x5769ed
5769e8:	83 c8 ff             	or     $0xffffffff,%eax
5769eb:	eb 42                	jmp    0x576a2f
5769ed:	8b 55 0c             	mov    0xc(%ebp),%edx
5769f0:	85 d2                	test   %edx,%edx
5769f2:	74 39                	je     0x576a2d
5769f4:	33 c9                	xor    %ecx,%ecx
5769f6:	8d 5e 0d             	lea    0xd(%esi),%ebx
5769f9:	89 4d fc             	mov    %ecx,-0x4(%ebp)
5769fc:	eb 25                	jmp    0x576a23
5769fe:	8a 13                	mov    (%ebx),%dl
576a00:	8a 43 ff             	mov    -0x1(%ebx),%al
576a03:	80 e2 0f             	and    $0xf,%dl
576a06:	24 0f                	and    $0xf,%al
576a08:	c1 e2 04             	shl    $0x4,%edx
576a0b:	0a d0                	or     %al,%dl
576a0d:	8b c7                	mov    %edi,%eax
576a0f:	e8 ac 0c 00 00       	call   0x5776c0
576a14:	85 c0                	test   %eax,%eax
576a16:	74 05                	je     0x576a1d
576a18:	83 c8 ff             	or     $0xffffffff,%eax
576a1b:	eb 12                	jmp    0x576a2f
576a1d:	ff 45 fc             	incl   -0x4(%ebp)
576a20:	83 c3 02             	add    $0x2,%ebx
576a23:	8b 55 fc             	mov    -0x4(%ebp),%edx
576a26:	8b 4e 08             	mov    0x8(%esi),%ecx
576a29:	3b d1                	cmp    %ecx,%edx
576a2b:	7c d1                	jl     0x5769fe
576a2d:	33 c0                	xor    %eax,%eax
576a2f:	5f                   	pop    %edi
576a30:	5e                   	pop    %esi
576a31:	5b                   	pop    %ebx
576a32:	59                   	pop    %ecx
576a33:	5d                   	pop    %ebp
576a34:	c2 08 00             	ret    $0x8
576a37:	90                   	nop
576a38:	53                   	push   %ebx
576a39:	56                   	push   %esi
576a3a:	51                   	push   %ecx
576a3b:	8b f1                	mov    %ecx,%esi
576a3d:	8d 58 08             	lea    0x8(%eax),%ebx
576a40:	8b 02                	mov    (%edx),%eax
576a42:	3d 00 01 00 00       	cmp    $0x100,%eax
576a47:	7f 1c                	jg     0x576a65
576a49:	8b d4                	mov    %esp,%edx
576a4b:	8b c6                	mov    %esi,%eax
576a4d:	e8 0a 0c 00 00       	call   0x57765c
576a52:	85 c0                	test   %eax,%eax
576a54:	74 05                	je     0x576a5b
576a56:	83 c8 ff             	or     $0xffffffff,%eax
576a59:	eb 3f                	jmp    0x576a9a
576a5b:	33 d2                	xor    %edx,%edx
576a5d:	8a 14 24             	mov    (%esp),%dl
576a60:	66 89 13             	mov    %dx,(%ebx)
576a63:	eb 12                	jmp    0x576a77
576a65:	8b d3                	mov    %ebx,%edx
576a67:	8b c6                	mov    %esi,%eax
576a69:	e8 ba 0c 00 00       	call   0x577728
576a6e:	85 c0                	test   %eax,%eax
576a70:	74 05                	je     0x576a77
576a72:	83 c8 ff             	or     $0xffffffff,%eax
576a75:	eb 23                	jmp    0x576a9a
576a77:	8d 53 02             	lea    0x2(%ebx),%edx
576a7a:	8b c6                	mov    %esi,%eax
576a7c:	e8 db 0b 00 00       	call   0x57765c
576a81:	85 c0                	test   %eax,%eax
576a83:	75 0e                	jne    0x576a93
576a85:	8d 53 03             	lea    0x3(%ebx),%edx
576a88:	8b c6                	mov    %esi,%eax
576a8a:	e8 cd 0b 00 00       	call   0x57765c
576a8f:	85 c0                	test   %eax,%eax
576a91:	74 05                	je     0x576a98
576a93:	83 c8 ff             	or     $0xffffffff,%eax
576a96:	eb 02                	jmp    0x576a9a
576a98:	33 c0                	xor    %eax,%eax
576a9a:	5a                   	pop    %edx
576a9b:	5e                   	pop    %esi
576a9c:	5b                   	pop    %ebx
576a9d:	c3                   	ret
576a9e:	90                   	nop
576a9f:	90                   	nop
576aa0:	53                   	push   %ebx
576aa1:	56                   	push   %esi
576aa2:	8b f1                	mov    %ecx,%esi
576aa4:	8d 58 08             	lea    0x8(%eax),%ebx
576aa7:	8b 02                	mov    (%edx),%eax
576aa9:	3d 00 01 00 00       	cmp    $0x100,%eax
576aae:	7f 13                	jg     0x576ac3
576ab0:	8a 13                	mov    (%ebx),%dl
576ab2:	8b c6                	mov    %esi,%eax
576ab4:	e8 07 0c 00 00       	call   0x5776c0
576ab9:	85 c0                	test   %eax,%eax
576abb:	74 1a                	je     0x576ad7
576abd:	83 c8 ff             	or     $0xffffffff,%eax
576ac0:	5e                   	pop    %esi
576ac1:	5b                   	pop    %ebx
576ac2:	c3                   	ret
576ac3:	66 8b 13             	mov    (%ebx),%dx
576ac6:	8b c6                	mov    %esi,%eax
576ac8:	e8 1f 0d 00 00       	call   0x5777ec
576acd:	85 c0                	test   %eax,%eax
576acf:	74 06                	je     0x576ad7
576ad1:	83 c8 ff             	or     $0xffffffff,%eax
576ad4:	5e                   	pop    %esi
576ad5:	5b                   	pop    %ebx
576ad6:	c3                   	ret
576ad7:	8a 53 02             	mov    0x2(%ebx),%dl
576ada:	8b c6                	mov    %esi,%eax
576adc:	e8 df 0b 00 00       	call   0x5776c0
576ae1:	85 c0                	test   %eax,%eax
576ae3:	75 0e                	jne    0x576af3
576ae5:	8a 53 03             	mov    0x3(%ebx),%dl
576ae8:	8b c6                	mov    %esi,%eax
576aea:	e8 d1 0b 00 00       	call   0x5776c0
576aef:	85 c0                	test   %eax,%eax
576af1:	74 06                	je     0x576af9
576af3:	83 c8 ff             	or     $0xffffffff,%eax
576af6:	5e                   	pop    %esi
576af7:	5b                   	pop    %ebx
576af8:	c3                   	ret
576af9:	33 c0                	xor    %eax,%eax
576afb:	5e                   	pop    %esi
576afc:	5b                   	pop    %ebx
576afd:	c3                   	ret
576afe:	90                   	nop
576aff:	90                   	nop
576b00:	83 c0 08             	add    $0x8,%eax
576b03:	33 c9                	xor    %ecx,%ecx
576b05:	8a 48 03             	mov    0x3(%eax),%cl
576b08:	51                   	push   %ecx
576b09:	33 c9                	xor    %ecx,%ecx
576b0b:	8a 48 02             	mov    0x2(%eax),%cl
576b0e:	51                   	push   %ecx
576b0f:	0f b7 00             	movzwl (%eax),%eax
576b12:	50                   	push   %eax
576b13:	68 8e 26 6a 00       	push   $0x6a268e
576b18:	52                   	push   %edx
576b19:	e8 ae 35 00 00       	call   0x57a0cc
576b1e:	83 c4 14             	add    $0x14,%esp
576b21:	33 c0                	xor    %eax,%eax
576b23:	c3                   	ret
576b24:	83 c0 08             	add    $0x8,%eax
576b27:	e8 b0 01 00 00       	call   0x576cdc
576b2c:	c3                   	ret
576b2d:	90                   	nop
576b2e:	90                   	nop
576b2f:	90                   	nop
576b30:	56                   	push   %esi
576b31:	8d 70 08             	lea    0x8(%eax),%esi
576b34:	66 8b 40 02          	mov    0x2(%eax),%ax
576b38:	50                   	push   %eax
576b39:	8b c6                	mov    %esi,%eax
576b3b:	e8 ac 01 00 00       	call   0x576cec
576b40:	5e                   	pop    %esi
576b41:	c3                   	ret
576b42:	90                   	nop
576b43:	90                   	nop
576b44:	83 c0 08             	add    $0x8,%eax
576b47:	e8 cc 02 00 00       	call   0x576e18
576b4c:	c3                   	ret
576b4d:	90                   	nop
576b4e:	90                   	nop
576b4f:	90                   	nop
576b50:	53                   	push   %ebx
576b51:	56                   	push   %esi
576b52:	8d 70 08             	lea    0x8(%eax),%esi
576b55:	57                   	push   %edi
576b56:	8b fa                	mov    %edx,%edi
576b58:	33 d2                	xor    %edx,%edx
576b5a:	8b 46 04             	mov    0x4(%esi),%eax
576b5d:	33 c9                	xor    %ecx,%ecx
576b5f:	50                   	push   %eax
576b60:	8a 56 0c             	mov    0xc(%esi),%dl
576b63:	52                   	push   %edx
576b64:	8a 0e                	mov    (%esi),%cl
576b66:	51                   	push   %ecx
576b67:	68 b7 26 6a 00       	push   $0x6a26b7
576b6c:	57                   	push   %edi
576b6d:	e8 5a 35 00 00       	call   0x57a0cc
576b72:	83 c4 14             	add    $0x14,%esp
576b75:	33 db                	xor    %ebx,%ebx
576b77:	eb 28                	jmp    0x576ba1
576b79:	8b 46 08             	mov    0x8(%esi),%eax
576b7c:	0f b7 04 58          	movzwl (%eax,%ebx,2),%eax
576b80:	8b d0                	mov    %eax,%edx
576b82:	81 e2 ff 07 00 00    	and    $0x7ff,%edx
576b88:	52                   	push   %edx
576b89:	53                   	push   %ebx
576b8a:	c1 f8 0b             	sar    $0xb,%eax
576b8d:	8b 4e 08             	mov    0x8(%esi),%ecx
576b90:	50                   	push   %eax
576b91:	53                   	push   %ebx
576b92:	68 e6 26 6a 00       	push   $0x6a26e6
576b97:	57                   	push   %edi
576b98:	e8 2f 35 00 00       	call   0x57a0cc
576b9d:	83 c4 18             	add    $0x18,%esp
576ba0:	43                   	inc    %ebx
576ba1:	8b 46 04             	mov    0x4(%esi),%eax
576ba4:	3b d8                	cmp    %eax,%ebx
576ba6:	7c d1                	jl     0x576b79
576ba8:	33 c0                	xor    %eax,%eax
576baa:	5f                   	pop    %edi
576bab:	5e                   	pop    %esi
576bac:	5b                   	pop    %ebx
576bad:	c3                   	ret
576bae:	90                   	nop
576baf:	90                   	nop
576bb0:	83 c0 08             	add    $0x8,%eax
576bb3:	83 c0 04             	add    $0x4,%eax
576bb6:	e8 21 01 00 00       	call   0x576cdc
576bbb:	c3                   	ret
576bbc:	53                   	push   %ebx
576bbd:	56                   	push   %esi
576bbe:	57                   	push   %edi
576bbf:	55                   	push   %ebp
576bc0:	83 c4 f8             	add    $0xfffffff8,%esp
576bc3:	8b e8                	mov    %eax,%ebp
576bc5:	8b d9                	mov    %ecx,%ebx
576bc7:	89 14 24             	mov    %edx,(%esp)
576bca:	0f b7 7d 02          	movzwl 0x2(%ebp),%edi
576bce:	8b 04 24             	mov    (%esp),%eax
576bd1:	8d 75 08             	lea    0x8(%ebp),%esi
576bd4:	8b 10                	mov    (%eax),%edx
576bd6:	81 fa 00 01 00 00    	cmp    $0x100,%edx
576bdc:	7f 17                	jg     0x576bf5
576bde:	8d 54 24 04          	lea    0x4(%esp),%edx
576be2:	8b c3                	mov    %ebx,%eax
576be4:	e8 73 0a 00 00       	call   0x57765c
576be9:	33 c9                	xor    %ecx,%ecx
576beb:	4f                   	dec    %edi
576bec:	8a 4c 24 04          	mov    0x4(%esp),%cl
576bf0:	66 89 0e             	mov    %cx,(%esi)
576bf3:	eb 0c                	jmp    0x576c01
576bf5:	8b d6                	mov    %esi,%edx
576bf7:	8b c3                	mov    %ebx,%eax
576bf9:	e8 2a 0b 00 00       	call   0x577728
576bfe:	83 ef 02             	sub    $0x2,%edi
576c01:	57                   	push   %edi
576c02:	8d 46 04             	lea    0x4(%esi),%eax
576c05:	8b cb                	mov    %ebx,%ecx
576c07:	8b 54 24 04          	mov    0x4(%esp),%edx
576c0b:	e8 dc 00 00 00       	call   0x576cec
576c10:	85 c0                	test   %eax,%eax