// File: /workspace/github_cpp_makefile_star2_O3/iZhangHui[P]CppPrimer/CH08_TheIOLibrary/examples/clearIO.cc
// Function: main
int main()
{
	cout << "before read" << endl;
	if (cin.good()) cout << "cin's good" << endl;
	if (cin.bad()) cout << "cin's bad" << endl;
	if (cin.fail()) cout << "cin's fail" << endl;
	if (cin.eof()) cout << "cin's eof" << endl;
	
	read();
	cout << "after read" << endl;
	if (cin.good()) cout << "cin's good" << endl;
	if (cin.bad()) cout << "cin's bad" << endl;
	if (cin.fail()) cout << "cin's fail" << endl;
	if (cin.eof()) cout << "cin's eof" << endl;
	
	off();
	cout << "after off" << endl;
	if (cin.good()) cout << "cin's good" << endl;
	if (cin.bad()) cout << "cin's bad" << endl;
	if (cin.fail()) cout << "cin's fail" << endl;
	if (cin.eof()) cout << "cin's eof" << endl;
	return 0;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
pushq %r14
pushq %rbx
movq 0x2da0(%rip), %rbx      # 0x3fd0
leaq 0xdcd(%rip), %rsi       # 0x2004
movl $0xb, %edx
movq %rbx, %rdi
callq 0x1070
movq (%rbx), %rax
movq -0x18(%rax), %rdi
addq %rbx, %rdi
movl $0xa, %esi
callq 0x1060
movsbl %al, %esi
movq %rbx, %rdi
callq 0x1030
movq %rax, %rdi
callq 0x1040
movq 0x2d6e(%rip), %r14      # 0x3fe0
movq (%r14), %rax
movq -0x18(%rax), %rdi
movl 0x20(%r14,%rdi), %esi
testl %esi, %esi
jne 0x12c9
leaq 0xd87(%rip), %rsi       # 0x2010
movl $0xa, %edx
movq %rbx, %rdi
callq 0x1070
movq (%rbx), %rax
movq -0x18(%rax), %rdi
addq %rbx, %rdi
movl $0xa, %esi
callq 0x1060
movsbl %al, %esi
movq %rbx, %rdi
callq 0x1030
movq %rax, %rdi
callq 0x1040
movq (%r14), %rax
movq -0x18(%rax), %rdi
movl 0x20(%r14,%rdi), %esi
testb $0x1, %sil
je 0x1316
leaq 0xd45(%rip), %rsi       # 0x201b
movl $0x9, %edx
movq %rbx, %rdi
callq 0x1070
movq (%rbx), %rax
movq -0x18(%rax), %rdi
addq %rbx, %rdi
movl $0xa, %esi
callq 0x1060
movsbl %al, %esi
movq %rbx, %rdi
callq 0x1030
movq %rax, %rdi
callq 0x1040
movq (%r14), %rax
movq -0x18(%rax), %rdi
movl 0x20(%r14,%rdi), %esi
testb $0x5, %sil
je 0x1363
leaq 0xd02(%rip), %rsi       # 0x2025
movl $0xa, %edx
movq %rbx, %rdi
callq 0x1070
movq (%rbx), %rax
movq -0x18(%rax), %rdi
addq %rbx, %rdi
movl $0xa, %esi
callq 0x1060
movsbl %al, %esi
movq %rbx, %rdi
callq 0x1030
movq %rax, %rdi
callq 0x1040
movq (%r14), %rax
movq -0x18(%rax), %rdi
movl 0x20(%r14,%rdi), %esi
testb $0x2, %sil
je 0x13b0
leaq 0xcc0(%rip), %rsi       # 0x2030
movl $0x9, %edx
movq %rbx, %rdi
callq 0x1070
movq (%rbx), %rax
movq -0x18(%rax), %rdi
addq %rbx, %rdi
movl $0xa, %esi
callq 0x1060
movsbl %al, %esi
movq %rbx, %rdi
callq 0x1030
movq %rax, %rdi
callq 0x1040
movq (%r14), %rax
movq -0x18(%rax), %rdi
movl 0x20(%r14,%rdi), %esi
addq %r14, %rdi
orl $0x7, %esi
callq 0x1090
leaq 0xc78(%rip), %rsi       # 0x203a
movl $0xa, %edx
movq %rbx, %rdi
callq 0x1070
movq (%rbx), %rax
movq -0x18(%rax), %rdi
addq %rbx, %rdi
movl $0xa, %esi
callq 0x1060
movsbl %al, %esi
movq %rbx, %rdi
callq 0x1030
movq %rax, %rdi
callq 0x1040
movq (%r14), %rax
movq -0x18(%rax), %rdi
movl 0x20(%r14,%rdi), %esi
testl %esi, %esi
jne 0x144d
leaq 0xc03(%rip), %rsi       # 0x2010
movl $0xa, %edx
movq %rbx, %rdi
callq 0x1070
movq (%rbx), %rax
movq -0x18(%rax), %rdi
addq %rbx, %rdi
movl $0xa, %esi
callq 0x1060
movsbl %al, %esi
movq %rbx, %rdi
callq 0x1030
movq %rax, %rdi
callq 0x1040
movq (%r14), %rax
movq -0x18(%rax), %rdi
movl 0x20(%r14,%rdi), %esi
testb $0x1, %sil
je 0x149a
leaq 0xbc1(%rip), %rsi       # 0x201b
movl $0x9, %edx
movq %rbx, %rdi
callq 0x1070
movq (%rbx), %rax
movq -0x18(%rax), %rdi
addq %rbx, %rdi
movl $0xa, %esi
callq 0x1060
movsbl %al, %esi
movq %rbx, %rdi
callq 0x1030
movq %rax, %rdi
callq 0x1040
movq (%r14), %rax
movq -0x18(%rax), %rdi
movl 0x20(%r14,%rdi), %esi
testb $0x5, %sil
je 0x14e7
leaq 0xb7e(%rip), %rsi       # 0x2025
movl $0xa, %edx
movq %rbx, %rdi
callq 0x1070
movq (%rbx), %rax
movq -0x18(%rax), %rdi
addq %rbx, %rdi
movl $0xa, %esi
callq 0x1060
movsbl %al, %esi
movq %rbx, %rdi
callq 0x1030
movq %rax, %rdi
callq 0x1040
movq (%r14), %rax
movq -0x18(%rax), %rdi
movl 0x20(%r14,%rdi), %esi
testb $0x2, %sil
je 0x1534
leaq 0xb3c(%rip), %rsi       # 0x2030
movl $0x9, %edx
movq %rbx, %rdi
callq 0x1070
movq (%rbx), %rax
movq -0x18(%rax), %rdi
addq %rbx, %rdi
movl $0xa, %esi
callq 0x1060
movsbl %al, %esi
movq %rbx, %rdi
callq 0x1030
movq %rax, %rdi
callq 0x1040
movq (%r14), %rax
movq -0x18(%rax), %rdi
movl 0x20(%r14,%rdi), %esi
addq %r14, %rdi
andl $-0x6, %esi
callq 0x1090
leaq 0xaff(%rip), %rsi       # 0x2045
movl $0x9, %edx
movq %rbx, %rdi
callq 0x1070
movq (%rbx), %rax
movq -0x18(%rax), %rdi
addq %rbx, %rdi
movl $0xa, %esi
callq 0x1060
movsbl %al, %esi
movq %rbx, %rdi
callq 0x1030
movq %rax, %rdi
callq 0x1040
movq (%r14), %rax
movq -0x18(%rax), %rax
movl 0x20(%r14,%rax), %eax
testl %eax, %eax
jne 0x15d1
leaq 0xa7f(%rip), %rsi       # 0x2010
movl $0xa, %edx
movq %rbx, %rdi
callq 0x1070
movq (%rbx), %rax
movq -0x18(%rax), %rdi
addq %rbx, %rdi
movl $0xa, %esi
callq 0x1060
movsbl %al, %esi
movq %rbx, %rdi
callq 0x1030
movq %rax, %rdi
callq 0x1040
movq (%r14), %rax
movq -0x18(%rax), %rax
movl 0x20(%r14,%rax), %eax
testb $0x1, %al
je 0x161c
leaq 0xa3f(%rip), %rsi       # 0x201b
movl $0x9, %edx
movq %rbx, %rdi
callq 0x1070
movq (%rbx), %rax
movq -0x18(%rax), %rdi
addq %rbx, %rdi
movl $0xa, %esi
callq 0x1060
movsbl %al, %esi
movq %rbx, %rdi
callq 0x1030
movq %rax, %rdi
callq 0x1040
movq (%r14), %rax
movq -0x18(%rax), %rax
movl 0x20(%r14,%rax), %eax
testb $0x5, %al
je 0x1667
leaq 0x9fe(%rip), %rsi       # 0x2025
movl $0xa, %edx
movq %rbx, %rdi
callq 0x1070
movq (%rbx), %rax
movq -0x18(%rax), %rdi
addq %rbx, %rdi
movl $0xa, %esi
callq 0x1060
movsbl %al, %esi
movq %rbx, %rdi
callq 0x1030
movq %rax, %rdi
callq 0x1040
movq (%r14), %rax
movq -0x18(%rax), %rax
movl 0x20(%r14,%rax), %eax
testb $0x2, %al
je 0x16a6
leaq 0x9be(%rip), %rsi       # 0x2030
movl $0x9, %edx
movq %rbx, %rdi
callq 0x1070
movq (%rbx), %rax
movq -0x18(%rax), %rdi
addq %rbx, %rdi
movl $0xa, %esi
callq 0x1060
movsbl %al, %esi
movq %rbx, %rdi
callq 0x1030
movq %rax, %rdi
callq 0x1040
xorl %eax, %eax
popq %rbx
popq %r14
popq %rbp
retq