// File: /workspace/github_cpp_makefile_star2_O3/rpavlik[P]edid-decode/edid-decode.cpp
// Function: msg(bool, char const*, ...)
void msg(bool is_warn, const char *fmt, ...)
{
	char buf[1024] = "";
	va_list ap;

	va_start(ap, fmt);
	vsprintf(buf, fmt, ap);
	va_end(ap);

	if (is_warn)
		state.warnings++;
	else
		state.failures++;
	if (state.data_block.empty())
		s_msgs[state.block_nr][is_warn] += std::string("  ") + buf;
	else
		s_msgs[state.block_nr][is_warn] += "  " + state.data_block + ": " + buf;

	if (options[OptCheckInline])
		printf("%s: %s", is_warn ? "WARN" : "FAIL", buf);
}

// Assembly:
pushq %r15
pushq %r14
pushq %r12
pushq %rbx
subq $0x538, %rsp            # imm = 0x538
movq %rsi, %r14
movl %edi, %ebx
leaq 0x80(%rsp), %r12
movq %rdx, 0x10(%r12)
movq %rcx, 0x18(%r12)
movq %r8, 0x20(%r12)
movq %r9, 0x28(%r12)
testb %al, %al
je 0x383f
movaps %xmm0, 0xb0(%rsp)
movaps %xmm1, 0xc0(%rsp)
movaps %xmm2, 0xd0(%rsp)
movaps %xmm3, 0xe0(%rsp)
movaps %xmm4, 0xf0(%rsp)
movaps %xmm5, 0x100(%rsp)
movaps %xmm6, 0x110(%rsp)
movaps %xmm7, 0x120(%rsp)
leaq 0x130(%rsp), %r15
movl $0x400, %edx            # imm = 0x400
movq %r15, %rdi
xorl %esi, %esi
callq 0x3150
leaq 0x60(%rsp), %rdx
movq %r12, 0x10(%rdx)
leaq 0x560(%rsp), %rax
movq %rax, 0x8(%rdx)
movabsq $0x3000000010, %rax     # imm = 0x3000000010
movq %rax, (%rdx)
movq %r15, %rdi
movq %r14, %rsi
callq 0x3120
testl %ebx, %ebx
je 0x388f
incl 0x36ecf(%rip)           # 0x3a75c
jmp 0x3895
incl 0x36ecb(%rip)           # 0x3a760
cmpq $0x0, 0x36e7b(%rip)     # 0x3a718
je 0x38f0
leaq 0x21bf3(%rip), %rsi     # 0x25499
leaq 0x36e63(%rip), %rdx     # 0x3a710
leaq 0x40(%rsp), %r14
movq %r14, %rdi
callq 0x8855
leaq 0x2f016(%rip), %rsi     # 0x328d7
movq %r14, %rdi
callq 0x3420
leaq 0x30(%rsp), %r14
movq %r14, -0x10(%r14)
movq (%rax), %rdx
movq %rax, %rcx
addq $0x10, %rcx
cmpq %rcx, %rdx
je 0x3950
movq %rdx, 0x20(%rsp)
movq (%rcx), %rdx
movq %rdx, 0x30(%rsp)
jmp 0x3957
leaq 0x30(%rsp), %r14
movq %r14, -0x10(%r14)
leaq 0x21b99(%rip), %rsi     # 0x25499
leaq 0x21b94(%rip), %rdx     # 0x2549b
leaq 0x20(%rsp), %rdi
callq 0x8d58
leaq 0x20(%rsp), %rdi
leaq 0x130(%rsp), %rsi
callq 0x3420
leaq 0x10(%rsp), %r15
movq %r15, -0x10(%r15)
movq (%rax), %rsi
movq %rax, %rcx
addq $0x10, %rcx
cmpq %rcx, %rsi
je 0x3a2c
movq %rsi, (%rsp)
movq (%rcx), %rdx
movq %rdx, 0x10(%rsp)
jmp 0x3a36
movups (%rcx), %xmm0
movups %xmm0, (%r14)
movq 0x8(%rax), %rdx
leaq 0x20(%rsp), %rdi
movq %rdx, 0x8(%rdi)
movq %rcx, (%rax)
movq $0x0, 0x8(%rax)
movb $0x0, 0x10(%rax)
leaq 0x130(%rsp), %rsi
callq 0x3420
leaq 0x10(%rsp), %r15
movq %r15, -0x10(%r15)
movq (%rax), %rsi
movq %rax, %rcx
addq $0x10, %rcx
cmpq %rcx, %rsi
je 0x39a6
movq %rsi, (%rsp)
movq (%rcx), %rdx
movq %rdx, 0x10(%rsp)
jmp 0x39b0
movups (%rcx), %xmm0
movups %xmm0, (%r15)
movq %r15, %rsi
movq 0x8(%rax), %rdx
movq %rdx, 0x8(%rsp)
movq %rcx, (%rax)
movq $0x0, 0x8(%rax)
movb $0x0, 0x10(%rax)
movl 0x36d1a(%rip), %eax     # 0x3a6e8
shlq $0x6, %rax
leaq 0x37687(%rip), %rcx     # 0x3b060
movzbl %bl, %edi
shll $0x5, %edi
addq %rcx, %rdi
addq %rax, %rdi
callq 0x30b0
movq (%rsp), %rdi
cmpq %r15, %rdi
je 0x3a00
movq 0x10(%rsp), %rsi
incq %rsi
callq 0x3260
movq 0x20(%rsp), %rdi
cmpq %r14, %rdi
je 0x3a17
movq 0x30(%rsp), %rsi
incq %rsi
callq 0x3260
leaq 0x50(%rsp), %rax
movq -0x10(%rax), %rdi
cmpq %rax, %rdi
je 0x3a9d
movq 0x50(%rsp), %rsi
jmp 0x3a95
movups (%rcx), %xmm0
movups %xmm0, (%r15)
movq %r15, %rsi
movq 0x8(%rax), %rdx
movq %rdx, 0x8(%rsp)
movq %rcx, (%rax)
movq $0x0, 0x8(%rax)
movb $0x0, 0x10(%rax)
movl 0x36c94(%rip), %eax     # 0x3a6e8
shlq $0x6, %rax
leaq 0x37601(%rip), %rcx     # 0x3b060
movzbl %bl, %edi
shll $0x5, %edi
addq %rcx, %rdi
addq %rax, %rdi
callq 0x30b0
movq (%rsp), %rdi
cmpq %r15, %rdi
je 0x3a86
movq 0x10(%rsp), %rsi
incq %rsi
callq 0x3260
movq 0x20(%rsp), %rdi
cmpq %r14, %rdi
je 0x3a9d
movq 0x30(%rsp), %rsi
incq %rsi
callq 0x3260
cmpb $0x0, 0x3b63f(%rip)     # 0x3f0e3
je 0x3ad0
leaq 0x1c657(%rip), %rax     # 0x20104
leaq 0x1c655(%rip), %rsi     # 0x20109
testb %bl, %bl
cmovneq %rax, %rsi
leaq 0x1c63c(%rip), %rdi     # 0x200fd
leaq 0x130(%rsp), %rdx
xorl %eax, %eax
callq 0x3030
addq $0x538, %rsp            # imm = 0x538
popq %rbx
popq %r12
popq %r14
popq %r15
retq
movq %rax, %rbx
movq (%rsp), %rdi
cmpq %r15, %rdi
je 0x3afd
movq 0x10(%rsp), %rsi
incq %rsi
callq 0x3260
jmp 0x3afd
movq %rax, %rbx
movq 0x20(%rsp), %rdi
cmpq %r14, %rdi
je 0x3b68
movq 0x30(%rsp), %rsi
jmp 0x3b60
movq %rax, %rbx
jmp 0x3b68
movq %rax, %rbx
movq (%rsp), %rdi
cmpq %r15, %rdi
je 0x3b31
movq 0x10(%rsp), %rsi
incq %rsi
callq 0x3260
jmp 0x3b31
movq %rax, %rbx
movq 0x20(%rsp), %rdi
cmpq %r14, %rdi
je 0x3b4d
movq 0x30(%rsp), %rsi
incq %rsi
callq 0x3260
jmp 0x3b4d
movq %rax, %rbx
leaq 0x50(%rsp), %rax
movq -0x10(%rax), %rdi
cmpq %rax, %rdi
je 0x3b68
movq 0x50(%rsp), %rsi
incq %rsi
callq 0x3260
movq %rbx, %rdi
callq 0x3400