LLM4Binary/decompile-bench-makefile huggingface dataset:
// File: ehw-fit[P]py-paretoarchive/src/paretoarchive/core.cpp
// Function: _pyx_pf_13paretoarchive_4core_18PyBspTreeArchive14_14size(__pyx_obj_13paretoarchive_4core_PyBspTreeArchive14*)
static PyObject *__pyx_pf_13paretoarchive_4core_18PyBspTreeArchive14_14size(struct __pyx_obj_13paretoarchive_4core_PyBspTreeArchive14 *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("size", 0);

  /* "paretoarchive/core.pyx":1157
 * 
 *   def size(self):
 *     return self._front.size()             # <<<<<<<<<<<<<<
 * 
 *   def points(self, bool returnIds=False):
 */
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyInt_From_unsigned_int(__pyx_v_self->_front->size()); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1157, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "paretoarchive/core.pyx":1156
 *     return self._front.empty()
 * 
 *   def size(self):             # <<<<<<<<<<<<<<
 *     return self._front.size()
 * 
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("paretoarchive.core.PyBspTreeArchive14.size", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x30, %rsp
movq %rdi, -0x8(%rbp)
movq $0x0, -0x10(%rbp)
movq $0x0, -0x18(%rbp)
movl $0x0, -0x1c(%rbp)
movq $0x0, -0x28(%rbp)
movl $0x0, -0x2c(%rbp)
movq -0x10(%rbp), %rdi
callq 0x2a8d0
movq -0x8(%rbp), %rax
movq 0x10(%rax), %rdi
callq 0x8a920
movl %eax, %edi
callq 0x304b0
movq %rax, -0x18(%rbp)
cmpq $0x0, -0x18(%rbp)
setne %al
xorb $-0x1, %al
xorb $-0x1, %al
xorb $-0x1, %al
testb $0x1, %al
jne 0x5ccf7
jmp 0x5cd12
movq 0x4a762(%rip), %rax     # 0xa7460
movq %rax, -0x28(%rbp)
movl $0x485, -0x1c(%rbp)     # imm = 0x485
movl $0x4f53, -0x2c(%rbp)    # imm = 0x4F53
jmp 0x5cd24
movq -0x18(%rbp), %rax
movq %rax, -0x10(%rbp)
movq $0x0, -0x18(%rbp)
jmp 0x5cd4b
movq -0x18(%rbp), %rdi
callq 0x2a8d0
movl -0x2c(%rbp), %esi
movl -0x1c(%rbp), %edx
movq -0x28(%rbp), %rcx
leaq 0x331f5(%rip), %rdi     # 0x8ff33
callq 0x2c5a0
movq $0x0, -0x10(%rbp)
movq -0x10(%rbp), %rax
addq $0x30, %rsp
popq %rbp
retq
nopw %cs:(%rax,%rax)
// File: ehw-fit[P]py-paretoarchive/src/paretoarchive/core.cpp
// Function: _pyx_pw_13paretoarchive_4core_18PyBspTreeArchive14_3__cinit__(_object*, _object*, _object*)
static int __pyx_pw_13paretoarchive_4core_18PyBspTreeArchive14_3__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__cinit__ (wrapper)", 0);
  if (unlikely(PyTuple_GET_SIZE(__pyx_args) > 0)) {
    __Pyx_RaiseArgtupleInvalid("__cinit__", 1, 0, 0, PyTuple_GET_SIZE(__pyx_args)); return -1;}
  if (unlikely(__pyx_kwds) && unlikely(PyDict_Size(__pyx_kwds) > 0) && unlikely(!__Pyx_CheckKeywordStrings(__pyx_kwds, "__cinit__", 0))) return -1;
  __pyx_r = __pyx_pf_13paretoarchive_4core_18PyBspTreeArchive14_2__cinit__(((struct __pyx_obj_13paretoarchive_4core_PyBspTreeArchive14 *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x30, %rsp
movq %rdi, -0x10(%rbp)
movq %rsi, -0x18(%rbp)
movq %rdx, -0x20(%rbp)
movq -0x18(%rbp), %rax
cmpq $0x0, 0x10(%rax)
setg %al
xorb $-0x1, %al
xorb $-0x1, %al
testb $0x1, %al
jne 0x5dd2a
jmp 0x5dd53
movq -0x18(%rbp), %rax
movq 0x10(%rax), %r8
leaq 0x3129b(%rip), %rdi     # 0x8efd4
movl $0x1, %esi
xorl %eax, %eax
movl %eax, %ecx
movq %rcx, %rdx
callq 0x2f6a0
movl $0xffffffff, -0x4(%rbp) # imm = 0xFFFFFFFF
jmp 0x5ddbe
cmpq $0x0, -0x20(%rbp)
setne %al
xorb $-0x1, %al
xorb $-0x1, %al
testb $0x1, %al
jne 0x5dd65
jmp 0x5ddac
movq -0x20(%rbp), %rdi
callq 0x29650
cmpq $0x0, %rax
setg %al
xorb $-0x1, %al
xorb $-0x1, %al
testb $0x1, %al
jne 0x5dd7f
jmp 0x5ddac
movq -0x20(%rbp), %rdi
leaq 0x3124a(%rip), %rsi     # 0x8efd4
xorl %edx, %edx
callq 0x30bb0
cmpl $0x0, %eax
setne %al
xorb $-0x1, %al
xorb $-0x1, %al
xorb $-0x1, %al
testb $0x1, %al
jne 0x5dda3
jmp 0x5ddac
movl $0xffffffff, -0x4(%rbp) # imm = 0xFFFFFFFF
jmp 0x5ddbe
movq -0x10(%rbp), %rdi
callq 0x5ddd0
movl %eax, -0x24(%rbp)
movl -0x24(%rbp), %eax
movl %eax, -0x4(%rbp)
movl -0x4(%rbp), %eax
addq $0x30, %rsp
popq %rbp
retq
nopw (%rax,%rax)
// File: ehw-fit[P]py-paretoarchive/src/paretoarchive/core.cpp
// Function: _pyx_tp_new_13paretoarchive_4core_PyBspTreeArchive15(_typeobject*, _object*, _object*)
static PyObject *__pyx_tp_new_13paretoarchive_4core_PyBspTreeArchive15(PyTypeObject *t, CYTHON_UNUSED PyObject *a, CYTHON_UNUSED PyObject *k) {
  PyObject *o;
  if (likely((t->tp_flags & Py_TPFLAGS_IS_ABSTRACT) == 0)) {
    o = (*t->tp_alloc)(t, 0);
  } else {
    o = (PyObject *) PyBaseObject_Type.tp_new(t, __pyx_empty_tuple, 0);
  }
  if (unlikely(!o)) return 0;
  if (unlikely(__pyx_pw_13paretoarchive_4core_18PyBspTreeArchive15_3__cinit__(o, __pyx_empty_tuple, NULL) < 0)) goto bad;
  return o;
  bad:
  Py_DECREF(o); o = 0;
  return NULL;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x30, %rsp
movq %rdi, -0x10(%rbp)
movq %rsi, -0x18(%rbp)
movq %rdx, -0x20(%rbp)
movq -0x10(%rbp), %rax
movq 0xa8(%rax), %rax
andq $0x100000, %rax         # imm = 0x100000
cmpq $0x0, %rax
sete %al
xorb $-0x1, %al
xorb $-0x1, %al
testb $0x1, %al
jne 0x5e056
jmp 0x5e071
movq -0x10(%rbp), %rax
movq 0x130(%rax), %rax
movq -0x10(%rbp), %rdi
xorl %ecx, %ecx
movl %ecx, %esi
callq *%rax
movq %rax, -0x28(%rbp)
jmp 0x5e094
movq 0x48e98(%rip), %rax     # 0xa6f10
movq 0x138(%rax), %rax
movq -0x10(%rbp), %rdi
movq 0x4e32e(%rip), %rsi     # 0xac3b8
xorl %ecx, %ecx
movl %ecx, %edx
callq *%rax
movq %rax, -0x28(%rbp)
cmpq $0x0, -0x28(%rbp)
setne %al
xorb $-0x1, %al
xorb $-0x1, %al
xorb $-0x1, %al
testb $0x1, %al
jne 0x5e0a8
jmp 0x5e0b2
movq $0x0, -0x8(%rbp)
jmp 0x5e0fb
movq -0x28(%rbp), %rdi
movq 0x4e2fb(%rip), %rsi     # 0xac3b8
xorl %eax, %eax
movl %eax, %edx
callq 0x63030
cmpl $0x0, %eax
setl %al
xorb $-0x1, %al
xorb $-0x1, %al
testb $0x1, %al
jne 0x5e0d6
jmp 0x5e0d8
jmp 0x5e0e2
movq -0x28(%rbp), %rax
movq %rax, -0x8(%rbp)
jmp 0x5e0fb
movq -0x28(%rbp), %rdi
callq 0x2a7e0
movq $0x0, -0x28(%rbp)
movq $0x0, -0x8(%rbp)
movq -0x8(%rbp), %rax
addq $0x30, %rsp
popq %rbp
retq
nopw %cs:(%rax,%rax)
// File: ehw-fit[P]py-paretoarchive/src/paretoarchive/core.cpp
// Function: _pyx_pf_13paretoarchive_4core_18PyBspTreeArchive15_12empty(__pyx_obj_13paretoarchive_4core_PyBspTreeArchive15*)
static PyObject *__pyx_pf_13paretoarchive_4core_18PyBspTreeArchive15_12empty(struct __pyx_obj_13paretoarchive_4core_PyBspTreeArchive15 *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("empty", 0);

  /* "paretoarchive/core.pyx":1257
 * 
 *   def empty(self):
 *     return self._front.empty()             # <<<<<<<<<<<<<<
 * 
 *   def size(self):
 */
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyBool_FromLong(__pyx_v_self->_front->empty()); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1257, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "paretoarchive/core.pyx":1256
 *     self._front.clear()
 * 
 *   def empty(self):             # <<<<<<<<<<<<<<
 *     return self._front.empty()
 * 
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("paretoarchive.core.PyBspTreeArchive15.empty", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x30, %rsp
movq %rdi, -0x8(%rbp)
movq $0x0, -0x10(%rbp)
movq $0x0, -0x18(%rbp)
movl $0x0, -0x1c(%rbp)
movq $0x0, -0x28(%rbp)
movl $0x0, -0x2c(%rbp)
movq -0x10(%rbp), %rdi
callq 0x2a8d0
movq -0x8(%rbp), %rax
movq 0x10(%rax), %rdi
callq 0x8cef0
andb $0x1, %al
movzbl %al, %eax
movl %eax, %edi
callq 0x30080
movq %rax, -0x18(%rbp)
cmpq $0x0, -0x18(%rbp)
setne %al
xorb $-0x1, %al
xorb $-0x1, %al
xorb $-0x1, %al
testb $0x1, %al
jne 0x61e6c
jmp 0x61e87
movq 0x455ed(%rip), %rax     # 0xa7460
movq %rax, -0x28(%rbp)
movl $0x4e9, -0x1c(%rbp)     # imm = 0x4E9
movl $0x55bd, -0x2c(%rbp)    # imm = 0x55BD
jmp 0x61e99
movq -0x18(%rbp), %rax
movq %rax, -0x10(%rbp)
movq $0x0, -0x18(%rbp)
jmp 0x61ec0
movq -0x18(%rbp), %rdi
callq 0x2a8d0
movl -0x2c(%rbp), %esi
movl -0x1c(%rbp), %edx
movq -0x28(%rbp), %rcx
leaq 0x2e18d(%rip), %rdi     # 0x90040
callq 0x2c5a0
movq $0x0, -0x10(%rbp)
movq -0x10(%rbp), %rax
addq $0x30, %rsp
popq %rbp
retq
nopw (%rax,%rax)
// File: ehw-fit[P]py-paretoarchive/src/paretoarchive/core.cpp
// Function: _pyx_pf_13paretoarchive_4core_18PyBspTreeArchive15_14size(__pyx_obj_13paretoarchive_4core_PyBspTreeArchive15*)
static PyObject *__pyx_pf_13paretoarchive_4core_18PyBspTreeArchive15_14size(struct __pyx_obj_13paretoarchive_4core_PyBspTreeArchive15 *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("size", 0);

  /* "paretoarchive/core.pyx":1260
 * 
 *   def size(self):
 *     return self._front.size()             # <<<<<<<<<<<<<<
 * 
 *   def points(self, bool returnIds=False):
 */
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyInt_From_unsigned_int(__pyx_v_self->_front->size()); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1260, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "paretoarchive/core.pyx":1259
 *     return self._front.empty()
 * 
 *   def size(self):             # <<<<<<<<<<<<<<
 *     return self._front.size()
 * 
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("paretoarchive.core.PyBspTreeArchive15.size", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x30, %rsp
movq %rdi, -0x8(%rbp)
movq $0x0, -0x10(%rbp)
movq $0x0, -0x18(%rbp)
movl $0x0, -0x1c(%rbp)
movq $0x0, -0x28(%rbp)
movl $0x0, -0x2c(%rbp)
movq -0x10(%rbp), %rdi
callq 0x2a8d0
movq -0x8(%rbp), %rax
movq 0x10(%rax), %rdi
callq 0x8cf10
movl %eax, %edi
callq 0x304b0
movq %rax, -0x18(%rbp)
cmpq $0x0, -0x18(%rbp)
setne %al
xorb $-0x1, %al
xorb $-0x1, %al
xorb $-0x1, %al
testb $0x1, %al
jne 0x61f37
jmp 0x61f52
movq 0x45522(%rip), %rax     # 0xa7460
movq %rax, -0x28(%rbp)
movl $0x4ec, -0x1c(%rbp)     # imm = 0x4EC
movl $0x55fd, -0x2c(%rbp)    # imm = 0x55FD
jmp 0x61f64
movq -0x18(%rbp), %rax
movq %rax, -0x10(%rbp)
movq $0x0, -0x18(%rbp)
jmp 0x61f8b
movq -0x18(%rbp), %rdi
callq 0x2a8d0
movl -0x2c(%rbp), %esi
movl -0x1c(%rbp), %edx
movq -0x28(%rbp), %rcx
leaq 0x2e0ee(%rip), %rdi     # 0x9006c
callq 0x2c5a0
movq $0x0, -0x10(%rbp)
movq -0x10(%rbp), %rax
addq $0x30, %rsp
popq %rbp
retq
nopw %cs:(%rax,%rax)
// File: ehw-fit[P]py-paretoarchive/src/paretoarchive/core.cpp
// Function: _pyx_pw_13paretoarchive_4core_18PyBspTreeArchive15_3__cinit__(_object*, _object*, _object*)
static int __pyx_pw_13paretoarchive_4core_18PyBspTreeArchive15_3__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__cinit__ (wrapper)", 0);
  if (unlikely(PyTuple_GET_SIZE(__pyx_args) > 0)) {
    __Pyx_RaiseArgtupleInvalid("__cinit__", 1, 0, 0, PyTuple_GET_SIZE(__pyx_args)); return -1;}
  if (unlikely(__pyx_kwds) && unlikely(PyDict_Size(__pyx_kwds) > 0) && unlikely(!__Pyx_CheckKeywordStrings(__pyx_kwds, "__cinit__", 0))) return -1;
  __pyx_r = __pyx_pf_13paretoarchive_4core_18PyBspTreeArchive15_2__cinit__(((struct __pyx_obj_13paretoarchive_4core_PyBspTreeArchive15 *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x30, %rsp
movq %rdi, -0x10(%rbp)
movq %rsi, -0x18(%rbp)
movq %rdx, -0x20(%rbp)
movq -0x18(%rbp), %rax
cmpq $0x0, 0x10(%rax)
setg %al
xorb $-0x1, %al
xorb $-0x1, %al
testb $0x1, %al
jne 0x6305a
jmp 0x63083
movq -0x18(%rbp), %rax
movq 0x10(%rax), %r8
leaq 0x2bf6b(%rip), %rdi     # 0x8efd4
movl $0x1, %esi
xorl %eax, %eax
movl %eax, %ecx
movq %rcx, %rdx
callq 0x2f6a0
movl $0xffffffff, -0x4(%rbp) # imm = 0xFFFFFFFF
jmp 0x630ee
cmpq $0x0, -0x20(%rbp)
setne %al
xorb $-0x1, %al
xorb $-0x1, %al
testb $0x1, %al
jne 0x63095
jmp 0x630dc
movq -0x20(%rbp), %rdi
callq 0x29650
cmpq $0x0, %rax
setg %al
xorb $-0x1, %al
xorb $-0x1, %al
testb $0x1, %al
jne 0x630af
jmp 0x630dc
movq -0x20(%rbp), %rdi
leaq 0x2bf1a(%rip), %rsi     # 0x8efd4
xorl %edx, %edx
callq 0x30bb0
cmpl $0x0, %eax
setne %al
xorb $-0x1, %al
xorb $-0x1, %al
xorb $-0x1, %al
testb $0x1, %al
jne 0x630d3
jmp 0x630dc
movl $0xffffffff, -0x4(%rbp) # imm = 0xFFFFFFFF
jmp 0x630ee
movq -0x10(%rbp), %rdi
callq 0x63100
movl %eax, -0x24(%rbp)
movl -0x24(%rbp), %eax
movl %eax, -0x4(%rbp)
movl -0x4(%rbp), %eax
addq $0x30, %rsp
popq %rbp
retq
nopw (%rax,%rax)
// File: ehw-fit[P]py-paretoarchive/src/paretoarchive/core.cpp
// Function: _Pyx_CyFunction_Init(__pyx_CyFunctionObject*, PyMethodDef*, int, _object*, _object*, _object*, _object*, _object*)
static PyObject *__Pyx_CyFunction_Init(__pyx_CyFunctionObject *op, PyMethodDef *ml, int flags, PyObject* qualname,
                                       PyObject *closure, PyObject *module, PyObject* globals, PyObject* code) {
    if (unlikely(op == NULL))
        return NULL;
    op->flags = flags;
    __Pyx_CyFunction_weakreflist(op) = NULL;
    op->func.m_ml = ml;
    op->func.m_self = (PyObject *) op;
    Py_XINCREF(closure);
    op->func_closure = closure;
    Py_XINCREF(module);
    op->func.m_module = module;
    op->func_dict = NULL;
    op->func_name = NULL;
    Py_INCREF(qualname);
    op->func_qualname = qualname;
    op->func_doc = NULL;
    op->func_classobj = NULL;
    op->func_globals = globals;
    Py_INCREF(op->func_globals);
    Py_XINCREF(code);
    op->func_code = code;
    op->defaults_pyobjects = 0;
    op->defaults_size = 0;
    op->defaults = NULL;
    op->defaults_tuple = NULL;
    op->defaults_kwdict = NULL;
    op->defaults_getter = NULL;
    op->func_annotations = NULL;
    return (PyObject *) op;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x40, %rsp
movq 0x18(%rbp), %rax
movq 0x10(%rbp), %rax
movq %rdi, -0x10(%rbp)
movq %rsi, -0x18(%rbp)
movl %edx, -0x1c(%rbp)
movq %rcx, -0x28(%rbp)
movq %r8, -0x30(%rbp)
movq %r9, -0x38(%rbp)
cmpq $0x0, -0x10(%rbp)
sete %al
xorb $-0x1, %al
xorb $-0x1, %al
testb $0x1, %al
jne 0x63259
jmp 0x63266
movq $0x0, -0x8(%rbp)
jmp 0x633a1
movl -0x1c(%rbp), %ecx
movq -0x10(%rbp), %rax
movl %ecx, 0x90(%rax)
movq -0x10(%rbp), %rax
movq $0x0, 0x28(%rax)
movq -0x18(%rbp), %rcx
movq -0x10(%rbp), %rax
movq %rcx, 0x10(%rax)
movq -0x10(%rbp), %rcx
movq -0x10(%rbp), %rax
movq %rcx, 0x18(%rax)
movq -0x30(%rbp), %rdi
callq 0x2dda0
movq -0x30(%rbp), %rcx
movq -0x10(%rbp), %rax
movq %rcx, 0x68(%rax)
movq -0x38(%rbp), %rdi
callq 0x2dda0
movq -0x38(%rbp), %rcx
movq -0x10(%rbp), %rax
movq %rcx, 0x20(%rax)
movq -0x10(%rbp), %rax
movq $0x0, 0x38(%rax)
movq -0x10(%rbp), %rax
movq $0x0, 0x40(%rax)
movq -0x28(%rbp), %rdi
callq 0x2a7c0
movq -0x28(%rbp), %rcx
movq -0x10(%rbp), %rax
movq %rcx, 0x48(%rax)
movq -0x10(%rbp), %rax
movq $0x0, 0x50(%rax)
movq -0x10(%rbp), %rax
movq $0x0, 0x70(%rax)
movq 0x10(%rbp), %rcx
movq -0x10(%rbp), %rax
movq %rcx, 0x58(%rax)
movq -0x10(%rbp), %rax
movq 0x58(%rax), %rdi
callq 0x2a7c0
movq 0x18(%rbp), %rdi
callq 0x2dda0
movq 0x18(%rbp), %rcx
movq -0x10(%rbp), %rax
movq %rcx, 0x60(%rax)
movq -0x10(%rbp), %rax
movl $0x0, 0x80(%rax)
movq -0x10(%rbp), %rax
movq $0x0, 0x88(%rax)
movq -0x10(%rbp), %rax
movq $0x0, 0x78(%rax)
movq -0x10(%rbp), %rax
movq $0x0, 0x98(%rax)
movq -0x10(%rbp), %rax
movq $0x0, 0xa0(%rax)
movq -0x10(%rbp), %rax
movq $0x0, 0xa8(%rax)
movq -0x10(%rbp), %rax
movq $0x0, 0xb0(%rax)
movq -0x10(%rbp), %rax
movq %rax, -0x8(%rbp)
movq -0x8(%rbp), %rax
addq $0x40, %rsp
popq %rbp
retq
nopl (%rax,%rax)
// File: ehw-fit[P]py-paretoarchive/src/paretoarchive/core.cpp
// Function: _Pyx_PyObject_Call(_object*, _object*, _object*)
static CYTHON_INLINE PyObject* __Pyx_PyObject_Call(PyObject *func, PyObject *arg, PyObject *kw) {
    PyObject *result;
    ternaryfunc call = Py_TYPE(func)->tp_call;
    if (unlikely(!call))
        return PyObject_Call(func, arg, kw);
    if (unlikely(Py_EnterRecursiveCall((char*)" while calling a Python object")))
        return NULL;
    result = (*call)(func, arg, kw);
    Py_LeaveRecursiveCall();
    if (unlikely(!result) && unlikely(!PyErr_Occurred())) {
        PyErr_SetString(
            PyExc_SystemError,
            "NULL result without error in PyObject_Call");
    }
    return result;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x30, %rsp
movq %rdi, -0x10(%rbp)
movq %rsi, -0x18(%rbp)
movq %rdx, -0x20(%rbp)
movq -0x10(%rbp), %rax
movq 0x8(%rax), %rax
movq 0x80(%rax), %rax
movq %rax, -0x30(%rbp)
cmpq $0x0, -0x30(%rbp)
setne %al
xorb $-0x1, %al
xorb $-0x1, %al
xorb $-0x1, %al
testb $0x1, %al
jne 0x654db
jmp 0x654f5
movq -0x10(%rbp), %rdi
movq -0x18(%rbp), %rsi
movq -0x20(%rbp), %rdx
callq 0x290c0
movq %rax, -0x8(%rbp)
jmp 0x65580
leaq 0x2abf5(%rip), %rdi     # 0x900f1
callq 0x295e0
cmpl $0x0, %eax
setne %al
xorb $-0x1, %al
xorb $-0x1, %al
testb $0x1, %al
jne 0x65511
jmp 0x6551b
movq $0x0, -0x8(%rbp)
jmp 0x65580
movq -0x30(%rbp), %rax
movq -0x10(%rbp), %rdi
movq -0x18(%rbp), %rsi
movq -0x20(%rbp), %rdx
callq *%rax
movq %rax, -0x28(%rbp)
callq 0x29360
cmpq $0x0, -0x28(%rbp)
setne %al
xorb $-0x1, %al
xorb $-0x1, %al
xorb $-0x1, %al
testb $0x1, %al
jne 0x6554a
jmp 0x65578
callq 0x295f0
cmpq $0x0, %rax
setne %al
xorb $-0x1, %al
xorb $-0x1, %al
xorb $-0x1, %al
testb $0x1, %al
jne 0x65562
jmp 0x65578
movq 0x41a47(%rip), %rax     # 0xa6fb0
movq (%rax), %rdi
leaq 0x2ab9d(%rip), %rsi     # 0x90110
callq 0x29450
movq -0x28(%rbp), %rax
movq %rax, -0x8(%rbp)
movq -0x8(%rbp), %rax
addq $0x30, %rsp
popq %rbp
retq
nopw (%rax,%rax)
// File: ehw-fit[P]py-paretoarchive/src/paretoarchive/core.cpp
// Function: _Pyx_PyErr_GivenExceptionMatches(_object*, _object*)
static CYTHON_INLINE int __Pyx_PyErr_GivenExceptionMatches(PyObject *err, PyObject* exc_type) {
    if (likely(err == exc_type)) return 1;
    if (likely(PyExceptionClass_Check(err))) {
        if (likely(PyExceptionClass_Check(exc_type))) {
            return __Pyx_inner_PyErr_GivenExceptionMatches2(err, NULL, exc_type);
        } else if (likely(PyTuple_Check(exc_type))) {
            return __Pyx_PyErr_GivenExceptionMatchesTuple(err, exc_type);
        } else {
        }
    }
    return PyErr_GivenExceptionMatches(err, exc_type);
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x20, %rsp
movq %rdi, -0x10(%rbp)
movq %rsi, -0x18(%rbp)
movq -0x10(%rbp), %rax
cmpq -0x18(%rbp), %rax
sete %al
xorb $-0x1, %al
xorb $-0x1, %al
testb $0x1, %al
jne 0x655b5
jmp 0x655c1
movl $0x1, -0x4(%rbp)
jmp 0x65696
movq -0x10(%rbp), %rdi
callq 0x2c860
movl %eax, %ecx
xorl %eax, %eax
cmpl $0x0, %ecx
movb %al, -0x19(%rbp)
je 0x655ed
movq -0x10(%rbp), %rdi
movl $0x40000000, %esi       # imm = 0x40000000
callq 0x2c890
cmpl $0x0, %eax
setne %al
movb %al, -0x19(%rbp)
movb -0x19(%rbp), %al
xorb $-0x1, %al
xorb $-0x1, %al
testb $0x1, %al
jne 0x655fd
jmp 0x65686
movq -0x18(%rbp), %rdi
callq 0x2c860
movl %eax, %ecx
xorl %eax, %eax
cmpl $0x0, %ecx
movb %al, -0x1a(%rbp)
je 0x65629
movq -0x18(%rbp), %rdi
movl $0x40000000, %esi       # imm = 0x40000000
callq 0x2c890
cmpl $0x0, %eax
setne %al
movb %al, -0x1a(%rbp)
movb -0x1a(%rbp), %al
xorb $-0x1, %al
xorb $-0x1, %al
testb $0x1, %al
jne 0x65636
jmp 0x6564c
movq -0x10(%rbp), %rdi
movq -0x18(%rbp), %rdx
xorl %eax, %eax
movl %eax, %esi
callq 0x66100
movl %eax, -0x4(%rbp)
jmp 0x65696
movq -0x18(%rbp), %rax
movq 0x8(%rax), %rdi
movl $0x4000000, %esi        # imm = 0x4000000
callq 0x2c890
cmpl $0x0, %eax
setne %al
xorb $-0x1, %al
xorb $-0x1, %al
testb $0x1, %al
jne 0x6566e
jmp 0x65680
movq -0x10(%rbp), %rdi
movq -0x18(%rbp), %rsi
callq 0x66160
movl %eax, -0x4(%rbp)
jmp 0x65696
jmp 0x65682
jmp 0x65684
jmp 0x65686
movq -0x10(%rbp), %rdi
movq -0x18(%rbp), %rsi
callq 0x296f0
movl %eax, -0x4(%rbp)
movl -0x4(%rbp), %eax
addq $0x20, %rsp
popq %rbp
retq
nop
// File: ehw-fit[P]py-paretoarchive/src/paretoarchive/core.cpp
// Function: _Pyx_ListComp_Append(_object*, _object*)
static CYTHON_INLINE int __Pyx_ListComp_Append(PyObject* list, PyObject* x) {
    PyListObject* L = (PyListObject*) list;
    Py_ssize_t len = Py_SIZE(list);
    if (likely(L->allocated > len)) {
        Py_INCREF(x);
        PyList_SET_ITEM(list, len, x);
        __Pyx_SET_SIZE(list, len + 1);
        return 0;
    }
    return PyList_Append(list, x);
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x30, %rsp
movq %rdi, -0x10(%rbp)
movq %rsi, -0x18(%rbp)
movq -0x10(%rbp), %rax
movq %rax, -0x20(%rbp)
movq -0x10(%rbp), %rax
movq 0x10(%rax), %rax
movq %rax, -0x28(%rbp)
movq -0x20(%rbp), %rax
movq 0x20(%rax), %rax
cmpq -0x28(%rbp), %rax
setg %al
xorb $-0x1, %al
xorb $-0x1, %al
testb $0x1, %al
jne 0x6575d
jmp 0x65794
movq -0x18(%rbp), %rdi
callq 0x2a7c0
movq -0x18(%rbp), %rdx
movq -0x10(%rbp), %rax
movq 0x18(%rax), %rax
movq -0x28(%rbp), %rcx
movq %rdx, (%rax,%rcx,8)
movq -0x10(%rbp), %rdi
movq -0x28(%rbp), %rsi
addq $0x1, %rsi
callq 0x30ac0
movl $0x0, -0x4(%rbp)
jmp 0x657a4
movq -0x10(%rbp), %rdi
movq -0x18(%rbp), %rsi
callq 0x29260
movl %eax, -0x4(%rbp)
movl -0x4(%rbp), %eax
addq $0x30, %rsp
popq %rbp
retq
nopl (%rax)
// File: ehw-fit[P]py-paretoarchive/src/paretoarchive/core.cpp
// Function: _Pyx_PyObject_FormatSimpleAndDecref(_object*, _object*)
static CYTHON_INLINE PyObject* __Pyx_PyObject_FormatSimpleAndDecref(PyObject* s, PyObject* f) {
    if (unlikely(!s)) return NULL;
    if (likely(PyUnicode_CheckExact(s))) return s;
    #if PY_MAJOR_VERSION < 3
    if (likely(PyString_CheckExact(s))) {
        PyObject *result = PyUnicode_FromEncodedObject(s, NULL, "strict");
        Py_DECREF(s);
        return result;
    }
    #endif
    return __Pyx_PyObject_FormatAndDecref(s, f);
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x20, %rsp
movq %rdi, -0x10(%rbp)
movq %rsi, -0x18(%rbp)
cmpq $0x0, -0x10(%rbp)
setne %al
xorb $-0x1, %al
xorb $-0x1, %al
xorb $-0x1, %al
testb $0x1, %al
jne 0x657d4
jmp 0x657de
movq $0x0, -0x8(%rbp)
jmp 0x65819
movq -0x10(%rbp), %rdi
movq 0x416a7(%rip), %rsi     # 0xa6e90
callq 0x2c410
cmpl $0x0, %eax
setne %al
xorb $-0x1, %al
xorb $-0x1, %al
testb $0x1, %al
jne 0x657fe
jmp 0x65808
movq -0x10(%rbp), %rax
movq %rax, -0x8(%rbp)
jmp 0x65819
movq -0x10(%rbp), %rdi
movq -0x18(%rbp), %rsi
callq 0x66560
movq %rax, -0x8(%rbp)
movq -0x8(%rbp), %rax
addq $0x20, %rsp
popq %rbp
retq
nopw %cs:(%rax,%rax)
// File: ehw-fit[P]py-paretoarchive/src/paretoarchive/core.cpp
// Function: _Pyx_PyObject_CallNoArg(_object*)
static CYTHON_INLINE PyObject* __Pyx_PyObject_CallNoArg(PyObject *func) {
#if CYTHON_FAST_PYCALL
    if (PyFunction_Check(func)) {
        return __Pyx_PyFunction_FastCall(func, NULL, 0);
    }
#endif
#if defined(__Pyx_CyFunction_USED) && defined(NDEBUG)
    if (likely(PyCFunction_Check(func) || __Pyx_CyFunction_Check(func)))
#else
    if (likely(PyCFunction_Check(func)))
#endif
    {
        if (likely(PyCFunction_GET_FLAGS(func) & METH_NOARGS)) {
            return __Pyx_PyObject_CallMethO(func, NULL);
        }
    }
    return __Pyx_PyObject_Call(func, __pyx_empty_tuple, NULL);
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x20, %rsp
movq %rdi, -0x10(%rbp)
movq -0x10(%rbp), %rdi
movq 0x40f21(%rip), %rsi     # 0xa6e58
callq 0x66390
movl %eax, %ecx
movb $0x1, %al
cmpl $0x0, %ecx
movb %al, -0x11(%rbp)
jne 0x65f65
movq -0x10(%rbp), %rax
movq 0x8(%rax), %rdi
movq 0x465e9(%rip), %rsi     # 0xac540
callq 0x66270
cmpl $0x0, %eax
setne %al
movb %al, -0x11(%rbp)
movb -0x11(%rbp), %al
xorb $-0x1, %al
xorb $-0x1, %al
testb $0x1, %al
jne 0x65f72
jmp 0x65fa5
movq -0x10(%rbp), %rax
movq 0x10(%rax), %rax
movl 0x10(%rax), %eax
andl $0x4, %eax
cmpl $0x0, %eax
setne %al
xorb $-0x1, %al
xorb $-0x1, %al
testb $0x1, %al
jne 0x65f90
jmp 0x65fa3
movq -0x10(%rbp), %rdi
xorl %eax, %eax
movl %eax, %esi
callq 0x663f0
movq %rax, -0x8(%rbp)
jmp 0x65fbd
jmp 0x65fa5
movq -0x10(%rbp), %rdi
movq 0x46408(%rip), %rsi     # 0xac3b8
xorl %eax, %eax
movl %eax, %edx
callq 0x654a0
movq %rax, -0x8(%rbp)
movq -0x8(%rbp), %rax
addq $0x20, %rsp
popq %rbp
retq
nopw (%rax,%rax)
// File: ehw-fit[P]py-paretoarchive/src/paretoarchive/core.cpp
// Function: _Pyx_PyObject_SetAttrStr(_object*, _object*, _object*)
static CYTHON_INLINE int __Pyx_PyObject_SetAttrStr(PyObject* obj, PyObject* attr_name, PyObject* value) {
    PyTypeObject* tp = Py_TYPE(obj);
    if (likely(tp->tp_setattro))
        return tp->tp_setattro(obj, attr_name, value);
#if PY_MAJOR_VERSION < 3
    if (likely(tp->tp_setattr))
        return tp->tp_setattr(obj, PyString_AS_STRING(attr_name), value);
#endif
    return PyObject_SetAttr(obj, attr_name, value);
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x30, %rsp
movq %rdi, -0x10(%rbp)
movq %rsi, -0x18(%rbp)
movq %rdx, -0x20(%rbp)
movq -0x10(%rbp), %rax
movq 0x8(%rax), %rax
movq %rax, -0x28(%rbp)
movq -0x28(%rbp), %rax
cmpq $0x0, 0x98(%rax)
setne %al
xorb $-0x1, %al
xorb $-0x1, %al
testb $0x1, %al
jne 0x66009
jmp 0x66027
movq -0x28(%rbp), %rax
movq 0x98(%rax), %rax
movq -0x10(%rbp), %rdi
movq -0x18(%rbp), %rsi
movq -0x20(%rbp), %rdx
callq *%rax
movl %eax, -0x4(%rbp)
jmp 0x6603b
movq -0x10(%rbp), %rdi
movq -0x18(%rbp), %rsi
movq -0x20(%rbp), %rdx
callq 0x29210
movl %eax, -0x4(%rbp)
movl -0x4(%rbp), %eax
addq $0x30, %rsp
popq %rbp
retq
nopw %cs:(%rax,%rax)
// File: ehw-fit[P]py-paretoarchive/src/paretoarchive/core.cpp
// Function: _Pyx_inner_PyErr_GivenExceptionMatches2(_object*, _object*, _object*)
static CYTHON_INLINE int __Pyx_inner_PyErr_GivenExceptionMatches2(PyObject *err, PyObject* exc_type1, PyObject *exc_type2) {
    int res = exc_type1 ? __Pyx_IsSubtype((PyTypeObject*)err, (PyTypeObject*)exc_type1) : 0;
    if (!res) {
        res = __Pyx_IsSubtype((PyTypeObject*)err, (PyTypeObject*)exc_type2);
    }
    return res;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x20, %rsp
movq %rdi, -0x8(%rbp)
movq %rsi, -0x10(%rbp)
movq %rdx, -0x18(%rbp)
cmpq $0x0, -0x10(%rbp)
je 0x6612d
movq -0x8(%rbp), %rdi
movq -0x10(%rbp), %rsi
callq 0x66270
movl %eax, -0x20(%rbp)
jmp 0x66134
xorl %eax, %eax
movl %eax, -0x20(%rbp)
jmp 0x66134
movl -0x20(%rbp), %eax
movl %eax, -0x1c(%rbp)
cmpl $0x0, -0x1c(%rbp)
jne 0x66150
movq -0x8(%rbp), %rdi
movq -0x18(%rbp), %rsi
callq 0x66270
movl %eax, -0x1c(%rbp)
movl -0x1c(%rbp), %eax
addq $0x20, %rsp
popq %rbp
retq
nopl (%rax)
// File: ehw-fit[P]py-paretoarchive/src/paretoarchive/core.cpp
// Function: _Pyx_PyErr_GivenExceptionMatchesTuple(_object*, _object*)
static int __Pyx_PyErr_GivenExceptionMatchesTuple(PyObject *exc_type, PyObject *tuple) {
    Py_ssize_t i, n;
    assert(PyExceptionClass_Check(exc_type));
    n = PyTuple_GET_SIZE(tuple);
#if PY_MAJOR_VERSION >= 3
    for (i=0; i<n; i++) {
        if (exc_type == PyTuple_GET_ITEM(tuple, i)) return 1;
    }
#endif
    for (i=0; i<n; i++) {
        PyObject *t = PyTuple_GET_ITEM(tuple, i);
        #if PY_MAJOR_VERSION < 3
        if (likely(exc_type == t)) return 1;
        #endif
        if (likely(PyExceptionClass_Check(t))) {
            if (__Pyx_inner_PyErr_GivenExceptionMatches2(exc_type, NULL, t)) return 1;
        } else {
        }
    }
    return 0;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x40, %rsp
movq %rdi, -0x10(%rbp)
movq %rsi, -0x18(%rbp)
movq -0x18(%rbp), %rax
movq 0x10(%rax), %rax
movq %rax, -0x28(%rbp)
movq $0x0, -0x20(%rbp)
movq -0x20(%rbp), %rax
cmpq -0x28(%rbp), %rax
jge 0x661bd
movq -0x10(%rbp), %rax
movq -0x18(%rbp), %rcx
movq -0x20(%rbp), %rdx
cmpq 0x18(%rcx,%rdx,8), %rax
jne 0x661ad
movl $0x1, -0x4(%rbp)
jmp 0x6625a
jmp 0x661af
movq -0x20(%rbp), %rax
addq $0x1, %rax
movq %rax, -0x20(%rbp)
jmp 0x66184
movq $0x0, -0x20(%rbp)
movq -0x20(%rbp), %rax
cmpq -0x28(%rbp), %rax
jge 0x66253
movq -0x18(%rbp), %rax
movq -0x20(%rbp), %rcx
movq 0x18(%rax,%rcx,8), %rax
movq %rax, -0x30(%rbp)
movq -0x30(%rbp), %rdi
callq 0x2c860
movl %eax, %ecx
xorl %eax, %eax
cmpl $0x0, %ecx
movb %al, -0x31(%rbp)
je 0x66210
movq -0x30(%rbp), %rdi
movl $0x40000000, %esi       # imm = 0x40000000
callq 0x2c890
cmpl $0x0, %eax
setne %al
movb %al, -0x31(%rbp)
movb -0x31(%rbp), %al
xorb $-0x1, %al
xorb $-0x1, %al
testb $0x1, %al
jne 0x6621d
jmp 0x6623e
movq -0x10(%rbp), %rdi
movq -0x30(%rbp), %rdx
xorl %eax, %eax
movl %eax, %esi
callq 0x66100
cmpl $0x0, %eax
je 0x6623c
movl $0x1, -0x4(%rbp)
jmp 0x6625a
jmp 0x66240
jmp 0x66240
jmp 0x66242
movq -0x20(%rbp), %rax
addq $0x1, %rax
movq %rax, -0x20(%rbp)
jmp 0x661c5
movl $0x0, -0x4(%rbp)
movl -0x4(%rbp), %eax
addq $0x40, %rsp
popq %rbp
retq
nopw %cs:(%rax,%rax)
// File: ehw-fit[P]py-paretoarchive/src/paretoarchive/core.cpp
// Function: _Pyx_CalculateMetaclass(_typeobject*, _object*)
static PyObject *__Pyx_CalculateMetaclass(PyTypeObject *metaclass, PyObject *bases) {
    Py_ssize_t i, nbases = PyTuple_GET_SIZE(bases);
    for (i=0; i < nbases; i++) {
        PyTypeObject *tmptype;
        PyObject *tmp = PyTuple_GET_ITEM(bases, i);
        tmptype = Py_TYPE(tmp);
#if PY_MAJOR_VERSION < 3
        if (tmptype == &PyClass_Type)
            continue;
#endif
        if (!metaclass) {
            metaclass = tmptype;
            continue;
        }
        if (PyType_IsSubtype(metaclass, tmptype))
            continue;
        if (PyType_IsSubtype(tmptype, metaclass)) {
            metaclass = tmptype;
            continue;
        }
        PyErr_SetString(PyExc_TypeError,
                        "metaclass conflict: "
                        "the metaclass of a derived class "
                        "must be a (non-strict) subclass "
                        "of the metaclasses of all its bases");
        return NULL;
    }
    if (!metaclass) {
#if PY_MAJOR_VERSION < 3
        metaclass = &PyClass_Type;
#else
        metaclass = &PyType_Type;
#endif
    }
    Py_INCREF((PyObject*) metaclass);
    return (PyObject*) metaclass;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x40, %rsp
movq %rdi, -0x10(%rbp)
movq %rsi, -0x18(%rbp)
movq -0x18(%rbp), %rax
movq 0x10(%rax), %rax
movq %rax, -0x28(%rbp)
movq $0x0, -0x20(%rbp)
movq -0x20(%rbp), %rax
cmpq -0x28(%rbp), %rax
jge 0x67b31
movq -0x18(%rbp), %rax
movq -0x20(%rbp), %rcx
movq 0x18(%rax,%rcx,8), %rax
movq %rax, -0x38(%rbp)
movq -0x38(%rbp), %rax
movq 0x8(%rax), %rax
movq %rax, -0x30(%rbp)
cmpq $0x0, -0x10(%rbp)
jne 0x67ad0
movq -0x30(%rbp), %rax
movq %rax, -0x10(%rbp)
jmp 0x67b20
movq -0x10(%rbp), %rdi
movq -0x30(%rbp), %rsi
callq 0x29160
cmpl $0x0, %eax
je 0x67ae4
jmp 0x67b20
movq -0x30(%rbp), %rdi
movq -0x10(%rbp), %rsi
callq 0x29160
cmpl $0x0, %eax
je 0x67b00
movq -0x30(%rbp), %rax
movq %rax, -0x10(%rbp)
jmp 0x67b20
movq 0x3f419(%rip), %rax     # 0xa6f20
movq (%rax), %rdi
leaq 0x287e2(%rip), %rsi     # 0x902f3
callq 0x29450
movq $0x0, -0x8(%rbp)
jmp 0x67b54
movq -0x20(%rbp), %rax
addq $0x1, %rax
movq %rax, -0x20(%rbp)
jmp 0x67a94
cmpq $0x0, -0x10(%rbp)
jne 0x67b43
movq 0x3f2d9(%rip), %rax     # 0xa6e18
movq %rax, -0x10(%rbp)
movq -0x10(%rbp), %rdi
callq 0x2a7c0
movq -0x10(%rbp), %rax
movq %rax, -0x8(%rbp)
movq -0x8(%rbp), %rax
addq $0x40, %rsp
popq %rbp
retq
nop
// File: ehw-fit[P]py-paretoarchive/src/paretoarchive/paretoarchive.h
// Function: ObjVec<1>::dominance(ObjVec<1> const&, ObjVec<1> const&)
static int dominance(ObjVec<OBJ> const& x, ObjVec<OBJ> const& y)
	{
		int ret = 3;
		for (unsigned int i=0; i<OBJ; i++)
		{
#ifdef COUNTER
			cmp_counter++;
#endif
			if (x[i] < y[i]) ret &= 1;
			else if (x[i] > y[i]) ret &= 2;
			if (ret == 0) return 0;
		}
		return ret;
	}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x30, %rsp
movq %rdi, -0x10(%rbp)
movq %rsi, -0x18(%rbp)
movl $0x3, -0x1c(%rbp)
movl $0x0, -0x20(%rbp)
cmpl $0x1, -0x20(%rbp)
jae 0x69769
movq -0x10(%rbp), %rdi
movl -0x20(%rbp), %esi
callq 0x69780
movsd (%rax), %xmm0
movsd %xmm0, -0x28(%rbp)
movq -0x18(%rbp), %rdi
movl -0x20(%rbp), %esi
callq 0x69780
movsd -0x28(%rbp), %xmm1
movsd (%rax), %xmm0
ucomisd %xmm1, %xmm0
jbe 0x69713
movl -0x1c(%rbp), %eax
andl $0x1, %eax
movl %eax, -0x1c(%rbp)
jmp 0x6974a
movq -0x10(%rbp), %rdi
movl -0x20(%rbp), %esi
callq 0x69780
movsd (%rax), %xmm0
movsd %xmm0, -0x30(%rbp)
movq -0x18(%rbp), %rdi
movl -0x20(%rbp), %esi
callq 0x69780
movsd -0x30(%rbp), %xmm0
ucomisd (%rax), %xmm0
jbe 0x69748
movl -0x1c(%rbp), %eax
andl $0x2, %eax
movl %eax, -0x1c(%rbp)
jmp 0x6974a
cmpl $0x0, -0x1c(%rbp)
jne 0x69759
movl $0x0, -0x4(%rbp)
jmp 0x6976f
jmp 0x6975b
movl -0x20(%rbp), %eax
addl $0x1, %eax
movl %eax, -0x20(%rbp)
jmp 0x696ce
movl -0x1c(%rbp), %eax
movl %eax, -0x4(%rbp)
movl -0x4(%rbp), %eax
addq $0x30, %rsp
popq %rbp
retq
nopl (%rax,%rax)
// File: ehw-fit[P]py-paretoarchive/src/paretoarchive/paretoarchive.h
// Function: BspTreeArchive<1>::points() const
vector<const ObjVec<OBJ>*> points() const
	{
		vector<const ObjVec<OBJ>*> ret(m_root->size());
		unsigned int index = 0;
		m_root->extract(ret, index);
		return ret;
	}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x70, %rsp
movq %rdi, -0x50(%rbp)
movq %rdi, %rax
movq %rax, -0x60(%rbp)
movq %fs:0x28, %rax
movq %rax, -0x8(%rbp)
movq %rdi, -0x18(%rbp)
movq %rsi, -0x20(%rbp)
movq -0x20(%rbp), %rax
movq %rax, -0x58(%rbp)
movb $0x0, -0x21(%rbp)
movq (%rax), %rdi
callq 0x6bbb0
movl %eax, %eax
movq %rax, -0x48(%rbp)
leaq -0x9(%rbp), %rdi
movq %rdi, -0x40(%rbp)
callq 0x69560
movq -0x50(%rbp), %rdi
movq -0x48(%rbp), %rsi
movq -0x40(%rbp), %rdx
callq 0x69580
jmp 0x6bc52
leaq -0x9(%rbp), %rdi
callq 0x695f0
movq -0x58(%rbp), %rax
movq -0x50(%rbp), %rsi
movl $0x0, -0x10(%rbp)
movq (%rax), %rdi
movq (%rdi), %rax
movq 0x18(%rax), %rax
leaq -0x10(%rbp), %rdx
callq *%rax
jmp 0x6bc7c
movb $0x1, -0x21(%rbp)
testb $0x1, -0x21(%rbp)
jne 0x6bcbf
jmp 0x6bcb6
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x30(%rbp)
movl %eax, -0x34(%rbp)
leaq -0x9(%rbp), %rdi
callq 0x695f0
jmp 0x6bcdb
movq -0x50(%rbp), %rdi
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x30(%rbp)
movl %eax, -0x34(%rbp)
callq 0x69650
jmp 0x6bcdb
movq -0x50(%rbp), %rdi
callq 0x69650
movq %fs:0x28, %rax
movq -0x8(%rbp), %rcx
cmpq %rcx, %rax
jne 0x6bcfe
movq -0x60(%rbp), %rax
addq $0x70, %rsp
popq %rbp
retq
movq -0x30(%rbp), %rax
movq %rax, -0x68(%rbp)
movq %fs:0x28, %rax
movq -0x8(%rbp), %rcx
cmpq %rcx, %rax
jne 0x6bcfe
movq -0x68(%rbp), %rdi
callq 0x29660
callq 0x29420
nopw %cs:(%rax,%rax)
nopl (%rax)
// File: timothyqiu[P]ssoaag/html_writer.cc
// Function: HTMLWriter::WriteFile(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>> const&)
bool HTMLWriter::WriteFile(std::string const& filename)
{
    this->file_ = fopen(filename.c_str(), "w");
    if (this->file_) {
        this->WriteHTML();
        fclose(this->file_);
    }
    return (this->file_ != NULL);
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x20, %rsp
movq %rdi, -0x8(%rbp)
movq %rsi, -0x10(%rbp)
movq -0x8(%rbp), %rax
movq %rax, -0x18(%rbp)
movq -0x10(%rbp), %rdi
callq 0x20f0
movq %rax, %rdi
leaq 0x32ed(%rip), %rsi      # 0x60c8
callq 0x2290
movq %rax, %rcx
movq -0x18(%rbp), %rax
movq %rcx, 0x8(%rax)
cmpq $0x0, 0x8(%rax)
je 0x2e08
movq -0x18(%rbp), %rdi
callq 0x2e20
movq -0x18(%rbp), %rax
movq 0x8(%rax), %rdi
callq 0x2200
movq -0x18(%rbp), %rax
cmpq $0x0, 0x8(%rax)
setne %al
andb $0x1, %al
addq $0x20, %rsp
popq %rbp
retq
nopl (%rax)
// File: timothyqiu[P]ssoaag/html_writer.cc
// Function: HTMLWriter::WriteHTML()
void HTMLWriter::WriteHTML()
{
    fprintf(this->file_, "%s\n", "<!DOCTYPE html>");
    fprintf(this->file_, "%s\n", "<html>");
    
    this->WriteHead();
    this->WriteBody();
    
    fprintf(this->file_, "%s\n", "</html>");
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x10, %rsp
movq %rdi, -0x8(%rbp)
movq -0x8(%rbp), %rax
movq %rax, -0x10(%rbp)
movq 0x8(%rax), %rdi
leaq 0x3219(%rip), %rsi      # 0x6058
leaq 0x328b(%rip), %rdx      # 0x60d1
movb $0x0, %al
callq 0x22f0
movq -0x10(%rbp), %rax
movq 0x8(%rax), %rdi
leaq 0x31fc(%rip), %rsi      # 0x6058
leaq 0x327e(%rip), %rdx      # 0x60e1
movb $0x0, %al
callq 0x22f0
movq -0x10(%rbp), %rdi
callq 0x2f90
movq -0x10(%rbp), %rdi
callq 0x3040
movq -0x10(%rbp), %rax
movq 0x8(%rax), %rdi
leaq 0x31cd(%rip), %rsi      # 0x6058
leaq 0x3256(%rip), %rdx      # 0x60e8
movb $0x0, %al
callq 0x22f0
addq $0x10, %rsp
popq %rbp
retq
nop
// File: timothyqiu[P]ssoaag/html_writer.cc
// Function: HTMLWriter::Escape(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>> const&) const
std::string HTMLWriter::Escape(std::string const& input) const
{
    std::string result;
    for (char c : input) {
        switch (c) {
        case ' ':   result.append("&nbsp;");    break;
        default:    result.push_back(c);
        }
    }
    return result;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x60, %rsp
movq %rdi, -0x60(%rbp)
movq %rdi, %rax
movq %rax, -0x58(%rbp)
movq %rdi, -0x8(%rbp)
movq %rsi, -0x10(%rbp)
movq %rdx, -0x18(%rbp)
movb $0x0, -0x19(%rbp)
callq 0x22e0
movq -0x18(%rbp), %rax
movq %rax, -0x28(%rbp)
movq -0x28(%rbp), %rdi
callq 0x21f0
movq %rax, -0x30(%rbp)
movq -0x28(%rbp), %rdi
callq 0x23b0
movq %rax, -0x38(%rbp)
leaq -0x30(%rbp), %rdi
leaq -0x38(%rbp), %rsi
callq 0x36e0
testb $0x1, %al
jne 0x2efd
jmp 0x2f5d
leaq -0x30(%rbp), %rdi
callq 0x3720
movb (%rax), %al
movb %al, -0x39(%rbp)
movb -0x39(%rbp), %al
subb $0x20, %al
jne 0x2f3f
jmp 0x2f14
movq -0x60(%rbp), %rdi
leaq 0x31ab(%rip), %rsi      # 0x60ca
callq 0x23c0
jmp 0x2f26
jmp 0x2f50
movq -0x60(%rbp), %rdi
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x48(%rbp)
movl %eax, -0x4c(%rbp)
callq 0x23f8
jmp 0x2f7a
movq -0x60(%rbp), %rdi
movsbl -0x39(%rbp), %esi
callq 0x21d0
jmp 0x2f4e
jmp 0x2f50
jmp 0x2f52
leaq -0x30(%rbp), %rdi
callq 0x3740
jmp 0x2eea
movb $0x1, -0x19(%rbp)
testb $0x1, -0x19(%rbp)
jne 0x2f70
movq -0x60(%rbp), %rdi
callq 0x23f8
movq -0x58(%rbp), %rax
addq $0x60, %rsp
popq %rbp
retq
movq -0x48(%rbp), %rdi
callq 0x2380
nopw %cs:(%rax,%rax)
// File: timothyqiu[P]ssoaag/html_writer.cc
// Function: HTMLWriter::WriteHead()
void HTMLWriter::WriteHead()
{
    fprintf(this->file_, "%s\n", "<head>");
    
    fprintf(this->file_, "%s\n", "<meta charset=\"utf-8\" />");
    fprintf(this->file_, "<title>%s</title>", this->title_.c_str());
    this->WriteStyle();
    this->WriteScript();
    
    fprintf(this->file_, "%s\n", "</head>");
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x20, %rsp
movq %rdi, -0x8(%rbp)
movq -0x8(%rbp), %rax
movq %rax, -0x10(%rbp)
movq 0x8(%rax), %rdi
leaq 0x30a9(%rip), %rsi      # 0x6058
leaq 0x313a(%rip), %rdx      # 0x60f0
movb $0x0, %al
callq 0x22f0
movq -0x10(%rbp), %rax
movq 0x8(%rax), %rdi
leaq 0x308c(%rip), %rsi      # 0x6058
leaq 0x3124(%rip), %rdx      # 0x60f7
movb $0x0, %al
callq 0x22f0
movq -0x10(%rbp), %rdi
movq 0x8(%rdi), %rax
movq %rax, -0x18(%rbp)
addq $0x10, %rdi
callq 0x20f0
movq -0x18(%rbp), %rdi
movq %rax, %rdx
leaq 0x3113(%rip), %rsi      # 0x6110
movb $0x0, %al
callq 0x22f0
movq -0x10(%rbp), %rdi
movq (%rdi), %rax
callq *0x10(%rax)
movq -0x10(%rbp), %rdi
movq (%rdi), %rax
callq *0x18(%rax)
movq -0x10(%rbp), %rax
movq 0x8(%rax), %rdi
leaq 0x3031(%rip), %rsi      # 0x6058
leaq 0x30f4(%rip), %rdx      # 0x6122
movb $0x0, %al
callq 0x22f0
addq $0x20, %rsp
popq %rbp
retq
nopl (%rax,%rax)
// File: timothyqiu[P]ssoaag/html_writer.cc
// Function: ImageWriter::WriteStyle()
void ImageWriter::WriteStyle()
{
    fprintf(this->file_, "%s\n", "<style type=\"text/css\">");
    fprintf(this->file_, "%s\n", "*{margin:0;padding:0;line-height:5px;}");
    fprintf(this->file_, "%s\n", ".pixel{width:5px;height:5px;float:left;}");
    fprintf(this->file_, "%s\n", "br{clear:left;}");
    fprintf(this->file_, "%s\n", "</style>");
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x10, %rsp
movq %rdi, -0x8(%rbp)
movq -0x8(%rbp), %rax
movq %rax, -0x10(%rbp)
movq 0x8(%rax), %rdi
leaq 0x2ec9(%rip), %rsi      # 0x6058
leaq 0x2fb3(%rip), %rdx      # 0x6149
movb $0x0, %al
callq 0x22f0
movq -0x10(%rbp), %rax
movq 0x8(%rax), %rdi
leaq 0x2eac(%rip), %rsi      # 0x6058
leaq 0x2fae(%rip), %rdx      # 0x6161
movb $0x0, %al
callq 0x22f0
movq -0x10(%rbp), %rax
movq 0x8(%rax), %rdi
leaq 0x2e8f(%rip), %rsi      # 0x6058
leaq 0x2fb8(%rip), %rdx      # 0x6188
movb $0x0, %al
callq 0x22f0
movq -0x10(%rbp), %rax
movq 0x8(%rax), %rdi
leaq 0x2e72(%rip), %rsi      # 0x6058
leaq 0x2fc4(%rip), %rdx      # 0x61b1
movb $0x0, %al
callq 0x22f0
movq -0x10(%rbp), %rax
movq 0x8(%rax), %rdi
leaq 0x2e55(%rip), %rsi      # 0x6058
leaq 0x2fb7(%rip), %rdx      # 0x61c1
movb $0x0, %al
callq 0x22f0
addq $0x10, %rsp
popq %rbp
retq
nopw (%rax,%rax)
// File: timothyqiu[P]ssoaag/html_writer.cc
// Function: ImageWriter::WriteContent()
void ImageWriter::WriteContent()
{
    Bitmap bitmap;

    fprintf(this->file_, "%s\n", "<div class=\"image\">");
    if (bitmap.Load(this->filename_)) {
        auto w = bitmap.GetWidth();
        auto h = bitmap.GetHeight();
        for (auto y = 0; y < h; y++) {
            for (auto x = 0; x < w; x++) {
                Color color = bitmap.GetColor(x, y);
                this->WritePixel(color);
            }
            fprintf(this->file_, "%s\n", "<br />");
        }
    } else {
        fprintf(this->file_, "<p>Failed open %s: %s</p>",
                             this->filename_.c_str(),
                             bitmap.GetError().c_str());
    }
    fprintf(this->file_, "%s\n", "</div>");
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0xa0, %rsp
movq %rdi, -0x8(%rbp)
movq -0x8(%rbp), %rax
movq %rax, -0x78(%rbp)
leaq -0x40(%rbp), %rdi
movq %rdi, -0x70(%rbp)
callq 0x3a80
movq -0x78(%rbp), %rax
movq 0x8(%rax), %rdi
leaq 0x2e05(%rip), %rsi      # 0x6058
leaq 0x2f70(%rip), %rdx      # 0x61ca
xorl %eax, %eax
callq 0x22f0
movq -0x78(%rbp), %rsi
movq -0x70(%rbp), %rdi
addq $0x30, %rsi
callq 0x3d00
movb %al, -0x61(%rbp)
jmp 0x3277
movb -0x61(%rbp), %al
testb $0x1, %al
jne 0x3283
jmp 0x3353
leaq -0x40(%rbp), %rdi
callq 0x38a0
movl %eax, -0x7c(%rbp)
jmp 0x3291
movl -0x7c(%rbp), %eax
movl %eax, -0x50(%rbp)
leaq -0x40(%rbp), %rdi
callq 0x38b0
movl %eax, -0x80(%rbp)
jmp 0x32a5
movl -0x80(%rbp), %eax
movl %eax, -0x54(%rbp)
movl $0x0, -0x58(%rbp)
movl -0x58(%rbp), %eax
cmpl -0x54(%rbp), %eax
jge 0x3351
movl $0x0, -0x5c(%rbp)
movl -0x5c(%rbp), %eax
cmpl -0x50(%rbp), %eax
jge 0x3326
movl -0x5c(%rbp), %esi
movl -0x58(%rbp), %edx
leaq -0x40(%rbp), %rdi
callq 0x38d0
movl %eax, -0x84(%rbp)
jmp 0x32e4
movq -0x78(%rbp), %rdi
movl -0x84(%rbp), %eax
movl %eax, -0x60(%rbp)
movl -0x60(%rbp), %esi
movq (%rdi), %rax
movq 0x28(%rax), %rax
callq *%rax
jmp 0x32ff
jmp 0x3301
movl -0x5c(%rbp), %eax
addl $0x1, %eax
movl %eax, -0x5c(%rbp)
jmp 0x32c5
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x48(%rbp)
movl %eax, -0x4c(%rbp)
leaq -0x40(%rbp), %rdi
callq 0x3c50
jmp 0x33de
movq -0x78(%rbp), %rax
movq 0x8(%rax), %rdi
leaq 0x2d23(%rip), %rsi      # 0x6058
leaq 0x2ea2(%rip), %rdx      # 0x61de
movb $0x0, %al
callq 0x22f0
movl -0x58(%rbp), %eax
addl $0x1, %eax
movl %eax, -0x58(%rbp)
jmp 0x32b2
jmp 0x33af
movq -0x78(%rbp), %rdi
movq 0x8(%rdi), %rax
movq %rax, -0xa0(%rbp)
addq $0x30, %rdi
callq 0x20f0
movq %rax, -0x98(%rbp)
leaq -0x40(%rbp), %rdi
callq 0x3900
movq %rax, -0x90(%rbp)
jmp 0x3384
movq -0x90(%rbp), %rdi
callq 0x20f0
movq -0xa0(%rbp), %rdi
movq -0x98(%rbp), %rdx
movq %rax, %rcx
leaq 0x2e3d(%rip), %rsi      # 0x61e5
movb $0x0, %al
callq 0x22f0
movq -0x78(%rbp), %rax
movq 0x8(%rax), %rdi
leaq 0x2c9a(%rip), %rsi      # 0x6058
leaq 0x2e3a(%rip), %rdx      # 0x61ff
movb $0x0, %al
callq 0x22f0
leaq -0x40(%rbp), %rdi
callq 0x3c50
addq $0xa0, %rsp
popq %rbp
retq
movq -0x48(%rbp), %rdi
callq 0x2380
nopw (%rax,%rax)
// File: timothyqiu[P]ssoaag/html_writer.cc
// Function: AsciiArtWriter::WritePixel(unsigned int)
void AsciiArtWriter::WritePixel(Color color)
{
    uint8_t grey = (Bitmap::GetR(color) + Bitmap::GetG(color) + Bitmap::GetB(color)) / 3;

    auto char_count = this->characters_.length();
    if (char_count != 0) {
        auto span = 0xFF / char_count;
        auto cidx = grey / span;
        if (cidx == char_count)
            cidx = cidx - 1;

        fprintf(this->file_, "%s", Escape(this->characters_.substr(cidx, 1)).c_str());
    }
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0xa0, %rsp
movq %rdi, -0x8(%rbp)
movl %esi, -0xc(%rbp)
movq -0x8(%rbp), %rax
movq %rax, -0x80(%rbp)
movl -0xc(%rbp), %edi
callq 0x3920
movzbl %al, %eax
movl %eax, -0x84(%rbp)
movl -0xc(%rbp), %edi
callq 0x3940
movb %al, %cl
movl -0x84(%rbp), %eax
movzbl %cl, %ecx
addl %ecx, %eax
movl %eax, -0x78(%rbp)
movl -0xc(%rbp), %edi
callq 0x3960
movq -0x80(%rbp), %rdi
movb %al, %cl
movl -0x78(%rbp), %eax
movzbl %cl, %ecx
addl %ecx, %eax
movl $0x3, %ecx
cltd
idivl %ecx
movb %al, -0xd(%rbp)
addq $0x50, %rdi
callq 0x2320
movq %rax, -0x18(%rbp)
cmpq $0x0, -0x18(%rbp)
je 0x36c1
movl $0xff, %eax
xorl %ecx, %ecx
movl %ecx, %edx
divq -0x18(%rbp)
movq %rax, -0x20(%rbp)
movzbl -0xd(%rbp), %eax
xorl %ecx, %ecx
movl %ecx, %edx
divq -0x20(%rbp)
movq %rax, -0x28(%rbp)
movq -0x28(%rbp), %rax
cmpq -0x18(%rbp), %rax
jne 0x3633
movq -0x28(%rbp), %rax
subq $0x1, %rax
movq %rax, -0x28(%rbp)
movq -0x80(%rbp), %rsi
movq 0x8(%rsi), %rax
movq %rax, -0x98(%rbp)
addq $0x50, %rsi
movq -0x28(%rbp), %rdx
leaq -0x68(%rbp), %rdi
movq %rdi, -0x90(%rbp)
movl $0x1, %ecx
callq 0x2230
movq -0x80(%rbp), %rsi
movq -0x90(%rbp), %rdx
leaq -0x48(%rbp), %rdi
callq 0x2ea0
jmp 0x3675
leaq -0x48(%rbp), %rdi
callq 0x20f0
movq -0x98(%rbp), %rdi
movq %rax, %rdx
leaq 0x2c20(%rip), %rsi      # 0x62af
movb $0x0, %al
callq 0x22f0
leaq -0x48(%rbp), %rdi
callq 0x23f8
leaq -0x68(%rbp), %rdi
callq 0x23f8
jmp 0x36c1
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x70(%rbp)
movl %eax, -0x74(%rbp)
leaq -0x68(%rbp), %rdi
callq 0x23f8
jmp 0x36ca
addq $0xa0, %rsp
popq %rbp
retq
movq -0x70(%rbp), %rdi
callq 0x2380
nopw %cs:(%rax,%rax)
nopl (%rax)
// File: timothyqiu[P]ssoaag/bitmap.cc
// Function: Bitmap::operator=(Bitmap const&)
Bitmap& Bitmap::operator=(Bitmap const& rhs)
{
    if (this != &rhs) {
        this->Free();
        auto size = rhs.width_ * rhs.height_;
        this->width_  = rhs.width_;
        this->height_ = rhs.height_;
        this->pixels_ = new Color[size];
        memcpy(this->pixels_, rhs.pixels_, size);
    }
    return *this;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x20, %rsp
movq %rdi, -0x8(%rbp)
movq %rsi, -0x10(%rbp)
movq -0x8(%rbp), %rax
movq %rax, -0x20(%rbp)
cmpq -0x10(%rbp), %rax
je 0x3bd3
movq -0x20(%rbp), %rdi
callq 0x3c90
movq -0x20(%rbp), %rax
movq -0x10(%rbp), %rcx
movl (%rcx), %ecx
movq -0x10(%rbp), %rdx
imull 0x4(%rdx), %ecx
movl %ecx, -0x14(%rbp)
movq -0x10(%rbp), %rcx
movl (%rcx), %ecx
movl %ecx, (%rax)
movq -0x10(%rbp), %rcx
movl 0x4(%rcx), %ecx
movl %ecx, 0x4(%rax)
movslq -0x14(%rbp), %rax
movl $0x4, %ecx
mulq %rcx
movq %rax, %rdi
seto %cl
movq $-0x1, %rax
testb $0x1, %cl
cmovneq %rax, %rdi
callq 0x2040
movq %rax, %rcx
movq -0x20(%rbp), %rax
movq %rcx, 0x8(%rax)
movq 0x8(%rax), %rdi
movq -0x10(%rbp), %rax
movq 0x8(%rax), %rsi
movslq -0x14(%rbp), %rdx
callq 0x21b0
movq -0x20(%rbp), %rax
addq $0x20, %rsp
popq %rbp
retq
nopl (%rax)
// File: timothyqiu[P]ssoaag/bitmap.cc
// Function: Bitmap::Free()
void Bitmap::Free()
{
    this->width_  = 0;
    this->height_ = 0;

    if (this->pixels_) {
        delete[] this->pixels_;
        this->pixels_ = nullptr;
    }

    this->error_type_ = kSuccess;
    this->error_description_.clear();
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x20, %rsp
movq %rdi, -0x8(%rbp)
movq -0x8(%rbp), %rax
movq %rax, -0x10(%rbp)
movl $0x0, (%rax)
movl $0x0, 0x4(%rax)
cmpq $0x0, 0x8(%rax)
je 0x3cdf
movq -0x10(%rbp), %rax
movq 0x8(%rax), %rax
movq %rax, -0x18(%rbp)
cmpq $0x0, %rax
je 0x3cd3
movq -0x18(%rbp), %rdi
callq 0x22b0
movq -0x10(%rbp), %rax
movq $0x0, 0x8(%rax)
movq -0x10(%rbp), %rdi
movl $0x0, 0x10(%rdi)
addq $0x18, %rdi
callq 0x22c0
addq $0x20, %rsp
popq %rbp
retq
nopl (%rax)