Function at 0x6d6a59b3
Capabilities:
Get thread local storage value

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x1c4
push ebx
push esi
push edi
push 0x10
call fcn.6d641742
mov esi, eax
pop ecx
test esi, esi
je 0x6d6a59dc
mov ebx, dword [ebp + 8]
mov ecx, esi
push ebx
call fcn.6d64bc19
mov eax, esi
jmp 0x6d6a59e1
mov ebx, dword [ebp + 8]
xor eax, eax
mov dword [ebx + 0xc4], eax
lea eax, [ebp - 0x20]
push eax
mov ecx, ebx
call fcn.6d67a6e6
sub esp, 0xc
mov esi, eax
mov edi, esp
lea eax, [ebp - 0x50]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
push eax
mov ecx, ebx
movsd dword es:[edi], dword [esi]
call fcn.6d75246d
mov esi, eax
lea edi, [ebp - 0x30]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
push 0
push ebx
lea ecx, [ebp - 0x1c4]
movsd dword es:[edi], dword [esi]
call fcn.6d6ac9f1
lea eax, [ebp - 0x1c4]
push 0
push eax
lea eax, [ebp - 0x50]
push eax
lea ecx, [ebp - 0x30]
call fcn.6d6ada62
mov esi, eax
lea edi, [ebp - 0x20]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
mov esi, dword [ebp - 0x1c]
push esi
call fcn.6d690f3f
xor edi, edi
pop ecx
cmp dword [0x6d791d84], edi
push esi
mov ecx, eax
je 0x6d6a5a5c
call fcn.6d68fc56
test eax, eax
je 0x6d6a5a7c
jmp 0x6d6a5a66
call fcn.6d68fba3
cmp eax, 9
jne 0x6d6a5a7c
mov eax, dword [ebp - 0x20]
mov dword [ebx + 0xb0], eax
lea eax, [ebx + 0xb4]
mov ecx, dword [eax]
or ecx, 2
mov dword [eax], ecx
push 1
push ebx
lea ecx, [ebp - 0x14c]
call fcn.6d6ac9f1
push edi
push ebx
lea ecx, [ebp - 0xd4]
call fcn.6d6ac9f1
lea eax, [ebp - 0x14c]
lea ecx, [ebp - 0x30]
push eax
lea eax, [ebp - 0x14c]
push edi
push eax
lea eax, [ebp - 0x50]
push eax
call fcn.6d6ada62
sub esp, 0xc
mov esi, eax
mov edi, esp
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
push ebx
movsd dword es:[edi], dword [esi]
call fcn.6d6a5ebe
mov ebx, eax
mov eax, dword [ebp + 8]
add esp, 0x14
mov ecx, dword [eax + 0xd0]
mov dword [eax + 0xc8], ebx
test ecx, ecx
mov dword [ebp - 8], ecx
je 0x6d6a5b37
and dword [ebp - 4], 0
lea esi, [ebx + 0xc]
lea edi, [ebp - 0x20]
movsd dword es:[edi], dword [esi]
mov eax, dword [ecx + 8]
mov edx, dword [ebp - 4]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
mov esi, dword [eax + edx*4]
mov eax, dword [esi + 8]
cmp eax, dword [ebp - 0x20]
jne 0x6d6a5c80
push edx
call fcn.6d6b592d
test esi, esi
je 0x6d6a5b17
mov ecx, esi
call fcn.6d76379b
push esi
call fcn.6d641767
pop ecx
mov ecx, dword [ebp - 8]
mov eax, dword [ebp - 4]
cmp eax, dword [ecx]
jl 0x6d6a5ae1
cmp dword [ecx], 0
jne 0x6d6a5b37
mov eax, dword [ebp + 8]
push ecx
and dword [eax + 0xd0], 0
call fcn.6d71c29c
pop ecx
push dword [ebp - 0x2c]
call fcn.6d690f3f
mov eax, dword [eax + 0x24]
pop ecx
mov ecx, dword [ebp - 0x30]
lea eax, [ecx + eax*4]
cmp dword [ebx + 0xc], eax
je 0x6d6a5b66
push str.vframe_array_head_must_contain_the_vframeArray_to_unpack
push 0xd5
push str.C:_BUILD_AREA_jdk1.5.0_13_hotspot_src_share_vm_runtimedeoptimization.cpp
call fcn.6d6a372c
add esp, 0xc
int3
mov edi, dword [ebx + 0x44]
mov esi, edi
mov dword [ebp - 0x40], edi
shl esi, 2
push esi
call fcn.6d71c250
test eax, eax
pop ecx
mov dword [ebp - 0x24], eax
jne 0x6d6a5b8c
push str.intptr_t_in_C:_BUILD_AREA_jdk1.5.0_13_hotspot_src_share_vm_runtimedeoptimization.cpp
push esi
call fcn.6d6c65d4
pop ecx
pop ecx
lea edi, [edi*4 + 4]
push edi
mov dword [ebp - 8], edi
call fcn.6d71c250
mov edi, eax
pop ecx
test edi, edi
mov dword [ebp - 0x14], edi
jne 0x6d6a5bb5
push str.address_in_C:_BUILD_AREA_jdk1.5.0_13_hotspot_src_share_vm_runtimedeoptimization.cpp
push dword [ebp - 8]
call fcn.6d6c65d4
pop ecx
pop ecx
xor eax, eax
add esi, edi
push eax
push 8
mov dword [ebp - 8], eax
mov dword [ebp - 0x10], eax
mov dword [ebp - 0xc], eax
call fcn.6d6c1280
xor edi, edi
pop ecx
mov dword [esi], eax
cmp dword [0x6d7bd6c4], edi
pop ecx
je 0x6d6a5bec
mov ecx, dword [ebp + 8]
test byte [ecx + 0x138], 4
je 0x6d6a5bec
call fcn.6d752642
mov dword [ebp - 0xc], eax
cmp dword [ebx + 0x44], edi
mov dword [ebp - 4], edi
jle 0x6d6a5c5d
mov eax, dword [ebp - 0x24]
add esi, 0xfffffffc
sub eax, dword [ebp - 0x14]
lea edi, [ebx + 0xb8]
mov dword [ebp - 0x44], eax
push dword [ebp - 0xc]
xor eax, eax
cmp dword [ebp - 4], eax
lea ecx, [edi - 0x10]
sete al
push eax
push dword [ebp - 0x10]
push dword [ebp - 8]
call fcn.6d762c7d
mov ecx, dword [ebp - 0x44]
push 0
shl eax, 2
push 8
mov dword [ecx + esi], eax
call fcn.6d6c1280
and dword [ebp - 0xc], 0
pop ecx
mov dword [esi], eax
mov eax, dword [edi]
inc dword [ebp - 4]
pop ecx
movzx ecx, word [eax + 0x1e]
movzx eax, word [eax + 0x1c]
mov dword [ebp - 0x10], eax
mov eax, dword [ebp - 4]
sub esi, 4
add edi, 0x20
cmp eax, dword [ebx + 0x44]
mov dword [ebp - 8], ecx
jl 0x6d6a5c06
xor edi, edi
push dword [0x6d7a23c4]
call dword [sym.imp.KERNEL32.dll_TlsGetValue]
push eax
lea ecx, [ebp - 0x5c]
call fcn.6d6b5a73
mov esi, dword [ebx + 0xb8]
cmp esi, edi
jne 0x6d6a5c88
xor esi, esi
jmp 0x6d6a5c9c
inc dword [ebp - 4]
jmp 0x6d6a5b1a
mov eax, dword [ebp + 8]
push 4
mov ecx, dword [eax + 0x90]
call fcn.6d645be3
mov dword [eax], esi
mov esi, eax
lea ecx, [ebx + 0xa8]
call fcn.6d762751
push eax
push esi
call fcn.6d6a6416
pop ecx
cmp eax, edi
pop ecx
je 0x6d6a5cc3
push dword [ebp + 8]
mov ecx, eax
call fcn.6d64d53a
mov dword [ebp + 8], eax
jmp 0x6d6a5cca
mov dword [ebp + 8], 0x63
lea ecx, [ebp - 0x5c]
call fcn.6d6b5aa6
cmp dword [ebx + 8], edi
mov dword [ebp - 4], edi
mov dword [ebp - 0xc], edi
je 0x6d6a5d01
lea esi, [ebx + 0x30]
lea edi, [ebp - 0x20]
mov eax, dword [ebx + 0x40]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
shl eax, 2
movsd dword es:[edi], dword [esi]
mov ecx, eax
mov eax, dword [ebp - 0x20]
sub eax, ecx
sub eax, dword [ebx + 0xc]
sar eax, 2
shl eax, 2
mov dword [ebp - 4], eax
xor edi, edi
mov eax, dword [ebp - 8]
cmp dword [ebp - 0x10], eax
jle 0x6d6a5d17
push eax
mov ecx, ebx
push dword [ebp - 0x10]
call fcn.6d67d2c6
mov dword [ebp - 0xc], eax
lea eax, [ebp - 0xd4]
push edi
push eax
lea eax, [ebp - 0x50]
push eax
lea ecx, [ebp - 0x30]
call fcn.6d6ada62
mov esi, eax
lea edi, [ebp - 0x3c]
movsd dword es:[edi], dword [esi]
lea eax, [ebp - 0xd4]
push 0
movsd dword es:[edi], dword [esi]
push eax
lea eax, [ebp - 0x50]
push eax
lea ecx, [ebp - 0x3c]
movsd dword es:[edi], dword [esi]
call fcn.6d6ada62
mov esi, eax
lea edi, [ebp - 0x3c]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
cmp dword [ebx + 8], 0
je 0x6d6a5d73
lea eax, [ebp - 0xd4]
push 0
push eax
lea eax, [ebp - 0x50]
push eax
lea ecx, [ebp - 0x3c]
call fcn.6d6ada62
mov esi, eax
lea edi, [ebp - 0x3c]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
mov esi, dword [ebp - 0x14]
mov eax, dword [ebp - 0x38]
push 0x34
mov dword [esi], eax
call fcn.6d641742
test eax, eax
pop ecx
je 0x6d6a5daf
push dword [ebp + 8]
mov ecx, dword [ebp - 0xc]
mov edx, dword [ebx + 0x40]
push esi
push dword [ebp - 0x24]
shl ecx, 2
push dword [ebp - 0x40]
push ecx
push 0
push dword [ebp - 4]
mov ecx, edx
shl ecx, 2
push ecx
mov ecx, eax
call fcn.6d6a58e8
jmp 0x6d6a5db1
xor eax, eax
pop edi
mov dword [ebx + 0x3c], eax
pop esi
pop ebx
leave
ret