Function at 0x6d6a65a5
Capabilities:
Get thread local storage value

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x80
xor edx, edx
mov dword [ebp - 0x20], ecx
cmp dword [ecx], edx
mov dword [ebp - 0x30], edx
mov dword [ebp - 0xc], edx
jle 0x6d6a69c3
push ebx
push esi
push edi
mov esi, 0x200
mov eax, dword [ecx + 4]
mov edi, dword [ebp - 0xc]
mov ebx, dword [eax + edi*4]
lea eax, [eax + edi*4]
cmp ebx, edx
mov dword [ebp - 0x1c], eax
mov dword [ebp - 8], ebx
je 0x6d6a69b2
jmp 0x6d6a65e8
mov ebx, dword [ebp - 8]
mov edi, dword [ebx + 8]
mov eax, dword [ebx + 0x10]
mov dword [ebp - 0x2c], edi
add edi, 8
mov dword [ebp - 0x18], eax
cmp dword [edi + 0x104], edx
je 0x6d6a66f9
test dword [0x6d7b5a90], esi
mov dword [ebp - 0x10], edx
mov dword [ebp - 0x14], edx
je 0x6d6a6665
push dword [0x6d7a23c4]
call dword [sym.imp.KERNEL32.dll_TlsGetValue]
push eax
lea ecx, [ebp - 0x40]
call fcn.6d64bc19
push esi
push str.RedefineClasses_0x_x:
push dword [0x6d7bf31c]
call fcn.6d71fd90
mov eax, dword [edi + 0x104]
add esp, 0xc
mov ecx, edi
push dword [eax]
call fcn.6d7085ea
push eax
push str.unload:__s:_previous_version_length_d
push dword [0x6d7bf31c]
call fcn.6d71fdc8
add esp, 0x10
lea ecx, [ebp - 0x40]
call fcn.6d6a63ec
mov eax, dword [edi + 0x104]
mov eax, dword [eax]
dec eax
mov dword [ebp - 4], eax
js 0x6d6a66b7
jmp 0x6d6a6678
mov eax, dword [ebp - 4]
mov ecx, dword [edi + 0x104]
mov ecx, dword [ecx + 8]
mov ebx, dword [ecx + eax*4]
mov ecx, dword [ebx]
test ecx, ecx
jne 0x6d6a67b3
test ebx, ebx
je 0x6d6a66a3
mov ecx, ebx
call fcn.6d6bc9f5
push ebx
call fcn.6d641767
mov eax, dword [ebp - 4]
pop ecx
mov ecx, dword [edi + 0x104]
push eax
call fcn.6d6b592d
dec dword [ebp - 4]
jns 0x6d6a6675
mov ebx, dword [ebp - 8]
test dword [0x6d7b5a90], esi
je 0x6d6a66f9
lea ecx, [ebp - 0x80]
call fcn.6d641711
push esi
push str.RedefineClasses_0x_x:
push dword [0x6d7bf31c]
call fcn.6d71fd90
push dword [ebp - 0x10]
push dword [ebp - 0x14]
push str.unload:_previous_version_stats:_live_d__GCed_d
push dword [0x6d7bf31c]
call fcn.6d71fdc8
add esp, 0x1c
lea ecx, [ebp - 0x80]
call fcn.6d6a63ec
cmp dword [ebp - 0x18], 0
je 0x6d6a6997
cmp dword [0x6d791dac], 0
je 0x6d6a6997
mov eax, dword [edi]
mov ecx, edi
call dword [eax + 0x38]
mov ebx, dword [ebp + 8]
push dword [ebp - 0x18]
mov dword [ebp - 0x28], eax
mov ecx, ebx
mov eax, dword [ebx]
call dword [eax + 4]
test eax, eax
jne 0x6d6a6938
mov eax, dword [ebp - 0x18]
cmp dword [ebp - 0x28], eax
jne 0x6d6a696c
mov eax, dword [ebx]
push dword [ebp - 0x2c]
mov ecx, ebx
call dword [eax + 4]
test eax, eax
je 0x6d6a6761
push str.klass_should_not_be_live_if_defining_loader_is_not
push 0xe3
push str.C:_BUILD_AREA_jdk1.5.0_13_hotspot_src_share_vmmemorydictionary.cpp
call fcn.6d6a372c
add esp, 0xc
int3
cmp dword [0x6d7bd6dc], 0
mov dword [ebp - 0x30], 1
je 0x6d6a677b
lea eax, [edi - 8]
push eax
call fcn.6d6fd43a
pop ecx
push 0x2b
call fcn.6d68e14c
test eax, eax
pop ecx
je 0x6d6a6790
push dword [edi + 0x34]
call fcn.6d6ebe7f
pop ecx
mov ecx, dword [ebp - 0x20]
xor eax, eax
cmp ecx, dword [0x6d7bf7ac]
sete al
push eax
push edi
call fcn.6d68f32f
pop ecx
pop ecx
mov ecx, edi
call fcn.6d6bbee5
jmp 0x6d6a696c
mov ecx, dword [ecx]
test ecx, ecx
mov dword [ebp - 0x28], ecx
jne 0x6d6a67e5
test ebx, ebx
je 0x6d6a67d1
mov ecx, ebx
call fcn.6d6bc9f5
push ebx
call fcn.6d641767
mov eax, dword [ebp - 4]
pop ecx
mov ecx, dword [edi + 0x104]
push eax
call fcn.6d6b592d
inc dword [ebp - 0x10]
jmp 0x6d6a66af
test dword [0x6d7b5a90], esi
je 0x6d6a6824
lea ecx, [ebp - 0x50]
call fcn.6d641711
push esi
push str.RedefineClasses_0x_x:
push dword [0x6d7bf31c]
call fcn.6d71fd90
push dword [ebp - 4]
push str.unload:_previous_version___d_is_alive
push dword [0x6d7bf31c]
call fcn.6d71fdc8
add esp, 0x18
lea ecx, [ebp - 0x50]
call fcn.6d6a63ec
mov ecx, dword [ebp + 8]
push dword [ebp - 0x28]
mov eax, dword [ecx]
call dword [eax + 4]
test eax, eax
je 0x6d6a6838
inc dword [ebp - 0x14]
jmp 0x6d6a6850
push str.sanity_check
push 0xa9
push str.C:_BUILD_AREA_jdk1.5.0_13_hotspot_src_share_vmmemorydictionary.cpp
call fcn.6d6a372c
add esp, 0xc
int3
mov ebx, dword [ebx + 4]
test ebx, ebx
mov dword [ebp - 0x24], ebx
je 0x6d6a66af
test dword [0x6d7b5a90], esi
je 0x6d6a689c
lea ecx, [ebp - 0x60]
call fcn.6d641711
push esi
push str.RedefineClasses_0x_x:
push dword [0x6d7bf31c]
call fcn.6d71fd90
push dword [ebx]
push str.unload:_previous_methods_length_d
push dword [0x6d7bf31c]
call fcn.6d71fdc8
add esp, 0x18
lea ecx, [ebp - 0x60]
call fcn.6d6a63ec
mov ebx, dword [ebx]
dec ebx
js 0x6d6a66af
mov ecx, dword [ebp - 0x24]
mov eax, dword [ecx + 8]
mov eax, dword [eax + ebx*4]
test eax, eax
jne 0x6d6a68ba
push ebx
call fcn.6d6b592d
jmp 0x6d6a689e
mov ecx, dword [eax]
test ecx, ecx
mov dword [ebp - 0x28], ecx
jne 0x6d6a68d0
push eax
call fcn.6d6dc123
pop ecx
mov ecx, dword [ebp - 0x24]
push ebx
jmp 0x6d6a68b3
test dword [0x6d7b5a90], esi
je 0x6d6a689e
lea ecx, [ebp - 0x70]
call fcn.6d641711
push esi
push str.RedefineClasses_0x_x:
push dword [0x6d7bf31c]
call fcn.6d71fd90
mov ecx, dword [ebp - 0x28]
add esp, 0xc
push dword [ebp - 4]
push ebx
call fcn.6d68356c
mov ecx, eax
call fcn.6d7415c5
mov ecx, dword [ebp - 0x28]
push eax
call fcn.6d68355d
mov ecx, eax
call fcn.6d7415c5
push eax
push str.unload:__s__s_:_prev_method___d_in_version___d_is_alive
push dword [0x6d7bf31c]
call fcn.6d71fdc8
add esp, 0x18
lea ecx, [ebp - 0x70]
call fcn.6d6a63ec
jmp 0x6d6a689e
mov eax, dword [ebx]
push dword [ebp - 0x2c]
mov ecx, ebx
call dword [eax + 4]
test eax, eax
jne 0x6d6a6994
mov eax, dword [ebx]
push dword [ebp - 0x28]
mov ecx, ebx
call dword [eax + 4]
test eax, eax
je 0x6d6a696c
push str.defining_loader_should_not_be_live_if_klass_is_not
push 0x100
push str.C:_BUILD_AREA_jdk1.5.0_13_hotspot_src_share_vmmemorydictionary.cpp
call fcn.6d6a372c
add esp, 0xc
int3
mov eax, dword [ebp - 8]
mov edx, dword [ebp - 0x1c]
mov ecx, dword [eax + 4]
and ecx, 0xfffffffe
mov dword [edx], ecx
cmp eax, dword [0x6d7b585c]
jne 0x6d6a6989
and dword [0x6d7b585c], 0
mov ecx, dword [ebp - 0x20]
push eax
call fcn.6d6a6513
jmp 0x6d6a699d
mov ebx, dword [ebp - 8]
add ebx, 4
mov dword [ebp - 0x1c], ebx
mov eax, dword [ebp - 0x1c]
xor edx, edx
mov eax, dword [eax]
cmp eax, edx
mov dword [ebp - 8], eax
jne 0x6d6a65e5
mov ecx, dword [ebp - 0x20]
inc dword [ebp - 0xc]
mov eax, dword [ebp - 0xc]
cmp eax, dword [ecx]
jl 0x6d6a65c9
pop edi
pop esi
pop ebx
mov eax, dword [ebp - 0x30]
leave
ret 8