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

Disassembly:
sub esp, 0x160
mov eax, dword [0x10029004]
xor eax, esp
mov dword [esp + 0x15c], eax
push ebx
push ebp
push esi
mov ebp, ecx
mov dword [esp + 0x10], 0
push edi
mov ecx, 0x1a
lea esi, [esp + 0x178]
lea edi, [esp + 0x98]
mov ebx, edx
rep movsd dword es:[edi], dword [esi]
mov eax, dword [esp + 0x98]
lea esi, [esp + 0x1e0]
mov ecx, 0x1a
lea edi, [esp + 0x30]
rep movsd dword es:[edi], dword [esi]
mov edi, dword [eax + 0x34]
mov edx, ebp
lea ecx, [esp + 0x98]
mov dword [esp + 0x2c], edi
call fcn.10013780
mov byte [esp + 0x10], al
mov dword [esp + 0x18], 0
cmp ebp, ebx
jge 0x100141d3
push ebx
mov edx, ebp
lea ecx, [esp + 0x9c]
jmp 0x100141dc
jle 0x100141e4
push ebp
mov edx, ebx
lea ecx, [esp + 0x34]
call fcn.10014590
add esp, 4
cmp ebx, ebp
cmovle ebx, ebp
xor esi, esi
test ebx, ebx
jle 0x10014255
nop
mov edx, dword [esp + esi*4 + 0x38]
mov eax, dword [esp + esi*4 + 0xa0]
cmp eax, edx
je 0x10014229
cmp eax, 1
jne 0x10014215
mov dword [esp + 0x18], eax
mov dword [esp + esi*4 + 0xc0], 0
jmp 0x10014229
push eax
mov ecx, esi
call fcn.10013b70
add esp, 4
cmp eax, 0xffffffff
je 0x10014305
cmp dword [esp + esi*4 + 0xe0], 0
jl 0x10014250
mov ecx, dword [0x1002be50]
mov edx, str.Dimension__d_is_not_direct
push esi
call fcn.10013d30
add esp, 4
cmp eax, 0xffffffff
je 0x10014314
inc esi
cmp esi, ebx
jl 0x100141f0
push edi
lea eax, [esp + 0x2c]
push ebx
push eax
lea edx, [esp + 0x28]
lea ecx, [esp + 0xa4]
call fcn.1001e680
push edi
lea eax, [esp + 0x30]
push ebx
push eax
lea edx, [esp + 0x3c]
lea ecx, [esp + 0x48]
call fcn.1001e680
mov eax, dword [esp + 0x34]
add esp, 0x18
cmp eax, dword [esp + 0x20]
jae 0x10014338
mov eax, dword [esp + 0x24]
cmp eax, dword [esp + 0x28]
jae 0x10014338
sub esp, 0x68
lea esi, [esp + 0x100]
mov ecx, 0x1a
mov edi, esp
rep movsd dword es:[edi], dword [esi]
mov cl, byte [esp + 0x78]
mov edx, ebx
call fcn.1001e5f0
add esp, 0x68
test eax, eax
jne 0x100142d3
mov edx, ebx
lea ecx, [esp + 0x30]
call fcn.10013780
mov byte [esp + 0x10], al
push ebx
push dword [esp + 0x14]
lea edx, [esp + 0x108]
lea ecx, [esp + 0xa0]
call fcn.10013970
add esp, 8
mov dword [esp + 0x14], eax
test eax, eax
jne 0x10014323
mov ebx, 0x51b
mov ebp, 0x7216
jmp 0x10014498
mov ebx, 0x511
mov ebp, 0x71bf
jmp 0x10014498
mov ebx, 0x514
mov ebp, 0x71dd
jmp 0x10014498
mov ecx, 0x1a
lea esi, [esp + 0x100]
lea edi, [esp + 0x98]
rep movsd dword es:[edi], dword [esi]
cmp dword [esp + 0x18], 0
jne 0x10014443
sub esp, 0x68
lea esi, [esp + 0x100]
mov ecx, 0x1a
mov edi, esp
rep movsd dword es:[edi], dword [esi]
mov edx, ebx
mov cl, 0x43
call fcn.1001e5f0
add esp, 0x68
mov ecx, 0x1a
sub esp, 0x68
mov edx, ebx
mov edi, esp
test eax, eax
je 0x1001437f
lea esi, [esp + 0x98]
rep movsd dword es:[edi], dword [esi]
mov cl, 0x43
jmp 0x100143b1
lea esi, [esp + 0x100]
rep movsd dword es:[edi], dword [esi]
mov cl, 0x46
call fcn.1001e5f0
add esp, 0x68
test eax, eax
je 0x10014443
sub esp, 0x68
lea esi, [esp + 0x98]
mov ecx, 0x1a
mov edi, esp
rep movsd dword es:[edi], dword [esi]
mov edx, ebx
mov cl, 0x46
call fcn.1001e5f0
add esp, 0x68
test eax, eax
je 0x10014443
mov ebp, dword [esp + 0x174]
mov edi, dword [sym.imp.python39.dll_PyGILState_Ensure]
test ebp, ebp
je 0x100143fd
mov esi, dword [esp + 0x34]
call edi
push 0
mov edi, eax
lea edx, [esp + 0x3c]
lea eax, [esp + 0x5c]
mov ecx, esi
push ebx
push eax
call fcn.10014600
push edi
call dword [sym.imp.python39.dll_PyGILState_Release]
mov edi, dword [sym.imp.python39.dll_PyGILState_Ensure]
add esp, 0x10
mov eax, dword [esp + 0x98]
lea esi, [esp + 0xa0]
lea ecx, [esp + 0xa0]
lea esi, [esi + ebx*4]
mov edx, dword [eax + 0x34]
mov eax, ecx
cmp eax, esi
jae 0x1001442a
nop
imul edx, dword [ecx]
add ecx, 4
cmp ecx, esi
jb 0x10014420
push edx
push dword [esp + 0xa0]
push dword [esp + 0x3c]
call sub.VCRUNTIME140.dll_memcpy
add esp, 0xc
jmp 0x10014533
xor ecx, ecx
cmp byte [esp + 0x10], 0x46
sete cl
jne 0x10014461
mov edx, ebx
lea ecx, [esp + 0x30]
call fcn.10013780
xor ecx, ecx
cmp al, 0x46
sete cl
test ecx, ecx
je 0x100144c6
lea ecx, [esp + 0x98]
call fcn.10012f60
test eax, eax
jne 0x10014481
mov ebx, 0x531
mov ebp, 0x72ce
jmp 0x10014498
lea ecx, [esp + 0x30]
call fcn.10012f60
test eax, eax
jne 0x100144c6
mov ebx, 0x532
mov ebp, 0x72d7
mov edi, dword [0x10025f60]
call dword [sym.imp.python39.dll_PyGILState_Ensure]
push edi
push ebx
mov edx, ebp
mov ecx, str.View.MemoryView.memoryview_copy_contents
mov esi, eax
call fcn.1001e390
push esi
call dword [sym.imp.python39.dll_PyGILState_Release]
add esp, 0xc
or eax, 0xffffffff
jmp 0x1001456b
mov ebp, dword [esp + 0x174]
mov edi, dword [sym.imp.python39.dll_PyGILState_Ensure]
test ebp, ebp
je 0x10014502
mov esi, dword [esp + 0x34]
call edi
push 0
mov edi, eax
lea edx, [esp + 0x3c]
lea eax, [esp + 0x5c]
mov ecx, esi
push ebx
push eax
call fcn.10014600
push edi
call dword [sym.imp.python39.dll_PyGILState_Release]
mov edi, dword [sym.imp.python39.dll_PyGILState_Ensure]
add esp, 0x10
push dword [esp + 0x2c]
mov ecx, dword [esp + 0xa0]
lea eax, [esp + 0x3c]
push ebx
push eax
lea eax, [esp + 0xac]
push eax
lea eax, [esp + 0x68]
push eax
push dword [esp + 0x48]
lea edx, [esp + 0xd8]
call fcn.10013800
add esp, 0x18
test ebp, ebp
je 0x1001455c
mov esi, dword [esp + 0x34]
call edi
push 1
mov edi, eax
lea edx, [esp + 0x3c]
lea eax, [esp + 0x5c]
mov ecx, esi
push ebx
push eax
call fcn.10014600
push edi
call dword [sym.imp.python39.dll_PyGILState_Release]
add esp, 0x10
push dword [esp + 0x14]
call dword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_free]
add esp, 4
xor eax, eax
mov ecx, dword [esp + 0x16c]
pop edi
pop esi
pop ebp
pop ebx
xor ecx, esp
call fcn.10020671
add esp, 0x160
ret