// File: /workspace/github_cpp_makefile_star2_O3/JoshCplusplus[P]Chemistry-Atom-Simulator-/main.cc
// Function: print_atoms()
void print_atoms(){
	cout << "\nAvailable Atoms:" << endl;
	for(string s: atomlist){
		cout << s << endl;
	}
	cout << "\nAvailable Molecules:" << endl;
	if(avmol.size() == 0) cout << "NONE" << endl;
	else{
		for(int i = 0; i < avmol.size(); i++){
			cout << (*(&avmol.top() + i)).get_name() << endl;
		}
	}
	cout << "\nAll Moleclues:" << endl;
	for(auto i : allmol){
		cout << i.second.get_name() << endl;
	}
	cout << endl;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
pushq %r15
pushq %r14
pushq %r13
pushq %r12
pushq %rbx
subq $0xe8, %rsp
movq 0x6a2f(%rip), %rbx      # 0x9fd0
leaq 0x3b61(%rip), %rsi      # 0x7109
movl $0x11, %edx
movq %rbx, %rdi
callq 0x2180
movq (%rbx), %rax
movq -0x18(%rax), %rdi
addq %rbx, %rdi
movl $0xa, %esi
callq 0x2150
movsbl %al, %esi
movq %rbx, %rdi
callq 0x2030
movq %rax, %rdi
callq 0x20d0
movq 0xaa85(%rip), %rbx      # 0xe068
testq %rbx, %rbx
je 0x3674
leaq -0x100(%rbp), %r13
leaq -0x110(%rbp), %r14
movq 0x69cf(%rip), %r15      # 0x9fd0
movq %r13, -0x110(%rbp)
movq 0x8(%rbx), %rsi
movq 0x10(%rbx), %rdx
addq %rsi, %rdx
movq %r14, %rdi
callq 0x54a8
movq -0x110(%rbp), %rsi
movq -0x108(%rbp), %rdx
movq %r15, %rdi
callq 0x2180
movq %rax, %r12
movq (%rax), %rax
movq -0x18(%rax), %rdi
addq %r12, %rdi
movl $0xa, %esi
callq 0x2150
movsbl %al, %esi
movq %r12, %rdi
callq 0x2030
movq %rax, %rdi
callq 0x20d0
movq -0x110(%rbp), %rdi
cmpq %r13, %rdi
je 0x366c
callq 0x2140
movq (%rbx), %rbx
testq %rbx, %rbx
jne 0x3601
leaq 0x3aa0(%rip), %rsi      # 0x711b
movl $0x15, %edx
movq 0x6949(%rip), %rbx      # 0x9fd0
movq %rbx, %rdi
callq 0x2180
movq (%rbx), %rax
movq -0x18(%rax), %rdi
addq %rbx, %rdi
movl $0xa, %esi
callq 0x2150
movsbl %al, %esi
movq %rbx, %rdi
callq 0x2030
movq %rax, %rdi
callq 0x20d0
movq 0xaa0b(%rip), %rax      # 0xe0c8
cmpq %rax, 0xaa0c(%rip)      # 0xe0d0
je 0x3786
movl $0x8, %r13d
leaq -0x100(%rbp), %rbx
xorl %r14d, %r14d
movabsq $-0xf0f0f0f0f0f0f0f, %r15 # imm = 0xF0F0F0F0F0F0F0F1
movq %rbx, -0x110(%rbp)
movq -0x8(%rax,%r13), %rsi
movq (%rax,%r13), %rdx
addq %rsi, %rdx
leaq -0x110(%rbp), %rdi
callq 0x54a8
movq -0x110(%rbp), %rsi
movq -0x108(%rbp), %rdx
movq 0x68b8(%rip), %rdi      # 0x9fd0
callq 0x2180
movq %rax, %r12
movq (%rax), %rax
movq -0x18(%rax), %rdi
addq %r12, %rdi
movl $0xa, %esi
callq 0x2150
movsbl %al, %esi
movq %r12, %rdi
callq 0x2030
movq %rax, %rdi
callq 0x20d0
movq -0x110(%rbp), %rdi
cmpq %rbx, %rdi
je 0x3758
callq 0x2140
incq %r14
movq 0xa96e(%rip), %rcx      # 0xe0d0
movq 0xa95f(%rip), %rax      # 0xe0c8
subq %rax, %rcx
sarq $0x3, %rcx
imulq %r15, %rcx
addq $0x88, %r13
cmpq %r14, %rcx
ja 0x36e4
jmp 0x37c1
leaq 0x39a4(%rip), %rsi      # 0x7131
movl $0x4, %edx
movq %rbx, %rdi
callq 0x2180
movq (%rbx), %rax
movq -0x18(%rax), %rdi
addq %rbx, %rdi
movl $0xa, %esi
callq 0x2150
movsbl %al, %esi
movq %rbx, %rdi
callq 0x2030
movq %rax, %rdi
callq 0x20d0
leaq 0x396e(%rip), %rsi      # 0x7136
movl $0xf, %edx
movq 0x67fc(%rip), %rbx      # 0x9fd0
movq %rbx, %rdi
callq 0x2180
movq (%rbx), %rax
movq -0x18(%rax), %rdi
addq %rbx, %rdi
movl $0xa, %esi
callq 0x2150
movsbl %al, %esi
movq %rbx, %rdi
callq 0x2030
movq %rax, %rdi
callq 0x20d0
movq 0xa896(%rip), %r14      # 0xe0a0
testq %r14, %r14
je 0x392a
leaq -0x38(%rbp), %rbx
leaq -0x48(%rbp), %r15
movq 0x67ae(%rip), %r12      # 0x9fd0
leaq 0x8(%r14), %rsi
leaq -0x110(%rbp), %rdi
callq 0x4f70
movq %rbx, -0x48(%rbp)
movq -0xd0(%rbp), %rsi
movq -0xc8(%rbp), %rdx
addq %rsi, %rdx
movq %r15, %rdi
callq 0x54a8
movq -0x48(%rbp), %rsi
movq -0x40(%rbp), %rdx
movq %r12, %rdi
callq 0x2180
movq %rax, %r13
movq (%rax), %rax
movq -0x18(%rax), %rdi
addq %r13, %rdi
movl $0xa, %esi
callq 0x2150
movsbl %al, %esi
movq %r13, %rdi
callq 0x2030
movq %rax, %rdi
callq 0x20d0
movq -0x48(%rbp), %rdi
cmpq %rbx, %rdi
je 0x3897
callq 0x2140
movq -0x68(%rbp), %rdi
leaq -0x58(%rbp), %rax
cmpq %rax, %rdi
je 0x38a9
callq 0x2140
movq -0x90(%rbp), %rdi
leaq -0x80(%rbp), %rax
cmpq %rax, %rdi
je 0x38be
callq 0x2140
movq -0xb0(%rbp), %rdi
leaq -0xa0(%rbp), %rax
cmpq %rax, %rdi
je 0x38d6
callq 0x2140
movq -0xd0(%rbp), %rdi
leaq -0xc0(%rbp), %rax
cmpq %rax, %rdi
je 0x38ee
callq 0x2140
movq -0xf0(%rbp), %rdi
leaq -0xe0(%rbp), %rax
cmpq %rax, %rdi
je 0x3906
callq 0x2140
movq -0x110(%rbp), %rdi
leaq -0x100(%rbp), %rax
cmpq %rax, %rdi
je 0x391e
callq 0x2140
movq (%r14), %r14
testq %r14, %r14
jne 0x3822
movq 0x669f(%rip), %rbx      # 0x9fd0
movq (%rbx), %rax
movq -0x18(%rax), %rdi
addq %rbx, %rdi
movl $0xa, %esi
callq 0x2150
movsbl %al, %esi
movq %rbx, %rdi
callq 0x2030
movq %rax, %rdi
callq 0x20d0
addq $0xe8, %rsp
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
retq
movq %rax, %r14
jmp 0x3980
movq %rax, %r14
movq -0x48(%rbp), %rdi
cmpq %rbx, %rdi
je 0x3980
callq 0x2140
leaq -0x110(%rbp), %rdi
callq 0x4e9c
jmp 0x39b3
movq %rax, %r14
movq -0x110(%rbp), %rdi
cmpq %rbx, %rdi
jne 0x39ae
jmp 0x39b3
movq %rax, %r14
movq -0x110(%rbp), %rdi
cmpq %r13, %rdi
je 0x39b3
callq 0x2140
movq %r14, %rdi
callq 0x2230