Function at 0x6d69da43
Capabilities:
Get thread local storage value

Disassembly:
push ebp
mov ebp, esp
sub esp, 0xf0
push ebx
push esi
push edi
mov edi, dword [sym.imp.KERNEL32.dll_TlsGetValue]
push dword [0x6d7a23c4]
mov esi, ecx
call edi
push eax
lea ecx, [ebp - 0x44]
call fcn.6d64bc19
push dword [0x6d7a23c4]
call edi
push eax
lea ecx, [ebp - 0x8c]
call fcn.6d6b5a73
call fcn.6d6b0620
xor ebx, ebx
mov dword [ebp - 0x14], eax
push ebx
lea eax, [esi + 0x154]
push ebx
lea ecx, [esi + 0xf4]
push esi
lea edi, [esi + 0x94]
push eax
lea edx, [esi + 0x34]
push ecx
push edi
push edx
lea eax, [esi + 0x28]
push dword [esi + 0x1cc]
push ecx
push ecx
mov ecx, esp
push eax
call fcn.6d646953
lea ecx, [ebp - 0xf0]
call fcn.6d69ebd9
lea eax, [ebp - 0xf0]
push eax
lea eax, [esi + 0x154]
push eax
lea eax, [esi + 0xf4]
push eax
lea eax, [esi + 0x34]
push eax
push ebx
push ecx
push ecx
lea eax, [esi + 0x28]
mov ecx, esp
push eax
call fcn.6d646953
push esi
lea ecx, [ebp - 0x34]
call fcn.6d6a02b5
push dword [0x6d7bf318]
lea ecx, [ebp - 0x74]
push ebx
push dword [0x6d7b5b48]
push str.grey_object_rescan
call fcn.6d755a76
mov ecx, dword [esi + 0x20]
lea eax, [ebp - 8]
mov dword [ebp - 4], edi
mov dword [ebp - 8], sym.jvm.dll_const_ModUnionClosure::vftable
push eax
mov eax, dword [ecx]
lea edx, [ebp - 0x10]
push edx
call dword [eax + 0x38]
push ecx
push ecx
mov ecx, esp
push eax
call fcn.6d646953
mov ecx, dword [esi + 0x30]
call fcn.6d6a04c4
mov ecx, eax
call fcn.6d680923
mov ecx, dword [esi + 0x24]
lea eax, [ebp - 8]
lea edx, [ebp - 0x10]
push eax
mov eax, dword [ecx]
push edx
call dword [eax + 0x38]
push ecx
push ecx
mov ecx, esp
push eax
call fcn.6d646953
mov ecx, dword [esi + 0x30]
call fcn.6d6a04c4
mov ecx, eax
call fcn.6d680923
mov ecx, dword [esi + 0x20]
lea edx, [ebp - 0x10]
push edx
mov eax, dword [ecx + 0x90]
mov dword [ebp - 0x30], eax
mov eax, dword [ecx]
call dword [eax + 0x38]
mov ecx, dword [eax]
mov eax, dword [eax + 4]
mov dword [ebp - 8], ecx
lea eax, [ecx + eax*4 + 0x3fff]
and ax, 0xc000
sub eax, ecx
shr eax, 2
mov dword [ebp - 4], eax
lea eax, [ebp - 0x34]
push eax
push ecx
push ecx
lea eax, [ebp - 8]
mov ecx, esp
push eax
call fcn.6d646953
mov ecx, edi
call fcn.6d69e9ce
cmp dword [0x6d7b5bc4], ebx
je 0x6d69dbcc
push dword [ebp - 0x18]
push str.__re_scanned__u_dirty_cards_in_cms_gen_
push dword [0x6d7bf318]
call fcn.6d71fd90
add esp, 0xc
mov ecx, dword [esi + 0x24]
lea edx, [ebp - 0x10]
push edx
mov eax, dword [ecx + 0x90]
mov dword [ebp - 0x30], eax
mov eax, dword [ecx]
call dword [eax + 0x38]
mov ecx, dword [eax]
mov eax, dword [eax + 4]
mov dword [ebp - 8], ecx
lea eax, [ecx + eax*4 + 0x3fff]
and ax, 0xc000
sub eax, ecx
shr eax, 2
mov dword [ebp - 4], eax
lea eax, [ebp - 0x34]
push eax
push ecx
push ecx
lea eax, [ebp - 8]
mov ecx, esp
push eax
call fcn.6d646953
mov ecx, edi
call fcn.6d69e9ce
cmp dword [0x6d7b5bc4], ebx
je 0x6d69dc32
push dword [ebp - 0x18]
push str.__re_scanned__u_dirty_cards_in_perm_gen_
push dword [0x6d7bf318]
call fcn.6d71fd90
add esp, 0xc
lea ecx, [ebp - 0x74]
call fcn.6d755b83
push dword [0x6d7bf318]
lea ecx, [ebp - 0x74]
push ebx
push dword [0x6d7b5b48]
push str.root_rescan
call fcn.6d755a76
mov edi, dword [ebp - 0x14]
push ebx
mov ecx, dword [edi + 0x30]
mov eax, dword [ecx]
call dword [eax + 8]
lea eax, [ebp - 0xf0]
mov ecx, edi
push eax
xor eax, eax
cmp dword [0x6d7b5adc], ebx
push ebx
setne al
inc eax
push eax
mov eax, dword [esi + 0x20]
push 1
push 1
push dword [eax + 0x58]
call fcn.6d6afb65
lea ecx, [ebp - 0x74]
call fcn.6d755b83
mov ecx, esi
call fcn.6d69fec6
lea ecx, [ebp - 0x8c]
call fcn.6d6b5aa6
lea ecx, [ebp - 0x44]
call fcn.6d6a63ec
pop edi
pop esi
pop ebx
leave
ret