// File: ehw-fit[P]py-paretoarchive/src/paretoarchive/core.cpp
// Function: _pyx_pf_13paretoarchive_4core_17PyBspTreeArchive5_8process(__pyx_obj_13paretoarchive_4core_PyBspTreeArchive5*, _object*, _object*, _object*)
static PyObject *__pyx_pf_13paretoarchive_4core_17PyBspTreeArchive5_8process(struct __pyx_obj_13paretoarchive_4core_PyBspTreeArchive5 *__pyx_v_self, PyObject *__pyx_v_item, PyObject *__pyx_v_customId, PyObject *__pyx_v_returnId) {
  ObjVec<5>  __pyx_v_data;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  Py_ssize_t __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  int __pyx_t_3;
  int __pyx_t_4;
  PyObject *__pyx_t_5 = NULL;
  PyObject *__pyx_t_6 = NULL;
  double __pyx_t_7;
  int __pyx_t_8;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("process", 0);
  __Pyx_INCREF(__pyx_v_customId);

  /* "paretoarchive/core.pyx":341
 * 
 *   def process(self, item, customId=None, returnId=False):
 *     assert len(item) == 5             # <<<<<<<<<<<<<<
 *     cdef ObjVec[myInt5] data
 *     cdef int i
 */
  #ifndef CYTHON_WITHOUT_ASSERTIONS
  if (unlikely(__pyx_assertions_enabled())) {
    __pyx_t_1 = PyObject_Length(__pyx_v_item); if (unlikely(__pyx_t_1 == ((Py_ssize_t)-1))) __PYX_ERR(0, 341, __pyx_L1_error)
    if (unlikely(!((__pyx_t_1 == 5) != 0))) {
      PyErr_SetNone(PyExc_AssertionError);
      __PYX_ERR(0, 341, __pyx_L1_error)
    }
  }
  #endif

  /* "paretoarchive/core.pyx":344
 *     cdef ObjVec[myInt5] data
 *     cdef int i
 *     if customId == None:             # <<<<<<<<<<<<<<
 *         customId = self._id
 *         self._id += 1
 */
  __pyx_t_2 = PyObject_RichCompare(__pyx_v_customId, Py_None, Py_EQ); __Pyx_XGOTREF(__pyx_t_2); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 344, __pyx_L1_error)
  __pyx_t_3 = __Pyx_PyObject_IsTrue(__pyx_t_2); if (unlikely(__pyx_t_3 < 0)) __PYX_ERR(0, 344, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  if (__pyx_t_3) {

    /* "paretoarchive/core.pyx":345
 *     cdef int i
 *     if customId == None:
 *         customId = self._id             # <<<<<<<<<<<<<<
 *         self._id += 1
 *     data.setId(customId)
 */
    __pyx_t_2 = __Pyx_PyInt_From_int(__pyx_v_self->_id); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 345, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_DECREF_SET(__pyx_v_customId, __pyx_t_2);
    __pyx_t_2 = 0;

    /* "paretoarchive/core.pyx":346
 *     if customId == None:
 *         customId = self._id
 *         self._id += 1             # <<<<<<<<<<<<<<
 *     data.setId(customId)
 *     data[0] = self._sign[0]*item[0]
 */
    __pyx_v_self->_id = (__pyx_v_self->_id + 1);

    /* "paretoarchive/core.pyx":344
 *     cdef ObjVec[myInt5] data
 *     cdef int i
 *     if customId == None:             # <<<<<<<<<<<<<<
 *         customId = self._id
 *         self._id += 1
 */
  }

  /* "paretoarchive/core.pyx":347
 *         customId = self._id
 *         self._id += 1
 *     data.setId(customId)             # <<<<<<<<<<<<<<
 *     data[0] = self._sign[0]*item[0]
 *     data[1] = self._sign[1]*item[1]
 */
  __pyx_t_4 = __Pyx_PyInt_As_int(__pyx_v_customId); if (unlikely((__pyx_t_4 == (int)-1) && PyErr_Occurred())) __PYX_ERR(0, 347, __pyx_L1_error)
  __pyx_v_data.setId(__pyx_t_4);

  /* "paretoarchive/core.pyx":348
 *         self._id += 1
 *     data.setId(customId)
 *     data[0] = self._sign[0]*item[0]             # <<<<<<<<<<<<<<
 *     data[1] = self._sign[1]*item[1]
 *     data[2] = self._sign[2]*item[2]
 */
  __pyx_t_2 = __Pyx_PyInt_From_int((__pyx_v_self->_sign[0])); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 348, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_5 = __Pyx_GetItemInt(__pyx_v_item, 0, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 348, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_5);
  __pyx_t_6 = PyNumber_Multiply(__pyx_t_2, __pyx_t_5); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 348, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_6);
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
  __pyx_t_7 = __pyx_PyFloat_AsDouble(__pyx_t_6); if (unlikely((__pyx_t_7 == (double)-1) && PyErr_Occurred())) __PYX_ERR(0, 348, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
  (__pyx_v_data[0]) = __pyx_t_7;

  /* "paretoarchive/core.pyx":349
 *     data.setId(customId)
 *     data[0] = self._sign[0]*item[0]
 *     data[1] = self._sign[1]*item[1]             # <<<<<<<<<<<<<<
 *     data[2] = self._sign[2]*item[2]
 *     data[3] = self._sign[3]*item[3]
 */
  __pyx_t_6 = __Pyx_PyInt_From_int((__pyx_v_self->_sign[1])); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 349, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_6);
  __pyx_t_5 = __Pyx_GetItemInt(__pyx_v_item, 1, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 349, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_5);
  __pyx_t_2 = PyNumber_Multiply(__pyx_t_6, __pyx_t_5); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 349, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
  __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
  __pyx_t_7 = __pyx_PyFloat_AsDouble(__pyx_t_2); if (unlikely((__pyx_t_7 == (double)-1) && PyErr_Occurred())) __PYX_ERR(0, 349, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  (__pyx_v_data[1]) = __pyx_t_7;

  /* "paretoarchive/core.pyx":350
 *     data[0] = self._sign[0]*item[0]
 *     data[1] = self._sign[1]*item[1]
 *     data[2] = self._sign[2]*item[2]             # <<<<<<<<<<<<<<
 *     data[3] = self._sign[3]*item[3]
 *     data[4] = self._sign[4]*item[4]
 */
  __pyx_t_2 = __Pyx_PyInt_From_int((__pyx_v_self->_sign[2])); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 350, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_5 = __Pyx_GetItemInt(__pyx_v_item, 2, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 350, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_5);
  __pyx_t_6 = PyNumber_Multiply(__pyx_t_2, __pyx_t_5); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 350, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_6);
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
  __pyx_t_7 = __pyx_PyFloat_AsDouble(__pyx_t_6); if (unlikely((__pyx_t_7 == (double)-1) && PyErr_Occurred())) __PYX_ERR(0, 350, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
  (__pyx_v_data[2]) = __pyx_t_7;

  /* "paretoarchive/core.pyx":351
 *     data[1] = self._sign[1]*item[1]
 *     data[2] = self._sign[2]*item[2]
 *     data[3] = self._sign[3]*item[3]             # <<<<<<<<<<<<<<
 *     data[4] = self._sign[4]*item[4]
 *     if not returnId:
 */
  __pyx_t_6 = __Pyx_PyInt_From_int((__pyx_v_self->_sign[3])); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 351, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_6);
  __pyx_t_5 = __Pyx_GetItemInt(__pyx_v_item, 3, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 351, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_5);
  __pyx_t_2 = PyNumber_Multiply(__pyx_t_6, __pyx_t_5); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 351, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
  __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
  __pyx_t_7 = __pyx_PyFloat_AsDouble(__pyx_t_2); if (unlikely((__pyx_t_7 == (double)-1) && PyErr_Occurred())) __PYX_ERR(0, 351, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  (__pyx_v_data[3]) = __pyx_t_7;

  /* "paretoarchive/core.pyx":352
 *     data[2] = self._sign[2]*item[2]
 *     data[3] = self._sign[3]*item[3]
 *     data[4] = self._sign[4]*item[4]             # <<<<<<<<<<<<<<
 *     if not returnId:
 *           return self._front.process(data)
 */
  __pyx_t_2 = __Pyx_PyInt_From_int((__pyx_v_self->_sign[4])); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 352, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_5 = __Pyx_GetItemInt(__pyx_v_item, 4, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 352, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_5);
  __pyx_t_6 = PyNumber_Multiply(__pyx_t_2, __pyx_t_5); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 352, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_6);
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
  __pyx_t_7 = __pyx_PyFloat_AsDouble(__pyx_t_6); if (unlikely((__pyx_t_7 == (double)-1) && PyErr_Occurred())) __PYX_ERR(0, 352, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
  (__pyx_v_data[4]) = __pyx_t_7;

  /* "paretoarchive/core.pyx":353
 *     data[3] = self._sign[3]*item[3]
 *     data[4] = self._sign[4]*item[4]
 *     if not returnId:             # <<<<<<<<<<<<<<
 *           return self._front.process(data)
 *     return (self._front.process(data), customId)
 */
  __pyx_t_3 = __Pyx_PyObject_IsTrue(__pyx_v_returnId); if (unlikely(__pyx_t_3 < 0)) __PYX_ERR(0, 353, __pyx_L1_error)
  __pyx_t_8 = ((!__pyx_t_3) != 0);
  if (__pyx_t_8) {

    /* "paretoarchive/core.pyx":354
 *     data[4] = self._sign[4]*item[4]
 *     if not returnId:
 *           return self._front.process(data)             # <<<<<<<<<<<<<<
 *     return (self._front.process(data), customId)
 * 
 */
    __Pyx_XDECREF(__pyx_r);
    __pyx_t_6 = __Pyx_PyBool_FromLong(__pyx_v_self->_front->process(__pyx_v_data)); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 354, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_6);
    __pyx_r = __pyx_t_6;
    __pyx_t_6 = 0;
    goto __pyx_L0;

    /* "paretoarchive/core.pyx":353
 *     data[3] = self._sign[3]*item[3]
 *     data[4] = self._sign[4]*item[4]
 *     if not returnId:             # <<<<<<<<<<<<<<
 *           return self._front.process(data)
 *     return (self._front.process(data), customId)
 */
  }

  /* "paretoarchive/core.pyx":355
 *     if not returnId:
 *           return self._front.process(data)
 *     return (self._front.process(data), customId)             # <<<<<<<<<<<<<<
 * 
 *   def clear(self):
 */
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_6 = __Pyx_PyBool_FromLong(__pyx_v_self->_front->process(__pyx_v_data)); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 355, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_6);
  __pyx_t_5 = PyTuple_New(2); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 355, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_5);
  __Pyx_GIVEREF(__pyx_t_6);
  PyTuple_SET_ITEM(__pyx_t_5, 0, __pyx_t_6);
  __Pyx_INCREF(__pyx_v_customId);
  __Pyx_GIVEREF(__pyx_v_customId);
  PyTuple_SET_ITEM(__pyx_t_5, 1, __pyx_v_customId);
  __pyx_t_6 = 0;
  __pyx_r = __pyx_t_5;
  __pyx_t_5 = 0;
  goto __pyx_L0;

  /* "paretoarchive/core.pyx":340
 *     self._front = NULL
 * 
 *   def process(self, item, customId=None, returnId=False):             # <<<<<<<<<<<<<<
 *     assert len(item) == 5
 *     cdef ObjVec[myInt5] data
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_5);
  __Pyx_XDECREF(__pyx_t_6);
  __Pyx_AddTraceback("paretoarchive.core.PyBspTreeArchive5.process", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_customId);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x140, %rsp            # imm = 0x140
movq %fs:0x28, %rax
movq %rax, -0x8(%rbp)
movq %rdi, -0x40(%rbp)
movq %rsi, -0x48(%rbp)
movq %rdx, -0x50(%rbp)
movq %rcx, -0x58(%rbp)
leaq -0x38(%rbp), %rdi
xorl %esi, %esi
callq 0x73340
movq $0x0, -0x60(%rbp)
movq $0x0, -0x70(%rbp)
movq $0x0, -0x80(%rbp)
movq $0x0, -0x88(%rbp)
movl $0x0, -0x98(%rbp)
movq $0x0, -0xa0(%rbp)
movl $0x0, -0xa4(%rbp)
movq -0x50(%rbp), %rdi
callq 0x2a7c0
cmpl $0x0, 0x73bf3(%rip)     # 0xac568
setne %al
xorb $-0x1, %al
xorb $-0x1, %al
testb $0x1, %al
jne 0x38985
jmp 0x38a22
movq -0x48(%rbp), %rdi
callq 0x29520
movq %rax, -0x68(%rbp)
cmpq $-0x1, -0x68(%rbp)
sete %al
xorb $-0x1, %al
xorb $-0x1, %al
testb $0x1, %al
jne 0x389a4
jmp 0x389cb
movq 0x6eab5(%rip), %rax     # 0xa7460
movq %rax, -0xa0(%rbp)
movl $0x155, -0x98(%rbp)     # imm = 0x155
movl $0x1b1e, -0xa4(%rbp)    # imm = 0x1B1E
jmp 0x397fb
cmpq $0x5, -0x68(%rbp)
sete %al
andb $0x1, %al
movzbl %al, %eax
cmpl $0x0, %eax
setne %al
xorb $-0x1, %al
xorb $-0x1, %al
xorb $-0x1, %al
testb $0x1, %al
jne 0x389ea
jmp 0x38a20
movq 0x6e507(%rip), %rax     # 0xa6ef8
movq (%rax), %rdi
callq 0x29550
movq 0x6ea60(%rip), %rax     # 0xa7460
movq %rax, -0xa0(%rbp)
movl $0x155, -0x98(%rbp)     # imm = 0x155
movl $0x1b21, -0xa4(%rbp)    # imm = 0x1B21
jmp 0x397fb
jmp 0x38a22
movq -0x50(%rbp), %rdi
movq 0x6e3bb(%rip), %rsi     # 0xa6de8
movl $0x2, %edx
callq 0x29680
movq %rax, -0x70(%rbp)
cmpq $0x0, -0x70(%rbp)
setne %al
xorb $-0x1, %al
xorb $-0x1, %al
xorb $-0x1, %al
testb $0x1, %al
jne 0x38a4f
jmp 0x38a76
movq 0x6ea0a(%rip), %rax     # 0xa7460
movq %rax, -0xa0(%rbp)
movl $0x158, -0x98(%rbp)     # imm = 0x158
movl $0x1b2d, -0xa4(%rbp)    # imm = 0x1B2D
jmp 0x397fb
movq -0x70(%rbp), %rdi
callq 0x2f230
movl %eax, -0x74(%rbp)
cmpl $0x0, -0x74(%rbp)
setl %al
xorb $-0x1, %al
xorb $-0x1, %al
testb $0x1, %al
jne 0x38a93
jmp 0x38aba
movq 0x6e9c6(%rip), %rax     # 0xa7460
movq %rax, -0xa0(%rbp)
movl $0x158, -0x98(%rbp)     # imm = 0x158
movl $0x1b2e, -0xa4(%rbp)    # imm = 0x1B2E
jmp 0x397fb
movq -0x70(%rbp), %rdi
callq 0x2a7e0
movq $0x0, -0x70(%rbp)
cmpl $0x0, -0x74(%rbp)
je 0x38b5a
movq -0x40(%rbp), %rax
movl 0x2c(%rax), %edi
callq 0x2ec60
movq %rax, -0x70(%rbp)
cmpq $0x0, -0x70(%rbp)
setne %al
xorb $-0x1, %al
xorb $-0x1, %al
xorb $-0x1, %al
testb $0x1, %al
jne 0x38af9
jmp 0x38b20
movq 0x6e960(%rip), %rax     # 0xa7460
movq %rax, -0xa0(%rbp)
movl $0x159, -0x98(%rbp)     # imm = 0x159
movl $0x1b39, -0xa4(%rbp)    # imm = 0x1B39
jmp 0x397fb
jmp 0x38b22
movq -0x50(%rbp), %rax
movq %rax, -0xb0(%rbp)
movq -0x70(%rbp), %rax
movq %rax, -0x50(%rbp)
movq -0xb0(%rbp), %rdi
callq 0x2a7e0
movq $0x0, -0x70(%rbp)
movq -0x40(%rbp), %rax
movl 0x2c(%rax), %ecx
addl $0x1, %ecx
movq -0x40(%rbp), %rax
movl %ecx, 0x2c(%rax)
movq -0x50(%rbp), %rdi
callq 0x2fe40
movl %eax, -0x78(%rbp)
xorl %eax, %eax
cmpl $-0x1, -0x78(%rbp)
movb %al, -0xb1(%rbp)
jne 0x38b86
callq 0x295f0
cmpq $0x0, %rax
setne %al
movb %al, -0xb1(%rbp)
movb -0xb1(%rbp), %al
xorb $-0x1, %al
xorb $-0x1, %al
testb $0x1, %al
jne 0x38b96
jmp 0x38bbd
movq 0x6e8c3(%rip), %rax     # 0xa7460
movq %rax, -0xa0(%rbp)
movl $0x15b, -0x98(%rbp)     # imm = 0x15B
movl $0x1b57, -0xa4(%rbp)    # imm = 0x1B57
jmp 0x397fb
movl -0x78(%rbp), %esi
leaq -0x38(%rbp), %rdi
callq 0x73370
movq -0x40(%rbp), %rax
movl 0x18(%rax), %edi
callq 0x2ec60
movq %rax, -0x70(%rbp)
cmpq $0x0, -0x70(%rbp)
setne %al
xorb $-0x1, %al
xorb $-0x1, %al
xorb $-0x1, %al
testb $0x1, %al
jne 0x38bed
jmp 0x38c14
movq 0x6e86c(%rip), %rax     # 0xa7460
movq %rax, -0xa0(%rbp)
movl $0x15c, -0x98(%rbp)     # imm = 0x15C
movl $0x1b61, -0xa4(%rbp)    # imm = 0x1B61
jmp 0x397fb
movq -0x48(%rbp), %rdi
xorl %eax, %eax
movl %eax, %esi
xorl %ecx, %ecx
movl $0x1, %r8d
movl %ecx, %edx
callq 0x2ef90
movq %rax, -0x80(%rbp)
cmpq $0x0, -0x80(%rbp)
setne %al
xorb $-0x1, %al
xorb $-0x1, %al
xorb $-0x1, %al
testb $0x1, %al
jne 0x38c43
jmp 0x38c6a
movq 0x6e816(%rip), %rax     # 0xa7460
movq %rax, -0xa0(%rbp)
movl $0x15c, -0x98(%rbp)     # imm = 0x15C
movl $0x1b63, -0xa4(%rbp)    # imm = 0x1B63
jmp 0x397fb
movq -0x70(%rbp), %rdi
movq -0x80(%rbp), %rsi
callq 0x29410
movq %rax, -0x88(%rbp)
cmpq $0x0, -0x88(%rbp)
setne %al
xorb $-0x1, %al
xorb $-0x1, %al
xorb $-0x1, %al
testb $0x1, %al
jne 0x38c95
jmp 0x38cbc
movq 0x6e7c4(%rip), %rax     # 0xa7460
movq %rax, -0xa0(%rbp)
movl $0x15c, -0x98(%rbp)     # imm = 0x15C
movl $0x1b65, -0xa4(%rbp)    # imm = 0x1B65
jmp 0x397fb
movq -0x70(%rbp), %rdi
callq 0x2a7e0
movq $0x0, -0x70(%rbp)
movq -0x80(%rbp), %rdi
callq 0x2a7e0
movq $0x0, -0x80(%rbp)
movq -0x88(%rbp), %rdi
movq 0x6e2ac(%rip), %rsi     # 0xa6f98
callq 0x2c410
cmpl $0x0, %eax
je 0x38d0c
movq -0x88(%rbp), %rax
movsd 0x10(%rax), %xmm0
movsd %xmm0, -0xc0(%rbp)
jmp 0x38d20
movq -0x88(%rbp), %rdi
callq 0x29310
movsd %xmm0, -0xc0(%rbp)
movsd -0xc0(%rbp), %xmm0
movsd %xmm0, -0x90(%rbp)
movsd -0x90(%rbp), %xmm0
xorl %eax, %eax
movsd 0x55976(%rip), %xmm1    # 0x8e6b8
ucomisd %xmm1, %xmm0
movb %al, -0xc1(%rbp)
jne 0x38d62
jp 0x38d62
callq 0x295f0
cmpq $0x0, %rax
setne %al
movb %al, -0xc1(%rbp)
movb -0xc1(%rbp), %al
xorb $-0x1, %al
xorb $-0x1, %al
testb $0x1, %al
jne 0x38d72
jmp 0x38d99
movq 0x6e6e7(%rip), %rax     # 0xa7460
movq %rax, -0xa0(%rbp)
movl $0x15c, -0x98(%rbp)     # imm = 0x15C
movl $0x1b69, -0xa4(%rbp)    # imm = 0x1B69
jmp 0x397fb
movq -0x88(%rbp), %rdi
callq 0x2a7e0
movq $0x0, -0x88(%rbp)
movsd -0x90(%rbp), %xmm0
movsd %xmm0, -0xd0(%rbp)
leaq -0x38(%rbp), %rdi
xorl %esi, %esi
callq 0x73390
movsd -0xd0(%rbp), %xmm0
movsd %xmm0, (%rax)
movq -0x40(%rbp), %rax
movl 0x1c(%rax), %edi
callq 0x2ec60
movq %rax, -0x88(%rbp)
cmpq $0x0, -0x88(%rbp)
setne %al
xorb $-0x1, %al
xorb $-0x1, %al
xorb $-0x1, %al
testb $0x1, %al
jne 0x38e01
jmp 0x38e28
movq 0x6e658(%rip), %rax     # 0xa7460
movq %rax, -0xa0(%rbp)
movl $0x15d, -0x98(%rbp)     # imm = 0x15D
movl $0x1b74, -0xa4(%rbp)    # imm = 0x1B74
jmp 0x397fb
movq -0x48(%rbp), %rdi
movl $0x1, %esi
xorl %ecx, %ecx
movl $0x1, %r8d
movl %ecx, %edx
callq 0x2ef90
movq %rax, -0x80(%rbp)
cmpq $0x0, -0x80(%rbp)
setne %al
xorb $-0x1, %al
xorb $-0x1, %al
xorb $-0x1, %al
testb $0x1, %al
jne 0x38e58
jmp 0x38e7f
movq 0x6e601(%rip), %rax     # 0xa7460
movq %rax, -0xa0(%rbp)
movl $0x15d, -0x98(%rbp)     # imm = 0x15D
movl $0x1b76, -0xa4(%rbp)    # imm = 0x1B76
jmp 0x397fb
movq -0x88(%rbp), %rdi
movq -0x80(%rbp), %rsi
callq 0x29410
movq %rax, -0x70(%rbp)
cmpq $0x0, -0x70(%rbp)
setne %al
xorb $-0x1, %al
xorb $-0x1, %al
xorb $-0x1, %al
testb $0x1, %al
jne 0x38ea7
jmp 0x38ece
movq 0x6e5b2(%rip), %rax     # 0xa7460
movq %rax, -0xa0(%rbp)
movl $0x15d, -0x98(%rbp)     # imm = 0x15D
movl $0x1b78, -0xa4(%rbp)    # imm = 0x1B78
jmp 0x397fb
movq -0x88(%rbp), %rdi
callq 0x2a7e0
movq $0x0, -0x88(%rbp)
movq -0x80(%rbp), %rdi
callq 0x2a7e0
movq $0x0, -0x80(%rbp)
movq -0x70(%rbp), %rdi
movq 0x6e097(%rip), %rsi     # 0xa6f98
callq 0x2c410
cmpl $0x0, %eax
je 0x38f1e
movq -0x70(%rbp), %rax
movsd 0x10(%rax), %xmm0
movsd %xmm0, -0xd8(%rbp)
jmp 0x38f2f
movq -0x70(%rbp), %rdi
callq 0x29310
movsd %xmm0, -0xd8(%rbp)
movsd -0xd8(%rbp), %xmm0
movsd %xmm0, -0x90(%rbp)
movsd -0x90(%rbp), %xmm0
xorl %eax, %eax
movsd 0x55767(%rip), %xmm1    # 0x8e6b8
ucomisd %xmm1, %xmm0
movb %al, -0xd9(%rbp)
jne 0x38f71
jp 0x38f71
callq 0x295f0
cmpq $0x0, %rax
setne %al
movb %al, -0xd9(%rbp)
movb -0xd9(%rbp), %al
xorb $-0x1, %al
xorb $-0x1, %al
testb $0x1, %al
jne 0x38f81
jmp 0x38fa8
movq 0x6e4d8(%rip), %rax     # 0xa7460
movq %rax, -0xa0(%rbp)
movl $0x15d, -0x98(%rbp)     # imm = 0x15D
movl $0x1b7c, -0xa4(%rbp)    # imm = 0x1B7C
jmp 0x397fb
movq -0x70(%rbp), %rdi
callq 0x2a7e0
movq $0x0, -0x70(%rbp)
movsd -0x90(%rbp), %xmm0
movsd %xmm0, -0xe8(%rbp)
leaq -0x38(%rbp), %rdi
movl $0x1, %esi
callq 0x73390
movsd -0xe8(%rbp), %xmm0
movsd %xmm0, (%rax)
movq -0x40(%rbp), %rax
movl 0x20(%rax), %edi
callq 0x2ec60
movq %rax, -0x70(%rbp)
cmpq $0x0, -0x70(%rbp)
setne %al
xorb $-0x1, %al
xorb $-0x1, %al
xorb $-0x1, %al
testb $0x1, %al
jne 0x39007
jmp 0x3902e
movq 0x6e452(%rip), %rax     # 0xa7460
movq %rax, -0xa0(%rbp)
movl $0x15e, -0x98(%rbp)     # imm = 0x15E
movl $0x1b87, -0xa4(%rbp)    # imm = 0x1B87
jmp 0x397fb
movq -0x48(%rbp), %rdi
movl $0x2, %esi
xorl %ecx, %ecx
movl $0x1, %r8d
movl %ecx, %edx
callq 0x2ef90
movq %rax, -0x80(%rbp)
cmpq $0x0, -0x80(%rbp)
setne %al
xorb $-0x1, %al
xorb $-0x1, %al
xorb $-0x1, %al
testb $0x1, %al
jne 0x3905e
jmp 0x39085
movq 0x6e3fb(%rip), %rax     # 0xa7460
movq %rax, -0xa0(%rbp)
movl $0x15e, -0x98(%rbp)     # imm = 0x15E
movl $0x1b89, -0xa4(%rbp)    # imm = 0x1B89
jmp 0x397fb
movq -0x70(%rbp), %rdi
movq -0x80(%rbp), %rsi
callq 0x29410
movq %rax, -0x88(%rbp)
cmpq $0x0, -0x88(%rbp)
setne %al
xorb $-0x1, %al
xorb $-0x1, %al
xorb $-0x1, %al
testb $0x1, %al
jne 0x390b0
jmp 0x390d7
movq 0x6e3a9(%rip), %rax     # 0xa7460
movq %rax, -0xa0(%rbp)
movl $0x15e, -0x98(%rbp)     # imm = 0x15E
movl $0x1b8b, -0xa4(%rbp)    # imm = 0x1B8B
jmp 0x397fb
movq -0x70(%rbp), %rdi
callq 0x2a7e0
movq $0x0, -0x70(%rbp)
movq -0x80(%rbp), %rdi
callq 0x2a7e0
movq $0x0, -0x80(%rbp)
movq -0x88(%rbp), %rdi
movq 0x6de91(%rip), %rsi     # 0xa6f98
callq 0x2c410
cmpl $0x0, %eax
je 0x39127
movq -0x88(%rbp), %rax
movsd 0x10(%rax), %xmm0
movsd %xmm0, -0xf0(%rbp)
jmp 0x3913b
movq -0x88(%rbp), %rdi
callq 0x29310
movsd %xmm0, -0xf0(%rbp)
movsd -0xf0(%rbp), %xmm0
movsd %xmm0, -0x90(%rbp)
movsd -0x90(%rbp), %xmm0
xorl %eax, %eax
movsd 0x5555b(%rip), %xmm1    # 0x8e6b8
ucomisd %xmm1, %xmm0
movb %al, -0xf1(%rbp)
jne 0x3917d
jp 0x3917d
callq 0x295f0
cmpq $0x0, %rax
setne %al
movb %al, -0xf1(%rbp)
movb -0xf1(%rbp), %al
xorb $-0x1, %al
xorb $-0x1, %al
testb $0x1, %al
jne 0x3918d
jmp 0x391b4
movq 0x6e2cc(%rip), %rax     # 0xa7460
movq %rax, -0xa0(%rbp)
movl $0x15e, -0x98(%rbp)     # imm = 0x15E
movl $0x1b8f, -0xa4(%rbp)    # imm = 0x1B8F
jmp 0x397fb
movq -0x88(%rbp), %rdi
callq 0x2a7e0
movq $0x0, -0x88(%rbp)
movsd -0x90(%rbp), %xmm0
movsd %xmm0, -0x100(%rbp)
leaq -0x38(%rbp), %rdi
movl $0x2, %esi
callq 0x73390
movsd -0x100(%rbp), %xmm0
movsd %xmm0, (%rax)
movq -0x40(%rbp), %rax
movl 0x24(%rax), %edi
callq 0x2ec60
movq %rax, -0x88(%rbp)
cmpq $0x0, -0x88(%rbp)
setne %al
xorb $-0x1, %al
xorb $-0x1, %al
xorb $-0x1, %al
testb $0x1, %al
jne 0x3921f
jmp 0x39246
movq 0x6e23a(%rip), %rax     # 0xa7460
movq %rax, -0xa0(%rbp)
movl $0x15f, -0x98(%rbp)     # imm = 0x15F
movl $0x1b9a, -0xa4(%rbp)    # imm = 0x1B9A
jmp 0x397fb
movq -0x48(%rbp), %rdi
movl $0x3, %esi
xorl %ecx, %ecx
movl $0x1, %r8d
movl %ecx, %edx
callq 0x2ef90
movq %rax, -0x80(%rbp)
cmpq $0x0, -0x80(%rbp)
setne %al
xorb $-0x1, %al
xorb $-0x1, %al
xorb $-0x1, %al
testb $0x1, %al
jne 0x39276
jmp 0x3929d
movq 0x6e1e3(%rip), %rax     # 0xa7460
movq %rax, -0xa0(%rbp)
movl $0x15f, -0x98(%rbp)     # imm = 0x15F
movl $0x1b9c, -0xa4(%rbp)    # imm = 0x1B9C
jmp 0x397fb
movq -0x88(%rbp), %rdi
movq -0x80(%rbp), %rsi
callq 0x29410
movq %rax, -0x70(%rbp)
cmpq $0x0, -0x70(%rbp)
setne %al
xorb $-0x1, %al
xorb $-0x1, %al
xorb $-0x1, %al
testb $0x1, %al
jne 0x392c5
jmp 0x392ec
movq 0x6e194(%rip), %rax     # 0xa7460
movq %rax, -0xa0(%rbp)
movl $0x15f, -0x98(%rbp)     # imm = 0x15F
movl $0x1b9e, -0xa4(%rbp)    # imm = 0x1B9E
jmp 0x397fb
movq -0x88(%rbp), %rdi
callq 0x2a7e0
movq $0x0, -0x88(%rbp)
movq -0x80(%rbp), %rdi
callq 0x2a7e0
movq $0x0, -0x80(%rbp)
movq -0x70(%rbp), %rdi
movq 0x6dc79(%rip), %rsi     # 0xa6f98
callq 0x2c410
cmpl $0x0, %eax
je 0x3933c
movq -0x70(%rbp), %rax
movsd 0x10(%rax), %xmm0
movsd %xmm0, -0x108(%rbp)
jmp 0x3934d
movq -0x70(%rbp), %rdi
callq 0x29310
movsd %xmm0, -0x108(%rbp)
movsd -0x108(%rbp), %xmm0
movsd %xmm0, -0x90(%rbp)
movsd -0x90(%rbp), %xmm0
xorl %eax, %eax
movsd 0x55349(%rip), %xmm1    # 0x8e6b8
ucomisd %xmm1, %xmm0
movb %al, -0x109(%rbp)
jne 0x3938f
jp 0x3938f
callq 0x295f0
cmpq $0x0, %rax
setne %al
movb %al, -0x109(%rbp)
movb -0x109(%rbp), %al
xorb $-0x1, %al
xorb $-0x1, %al
testb $0x1, %al
jne 0x3939f
jmp 0x393c6
movq 0x6e0ba(%rip), %rax     # 0xa7460
movq %rax, -0xa0(%rbp)
movl $0x15f, -0x98(%rbp)     # imm = 0x15F
movl $0x1ba2, -0xa4(%rbp)    # imm = 0x1BA2
jmp 0x397fb
movq -0x70(%rbp), %rdi
callq 0x2a7e0
movq $0x0, -0x70(%rbp)
movsd -0x90(%rbp), %xmm0
movsd %xmm0, -0x118(%rbp)
leaq -0x38(%rbp), %rdi
movl $0x3, %esi
callq 0x73390
movsd -0x118(%rbp), %xmm0
movsd %xmm0, (%rax)
movq -0x40(%rbp), %rax
movl 0x28(%rax), %edi
callq 0x2ec60
movq %rax, -0x70(%rbp)
cmpq $0x0, -0x70(%rbp)
setne %al
xorb $-0x1, %al
xorb $-0x1, %al
xorb $-0x1, %al
testb $0x1, %al
jne 0x39425
jmp 0x3944c
movq 0x6e034(%rip), %rax     # 0xa7460
movq %rax, -0xa0(%rbp)
movl $0x160, -0x98(%rbp)     # imm = 0x160
movl $0x1bad, -0xa4(%rbp)    # imm = 0x1BAD
jmp 0x397fb
movq -0x48(%rbp), %rdi
movl $0x4, %esi
xorl %ecx, %ecx
movl $0x1, %r8d
movl %ecx, %edx
callq 0x2ef90
movq %rax, -0x80(%rbp)
cmpq $0x0, -0x80(%rbp)
setne %al
xorb $-0x1, %al
xorb $-0x1, %al
xorb $-0x1, %al
testb $0x1, %al
jne 0x3947c
jmp 0x394a3
movq 0x6dfdd(%rip), %rax     # 0xa7460
movq %rax, -0xa0(%rbp)
movl $0x160, -0x98(%rbp)     # imm = 0x160
movl $0x1baf, -0xa4(%rbp)    # imm = 0x1BAF
jmp 0x397fb
movq -0x70(%rbp), %rdi
movq -0x80(%rbp), %rsi
callq 0x29410
movq %rax, -0x88(%rbp)
cmpq $0x0, -0x88(%rbp)
setne %al
xorb $-0x1, %al
xorb $-0x1, %al
xorb $-0x1, %al
testb $0x1, %al
jne 0x394ce
jmp 0x394f5
movq 0x6df8b(%rip), %rax     # 0xa7460
movq %rax, -0xa0(%rbp)
movl $0x160, -0x98(%rbp)     # imm = 0x160
movl $0x1bb1, -0xa4(%rbp)    # imm = 0x1BB1
jmp 0x397fb
movq -0x70(%rbp), %rdi
callq 0x2a7e0
movq $0x0, -0x70(%rbp)
movq -0x80(%rbp), %rdi
callq 0x2a7e0
movq $0x0, -0x80(%rbp)
movq -0x88(%rbp), %rdi
movq 0x6da73(%rip), %rsi     # 0xa6f98
callq 0x2c410
cmpl $0x0, %eax
je 0x39545
movq -0x88(%rbp), %rax
movsd 0x10(%rax), %xmm0
movsd %xmm0, -0x120(%rbp)
jmp 0x39559
movq -0x88(%rbp), %rdi
callq 0x29310
movsd %xmm0, -0x120(%rbp)
movsd -0x120(%rbp), %xmm0
movsd %xmm0, -0x90(%rbp)
movsd -0x90(%rbp), %xmm0
xorl %eax, %eax
movsd 0x5513d(%rip), %xmm1    # 0x8e6b8
ucomisd %xmm1, %xmm0
movb %al, -0x121(%rbp)
jne 0x3959b
jp 0x3959b
callq 0x295f0
cmpq $0x0, %rax
setne %al
movb %al, -0x121(%rbp)
movb -0x121(%rbp), %al
xorb $-0x1, %al
xorb $-0x1, %al
testb $0x1, %al
jne 0x395ab
jmp 0x395d2
movq 0x6deae(%rip), %rax     # 0xa7460
movq %rax, -0xa0(%rbp)
movl $0x160, -0x98(%rbp)     # imm = 0x160
movl $0x1bb5, -0xa4(%rbp)    # imm = 0x1BB5
jmp 0x397fb
movq -0x88(%rbp), %rdi
callq 0x2a7e0
movq $0x0, -0x88(%rbp)
movsd -0x90(%rbp), %xmm0
movsd %xmm0, -0x130(%rbp)
leaq -0x38(%rbp), %rdi
movl $0x4, %esi
callq 0x73390
movsd -0x130(%rbp), %xmm0
movsd %xmm0, (%rax)
movq -0x58(%rbp), %rdi
callq 0x2f230
movl %eax, -0x74(%rbp)
cmpl $0x0, -0x74(%rbp)
setl %al
xorb $-0x1, %al
xorb $-0x1, %al
testb $0x1, %al
jne 0x39630
jmp 0x39657
movq 0x6de29(%rip), %rax     # 0xa7460
movq %rax, -0xa0(%rbp)
movl $0x161, -0x98(%rbp)     # imm = 0x161
movl $0x1bc0, -0xa4(%rbp)    # imm = 0x1BC0
jmp 0x397fb
cmpl $0x0, -0x74(%rbp)
setne %al
xorb $-0x1, %al
andb $0x1, %al
movzbl %al, %eax
cmpl $0x0, %eax
setne %al
andb $0x1, %al
movzbl %al, %eax
movl %eax, -0x94(%rbp)
cmpl $0x0, -0x94(%rbp)
je 0x39709
movq -0x60(%rbp), %rdi
callq 0x2a8d0
movq -0x40(%rbp), %rax
movq 0x10(%rax), %rdi
leaq -0x38(%rbp), %rsi
callq 0x733b0
andb $0x1, %al
movzbl %al, %eax
movl %eax, %edi
callq 0x30080
movq %rax, -0x88(%rbp)
cmpq $0x0, -0x88(%rbp)
setne %al
xorb $-0x1, %al
xorb $-0x1, %al
xorb $-0x1, %al
testb $0x1, %al
jne 0x396c7
jmp 0x396ee
movq 0x6dd92(%rip), %rax     # 0xa7460
movq %rax, -0xa0(%rbp)
movl $0x162, -0x98(%rbp)     # imm = 0x162
movl $0x1bcc, -0xa4(%rbp)    # imm = 0x1BCC
jmp 0x397fb
movq -0x88(%rbp), %rax
movq %rax, -0x60(%rbp)
movq $0x0, -0x88(%rbp)
jmp 0x39840
movq -0x60(%rbp), %rdi
callq 0x2a8d0
movq -0x40(%rbp), %rax
movq 0x10(%rax), %rdi
leaq -0x38(%rbp), %rsi
callq 0x733b0
andb $0x1, %al
movzbl %al, %eax
movl %eax, %edi
callq 0x30080
movq %rax, -0x88(%rbp)
cmpq $0x0, -0x88(%rbp)
setne %al
xorb $-0x1, %al
xorb $-0x1, %al
xorb $-0x1, %al
testb $0x1, %al
jne 0x3974d
jmp 0x39774
movq 0x6dd0c(%rip), %rax     # 0xa7460
movq %rax, -0xa0(%rbp)
movl $0x163, -0x98(%rbp)     # imm = 0x163
movl $0x1be3, -0xa4(%rbp)    # imm = 0x1BE3
jmp 0x397fb
movl $0x2, %edi
callq 0x29200
movq %rax, -0x80(%rbp)
cmpq $0x0, -0x80(%rbp)
setne %al
xorb $-0x1, %al
xorb $-0x1, %al
xorb $-0x1, %al
testb $0x1, %al
jne 0x39796
jmp 0x397ba
movq 0x6dcc3(%rip), %rax     # 0xa7460
movq %rax, -0xa0(%rbp)
movl $0x163, -0x98(%rbp)     # imm = 0x163
movl $0x1be5, -0xa4(%rbp)    # imm = 0x1BE5
jmp 0x397fb
movq -0x88(%rbp), %rcx
movq -0x80(%rbp), %rax
movq %rcx, 0x18(%rax)
movq -0x50(%rbp), %rdi
callq 0x2a7c0
movq -0x50(%rbp), %rcx
movq -0x80(%rbp), %rax
movq %rcx, 0x20(%rax)
movq $0x0, -0x88(%rbp)
movq -0x80(%rbp), %rax
movq %rax, -0x60(%rbp)
movq $0x0, -0x80(%rbp)
jmp 0x39840
movq -0x70(%rbp), %rdi
callq 0x2a8d0
movq -0x80(%rbp), %rdi
callq 0x2a8d0
movq -0x88(%rbp), %rdi
callq 0x2a8d0
movl -0xa4(%rbp), %esi
movl -0x98(%rbp), %edx
movq -0xa0(%rbp), %rcx
leaq 0x55bc5(%rip), %rdi     # 0x8f3f8
callq 0x2c5a0
movq $0x0, -0x60(%rbp)
movq -0x50(%rbp), %rdi
callq 0x2a8d0
movq -0x60(%rbp), %rax
movq %rax, -0x138(%rbp)
movq %fs:0x28, %rax
movq -0x8(%rbp), %rcx
cmpq %rcx, %rax
jne 0x39876
movq -0x138(%rbp), %rax
addq $0x140, %rsp            # imm = 0x140
popq %rbp
retq
callq 0x29420
nopl (%rax,%rax)