// File: ehw-fit[P]py-paretoarchive/src/paretoarchive/core.cpp
// Function: _Pyx_check_binary_version()
static int __Pyx_check_binary_version(void) {
    char ctversion[5];
    int same=1, i, found_dot;
    const char* rt_from_call = Py_GetVersion();
    PyOS_snprintf(ctversion, 5, "%d.%d", PY_MAJOR_VERSION, PY_MINOR_VERSION);
    found_dot = 0;
    for (i = 0; i < 4; i++) {
        if (!ctversion[i]) {
            same = (rt_from_call[i] < '0' || rt_from_call[i] > '9');
            break;
        }
        if (rt_from_call[i] != ctversion[i]) {
            same = 0;
            break;
        }
    }
    if (!same) {
        char rtversion[5] = {'\0'};
        char message[200];
        for (i=0; i<4; ++i) {
            if (rt_from_call[i] == '.') {
                if (found_dot) break;
                found_dot = 1;
            } else if (rt_from_call[i] < '0' || rt_from_call[i] > '9') {
                break;
            }
            rtversion[i] = rt_from_call[i];
        }
        PyOS_snprintf(message, sizeof(message),
                      "compiletime version %s of module '%.100s' "
                      "does not match runtime version %s",
                      ctversion, __Pyx_MODULE_NAME, rtversion);
        return PyErr_WarnEx(NULL, message, 1);
    }
    return 0;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x100, %rsp            # imm = 0x100
movq %fs:0x28, %rax
movq %rax, -0x8(%rbp)
movl $0x1, -0xe4(%rbp)
callq 0x293b0
movq %rax, -0xf8(%rbp)
leaq -0xd5(%rbp), %rdi
movl $0x5, %esi
leaq 0x63ec9(%rip), %rdx     # 0x8e80a
movl $0x3, %ecx
movl $0xa, %r8d
movb $0x0, %al
callq 0x29430
movl $0x0, -0xec(%rbp)
movl $0x0, -0xe8(%rbp)
cmpl $0x4, -0xe8(%rbp)
jge 0x2aa1c
movslq -0xe8(%rbp), %rax
cmpb $0x0, -0xd5(%rbp,%rax)
jne 0x2a9d5
movq -0xf8(%rbp), %rax
movslq -0xe8(%rbp), %rcx
movsbl (%rax,%rcx), %ecx
movb $0x1, %al
cmpl $0x30, %ecx
movb %al, -0xf9(%rbp)
jl 0x2a9c2
movq -0xf8(%rbp), %rax
movslq -0xe8(%rbp), %rcx
movsbl (%rax,%rcx), %eax
cmpl $0x39, %eax
setg %al
movb %al, -0xf9(%rbp)
movb -0xf9(%rbp), %al
andb $0x1, %al
movzbl %al, %eax
movl %eax, -0xe4(%rbp)
jmp 0x2aa1c
movq -0xf8(%rbp), %rax
movslq -0xe8(%rbp), %rcx
movsbl (%rax,%rcx), %eax
movslq -0xe8(%rbp), %rcx
movsbl -0xd5(%rbp,%rcx), %ecx
cmpl %ecx, %eax
je 0x2aa06
movl $0x0, -0xe4(%rbp)
jmp 0x2aa1c
jmp 0x2aa08
movl -0xe8(%rbp), %eax
addl $0x1, %eax
movl %eax, -0xe8(%rbp)
jmp 0x2a967
cmpl $0x0, -0xe4(%rbp)
jne 0x2ab32
leaq -0xda(%rbp), %rdi
xorl %esi, %esi
movl $0x5, %edx
callq 0x29250
movl $0x0, -0xe8(%rbp)
cmpl $0x4, -0xe8(%rbp)
jge 0x2aae6
movq -0xf8(%rbp), %rax
movslq -0xe8(%rbp), %rcx
movsbl (%rax,%rcx), %eax
cmpl $0x2e, %eax
jne 0x2aa81
cmpl $0x0, -0xec(%rbp)
je 0x2aa75
jmp 0x2aae6
movl $0x1, -0xec(%rbp)
jmp 0x2aab3
movq -0xf8(%rbp), %rax
movslq -0xe8(%rbp), %rcx
movsbl (%rax,%rcx), %eax
cmpl $0x30, %eax
jl 0x2aaaf
movq -0xf8(%rbp), %rax
movslq -0xe8(%rbp), %rcx
movsbl (%rax,%rcx), %eax
cmpl $0x39, %eax
jle 0x2aab1
jmp 0x2aae6
jmp 0x2aab3
movq -0xf8(%rbp), %rax
movslq -0xe8(%rbp), %rcx
movb (%rax,%rcx), %cl
movslq -0xe8(%rbp), %rax
movb %cl, -0xda(%rbp,%rax)
movl -0xe8(%rbp), %eax
addl $0x1, %eax
movl %eax, -0xe8(%rbp)
jmp 0x2aa46
leaq -0xd0(%rbp), %rdi
leaq -0xd5(%rbp), %rcx
leaq -0xda(%rbp), %r9
movl $0xc8, %esi
leaq 0x63d09(%rip), %rdx     # 0x8e810
leaq 0x63ce9(%rip), %r8      # 0x8e7f7
movb $0x0, %al
callq 0x29430
leaq -0xd0(%rbp), %rsi
xorl %eax, %eax
movl %eax, %edi
movl $0x1, %edx
callq 0x291c0
movl %eax, -0xe0(%rbp)
jmp 0x2ab3c
movl $0x0, -0xe0(%rbp)
movl -0xe0(%rbp), %eax
movl %eax, -0x100(%rbp)
movq %fs:0x28, %rax
movq -0x8(%rbp), %rcx
cmpq %rcx, %rax
jne 0x2ab69
movl -0x100(%rbp), %eax
addq $0x100, %rsp            # imm = 0x100
popq %rbp
retq
callq 0x29420
nop