// File: /workspace/github_cpp_makefile_star2_O2/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)
xorps %xmm0, %xmm0
andq $0x0, 0x70(%rsp)
movaps %xmm0, 0x60(%rsp)
andq $0x0, 0x50(%rsp)
movaps %xmm0, 0x40(%rsp)
movq 0x696a(%rip), %rax      # 0x13f68
leaq 0x30(%rsp), %r9
movq %rax, (%r9)
leaq 0x1f7e(%rip), %rax      # 0xf58b
leaq 0x759c(%rip), %rcx      # 0x14bb0
leaq 0x38(%rsp), %r8
movq %rsi, %rdi
movq %rdx, %rsi
movq %rax, %rdx
xorl %eax, %eax
callq 0x9110
testl %eax, %eax
je 0xd6f8
movq 0x38(%rsp), %rdi
testq %rdi, %rdi
je 0xd63e
incq (%rdi)
movq 0x30(%rsp), %rax
testq %rax, %rax
je 0xd64b
incq (%rax)
callq 0x9180
testq %rax, %rax
je 0xd710
leaq 0x60(%rsp), %rdi
movq %rax, %rsi
callq 0xd0a8
movq 0x30(%rsp), %rdi
cmpq 0x68f6(%rip), %rdi      # 0x13f68
je 0xd68f
callq 0x9180
testq %rax, %rax
je 0xd728
leaq 0x40(%rsp), %rdi
movq %rax, %rsi
callq 0xd0a8
movq 0x38(%rsp), %rdi
callq 0xd15f
movq 0x30(%rsp), %rdi
callq 0xd15f
movq 0x10(%rbx), %rbx
leaq 0x18(%rsp), %rdi
leaq 0x60(%rsp), %rsi
callq 0xe398
movq %rsp, %rdi
leaq 0x40(%rsp), %rsi
callq 0xe398
leaq 0x18(%rsp), %rsi
movq %rsp, %rdx
movq %rbx, %rdi
callq 0xa82c
movq %rsp, %rdi
callq 0xca0c
leaq 0x18(%rsp), %rdi
callq 0xca0c
leaq 0x1a19(%rip), %rdi      # 0xf105
xorl %eax, %eax
callq 0x9200
movq %rax, %rbx
jmp 0xd740
movq 0x68b9(%rip), %rax      # 0x13fb8
movq (%rax), %rdi
leaq 0x1e86(%rip), %rsi      # 0xf58f
callq 0x92f0
jmp 0xd73e
movq 0x68a1(%rip), %rax      # 0x13fb8
movq (%rax), %rdi
leaq 0x1e85(%rip), %rsi      # 0xf5a6
callq 0x92f0
jmp 0xd73e
movq 0x6889(%rip), %rax      # 0x13fb8
movq (%rax), %rdi
leaq 0x1e8c(%rip), %rsi      # 0xf5c5
callq 0x92f0
xorl %ebx, %ebx
leaq 0x40(%rsp), %rdi
callq 0xca0c
leaq 0x60(%rsp), %rdi
callq 0xca0c
movq %fs:0x28, %rax
cmpq 0x78(%rsp), %rax
jne 0xd81f
movq %rbx, %rax
addq $0x80, %rsp
popq %rbx
retq
movq %rax, %rbx
cmpl $0x1, %edx
jne 0xd7f3
movq %rbx, %rdi
callq 0x90a0
movq 0x682d(%rip), %rcx      # 0x13fb8
movq (%rcx), %rdi
movq %rax, %rsi
callq 0x92f0
jmp 0xd7da
jmp 0xd7e4
movq %rax, %rbx
movq %rsp, %rdi
callq 0xca0c
jmp 0xd7aa
movq %rax, %rbx
leaq 0x18(%rsp), %rdi
callq 0xca0c
jmp 0xd7f3
jmp 0xd7f0
movq %rax, %rbx
cmpl $0x1, %edx
jne 0xd7f3
movq %rbx, %rdi
callq 0x90a0
movq 0x67e9(%rip), %rcx      # 0x13fb8
movq (%rcx), %rdi
movq %rax, %rsi
callq 0x92f0
callq 0x93f0
jmp 0xd73e
movq %rax, %rbx
callq 0x93f0
jmp 0xd7f3
jmp 0xd7f0
movq %rax, %rbx
leaq 0x40(%rsp), %rdi
callq 0xca0c
leaq 0x60(%rsp), %rdi
callq 0xca0c
movq %fs:0x28, %rax
cmpq 0x78(%rsp), %rax
jne 0xd81f
movq %rbx, %rdi
callq 0x9470
callq 0x92d0