Function at 0x6d64b8b1
Capabilities:
Get thread local storage value

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x18
cmp dword [0x6d7b5a98], 0
push ebx
push esi
mov esi, dword [ebp + 8]
push edi
je 0x6d64b8fa
cmp dword [ebp + 0xc], 0
mov ebx, str.rebias
jne 0x6d64b8d6
mov ebx, str.revoke
mov eax, dword [esi + 4]
mov edi, dword [esi]
lea ecx, [eax + 8]
call fcn.6d7085ea
push eax
push edi
push esi
push ebx
push str._Beginning_bulk_revocation__kind___s__because_of_object_0x_08x___mark_0x_08x___type__s
push dword [0x6d7bf31c]
call fcn.6d71fdc8
add esp, 0x18
call fcn.6d71d220
mov ecx, dword [esi + 4]
cmp dword [ebp + 0xc], 0
mov dword [ecx + 0x68], eax
mov dword [ecx + 0x6c], edx
mov ebx, dword [esi + 4]
lea edi, [ebx + 8]
je 0x6d64b9c3
mov ecx, dword [edi + 0x58]
mov eax, ecx
and eax, 7
cmp al, 5
jne 0x6d64b9a3
mov eax, ecx
and al, 0x80
add eax, 0x80
xor eax, ecx
and eax, 0x180
xor eax, ecx
mov dword [edi + 0x58], eax
sar eax, 7
and eax, 3
mov dword [ebp - 8], eax
mov eax, dword [0x6d7c1d78]
test eax, eax
mov dword [ebp + 8], eax
je 0x6d64b9a3
push eax
call fcn.6d64b679
and dword [ebp + 0xc], 0
cmp dword [eax], 0
pop ecx
mov dword [ebp - 4], eax
jle 0x6d64b998
mov ecx, dword [eax + 8]
mov edx, dword [ebp + 0xc]
mov ecx, dword [ecx + edx*4]
mov ecx, dword [ecx]
mov edx, dword [ecx]
cmp dword [ecx + 4], ebx
jne 0x6d64b98e
mov eax, edx
and eax, 7
cmp al, 5
jne 0x6d64b98b
mov eax, dword [ebp - 8]
and dx, 0xfe7f
shl eax, 7
or edx, eax
mov dword [ecx], edx
mov eax, dword [ebp - 4]
inc dword [ebp + 0xc]
mov ecx, dword [ebp + 0xc]
cmp ecx, dword [eax]
jl 0x6d64b961
mov eax, dword [ebp + 8]
mov eax, dword [eax + 0xa0]
jmp 0x6d64b947
xor eax, eax
cmp dword [ebp + 0x10], eax
je 0x6d64b9b8
mov ecx, dword [edi + 0x58]
and ecx, 7
cmp cl, 5
jne 0x6d64b9b8
push 1
pop eax
push dword [ebp + 0x14]
push 1
push eax
jmp 0x6d64ba75
cmp dword [0x6d7b5a98], 0
je 0x6d64ba04
push dword [0x6d7a23c4]
call dword [sym.imp.KERNEL32.dll_TlsGetValue]
push eax
lea ecx, [ebp - 0x18]
call fcn.6d64bc19
mov ecx, edi
call fcn.6d7085ea
push eax
push str._Disabling_biased_locking_for_type__s
push dword [0x6d7bf31c]
call fcn.6d71fdc8
add esp, 0xc
lea ecx, [ebp - 0x18]
call fcn.6d6a63ec
mov dword [edi + 0x58], 1
mov eax, dword [0x6d7c1d78]
test eax, eax
mov dword [ebp + 8], eax
je 0x6d64ba6e
push eax
call fcn.6d64b679
and dword [ebp + 0xc], 0
pop ecx
mov ecx, eax
mov dword [ebp - 8], ecx
cmp dword [ecx], 0
jle 0x6d64ba63
mov eax, dword [ecx + 8]
mov edx, dword [ebp + 0xc]
mov eax, dword [eax + edx*4]
mov eax, dword [eax]
mov edx, dword [eax]
cmp dword [eax + 4], ebx
jne 0x6d64ba59
and edx, 7
cmp dl, 5
jne 0x6d64ba59
push dword [ebp + 0x14]
push 1
push 0
push eax
call fcn.6d64b4a3
mov ecx, dword [ebp - 8]
add esp, 0x10
inc dword [ebp + 0xc]
mov eax, dword [ebp + 0xc]
cmp eax, dword [ecx]
jl 0x6d64ba2c
mov eax, dword [ebp + 8]
mov eax, dword [eax + 0xa0]
jmp 0x6d64ba10
push dword [ebp + 0x14]
push 1
push 0
push esi
call fcn.6d64b4a3
add esp, 0x10
cmp dword [0x6d7b5a98], 0
je 0x6d64ba99
push str._Ending_bulk_revocation
push dword [0x6d7bf31c]
call fcn.6d71fdc8
pop ecx
pop ecx
cmp dword [ebp + 0x10], 0
push 2
pop ebx
je 0x6d64baed
mov eax, dword [esi]
and eax, 7
cmp al, 5
jne 0x6d64baed
mov eax, dword [edi + 0x58]
mov ecx, eax
and ecx, 7
cmp cl, 5
jne 0x6d64baed
mov ecx, dword [esi]
and eax, 0x180
and ecx, 0x78
or eax, ecx
or eax, dword [ebp + 0x14]
or al, 5
mov dword [esi], eax
cmp dword [0x6d7b5a98], 0
push 3
pop ebx
je 0x6d64baed
push dword [ebp + 0x14]
push str.__Rebiased_object_toward_thread_0x_08x
push dword [0x6d7bf31c]
call fcn.6d71fdc8
add esp, 0xc
pop edi
mov eax, ebx
pop esi
pop ebx
leave
ret