// File: /workspace/github_cpp_makefile_star2_O2/ksherlock[P]wdc-utils/zrdz_disassembler.cpp
// Function: zrdz_disassembler::print_section(zrdz_disassembler::entry const&)
void zrdz_disassembler::print_variables() {

	std::vector<symbol> tmp;

	for (auto &s : _symbols) {
		if (s.flags & SF_VAR) tmp.push_back(s);
	}

	if (tmp.empty()) return;
	std::sort(tmp.begin(), tmp.end());

	for (const auto &s : tmp) {
		if (s.flags & SF_GBL) emit("", "public", s.name);
		emit(s.name, "var", to_x(s.offset, 4, '$'));
	}

	putchar('\n');

}

// Assembly:
pushq %rbx
subq $0x50, %rsp
leaq 0x20(%rsp), %rax
movq %rax, -0x10(%rax)
andq $0x0, -0x8(%rax)
movq %rsi, %rbx
movb $0x0, (%rax)
cmpb $0x0, 0x2c(%rsi)
jne 0x7c7a
cmpb $0x4, 0x20(%rbx)
jbe 0x7c7a
movb 0x21(%rbx), %al
testb $0x1, %al
jne 0x7cac
xorl %ecx, %ecx
jmp 0x7ced
leaq 0x371f(%rip), %rsi      # 0xb3a0
leaq 0x30(%rsp), %rdi
leaq 0xf(%rsp), %rdx
callq 0x48d4
leaq 0x30(%rsp), %rdi
movq %rbx, %rsi
callq 0x57e2
leaq 0x30(%rsp), %rdi
callq 0x20d0
jmp 0x7e96
leaq 0x410f(%rip), %rsi      # 0xbdc2
leaq 0x10(%rsp), %rdi
callq 0x2360
movl 0x28(%rbx), %esi
leaq 0x30(%rsp), %rdi
pushq $0x4
popq %rdx
xorl %ecx, %ecx
callq 0x56d0
leaq 0x10(%rsp), %rdi
leaq 0x30(%rsp), %rsi
callq 0x2380
leaq 0x30(%rsp), %rdi
callq 0x20d0
movb 0x21(%rbx), %al
movb $0x1, %cl
testb $0x2, %al
je 0x7d47
testb %cl, %cl
je 0x7d06
leaq 0x3572(%rip), %rsi      # 0xb26e
leaq 0x10(%rsp), %rdi
callq 0x2360
leaq 0x40c2(%rip), %rsi      # 0xbdcf
leaq 0x10(%rsp), %rdi
callq 0x2360
movl 0x28(%rbx), %esi
leaq 0x30(%rsp), %rdi
pushq $0x4
popq %rdx
xorl %ecx, %ecx
callq 0x56d0
leaq 0x10(%rsp), %rdi
leaq 0x30(%rsp), %rsi
callq 0x2380
leaq 0x30(%rsp), %rdi
callq 0x20d0
movb 0x21(%rbx), %al
movb $0x1, %cl
testb $0x4, %al
je 0x7d76
testb %cl, %cl
je 0x7d60
leaq 0x3518(%rip), %rsi      # 0xb26e
leaq 0x10(%rsp), %rdi
callq 0x2360
leaq 0x4077(%rip), %rsi      # 0xbdde
leaq 0x10(%rsp), %rdi
callq 0x2360
movb 0x21(%rbx), %al
movb $0x1, %cl
testb $0x8, %al
je 0x7da5
testb %cl, %cl
je 0x7d8f
leaq 0x34e9(%rip), %rsi      # 0xb26e
leaq 0x10(%rsp), %rdi
callq 0x2360
leaq 0x4054(%rip), %rsi      # 0xbdea
leaq 0x10(%rsp), %rdi
callq 0x2360
movb 0x21(%rbx), %al
movb $0x1, %cl
testb $0x10, %al
je 0x7dd4
testb %cl, %cl
je 0x7dbe
leaq 0x34ba(%rip), %rsi      # 0xb26e
leaq 0x10(%rsp), %rdi
callq 0x2360
leaq 0x4032(%rip), %rsi      # 0xbdf7
leaq 0x10(%rsp), %rdi
callq 0x2360
movb 0x21(%rbx), %al
movb $0x1, %cl
testb $0x20, %al
je 0x7e03
testb %cl, %cl
je 0x7ded
leaq 0x348b(%rip), %rsi      # 0xb26e
leaq 0x10(%rsp), %rdi
callq 0x2360
leaq 0x400d(%rip), %rsi      # 0xbe01
leaq 0x10(%rsp), %rdi
callq 0x2360
movb 0x21(%rbx), %al
movb $0x1, %cl
testb $0x40, %al
je 0x7e32
testb %cl, %cl
je 0x7e1c
leaq 0x345c(%rip), %rsi      # 0xb26e
leaq 0x10(%rsp), %rdi
callq 0x2360
leaq 0x3fe9(%rip), %rsi      # 0xbe0c
leaq 0x10(%rsp), %rdi
callq 0x2360
movb 0x21(%rbx), %al
movb $0x1, %cl
testb %al, %al
jns 0x7e5c
testb %cl, %cl
je 0x7e4b
leaq 0x342d(%rip), %rsi      # 0xb26e
leaq 0x10(%rsp), %rdi
callq 0x2360
leaq 0x3fc5(%rip), %rsi      # 0xbe17
leaq 0x10(%rsp), %rdi
callq 0x2360
leaq 0x3fbd(%rip), %rsi      # 0xbe20
leaq 0x30(%rsp), %rdi
leaq 0xf(%rsp), %rdx
callq 0x48d4
leaq 0x30(%rsp), %rsi
leaq 0x10(%rsp), %rdx
movq %rbx, %rdi
callq 0x5864
leaq 0x30(%rsp), %rdi
callq 0x20d0
pushq $0xa
popq %rdi
callq 0x2280
leaq 0x10(%rsp), %rdi
callq 0x20d0
addq $0x50, %rsp
popq %rbx
retq
jmp 0x7eb2
jmp 0x7ec3
jmp 0x7eb2
jmp 0x7ec3
jmp 0x7eb2
jmp 0x7ec3
movq %rax, %rbx
leaq 0x30(%rsp), %rdi
callq 0x20d0
jmp 0x7ec6
jmp 0x7ec3
movq %rax, %rbx
leaq 0x10(%rsp), %rdi
callq 0x20d0
movq %rbx, %rdi
callq 0x2300