Function at 0x1009f420
Capabilities:
Allocate thread local storage

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
mov eax, dword [sym.python310.dll__Py_tracemalloc_config]
sub esp, 0xc
push ebx
push esi
push edi
cmp eax, 2
jne 0x1009f440
lea edx, [eax + 0x26]
mov ecx, str.the_tracemalloc_module_has_been_unloaded
jmp 0x1009f4ab
cmp eax, 1
je 0x1009f672
cmp dword [0x103d17bc], 0
movups xmm0, xmmword [0x103cc53c]
mov eax, dword [fcn.10126240]
mov dword [0x103d179c], eax
movups xmmword [0x103d178c], xmm0
jne 0x1009f488
call dword [sym.imp.KERNEL32.dll_TlsAlloc]
cmp eax, 0xffffffff
je 0x1009f4f9
mov dword [0x103d17c0], eax
mov dword [0x103d17bc], 1
cmp dword [0x103d1770], 0
jne 0x1009f517
call sym.python310.dll_PyThread_allocate_lock
mov dword [0x103d1770], eax
test eax, eax
jne 0x1009f517
lea edx, [eax + 0x14]
mov ecx, str.cannot_allocate_lock
mov edi, dword [0x103fb118]
mov esi, dword [sym.python310.dll_PyExc_RuntimeError]
push 0
push 0
push 0
call fcn.101599e0
add esp, 0xc
mov ebx, eax
push ebx
push esi
push edi
call sym.python310.dll__PyErr_SetObject
add esp, 0xc
test ebx, ebx
je 0x1009f680
add dword [ebx], 0xffffffff
jne 0x1009f680
mov eax, dword [ebx + 4]
push ebx
mov eax, dword [eax + 0x18]
call eax
add esp, 4
or eax, 0xffffffff
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
push 0
push 0
push 0
push dword [sym.python310.dll_PyExc_OSError]
call sym.python310.dll_PyErr_SetExcFromWindowsErrWithFilenameObjects
add esp, 0x10
or eax, 0xffffffff
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov edi, dword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_malloc]
lea eax, [esp + 0x10]
mov ebx, dword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_free]
push eax
push 0
push 0x1009f360
push 0x1009e630
push 0x1009e620
mov dword [esp + 0x24], edi
mov dword [esp + 0x28], ebx
call sym.python310.dll__Py_hashtable_new_full
add esp, 0x14
mov dword [0x103d17b4], eax
push 0x28
call edi
mov esi, eax
add esp, 4
test esi, esi
je 0x1009f5df
push 0x40
mov dword [esi + 4], 0x10
mov dword [esi], 0
call edi
add esp, 4
mov dword [esi + 8], eax
test eax, eax
jne 0x1009f584
push esi
call ebx
add esp, 4
xor esi, esi
jmp 0x1009f5df
push 0x40
push 0
push eax
call sub.VCRUNTIME140.dll_memset
mov eax, 0x1009e690
mov dword [esi + 0xc], 0x101f4410
add esp, 0xc
mov dword [esi + 0x10], 0x1009e690
mov dword [esi + 0x14], 0x1009e6a0
mov dword [esi + 0x18], 0
mov dword [esi + 0x1c], 0x1009e670
mov dword [esi + 0x20], edi
mov dword [esi + 0x24], ebx
cmp eax, sym.python310.dll__Py_hashtable_hash_ptr
jne 0x1009f5df
mov eax, dword [esi + 0xc]
mov edx, 0x1009e6a0
cmp edx, sym.python310.dll__Py_hashtable_compare_direct
mov ecx, 0x101f4470
cmove eax, ecx
mov dword [esi + 0xc], eax
mov dword [0x103d17d8], esi
call fcn.1009e9c0
mov dword [0x103d17b8], eax
call fcn.1009ea40
cmp dword [0x103d17b4], 0
mov dword [0x103d17c4], eax
je 0x1009f67b
cmp dword [0x103d17d8], 0
je 0x1009f67b
cmp dword [0x103d17b8], 0
je 0x1009f67b
test eax, eax
je 0x1009f67b
push str._unknown_
call sym.python310.dll_PyUnicode_FromString
add esp, 4
mov dword [0x103d17e0], eax
test eax, eax
je 0x1009f680
push 0x103d17e0
call sym.python310.dll_PyUnicode_InternInPlace
mov eax, dword [0x103d17e0]
add esp, 4
mov ecx, 0x103d17c8
mov dword [0x103d17cc], 0x10001
mov dword [0x103d17d0], eax
mov dword [0x103d17d4], 0
call fcn.1009e700
mov dword [0x103d17c8], eax
mov dword [sym.python310.dll__Py_tracemalloc_config], 1
xor eax, eax
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
call sym.python310.dll_PyErr_NoMemory
pop edi
pop esi
or eax, 0xffffffff
pop ebx
mov esp, ebp
pop ebp
ret