// File: /workspace/github_c_makefile_star2_O1/patriciogonzalezvivo[P]tprint/include/serial/serial.h
// Function: serial::IOException::IOException(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>>, int, int)
explicit IOException (std::string file, int line, int errnum)
    : file_(file), line_(line), errno_(errnum) {
      std::stringstream ss;
#if defined(_WIN32) && !defined(__MINGW32__)
      char error_str [1024];
      strerror_s(error_str, 1024, errnum);
#else
      char * error_str = strerror(errnum);
#endif
      ss << "IO Exception (" << errno_ << "): " << error_str;
      ss << ", file " << file_ << ", line " << line_ << ".";
      e_what_ = ss.str();
  }

// Assembly:
pushq %rbp
movq %rsp, %rbp
pushq %r15
pushq %r14
pushq %r13
pushq %r12
pushq %rbx
subq $0x1c8, %rsp            # imm = 0x1C8
movl %ecx, %r12d
movl %edx, %r14d
movq %rdi, %rbx
leaq 0x196e8(%rip), %rax     # 0x27d20
movq %rax, (%rdi)
leaq 0x8(%rdi), %r15
leaq 0x18(%rdi), %rax
movq %rax, -0x38(%rbp)
movq %rax, 0x8(%rdi)
movq (%rsi), %rax
movq 0x8(%rsi), %rdx
addq %rax, %rdx
movq %r15, %rdi
movq %rax, %rsi
callq 0xa26a
movq %r15, -0x40(%rbp)
movl %r14d, 0x28(%rbx)
leaq 0x30(%rbx), %r15
leaq 0x40(%rbx), %rax
movq %rax, -0x30(%rbp)
movq %rax, 0x30(%rbx)
movq $0x0, 0x38(%rbx)
movb $0x0, 0x40(%rbx)
movl %r12d, 0x50(%rbx)
leaq -0x1e8(%rbp), %rdi
callq 0x8230
movl %r12d, %edi
callq 0x8110
movq %rax, %r13
leaq -0x1d8(%rbp), %r12
leaq 0x13101(%rip), %rsi     # 0x217ae
movl $0xe, %edx
movq %r12, %rdi
callq 0x83c0
movl 0x50(%rbx), %esi
movq %r12, %rdi
callq 0x85d0
movq %rax, %r14
leaq 0x12f83(%rip), %rsi     # 0x21652
movl $0x3, %edx
movq %rax, %rdi
callq 0x83c0
testq %r13, %r13
je 0xe6f9
movq %r13, %rdi
callq 0x8170
movq %r14, %rdi
movq %r13, %rsi
movq %rax, %rdx
callq 0x83c0
jmp 0xe713
movq (%r14), %rax
movq -0x18(%rax), %rax
movq %r14, %rdi
addq %rax, %rdi
movl 0x20(%r14,%rax), %esi
orl $0x1, %esi
callq 0x85b0
leaq 0x13084(%rip), %rsi     # 0x2179e
movl $0x7, %edx
movq %r12, %rdi
callq 0x83c0
movq 0x8(%rbx), %rsi
movq 0x10(%rbx), %rdx
movq %r12, %rdi
callq 0x83c0
movq %rax, %r14
leaq 0x13065(%rip), %rsi     # 0x217a6
movl $0x7, %edx
movq %rax, %rdi
callq 0x83c0
movl 0x28(%rbx), %esi
movq %r14, %rdi
callq 0x85d0
leaq 0x1302d(%rip), %rsi     # 0x2178d
movl $0x1, %edx
movq %rax, %rdi
callq 0x83c0
leaq -0x1d0(%rbp), %rsi
leaq -0x60(%rbp), %rdi
callq 0x8560
leaq -0x60(%rbp), %rbx
movq %r15, %rdi
movq %rbx, %rsi
callq 0x8400
movq (%rbx), %rdi
leaq -0x50(%rbp), %rax
cmpq %rax, %rdi
je 0xe7a4
movq -0x50(%rbp), %rsi
incq %rsi
callq 0x8320
movq 0x197f5(%rip), %rsi     # 0x27fa0
leaq -0x1e8(%rbp), %rdi
callq 0x8270
leaq -0x168(%rbp), %rdi
callq 0x8100
addq $0x1c8, %rsp            # imm = 0x1C8
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
retq
jmp 0xe7e1
movq %rax, %r12
jmp 0xe803
movq %rax, %r12
jmp 0xe837
movq %rax, %r12
movq 0x197b5(%rip), %rsi     # 0x27fa0
leaq -0x1e8(%rbp), %rdi
callq 0x8270
leaq -0x168(%rbp), %rdi
callq 0x8100
movq (%r15), %rdi
cmpq -0x30(%rbp), %rdi
je 0xe81b
movq -0x30(%rbp), %rax
movq (%rax), %rsi
incq %rsi
callq 0x8320
movq -0x40(%rbp), %rax
movq (%rax), %rdi
cmpq -0x38(%rbp), %rdi
je 0xe837
movq -0x38(%rbp), %rax
movq (%rax), %rsi
incq %rsi
callq 0x8320
movq %rbx, %rdi
callq 0x8650
movq %r12, %rdi
callq 0x8600
nop