// File: /workspace/github_cpp_makefile_star2_O2/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 %r12
pushq %rbx
subq $0xa1f0, %rsp           # imm = 0xA1F0
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 0x1db0d
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 0x1dc88
leaq 0x439bc(%rip), %rsi     # 0x61537
xorl %r12d, %r12d
leaq -0xa210(%rbp), %rdi
leaq -0x160(%rbp), %r15
movq %r15, %rdx
xorl %eax, %eax
callq 0x8600
leaq 0x44b2e(%rip), %rsi     # 0x626cb
pushq $0x3
popq %rdx
movq %r15, %rdi
callq 0x8640
testl %eax, %eax
jne 0x1dbc0
leaq -0x160(%rbp), %rdi
callq 0x8290
cmpq $0x3, %rax
sete %r12b
leaq -0x48(%rbp), %r15
leaq -0x160(%rbp), %rsi
leaq -0x21(%rbp), %rdx
movq %r15, %rdi
callq 0x8260
movq %r14, %rdi
movq %r15, %rsi
callq 0x1e63c
movq %rax, %r15
leaq -0x48(%rbp), %rdi
callq 0x82c0
leaq 0x8(%r14), %rax
cmpq %rax, %r15
je 0x1dc3a
movq 0x40(%r15), %rdx
leaq -0x160(%rbp), %r14
movq %r14, %rsi
callq 0x1d920
movq 0x40(%r15), %rax
movq (%rax), %r12
movq %r14, %rdi
callq 0x8290
leaq (%rax,%rbp), %rsi
addq $-0xa20e, %rsi          # imm = 0xFFFF5DF2
movq %r12, %rdi
callq 0x8610
movq 0x40(%r15), %rax
movq (%rax), %rdi
callq 0x8450
jmp 0x1dc88
testb %r12b, %r12b
je 0x1dc88
movq 0x18(%r14), %r12
leaq -0xa210(%rbp), %r14
cmpq %r15, %r12
je 0x1dc88
movq 0x20(%r12), %rsi
movq 0x40(%r12), %rdx
callq 0x1d920
movq 0x40(%r12), %rax
movq (%rax), %rdi
movq %r14, %rsi
callq 0x8610
movq 0x40(%r12), %rax
movq (%rax), %rdi
callq 0x8450
movq %r12, %rdi
callq 0x8460
movq %rax, %r12
jmp 0x1dc4a
movq %rbx, %rdi
callq 0x84b0
addq $0xa1f0, %rsp           # imm = 0xA1F0
popq %rbx
popq %r12
popq %r14
popq %r15
popq %rbp
retq
movq %rax, %rbx
leaq -0x48(%rbp), %rdi
callq 0x82c0
movq %rbx, %rdi
callq 0x8b30