// File: /workspace/github_cpp_makefile_star2_O3/mertyildiran[P]Plexus/plexus/wrapper.cpp
// Function: PyNetwork_load(PyNetwork*, _object*, _object*)
static PyObject * PyNetwork_load(
    PyNetwork* self,
    PyObject* args,
    PyObject *kwargs
)
{
    std::vector<double> input_arr;
    std::vector<double> output_arr;
    PyObject *input_obj;
    PyObject *output_obj = Py_None;

    static char *kwlist[] = {"input_obj", "output_obj", NULL};

    if (! PyArg_ParseTupleAndKeywords(
        args,
        kwargs,
        "O|O",
        kwlist,
        &input_obj,
        &output_obj
    )) {
        PyErr_SetString(PyExc_TypeError, "Wrong type of argument");
        return NULL;
    }

    Py_XINCREF(input_obj);
    Py_XINCREF(output_obj);

    PyObject *input_iter = PyObject_GetIter(input_obj);
    if (!input_iter) {
        PyErr_SetString(PyExc_TypeError, "Input argument is not iterable");
        return NULL;
    }
    try {
        parse_iterable(input_arr, input_iter);
    } catch (char *msg) {
        PyErr_SetString(
            PyExc_TypeError,
            msg
        );
        return NULL;
    }

    if (output_obj != Py_None) {
        PyObject *output_iter = PyObject_GetIter(output_obj);
        if (!output_iter) {
            PyErr_SetString(
                PyExc_TypeError,
                "Output argument is not iterable"
            );
            return NULL;
        }
        try {
            parse_iterable(output_arr, output_iter);
        } catch (char *msg) {
            PyErr_SetString(
                PyExc_TypeError,
                msg
            );
            return NULL;
        }
    }

    Py_XDECREF(input_obj);
    Py_XDECREF(output_obj);

    (self->ptrObj)->load(input_arr, output_arr);

    return Py_BuildValue("");
}

// Assembly:
pushq %rbx
subq $0x80, %rsp
movq %rdi, %rbx
movq %fs:0x28, %rax
movq %rax, 0x78(%rsp)
xorl %eax, %eax
movq %rax, 0x70(%rsp)
xorps %xmm0, %xmm0
movaps %xmm0, 0x60(%rsp)
movq %rax, 0x50(%rsp)
movaps %xmm0, 0x40(%rsp)
movq 0x564b(%rip), %rax      # 0xff68
leaq 0x30(%rsp), %r9
movq %rax, (%r9)
leaq 0x1c9e(%rip), %rax      # 0xc5ca
leaq 0x625d(%rip), %rcx      # 0x10b90
leaq 0x38(%rsp), %r8
movq %rsi, %rdi
movq %rdx, %rsi
movq %rax, %rdx
xorl %eax, %eax
callq 0x60f0
testl %eax, %eax
je 0xaa46
movq 0x38(%rsp), %rdi
testq %rdi, %rdi
je 0xa95d
incq (%rdi)
movq 0x30(%rsp), %rax
testq %rax, %rax
je 0xa96a
incq (%rax)
callq 0x6160
testq %rax, %rax
je 0xaa5e
leaq 0x60(%rsp), %rdi
movq %rax, %rsi
callq 0xa3ac
movq 0x30(%rsp), %rdi
cmpq 0x55d7(%rip), %rdi      # 0xff68
je 0xa9ae
callq 0x6160
testq %rax, %rax
je 0xaa76
leaq 0x40(%rsp), %rdi
movq %rax, %rsi
callq 0xa3ac
movq 0x38(%rsp), %rdi
testq %rdi, %rdi
je 0xa9c2
decq (%rdi)
jne 0xa9c2
callq 0x61d0
movq 0x30(%rsp), %rdi
testq %rdi, %rdi
je 0xa9d6
decq (%rdi)
jne 0xa9d6
callq 0x61d0
movq 0x10(%rbx), %rbx
leaq 0x18(%rsp), %rdi
leaq 0x60(%rsp), %rsi
callq 0xb9ae
movq %rsp, %rdi
leaq 0x40(%rsp), %rsi
callq 0xb9ae
leaq 0x18(%rsp), %rsi
movq %rsp, %rdx
movq %rbx, %rdi
callq 0x7d3a
movq (%rsp), %rdi
testq %rdi, %rdi
je 0xaa1c
movq 0x10(%rsp), %rsi
subq %rdi, %rsi
callq 0x6280
movq 0x18(%rsp), %rdi
testq %rdi, %rdi
je 0xaa33
movq 0x28(%rsp), %rsi
subq %rdi, %rsi
callq 0x6280
leaq 0x170b(%rip), %rdi      # 0xc145
xorl %eax, %eax
callq 0x61e0
movq %rax, %rbx
jmp 0xaa8e
movq 0x556b(%rip), %rax      # 0xffb8
movq (%rax), %rdi
leaq 0x1b77(%rip), %rsi      # 0xc5ce
callq 0x62c0
jmp 0xaa8c
movq 0x5553(%rip), %rax      # 0xffb8
movq (%rax), %rdi
leaq 0x1b76(%rip), %rsi      # 0xc5e5
callq 0x62c0
jmp 0xaa8c
movq 0x553b(%rip), %rax      # 0xffb8
movq (%rax), %rdi
leaq 0x1b7d(%rip), %rsi      # 0xc604
callq 0x62c0
xorl %ebx, %ebx
movq 0x40(%rsp), %rdi
testq %rdi, %rdi
je 0xaaa5
movq 0x50(%rsp), %rsi
subq %rdi, %rsi
callq 0x6280
movq 0x60(%rsp), %rdi
testq %rdi, %rdi
je 0xaabc
movq 0x70(%rsp), %rsi
subq %rdi, %rsi
callq 0x6280
movq %fs:0x28, %rax
cmpq 0x78(%rsp), %rax
jne 0xabc0
movq %rbx, %rax
addq $0x80, %rsp
popq %rbx
retq
movq %rax, %rbx
cmpl $0x1, %edx
jne 0xab7a
movq %rbx, %rdi
callq 0x60a0
movq 0x54c1(%rip), %rcx      # 0xffb8
movq (%rcx), %rdi
movq %rax, %rsi
callq 0x62c0
jmp 0xab61
jmp 0xab6b
movq %rax, %rbx
movq (%rsp), %rdi
testq %rdi, %rdi
je 0xab24
movq 0x10(%rsp), %rsi
subq %rdi, %rsi
callq 0x6280
jmp 0xab24
movq %rax, %rbx
movq 0x18(%rsp), %rdi
testq %rdi, %rdi
je 0xab7a
movq 0x28(%rsp), %rsi
subq %rdi, %rsi
callq 0x6280
jmp 0xab7a
jmp 0xab77
movq %rax, %rbx
cmpl $0x1, %edx
jne 0xab7a
movq %rbx, %rdi
callq 0x60a0
movq 0x5462(%rip), %rcx      # 0xffb8
movq (%rcx), %rdi
movq %rax, %rsi
callq 0x62c0
callq 0x63c0
jmp 0xaa8c
movq %rax, %rbx
callq 0x63c0
jmp 0xab7a
jmp 0xab77
movq %rax, %rbx
movq 0x40(%rsp), %rdi
testq %rdi, %rdi
je 0xab91
movq 0x50(%rsp), %rsi
subq %rdi, %rsi
callq 0x6280
movq 0x60(%rsp), %rdi
testq %rdi, %rdi
je 0xaba8
movq 0x70(%rsp), %rsi
subq %rdi, %rsi
callq 0x6280
movq %fs:0x28, %rax
cmpq 0x78(%rsp), %rax
jne 0xabc0
movq %rbx, %rdi
callq 0x6440
callq 0x62a0