Function at 0x5191e0
Capabilities:
Get thread local storage value

Disassembly:
mov eax, dword [0x728c28]
cmp eax, 0xffffffff
push ebx
mov ebx, dword [esp + 8]
push esi
mov esi, dword [ebx + 0x38]
push edi
je 0x51920b
push eax
call dword [sym.imp.KERNEL32.dll_TlsGetValue]
test eax, eax
je 0x51920b
or edx, 0xffffffff
mov ecx, esi
call fcn.004fc390
jmp 0x519214
push 0xffffffffffffffff
push esi
call dword [sym.imp.KERNEL32.dll_WaitForSingleObject]
mov eax, dword [ebx + 0x48]
xor edi, edi
cmp eax, edi
je 0x519391
mov eax, dword [ebx + 0x40]
mov ecx, dword [eax]
cmp ecx, edi
lea esi, [ebx + 0x3c]
mov dword [esi + 4], ecx
je 0x519235
mov dword [ecx + 4], edi
jmp 0x519238
mov dword [esi + 8], edi
mov edx, dword [esi]
push ebp
mov ebp, dword [eax + 8]
push eax
mov ecx, esi
call dword [edx + 8]
dec dword [esi + 0xc]
mov eax, dword [ebx + 0x38]
push eax
call dword [sym.imp.KERNEL32.dll_ReleaseMutex]
mov eax, dword [0x728c28]
cmp eax, 0xffffffff
mov esi, dword [ebp + 0x38]
je 0x519275
push eax
call dword [sym.imp.KERNEL32.dll_TlsGetValue]
cmp eax, edi
je 0x519275
or edx, 0xffffffff
mov ecx, esi
call fcn.004fc390
jmp 0x51927e
push 0xffffffffffffffff
push esi
call dword [sym.imp.KERNEL32.dll_WaitForSingleObject]
mov eax, dword [ebp + 0x28]
test eax, eax
mov byte [ebp], 0
mov byte [ebp + 1], 1
jbe 0x5192ef
lea ecx, [ecx]
mov ecx, dword [ebp + 0x20]
mov eax, dword [ecx + edi*4]
test eax, eax
je 0x5192e7
mov ecx, dword [ebx + 0x4c]
mov edx, dword [ecx]
push eax
call dword [edx]
mov ebx, eax
mov eax, dword [ebx]
mov ecx, ebx
call dword [eax + 4]
mov eax, dword [ebp + 0xc]
cmp edi, eax
lea esi, [ebp + 4]
jb 0x5192c4
mov edx, dword [esi + 0x14]
add edx, edi
call fcn.00528780
cmp edi, dword [esi + 8]
jae 0x5192e3
cmp edi, dword [esi + 0xc]
jb 0x5192d1
lea ecx, [edi + 1]
mov dword [esi + 0xc], ecx
jmp 0x5192da
mov edx, dword [esi + 4]
cmp dword [edx + edi*4], 0
jne 0x5192dd
inc dword [esi + 0x10]
mov eax, dword [esi + 4]
mov dword [eax + edi*4], ebx
mov ebx, dword [esp + 0x14]
mov eax, dword [ebp + 0x28]
inc edi
cmp edi, eax
jb 0x519290
mov eax, dword [0x728c28]
cmp eax, 0xffffffff
mov esi, dword [ebx + 0xe4]
je 0x519316
push eax
call dword [sym.imp.KERNEL32.dll_TlsGetValue]
test eax, eax
je 0x519316
or edx, 0xffffffff
mov ecx, esi
call fcn.004fc390
jmp 0x51931f
push 0xffffffffffffffff
push esi
call dword [sym.imp.KERNEL32.dll_WaitForSingleObject]
mov ecx, dword [ebp + 0x3c]
add ecx, 0x14
push ecx
push str.Landscape___s__maps_are_loaded__waiting_for_aquisition
mov eax, 3
call fcn.00516e70
mov edx, dword [ebx + 0x118]
mov edi, dword [ebp + 0x3c]
lea esi, [ebx + 0x118]
add esp, 8
mov ecx, esi
call dword [edx + 4]
mov dword [eax + 8], edi
mov dword [eax], 0
mov ecx, dword [esi + 8]
mov dword [eax + 4], ecx
mov ecx, dword [esi + 8]
test ecx, ecx
je 0x519366
mov dword [ecx], eax
jmp 0x519369
mov dword [esi + 4], eax
mov edi, dword [esi + 0xc]
mov dword [esi + 8], eax
inc edi
mov dword [esi + 0xc], edi
mov edx, dword [ebx + 0xe4]
mov esi, dword [sym.imp.KERNEL32.dll_ReleaseMutex]
push edx
call esi
mov eax, dword [ebp + 0x38]
push eax
call esi
pop ebp
pop edi
pop esi
mov al, 1
pop ebx
ret 4
mov ecx, dword [ebx + 0x38]
push ecx
call dword [sym.imp.KERNEL32.dll_ReleaseMutex]
pop edi
pop esi
xor al, al
pop ebx
ret 4