_typeobject
*
__fastcall _pyx_pf_5bbbbb_10test_calc(_object
*
__pyx_v_a, _object
*
__pyx_self, __int64 a3)
{
_typeobject
*
v3;
/
/
r12
_typeobject
*
v5;
/
/
rbx
_object
*
pyx_int_1;
/
/
r9
_typeobject
*
ob_type;
/
/
rax
unsigned __int64 ob_refcnt;
/
/
r8
__int64 v9;
/
/
rax
unsigned __int64 v10;
/
/
r8
const char
*
v11;
/
/
rsi
int
v12;
/
/
edi
int
v13;
/
/
ebp
_object
*
p_ob_base;
/
/
rax
unsigned __int64 v15;
/
/
rdx
__int64 v16;
/
/
rax
__int64 v17;
/
/
rdx
__int64 v18;
/
/
r8
__int64 v19;
/
/
r9
unsigned __int64 v20;
/
/
rdx
_object
*
v21;
/
/
rdi
int
*
v22;
/
/
rcx
bool
v23;
/
/
zf
_object
*
v24;
/
/
rax
__int64 v25;
/
/
rdx
__int64 v26;
/
/
r8
__int64 v27;
/
/
r9
_object
*
v28;
/
/
rdi
int
*
v29;
/
/
rcx
_object
*
pyx_int_100;
/
/
r8
_object
*
v31;
/
/
rax
__int64 v32;
/
/
rax
__int64 v33;
/
/
rdx
__int64 v34;
/
/
r8
__int64 v35;
/
/
r9
_object
*
v36;
/
/
rdi
int
*
v37;
/
/
rcx
_object
*
v38;
/
/
rax
__int64 v39;
/
/
rdx
__int64 v40;
/
/
r8
__int64 v41;
/
/
r9
__int64 v42;
/
/
rdi
int
*
v43;
/
/
rcx
_object
*
v44;
/
/
r8
_object
*
pyx_int_30;
/
/
r9
unsigned __int64 v46;
/
/
rdx
int
*
v47;
/
/
rcx
__int64 v48;
/
/
rax
__int64 v49;
/
/
rdx
__int64 v50;
/
/
r8
__int64 v51;
/
/
r9
__int64 v52;
/
/
rdi
int
v53;
/
/
r8d
unsigned
int
v54;
/
/
ecx
int
v55;
/
/
edx
unsigned
int
v56;
/
/
r8d
__int64 v57;
/
/
rax
signed __int64 v58;
/
/
r8
unsigned __int64 v59;
/
/
rcx
__int64 v60;
/
/
rdx
unsigned __int64 v61;
/
/
r8
int
*
v62;
/
/
rcx
_object
*
v63;
/
/
r8
_object
*
pyx_int_3;
/
/
r9
unsigned __int64 v65;
/
/
rdx
int
*
v66;
/
/
rcx
__int64 v67;
/
/
rax
__int64 v68;
/
/
rdx
__int64 v69;
/
/
r8
_object
*
v70;
/
/
r9
_object
*
v71;
/
/
rdi
unsigned __int64 v72;
/
/
rcx
__int64 v73;
/
/
rax
int
*
v74;
/
/
rcx
_object
*
v75;
/
/
rax
_object
*
v76;
/
/
r14
_typeobject
*
v77;
/
/
r8
PyMappingMethods
*
tp_as_mapping;
/
/
r15
__int64 v79;
/
/
rdx
_typeobject
*
v80;
/
/
rdi
__int64 v81;
/
/
r8
__int64 v82;
/
/
r9
__int64 v83;
/
/
rax
int
*
v84;
/
/
rdi
int
*
v85;
/
/
rsi
int
*
v86;
/
/
rcx
__int64 v87;
/
/
rax
__int64 v88;
/
/
rdx
__int64 v89;
/
/
r8
__int64 v90;
/
/
r9
_object
*
v91;
/
/
r8
__pyx_mstate
*
v92;
/
/
rdx
_object
*
pyx_int_16;
/
/
rcx
_object
*
v94;
/
/
rdi
int
*
v95;
/
/
rcx
_object
*
pyx_int_4;
/
/
r9
unsigned __int64 v97;
/
/
rdx
int
*
v98;
/
/
rcx
_object
*
pyx_int_15;
/
/
rsi
unsigned __int64 v100;
/
/
rcx
__int64 v101;
/
/
rax
unsigned __int64 v102;
/
/
rdx
__int64 v103;
/
/
rax
int
v104;
/
/
ecx
__int64 v105;
/
/
rax
__int64 v106;
/
/
rdx
__int64 v107;
/
/
r8
__int64 v108;
/
/
r9
int
*
v109;
/
/
rdi
__int64 v110;
/
/
rdx
__int64 v111;
/
/
r8
__int64 v112;
/
/
r9
_typeobject
*
v113;
/
/
r14
_object
*
args;
/
/
[rsp
+
38h
] [rbp
-
30h
] BYREF
v3
=
0i64
;
v5
=
0i64
;
pyx_int_1
=
_pyx_mstate_global
-
>__pyx_int_1;
ob_type
=
__pyx_self
-
>ob_type;
if
( ob_type !
=
(_typeobject
*
)PyLong_Type )
{
if
( ob_type
=
=
(_typeobject
*
)PyFloat_Type )
v9
=
PyFloat_FromDouble(__pyx_v_a, __pyx_self, a3, pyx_int_1);
else
v9
=
PyNumber_Add(__pyx_self, _pyx_mstate_global
-
>__pyx_int_1);
LABEL_14:
pyx_int_1
=
(_object
*
)v9;
goto LABEL_15;
}
ob_refcnt
=
__pyx_self[
1
].ob_refcnt;
if
( (ob_refcnt &
1
)
=
=
0
)
{
if
( ob_refcnt >
=
0x10
)
{
v10
=
ob_refcnt >>
3
;
switch ( v10
*
(
1
-
(__pyx_self[
1
].ob_refcnt &
3
)) )
{
case
0xFFFFFFFFFFFFFFFEui64
:
v9
=
PyLong_FromLongLong(
1
-
(LODWORD(__pyx_self[
1
].ob_type) | ((unsigned __int64)HIDWORD(__pyx_self[
1
].ob_type) <<
30
)),
__pyx_self,
v10,
pyx_int_1);
break
;
case
2ui64
:
v9
=
PyLong_FromLongLong(
(LODWORD(__pyx_self[
1
].ob_type) | ((unsigned __int64)HIDWORD(__pyx_self[
1
].ob_type) <<
30
))
+
1
,
__pyx_self,
v10,
pyx_int_1);
break
;
default:
v9
=
(
*
*
((__int64 (__fastcall
*
*
*
)(_object
*
, _object
*
))&PyLong_Type
+
12
))(
__pyx_self,
_pyx_mstate_global
-
>__pyx_int_1);
break
;
}
}
else
{
v9
=
PyLong_FromLong(LODWORD(__pyx_self[
1
].ob_type)
*
(
1
-
(unsigned
int
)(ob_refcnt &
3
))
+
1
);
}
goto LABEL_14;
}
if
( pyx_int_1
-
>ob_refcnt_split[
0
] !
=
-
1
)
+
+
pyx_int_1
-
>ob_refcnt_split[
0
];
LABEL_15:
if
( !pyx_int_1 )
{
v11
=
_pyx_f[
0
];
v12
=
42
;
v13
=
3937
;
goto LABEL_204;
}
v5
=
(_typeobject
*
)pyx_int_1;
p_ob_base
=
&pyx_int_1
-
>ob_type
-
>ob_base.ob_base;
if
( p_ob_base
=
=
PyLong_Type )
{
v15
=
pyx_int_1[
1
].ob_refcnt;
if
( (v15 &
1
) !
=
0
)
{
v16
=
PyLong_FromLong(
0xFFFFFFF6i64
);
}
else
if
( v15 >
=
0x10
)
{
v20
=
v15 >>
3
;
switch ( v20
*
(
1
-
(pyx_int_1[
1
].ob_refcnt &
3
)) )
{
case
0xFFFFFFFFFFFFFFFEui64
:
v16
=
PyLong_FromLongLong(
-
(__int64)(LODWORD(pyx_int_1[
1
].ob_type) | ((unsigned __int64)HIDWORD(pyx_int_1[
1
].ob_type) <<
30
))
-
10
,
v20,
ob_refcnt,
pyx_int_1);
break
;
case
2ui64
:
v16
=
PyLong_FromLongLong(
(LODWORD(pyx_int_1[
1
].ob_type) | ((unsigned __int64)HIDWORD(pyx_int_1[
1
].ob_type) <<
30
))
-
10
,
v20,
ob_refcnt,
pyx_int_1);
break
;
default:
v16
=
(
*
(__int64 (__fastcall
*
*
)(_object
*
, _object
*
))(
*
((_QWORD
*
)&PyLong_Type
+
12
)
+
8i64
))(
pyx_int_1,
_pyx_mstate_global
-
>__pyx_int_10);
break
;
}
}
else
{
v16
=
PyLong_FromLong(LODWORD(pyx_int_1[
1
].ob_type)
*
(
1
-
(unsigned
int
)(v15 &
3
))
-
10
);
}
}
else
if
( p_ob_base
=
=
(_object
*
)PyFloat_Type )
{
v16
=
PyFloat_FromDouble(__pyx_v_a, __pyx_self, ob_refcnt, pyx_int_1);
}
else
{
v16
=
PyNumber_Subtract(pyx_int_1, _pyx_mstate_global
-
>__pyx_int_10);
}
v21
=
(_object
*
)v16;
if
( !v16 )
{
v11
=
_pyx_f[
0
];
v12
=
43
;
v13
=
3949
;
goto LABEL_204;
}
v22
=
(
int
*
)v5;
v5
=
(_typeobject
*
)v16;
if
(
*
v22 >
=
0
)
{
v23
=
(
*
(_QWORD
*
)v22)
-
-
=
=
1i64
;
if
( v23 )
_Py_Dealloc(v22, v17, v18, v19);
}
v24
=
_Pyx_PyInt_MultiplyObjC(v21, _pyx_mstate_global
-
>__pyx_int_998,
998i64
, v19);
v28
=
v24;
if
( !v24 )
{
v11
=
_pyx_f[
0
];
v12
=
44
;
v13
=
3961
;
goto LABEL_204;
}
v29
=
(
int
*
)v5;
v5
=
(_typeobject
*
)v24;
if
(
*
v29 >
=
0
)
{
v23
=
(
*
(_QWORD
*
)v29)
-
-
=
=
1i64
;
if
( v23 )
_Py_Dealloc(v29, v25, v26, v27);
}
pyx_int_100
=
_pyx_mstate_global
-
>__pyx_int_100;
v31
=
&v28
-
>ob_type
-
>ob_base.ob_base;
if
( v31
=
=
PyLong_Type )
{
if
( v28[
1
].ob_refcnt >
=
0x10ui64
)
v32
=
(
*
(__int64 (__fastcall
*
*
)(_object
*
, _object
*
))(
*
((_QWORD
*
)&PyLong_Type
+
12
)
+
240i64
))(
v28,
_pyx_mstate_global
-
>__pyx_int_100);
else
v32
=
PyFloat_FromDouble(v28[
1
].ob_refcnt &
3
, PyLong_Type, pyx_int_100, v27);
}
else
if
( v31
=
=
(_object
*
)PyFloat_Type )
{
v32
=
PyFloat_FromDouble(v29, PyLong_Type, pyx_int_100, v27);
}
else
{
v32
=
PyNumber_TrueDivide(v28, _pyx_mstate_global
-
>__pyx_int_100);
}
v36
=
(_object
*
)v32;
if
( !v32 )
{
v11
=
_pyx_f[
0
];
v12
=
45
;
v13
=
3973
;
goto LABEL_204;
}
v37
=
(
int
*
)v5;
v5
=
(_typeobject
*
)v32;
if
(
*
v37 >
=
0
)
{
v23
=
(
*
(_QWORD
*
)v37)
-
-
=
=
1i64
;
if
( v23 )
_Py_Dealloc(v37, v33, v34, v35);
}
v38
=
_Pyx_PyInt_MultiplyObjC(v36, _pyx_mstate_global
-
>__pyx_int_200,
200i64
, v35);
v42
=
(__int64)v38;
if
( !v38 )
{
v11
=
_pyx_f[
0
];
v12
=
46
;
v13
=
3985
;
goto LABEL_204;
}
v43
=
(
int
*
)v5;
v5
=
(_typeobject
*
)v38;
if
(
*
v43 >
=
0
)
{
v23
=
(
*
(_QWORD
*
)v43)
-
-
=
=
1i64
;
if
( v23 )
_Py_Dealloc(v43, v39, v40, v41);
}
v44
=
PyLong_Type;
pyx_int_30
=
_pyx_mstate_global
-
>__pyx_int_30;
if
(
*
(_object
*
const
*
)(v42
+
8
)
=
=
PyLong_Type )
{
v46
=
*
(_QWORD
*
)(v42
+
16
);
if
( (v46 &
1
) !
=
0
)
{
if
(
*
(_DWORD
*
)v42 !
=
-
1
)
+
+
*
(_DWORD
*
)v42;
goto LABEL_60;
}
if
( v46 >
=
0x10
)
{
switch ( (
*
(_QWORD
*
)(v42
+
16
) >>
3
)
*
(
1
-
(
*
(_QWORD
*
)(v42
+
16
) &
3ui64
)) )
{
case
0xFFFFFFFFFFFFFFFEui64
:
v58
=
-
(__int64)(
*
(unsigned
int
*
)(v42
+
24
) | ((unsigned __int64)
*
(unsigned
int
*
)(v42
+
28
) <<
30
));
goto LABEL_72;
case
2ui64
:
v58
=
*
(unsigned
int
*
)(v42
+
24
) | ((unsigned __int64)
*
(unsigned
int
*
)(v42
+
28
) <<
30
);
LABEL_72:
v59
=
0i64
;
v60
=
v58
/
30
;
v61
=
v58
%
30
;
if
( v61 )
v59
=
v61 >>
63
;
v57
=
PyLong_FromLongLong(v60
-
v59, v60
-
v59, v61, pyx_int_30);
break
;
default:
v57
=
(
*
(__int64 (__fastcall
*
*
)(__int64, _object
*
))(
*
((_QWORD
*
)&PyLong_Type
+
12
)
+
232i64
))(
v42,
_pyx_mstate_global
-
>__pyx_int_30);
break
;
}
}
else
{
v53
=
*
(_DWORD
*
)(v42
+
24
)
*
(
1
-
(v46 &
3
));
v54
=
0
;
v55
=
v53
/
30
;
v56
=
v53
%
30
;
if
( v56 )
v54
=
v56 >>
31
;
v57
=
PyLong_FromLong(v55
-
v54);
}
}
else
{
v57
=
PyNumber_FloorDivide(v42, _pyx_mstate_global
-
>__pyx_int_30);
}
v42
=
v57;
if
( !v57 )
{
v11
=
_pyx_f[
0
];
v12
=
47
;
v13
=
3997
;
goto LABEL_204;
}
LABEL_60:
v47
=
(
int
*
)v5;
v5
=
(_typeobject
*
)v42;
if
(
*
v47 >
=
0
)
{
v23
=
(
*
(_QWORD
*
)v47)
-
-
=
=
1i64
;
if
( v23 )
_Py_Dealloc(v47, v46, v44, pyx_int_30);
}
v48
=
PyNumber_Power(v42, _pyx_mstate_global
-
>__pyx_int_3, _Py_NoneStruct, pyx_int_30);
v52
=
v48;
if
( !v48 )
{
v11
=
_pyx_f[
0
];
v12
=
48
;
v13
=
4009
;
goto LABEL_204;
}
v62
=
(
int
*
)v5;
v5
=
(_typeobject
*
)v48;
if
(
*
v62 >
=
0
)
{
v23
=
(
*
(_QWORD
*
)v62)
-
-
=
=
1i64
;
if
( v23 )
_Py_Dealloc(v62, v49, v50, v51);
}
v63
=
PyLong_Type;
pyx_int_3
=
_pyx_mstate_global
-
>__pyx_int_3;
if
(
*
(_object
*
const
*
)(v52
+
8
) !
=
PyLong_Type )
{
LABEL_102:
v73
=
PyNumber_Lshift(v52, _pyx_mstate_global
-
>__pyx_int_3);
goto LABEL_103;
}
v65
=
*
(_QWORD
*
)(v52
+
16
);
if
( (v65 &
1
) !
=
0
)
{
if
(
*
(_DWORD
*
)v52 !
=
-
1
)
+
+
*
(_DWORD
*
)v52;
goto LABEL_86;
}
if
( v65 <
0x10
)
{
LODWORD(v72)
=
*
(_DWORD
*
)(v52
+
24
)
*
(
1
-
(v65 &
3
));
if
( (_DWORD)v72
=
=
(
8
*
(
int
)v72) >>
3
|| !(_DWORD)v72 )
{
v73
=
PyLong_FromLong((unsigned
int
)(
8
*
v72));
goto LABEL_103;
}
v72
=
(
int
)v72;
LABEL_99:
if
( v72
=
=
(__int64)(
8
*
v72) >>
3
)
{
v73
=
PyLong_FromLongLong(
8
*
v72,
8
*
v72, PyLong_Type, pyx_int_3);
goto LABEL_103;
}
goto LABEL_102;
}
switch ( (
*
(_QWORD
*
)(v52
+
16
) >>
3
)
*
(
1
-
(
*
(_QWORD
*
)(v52
+
16
) &
3ui64
)) )
{
case
0xFFFFFFFFFFFFFFFEui64
:
v72
=
-
(__int64)(
*
(unsigned
int
*
)(v52
+
24
) | ((unsigned __int64)
*
(unsigned
int
*
)(v52
+
28
) <<
30
));
goto LABEL_99;
case
2ui64
:
v72
=
*
(unsigned
int
*
)(v52
+
24
) | ((unsigned __int64)
*
(unsigned
int
*
)(v52
+
28
) <<
30
);
goto LABEL_99;
default:
v73
=
(
*
(__int64 (__fastcall
*
*
)(__int64, _object
*
))(
*
((_QWORD
*
)&PyLong_Type
+
12
)
+
88i64
))(
v52,
_pyx_mstate_global
-
>__pyx_int_3);
break
;
}
LABEL_103:
v52
=
v73;
if
( !v73 )
{
v11
=
_pyx_f[
0
];
v12
=
49
;
v13
=
4021
;
goto LABEL_204;
}
LABEL_86:
v66
=
(
int
*
)v5;
v5
=
(_typeobject
*
)v52;
if
(
*
v66 >
=
0
)
{
v23
=
(
*
(_QWORD
*
)v66)
-
-
=
=
1i64
;
if
( v23 )
_Py_Dealloc(v66, v65, v63, pyx_int_3);
}
v67
=
PyNumber_Xor(v52, __pyx_self, v63, pyx_int_3);
v71
=
(_object
*
)v67;
if
( !v67 )
{
v11
=
_pyx_f[
0
];
v12
=
50
;
v13
=
4033
;
goto LABEL_204;
}
v74
=
(
int
*
)v5;
v5
=
(_typeobject
*
)v67;
if
(
*
v74 >
=
0
)
{
v23
=
(
*
(_QWORD
*
)v74)
-
-
=
=
1i64
;
if
( v23 )
_Py_Dealloc(v74, v68, v69, v70);
}
args
=
v71;
v75
=
_Pyx_PyObject_FastCallDict(_pyx_builtin_hex, &args,
0x8000000000000001ui64
, v70);
v76
=
v75;
if
( !v75 )
{
v11
=
_pyx_f[
0
];
v12
=
51
;
v13
=
4045
;
goto LABEL_204;
}
v77
=
v75
-
>ob_type;
tp_as_mapping
=
v77
-
>tp_as_mapping;
if
( !tp_as_mapping || !tp_as_mapping
-
>mp_subscript )
{
PyErr_Format(PyExc_TypeError,
"'%.200s' object is unsliceable"
, v77
-
>tp_name);
goto LABEL_200;
}
if
( _pyx_mstate_global
=
=
(__pyx_mstate
*
)
-
656i64
)
{
v83
=
PyLong_FromSsize_t(
2i64
);
v84
=
(
int
*
)v83;
if
( !v83 )
goto LABEL_200;
v85
=
(
int
*
)PySlice_New(v83, _Py_NoneStruct, _Py_NoneStruct);
if
(
*
v84 >
=
0
)
{
v23
=
(
*
(_QWORD
*
)v84)
-
-
=
=
1i64
;
if
( v23 )
_Py_Dealloc(v84, v79, v81, v82);
}
if
( !v85 )
goto LABEL_200;
v80
=
(_typeobject
*
)tp_as_mapping
-
>mp_subscript(v76, (_object
*
)v85);
if
(
*
v85 >
=
0
)
{
v23
=
(
*
(_QWORD
*
)v85)
-
-
=
=
1i64
;
if
( v23 )
_Py_Dealloc(v85, v79, v81, v82);
}
}
else
{
v80
=
(_typeobject
*
)tp_as_mapping
-
>mp_subscript(v75, _pyx_mstate_global
-
>__pyx_slice__4);
}
if
( !v80 )
{
LABEL_200:
v12
=
51
;
v13
=
4047
;
goto $__pyx_L1_error_2;
}
if
( (v76
-
>ob_refcnt_split[
0
] &
0x80000000
)
=
=
0
)
{
v23
=
v76
-
>ob_refcnt
-
-
=
=
1
;
if
( v23 )
_Py_Dealloc(v76, v79, v81, v82);
}
v86
=
(
int
*
)v5;
v5
=
v80;
if
(
*
v86 >
=
0
)
{
v23
=
(
*
(_QWORD
*
)v86)
-
-
=
=
1i64
;
if
( v23 )
_Py_Dealloc(v86, v79, v81, v82);
}
v87
=
PyNumber_Add(v80, _pyx_mstate_global
-
>__pyx_kp_s_00);
if
( !v87 )
{
v11
=
_pyx_f[
0
];
v12
=
52
;
v13
=
4060
;
goto LABEL_204;
}
v5
=
(_typeobject
*
)v87;
if
( (v80
-
>ob_base.ob_base.ob_refcnt_split[
0
] &
0x80000000
)
=
=
0
)
{
v23
=
v80
-
>ob_base.ob_base.ob_refcnt
-
-
=
=
1
;
if
( v23 )
_Py_Dealloc(v80, v88, v89, v90);
}
v76
=
(_object
*
)PyTuple_New(
2i64
);
if
( !v76 )
{
v11
=
_pyx_f[
0
];
v12
=
53
;
v13
=
4072
;
goto LABEL_204;
}
if
( v5
-
>ob_base.ob_base.ob_refcnt_split[
0
] !
=
-
1
)
+
+
v5
-
>ob_base.ob_base.ob_refcnt_split[
0
];
v92
=
_pyx_mstate_global;
v76[
1
].ob_type
=
v5;
pyx_int_16
=
v92
-
>__pyx_int_16;
if
( pyx_int_16
-
>ob_refcnt_split[
0
] !
=
-
1
)
+
+
pyx_int_16
-
>ob_refcnt_split[
0
];
v76[
2
].ob_refcnt
=
(__int64)v92
-
>__pyx_int_16;
v94
=
_Pyx_PyObject_Call(PyLong_Type, v76, v91);
if
( !v94 )
{
v12
=
53
;
v13
=
4080
;
$__pyx_L1_error_2:
v11
=
_pyx_f[
0
];
if
( (v76
-
>ob_refcnt_split[
0
] &
0x80000000
)
=
=
0
)
{
v23
=
v76
-
>ob_refcnt
-
-
=
=
1
;
if
( v23 )
_Py_Dealloc(v76, v79, v81, v82);
}
LABEL_204:
v113
=
v5;
_Pyx_AddTraceback(
"bbbbb.test_calc"
, v13, v12, v11);
if
( !v5 )
return
v3;
goto LABEL_205;
}
if
( (v76
-
>ob_refcnt_split[
0
] &
0x80000000
)
=
=
0
)
{
v23
=
v76
-
>ob_refcnt
-
-
=
=
1
;
if
( v23 )
_Py_Dealloc(v76, v79, v81, v82);
}
v95
=
(
int
*
)v5;
v5
=
(_typeobject
*
)v94;
if
(
*
v95 >
=
0
)
{
v23
=
(
*
(_QWORD
*
)v95)
-
-
=
=
1i64
;
if
( v23 )
_Py_Dealloc(v95, v79, v81, v82);
}
pyx_int_4
=
_pyx_mstate_global
-
>__pyx_int_4;
if
( (_object
*
const)v94
-
>ob_type
=
=
PyLong_Type )
{
v97
=
v94[
1
].ob_refcnt;
if
( (v97 &
1
) !
=
0
)
{
if
( v94
-
>ob_refcnt_split[
0
] !
=
-
1
)
+
+
v94
-
>ob_refcnt_split[
0
];
goto LABEL_152;
}
if
( v97 >
=
0x10
)
{
v102
=
v97 >>
3
;
switch ( v102
*
(
1
-
(v94[
1
].ob_refcnt &
3
)) )
{
case
0xFFFFFFFFFFFFFFFEui64
:
v101
=
PyLong_FromLongLong(
-
(__int64)(LODWORD(v94[
1
].ob_type) | ((unsigned __int64)HIDWORD(v94[
1
].ob_type) <<
30
)) >>
4
,
v102,
v81,
pyx_int_4);
break
;
case
2ui64
:
v101
=
PyLong_FromLongLong(
(__int64)(LODWORD(v94[
1
].ob_type) | ((unsigned __int64)HIDWORD(v94[
1
].ob_type) <<
30
)) >>
4
,
v102,
v81,
pyx_int_4);
break
;
default:
v101
=
(
*
(__int64 (__fastcall
*
*
)(_object
*
, _object
*
))(
*
((_QWORD
*
)&PyLong_Type
+
12
)
+
96i64
))(
v94,
_pyx_mstate_global
-
>__pyx_int_4);
break
;
}
}
else
{
v101
=
PyLong_FromLong((unsigned
int
)((
int
)(LODWORD(v94[
1
].ob_type)
*
(
1
-
(v97 &
3
))) >>
4
));
}
}
else
{
v101
=
PyNumber_Rshift(v94, _pyx_mstate_global
-
>__pyx_int_4);
}
v94
=
(_object
*
)v101;
if
( !v101 )
{
v11
=
_pyx_f[
0
];
v12
=
54
;
v13
=
4093
;
goto LABEL_204;
}
LABEL_152:
v98
=
(
int
*
)v5;
v5
=
(_typeobject
*
)v94;
if
(
*
v98 >
=
0
)
{
v23
=
(
*
(_QWORD
*
)v98)
-
-
=
=
1i64
;
if
( v23 )
_Py_Dealloc(v98, v97, v81, pyx_int_4);
}
pyx_int_15
=
_pyx_mstate_global
-
>__pyx_int_15;
if
( (_object
*
const)v94
-
>ob_type !
=
PyLong_Type )
{
v103
=
PyNumber_Or(v94, _pyx_mstate_global
-
>__pyx_int_15, v81, pyx_int_4);
LABEL_175:
pyx_int_15
=
(_object
*
)v103;
goto LABEL_176;
}
v100
=
v94[
1
].ob_refcnt;
if
( (v100 &
1
)
=
=
0
)
{
if
( v100 >
=
0x10
)
{
switch ( (v100 >>
3
)
*
(
1
-
(v94[
1
].ob_refcnt &
3
)) )
{
case
0xFFFFFFFFFFFFFFFEui64
:
v103
=
PyLong_FromLongLong(
-
(__int64)(LODWORD(v94[
1
].ob_type) | ((unsigned __int64)HIDWORD(v94[
1
].ob_type) <<
30
)) |
0xF
,
v97,
v81,
pyx_int_4);
break
;
case
2ui64
:
v103
=
PyLong_FromLongLong(
LODWORD(v94[
1
].ob_type) | ((unsigned __int64)HIDWORD(v94[
1
].ob_type) <<
30
) |
0xF
,
v97,
v81,
pyx_int_4);
break
;
default:
v103
=
(
*
(__int64 (__fastcall
*
*
)(_object
*
, _object
*
, _QWORD, _object
*
))(
*
((_QWORD
*
)&PyLong_Type
+
12
)
+
120i64
))(
v94,
_pyx_mstate_global
-
>__pyx_int_15,
*
((_QWORD
*
)&PyLong_Type
+
12
),
pyx_int_4);
break
;
}
}
else
{
v103
=
PyLong_FromLong((LODWORD(v94[
1
].ob_type)
*
(
1
-
(v100 &
3
))) |
0xF
);
}
goto LABEL_175;
}
if
( pyx_int_15
-
>ob_refcnt_split[
0
] !
=
-
1
)
+
+
pyx_int_15
-
>ob_refcnt_split[
0
];
LABEL_176:
if
( !pyx_int_15 )
{
v11
=
_pyx_f[
0
];
v12
=
55
;
v13
=
4105
;
goto LABEL_204;
}
v5
=
(_typeobject
*
)pyx_int_15;
if
( (v94
-
>ob_refcnt_split[
0
] &
0x80000000
)
=
=
0
)
{
v23
=
v94
-
>ob_refcnt
-
-
=
=
1
;
if
( v23 )
_Py_Dealloc(v94, v97, v81, pyx_int_4);
}
if
( (_object
*
const)pyx_int_15
-
>ob_type
=
=
PyLong_Type )
{
v104
=
0x40000000
-
LODWORD(pyx_int_15[
1
].ob_type);
if
( (pyx_int_15[
1
].ob_refcnt &
3
)
=
=
0
)
v104
=
(
int
)pyx_int_15[
1
].ob_type;
v105
=
PyLong_FromLong(v104 &
0x1F
);
}
else
{
v105
=
PyNumber_And(pyx_int_15, _pyx_mstate_global
-
>__pyx_int_31, v81, pyx_int_4);
}
v109
=
(
int
*
)v105;
if
( !v105 )
{
v11
=
_pyx_f[
0
];
v12
=
56
;
v13
=
4117
;
goto LABEL_204;
}
v5
=
(_typeobject
*
)v105;
if
( (pyx_int_15
-
>ob_refcnt_split[
0
] &
0x80000000
)
=
=
0
)
{
v23
=
pyx_int_15
-
>ob_refcnt
-
-
=
=
1
;
if
( v23 )
_Py_Dealloc(pyx_int_15, v106, v107, v108);
}
v113
=
(_typeobject
*
)PyNumber_Invert(v109);
if
( !v113 )
{
v11
=
_pyx_f[
0
];
v12
=
57
;
v13
=
4129
;
goto LABEL_204;
}
if
(
*
v109 >
=
0
)
{
v23
=
(
*
(_QWORD
*
)v109)
-
-
=
=
1i64
;
if
( v23 )
_Py_Dealloc(v109, v110, v111, v112);
}
if
( v113
-
>ob_base.ob_base.ob_refcnt_split[
0
] !
=
-
1
)
+
+
v113
-
>ob_base.ob_base.ob_refcnt_split[
0
];
v3
=
v113;
LABEL_205:
if
( (v113
-
>ob_base.ob_base.ob_refcnt_split[
0
] &
0x80000000
)
=
=
0
)
{
v23
=
v113
-
>ob_base.ob_base.ob_refcnt
-
-
=
=
1
;
if
( v23 )
_Py_Dealloc(v113, v110, v111, v112);
}
return
v3;
}