Function at 0x46c9ac
Capabilities:
Get thread local storage value

Disassembly:
push ebp
mov ebp, esp
sub esp, 8
mov dword [ebp - 4], ebx
mov eax, dword [0x44d4c40]
test eax, eax
je 0x46c9c5
push eax
call fcn.0048b5a5
pop ecx
mov eax, dword [0x44d4c48]
test eax, eax
je 0x46c9d5
push eax
call fcn.0048b5a5
pop ecx
mov eax, dword [0x44d4c4c]
test eax, eax
je 0x46c9e5
push eax
call fcn.0048b5a5
pop ecx
mov eax, dword [0x44d4c54]
test eax, eax
je 0x46c9f5
push eax
call fcn.0048b5a5
pop ecx
mov eax, dword [0x44d4c58]
test eax, eax
je 0x46ca05
push eax
call fcn.0048b5a5
pop ecx
mov eax, dword [0x44d4c64]
test eax, eax
je 0x46ca15
push eax
call fcn.0048b5a5
pop ecx
mov eax, dword [0x44d4c6c]
test eax, eax
je 0x46ca25
push eax
call fcn.0048b5a5
pop ecx
mov eax, dword [0x44d4c5c]
test eax, eax
je 0x46ca35
push eax
call fcn.0048b5a5
pop ecx
mov eax, dword [0x44d4c70]
test eax, eax
je 0x46ca45
push eax
call fcn.0048b5a5
pop ecx
mov eax, dword [0x44d4c60]
test eax, eax
je 0x46ca55
push eax
call fcn.0048b5a5
pop ecx
mov eax, dword [0x44d4c68]
test eax, eax
je 0x46ca65
push eax
call fcn.0048b5a5
pop ecx
mov eax, dword [0x44d4c74]
test eax, eax
je 0x46ca75
push eax
call fcn.0048b5a5
pop ecx
mov eax, dword [0x44d4c78]
test eax, eax
je 0x46ca85
push eax
call fcn.0048b5a5
pop ecx
mov eax, dword [0x44d4c00]
test eax, eax
je 0x46ca95
push eax
call fcn.0048b5a5
pop ecx
mov eax, dword [0x44d4c04]
test eax, eax
je 0x46caa5
push eax
call fcn.0048b5a5
pop ecx
mov eax, dword [0x44d4c08]
test eax, eax
je 0x46cab5
push eax
call fcn.0048b5a5
pop ecx
mov eax, dword [0x44d4c0c]
test eax, eax
je 0x46cac5
push eax
call fcn.0048b5a5
pop ecx
mov eax, dword [0x44d4c10]
test eax, eax
je 0x46cad5
push eax
call fcn.0048b5a5
pop ecx
mov eax, dword [0x44d4c14]
test eax, eax
je 0x46cae5
push eax
call fcn.0048b5a5
pop ecx
mov eax, dword [0x44d4c18]
test eax, eax
je 0x46caf5
push eax
call fcn.0048b5a5
pop ecx
mov eax, dword [0x44d4c1c]
test eax, eax
je 0x46cb05
push eax
call fcn.0048b5a5
pop ecx
mov eax, dword [0x44d4c20]
test eax, eax
je 0x46cb15
push eax
call fcn.0048b5a5
pop ecx
mov eax, dword [0x44d4c24]
test eax, eax
je 0x46cb25
push eax
call fcn.0048b5a5
pop ecx
mov eax, dword [0x4caf64]
test eax, eax
je 0x46cb35
push eax
call fcn.0048b5a5
pop ecx
mov eax, dword [0x4caf84]
test eax, eax
je 0x46cb45
push eax
call fcn.0048b5a5
pop ecx
mov eax, dword [0x4cafac]
test eax, eax
je 0x46cb55
push eax
call fcn.0048b5a5
pop ecx
mov eax, dword [0x4cafa8]
test eax, eax
je 0x46cb65
push eax
call fcn.0048b5a5
pop ecx
mov eax, dword [0x4cafc4]
test eax, eax
je 0x46cb75
push eax
call fcn.0048b5a5
pop ecx
mov eax, dword [0x4cb000]
test eax, eax
je 0x46cb95
push eax
call dword [sym.imp.KERNEL32.dll_DeleteCriticalSection]
mov eax, dword [0x4cb000]
test eax, eax
je 0x46cb95
push eax
call fcn.0048b5a5
pop ecx
mov eax, dword [0x440fef8]
test eax, eax
je 0x46cbb5
push eax
call dword [sym.imp.KERNEL32.dll_DeleteCriticalSection]
mov eax, dword [0x440fef8]
test eax, eax
je 0x46cbb5
push eax
call fcn.0048b5a5
pop ecx
mov eax, dword [0x440ffd4]
test eax, eax
je 0x46cbd5
push eax
call dword [sym.imp.KERNEL32.dll_DeleteCriticalSection]
mov eax, dword [0x440ffd4]
test eax, eax
je 0x46cbd5
push eax
call fcn.0048b5a5
pop ecx
mov eax, dword [0x440ffa8]
test eax, eax
je 0x46cbe5
push eax
call fcn.0048b5a5
pop ecx
push dword [0x4caf68]
call dword [sym.imp.USER32.dll_GetMenuItemCount]
mov eax, dword [0x4caf68]
test eax, eax
je 0x46cc40
push eax
call dword [sym.imp.USER32.dll_GetMenuItemCount]
test eax, eax
jbe 0x46cc2a
mov dword [ebp - 8], esi
xor ebx, ebx
mov esi, eax
push ebx
push dword [0x4caf68]
call dword [sym.imp.USER32.dll_GetSubMenu]
push eax
call dword [sym.imp.USER32.dll_DestroyMenu]
add ebx, 1
cmp ebx, esi
jb 0x46cc0c
mov esi, dword [ebp - 8]
push dword [0x4caf68]
call dword [sym.imp.USER32.dll_DestroyMenu]
mov dword [0x4caf68], 0
push dword [0x4caff8]
call dword [sym.imp.KERNEL32.dll_TlsGetValue]
mov ebx, eax
test ebx, ebx
je 0x46cc65
push dword [0x4caff8]
call dword [sym.imp.KERNEL32.dll_TlsFree]
push ebx
call fcn.0048b5a5
pop ecx
mov edx, dword [0x4cb008]
test edx, edx
je 0x46ccc4
mov eax, dword [edx]
cmp eax, 1
jb 0x46ccb0
mov dword [ebp - 8], esi
mov ebx, 1
mov esi, eax
jmp 0x46cc88
mov edx, dword [0x4cb008]
push dword [edx + ebx*4]
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov edx, dword [0x440ffd8]
push dword [edx + ebx*4]
call fcn.0048b5a5
pop ecx
add ebx, 1
cmp ebx, esi
jbe 0x46cc82
mov esi, dword [ebp - 8]
mov edx, dword [0x4cb008]
push edx
call fcn.0048b5a5
push dword [0x440ffd8]
call fcn.0048b5a5
add esp, 8
mov eax, dword [0x440ffe0]
test eax, eax
je 0x46ccd4
push eax
call fcn.0048b5a5
pop ecx
mov ebx, dword [ebp - 4]
mov esp, ebp
pop ebp
ret