Function at 0x451fc8
Capabilities:
Get thread local storage value

Disassembly:
push ebp
mov ebp, esp
sub esp, 8
mov dword [ebp - 4], ebx
mov eax, dword [0x4affa0]
test eax, eax
je 0x451fe1
push eax
call fcn.0046e793
pop ecx
mov eax, dword [0x4affa8]
test eax, eax
je 0x451ff1
push eax
call fcn.0046e793
pop ecx
mov eax, dword [0x4affac]
test eax, eax
je 0x452001
push eax
call fcn.0046e793
pop ecx
mov eax, dword [0x4affb4]
test eax, eax
je 0x452011
push eax
call fcn.0046e793
pop ecx
mov eax, dword [0x4affb8]
test eax, eax
je 0x452021
push eax
call fcn.0046e793
pop ecx
mov eax, dword [0x4affc4]
test eax, eax
je 0x452031
push eax
call fcn.0046e793
pop ecx
mov eax, dword [0x4affcc]
test eax, eax
je 0x452041
push eax
call fcn.0046e793
pop ecx
mov eax, dword [0x4affbc]
test eax, eax
je 0x452051
push eax
call fcn.0046e793
pop ecx
mov eax, dword [0x4affd0]
test eax, eax
je 0x452061
push eax
call fcn.0046e793
pop ecx
mov eax, dword [0x4affc0]
test eax, eax
je 0x452071
push eax
call fcn.0046e793
pop ecx
mov eax, dword [0x4affc8]
test eax, eax
je 0x452081
push eax
call fcn.0046e793
pop ecx
mov eax, dword [0x4affd4]
test eax, eax
je 0x452091
push eax
call fcn.0046e793
pop ecx
mov eax, dword [0x4affd8]
test eax, eax
je 0x4520a1
push eax
call fcn.0046e793
pop ecx
mov eax, dword [0x4aff60]
test eax, eax
je 0x4520b1
push eax
call fcn.0046e793
pop ecx
mov eax, dword [0x4aff64]
test eax, eax
je 0x4520c1
push eax
call fcn.0046e793
pop ecx
mov eax, dword [0x4aff68]
test eax, eax
je 0x4520d1
push eax
call fcn.0046e793
pop ecx
mov eax, dword [0x4aff6c]
test eax, eax
je 0x4520e1
push eax
call fcn.0046e793
pop ecx
mov eax, dword [0x4aff70]
test eax, eax
je 0x4520f1
push eax
call fcn.0046e793
pop ecx
mov eax, dword [0x4aff74]
test eax, eax
je 0x452101
push eax
call fcn.0046e793
pop ecx
mov eax, dword [0x4aff78]
test eax, eax
je 0x452111
push eax
call fcn.0046e793
pop ecx
mov eax, dword [0x4aff7c]
test eax, eax
je 0x452121
push eax
call fcn.0046e793
pop ecx
mov eax, dword [0x4aff80]
test eax, eax
je 0x452131
push eax
call fcn.0046e793
pop ecx
mov eax, dword [0x4aff84]
test eax, eax
je 0x452141
push eax
call fcn.0046e793
pop ecx
mov eax, dword [0x4a2424]
test eax, eax
je 0x452151
push eax
call fcn.0046e793
pop ecx
mov eax, dword [0x4a2444]
test eax, eax
je 0x452161
push eax
call fcn.0046e793
pop ecx
mov eax, dword [0x4a246c]
test eax, eax
je 0x452171
push eax
call fcn.0046e793
pop ecx
mov eax, dword [0x4a2468]
test eax, eax
je 0x452181
push eax
call fcn.0046e793
pop ecx
mov eax, dword [0x4a2484]
test eax, eax
je 0x452191
push eax
call fcn.0046e793
pop ecx
mov eax, dword [0x4a24c0]
test eax, eax
je 0x4521b1
push eax
call dword [sym.imp.KERNEL32.dll_DeleteCriticalSection]
mov eax, dword [0x4a24c0]
test eax, eax
je 0x4521b1
push eax
call fcn.0046e793
pop ecx
mov eax, dword [0x4aef14]
test eax, eax
je 0x4521d1
push eax
call dword [sym.imp.KERNEL32.dll_DeleteCriticalSection]
mov eax, dword [0x4aef14]
test eax, eax
je 0x4521d1
push eax
call fcn.0046e793
pop ecx
mov eax, dword [0x4aeff4]
test eax, eax
je 0x4521f1
push eax
call dword [sym.imp.KERNEL32.dll_DeleteCriticalSection]
mov eax, dword [0x4aeff4]
test eax, eax
je 0x4521f1
push eax
call fcn.0046e793
pop ecx
mov eax, dword [0x4aefc0]
test eax, eax
je 0x452201
push eax
call fcn.0046e793
pop ecx
push dword [0x4a2428]
call dword [sym.imp.USER32.dll_GetMenuItemCount]
mov eax, dword [0x4a2428]
test eax, eax
je 0x45225c
push eax
call dword [sym.imp.USER32.dll_GetMenuItemCount]
test eax, eax
jbe 0x452246
mov dword [ebp - 8], esi
xor ebx, ebx
mov esi, eax
push ebx
push dword [0x4a2428]
call dword [sym.imp.USER32.dll_GetSubMenu]
push eax
call dword [sym.imp.USER32.dll_DestroyMenu]
add ebx, 1
cmp ebx, esi
jb 0x452228
mov esi, dword [ebp - 8]
push dword [0x4a2428]
call dword [sym.imp.USER32.dll_DestroyMenu]
mov dword [0x4a2428], 0
push dword [0x4a24b8]
call dword [sym.imp.KERNEL32.dll_TlsGetValue]
mov ebx, eax
test ebx, ebx
je 0x452281
push dword [0x4a24b8]
call dword [sym.imp.KERNEL32.dll_TlsFree]
push ebx
call fcn.0046e793
pop ecx
mov edx, dword [0x4a24c8]
test edx, edx
je 0x4522e0
mov eax, dword [edx]
cmp eax, 1
jb 0x4522cc
mov dword [ebp - 8], esi
mov ebx, 1
mov esi, eax
jmp 0x4522a4
mov edx, dword [0x4a24c8]
push dword [edx + ebx*4]
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov edx, dword [0x4aeff8]
push dword [edx + ebx*4]
call fcn.0046e793
pop ecx
add ebx, 1
cmp ebx, esi
jbe 0x45229e
mov esi, dword [ebp - 8]
mov edx, dword [0x4a24c8]
push edx
call fcn.0046e793
push dword [0x4aeff8]
call fcn.0046e793
add esp, 8
mov eax, dword [0x4af020]
test eax, eax
je 0x4522f0
push eax
call fcn.0046e793
pop ecx
mov ebx, dword [ebp - 4]
mov esp, ebp
pop ebp
ret