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

Disassembly:
push ebp
mov ebp, esp
push ebx
push edi
push esi
sub esp, 0x5c
mov dword [ebp - 0x1c], esp
mov dword [ebp - 0x10], 0xffffffff
mov dword [ebp - 0x14], 0x578130
lea eax, [ebp - 0x18]
mov ecx, dword fs:[0]
mov dword [ebp - 0x18], ecx
mov dword fs:[0], eax
push 0x55afd0
push 0
call dword [sym.imp.kernel32.dll_AddVectoredExceptionHandler]
test eax, eax
je 0x44cd1c
lea eax, [ebp - 0x48]
mov dword [ebp - 0x48], 0x5000
push eax
call dword [sym.imp.kernel32.dll_SetThreadStackGuarantee]
test eax, eax
jne 0x44c915
call sub.kernel32.dll_GetLastError
cmp eax, 0x78
jne 0x44cdec
xor eax, eax
nop word [eax + eax]
movzx ecx, byte [eax + 0x5eb7d0]
test cl, cl
js 0x44c970
lea ecx, [eax + 0x5eb7d0]
neg ecx
test cl, 3
jne 0x44c99f
jmp 0x44c94a
inc eax
cmp eax, 4
je 0x44ca21
cmp byte [eax + 0x5eb7d0], 0
jns 0x44c940
nop word cs:[eax + eax]
nop dword [eax]
cmp eax, 4
jb 0x44c920
jmp 0x44ca21
movzx esi, cl
movzx edx, byte [esi + 0x5ebfac]
cmp edx, 3
je 0x44c9ab
cmp edx, 2
jne 0x44ca75
cmp eax, 3
je 0x44ca75
cmp byte [eax + 0x5eb7d1], 0xbf
jg 0x44ca75
inc eax
inc eax
cmp eax, 4
jb 0x44c920
jmp 0x44ca21
cmp eax, 3
je 0x44ca75
movzx edx, byte [eax + 0x5eb7d1]
cmp cl, 0xe0
je 0x44c9d2
cmp esi, 0xed
jne 0x44c9df
cmp dl, 0x9f
jle 0x44ca06
jmp 0x44ca75
and dl, 0xe0
cmp dl, 0xa0
je 0x44ca06
jmp 0x44ca75
mov ch, cl
add ch, 0x1f
cmp ch, 0xc
jae 0x44c9f9
cmp dl, 0xbf
jg 0x44ca75
cmp eax, 1
jbe 0x44ca0b
jmp 0x44ca75
and cl, 0xfe
cmp cl, 0xee
jne 0x44ca75
cmp dl, 0xbf
jg 0x44ca75
cmp eax, 2
jae 0x44ca75
cmp byte [eax + 0x5eb7d2], 0xbf
jg 0x44ca75
add eax, 2
inc eax
cmp eax, 4
jb 0x44c920
mov dword [ebp - 0x10], 0
lea ecx, [ebp - 0x48]
mov edx, 0x5eb7d0
push 4
call fcn.0055dbd0
add esp, 4
mov esi, dword [ebp - 0x48]
cmp esi, 0x80000000
jne 0x44ca4f
lea ecx, [ebp - 0x48]
call fcn.0055dec0
jmp 0x44ca75
mov edi, dword [ebp - 0x44]
call dword [sym.imp.kernel32.dll_GetCurrentThread]
mov ecx, dword [0x5fd074]
push edi
push eax
call ecx
test esi, esi
je 0x44ca75
push edi
push 0
push dword [0x5fd290]
call dword [sym.imp.kernel32.dll_HeapFree]
movzx eax, byte [0x5fd2ec]
xor ecx, ecx
mov edx, 5
call fcn.0056a9f0
test eax, eax
mov dword [ebp - 0x10], 0
je 0x44cd58
lea ecx, [ebp - 0x48]
mov dword [eax], 0x6e69616d
mov dword [ebp - 0x48], 5
mov dword [ebp - 0x44], eax
mov dword [ebp - 0x40], 4
call fcn.004635d0
mov dword [ebp - 0x44], eax
mov dword [ebp - 0x40], edx
mov dword [ebp - 0x48], 0x80000000
mov esi, eax
mov ebx, edx
xor ecx, ecx
mov edx, 0x20
movzx eax, byte [0x5fd2ec]
call fcn.0056a9f0
mov edi, eax
test eax, eax
mov dword [ebp - 0x28], ebx
je 0x44cd6c
mov dword [edi], 1
mov dword [edi + 4], 1
mov dword [edi + 0x10], esi
mov dword [edi + 0x14], ebx
movq xmm0, qword [0x5fd288]
movd eax, xmm0
pshufd xmm0, xmm0, 0x55
movd edx, xmm0
nop
mov ebx, eax
mov ecx, edx
add ebx, 1
adc ecx, 0
jb 0x44cd05
lock cmpxchg8b qword [0x5fd288]
jne 0x44cb10
mov dword [edi + 8], ebx
mov dword [edi + 0xc], ecx
mov byte [edi + 0x18], 0
mov eax, dword [0x5fd094]
test eax, eax
je 0x44cb4c
dec eax
push eax
call dword [sym.imp.kernel32.dll_TlsGetValue]
cmp eax, 2
jae 0x44cb73
jmp 0x44cb83
mov ecx, 0x5fd094
mov dword [ebp - 0x20], edi
mov byte [ebp - 0x21], 1
mov dword [ebp - 0x10], 1
call fcn.005878a0
mov edi, dword [ebp - 0x20]
push eax
call dword [sym.imp.kernel32.dll_TlsGetValue]
cmp eax, 2
jb 0x44cb83
cmp dword [eax + 4], 0
mov esi, eax
je 0x44cb83
add esi, 8
jmp 0x44cc8f
mov eax, dword [0x5fd094]
test eax, eax
je 0x44cbe2
dec eax
push eax
call dword [sym.imp.kernel32.dll_TlsGetValue]
test eax, eax
je 0x44cc08
mov ebx, eax
cmp eax, 1
jne 0x44cc67
lock dec dword [edi]
jne 0x44cbb6
mov ecx, edi
call fcn.004bdd50
mov dword [ebp - 0x10], 0
mov dword [ebp - 0x10], 0
lea eax, [ebp - 0x2c]
mov ecx, str.cannot_access_a_Thread_Local_Storage_value_during_or_after_destruction_rustc_aedd173a2c086e558c2b66d3743b344f977621a7library_std_src_threadlocal.rs
mov edx, 0x46
push 0x5ea4f8
push 0x5e9b30
push eax
call fcn.0057fa90
add esp, 0xc
jmp 0x44ce42
mov ecx, 0x5fd094
mov dword [ebp - 0x20], edi
mov byte [ebp - 0x21], 1
mov dword [ebp - 0x10], 1
call fcn.005878a0
mov edi, dword [ebp - 0x20]
push eax
call dword [sym.imp.kernel32.dll_TlsGetValue]
test eax, eax
jne 0x44cb98
movzx eax, byte [0x5fd2ec]
xor ecx, ecx
mov edx, 0xc
call fcn.0056a9f0
test eax, eax
je 0x44ce25
mov dword [eax], 0x5fd094
mov dword [eax + 4], 0
mov ebx, eax
mov eax, dword [0x5fd094]
test eax, eax
je 0x44cc3e
dec eax
jmp 0x44cc5f
mov ecx, 0x5fd094
mov dword [ebp - 0x28], ebx
mov dword [ebp - 0x20], edi
mov byte [ebp - 0x21], 1
mov dword [ebp - 0x10], 1
call fcn.005878a0
mov edi, dword [ebp - 0x20]
mov ebx, dword [ebp - 0x28]
push ebx
push eax
call dword [sym.imp.kernel32.dll_TlsSetValue]
mov ecx, dword [ebx + 8]
cmp dword [ebx + 4], 0
lea esi, [ebx + 8]
mov dword [ebx + 4], 1
mov dword [ebx + 8], 0
je 0x44cc8f
test ecx, ecx
je 0x44cc8f
lock dec dword [ecx]
jne 0x44cc8f
call fcn.004bdd50
cmp dword [esi], 0
jne 0x44cd8d
mov dword [esi], edi
mov dword [ebp - 0x10], 0xa
mov ecx, 0x4355f0
mov dword [ebp - 0x10], 0xa
call fcn.00408130
xor eax, eax
mov ecx, dword [0x5fd22c]
cmp ecx, 3
je 0x44ccf3
mov dword [ebp - 0x20], eax
lea eax, [ebp - 0x2d]
mov byte [ebp - 0x2d], 1
mov dword [ebp - 0x10], 0x11
mov ecx, 0x5fd22c
xor edx, edx
mov dword [ebp - 0x50], eax
lea eax, [ebp - 0x50]
push 0x5e9d68
push 0x5ea79c
push eax
call fcn.00587430
add esp, 0xc
mov eax, dword [ebp - 0x20]
mov ecx, dword [ebp - 0x18]
mov dword fs:[0], ecx
add esp, 0x5c
pop esi
pop edi
pop ebx
pop ebp
ret
mov dword [ebp - 0x4c], esi
mov dword [ebp - 0x20], edi
mov dword [ebp - 0x10], 4
call fcn.00587ac0
jmp 0x44ce42
lea ecx, [ebp - 0x48]
mov edx, 0x5eb9e4
mov dword [ebp - 0x48], 0x5eb9dc
mov dword [ebp - 0x44], 1
mov dword [ebp - 0x38], 0
mov dword [ebp - 0x40], str._rustc_aedd173a2c086e558c2b66d3743b344f977621a7librarycore_src_strpattern.rs
mov dword [ebp - 0x3c], 0
mov dword [ebp - 0x10], 0
call fcn.0057f680
jmp 0x44ce42
mov ecx, 1
mov edx, 5
call fcn.0057f230
jmp 0x44ce42
mov ecx, 8
mov edx, 0x20
mov dword [ebp - 0x4c], esi
mov dword [ebp - 0x20], edi
mov dword [ebp - 0x10], 3
call fcn.0057f230
jmp 0x44ce42
lea edx, [ebp - 0x48]
lea eax, [ebp - 0x2c]
mov dword [ebp - 0x58], 0
mov dword [ebp - 0x48], 0x5eaa20
mov dword [ebp - 0x44], 1
mov dword [ebp - 0x38], 0
mov dword [ebp - 0x20], edi
mov byte [ebp - 0x54], 0
mov dword [ebp - 0x10], 2
lea ecx, [ebp - 0x60]
mov dword [ebp - 0x40], eax
mov dword [ebp - 0x3c], 0
lea eax, [ebp - 0x58]
push edx
push eax
push ecx
call fcn.0055b360
add esp, 0xc
mov ecx, dword [ebp - 0x60]
mov edx, dword [ebp - 0x5c]
call fcn.0055b4c0
mov ecx, 7
int 0x29
ud2
lea ecx, [ebp - 0x48]
mov edx, 0x5eb974
mov dword [ebp - 0x48], 0x5eb938
mov dword [ebp - 0x44], 1
mov dword [ebp - 0x38], 0
mov dword [ebp - 0x40], str._rustc_aedd173a2c086e558c2b66d3743b344f977621a7librarycore_src_strpattern.rs
mov dword [ebp - 0x3c], 0
mov dword [ebp - 0x10], 0
call fcn.0057f680
jmp 0x44ce42
mov ecx, 4
mov edx, 0xc
mov dword [ebp - 0x20], edi
mov byte [ebp - 0x21], 1
mov dword [ebp - 0x10], 1
call fcn.0057f230
ud2