Function at 0x660f881b
Capabilities:
Get thread local storage value

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x418
push ebx
push esi
push edi
push dword [0x6610feb0]
call dword [sym.imp.KERNEL32.dll_TlsGetValue]
mov ebx, dword [ebp + 8]
mov esi, eax
push ebx
call fcn.660f86db
cmp word [ebp + 0xc], 0xa
mov ecx, 0x80020004
jne 0x660f888e
cmp dword [ebp + 0x14], ecx
jne 0x660f888e
or eax, 0xffffffff
cmp word [ebp + 0x1c], 0xa
movsx eax, ax
jne 0x660f8892
cmp dword [ebp + 0x24], ecx
jne 0x660f8892
or ecx, 0xffffffff
test cx, cx
je 0x660f89c3
test eax, eax
je 0x660f8966
test ebx, ebx
jne 0x660f8896
xor eax, eax
add eax, 0x26
mov esi, 0x104
cmp eax, esi
jb 0x660f889d
push 5
call fcn.66025592
xor eax, eax
jmp 0x660f8852
xor ecx, ecx
jmp 0x660f8864
mov eax, dword [ebx - 4]
shr eax, 1
jmp 0x660f887b
lea eax, [ebp - 0x418]
push 0x6605657c
push eax
call fcn.6601342c
pop ecx
lea eax, [ebp - 0x418]
pop ecx
push ebx
push eax
call fcn.660eedac
pop ecx
lea eax, [ebp - 4]
pop ecx
mov ebx, SysReAllocStringLen
push eax
lea eax, [ebp - 0x418]
push eax
push ebx
call fcn.660e62c3
test eax, eax
je 0x660f88e0
push 5
call fcn.66025592
lea eax, [ebp - 0x210]
push esi
push eax
push 0
push dword [ebp - 4]
call fcn.660e6412
test eax, eax
jne 0x660f892a
lea eax, [ebp - 0x210]
push eax
push dword [ebp - 4]
call fcn.660f8a8a
mov edi, eax
test edi, edi
je 0x660f88e0
push dword [ebp - 4]
call dword [sym.imp.ADVAPI32.dll_RegCloseKey]
test eax, eax
je 0x660f891f
test edi, edi
jne 0x660f8927
push 5
pop edi
test edi, edi
je 0x660f8a83
push edi
jmp 0x660f895c
cmp eax, 0x103
jne 0x660f8961
push dword [ebp - 4]
call dword [sym.imp.ADVAPI32.dll_RegCloseKey]
test eax, eax
je 0x660f8945
push 5
call fcn.66025592
lea eax, [ebp - 0x418]
push eax
push ebx
call fcn.660e6322
test eax, eax
je 0x660f8a83
push 5
call fcn.66025592
push 5
pop edi
jmp 0x660f890b
lea eax, [ebp + 0xc]
push eax
call sym.MSVBVM60.DLL___vbaStrVarCopy
mov edi, eax
mov word [esi + 0x50], 8
push edi
mov dword [esi + 0x58], edi
call fcn.660f86db
lea eax, [ebp - 0x210]
push 0x104
push eax
push edi
push ebx
call fcn.660f86f6
mov ebx, eax
test ebx, ebx
jne 0x660f89ac
lea eax, [ebp - 0x210]
push eax
push SysReAllocStringLen
call fcn.660f8a8a
mov ebx, eax
and word [esi + 0x50], 0
push edi
call dword [sym.imp.OLEAUT32.dll_SysStringLen]
test ebx, ebx
je 0x660f8a83
push ebx
jmp 0x660f895c
test eax, eax
je 0x660f89ce
push 5
call fcn.66025592
lea eax, [ebp + 0xc]
push eax
call sym.MSVBVM60.DLL___vbaStrVarCopy
mov ebx, eax
mov word [esi + 0x50], 8
push ebx
mov dword [esi + 0x58], ebx
call fcn.660f86db
lea eax, [ebp + 0x1c]
push eax
call sym.MSVBVM60.DLL___vbaStrVarCopy
mov edi, eax
mov word [esi + 0x60], 8
push edi
mov dword [esi + 0x68], edi
call fcn.660f86db
lea eax, [ebp - 0x210]
push 0x104
push eax
push ebx
push dword [ebp + 8]
call fcn.660f86f6
test eax, eax
mov dword [ebp + 8], eax
jne 0x660f8a5f
lea eax, [ebp - 8]
push eax
lea eax, [ebp - 0x210]
push eax
push SysReAllocStringLen
call fcn.660e62c3
test eax, eax
jne 0x660f8a58
push edi
push dword [ebp - 8]
call fcn.660e6380
test eax, eax
je 0x660f8a4b
mov dword [ebp + 8], 5
push dword [ebp - 8]
call dword [sym.imp.ADVAPI32.dll_RegCloseKey]
test eax, eax
je 0x660f8a5f
mov dword [ebp + 8], 5
and word [esi + 0x60], 0
push edi
mov edi, dword [sym.imp.OLEAUT32.dll_SysStringLen]
call edi
and word [esi + 0x50], 0
push ebx
call edi
cmp dword [ebp + 8], 0
je 0x660f8a83
push dword [ebp + 8]
jmp 0x660f895c
pop edi
pop esi
pop ebx
leave
ret 0x24