57792d:	ff 4b 1c             	decl   0x1c(%ebx)
577930:	79 10                	jns    0x577942
577932:	ba 01 00 00 00       	mov    $0x1,%edx
577937:	8b c3                	mov    %ebx,%eax
577939:	e8 ea 13 00 00       	call   0x578d28
57793e:	8b f0                	mov    %eax,%esi
577940:	eb 11                	jmp    0x577953
577942:	ff 43 3c             	incl   0x3c(%ebx)
577945:	8b 43 18             	mov    0x18(%ebx),%eax
577948:	ff 43 18             	incl   0x18(%ebx)
57794b:	0f b6 30             	movzbl (%eax),%esi
57794e:	eb 03                	jmp    0x577953
577950:	83 ce ff             	or     $0xffffffff,%esi
577953:	83 fe ff             	cmp    $0xffffffff,%esi
577956:	75 08                	jne    0x577960
577958:	83 c8 ff             	or     $0xffffffff,%eax
57795b:	e9 b7 00 00 00       	jmp    0x577a17
577960:	c1 e7 08             	shl    $0x8,%edi
577963:	0b fe                	or     %esi,%edi
577965:	f6 43 08 07          	testb  $0x7,0x8(%ebx)
577969:	75 3a                	jne    0x5779a5
57796b:	8b 6b 40             	mov    0x40(%ebx),%ebp
57796e:	85 ed                	test   %ebp,%ebp
577970:	7c 10                	jl     0x577982
577972:	8b 43 3c             	mov    0x3c(%ebx),%eax
577975:	3b e8                	cmp    %eax,%ebp
577977:	7f 09                	jg     0x577982
577979:	83 4b 08 04          	orl    $0x4,0x8(%ebx)
57797d:	83 ce ff             	or     $0xffffffff,%esi
577980:	eb 26                	jmp    0x5779a8
577982:	ff 4b 1c             	decl   0x1c(%ebx)
577985:	79 10                	jns    0x577997
577987:	ba 01 00 00 00       	mov    $0x1,%edx
57798c:	8b c3                	mov    %ebx,%eax
57798e:	e8 95 13 00 00       	call   0x578d28
577993:	8b f0                	mov    %eax,%esi
577995:	eb 11                	jmp    0x5779a8
577997:	ff 43 3c             	incl   0x3c(%ebx)
57799a:	8b 43 18             	mov    0x18(%ebx),%eax
57799d:	ff 43 18             	incl   0x18(%ebx)
5779a0:	0f b6 30             	movzbl (%eax),%esi
5779a3:	eb 03                	jmp    0x5779a8
5779a5:	83 ce ff             	or     $0xffffffff,%esi
5779a8:	83 fe ff             	cmp    $0xffffffff,%esi
5779ab:	75 05                	jne    0x5779b2
5779ad:	83 c8 ff             	or     $0xffffffff,%eax
5779b0:	eb 65                	jmp    0x577a17
5779b2:	c1 e7 08             	shl    $0x8,%edi
5779b5:	0b fe                	or     %esi,%edi
5779b7:	f6 43 08 07          	testb  $0x7,0x8(%ebx)
5779bb:	75 3a                	jne    0x5779f7
5779bd:	8b 6b 40             	mov    0x40(%ebx),%ebp
5779c0:	85 ed                	test   %ebp,%ebp
5779c2:	7c 10                	jl     0x5779d4
5779c4:	8b 43 3c             	mov    0x3c(%ebx),%eax
5779c7:	3b e8                	cmp    %eax,%ebp
5779c9:	7f 09                	jg     0x5779d4
5779cb:	83 4b 08 04          	orl    $0x4,0x8(%ebx)
5779cf:	83 ce ff             	or     $0xffffffff,%esi
5779d2:	eb 26                	jmp    0x5779fa
5779d4:	ff 4b 1c             	decl   0x1c(%ebx)
5779d7:	79 10                	jns    0x5779e9
5779d9:	ba 01 00 00 00       	mov    $0x1,%edx
5779de:	8b c3                	mov    %ebx,%eax
5779e0:	e8 43 13 00 00       	call   0x578d28
5779e5:	8b f0                	mov    %eax,%esi
5779e7:	eb 11                	jmp    0x5779fa
5779e9:	ff 43 3c             	incl   0x3c(%ebx)
5779ec:	8b 43 18             	mov    0x18(%ebx),%eax
5779ef:	ff 43 18             	incl   0x18(%ebx)
5779f2:	0f b6 30             	movzbl (%eax),%esi
5779f5:	eb 03                	jmp    0x5779fa
5779f7:	83 ce ff             	or     $0xffffffff,%esi
5779fa:	83 fe ff             	cmp    $0xffffffff,%esi
5779fd:	75 05                	jne    0x577a04
5779ff:	83 c8 ff             	or     $0xffffffff,%eax
577a02:	eb 13                	jmp    0x577a17
577a04:	c1 e7 08             	shl    $0x8,%edi
577a07:	0b fe                	or     %esi,%edi
577a09:	8b 14 24             	mov    (%esp),%edx
577a0c:	85 d2                	test   %edx,%edx
577a0e:	74 05                	je     0x577a15
577a10:	8b 0c 24             	mov    (%esp),%ecx
577a13:	89 39                	mov    %edi,(%ecx)
577a15:	33 c0                	xor    %eax,%eax
577a17:	5a                   	pop    %edx
577a18:	5d                   	pop    %ebp
577a19:	5f                   	pop    %edi
577a1a:	5e                   	pop    %esi
577a1b:	5b                   	pop    %ebx
577a1c:	c3                   	ret
577a1d:	90                   	nop
577a1e:	90                   	nop
577a1f:	90                   	nop
577a20:	53                   	push   %ebx
577a21:	8b d8                	mov    %eax,%ebx
577a23:	56                   	push   %esi
577a24:	57                   	push   %edi
577a25:	f6 43 08 07          	testb  $0x7,0x8(%ebx)
577a29:	8b f2                	mov    %edx,%esi
577a2b:	75 51                	jne    0x577a7e
577a2d:	8b 7b 40             	mov    0x40(%ebx),%edi
577a30:	85 ff                	test   %edi,%edi
577a32:	7c 10                	jl     0x577a44
577a34:	8b 43 3c             	mov    0x3c(%ebx),%eax
577a37:	3b f8                	cmp    %eax,%edi
577a39:	7f 09                	jg     0x577a44
577a3b:	83 4b 08 04          	orl    $0x4,0x8(%ebx)
577a3f:	83 ca ff             	or     $0xffffffff,%edx
577a42:	eb 3d                	jmp    0x577a81
577a44:	83 4b 04 20          	orl    $0x20,0x4(%ebx)
577a48:	ff 4b 1c             	decl   0x1c(%ebx)
577a4b:	79 19                	jns    0x577a66
577a4d:	8b d6                	mov    %esi,%edx
577a4f:	8b c3                	mov    %ebx,%eax
577a51:	c1 ea 18             	shr    $0x18,%edx
577a54:	80 e2 ff             	and    $0xff,%dl
577a57:	81 e2 ff 00 00 00    	and    $0xff,%edx
577a5d:	e8 b6 13 00 00       	call   0x578e18
577a62:	8b d0                	mov    %eax,%edx
577a64:	eb 1b                	jmp    0x577a81
577a66:	ff 43 3c             	incl   0x3c(%ebx)
577a69:	8b c6                	mov    %esi,%eax
577a6b:	8b 4b 18             	mov    0x18(%ebx),%ecx
577a6e:	ff 43 18             	incl   0x18(%ebx)
577a71:	c1 e8 18             	shr    $0x18,%eax
577a74:	24 ff                	and    $0xff,%al
577a76:	33 d2                	xor    %edx,%edx
577a78:	8a d0                	mov    %al,%dl
577a7a:	88 01                	mov    %al,(%ecx)
577a7c:	eb 03                	jmp    0x577a81
577a7e:	83 ca ff             	or     $0xffffffff,%edx
577a81:	42                   	inc    %edx
577a82:	0f 84 15 01 00 00    	je     0x577b9d
577a88:	f6 43 08 07          	testb  $0x7,0x8(%ebx)
577a8c:	75 51                	jne    0x577adf
577a8e:	8b 7b 40             	mov    0x40(%ebx),%edi
577a91:	85 ff                	test   %edi,%edi
577a93:	7c 10                	jl     0x577aa5
577a95:	8b 43 3c             	mov    0x3c(%ebx),%eax
577a98:	3b f8                	cmp    %eax,%edi
577a9a:	7f 09                	jg     0x577aa5
577a9c:	83 4b 08 04          	orl    $0x4,0x8(%ebx)
577aa0:	83 ca ff             	or     $0xffffffff,%edx
577aa3:	eb 3d                	jmp    0x577ae2
577aa5:	83 4b 04 20          	orl    $0x20,0x4(%ebx)
577aa9:	ff 4b 1c             	decl   0x1c(%ebx)
577aac:	79 19                	jns    0x577ac7
577aae:	8b d6                	mov    %esi,%edx
577ab0:	8b c3                	mov    %ebx,%eax
577ab2:	c1 ea 10             	shr    $0x10,%edx
577ab5:	80 e2 ff             	and    $0xff,%dl
577ab8:	81 e2 ff 00 00 00    	and    $0xff,%edx
577abe:	e8 55 13 00 00       	call   0x578e18
577ac3:	8b d0                	mov    %eax,%edx
577ac5:	eb 1b                	jmp    0x577ae2
577ac7:	ff 43 3c             	incl   0x3c(%ebx)
577aca:	8b c6                	mov    %esi,%eax
577acc:	8b 4b 18             	mov    0x18(%ebx),%ecx
577acf:	ff 43 18             	incl   0x18(%ebx)
577ad2:	c1 e8 10             	shr    $0x10,%eax
577ad5:	24 ff                	and    $0xff,%al
577ad7:	33 d2                	xor    %edx,%edx
577ad9:	8a d0                	mov    %al,%dl
577adb:	88 01                	mov    %al,(%ecx)
577add:	eb 03                	jmp    0x577ae2
577adf:	83 ca ff             	or     $0xffffffff,%edx
577ae2:	42                   	inc    %edx
577ae3:	0f 84 b4 00 00 00    	je     0x577b9d
577ae9:	f6 43 08 07          	testb  $0x7,0x8(%ebx)
577aed:	75 51                	jne    0x577b40
577aef:	8b 7b 40             	mov    0x40(%ebx),%edi
577af2:	85 ff                	test   %edi,%edi
577af4:	7c 10                	jl     0x577b06
577af6:	8b 43 3c             	mov    0x3c(%ebx),%eax
577af9:	3b f8                	cmp    %eax,%edi
577afb:	7f 09                	jg     0x577b06
577afd:	83 4b 08 04          	orl    $0x4,0x8(%ebx)
577b01:	83 ca ff             	or     $0xffffffff,%edx
577b04:	eb 3d                	jmp    0x577b43
577b06:	83 4b 04 20          	orl    $0x20,0x4(%ebx)
577b0a:	ff 4b 1c             	decl   0x1c(%ebx)
577b0d:	79 19                	jns    0x577b28
577b0f:	8b d6                	mov    %esi,%edx
577b11:	8b c3                	mov    %ebx,%eax
577b13:	c1 ea 08             	shr    $0x8,%edx
577b16:	80 e2 ff             	and    $0xff,%dl
577b19:	81 e2 ff 00 00 00    	and    $0xff,%edx
577b1f:	e8 f4 12 00 00       	call   0x578e18
577b24:	8b d0                	mov    %eax,%edx
577b26:	eb 1b                	jmp    0x577b43
577b28:	ff 43 3c             	incl   0x3c(%ebx)
577b2b:	8b c6                	mov    %esi,%eax
577b2d:	8b 4b 18             	mov    0x18(%ebx),%ecx
577b30:	ff 43 18             	incl   0x18(%ebx)
577b33:	c1 e8 08             	shr    $0x8,%eax
577b36:	24 ff                	and    $0xff,%al
577b38:	33 d2                	xor    %edx,%edx
577b3a:	8a d0                	mov    %al,%dl
577b3c:	88 01                	mov    %al,(%ecx)
577b3e:	eb 03                	jmp    0x577b43
577b40:	83 ca ff             	or     $0xffffffff,%edx
577b43:	42                   	inc    %edx
577b44:	74 57                	je     0x577b9d
577b46:	f6 43 08 07          	testb  $0x7,0x8(%ebx)
577b4a:	75 4b                	jne    0x577b97
577b4c:	8b 7b 40             	mov    0x40(%ebx),%edi
577b4f:	85 ff                	test   %edi,%edi
577b51:	7c 10                	jl     0x577b63
577b53:	8b 43 3c             	mov    0x3c(%ebx),%eax
577b56:	3b f8                	cmp    %eax,%edi
577b58:	7f 09                	jg     0x577b63
577b5a:	83 4b 08 04          	orl    $0x4,0x8(%ebx)
577b5e:	83 ca ff             	or     $0xffffffff,%edx
577b61:	eb 37                	jmp    0x577b9a
577b63:	83 4b 04 20          	orl    $0x20,0x4(%ebx)
577b67:	ff 4b 1c             	decl   0x1c(%ebx)
577b6a:	79 16                	jns    0x577b82
577b6c:	8b d6                	mov    %esi,%edx
577b6e:	8b c3                	mov    %ebx,%eax
577b70:	80 e2 ff             	and    $0xff,%dl
577b73:	81 e2 ff 00 00 00    	and    $0xff,%edx
577b79:	e8 9a 12 00 00       	call   0x578e18
577b7e:	8b d0                	mov    %eax,%edx
577b80:	eb 18                	jmp    0x577b9a
577b82:	ff 43 3c             	incl   0x3c(%ebx)
577b85:	8b c6                	mov    %esi,%eax
577b87:	8b 4b 18             	mov    0x18(%ebx),%ecx
577b8a:	24 ff                	and    $0xff,%al
577b8c:	ff 43 18             	incl   0x18(%ebx)
577b8f:	33 d2                	xor    %edx,%edx
577b91:	8a d0                	mov    %al,%dl
577b93:	88 01                	mov    %al,(%ecx)
577b95:	eb 03                	jmp    0x577b9a
577b97:	83 ca ff             	or     $0xffffffff,%edx
577b9a:	42                   	inc    %edx
577b9b:	75 05                	jne    0x577ba2
577b9d:	83 c8 ff             	or     $0xffffffff,%eax
577ba0:	eb 02                	jmp    0x577ba4
577ba2:	33 c0                	xor    %eax,%eax
577ba4:	5f                   	pop    %edi
577ba5:	5e                   	pop    %esi
577ba6:	5b                   	pop    %ebx
577ba7:	c3                   	ret
577ba8:	ba c8 20 6a 00       	mov    $0x6a20c8,%edx
577bad:	8b 0a                	mov    (%edx),%ecx
577baf:	3b c1                	cmp    %ecx,%eax
577bb1:	74 04                	je     0x577bb7
577bb3:	85 c9                	test   %ecx,%ecx
577bb5:	7d 03                	jge    0x577bba
577bb7:	8b c2                	mov    %edx,%eax
577bb9:	c3                   	ret
577bba:	83 c2 18             	add    $0x18,%edx
577bbd:	eb ee                	jmp    0x577bad
577bbf:	68 29 06 00 00       	push   $0x629
577bc4:	68 80 28 6a 00       	push   $0x6a2880
577bc9:	68 7e 28 6a 00       	push   $0x6a287e
577bce:	e8 6d 2f fe ff       	call   0x55ab40
577bd3:	83 c4 0c             	add    $0xc,%esp
577bd6:	33 c0                	xor    %eax,%eax
577bd8:	c3                   	ret
577bd9:	90                   	nop
577bda:	90                   	nop
577bdb:	90                   	nop
577bdc:	53                   	push   %ebx
577bdd:	56                   	push   %esi
577bde:	57                   	push   %edi
577bdf:	55                   	push   %ebp
577be0:	51                   	push   %ecx
577be1:	8b f8                	mov    %eax,%edi
577be3:	8b d4                	mov    %esp,%edx
577be5:	b9 02 00 00 00       	mov    $0x2,%ecx
577bea:	8b c7                	mov    %edi,%eax
577bec:	e8 8f 0c 00 00       	call   0x578880
577bf1:	8b e8                	mov    %eax,%ebp
577bf3:	85 c0                	test   %eax,%eax
577bf5:	7d 05                	jge    0x577bfc
577bf7:	83 c8 ff             	or     $0xffffffff,%eax
577bfa:	eb 45                	jmp    0x577c41
577bfc:	8d 5d ff             	lea    -0x1(%ebp),%ebx
577bff:	8d 34 1c             	lea    (%esp,%ebx,1),%esi
577c02:	85 db                	test   %ebx,%ebx
577c04:	7c 19                	jl     0x577c1f
577c06:	33 d2                	xor    %edx,%edx
577c08:	8b c7                	mov    %edi,%eax
577c0a:	8a 16                	mov    (%esi),%dl
577c0c:	e8 47 0c 00 00       	call   0x578858
577c11:	40                   	inc    %eax
577c12:	75 05                	jne    0x577c19
577c14:	83 c8 ff             	or     $0xffffffff,%eax
577c17:	eb 28                	jmp    0x577c41
577c19:	4b                   	dec    %ebx
577c1a:	4e                   	dec    %esi
577c1b:	85 db                	test   %ebx,%ebx
577c1d:	7d e7                	jge    0x577c06
577c1f:	83 fd 02             	cmp    $0x2,%ebp
577c22:	7d 05                	jge    0x577c29
577c24:	83 c8 ff             	or     $0xffffffff,%eax
577c27:	eb 18                	jmp    0x577c41
577c29:	8a 14 24             	mov    (%esp),%dl
577c2c:	80 fa ff             	cmp    $0xff,%dl
577c2f:	75 0d                	jne    0x577c3e
577c31:	8a 4c 24 01          	mov    0x1(%esp),%cl
577c35:	80 f9 4f             	cmp    $0x4f,%cl
577c38:	75 04                	jne    0x577c3e
577c3a:	33 c0                	xor    %eax,%eax
577c3c:	eb 03                	jmp    0x577c41
577c3e:	83 c8 ff             	or     $0xffffffff,%eax
577c41:	5a                   	pop    %edx
577c42:	5d                   	pop    %ebp
577c43:	5f                   	pop    %edi
577c44:	5e                   	pop    %esi
577c45:	5b                   	pop    %ebx
577c46:	c3                   	ret
577c47:	90                   	nop
577c48:	92                   	xchg   %eax,%edx
577c49:	e8 da 12 00 00       	call   0x578f28
577c4e:	c3                   	ret
577c4f:	90                   	nop
577c50:	e8 d3 12 00 00       	call   0x578f28
577c55:	c3                   	ret
577c56:	8b c0                	mov    %eax,%eax
577c58:	55                   	push   %ebp
577c59:	8b ec                	mov    %esp,%ebp
577c5b:	51                   	push   %ecx
577c5c:	53                   	push   %ebx
577c5d:	56                   	push   %esi
577c5e:	57                   	push   %edi
577c5f:	89 4d fc             	mov    %ecx,-0x4(%ebp)
577c62:	8b fa                	mov    %edx,%edi
577c64:	8b f0                	mov    %eax,%esi
577c66:	8b 45 fc             	mov    -0x4(%ebp),%eax
577c69:	3b f0                	cmp    %eax,%esi
577c6b:	7f 07                	jg     0x577c74
577c6d:	8b 55 08             	mov    0x8(%ebp),%edx
577c70:	3b fa                	cmp    %edx,%edi
577c72:	7e 17                	jle    0x577c8b
577c74:	68 8a 00 00 00       	push   $0x8a
577c79:	68 d1 28 6a 00       	push   $0x6a28d1
577c7e:	68 b0 28 6a 00       	push   $0x6a28b0
577c83:	e8 b8 2e fe ff       	call   0x55ab40
577c88:	83 c4 0c             	add    $0xc,%esp
577c8b:	8b 55 fc             	mov    -0x4(%ebp),%edx
577c8e:	2b d6                	sub    %esi,%edx
577c90:	8b 45 08             	mov    0x8(%ebp),%eax
577c93:	2b c7                	sub    %edi,%eax
577c95:	e8 26 00 00 00       	call   0x577cc0
577c9a:	8b d8                	mov    %eax,%ebx
577c9c:	85 c0                	test   %eax,%eax
577c9e:	75 04                	jne    0x577ca4