Function at 0x2b6a92887
Capabilities:
Encode data using base64

Disassembly:
push rbp
push rbx
sub rsp, 0xb8
lea rbp, [rsp + 0xb0]
mov qword [rbp + 0x20], rcx
mov qword [rbp + 0x28], rdx
mov qword [rbp + 0x30], r8
mov qword [rbp + 0x38], r9
mov qword [rbp - 8], 0
mov qword [rbp - 0x10], 0
mov qword [rbp - 0x18], 0
mov qword [rbp - 0x20], 0
mov qword [rbp - 0x30], 0
mov qword [rbp - 0x48], 0
mov dword [rbp - 0x4c], 0
mov qword [rbp - 0x58], 0
mov dword [rbp - 0x5c], 0
mov rax, qword [rbp + 0x38]
mov rcx, rax
call sym._Py_INCREF
mov rax, qword [rbp + 0x38]
mov qword [rbp - 0x20], rax
mov rax, qword [0x2b6ac0030]
mov rdx, qword [rax + 0x448]
mov rax, qword [rbp - 0x20]
mov r8d, 3
mov rcx, rax
call sym.__Pyx_PyUnicode_Equals
mov dword [rbp - 0x60], eax
mov eax, dword [rbp - 0x60]
shr eax, 0x1f
movzx eax, al
test eax, eax
je 0x2b6a92950
mov rax, qword [0x2b6ac0028]
mov qword [rbp - 0x58], rax
mov dword [rbp - 0x4c], 0x3b
mov dword [rbp - 0x5c], 0xf28
jmp 0x2b6a93cd7
cmp dword [rbp - 0x60], 0
jne 0x2b6a9295e
mov eax, dword [rbp - 0x60]
mov dword [rbp - 0x24], eax
jmp 0x2b6a929b2
mov rax, qword [0x2b6ac0030]
mov rdx, qword [rax + 0x590]
mov rax, qword [rbp - 0x20]
mov r8d, 3
mov rcx, rax
call sym.__Pyx_PyUnicode_Equals
mov dword [rbp - 0x60], eax
mov eax, dword [rbp - 0x60]
shr eax, 0x1f
movzx eax, al
test eax, eax
je 0x2b6a929ac
mov rax, qword [0x2b6ac0028]
mov qword [rbp - 0x58], rax
mov dword [rbp - 0x4c], 0x3b
mov dword [rbp - 0x5c], 0xf2e
jmp 0x2b6a93cd7
mov eax, dword [rbp - 0x60]
mov dword [rbp - 0x24], eax
mov rax, qword [rbp - 0x20]
mov rcx, rax
call sym._Py_DECREF
mov qword [rbp - 0x20], 0
mov eax, dword [rbp - 0x24]
mov dword [rbp - 0x60], eax
cmp dword [rbp - 0x60], 0
setne al
movzx eax, al
test eax, eax
je 0x2b6a92a81
mov rax, qword [0x2b6ac0030]
mov rdx, qword [rax + 0x628]
mov rax, qword [0x2b6ac80d8]
mov r8d, 0
mov rcx, rax
call sym.__Pyx_PyObject_Call
mov qword [rbp - 0x20], rax
cmp qword [rbp - 0x20], 0
sete al
movzx eax, al
test eax, eax
je 0x2b6a92a32
mov rax, qword [0x2b6ac0028]
mov qword [rbp - 0x58], rax
mov dword [rbp - 0x4c], 0x3c
mov dword [rbp - 0x5c], 0xf3c
jmp 0x2b6a93cd7
mov rax, qword [rbp - 0x20]
mov r9d, 0
mov r8d, 0
mov edx, 0
mov rcx, rax
call sym.__Pyx_Raise
mov rax, qword [rbp - 0x20]
mov rcx, rax
call sym._Py_DECREF
mov qword [rbp - 0x20], 0
mov rax, qword [0x2b6ac0028]
mov qword [rbp - 0x58], rax
mov dword [rbp - 0x4c], 0x3c
mov dword [rbp - 0x5c], 0xf40
jmp 0x2b6a93cd7
mov rax, qword [0x2b6ac0030]
mov rdx, qword [rax + 0x448]
mov rax, qword [rbp + 0x38]
mov r8d, 2
mov rcx, rax
call sym.__Pyx_PyUnicode_Equals
mov dword [rbp - 0x60], eax
mov eax, dword [rbp - 0x60]
shr eax, 0x1f
movzx eax, al
test eax, eax
je 0x2b6a92acf
mov rax, qword [0x2b6ac0028]
mov qword [rbp - 0x58], rax
mov dword [rbp - 0x4c], 0x3d
mov dword [rbp - 0x5c], 0xf52
jmp 0x2b6a93cd7
cmp dword [rbp - 0x60], 0
je 0x2b6a92b32
mov rax, qword [0x2b6ac0030]
mov rdx, qword [rax + 0x448]
mov rax, qword [rbp + 0x28]
mov rcx, rax
call sym.__Pyx_PyObject_GetAttrStr
mov qword [rbp - 0x30], rax
cmp qword [rbp - 0x30], 0
sete al
movzx eax, al
test eax, eax
je 0x2b6a92b20
mov rax, qword [0x2b6ac0028]
mov qword [rbp - 0x58], rax
mov dword [rbp - 0x4c], 0x3d
mov dword [rbp - 0x5c], 0xf54
jmp 0x2b6a93cd7
mov rax, qword [rbp - 0x30]
mov qword [rbp - 0x20], rax
mov qword [rbp - 0x30], 0
jmp 0x2b6a92b8d
mov rax, qword [0x2b6ac0030]
mov rdx, qword [rax + 0x590]
mov rax, qword [rbp + 0x28]
mov rcx, rax
call sym.__Pyx_PyObject_GetAttrStr
mov qword [rbp - 0x30], rax
cmp qword [rbp - 0x30], 0
sete al
movzx eax, al
test eax, eax
je 0x2b6a92b7d
mov rax, qword [0x2b6ac0028]
mov qword [rbp - 0x58], rax
mov dword [rbp - 0x4c], 0x3d
mov dword [rbp - 0x5c], 0xf59
jmp 0x2b6a93cd7
mov rax, qword [rbp - 0x30]
mov qword [rbp - 0x20], rax
mov qword [rbp - 0x30], 0
mov rax, qword [rbp - 0x20]
mov qword [rbp - 8], rax
mov qword [rbp - 0x20], 0
mov rdx, qword [sym.imp.python310.dll_PyList_Type]
mov rax, qword [rbp + 0x30]
mov rcx, rax
call sym._Py_IS_TYPE
test eax, eax
setne al
movzx eax, al
test eax, eax
jne 0x2b6a92bd3
mov rdx, qword [sym.imp.python310.dll_PyTuple_Type]
mov rax, qword [rbp + 0x30]
mov rcx, rax
call sym._Py_IS_TYPE
test eax, eax
je 0x2b6a92bfc
mov rax, qword [rbp + 0x30]
mov qword [rbp - 0x20], rax
mov rax, qword [rbp - 0x20]
mov rcx, rax
call sym._Py_INCREF
mov qword [rbp - 0x38], 0
mov qword [rbp - 0x40], 0
jmp 0x2b6a92c85
mov qword [rbp - 0x38], 0xffffffffffffffff
mov rax, qword [rbp + 0x30]
mov rcx, rax
mov rax, qword [sym.imp.python310.dll_PyObject_GetIter]
call rax
mov qword [rbp - 0x20], rax
cmp qword [rbp - 0x20], 0
sete al
movzx eax, al
test eax, eax
je 0x2b6a92c45
mov rax, qword [0x2b6ac0028]
mov qword [rbp - 0x58], rax
mov dword [rbp - 0x4c], 0x3e
mov dword [rbp - 0x5c], 0xf6d
jmp 0x2b6a93cd7
mov rax, qword [rbp - 0x20]
mov rax, qword [rax + 8]
mov rax, qword [rax + 0xe0]
mov qword [rbp - 0x40], rax
cmp qword [rbp - 0x40], 0
sete al
movzx eax, al
test eax, eax
je 0x2b6a92c85
mov rax, qword [0x2b6ac0028]
mov qword [rbp - 0x58], rax
mov dword [rbp - 0x4c], 0x3e
mov dword [rbp - 0x5c], 0xf6f
jmp 0x2b6a93cd7
cmp qword [rbp - 0x40], 0
sete al
movzx eax, al
test eax, eax
je 0x2b6a92e3a
mov rdx, qword [sym.imp.python310.dll_PyList_Type]
mov rax, qword [rbp - 0x20]
mov rcx, rax
call sym._Py_IS_TYPE
test eax, eax
setne al
movzx eax, al
test eax, eax
je 0x2b6a92d7d
mov rax, qword [rbp - 0x20]
mov rax, qword [rax + 8]
mov edx, 0x2000000
mov rcx, rax
call sym.PyType_HasFeature
test eax, eax
jne 0x2b6a92cf7
mov r8d, 0xf75
lea rax, str..FastMarkerDetector.c
mov rdx, rax
lea rax, str.PyList_Check___pyx_t_1_
mov rcx, rax
mov rax, qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__assert]
call rax
mov rax, qword [rbp - 0x20]
mov rax, qword [rax + 0x10]
mov qword [rbp - 0x78], rax
mov rax, qword [rbp - 0x38]
cmp rax, qword [rbp - 0x78]
jge 0x2b6a93ca0
mov rax, qword [rbp - 0x20]
mov rax, qword [rax + 8]
mov edx, 0x2000000
mov rcx, rax
call sym.PyType_HasFeature
test eax, eax
jne 0x2b6a92d4d
mov r8d, 0xf7c
lea rax, str..FastMarkerDetector.c
mov rdx, rax
lea rax, str.PyList_Check___pyx_t_1_
mov rcx, rax
mov rax, qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__assert]
call rax
mov rax, qword [rbp - 0x20]
mov rax, qword [rax + 0x18]
mov rdx, qword [rbp - 0x38]
shl rdx, 3
add rax, rdx
mov rax, qword [rax]
mov qword [rbp - 0x30], rax
mov rax, qword [rbp - 0x30]
mov rcx, rax
call sym._Py_INCREF
add qword [rbp - 0x38], 1
jmp 0x2b6a92ec0
mov rax, qword [rbp - 0x20]
mov rax, qword [rax + 8]
mov edx, 0x4000000
mov rcx, rax
call sym.PyType_HasFeature
test eax, eax
jne 0x2b6a92db9
mov r8d, 0xf83
lea rax, str..FastMarkerDetector.c
mov rdx, rax
lea rax, str.PyTuple_Check___pyx_t_1_
mov rcx, rax
mov rax, qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__assert]
call rax
mov rax, qword [rbp - 0x20]
mov rax, qword [rax + 0x10]
mov qword [rbp - 0x70], rax
mov rax, qword [rbp - 0x38]
cmp rax, qword [rbp - 0x70]
jge 0x2b6a93ca3
mov rax, qword [rbp - 0x20]
mov rax, qword [rax + 8]
mov edx, 0x4000000
mov rcx, rax
call sym.PyType_HasFeature
test eax, eax
jne 0x2b6a92e0f
mov r8d, 0xf8a
lea rax, str..FastMarkerDetector.c
mov rdx, rax
lea rax, str.PyTuple_Check___pyx_t_1_
mov rcx, rax
mov rax, qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__assert]
call rax
mov rax, qword [rbp - 0x20]
mov rdx, qword [rbp - 0x38]
add rdx, 2
mov rax, qword [rax + rdx*8 + 8]
mov qword [rbp - 0x30], rax
mov rax, qword [rbp - 0x30]
mov rcx, rax
call sym._Py_INCREF
add qword [rbp - 0x38], 1
jmp 0x2b6a92ec0
mov rax, qword [rbp - 0x20]
mov rdx, qword [rbp - 0x40]
mov rcx, rax
call rdx
mov qword [rbp - 0x30], rax
cmp qword [rbp - 0x30], 0
sete al
movzx eax, al
test eax, eax
je 0x2b6a92ec0
mov rax, qword [sym.imp.python310.dll_PyErr_Occurred]
call rax
mov qword [rbp - 0x68], rax
cmp qword [rbp - 0x68], 0
je 0x2b6a93ca6
mov rax, qword [sym.imp.python310.dll_PyExc_StopIteration]
mov rdx, qword [rax]
mov rax, qword [rbp - 0x68]
mov rcx, rax
call sym.__Pyx_PyErr_GivenExceptionMatches
test eax, eax
setne al
movzx eax, al
test eax, eax
je 0x2b6a92ea2
mov rax, qword [sym.imp.python310.dll_PyErr_Clear]
call rax
jmp 0x2b6a93ca6
mov rax, qword [0x2b6ac0028]
mov qword [rbp - 0x58], rax
mov dword [rbp - 0x4c], 0x3e
mov dword [rbp - 0x5c], 0xf96
jmp 0x2b6a93cd7
mov rax, qword [rbp - 0x10]
mov qword [rbp - 0x80], rax
mov rax, qword [rbp - 0x30]
mov qword [rbp - 0x10], rax
mov rax, qword [rbp - 0x80]
mov rcx, rax
call sym._Py_XDECREF
mov qword [rbp - 0x30], 0
mov rax, qword [0x2b6ac0030]
mov rdx, qword [rax + 0x230]
mov rax, qword [rbp - 8]
mov rcx, rax
call sym.__Pyx_PyObject_GetAttrStr
mov qword [rbp - 0x30], rax
cmp qword [rbp - 0x30], 0
sete al
movzx eax, al
test eax, eax
je 0x2b6a92f2f
mov rax, qword [0x2b6ac0028]
mov qword [rbp - 0x58], rax
mov dword [rbp - 0x4c], 0x3f
mov dword [rbp - 0x5c], 0xfa6
jmp 0x2b6a93cd7
mov rdx, qword [rbp - 0x30]
mov rax, qword [rbp - 0x10]
mov r8d, 3
mov rcx, rax
call sym.__Pyx_PySequence_ContainsTF
mov dword [rbp - 0x60], eax
mov eax, dword [rbp - 0x60]
shr eax, 0x1f
movzx eax, al
test eax, eax
je 0x2b6a92f73
mov rax, qword [0x2b6ac0028]
mov qword [rbp - 0x58], rax
mov dword [rbp - 0x4c], 0x3f
mov dword [rbp - 0x5c], 0xfa8
jmp 0x2b6a93cd7
mov rax, qword [rbp - 0x30]
mov rcx, rax
call sym._Py_DECREF
mov qword [rbp - 0x30], 0
cmp dword [rbp - 0x60], 0
setne al
movzx eax, al
test eax, eax
je 0x2b6a92c85
mov ecx, 4
mov rax, qword [sym.imp.python310.dll_PyTuple_New]
call rax
mov qword [rbp - 0x30], rax
cmp qword [rbp - 0x30], 0
sete al
movzx eax, al
test eax, eax
je 0x2b6a92fd8
mov rax, qword [0x2b6ac0028]
mov qword [rbp - 0x58], rax
mov dword [rbp - 0x4c], 0x40
mov dword [rbp - 0x5c], 0xfb3
jmp 0x2b6a93cd7
mov qword [rbp - 0x88], 0
mov dword [rbp - 0x8c], 0x7f
mov rax, qword [0x2b6ac0030]
mov rax, qword [rax + 0x90]
mov rcx, rax
call sym._Py_INCREF
add qword [rbp - 0x88], 8
mov rbx, qword [0x2b6ac0030]
mov rax, qword [rbp - 0x30]
mov rax, qword [rax + 8]
mov edx, 0x4000000
mov rcx, rax
call sym.PyType_HasFeature
test eax, eax
jne 0x2b6a9304e
mov r8d, 0xfba
lea rax, str..FastMarkerDetector.c
mov rdx, rax
lea rax, str.PyTuple_Check___pyx_t_4_
mov rcx, rax
mov rax, qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__assert]
call rax
mov rdx, qword [rbx + 0x90]
mov rax, qword [rbp - 0x30]
mov qword [rax + 0x18], rdx
mov rdx, qword [sym.imp.python310.dll_PyUnicode_Type]
mov rax, qword [rbp - 0x10]
mov rcx, rax
call sym._Py_IS_TYPE
test eax, eax
setne al
movzx eax, al
test eax, eax
je 0x2b6a93091
mov rax, qword [rbp - 0x10]
mov rcx, rax
call sym._Py_INCREF
mov rax, qword [rbp - 0x10]
jmp 0x2b6a93116
mov rdx, qword [sym.imp.python310.dll_PyLong_Type]
mov rax, qword [rbp - 0x10]
mov rcx, rax
call sym._Py_IS_TYPE
test eax, eax
setne al
movzx eax, al
test eax, eax
je 0x2b6a930c6
mov rax, qword [sym.imp.python310.dll_PyLong_Type]
mov rdx, qword [rax + 0x58]
mov rax, qword [rbp - 0x10]
mov rcx, rax
call rdx
jmp 0x2b6a93116
mov rdx, qword [sym.imp.python310.dll_PyFloat_Type]
mov rax, qword [rbp - 0x10]
mov rcx, rax
call sym._Py_IS_TYPE
test eax, eax
setne al
movzx eax, al
test eax, eax
je 0x2b6a930fb
mov rax, qword [sym.imp.python310.dll_PyFloat_Type]
mov rdx, qword [rax + 0x58]
mov rax, qword [rbp - 0x10]
mov rcx, rax
call rdx
jmp 0x2b6a93116
mov rax, qword [0x2b6ac0030]
mov rdx, qword [rax + 0x28]
mov rax, qword [rbp - 0x10]
mov rcx, rax
mov rax, qword [sym.imp.python310.dll_PyObject_Format]
call rax
mov qword [rbp - 0x48], rax
cmp qword [rbp - 0x48], 0
sete al
movzx eax, al
test eax, eax
je 0x2b6a93147
mov rax, qword [0x2b6ac0028]
mov qword [rbp - 0x58], rax
mov dword [rbp - 0x4c], 0x40
mov dword [rbp - 0x5c], 0xfbb
jmp 0x2b6a93cd7
mov rax, qword [rbp - 0x48]
movzx eax, byte [rax + 0x20]
and eax, 0xffffff80
test al, al
jne 0x2b6a93179
mov r8d, 0xfbd
lea rax, str..FastMarkerDetector.c
mov rdx, rax
lea rax, str.PyUnicode_IS_READY___pyx_t_9_
mov rcx, rax
mov rax, qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__assert]
call rax
mov rax, qword [rbp - 0x48]
mov rax, qword [rax + 8]
mov edx, 0x10000000
mov rcx, rax
call sym.PyType_HasFeature
test eax, eax
jne 0x2b6a931b5
mov r8d, 0xfbd
lea rax, str..FastMarkerDetector.c
mov rdx, rax
lea rax, str.PyUnicode_Check___pyx_t_9_
mov rcx, rax
mov rax, qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__assert]
call rax
mov rax, qword [rbp - 0x48]
movzx eax, byte [rax + 0x20]
and eax, 0xffffff80
test al, al
jne 0x2b6a931e7
mov r8d, 0xfbd
lea rax, str..FastMarkerDetector.c
mov rdx, rax
lea rax, str.PyUnicode_IS_READY___pyx_t_9_
mov rcx, rax
mov rax, qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__assert]
call rax
mov rax, qword [rbp - 0x48]
movzx eax, byte [rax + 0x20]
and eax, 0x40
test al, al
je 0x2b6a93200
mov eax, 0x7f
jmp 0x2b6a93310
mov rax, qword [rbp - 0x48]
mov rax, qword [rax + 8]
mov edx, 0x10000000
mov rcx, rax
call sym.PyType_HasFeature
test eax, eax
jne 0x2b6a9323c
mov r8d, 0xfbd
lea rax, str..FastMarkerDetector.c
mov rdx, rax
lea rax, str.PyUnicode_Check___pyx_t_9_
mov rcx, rax
mov rax, qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__assert]
call rax
mov rax, qword [rbp - 0x48]
movzx eax, byte [rax + 0x20]
and eax, 0xffffff80
test al, al
jne 0x2b6a9326e
mov r8d, 0xfbd
lea rax, str..FastMarkerDetector.c
mov rdx, rax
lea rax, str.PyUnicode_IS_READY___pyx_t_9_
mov rcx, rax
mov rax, qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__assert]
call rax
mov rax, qword [rbp - 0x48]
movzx eax, byte [rax + 0x20]
and eax, 0x1c
cmp al, 4
jne 0x2b6a93287
mov eax, 0xff
jmp 0x2b6a93310
mov rax, qword [rbp - 0x48]
mov rax, qword [rax + 8]
mov edx, 0x10000000
mov rcx, rax
call sym.PyType_HasFeature
test eax, eax
jne 0x2b6a932c3
mov r8d, 0xfbd
lea rax, str..FastMarkerDetector.c
mov rdx, rax
lea rax, str.PyUnicode_Check___pyx_t_9_
mov rcx, rax
mov rax, qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__assert]
call rax
mov rax, qword [rbp - 0x48]
movzx eax, byte [rax + 0x20]
and eax, 0xffffff80
test al, al
jne 0x2b6a932f5
mov r8d, 0xfbd
lea rax, str..FastMarkerDetector.c
mov rdx, rax
lea rax, str.PyUnicode_IS_READY___pyx_t_9_
mov rcx, rax
mov rax, qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__assert]
call rax
mov rax, qword [rbp - 0x48]
movzx eax, byte [rax + 0x20]
and eax, 0x1c
cmp al, 8
jne 0x2b6a9330b
mov eax, 0xffff
jmp 0x2b6a93310
mov eax, 0x10ffff
cmp dword [rbp - 0x8c], eax
jae 0x2b6a934e7
mov rax, qword [rbp - 0x48]
movzx eax, byte [rax + 0x20]
and eax, 0xffffff80
test al, al
jne 0x2b6a9334e
mov r8d, 0xfbd
lea rax, str..FastMarkerDetector.c
mov rdx, rax
lea rax, str.PyUnicode_IS_READY___pyx_t_9_
mov rcx, rax
mov rax, qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__assert]
call rax
mov rax, qword [rbp - 0x48]
mov rax, qword [rax + 8]
mov edx, 0x10000000
mov rcx, rax
call sym.PyType_HasFeature
test eax, eax
jne 0x2b6a9338a
mov r8d, 0xfbd
lea rax, str..FastMarkerDetector.c
mov rdx, rax
lea rax, str.PyUnicode_Check___pyx_t_9_
mov rcx, rax
mov rax, qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__assert]
call rax
mov rax, qword [rbp - 0x48]
movzx eax, byte [rax + 0x20]
and eax, 0xffffff80
test al, al
jne 0x2b6a933bc
mov r8d, 0xfbd
lea rax, str..FastMarkerDetector.c
mov rdx, rax
lea rax, str.PyUnicode_IS_READY___pyx_t_9_
mov rcx, rax
mov rax, qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__assert]
call rax
mov rax, qword [rbp - 0x48]
movzx eax, byte [rax + 0x20]
and eax, 0x40
test al, al
je 0x2b6a933d5
mov eax, 0x7f
jmp 0x2b6a934ed
mov rax, qword [rbp - 0x48]
mov rax, qword [rax + 8]
mov edx, 0x10000000
mov rcx, rax
call sym.PyType_HasFeature
test eax, eax
jne 0x2b6a93411
mov r8d, 0xfbd
lea rax, str..FastMarkerDetector.c
mov rdx, rax
lea rax, str.PyUnicode_Check___pyx_t_9_
mov rcx, rax
mov rax, qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__assert]
call rax
mov rax, qword [rbp - 0x48]
movzx eax, byte [rax + 0x20]
and eax, 0xffffff80
test al, al
jne 0x2b6a93443
mov r8d, 0xfbd
lea rax, str..FastMarkerDetector.c
mov rdx, rax
lea rax, str.PyUnicode_IS_READY___pyx_t_9_
mov rcx, rax
mov rax, qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__assert]
call rax
mov rax, qword [rbp - 0x48]
movzx eax, byte [rax + 0x20]
and eax, 0x1c
cmp al, 4
jne 0x2b6a9345c
mov eax, 0xff
jmp 0x2b6a934ed
mov rax, qword [rbp - 0x48]
mov rax, qword [rax + 8]
mov edx, 0x10000000
mov rcx, rax
call sym.PyType_HasFeature
test eax, eax
jne 0x2b6a93498
mov r8d, 0xfbd
lea rax, str..FastMarkerDetector.c
mov rdx, rax
lea rax, str.PyUnicode_Check___pyx_t_9_
mov rcx, rax
mov rax, qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__assert]
call rax
mov rax, qword [rbp - 0x48]
movzx eax, byte [rax + 0x20]
and eax, 0xffffff80
test al, al
jne 0x2b6a934ca
mov r8d, 0xfbd
lea rax, str..FastMarkerDetector.c
mov rdx, rax
lea rax, str.PyUnicode_IS_READY___pyx_t_9_
mov rcx, rax
mov rax, qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__assert]
call rax
mov rax, qword [rbp - 0x48]
movzx eax, byte [rax + 0x20]
and eax, 0x1c
cmp al, 8
jne 0x2b6a934e0
mov eax, 0xffff
jmp 0x2b6a934ed
mov eax, 0x10ffff
jmp 0x2b6a934ed
mov eax, dword [rbp - 0x8c]
mov dword [rbp - 0x8c], eax
mov rax, qword [rbp - 0x48]
mov rax, qword [rax + 8]
mov edx, 0x10000000
mov rcx, rax
call sym.PyType_HasFeature
test eax, eax
jne 0x2b6a9352f
mov r8d, 0xfbe
lea rax, str..FastMarkerDetector.c
mov rdx, rax
lea rax, str.PyUnicode_Check___pyx_t_9_
mov rcx, rax
mov rax, qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__assert]
call rax
mov rax, qword [rbp - 0x48]
movzx eax, byte [rax + 0x20]
and eax, 0xffffff80
test al, al
jne 0x2b6a93561
mov r8d, 0xfbe
lea rax, str..FastMarkerDetector.c
mov rdx, rax
lea rax, str.PyUnicode_IS_READY___pyx_t_9_
mov rcx, rax
mov rax, qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__assert]
call rax
mov rax, qword [rbp - 0x48]
mov rax, qword [rax + 0x10]
add qword [rbp - 0x88], rax
mov rax, qword [rbp - 0x30]
mov rax, qword [rax + 8]
mov edx, 0x4000000
mov rcx, rax
call sym.PyType_HasFeature
test eax, eax
jne 0x2b6a935ac
mov r8d, 0xfc0
lea rax, str..FastMarkerDetector.c
mov rdx, rax
lea rax, str.PyTuple_Check___pyx_t_4_
mov rcx, rax
mov rax, qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__assert]
call rax
mov rax, qword [rbp - 0x30]
mov rdx, qword [rbp - 0x48]
mov qword [rax + 0x20], rdx
mov qword [rbp - 0x48], 0
mov rax, qword [0x2b6ac0030]
mov rax, qword [rax + 0x430]
mov rcx, rax
call sym._Py_INCREF
add qword [rbp - 0x88], 0x15
mov rbx, qword [0x2b6ac0030]
mov rax, qword [rbp - 0x30]
mov rax, qword [rax + 8]
mov edx, 0x4000000
mov rcx, rax
call sym.PyType_HasFeature
test eax, eax
jne 0x2b6a93621
mov r8d, 0xfc5
lea rax, str..FastMarkerDetector.c
mov rdx, rax
lea rax, str.PyTuple_Check___pyx_t_4_
mov rcx, rax
mov rax, qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__assert]
call rax
mov rdx, qword [rbx + 0x430]
mov rax, qword [rbp - 0x30]
mov qword [rax + 0x28], rdx
mov rdx, qword [sym.imp.python310.dll_PyUnicode_Type]
mov rax, qword [rbp + 0x38]
mov rcx, rax
call sym._Py_IS_TYPE
test eax, eax
setne al
movzx eax, al
test eax, eax
je 0x2b6a93664
mov rax, qword [rbp + 0x38]
mov rcx, rax
call sym._Py_INCREF
mov rax, qword [rbp + 0x38]
jmp 0x2b6a936e9
mov rdx, qword [sym.imp.python310.dll_PyLong_Type]
mov rax, qword [rbp + 0x38]
mov rcx, rax
call sym._Py_IS_TYPE
test eax, eax
setne al
movzx eax, al
test eax, eax
je 0x2b6a93699
mov rax, qword [sym.imp.python310.dll_PyLong_Type]
mov rdx, qword [rax + 0x58]
mov rax, qword [rbp + 0x38]
mov rcx, rax
call rdx
jmp 0x2b6a936e9
mov rdx, qword [sym.imp.python310.dll_PyFloat_Type]
mov rax, qword [rbp + 0x38]
mov rcx, rax
call sym._Py_IS_TYPE
test eax, eax
setne al
movzx eax, al
test eax, eax
je 0x2b6a936ce
mov rax, qword [sym.imp.python310.dll_PyFloat_Type]
mov rdx, qword [rax + 0x58]
mov rax, qword [rbp + 0x38]
mov rcx, rax
call rdx
jmp 0x2b6a936e9
mov rax, qword [0x2b6ac0030]
mov rdx, qword [rax + 0x28]
mov rax, qword [rbp + 0x38]
mov rcx, rax
mov rax, qword [sym.imp.python310.dll_PyObject_Format]
call rax
mov qword [rbp - 0x48], rax
cmp qword [rbp - 0x48], 0
sete al
movzx eax, al
test eax, eax
je 0x2b6a9371a
mov rax, qword [0x2b6ac0028]
mov qword [rbp - 0x58], rax
mov dword [rbp - 0x4c], 0x40
mov dword [rbp - 0x5c], 0xfc6
jmp 0x2b6a93cd7
mov rax, qword [rbp - 0x48]
movzx eax, byte [rax + 0x20]
and eax, 0xffffff80
test al, al
jne 0x2b6a9374c
mov r8d, 0xfc8
lea rax, str..FastMarkerDetector.c
mov rdx, rax
lea rax, str.PyUnicode_IS_READY___pyx_t_9_
mov rcx, rax
mov rax, qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__assert]
call rax
mov rax, qword [rbp - 0x48]
mov rax, qword [rax + 8]
mov edx, 0x10000000
mov rcx, rax
call sym.PyType_HasFeature
test eax, eax
jne 0x2b6a93788
mov r8d, 0xfc8
lea rax, str..FastMarkerDetector.c
mov rdx, rax
lea rax, str.PyUnicode_Check___pyx_t_9_
mov rcx, rax
mov rax, qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__assert]
call rax
mov rax, qword [rbp - 0x48]
movzx eax, byte [rax + 0x20]
and eax, 0xffffff80
test al, al
jne 0x2b6a937ba
mov r8d, 0xfc8
lea rax, str..FastMarkerDetector.c
mov rdx, rax
lea rax, str.PyUnicode_IS_READY___pyx_t_9_
mov rcx, rax
mov rax, qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__assert]
call rax
mov rax, qword [rbp - 0x48]
movzx eax, byte [rax + 0x20]
and eax, 0x40
test al, al
je 0x2b6a937d3
mov eax, 0x7f
jmp 0x2b6a938e3
mov rax, qword [rbp - 0x48]
mov rax, qword [rax + 8]
mov edx, 0x10000000
mov rcx, rax
call sym.PyType_HasFeature
test eax, eax
jne 0x2b6a9380f
mov r8d, 0xfc8
lea rax, str..FastMarkerDetector.c
mov rdx, rax
lea rax, str.PyUnicode_Check___pyx_t_9_
mov rcx, rax
mov rax, qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__assert]
call rax
mov rax, qword [rbp - 0x48]
movzx eax, byte [rax + 0x20]
and eax, 0xffffff80
test al, al
jne 0x2b6a93841
mov r8d, 0xfc8
lea rax, str..FastMarkerDetector.c
mov rdx, rax
lea rax, str.PyUnicode_IS_READY___pyx_t_9_
mov rcx, rax
mov rax, qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__assert]
call rax
mov rax, qword [rbp - 0x48]
movzx eax, byte [rax + 0x20]
and eax, 0x1c
cmp al, 4
jne 0x2b6a9385a
mov eax, 0xff
jmp 0x2b6a938e3
mov rax, qword [rbp - 0x48]
mov rax, qword [rax + 8]
mov edx, 0x10000000
mov rcx, rax
call sym.PyType_HasFeature
test eax, eax
jne 0x2b6a93896
mov r8d, 0xfc8
lea rax, str..FastMarkerDetector.c
mov rdx, rax
lea rax, str.PyUnicode_Check___pyx_t_9_
mov rcx, rax
mov rax, qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__assert]
call rax
mov rax, qword [rbp - 0x48]
movzx eax, byte [rax + 0x20]
and eax, 0xffffff80
test al, al
jne 0x2b6a938c8
mov r8d, 0xfc8
lea rax, str..FastMarkerDetector.c
mov rdx, rax
lea rax, str.PyUnicode_IS_READY___pyx_t_9_
mov rcx, rax
mov rax, qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__assert]
call rax
mov rax, qword [rbp - 0x48]
movzx eax, byte [rax + 0x20]
and eax, 0x1c
cmp al, 8
jne 0x2b6a938de
mov eax, 0xffff
jmp 0x2b6a938e3
mov eax, 0x10ffff
cmp dword [rbp - 0x8c], eax
jae 0x2b6a93aba
mov rax, qword [rbp - 0x48]
movzx eax, byte [rax + 0x20]
and eax, 0xffffff80
test al, al
jne 0x2b6a93921
mov r8d, 0xfc8
lea rax, str..FastMarkerDetector.c
mov rdx, rax
lea rax, str.PyUnicode_IS_READY___pyx_t_9_
mov rcx, rax
mov rax, qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__assert]
call rax
mov rax, qword [rbp - 0x48]
mov rax, qword [rax + 8]
mov edx, 0x10000000
mov rcx, rax
call sym.PyType_HasFeature
test eax, eax
jne 0x2b6a9395d
mov r8d, 0xfc8
lea rax, str..FastMarkerDetector.c
mov rdx, rax
lea rax, str.PyUnicode_Check___pyx_t_9_
mov rcx, rax
mov rax, qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__assert]
call rax
mov rax, qword [rbp - 0x48]
movzx eax, byte [rax + 0x20]
and eax, 0xffffff80
test al, al
jne 0x2b6a9398f
mov r8d, 0xfc8
lea rax, str..FastMarkerDetector.c
mov rdx, rax
lea rax, str.PyUnicode_IS_READY___pyx_t_9_
mov rcx, rax
mov rax, qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__assert]
call rax
mov rax, qword [rbp - 0x48]
movzx eax, byte [rax + 0x20]
and eax, 0x40
test al, al
je 0x2b6a939a8
mov eax, 0x7f
jmp 0x2b6a93ac0
mov rax, qword [rbp - 0x48]
mov rax, qword [rax + 8]
mov edx, 0x10000000
mov rcx, rax
call sym.PyType_HasFeature
test eax, eax
jne 0x2b6a939e4
mov r8d, 0xfc8
lea rax, str..FastMarkerDetector.c
mov rdx, rax
lea rax, str.PyUnicode_Check___pyx_t_9_
mov rcx, rax
mov rax, qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__assert]
call rax
mov rax, qword [rbp - 0x48]
movzx eax, byte [rax + 0x20]
and eax, 0xffffff80
test al, al
jne 0x2b6a93a16
mov r8d, 0xfc8
lea rax, str..FastMarkerDetector.c
mov rdx, rax
lea rax, str.PyUnicode_IS_READY___pyx_t_9_
mov rcx, rax
mov rax, qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__assert]
call rax
mov rax, qword [rbp - 0x48]
movzx eax, byte [rax + 0x20]
and eax, 0x1c
cmp al, 4
jne 0x2b6a93a2f
mov eax, 0xff
jmp 0x2b6a93ac0
mov rax, qword [rbp - 0x48]
mov rax, qword [rax + 8]
mov edx, 0x10000000
mov rcx, rax
call sym.PyType_HasFeature
test eax, eax
jne 0x2b6a93a6b
mov r8d, 0xfc8
lea rax, str..FastMarkerDetector.c
mov rdx, rax
lea rax, str.PyUnicode_Check___pyx_t_9_
mov rcx, rax
mov rax, qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__assert]
call rax
mov rax, qword [rbp - 0x48]
movzx eax, byte [rax + 0x20]
and eax, 0xffffff80
test al, al
jne 0x2b6a93a9d
mov r8d, 0xfc8
lea rax, str..FastMarkerDetector.c
mov rdx, rax
lea rax, str.PyUnicode_IS_READY___pyx_t_9_
mov rcx, rax
mov rax, qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__assert]
call rax
mov rax, qword [rbp - 0x48]
movzx eax, byte [rax + 0x20]
and eax, 0x1c
cmp al, 8
jne 0x2b6a93ab3
mov eax, 0xffff
jmp 0x2b6a93ac0
mov eax, 0x10ffff
jmp 0x2b6a93ac0
mov eax, dword [rbp - 0x8c]
mov dword [rbp - 0x8c], eax
mov rax, qword [rbp - 0x48]
mov rax, qword [rax + 8]
mov edx, 0x10000000
mov rcx, rax
call sym.PyType_HasFeature
test eax, eax
jne 0x2b6a93b02
mov r8d, 0xfc9
lea rax, str..FastMarkerDetector.c
mov rdx, rax
lea rax, str.PyUnicode_Check___pyx_t_9_
mov rcx, rax
mov rax, qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__assert]
call rax
mov rax, qword [rbp - 0x48]
movzx eax, byte [rax + 0x20]
and eax, 0xffffff80
test al, al
jne 0x2b6a93b34
mov r8d, 0xfc9
lea rax, str..FastMarkerDetector.c
mov rdx, rax
lea rax, str.PyUnicode_IS_READY___pyx_t_9_
mov rcx, rax
mov rax, qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__assert]
call rax
mov rax, qword [rbp - 0x48]
mov rax, qword [rax + 0x10]
add qword [rbp - 0x88], rax
mov rax, qword [rbp - 0x30]
mov rax, qword [rax + 8]
mov edx, 0x4000000
mov rcx, rax
call sym.PyType_HasFeature
test eax, eax
jne 0x2b6a93b7f
mov r8d, 0xfcb
lea rax, str..FastMarkerDetector.c
mov rdx, rax
lea rax, str.PyTuple_Check___pyx_t_4_
mov rcx, rax
mov rax, qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__assert]
call rax
mov rax, qword [rbp - 0x30]
mov rdx, qword [rbp - 0x48]
mov qword [rax + 0x30], rdx
mov qword [rbp - 0x48], 0
mov ecx, dword [rbp - 0x8c]
mov rdx, qword [rbp - 0x88]
mov rax, qword [rbp - 0x30]
mov r9d, ecx
mov r8, rdx
mov edx, 4
mov rcx, rax
call sym.__Pyx_PyUnicode_Join
mov qword [rbp - 0x48], rax
cmp qword [rbp - 0x48], 0
sete al
movzx eax, al
test eax, eax
je 0x2b6a93be8
mov rax, qword [0x2b6ac0028]
mov qword [rbp - 0x58], rax
mov dword [rbp - 0x4c], 0x40
mov dword [rbp - 0x5c], 0xfcd
jmp 0x2b6a93cd7
mov rax, qword [rbp - 0x30]
mov rcx, rax
call sym._Py_DECREF
mov qword [rbp - 0x30], 0
mov rax, qword [0x2b6ac80d8]
mov rdx, qword [rbp - 0x48]
mov rcx, rax
call sym.__Pyx_PyObject_CallOneArg
mov qword [rbp - 0x30], rax
cmp qword [rbp - 0x30], 0
sete al
movzx eax, al
test eax, eax
je 0x2b6a93c40
mov rax, qword [0x2b6ac0028]
mov qword [rbp - 0x58], rax
mov dword [rbp - 0x4c], 0x40
mov dword [rbp - 0x5c], 0xfd0
jmp 0x2b6a93cd7
mov rax, qword [rbp - 0x48]
mov rcx, rax
call sym._Py_DECREF
mov qword [rbp - 0x48], 0
mov rax, qword [rbp - 0x30]
mov r9d, 0
mov r8d, 0
mov edx, 0
mov rcx, rax
call sym.__Pyx_Raise
mov rax, qword [rbp - 0x30]
mov rcx, rax
call sym._Py_DECREF
mov qword [rbp - 0x30], 0
mov rax, qword [0x2b6ac0028]
mov qword [rbp - 0x58], rax
mov dword [rbp - 0x4c], 0x40
mov dword [rbp - 0x5c], 0xfd5
jmp 0x2b6a93cd7
nop
jmp 0x2b6a93ca7
nop
jmp 0x2b6a93ca7
nop
mov rax, qword [rbp - 0x20]
mov rcx, rax
call sym._Py_DECREF
mov qword [rbp - 0x20], 0
mov rax, qword [sym.imp.python310.dll__Py_NoneStruct]
mov qword [rbp - 0x18], rax
mov rax, qword [sym.imp.python310.dll__Py_NoneStruct]
mov rcx, rax
call sym._Py_INCREF
jmp 0x2b6a93d24
mov rax, qword [rbp - 0x20]
mov rcx, rax
call sym._Py_XDECREF
mov rax, qword [rbp - 0x30]
mov rcx, rax
call sym._Py_XDECREF
mov rax, qword [rbp - 0x48]
mov rcx, rax
call sym._Py_XDECREF
mov rcx, qword [rbp - 0x58]
mov edx, dword [rbp - 0x4c]
mov eax, dword [rbp - 0x5c]
mov r9, rcx
mov r8d, edx
mov edx, eax
lea rax, str.FastMarkerDetector.validate_columns
mov rcx, rax
call sym.__Pyx_AddTraceback
mov qword [rbp - 0x18], 0
mov rax, qword [rbp - 8]
mov rcx, rax
call sym._Py_XDECREF
mov rax, qword [rbp - 0x10]
mov rcx, rax
call sym._Py_XDECREF
mov rax, qword [rbp - 0x18]
add rsp, 0xb8
pop rbx
pop rbp
ret