// File: /workspace/github_cpp_makefile_star2_O3/DoubleString[P]RtConverter/src/Rnxobs/Log.cpp
// Function: bamboo::Log::m_wtMsg(char const*, ...)
void Log::m_wtMsg(const char * fmt_msg, ...) {
	char log_msg_buff[40960] = { 0 };
	char filName[256] = {0};
	bool l_wtAll;
	map<string, LogItem*>::iterator itr;
	va_list args;
	va_start(args, fmt_msg);
	vsprintf(log_msg_buff, fmt_msg, args);
	va_end(args);
	l_wtAll = false;
	def_lock(&_lock);
	if (log_msg_buff[0] == '@') {
		sscanf(log_msg_buff, "@%s", filName);
		if(!strncmp(filName,"ALL",3) && strlen(filName) == 3)
			l_wtAll = true;
		itr = mapOut.find(filName);
		if (itr != mapOut.end()) {
			l_wtAll = false;
			// check whether update the file
			m_chkUpdate(filName,(*itr).second);
			(*(*(*itr).second).of) << log_msg_buff + strlen(filName) + 1 + 1; // remove the blankspace
			(*(*itr).second).of->flush();
		}
	}
	if (l_wtAll) {
		for (itr = mapOut.begin(); itr != mapOut.end(); itr++) {
			// check whether update the file
			m_chkUpdate((*itr).first.c_str(),(*itr).second);
			(*(*(*itr).second).of) << log_msg_buff;
			(*(*itr).second).of->flush();
		}
	}
	def_unlock(&_lock);
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
pushq %r15
pushq %r14
pushq %r13
pushq %r12
pushq %rbx
subq $0xa1e8, %rsp           # imm = 0xA1E8
movq %rsi, %rbx
movq %rdi, %r14
leaq -0x210(%rbp), %r12
movq %rdx, 0x10(%r12)
movq %rcx, 0x18(%r12)
movq %r8, 0x20(%r12)
movq %r9, 0x28(%r12)
testb %al, %al
je 0x214a3
movaps %xmm0, -0x1e0(%rbp)
movaps %xmm1, -0x1d0(%rbp)
movaps %xmm2, -0x1c0(%rbp)
movaps %xmm3, -0x1b0(%rbp)
movaps %xmm4, -0x1a0(%rbp)
movaps %xmm5, -0x190(%rbp)
movaps %xmm6, -0x180(%rbp)
movaps %xmm7, -0x170(%rbp)
leaq -0xa210(%rbp), %r15
movl $0xa000, %edx           # imm = 0xA000
movq %r15, %rdi
xorl %esi, %esi
callq 0x8390
leaq -0x160(%rbp), %rdi
movl $0x100, %edx            # imm = 0x100
xorl %esi, %esi
callq 0x8390
leaq -0x60(%rbp), %rdx
movq %r12, 0x10(%rdx)
leaq 0x10(%rbp), %rax
movq %rax, 0x8(%rdx)
movabsq $0x3000000010, %rax     # imm = 0x3000000010
movq %rax, (%rdx)
movq %r15, %rdi
movq %rbx, %rsi
callq 0x82e0
leaq 0x60(%r14), %rbx
movq %rbx, %rdi
callq 0x8900
cmpb $0x40, (%r15)
jne 0x21655
leaq 0x4a036(%rip), %rsi     # 0x6b547
leaq -0xa210(%rbp), %rdi
leaq -0x160(%rbp), %r15
movq %r15, %rdx
xorl %eax, %eax
callq 0x8610
movl $0x4c41, %eax           # imm = 0x4C41
xorl (%r15), %eax
movzbl 0x2(%r15), %ecx
xorl $0x4c, %ecx
orw %ax, %cx
movb $0x1, %r13b
jne 0x21555
leaq -0x160(%rbp), %rdi
callq 0x8290
cmpq $0x3, %rax
setne %r13b
leaq -0x38(%rbp), %rax
movq %rax, -0x10(%rax)
movq %r15, %rdi
callq 0x8290
leaq (%rax,%rbp), %rdx
addq $-0x160, %rdx           # imm = 0xFEA0
leaq -0x48(%rbp), %r12
movq %r12, %rdi
movq %r15, %rsi
callq 0x1100a
movq %r14, %rdi
movq %r12, %rsi
callq 0x2204a
movq %rax, %r15
movq -0x48(%rbp), %rdi
leaq -0x38(%rbp), %rax
cmpq %rax, %rdi
je 0x2159f
callq 0x85d0
leaq 0x8(%r14), %rax
cmpq %rax, %r15
je 0x215f9
movq 0x40(%r15), %rdx
leaq -0x160(%rbp), %r14
movq %r14, %rsi
callq 0x212b0
movq 0x40(%r15), %rax
movq (%rax), %r12
movq %r14, %rdi
callq 0x8290
leaq (%rax,%rbp), %r14
addq $-0xa20e, %r14          # imm = 0xFFFF5DF2
movq %r14, %rdi
callq 0x8290
movq %r12, %rdi
movq %r14, %rsi
movq %rax, %rdx
callq 0x8720
movq 0x40(%r15), %rax
movq (%rax), %rdi
callq 0x8450
jmp 0x21655
movq 0x18(%r14), %r14
cmpq %r15, %r14
sete %al
orb %al, %r13b
jne 0x21655
leaq -0xa210(%rbp), %r12
movq 0x20(%r14), %rsi
movq 0x40(%r14), %rdx
callq 0x212b0
movq 0x40(%r14), %rax
movq (%rax), %r13
movq %r12, %rdi
callq 0x8290
movq %r13, %rdi
movq %r12, %rsi
movq %rax, %rdx
callq 0x8720
movq 0x40(%r14), %rax
movq (%rax), %rdi
callq 0x8450
movq %r14, %rdi
callq 0x8460
movq %rax, %r14
cmpq %r15, %rax
jne 0x2160f
movq %rbx, %rdi
callq 0x84b0
addq $0xa1e8, %rsp           # imm = 0xA1E8
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
retq
movq %rax, %rbx
movq -0x48(%rbp), %rdi
leaq -0x38(%rbp), %rax
cmpq %rax, %rdi
je 0x21684
callq 0x85d0
movq %rbx, %rdi
callq 0x8b30