Function at 0x10009020
Capabilities:
Resolve function by parsing pe exports

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
sub esp, 0x11c
mov eax, dword [0x1001c004]
xor eax, esp
mov dword [esp + 0x118], eax
push ebx
push esi
push edi
push 0x60
mov edi, ecx
mov dword [esp + 0x18], edx
xor ebx, ebx
mov dword [esp + 0x38], edi
xor ecx, ecx
mov dword [esp + 0x2c], 0xffffffff
lea eax, [esp + 0x5c]
mov dword [esp + 0x24], ecx
push ebx
xor esi, esi
mov dword [esp + 0x18], ecx
push eax
mov dword [esp + 0x30], esi
call sub.VCRUNTIME140.dll_memset
mov eax, dword [sym.imp.python39.dll_Py_OptimizeFlag]
add esp, 0xc
cmp dword [eax], ebx
jne 0x100090a4
cmp dword [edi + 0x3c], ebx
jg 0x100090a4
mov eax, dword [sym.imp.python39.dll_PyExc_AssertionError]
push dword [eax]
call dword [sym.imp.python39.dll_PyErr_SetNone]
mov esi, dword [0x10019014]
add esp, 4
mov edi, 0x2d2
mov edx, 0x3e35
jmp 0x10009a51
mov edi, dword [edi + 4]
mov ecx, edi
mov edx, dword [0x1001dc38]
call fcn.10012b90
test eax, eax
je 0x10009129
mov eax, dword [esp + 0x34]
cmp eax, dword [sym.imp.python39.dll__Py_NoneStruct]
je 0x1000911e
test edx, edx
jne 0x100090df
mov eax, dword [sym.imp.python39.dll_PyExc_SystemError]
push str.Missing_type_object
push dword [eax]
call dword [sym.imp.python39.dll_PyErr_SetString]
add esp, 8
jmp 0x10009105
mov ecx, edi
call fcn.10012b90
test eax, eax
jne 0x1000911a
push dword [edx + 0xc]
mov eax, dword [sym.imp.python39.dll_PyExc_TypeError]
push dword [edi + 0xc]
push str.Cannot_convert__.200s_to__.200s
push dword [eax]
call dword [sym.imp.python39.dll_PyErr_Format]
add esp, 0x10
mov esi, dword [0x10019014]
mov edi, 0x2d5
mov edx, 0x3e4c
jmp 0x10009a51
mov eax, dword [esp + 0x34]
inc dword [eax]
lea ecx, [eax + 0x60]
mov dword [esp + 0x20], eax
jmp 0x10009140
mov ecx, dword [esp + 0x34]
lea edx, [esp + 0xb8]
call fcn.1000a6b0
lea ecx, [esp + 0xb8]
mov dword [esp + 0x38], ecx
mov eax, dword [ecx]
mov edi, dword [esp + 0x14]
mov dword [esp + 0x50], eax
mov eax, dword [ecx + 4]
mov dword [esp + 0x54], eax
mov eax, dword [edi + 4]
mov dword [esp + 0x3c], ebx
cmp eax, dword [sym.imp.python39.dll_PyList_Type]
je 0x100091bc
cmp eax, dword [sym.imp.python39.dll_PyTuple_Type]
je 0x100091bc
or eax, 0xffffffff
push edi
mov dword [esp + 0x30], eax
call dword [sym.imp.python39.dll_PyObject_GetIter]
mov edi, eax
add esp, 4
mov dword [esp + 0x14], edi
test edi, edi
jne 0x1000919c
mov esi, dword [0x10019014]
mov edi, 0x2ea
mov edx, 0x3eac
jmp 0x10009a51
mov eax, dword [edi + 4]
mov ecx, dword [eax + 0x70]
mov dword [esp + 0x1c], ecx
test ecx, ecx
jne 0x10009212
mov edi, 0x2ea
mov dword [esp + 0x10], 0x3eae
jmp 0x10009a21
inc dword [edi]
xor eax, eax
xor ecx, ecx
mov dword [esp + 0x2c], eax
mov dword [esp + 0x1c], ecx
nop word [eax + eax]
test ecx, ecx
jne 0x10009212
mov eax, dword [edi + 4]
cmp eax, dword [sym.imp.python39.dll_PyList_Type]
mov ecx, dword [edi + 8]
mov eax, dword [esp + 0x2c]
jne 0x100091fd
cmp eax, ecx
jge 0x100096a5
mov ebx, dword [edi + 0xc]
mov ebx, dword [ebx + eax*4]
inc dword [ebx]
inc eax
mov dword [esp + 0x2c], eax
jmp 0x10009222
cmp eax, ecx
jge 0x100096a5
mov ebx, dword [edi + eax*4 + 0xc]
inc dword [ebx]
inc eax
mov dword [esp + 0x2c], eax
jmp 0x10009222
push edi
call ecx
mov ebx, eax
add esp, 4
test ebx, ebx
je 0x10009866
mov eax, esi
mov esi, ebx
mov dword [esp + 0x24], esi
test eax, eax
je 0x1000923d
add dword [eax], 0xffffffff
jne 0x1000923d
push eax
call dword [sym.imp.python39.dll__Py_Dealloc]
add esp, 4
mov eax, dword [esp + 0x3c]
xor ebx, ebx
mov dword [esp + 0x30], eax
inc eax
push esi
mov dword [esp + 0x40], eax
call dword [sym.imp.python39.dll_PyIndex_Check]
add esp, 4
test eax, eax
je 0x10009346
mov ecx, esi
call fcn.10014280
mov esi, eax
cmp esi, 0xffffffff
jne 0x1000927a
call dword [sym.imp.python39.dll_PyErr_Occurred]
test eax, eax
jne 0x1000970b
mov eax, dword [esp + 0x30]
mov ecx, dword [esp + 0x38]
mov edx, dword [ecx + eax*4 + 0x48]
mov edi, dword [ecx + eax*4 + 0x28]
mov ecx, dword [ecx + eax*4 + 8]
mov dword [esp + 0x18], edx
test esi, esi
jns 0x10009298
add esi, ecx
xor eax, eax
test esi, esi
setns al
test esi, esi
js 0x100092aa
xor eax, eax
cmp esi, ecx
setl al
test eax, eax
jne 0x100092d2
push dword [esp + 0x30]
mov ecx, dword [0x1001d9e4]
mov edx, str.Index_out_of_bounds__axis__d_
call fcn.1000ad50
add esp, 4
cmp eax, 0xffffffff
je 0x1000971d
mov edx, dword [esp + 0x18]
mov eax, dword [esp + 0x28]
imul edi, esi
test eax, eax
jns 0x100092e3
add dword [esp + 0x54], edi
jmp 0x100092ea
add dword [esp + eax*4 + 0x98], edi
mov esi, dword [esp + 0x24]
mov edi, dword [esp + 0x14]
mov ecx, dword [esp + 0x1c]
test edx, edx
js 0x100091d0
cmp dword [esp + 0x10], ebx
jne 0x10009315
mov eax, dword [esp + 0x54]
mov eax, dword [eax]
add eax, edx
mov dword [esp + 0x54], eax
jmp 0x100091d0
push dword [esp + 0x30]
mov ecx, dword [0x1001d9e4]
mov edx, str.All_dimensions_preceding_dimension__d_must_be_indexed_and_not_sliced
call fcn.1000ad50
add esp, 4
cmp eax, 0xffffffff
je 0x1000972f
mov esi, dword [esp + 0x24]
mov edi, dword [esp + 0x14]
mov ecx, dword [esp + 0x1c]
jmp 0x100091d0
cmp esi, dword [sym.imp.python39.dll__Py_NoneStruct]
jne 0x10009377
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0x1c]
mov dword [esp + eax*4 + 0x58], 1
mov dword [esp + eax*4 + 0x78], ebx
mov dword [esp + eax*4 + 0x98], 0xffffffff
inc eax
mov dword [esp + 0x10], eax
jmp 0x100091d0
mov eax, dword [esi + 4]
push dword [0x1001d844]
push esi
mov eax, dword [eax + 0x48]
test eax, eax
je 0x1000938c
call eax
jmp 0x10009392
call dword [sym.imp.python39.dll_PyObject_GetAttr]
mov ebx, eax
add esp, 8
test ebx, ebx
je 0x10009854
xor edx, edx
cmp ebx, dword [sym.imp.python39.dll__Py_TrueStruct]
sete dl
xor ecx, ecx
cmp ebx, dword [sym.imp.python39.dll__Py_FalseStruct]
sete cl
xor eax, eax
cmp ebx, dword [sym.imp.python39.dll__Py_NoneStruct]
sete al
or ecx, eax
or ecx, edx
jne 0x100093d2
push ebx
call dword [sym.imp.python39.dll_PyObject_IsTrue]
add esp, 4
mov edx, eax
test edx, edx
js 0x10009842
jne 0x1000940e
add dword [ebx], 0xffffffff
jne 0x100093eb
push ebx
call dword [sym.imp.python39.dll__Py_Dealloc]
add esp, 4
mov dword [esp + 0x18], 0
mov edi, dword [sym.imp.python39.dll__Py_Dealloc]
mov eax, dword [esi + 4]
push dword [0x1001d888]
push esi
mov eax, dword [eax + 0x48]
test eax, eax
je 0x10009441
call eax
jmp 0x10009447
mov ecx, ebx
call fcn.10014280
mov ecx, eax
mov dword [esp + 0x18], ecx
cmp ecx, 0xffffffff
jne 0x1000942e
call dword [sym.imp.python39.dll_PyErr_Occurred]
test eax, eax
jne 0x1000977c
add dword [ebx], 0xffffffff
jne 0x100093f3
mov edi, dword [sym.imp.python39.dll__Py_Dealloc]
push ebx
call edi
add esp, 4
jmp 0x100093f9
call dword [sym.imp.python39.dll_PyObject_GetAttr]
mov ebx, eax
add esp, 8
test ebx, ebx
je 0x10009830
xor edx, edx
cmp ebx, dword [sym.imp.python39.dll__Py_TrueStruct]
sete dl
xor ecx, ecx
cmp ebx, dword [sym.imp.python39.dll__Py_FalseStruct]
sete cl
xor eax, eax
cmp ebx, dword [sym.imp.python39.dll__Py_NoneStruct]
sete al
or ecx, eax
or ecx, edx
jne 0x10009487
push ebx
call dword [sym.imp.python39.dll_PyObject_IsTrue]
add esp, 4
mov edx, eax
test edx, edx
js 0x1000981e
jne 0x100094a6
add dword [ebx], 0xffffffff
jne 0x1000949c
push ebx
call edi
add esp, 4
mov dword [esp + 0x40], 0
jmp 0x100094d1
mov ecx, ebx
call fcn.10014280
mov ecx, eax
mov dword [esp + 0x40], ecx
cmp ecx, 0xffffffff
jne 0x100094c6
call dword [sym.imp.python39.dll_PyErr_Occurred]
test eax, eax
jne 0x1000978e
add dword [ebx], 0xffffffff
jne 0x100094d1
push ebx
call edi
add esp, 4
mov eax, dword [esi + 4]
push dword [0x1001d950]
push esi
mov eax, dword [eax + 0x48]
test eax, eax
je 0x100094e6
call eax
jmp 0x100094ec
call dword [sym.imp.python39.dll_PyObject_GetAttr]
mov ebx, eax
add esp, 8
test ebx, ebx
je 0x1000980c
xor edx, edx
cmp ebx, dword [sym.imp.python39.dll__Py_TrueStruct]
sete dl
xor ecx, ecx
cmp ebx, dword [sym.imp.python39.dll__Py_FalseStruct]
sete cl
xor eax, eax
cmp ebx, dword [sym.imp.python39.dll__Py_NoneStruct]
sete al
or ecx, eax
or ecx, edx
jne 0x1000952c
push ebx
call dword [sym.imp.python39.dll_PyObject_IsTrue]
add esp, 4
mov edx, eax
test edx, edx
js 0x100097fa
jne 0x10009545
add dword [ebx], 0xffffffff
jne 0x10009541
push ebx
call edi
add esp, 4
xor edi, edi
jmp 0x10009570
mov ecx, ebx
call fcn.10014280
mov edi, eax
cmp edi, 0xffffffff
jne 0x10009561
call dword [sym.imp.python39.dll_PyErr_Occurred]
test eax, eax
jne 0x100097a0
add dword [ebx], 0xffffffff
jne 0x10009570
push ebx
call dword [sym.imp.python39.dll__Py_Dealloc]
add esp, 4
mov eax, dword [esi + 4]
push dword [0x1001d844]
push esi
mov eax, dword [eax + 0x48]
test eax, eax
je 0x10009585
call eax
jmp 0x1000958b
call dword [sym.imp.python39.dll_PyObject_GetAttr]
mov ebx, eax
add esp, 8
test ebx, ebx
je 0x100097e8
xor eax, eax
cmp ebx, dword [sym.imp.python39.dll__Py_NoneStruct]
setne al
add dword [ebx], 0xffffffff
mov dword [esp + 0x4c], eax
jne 0x100095b6
push ebx
call dword [sym.imp.python39.dll__Py_Dealloc]
add esp, 4
mov eax, dword [esi + 4]
push dword [0x1001d888]
push esi
mov eax, dword [eax + 0x48]
test eax, eax
je 0x100095cb
call eax
jmp 0x100095d1
call dword [sym.imp.python39.dll_PyObject_GetAttr]
mov ebx, eax
add esp, 8
test ebx, ebx
je 0x100097d6
xor eax, eax
cmp ebx, dword [sym.imp.python39.dll__Py_NoneStruct]
setne al
add dword [ebx], 0xffffffff
mov dword [esp + 0x48], eax
jne 0x100095fc
push ebx
call dword [sym.imp.python39.dll__Py_Dealloc]
add esp, 4
mov eax, dword [esi + 4]
push dword [0x1001d950]
push esi
mov eax, dword [eax + 0x48]
test eax, eax
je 0x10009611
call eax
jmp 0x10009617
call dword [sym.imp.python39.dll_PyObject_GetAttr]
mov ebx, eax
add esp, 8
test ebx, ebx
je 0x100097c4
xor eax, eax
cmp ebx, dword [sym.imp.python39.dll__Py_NoneStruct]
setne al
add dword [ebx], 0xffffffff
mov dword [esp + 0x44], eax
jne 0x10009646
push ebx
call dword [sym.imp.python39.dll__Py_Dealloc]
mov eax, dword [esp + 0x48]
add esp, 4
mov ecx, dword [esp + 0x38]
xor ebx, ebx
push 1
push eax
push dword [esp + 0x50]
lea eax, [esp + 0x34]
push dword [esp + 0x58]
push edi
push dword [esp + 0x54]
mov edi, dword [esp + 0x28]
push dword [esp + 0x30]
push eax
mov eax, dword [esp + 0x50]
push edi
push eax
push dword [ecx + eax*4 + 0x48]
mov edx, dword [ecx + eax*4 + 8]
push dword [ecx + eax*4 + 0x28]
lea ecx, [esp + 0x80]
call fcn.10009ab0
add esp, 0x30
cmp eax, 0xffffffff
je 0x100097b2
inc edi
mov dword [esp + 0x10], edi
mov edi, dword [esp + 0x14]
mov ecx, dword [esp + 0x1c]
jmp 0x100091d0
xor ebx, ebx
add dword [edi], 0xffffffff
jne 0x100096b6
push edi
call dword [sym.imp.python39.dll__Py_Dealloc]
add esp, 4
mov esi, dword [esp + 0x34]
mov edx, dword [0x1001dc38]
mov ecx, dword [esi + 4]
call fcn.10012b90
test eax, eax
je 0x10009979
mov eax, dword [esp + 0x20]
test eax, eax
jne 0x100098a4
mov eax, dword [sym.imp.python39.dll_PyExc_UnboundLocalError]
push str.memviewsliceobj
push str.local_variable__s_referenced_before_assignment
push dword [eax]
call dword [sym.imp.python39.dll_PyErr_Format]
mov esi, dword [0x10019014]
add esp, 0xc
mov edi, 0x30a
mov edx, 0x3fd6
jmp 0x10009a51
mov edi, 0x2ef
mov dword [esp + 0x10], 0x3ee5
jmp 0x10009a21
mov dword [esp + 0x28], 0x340
mov dword [esp + 0x18], 0x407d
jmp 0x1000973f
mov dword [esp + 0x28], 0x383
mov dword [esp + 0x18], 0x42fa
mov edi, dword [0x10019014]
call dword [sym.imp.python39.dll_PyGILState_Ensure]
mov edx, dword [esp + 0x18]
mov ecx, str.View.MemoryView.slice_memviewslice
push edi
push dword [esp + 0x2c]
mov esi, eax
call fcn.10013690
push esi
call dword [sym.imp.python39.dll_PyGILState_Release]
add esp, 0xc
mov dword [esp + 0x10], 0x3eee
mov edi, 0x2ec
jmp 0x10009a21
mov edi, 0x2f8
mov dword [esp + 0x10], 0x3f41
jmp 0x10009a21
mov edi, 0x2f9
mov dword [esp + 0x10], 0x3f57
jmp 0x10009a21
mov edi, 0x2fa
mov dword [esp + 0x10], 0x3f6d
jmp 0x10009a21
mov edi, 0x300
mov dword [esp + 0x10], 0x3fa4
jmp 0x10009a21
mov edi, 0x2fe
mov dword [esp + 0x10], 0x3f97
jmp 0x10009a21
mov edi, 0x2fd
mov dword [esp + 0x10], 0x3f8a
jmp 0x10009a21
mov edi, 0x2fc
mov dword [esp + 0x10], 0x3f7d
jmp 0x10009a21
mov edi, 0x2fa
mov dword [esp + 0x10], 0x3f69
jmp 0x10009a21
mov edi, 0x2fa
mov dword [esp + 0x10], 0x3f67
jmp 0x10009a21
mov edi, 0x2f9
mov dword [esp + 0x10], 0x3f53
jmp 0x10009a21
mov edi, 0x2f9
mov dword [esp + 0x10], 0x3f51
jmp 0x10009a21
mov edi, 0x2f8
mov dword [esp + 0x10], 0x3f3d
jmp 0x10009a21
mov edi, 0x2f8
mov dword [esp + 0x10], 0x3f3b
jmp 0x10009a21
call dword [sym.imp.python39.dll_PyErr_Occurred]
test eax, eax
je 0x100096a7
mov edx, dword [sym.imp.python39.dll_PyExc_StopIteration]
mov ecx, eax
mov edx, dword [edx]
call fcn.10012bf0
test eax, eax
je 0x10009892
call dword [sym.imp.python39.dll_PyErr_Clear]
jmp 0x100096a7
mov edi, 0x2ea
mov dword [esp + 0x10], 0x3ec9
jmp 0x10009a21
push dword [esi + 0x58]
mov ecx, 0x1a
lea esi, [esp + 0x54]
push dword [eax + 0xd0]
sub esp, 0x68
mov edi, esp
rep movsd dword es:[edi], dword [esi]
mov esi, dword [esp + 0x90]
mov ecx, dword [esp + 0x80]
mov edx, dword [esi + 0xcc]
call fcn.1000a200
mov edi, eax
add esp, 0x70
mov dword [esp + 0x14], edi
test edi, edi
jne 0x100098f8
mov esi, dword [0x10019014]
mov edi, 0x309
mov edx, 0x3fe8
jmp 0x10009a51
cmp edi, dword [sym.imp.python39.dll__Py_NoneStruct]
je 0x10009a6a
mov edx, dword [0x1001dae0]
test edx, edx
jne 0x10009935
mov eax, dword [sym.imp.python39.dll_PyExc_SystemError]
push str.Missing_type_object
push dword [eax]
call dword [sym.imp.python39.dll_PyErr_SetString]
add esp, 8
mov dword [esp + 0x10], 0x3fea
mov edi, 0x309
jmp 0x10009a21
mov esi, dword [edi + 4]
mov ecx, esi
call fcn.10012b90
test eax, eax
jne 0x10009970
push dword [edx + 0xc]
mov eax, dword [sym.imp.python39.dll_PyExc_TypeError]
push dword [esi + 0xc]
push str.Cannot_convert__.200s_to__.200s
push dword [eax]
call dword [sym.imp.python39.dll_PyErr_Format]
add esp, 0x10
mov dword [esp + 0x10], 0x3fea
mov edi, 0x309
jmp 0x10009a21
mov esi, dword [esp + 0x20]
jmp 0x10009a6a
push dword [esi + 0x58]
mov ecx, 0x1a
lea esi, [esp + 0x54]
push 0
sub esp, 0x68
xor edx, edx
mov edi, esp
rep movsd dword es:[edi], dword [esi]
mov ecx, dword [esp + 0x80]
call fcn.1000a200
mov edi, eax
add esp, 0x70
mov dword [esp + 0x14], edi
test edi, edi
jne 0x100099be
mov esi, dword [0x10019014]
mov edi, 0x30e
mov edx, 0x4009
jmp 0x10009a51
cmp edi, dword [sym.imp.python39.dll__Py_NoneStruct]
je 0x10009a62
mov edx, dword [0x1001dae0]
test edx, edx
jne 0x100099eb
mov eax, dword [sym.imp.python39.dll_PyExc_SystemError]
push str.Missing_type_object
push dword [eax]
call dword [sym.imp.python39.dll_PyErr_SetString]
add esp, 8
jmp 0x10009a14
mov esi, dword [edi + 4]
mov ecx, esi
call fcn.10012b90
test eax, eax
jne 0x10009a62
push dword [edx + 0xc]
mov eax, dword [sym.imp.python39.dll_PyExc_TypeError]
push dword [esi + 0xc]
push str.Cannot_convert__.200s_to__.200s
push dword [eax]
call dword [sym.imp.python39.dll_PyErr_Format]
add esp, 0x10
mov edi, 0x30e
mov dword [esp + 0x10], 0x4013
mov esi, dword [0x10019014]
mov edx, dword [esp + 0x14]
add dword [edx], 0xffffffff
jne 0x10009a3a
push edx
call dword [sym.imp.python39.dll__Py_Dealloc]
add esp, 4
test ebx, ebx
je 0x10009a4d
add dword [ebx], 0xffffffff
jne 0x10009a4d
push ebx
call dword [sym.imp.python39.dll__Py_Dealloc]
add esp, 4
mov edx, dword [esp + 0x10]
push esi
push edi
mov ecx, str.View.MemoryView.memview_slice
call fcn.10013690
add esp, 8
xor edi, edi
mov esi, dword [esp + 0x20]
test esi, esi
je 0x10009a7d
add dword [esi], 0xffffffff
mov ebx, dword [sym.imp.python39.dll__Py_Dealloc]
jne 0x10009a83
push esi
call ebx
add esp, 4
jmp 0x10009a83
mov ebx, dword [sym.imp.python39.dll__Py_Dealloc]
mov ecx, dword [esp + 0x24]
test ecx, ecx
je 0x10009a96
add dword [ecx], 0xffffffff
jne 0x10009a96
push ecx
call ebx
add esp, 4
mov ecx, dword [esp + 0x124]
mov eax, edi
pop edi
pop esi
pop ebx
xor ecx, esp
call fcn.10014351
mov esp, ebp
pop ebp
ret