Function at 0x462500
Capabilities:
Get thread local storage value
Set thread local storage value

Disassembly:
push ebp
mov ebp, esp
push ebx
push edi
push esi
and esp, 0xfffffff0
sub esp, 0x140
mov eax, dword [0x55e014]
test eax, eax
je 0x462532
dec eax
push eax
call sub.kernel32.dll_TlsGetValue
cmp eax, 1
jbe 0x462547
cmp dword [eax + 4], 0
je 0x462547
mov ebx, dword [eax + 4]
jmp 0x46277b
mov ecx, 0x55e014
call sym.std::sys::windows::thread_local_key::StaticKey::init::he0afa17cd17428ff
push eax
call sub.kernel32.dll_TlsGetValue
cmp eax, 1
ja 0x462524
mov eax, dword [0x55e014]
test eax, eax
je 0x462589
dec eax
push eax
call sub.kernel32.dll_TlsGetValue
test eax, eax
je 0x46259d
mov esi, eax
cmp eax, 1
jne 0x4625f5
lea eax, [esp + 0x30]
mov ecx, 0x5bfdd0
mov edx, 0x46
push 0x5bfe68
push 0x5698e0
push eax
call dbg.unwrap_failed
add esp, 0xc
ud2
mov ecx, 0x55e014
call sym.std::sys::windows::thread_local_key::StaticKey::init::he0afa17cd17428ff
push eax
call sub.kernel32.dll_TlsGetValue
test eax, eax
jne 0x46255b
movzx eax, byte [0x5da16c]
mov eax, dword [0x5da100]
test eax, eax
jne 0x4625bf
call sub.kernel32.dll_GetProcessHeap
test eax, eax
je 0x4627fe
mov dword [0x5da100], eax
push 8
push 0
push eax
call sub.kernel32.dll_HeapAlloc
test eax, eax
je 0x4627fe
mov dword [eax], 0x55e014
mov dword [eax + 4], 0
mov esi, eax
mov eax, dword [0x55e014]
test eax, eax
je 0x462789
dec eax
push esi
push eax
call sub.kernel32.dll_TlsSetValue
lea edi, [esp + 0x30]
xorps xmm0, xmm0
mov ecx, edi
movaps xmmword [esp + 0x40], xmm0
movaps xmmword [esp + 0x30], xmm0
call sym.__LT_rand_core..os..OsRng_u20_as_u20_rand_core..RngCore_GT_::try_fill_bytes::h7b1aadf1fa6e176d
test eax, eax
jne 0x4627ad
movaps xmm1, xmmword [esp + 0x40]
movaps xmm0, xmmword [esp + 0x30]
movaps xmmword [esp + 0x10], xmm1
xorps xmm1, xmm1
movaps xmmword [esp + 0x20], xmm0
movaps xmmword [esp + 0x120], xmm1
movaps xmmword [esp + 0x110], xmm1
movaps xmmword [esp + 0x100], xmm1
movaps xmmword [esp + 0xf0], xmm1
movaps xmmword [esp + 0xe0], xmm1
movaps xmmword [esp + 0xd0], xmm1
movaps xmmword [esp + 0xc0], xmm1
movaps xmmword [esp + 0xb0], xmm1
movaps xmmword [esp + 0xa0], xmm1
movaps xmmword [esp + 0x90], xmm1
movaps xmmword [esp + 0x80], xmm1
movaps xmmword [esp + 0x70], xmm1
movaps xmmword [esp + 0x60], xmm1
movaps xmmword [esp + 0x50], xmm1
movaps xmmword [esp + 0x40], xmm1
movaps xmmword [esp + 0x30], xmm1
movzx eax, byte [0x5da16c]
mov eax, dword [0x5da100]
test eax, eax
jne 0x4626bf
call sub.kernel32.dll_GetProcessHeap
test eax, eax
je 0x46279c
mov dword [0x5da100], eax
push 0x158
push 0
push eax
call sub.kernel32.dll_HeapAlloc
test eax, eax
je 0x46279c
mov dword [eax], 1
mov ebx, eax
mov dword [eax + 4], 1
add eax, 8
push 0x100
push edi
push eax
call sym._memcpy
add esp, 0xc
movaps xmm0, xmmword [esp + 0x20]
movaps xmm2, xmmword [esp + 0x10]
movaps xmm1, xmmword [0x55fcf0]
mov dword [ebx + 0x108], 0x40
movups xmmword [ebx + 0x110], xmm0
movups xmmword [ebx + 0x120], xmm2
mov dword [ebx + 0x134], 0
mov dword [ebx + 0x130], 0
mov dword [ebx + 0x13c], 0
mov dword [ebx + 0x138], 0
movups xmmword [ebx + 0x140], xmm1
mov dword [ebx + 0x150], 0
mov eax, dword [esi + 4]
mov dword [esi + 4], ebx
test eax, eax
je 0x46277b
dec dword [eax]
jne 0x462778
dec dword [eax + 4]
jne 0x462778
push eax
push 0
push dword [0x5da100]
call sub.kernel32.dll_HeapFree
mov ebx, dword [esi + 4]
inc dword [ebx]
je 0x462798
mov eax, ebx
lea esp, [ebp - 0xc]
pop esi
pop edi
pop ebx
pop ebp
ret
mov ecx, 0x55e014
call sym.std::sys::windows::thread_local_key::StaticKey::init::he0afa17cd17428ff
jmp 0x4625ee
ud2
mov ecx, 8
mov edx, 0x158
call dbg.handle_alloc_error
ud2
mov edx, esp
lea ecx, [esp + 8]
mov dword [esp + 0x30], 0x569860
mov dword [esp + 0x34], 1
mov dword [esp + 0x40], 0
mov dword [esp], eax
mov dword [esp + 4], 0x569970
mov dword [esp + 8], edx
mov dword [esp + 0x38], ecx
lea ecx, [esp + 0x30]
mov edx, 0x5698c8
mov dword [esp + 0xc], sym.__LT_rand_core..error..Error_u20_as_u20_core..fmt..Display_GT_::fmt::h8e29cfbe6d7bc5f1
mov dword [esp + 0x3c], 1
call dbg.panic_fmt
ud2
mov ecx, 4
mov edx, 8
call dbg.handle_alloc_error
ud2