// File: /workspace/github_c_makefile_star2_O0/Oric4ever[P]lcc65/6502/build/../src/decl.c
// Function: dcllocal
static Symbol dcllocal(int sclass, char *id, Type ty, Coordinate *pos) {
	Symbol p, q;

	if (isfunc(ty)) {
		if (sclass && sclass != EXTERN)
			error("invalid storage class `%k' for `%t %s'\n", sclass, ty, id);
		sclass = EXTERN;
	} else if (sclass == 0)
		sclass = AUTO;
	if (sclass == REGISTER && (isvolatile(ty) || isstruct(ty) || isarray(ty))) {
		warning("register declaration ignored for `%t %s'\n", ty, id);
		sclass = AUTO;
	}
	if ((q = lookup(id, identifiers))
	&& (q->scope >= level || q->scope == PARAM && level == PARAM+1))
		if (sclass == EXTERN && q->sclass == EXTERN && eqtype(q->type, ty, 1))
			ty = composite(ty, q->type);
		else
			error("redeclaration of `%s' previously declared at %w\n",
				q->name, &q->src);
	assert(level >= LOCAL);
	p = install(id, &identifiers, 0);
	p->type = ty;
	p->sclass = sclass;
	p->src = *pos;
	switch (sclass) {
	case EXTERN: {
		Symbol r;
		if (q && q->scope == GLOBAL && q->sclass == STATIC) {
			p->sclass = STATIC;
			p->scope = GLOBAL;
			defsymbol(p);
			p->scope = level;
		} else
			defsymbol(p);
		if ((r = lookup(id, externals)) == 0) {
			r = install(p->name, &externals, 1);
			r->src = p->src;
			r->type = p->type;
			r->sclass = p->sclass;
			if ((q = lookup(id, globals)) && q->sclass != TYPEDEF && q->sclass != ENUM)
				r = q;
		}
		if (r && ((r->sclass == AUTO ? EXTERN : r->sclass) != p->sclass
		|| !eqtype(r->type, p->type, 1)))
			warning("declaration of `%s' does not match previous declaration at %w\n",
				r->name, &r->src);
		break;
		}
	case STATIC:
		defsymbol(p);
		initglobal(p, 0);
		if (!p->defined)
			if (p->type->size > 0) {
				defglobal(p, BSS);
				space(p->type->size);
			} else
				error("undefined size for `%t %s'\n", p->type, p->name);
		p->defined = 1;
		break;
	case REGISTER:
		registers = append(p, registers);
		regcount++;
		p->defined = 1;
		break;
	case AUTO:
		autos = append(p, autos);
		p->defined = 1;
		break;
	default: assert(0);
	}
	if (t == '=') {
		Tree e;
		if (sclass == EXTERN)
			error("illegal initialization of `extern %s'\n", id);
		t = gettok();
		definept(0);
		if (isscalar(p->type) || isstruct(p->type) && t != '{') {
			if (t == '{') {
				t = gettok();
				e = constexpr(0);
				genconst(e, 0);
				expect('}');
			} else
				e = expr1(0);
		} else {
			Type ty = p->type;
			if (!isconst(ty) && (!isarray(ty) || !isconst(ty->type)))
				ty = qual(CONST, ty);
			q = genident(STATIC, ty, GLOBAL);
			initglobal(q, 1);
			if (isarray(p->type) && p->type->size == 0 && q->type->size > 0)
				p->type = array(p->type->type, q->type->size/q->type->type->size, 0);
			e = idnode(q);
		}
		walk(root(asgn(p, e)), 0, 0);
		p->initialized = 1;
		p->ref = 0;
	}
	if (p->sclass == AUTO && isarray(p->type) && p->type->type->size > 0
	&& p->type->align < STRUCT_ALIGN)
		p->type = array(p->type->type,
			p->type->size/p->type->type->size, STRUCT_ALIGN);
	if (!isfunc(p->type) && p->defined && p->type->size <= 0)
			error("undefined size for `%t %s'\n", p->type, id);
	return p;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0xc0, %rsp
movl %edi, -0x4(%rbp)
movq %rsi, -0x10(%rbp)
movq %rdx, -0x18(%rbp)
movq %rcx, -0x20(%rbp)
movq -0x18(%rbp), %rax
cmpl $0xf, (%rax)
jb 0x6ac1
movq -0x18(%rbp), %rax
movq 0x10(%rax), %rax
movq %rax, -0x50(%rbp)
jmp 0x6ac9
movq -0x18(%rbp), %rax
movq %rax, -0x50(%rbp)
movq -0x50(%rbp), %rax
cmpl $0xb, (%rax)
jne 0x6b00
cmpl $0x0, -0x4(%rbp)
je 0x6af7
cmpl $0x4a, -0x4(%rbp)
je 0x6af7
movl -0x4(%rbp), %esi
movq -0x18(%rbp), %rdx
movq -0x10(%rbp), %rcx
leaq 0x289c8(%rip), %rdi     # 0x2f4b8
movb $0x0, %al
callq 0xd530
movl $0x4a, -0x4(%rbp)
jmp 0x6b0f
cmpl $0x0, -0x4(%rbp)
jne 0x6b0d
movl $0x43, -0x4(%rbp)
jmp 0x6b0f
cmpl $0x4e, -0x4(%rbp)
jne 0x6bc4
movq -0x18(%rbp), %rax
cmpl $0x10, (%rax)
je 0x6ba7
movq -0x18(%rbp), %rax
cmpl $0x1f, (%rax)
je 0x6ba7
movq -0x18(%rbp), %rax
cmpl $0xf, (%rax)
jb 0x6b46
movq -0x18(%rbp), %rax
movq 0x10(%rax), %rax
movq %rax, -0x58(%rbp)
jmp 0x6b4e
movq -0x18(%rbp), %rax
movq %rax, -0x58(%rbp)
movq -0x58(%rbp), %rax
cmpl $0x9, (%rax)
je 0x6ba7
movq -0x18(%rbp), %rax
cmpl $0xf, (%rax)
jb 0x6b6e
movq -0x18(%rbp), %rax
movq 0x10(%rax), %rax
movq %rax, -0x60(%rbp)
jmp 0x6b76
movq -0x18(%rbp), %rax
movq %rax, -0x60(%rbp)
movq -0x60(%rbp), %rax
cmpl $0xa, (%rax)
je 0x6ba7
movq -0x18(%rbp), %rax
cmpl $0xf, (%rax)
jb 0x6b96
movq -0x18(%rbp), %rax
movq 0x10(%rax), %rax
movq %rax, -0x68(%rbp)
jmp 0x6b9e
movq -0x18(%rbp), %rax
movq %rax, -0x68(%rbp)
movq -0x68(%rbp), %rax
cmpl $0xc, (%rax)
jne 0x6bc4
movq -0x18(%rbp), %rsi
movq -0x10(%rbp), %rdx
leaq 0x2892a(%rip), %rdi     # 0x2f4e0
movb $0x0, %al
callq 0xdba0
movl $0x43, -0x4(%rbp)
movq -0x10(%rbp), %rdi
leaq 0x34569(%rip), %rax     # 0x3b138
movq (%rax), %rsi
callq 0x24670
movq %rax, -0x30(%rbp)
cmpq $0x0, %rax
je 0x6c76
movq -0x30(%rbp), %rax
movzwl 0x18(%rax), %eax
leaq 0x3a39c(%rip), %rcx     # 0x40f90
cmpl (%rcx), %eax
jge 0x6c11
movq -0x30(%rbp), %rax
movzwl 0x18(%rax), %eax
cmpl $0x4, %eax
jne 0x6c76
leaq 0x3a384(%rip), %rax     # 0x40f90
cmpl $0x5, (%rax)
jne 0x6c76
cmpl $0x4a, -0x4(%rbp)
jne 0x6c56
movq -0x30(%rbp), %rax
movzbl 0x1a(%rax), %eax
cmpl $0x4a, %eax
jne 0x6c56
movq -0x30(%rbp), %rax
movq 0x20(%rax), %rdi
movq -0x18(%rbp), %rsi
movl $0x1, %edx
callq 0x27f80
cmpl $0x0, %eax
je 0x6c56
movq -0x18(%rbp), %rdi
movq -0x30(%rbp), %rax
movq 0x20(%rax), %rsi
callq 0x27620
movq %rax, -0x18(%rbp)
jmp 0x6c74
movq -0x30(%rbp), %rax
movq 0x10(%rax), %rsi
movq -0x30(%rbp), %rdx
addq $0x28, %rdx
leaq 0x2889d(%rip), %rdi     # 0x2f50a
movb $0x0, %al
callq 0xd530
jmp 0x6c76
leaq 0x3a313(%rip), %rax     # 0x40f90
cmpl $0x5, (%rax)
jl 0x6c84
jmp 0x6ca3
leaq 0x288b0(%rip), %rdi     # 0x2f53b
leaq 0x288b8(%rip), %rsi     # 0x2f54a
movl $0xbb, %edx
leaq 0x288ba(%rip), %rcx     # 0x2f558
callq 0x30c0
movq -0x10(%rbp), %rdi
leaq 0x3448a(%rip), %rsi     # 0x3b138
xorl %edx, %edx
callq 0x24720
movq %rax, -0x28(%rbp)
movq -0x18(%rbp), %rcx
movq -0x28(%rbp), %rax
movq %rcx, 0x20(%rax)
movb -0x4(%rbp), %cl
movq -0x28(%rbp), %rax
movb %cl, 0x1a(%rax)
movq -0x28(%rbp), %rax
movq -0x20(%rbp), %rcx
movups (%rcx), %xmm0
movups %xmm0, 0x28(%rax)
movl -0x4(%rbp), %eax
addl $-0x43, %eax
movl %eax, %ecx
movq %rcx, -0x70(%rbp)
subl $0xe, %eax
ja 0x6f7a
movq -0x70(%rbp), %rax
leaq 0x28536(%rip), %rcx     # 0x2f234
movslq (%rcx,%rax,4), %rax
addq %rcx, %rax
jmpq *%rax
cmpq $0x0, -0x30(%rbp)
je 0x6d59
movq -0x30(%rbp), %rax
movzwl 0x18(%rax), %eax
cmpl $0x3, %eax
jne 0x6d59
movq -0x30(%rbp), %rax
movzbl 0x1a(%rax), %eax
cmpl $0x51, %eax
jne 0x6d59
movq -0x28(%rbp), %rax
movb $0x51, 0x1a(%rax)
movq -0x28(%rbp), %rax
movw $0x3, 0x18(%rax)
movq -0x28(%rbp), %rdi
callq 0x2a470
leaq 0x3a246(%rip), %rax     # 0x40f90
movl (%rax), %eax
movw %ax, %cx
movq -0x28(%rbp), %rax
movw %cx, 0x18(%rax)
jmp 0x6d62
movq -0x28(%rbp), %rdi
callq 0x2a470
movq -0x10(%rbp), %rdi
leaq 0x33fab(%rip), %rax     # 0x3ad18
movq (%rax), %rsi
callq 0x24670
movq %rax, -0x38(%rbp)
cmpq $0x0, %rax
jne 0x6e17
movq -0x28(%rbp), %rax
movq 0x10(%rax), %rdi
leaq 0x33f86(%rip), %rsi     # 0x3ad18
movl $0x1, %edx
callq 0x24720
movq %rax, -0x38(%rbp)
movq -0x38(%rbp), %rax
movq -0x28(%rbp), %rcx
movq 0x28(%rcx), %rdx
movq %rdx, 0x28(%rax)
movq 0x30(%rcx), %rcx
movq %rcx, 0x30(%rax)
movq -0x28(%rbp), %rax
movq 0x20(%rax), %rcx
movq -0x38(%rbp), %rax
movq %rcx, 0x20(%rax)
movq -0x28(%rbp), %rax
movb 0x1a(%rax), %cl
movq -0x38(%rbp), %rax
movb %cl, 0x1a(%rax)
movq -0x10(%rbp), %rdi
leaq 0x3435f(%rip), %rax     # 0x3b140
movq (%rax), %rsi
callq 0x24670
movq %rax, -0x30(%rbp)
cmpq $0x0, %rax
je 0x6e15
movq -0x30(%rbp), %rax
movzbl 0x1a(%rax), %eax
cmpl $0x53, %eax
je 0x6e15
movq -0x30(%rbp), %rax
movzbl 0x1a(%rax), %eax
cmpl $0xd, %eax
je 0x6e15
movq -0x30(%rbp), %rax
movq %rax, -0x38(%rbp)
jmp 0x6e17
cmpq $0x0, -0x38(%rbp)
je 0x6e8c
movq -0x38(%rbp), %rax
movzbl 0x1a(%rax), %eax
cmpl $0x43, %eax
jne 0x6e35
movl $0x4a, %eax
movl %eax, -0x74(%rbp)
jmp 0x6e40
movq -0x38(%rbp), %rax
movzbl 0x1a(%rax), %eax
movl %eax, -0x74(%rbp)
movl -0x74(%rbp), %eax
movq -0x28(%rbp), %rcx
movzbl 0x1a(%rcx), %ecx
cmpl %ecx, %eax
jne 0x6e6e
movq -0x38(%rbp), %rax
movq 0x20(%rax), %rdi
movq -0x28(%rbp), %rax
movq 0x20(%rax), %rsi
movl $0x1, %edx
callq 0x27f80
cmpl $0x0, %eax
jne 0x6e8c
movq -0x38(%rbp), %rax
movq 0x10(%rax), %rsi
movq -0x38(%rbp), %rdx
addq $0x28, %rdx
leaq 0x28704(%rip), %rdi     # 0x2f589
movb $0x0, %al
callq 0xdba0
jmp 0x6f99
movq -0x28(%rbp), %rdi
callq 0x2a470
movq -0x28(%rbp), %rdi
xorl %esi, %esi
callq 0x12e50
movq -0x28(%rbp), %rax
movb 0x1b(%rax), %al
andb $0x1, %al
movzbl %al, %eax
cmpl $0x0, %eax
jne 0x6f04
movq -0x28(%rbp), %rax
movq 0x20(%rax), %rax
cmpl $0x0, 0x8(%rax)
jle 0x6ee4
movq -0x28(%rbp), %rdi
movl $0x2, %esi
callq 0x129d0
movq -0x28(%rbp), %rax
movq 0x20(%rax), %rax
movl 0x8(%rax), %edi
callq 0x2a9c0
jmp 0x6f02
movq -0x28(%rbp), %rax
movq 0x20(%rax), %rsi
movq -0x28(%rbp), %rax
movq 0x10(%rax), %rdx
leaq 0x286cd(%rip), %rdi     # 0x2f5c8
movb $0x0, %al
callq 0xd530
jmp 0x6f04
movq -0x28(%rbp), %rax
movb 0x1b(%rax), %cl
andb $-0x2, %cl
orb $0x1, %cl
movb %cl, 0x1b(%rax)
jmp 0x6f99
movq -0x28(%rbp), %rdi
movq 0x34af4(%rip), %rsi     # 0x3ba18
callq 0x23500
movq %rax, 0x34ae8(%rip)     # 0x3ba18
movl 0x34afa(%rip), %eax     # 0x3ba30
addl $0x1, %eax
movl %eax, 0x34af1(%rip)     # 0x3ba30
movq -0x28(%rbp), %rax
movb 0x1b(%rax), %cl
andb $-0x2, %cl
orb $0x1, %cl
movb %cl, 0x1b(%rax)
jmp 0x6f99
movq -0x28(%rbp), %rdi
movq 0x34ac4(%rip), %rsi     # 0x3ba20
callq 0x23500
movq %rax, 0x34ab8(%rip)     # 0x3ba20
movq -0x28(%rbp), %rax
movb 0x1b(%rax), %cl
andb $-0x2, %cl
orb $0x1, %cl
movb %cl, 0x1b(%rax)
jmp 0x6f99
leaq 0x28156(%rip), %rdi     # 0x2f0d7
leaq 0x285c2(%rip), %rsi     # 0x2f54a
movl $0xec, %edx
leaq 0x285c4(%rip), %rcx     # 0x2f558
callq 0x30c0
leaq 0x36be0(%rip), %rax     # 0x3db80
cmpl $0x3d, (%rax)
jne 0x72a4
cmpl $0x4a, -0x4(%rbp)
jne 0x6fc1
movq -0x10(%rbp), %rsi
leaq 0x2862a(%rip), %rdi     # 0x2f5e4
movb $0x0, %al
callq 0xd530
callq 0x15170
movl %eax, %ecx
leaq 0x36bb1(%rip), %rax     # 0x3db80
movl %ecx, (%rax)
xorl %eax, %eax
movl %eax, %edi
callq 0x20a20
movq -0x28(%rbp), %rax
movq 0x20(%rax), %rax
cmpl $0xf, (%rax)
jb 0x6ff9
movq -0x28(%rbp), %rax
movq 0x20(%rax), %rax
movq 0x10(%rax), %rax
movq %rax, -0x80(%rbp)
jmp 0x7005
movq -0x28(%rbp), %rax
movq 0x20(%rax), %rax
movq %rax, -0x80(%rbp)
movq -0x80(%rbp), %rax
cmpl $0x7, (%rax)
jbe 0x70d9
movq -0x28(%rbp), %rax
movq 0x20(%rax), %rax
cmpl $0xf, (%rax)
jb 0x7034
movq -0x28(%rbp), %rax
movq 0x20(%rax), %rax
movq 0x10(%rax), %rax
movq %rax, -0x88(%rbp)
jmp 0x7043
movq -0x28(%rbp), %rax
movq 0x20(%rax), %rax
movq %rax, -0x88(%rbp)
movq -0x88(%rbp), %rax
cmpl $0xd, (%rax)
je 0x70d9
movq -0x28(%rbp), %rax
movq 0x20(%rax), %rax
cmpl $0xf, (%rax)
jb 0x7075
movq -0x28(%rbp), %rax
movq 0x20(%rax), %rax
movq 0x10(%rax), %rax
movq %rax, -0x90(%rbp)
jmp 0x7084
movq -0x28(%rbp), %rax
movq 0x20(%rax), %rax
movq %rax, -0x90(%rbp)
movq -0x90(%rbp), %rax
cmpl $0x9, (%rax)
je 0x70cd
movq -0x28(%rbp), %rax
movq 0x20(%rax), %rax
cmpl $0xf, (%rax)
jb 0x70b2
movq -0x28(%rbp), %rax
movq 0x20(%rax), %rax
movq 0x10(%rax), %rax
movq %rax, -0x98(%rbp)
jmp 0x70c1
movq -0x28(%rbp), %rax
movq 0x20(%rax), %rax
movq %rax, -0x98(%rbp)
movq -0x98(%rbp), %rax
cmpl $0xa, (%rax)
jne 0x7127
leaq 0x36aac(%rip), %rax     # 0x3db80
cmpl $0x7b, (%rax)
je 0x7127
leaq 0x36aa0(%rip), %rax     # 0x3db80
cmpl $0x7b, (%rax)
jne 0x7117
callq 0x15170
movl %eax, %ecx
leaq 0x36a8d(%rip), %rax     # 0x3db80
movl %ecx, (%rax)
xorl %edi, %edi
callq 0xfdb0
movq %rax, -0x40(%rbp)
movq -0x40(%rbp), %rdi
xorl %esi, %esi
callq 0x12bb0
movl $0x7d, %edi
callq 0xd670
jmp 0x7122
xorl %edi, %edi
callq 0xfe00
movq %rax, -0x40(%rbp)
jmp 0x7268
movq -0x28(%rbp), %rax
movq 0x20(%rax), %rax
movq %rax, -0x48(%rbp)
movq -0x48(%rbp), %rax
cmpl $0xf, (%rax)
je 0x71a2
movq -0x48(%rbp), %rax
cmpl $0x1f, (%rax)
je 0x71a2
movq -0x48(%rbp), %rax
cmpl $0xf, (%rax)
jb 0x715f
movq -0x48(%rbp), %rax
movq 0x10(%rax), %rax
movq %rax, -0xa0(%rbp)
jmp 0x716a
movq -0x48(%rbp), %rax
movq %rax, -0xa0(%rbp)
movq -0xa0(%rbp), %rax
cmpl $0xc, (%rax)
jne 0x7190
movq -0x48(%rbp), %rax
movq 0x10(%rax), %rax
cmpl $0xf, (%rax)
je 0x71a2
movq -0x48(%rbp), %rax
movq 0x10(%rax), %rax
cmpl $0x1f, (%rax)
je 0x71a2
movq -0x48(%rbp), %rsi
movl $0xf, %edi
callq 0x27a70
movq %rax, -0x48(%rbp)
movq -0x48(%rbp), %rsi
movl $0x51, %edi
movl $0x3, %edx
callq 0x24b00
movq %rax, -0x30(%rbp)
movq -0x30(%rbp), %rdi
movl $0x1, %esi
callq 0x12e50
movq -0x28(%rbp), %rax
movq 0x20(%rax), %rax
cmpl $0xf, (%rax)
jb 0x71e9
movq -0x28(%rbp), %rax
movq 0x20(%rax), %rax
movq 0x10(%rax), %rax
movq %rax, -0xa8(%rbp)
jmp 0x71f8
movq -0x28(%rbp), %rax
movq 0x20(%rax), %rax
movq %rax, -0xa8(%rbp)
movq -0xa8(%rbp), %rax
cmpl $0xc, (%rax)
jne 0x725b
movq -0x28(%rbp), %rax
movq 0x20(%rax), %rax
cmpl $0x0, 0x8(%rax)
jne 0x725b
movq -0x30(%rbp), %rax
movq 0x20(%rax), %rax
cmpl $0x0, 0x8(%rax)
jle 0x725b
movq -0x28(%rbp), %rax
movq 0x20(%rax), %rax
movq 0x10(%rax), %rdi
movq -0x30(%rbp), %rax
movq 0x20(%rax), %rax
movl 0x8(%rax), %eax
movq -0x30(%rbp), %rcx
movq 0x20(%rcx), %rcx
movq 0x10(%rcx), %rcx
cltd
idivl 0x8(%rcx)
movl %eax, %esi
xorl %edx, %edx
callq 0x27160
movq %rax, %rcx
movq -0x28(%rbp), %rax
movq %rcx, 0x20(%rax)
movq -0x30(%rbp), %rdi
callq 0xddf0
movq %rax, -0x40(%rbp)
movq -0x28(%rbp), %rdi
movq -0x40(%rbp), %rsi
callq 0xe0f0
movq %rax, %rdi
callq 0x25a90
movq %rax, %rdi
xorl %edx, %edx
movl %edx, %esi
callq 0x3a80
movq -0x28(%rbp), %rax
movb 0x1b(%rax), %cl
andb $-0x21, %cl
orb $0x20, %cl
movb %cl, 0x1b(%rax)
movq -0x28(%rbp), %rax
movl $0x0, 0x1c(%rax)
movq -0x28(%rbp), %rax
movzbl 0x1a(%rax), %eax
cmpl $0x43, %eax
jne 0x7353
movq -0x28(%rbp), %rax
movq 0x20(%rax), %rax
cmpl $0xf, (%rax)
jb 0x72d7
movq -0x28(%rbp), %rax
movq 0x20(%rax), %rax
movq 0x10(%rax), %rax
movq %rax, -0xb0(%rbp)
jmp 0x72e6
movq -0x28(%rbp), %rax
movq 0x20(%rax), %rax
movq %rax, -0xb0(%rbp)
movq -0xb0(%rbp), %rax
cmpl $0xc, (%rax)
jne 0x7353
movq -0x28(%rbp), %rax
movq 0x20(%rax), %rax
movq 0x10(%rax), %rax
cmpl $0x0, 0x8(%rax)
jle 0x7353
movq -0x28(%rbp), %rax
movq 0x20(%rax), %rax
movswl 0x4(%rax), %eax
cmpl $0x1, %eax
jge 0x7353
movq -0x28(%rbp), %rax
movq 0x20(%rax), %rax
movq 0x10(%rax), %rdi
movq -0x28(%rbp), %rax
movq 0x20(%rax), %rax
movl 0x8(%rax), %eax
movq -0x28(%rbp), %rcx
movq 0x20(%rcx), %rcx
movq 0x10(%rcx), %rcx
cltd
idivl 0x8(%rcx)
movl %eax, %esi
movl $0x1, %edx
callq 0x27160
movq %rax, %rcx
movq -0x28(%rbp), %rax
movq %rcx, 0x20(%rax)
movq -0x28(%rbp), %rax
movq 0x20(%rax), %rax
cmpl $0xf, (%rax)
jb 0x7375
movq -0x28(%rbp), %rax
movq 0x20(%rax), %rax
movq 0x10(%rax), %rax
movq %rax, -0xb8(%rbp)
jmp 0x7384
movq -0x28(%rbp), %rax
movq 0x20(%rax), %rax
movq %rax, -0xb8(%rbp)
movq -0xb8(%rbp), %rax
cmpl $0xb, (%rax)
je 0x73c9
movq -0x28(%rbp), %rax
movb 0x1b(%rax), %al
andb $0x1, %al
movzbl %al, %eax
cmpl $0x0, %eax
je 0x73c9
movq -0x28(%rbp), %rax
movq 0x20(%rax), %rax
cmpl $0x0, 0x8(%rax)
jg 0x73c9
movq -0x28(%rbp), %rax
movq 0x20(%rax), %rsi
movq -0x10(%rbp), %rdx
leaq 0x28206(%rip), %rdi     # 0x2f5c8
movb $0x0, %al
callq 0xd530
movq -0x28(%rbp), %rax
addq $0xc0, %rsp
popq %rbp
retq
nopw %cs:(%rax,%rax)