// File: /workspace/github_c_makefile_star2_O0/wahern[P]cqueues/src/socket.c
// Function: lso_pushmode
static void lso_pushmode(lua_State *L, int mode, int mask, _Bool libc) {
	if (libc) {
		if (mode & LSO_NOBUF)
			lua_pushstring(L, "no");
		else if (mode & LSO_LINEBUF)
			lua_pushstring(L, "line");
		else if (mode & LSO_FULLBUF)
			lua_pushstring(L, "full");
		else
			lua_pushnil(L); /* XXX: shouldn't happen */
	} else {
		char flag[8], *p = flag;

		if (mode & LSO_TEXT)
			*p++ = 't';
		else if (mode & LSO_BINARY)
			*p++ = 'b';
		else
			*p++ = '-';

		if (mode & LSO_NOBUF)
			*p++ = 'n';
		else if (mode & LSO_LINEBUF)
			*p++ = 'l';
		else if (mode & LSO_FULLBUF)
			*p++ = 'f';
		else
			*p++ = '-';

		if (mask & LSO_AUTOFLUSH)
			*p++ = (mode & LSO_AUTOFLUSH)? 'a' : 'A';

		if (mask & LSO_PUSHBACK)
			*p++ = (mode & LSO_PUSHBACK)? 'p' : 'P';

		lua_pushlstring(L, flag, p - flag);
	}
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x30, %rsp
movb %cl, %al
movq %rdi, -0x8(%rbp)
movl %esi, -0xc(%rbp)
movl %edx, -0x10(%rbp)
andb $0x1, %al
movb %al, -0x11(%rbp)
testb $0x1, -0x11(%rbp)
je 0x1c508
movl -0xc(%rbp), %eax
andl $0x4, %eax
cmpl $0x0, %eax
je 0x1c4bc
movq -0x8(%rbp), %rdi
leaq 0x2cd73(%rip), %rsi     # 0x49228
callq 0xfcc0
jmp 0x1c503
movl -0xc(%rbp), %eax
andl $0x1, %eax
cmpl $0x0, %eax
je 0x1c4d9
movq -0x8(%rbp), %rdi
leaq 0x2c5a0(%rip), %rsi     # 0x48a72
callq 0xfcc0
jmp 0x1c501
movl -0xc(%rbp), %eax
andl $0x2, %eax
cmpl $0x0, %eax
je 0x1c4f6
movq -0x8(%rbp), %rdi
leaq 0x2c3c6(%rip), %rsi     # 0x488b5
callq 0xfcc0
jmp 0x1c4ff
movq -0x8(%rbp), %rdi
callq 0xfa10
jmp 0x1c501
jmp 0x1c503
jmp 0x1c655
leaq -0x19(%rbp), %rax
movq %rax, -0x28(%rbp)
movl -0xc(%rbp), %eax
andl $0x8, %eax
cmpl $0x0, %eax
je 0x1c52f
movq -0x28(%rbp), %rax
movq %rax, %rcx
addq $0x1, %rcx
movq %rcx, -0x28(%rbp)
movb $0x74, (%rax)
jmp 0x1c562
movl -0xc(%rbp), %eax
andl $0x10, %eax
cmpl $0x0, %eax
je 0x1c54e
movq -0x28(%rbp), %rax
movq %rax, %rcx
addq $0x1, %rcx
movq %rcx, -0x28(%rbp)
movb $0x62, (%rax)
jmp 0x1c560
movq -0x28(%rbp), %rax
movq %rax, %rcx
addq $0x1, %rcx
movq %rcx, -0x28(%rbp)
movb $0x2d, (%rax)
jmp 0x1c562
movl -0xc(%rbp), %eax
andl $0x4, %eax
cmpl $0x0, %eax
je 0x1c581
movq -0x28(%rbp), %rax
movq %rax, %rcx
addq $0x1, %rcx
movq %rcx, -0x28(%rbp)
movb $0x6e, (%rax)
jmp 0x1c5d5
movl -0xc(%rbp), %eax
andl $0x1, %eax
cmpl $0x0, %eax
je 0x1c5a0
movq -0x28(%rbp), %rax
movq %rax, %rcx
addq $0x1, %rcx
movq %rcx, -0x28(%rbp)
movb $0x6c, (%rax)
jmp 0x1c5d3
movl -0xc(%rbp), %eax
andl $0x2, %eax
cmpl $0x0, %eax
je 0x1c5bf
movq -0x28(%rbp), %rax
movq %rax, %rcx
addq $0x1, %rcx
movq %rcx, -0x28(%rbp)
movb $0x66, (%rax)
jmp 0x1c5d1
movq -0x28(%rbp), %rax
movq %rax, %rcx
addq $0x1, %rcx
movq %rcx, -0x28(%rbp)
movb $0x2d, (%rax)
jmp 0x1c5d3
jmp 0x1c5d5
movl -0x10(%rbp), %eax
andl $0x20, %eax
cmpl $0x0, %eax
je 0x1c609
movl -0xc(%rbp), %edx
andl $0x20, %edx
movl $0x41, %eax
movl $0x61, %ecx
cmpl $0x0, %edx
cmovnel %ecx, %eax
movb %al, %cl
movq -0x28(%rbp), %rax
movq %rax, %rdx
addq $0x1, %rdx
movq %rdx, -0x28(%rbp)
movb %cl, (%rax)
movl -0x10(%rbp), %eax
andl $0x40, %eax
cmpl $0x0, %eax
je 0x1c63d
movl -0xc(%rbp), %edx
andl $0x40, %edx
movl $0x50, %eax
movl $0x70, %ecx
cmpl $0x0, %edx
cmovnel %ecx, %eax
movb %al, %cl
movq -0x28(%rbp), %rax
movq %rax, %rdx
addq $0x1, %rdx
movq %rdx, -0x28(%rbp)
movb %cl, (%rax)
movq -0x8(%rbp), %rdi
leaq -0x19(%rbp), %rsi
movq -0x28(%rbp), %rdx
leaq -0x19(%rbp), %rax
subq %rax, %rdx
callq 0xf510
addq $0x30, %rsp
popq %rbp
retq
nopl (%rax,%rax)