Function at 0x6d716e67
Capabilities:
Get thread local storage value

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x1c
cmp dword [0x6d7b5a30], 0
push ebx
mov ebx, dword [sym.imp.KERNEL32.dll_TlsGetValue]
push esi
push edi
mov esi, ecx
je 0x6d716f34
cmp dword [ebp + 8], 1
jne 0x6d716f34
cmp dword [0x6d7bf320], 0
je 0x6d716f34
push dword [0x6d7a23c4]
call ebx
push eax
lea ecx, [ebp - 0x1c]
call fcn.6d6b5a73
call fcn.6d7207af
push dword [esi + 0x60]
mov edi, eax
call sub.KERNEL32.dll_GetCurrentThreadId
push eax
push 0x6d7b2a70
push str.make_not_entrant_s_thread_d_compile_id_u
push dword [0x6d7bf320]
call fcn.6d76d006
add esp, 0x14
mov ecx, esi
call fcn.6d716925
test eax, eax
je 0x6d716ef4
push eax
push str._compile_kind_s
push dword [0x6d7bf320]
call fcn.6d71fd90
add esp, 0xc
mov ecx, esi
call fcn.6d735ef8
push ecx
mov ecx, esp
push eax
call fcn.6d6819e5
mov ecx, dword [0x6d7bf320]
call fcn.6d76d36a
mov ecx, dword [0x6d7bf320]
call fcn.6d76d325
mov ecx, dword [0x6d7bf320]
call fcn.6d76d02d
push edi
call fcn.6d7207ce
pop ecx
lea ecx, [ebp - 0x1c]
call fcn.6d6b5aa6
mov eax, dword [esi]
mov ecx, esi
call dword [eax + 0x30]
test eax, eax
je 0x6d716f4b
mov ecx, esi
call fcn.6d716e38
jmp 0x6d7170d9
mov eax, dword [esi]
mov ecx, esi
call dword [eax + 0x34]
test eax, eax
jne 0x6d7170d9
cmp dword [ebp + 8], 1
jne 0x6d716f6f
mov eax, dword [esi]
mov ecx, esi
call dword [eax + 0x40]
test eax, eax
jne 0x6d7170d9
push esi
lea ecx, [ebp - 4]
call fcn.6d717a4b
mov edi, dword [0x6d7bdb58]
test edi, edi
je 0x6d716f89
mov ecx, edi
call fcn.6d714bb6
mov eax, dword [esi]
mov ecx, esi
call dword [eax + 0x40]
test eax, eax
jne 0x6d716fc3
cmp dword [esi + 0xa8], eax
jne 0x6d716fc3
mov eax, dword [esi + 0x64]
cmp eax, dword [esi + 0x68]
jne 0x6d716fa8
push 5
jmp 0x6d716faa
push 6
call fcn.6d6791f9
mov ecx, dword [eax + 0x14]
add ecx, eax
push ecx
push dword [esi + 0x68]
push dword [esi + 0x64]
call fcn.6d715ed4
add esp, 0x10
cmp dword [0x6d791dd8], 0
je 0x6d716fdb
cmp dword [ebp + 8], 2
jne 0x6d716fdb
push 0
mov ecx, esi
call fcn.6d717139
mov eax, dword [ebp + 8]
mov ecx, dword [esi + 0x78]
and eax, 3
and ecx, 0xfffcffff
shl eax, 0x10
or eax, ecx
test edi, edi
mov dword [esi + 0x78], eax
je 0x6d716ffd
mov ecx, edi
call fcn.6d715a3f
push 1
pop edi
cmp dword [ebp + 8], edi
push esi
jne 0x6d71700d
push str.Make_nmethod_not_entrant_0x_08x
jmp 0x6d717012
push str.Make_nmethod_zombie_0x_08x
call fcn.6d7242a6
cmp dword [ebp + 8], edi
pop ecx
pop ecx
mov dword [0x6d7bf780], edi
jne 0x6d71702b
mov ecx, esi
call fcn.6d716df4
push esi
call fcn.6d725021
cmp dword [ebp + 8], 2
pop ecx
jne 0x6d717084
cmp dword [0x6d7bd6fc], 0
je 0x6d71707d
cmp dword [esi + 0x80], 0
jne 0x6d71707d
push dword [0x6d7a23c4]
call ebx
push eax
lea ecx, [ebp - 0x1c]
call fcn.6d6b5a73
mov eax, dword [esi + 0x64]
mov ecx, dword [esi + 0x2c]
push eax
call fcn.6d7136ae
push eax
call fcn.6d6fe92f
pop ecx
pop ecx
lea ecx, [ebp - 0x1c]
call fcn.6d6b5aa6
mov dword [esi + 0x80], edi
push esi
call fcn.6d76c8de
pop ecx
mov eax, dword [esi + 0x2c]
test eax, eax
je 0x6d7170d1
cmp dword [eax + 0x2c], esi
je 0x6d717098
mov eax, dword [eax + 0x34]
cmp eax, dword [esi + 0x68]
jne 0x6d7170d1
push dword [0x6d7a23c4]
call ebx
push eax
lea ecx, [ebp - 0x1c]
call fcn.6d6b5a73
mov ecx, dword [esi + 0x2c]
push 0
call fcn.6d713422
mov ecx, dword [esi + 0x2c]
add ecx, 0x24
call fcn.6d6c5f6b
mov ecx, dword [esi + 0x2c]
add ecx, 0x28
call fcn.6d6c5f6b
lea ecx, [ebp - 0x1c]
call fcn.6d6b5aa6
lea ecx, [ebp - 4]
call fcn.6d717aa1
pop edi
pop esi
pop ebx
leave
ret 4