// File: 111116[P]console/./consolelog.hpp
// Function: github111116::ConsoleLogger::timeEnd(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>> const&)
inline void ConsoleLogger::timeEnd(const std::string& label)
{
	if (!starttimes.count(label))
	{
		warn("Timer \"" + label + "\" doesn't exist.");
		return;
	}
	mtx.lock();
	auto now = std::chrono::system_clock::now();
	std::chrono::duration<double> seconds = now - starttimes[label];
	if (loglevel <= 0)
		out << "    "+label+": " << 0.001*round(seconds.count()*1000) << "s - timer ended" << std::endl;
	starttimes.erase(label);
	mtx.unlock();
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x100, %rsp            # imm = 0x100
movq %rdi, -0x8(%rbp)
movq %rsi, -0x10(%rbp)
movq -0x8(%rbp), %rdi
movq %rdi, -0xc0(%rbp)
addq $0x70, %rdi
movq -0x10(%rbp), %rsi
callq 0x4cb0
cmpq $0x0, %rax
jne 0x4653
movq -0x10(%rbp), %rdx
leaq 0x4b33(%rip), %rsi      # 0x9103
leaq -0x50(%rbp), %rdi
movq %rdi, -0xc8(%rbp)
callq 0x4dd0
movq -0xc8(%rbp), %rsi
leaq 0x4b39(%rip), %rdx      # 0x9127
leaq -0x30(%rbp), %rdi
callq 0x4d80
jmp 0x45f9
movq -0xc0(%rbp), %rdi
leaq -0x30(%rbp), %rsi
callq 0x4ce0
jmp 0x460b
leaq -0x30(%rbp), %rdi
callq 0x2130
leaq -0x50(%rbp), %rdi
callq 0x2130
jmp 0x480b
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x58(%rbp)
movl %eax, -0x5c(%rbp)
jmp 0x4645
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x58(%rbp)
movl %eax, -0x5c(%rbp)
leaq -0x30(%rbp), %rdi
callq 0x2130
leaq -0x50(%rbp), %rdi
callq 0x2130
jmp 0x4814
movq -0xc0(%rbp), %rdi
addq $0xe0, %rdi
callq 0x3740
callq 0x2030
movq -0xc0(%rbp), %rdi
movq %rax, -0x68(%rbp)
addq $0x70, %rdi
movq -0x10(%rbp), %rsi
callq 0x4ee0
movq %rax, %rsi
leaq -0x68(%rbp), %rdi
callq 0x6360
movq %rax, -0x78(%rbp)
leaq -0x70(%rbp), %rdi
leaq -0x78(%rbp), %rsi
callq 0x63b0
movq -0xc0(%rbp), %rax
cmpl $0x0, 0x6c(%rax)
jg 0x47e4
movq -0xc0(%rbp), %rax
movq (%rax), %rax
movq %rax, -0xd8(%rbp)
movq -0x10(%rbp), %rdx
leaq 0x4957(%rip), %rsi      # 0x9024
leaq -0xb8(%rbp), %rdi
movq %rdi, -0xd0(%rbp)
callq 0x4dd0
movq -0xd0(%rbp), %rsi
leaq 0x4a4a(%rip), %rdx      # 0x9138
leaq -0x98(%rbp), %rdi
callq 0x4d80
jmp 0x46fc
movq -0xd8(%rbp), %rdi
leaq -0x98(%rbp), %rsi
callq 0x2190
movq %rax, -0xe0(%rbp)
jmp 0x4718
leaq -0x70(%rbp), %rdi
callq 0x63f0
movsd %xmm0, -0xe8(%rbp)
jmp 0x472b
movsd -0xe8(%rbp), %xmm0
movsd 0x48fd(%rip), %xmm1     # 0x9038
mulsd %xmm1, %xmm0
callq 0x20b0
movq -0xe0(%rbp), %rdi
movsd 0x48ed(%rip), %xmm1     # 0x9040
mulsd %xmm1, %xmm0
callq 0x2330
movq %rax, -0xf0(%rbp)
jmp 0x4765
movq -0xf0(%rbp), %rdi
leaq 0x49c8(%rip), %rsi      # 0x913b
callq 0x21c0
movq %rax, -0xf8(%rbp)
jmp 0x4781
movq -0xf8(%rbp), %rdi
movq 0x9831(%rip), %rsi      # 0xdfc0
callq 0x21e0
jmp 0x4796
leaq -0x98(%rbp), %rdi
callq 0x2130
leaq -0xb8(%rbp), %rdi
callq 0x2130
jmp 0x47e4
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x58(%rbp)
movl %eax, -0x5c(%rbp)
jmp 0x47d6
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x58(%rbp)
movl %eax, -0x5c(%rbp)
leaq -0x98(%rbp), %rdi
callq 0x2130
leaq -0xb8(%rbp), %rdi
callq 0x2130
jmp 0x4814
movq -0xc0(%rbp), %rdi
addq $0x70, %rdi
movq -0x10(%rbp), %rsi
callq 0x6410
movq -0xc0(%rbp), %rdi
addq $0xe0, %rdi
callq 0x37b0
addq $0x100, %rsp            # imm = 0x100
popq %rbp
retq
movq -0x58(%rbp), %rdi
callq 0x2310
nopl (%rax)