Function at 0x421fe0
Capabilities:
Get thread local storage value

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x59b7d2
mov eax, dword fs:[0]
push eax
sub esp, 8
push ebx
push esi
push edi
mov eax, dword [0x60f074]
xor eax, ebp
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov edi, ecx
push 0x110
call fcn.00550175
add esp, 4
mov dword [ebp - 0x14], eax
mov ecx, eax
mov dword [ebp - 4], 0
call fcn.004f0540
mov esi, eax
mov dword [ebp - 4], 0xffffffff
mov edx, dword [edi + 0x98]
add edx, 0x38
mov dword [edi + 0x94], esi
lea ecx, [esi + 0x94]
cmp ecx, edx
je 0x42205d
cmp dword [edx + 0x14], 8
mov eax, edx
jb 0x422054
mov eax, dword [edx]
push dword [edx + 0x10]
push eax
call fcn.00405c70
mov ecx, dword [esi + 0x84]
test ecx, ecx
je 0x42206c
mov eax, dword [ecx]
call dword [eax + 8]
mov eax, dword [edi + 0x94]
lea ecx, [edi + 0x90]
push 0x54
mov dword [eax + 0x88], ecx
call fcn.00550175
add esp, 4
mov dword [ebp - 0x14], eax
push edi
mov ecx, eax
mov dword [ebp - 4], 1
call fcn.004f8080
mov ebx, eax
mov dword [ebp - 4], 0xffffffff
mov dword [ebx + 0x1c], 0xd
mov dword [ebx + 0x20], 0xd
mov dword [ebx + 0x24], 0xd
mov dword [ebx + 0x28], 0xd
mov ecx, dword [edi + 0x48]
test ecx, ecx
je 0x4220cc
mov eax, dword [ecx]
push edi
call dword [eax + 8]
mov ecx, dword [edi + 0x48]
cmp ebx, ecx
je 0x4220e2
test ecx, ecx
je 0x4220dd
mov eax, dword [ecx]
push 1
call dword [eax]
mov dword [edi + 0x48], ebx
mov ecx, ebx
test ecx, ecx
je 0x4220ec
mov eax, dword [ecx]
push edi
call dword [eax + 4]
push 0
mov ecx, ebx
call fcn.004f8340
push 0
push 0
push 0
push 1
mov esi, eax
xorps xmm3, xmm3
push 1
push 1
mov ecx, esi
call fcn.004f7720
push 1
push 8
push 8
push 0
push 3
push 3
xorps xmm3, xmm3
mov ecx, esi
call fcn.004f7720
movss xmm3, dword [0x5e2e78]
mov ecx, esi
push 0
push 0xc8
push 0xc8
push 1
push 1
push 3
call fcn.004f7720
push 0
xorps xmm1, xmm1
mov ecx, ebx
call fcn.004f8490
push 0xe0
call fcn.00550175
add esp, 4
mov dword [ebp - 0x14], eax
mov dword [ebp - 4], 2
mov ecx, dword [edi + 0x98]
add ecx, 0x20
push ecx
mov ecx, eax
call fcn.004f63b0
push eax
mov ecx, ebx
mov dword [ebp - 4], 0xffffffff
call fcn.004f8650
push dword [edi + 0x94]
mov ecx, ebx
call fcn.004f8650
push 0x20
call fcn.00550175
mov ebx, eax
add esp, 4
mov dword [ebp - 0x14], ebx
lea eax, [ebp - 0x10]
mov dword [ebp - 4], 3
push eax
lea ecx, [edi + 0x9c]
call fcn.0046b290
mov ecx, dword [edi + 0xa0]
mov edx, 1
mov dword [ebp - 0x14], ecx
mov esi, dword [eax]
test esi, esi
je 0x4221d3
mov eax, edx
lock xadd dword [esi], eax
mov ecx, dword [ebp - 0x10]
or edi, 0xffffffff
test ecx, ecx
je 0x4221fa
mov eax, edi
lock xadd dword [ecx], eax
sub eax, 1
jne 0x4221fa
test ecx, ecx
je 0x4221fa
push 8
push ecx
call fcn.0055053d
add esp, 8
lea edx, [edi + 2]
mov dword [ebx], vtable.._AV__RunnableMethod_P8ContentView__AEXXZUTuple0_____ScopedRunnableMethodFactory_VContentView____.0
mov dword [ebx + 4], esi
test esi, esi
je 0x42220b
lock xadd dword [esi], edx
mov eax, dword [ebp - 0x14]
mov dword [ebx + 8], eax
mov dword [ebx + 0x10], 0x422270
mov dword [ebx + 0x14], 0
mov dword [ebp - 4], 0xffffffff
test esi, esi
je 0x42223e
lock xadd dword [esi], edi
sub edi, 1
jne 0x42223e
push 8
push esi
call fcn.0055053d
add esp, 8
call fcn.0046fec0
push ebx
push dword [eax]
call dword [sym.imp.KERNEL32.dll_TlsGetValue]
mov ecx, eax
call fcn.0046e090
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret