Function at 0x6d6f6f3a
Capabilities:
Get thread local storage value

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x40
push ebx
push esi
push edi
mov edi, dword [sym.imp.KERNEL32.dll_TlsGetValue]
push dword [0x6d7a23c4]
mov dword [ebp - 4], ecx
call edi
push eax
lea ecx, [ebp - 0x28]
call fcn.6d64bc19
push dword [0x6d7a23c4]
call edi
push eax
lea ecx, [ebp - 0x40]
call fcn.6d6b5a73
mov eax, dword [ebp + 8]
test eax, eax
je 0x6d6f7156
mov esi, dword [eax]
test esi, esi
je 0x6d6f6f87
cmp esi, 0xfefefefe
jne 0x6d6f6f89
xor esi, esi
test esi, esi
je 0x6d6f7156
mov ecx, dword [0x6d7bf828]
mov eax, dword [esi + 4]
push ecx
lea ecx, [eax + 8]
call fcn.6d67a614
test eax, eax
je 0x6d6f7156
push dword [0x6d7a23c4]
call edi
mov ebx, eax
push esi
mov ecx, dword [ebx + 0x90]
call fcn.6d67a638
mov ecx, dword [0x6d7bdbc8]
mov edi, eax
mov dword [ebp - 0xc], ecx
call fcn.6d714b1e
test edi, edi
jne 0x6d6f6fd9
xor eax, eax
jmp 0x6d6f6fdb
mov eax, dword [edi]
push eax
call fcn.6d6c7e00
pop ecx
push eax
push ebx
lea ecx, [ebp - 0x10]
call fcn.6d645ee5
test edi, edi
jne 0x6d6f6ff4
xor eax, eax
jmp 0x6d6f6ff6
mov eax, dword [edi]
push eax
call fcn.6d6c7e0e
test edi, edi
pop ecx
mov dword [ebp - 0x18], eax
jne 0x6d6f7008
xor eax, eax
jmp 0x6d6f700a
mov eax, dword [edi]
push eax
call fcn.6d6c7e2e
mov esi, eax
pop ecx
test esi, esi
jne 0x6d6f701c
and dword [ebp + 8], eax
jmp 0x6d6f702e
mov ecx, dword [ebx + 0x90]
push 4
call fcn.6d645be3
mov dword [eax], esi
mov dword [ebp + 8], eax
test edi, edi
jne 0x6d6f7036
xor eax, eax
jmp 0x6d6f7038
mov eax, dword [edi]
push eax
call fcn.6d6c7e6b
xor esi, esi
pop ecx
cmp edi, esi
mov dword [ebp - 0x14], eax
jne 0x6d6f704c
xor edi, edi
jmp 0x6d6f704e
mov edi, dword [edi]
push edi
call fcn.6d6c7e89
mov edi, eax
pop ecx
cmp edi, esi
jne 0x6d6f7060
mov dword [ebp - 8], esi
jmp 0x6d6f7074
mov ebx, dword [ebx + 0x90]
push 4
mov ecx, ebx
call fcn.6d645be3
mov dword [eax], edi
mov dword [ebp - 8], eax
mov ecx, dword [ebp - 0xc]
call fcn.6d715a3f
mov eax, dword [ebp - 0x10]
cmp eax, esi
je 0x6d6f709a
mov edi, dword [eax]
cmp edi, esi
je 0x6d6f709a
push dword [edi + 8]
push 5
call fcn.6d645c02
pop ecx
lea eax, [edi + eax*4]
push eax
jmp 0x6d6f709c
push esi
push esi
call fcn.6d75c9c8
pop ecx
mov esi, eax
pop ecx
mov edi, esi
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
push eax
push ecx
mov ecx, dword [ebp - 4]
call fcn.6d6faade
mov ebx, dword [ebp + 0xc]
mov edx, eax
test edx, edx
mov dword [ebx], edx
jne 0x6d6f70cc
push 0x6e
jmp 0x6d6f7158
mov edi, esi
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
mov eax, ecx
mov esi, edi
mov edi, edx
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
mov al, byte [ebp - 0x14]
and ecx, 3
rep movsb byte es:[edi], byte [esi]
mov byte [ebx + 8], al
mov eax, dword [ebp - 0x18]
mov dword [ebx + 4], eax
mov eax, dword [ebp - 8]
xor esi, esi
cmp eax, esi
jne 0x6d6f7104
xor eax, eax
jmp 0x6d6f7122
mov ecx, dword [ebp - 4]
cmp dword [ecx + 0xa0], esi
je 0x6d6f711a
push 1
push eax
call fcn.6d6dc05b
pop ecx
jmp 0x6d6f7121
push dword [eax]
call fcn.6d6dbff8
pop ecx
mov dword [ebx + 0x10], eax
mov eax, dword [ebp - 4]
cmp dword [eax + 0xa0], esi
je 0x6d6f713d
push 1
push dword [ebp + 8]
call fcn.6d6dc05b
pop ecx
jmp 0x6d6f7150
mov eax, dword [ebp + 8]
cmp eax, esi
jne 0x6d6f7148
xor eax, eax
jmp 0x6d6f714a
mov eax, dword [eax]
push eax
call fcn.6d6dbff8
pop ecx
mov dword [ebx + 0xc], eax
jmp 0x6d6f7159
push 0xa
pop esi
lea ecx, [ebp - 0x40]
call fcn.6d6b5aa6
lea ecx, [ebp - 0x28]
call fcn.6d6a63ec
mov eax, esi
pop edi
pop esi
pop ebx
leave
ret 8