Function at 0x10054810
Capabilities:
Get thread local storage value

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x41c
push ebx
push esi
push edi
push dword [0x100c7608]
mov dword [ebp - 0x10], 0
mov dword [ebp - 4], 0
mov dword [ebp - 8], 0
call dword [sym.imp.KERNEL32.dll_TlsGetValue]
mov esi, eax
test esi, esi
jne 0x1005484d
lea eax, [esi + 5]
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
cmp dword [esi + 0x712c], 0
mov dword [ebp - 0xc], 7
jl 0x10054872
jg 0x1005486b
cmp dword [esi + 0x7128], 0x30d40
jbe 0x10054872
mov eax, 8
jmp 0x10054877
mov eax, 7
test byte [esi + 0x715e], 4
lea ecx, [ebp - 0x418]
mov dword [ebp - 0x14], eax
mov dword [esi + 0x1b434], 0
je 0x10054bdf
mov edx, 0x100
mov dword [ebp - 0x18], 9
call fcn.100532d0
test eax, eax
jne 0x10054de8
lea eax, [ebp - 0x18]
mov edx, 0x100
push eax
lea eax, [ebp - 0x10]
push eax
push 0
push 0
push 0x100
lea ecx, [ebp - 0x418]
call fcn.10054df0
mov edi, eax
add esp, 0x14
test edi, edi
je 0x10054904
cmp edi, 1
jne 0x100548fb
mov ecx, dword [ebp - 0x10]
test ecx, ecx
je 0x100548fb
mov esi, dword [ecx - 4]
sub ecx, 8
push ecx
call fcn.10086818
add esp, 4
mov ecx, esi
test esi, esi
jne 0x100548e6
mov eax, edi
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov edx, 0x40
lea ecx, [ebp - 0x418]
call fcn.100532d0
mov edi, eax
test edi, edi
je 0x1005493f
mov ecx, dword [ebp - 0x10]
test ecx, ecx
je 0x100548fb
mov esi, dword [ecx - 4]
sub ecx, 8
push ecx
call fcn.10086818
add esp, 4
mov ecx, esi
test esi, esi
jne 0x10054921
mov eax, edi
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
lea eax, [ebp - 0xc]
mov edx, 0x40
push eax
lea eax, [ebp - 4]
push eax
push 0x100c2f30
push 0x100c2fb0
push 0
lea ecx, [ebp - 0x418]
call fcn.10054df0
mov edi, eax
add esp, 0x14
test edi, edi
je 0x100549b6
cmp edi, 1
jne 0x1005498d
mov ecx, dword [ebp - 4]
test ecx, ecx
je 0x1005498d
mov esi, dword [ecx - 4]
sub ecx, 8
push ecx
call fcn.10086818
add esp, 4
mov ecx, esi
test esi, esi
jne 0x10054978
mov eax, dword [ebp - 0x10]
test eax, eax
je 0x100548fb
mov esi, dword [eax - 4]
sub eax, 8
push eax
call fcn.10086818
add esp, 4
mov eax, esi
test esi, esi
jne 0x10054998
mov eax, edi
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov edx, 0x40
lea ecx, [ebp - 0x418]
call fcn.100532d0
mov edi, eax
test edi, edi
je 0x10054a11
mov ecx, dword [ebp - 4]
test ecx, ecx
je 0x100549e8
mov esi, dword [ecx - 4]
sub ecx, 8
push ecx
call fcn.10086818
add esp, 4
mov ecx, esi
test esi, esi
jne 0x100549d3
mov eax, dword [ebp - 0x10]
test eax, eax
je 0x100548fb
mov esi, dword [eax - 4]
sub eax, 8
push eax
call fcn.10086818
add esp, 4
mov eax, esi
test esi, esi
jne 0x100549f3
mov eax, edi
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
test byte [esi + 0x715e], 2
lea eax, [ebp - 0x14]
push eax
lea eax, [ebp - 8]
mov edx, 0x40
push eax
lea ecx, [ebp - 0x418]
push 0x100c2f30
je 0x10054ad2
push 0x100c2e30
push 0
call fcn.10054df0
mov edi, eax
add esp, 0x14
test edi, edi
je 0x10054ab1
cmp edi, 1
jne 0x10054a6c
mov ecx, dword [ebp - 8]
test ecx, ecx
je 0x10054a6c
mov esi, dword [ecx - 4]
sub ecx, 8
push ecx
call fcn.10086818
add esp, 4
mov ecx, esi
test esi, esi
jne 0x10054a57
mov eax, dword [ebp - 4]
test eax, eax
je 0x10054a88
mov esi, dword [eax - 4]
sub eax, 8
push eax
call fcn.10086818
add esp, 4
mov eax, esi
test esi, esi
jne 0x10054a73
mov eax, dword [ebp - 0x10]
test eax, eax
je 0x100548fb
mov esi, dword [eax - 4]
sub eax, 8
push eax
call fcn.10086818
add esp, 4
mov eax, esi
test esi, esi
jne 0x10054a93
mov eax, edi
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
push dword [ebp - 0x14]
mov eax, dword [ebp - 8]
push dword [ebp - 0xc]
mov ebx, dword [ebp - 4]
mov edx, ebx
push dword [ebp - 0x18]
mov edi, dword [ebp - 0x10]
mov ecx, edi
push eax
call fcn.10053370
jmp 0x10054b6d
push 0x100c2eb0
push 0
call fcn.10054df0
mov edi, eax
add esp, 0x14
test edi, edi
je 0x10054b51
cmp edi, 1
jne 0x10054b0c
mov ecx, dword [ebp - 8]
test ecx, ecx
je 0x10054b0c
mov esi, dword [ecx - 4]
sub ecx, 8
push ecx
call fcn.10086818
add esp, 4
mov ecx, esi
test esi, esi
jne 0x10054af7
mov eax, dword [ebp - 4]
test eax, eax
je 0x10054b28
mov esi, dword [eax - 4]
sub eax, 8
push eax
call fcn.10086818
add esp, 4
mov eax, esi
test esi, esi
jne 0x10054b13
mov eax, dword [ebp - 0x10]
test eax, eax
je 0x100548fb
mov esi, dword [eax - 4]
sub eax, 8
push eax
call fcn.10086818
add esp, 4
mov eax, esi
test esi, esi
jne 0x10054b33
mov eax, edi
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
push dword [ebp - 0x14]
mov eax, dword [ebp - 8]
push dword [ebp - 0xc]
mov ebx, dword [ebp - 4]
mov edx, ebx
push dword [ebp - 0x18]
mov edi, dword [ebp - 0x10]
mov ecx, edi
push eax
call fcn.100538e0
mov dword [ebp - 0xc], eax
add esp, 0x10
mov eax, dword [ebp - 8]
test eax, eax
je 0x10054b95
lea ebx, [ebx]
mov esi, dword [eax - 4]
sub eax, 8
push eax
call fcn.10086818
add esp, 4
mov eax, esi
test esi, esi
jne 0x10054b80
test ebx, ebx
je 0x10054bb5
lea esp, [esp]
mov esi, dword [ebx - 4]
sub ebx, 8
push ebx
call fcn.10086818
add esp, 4
mov ebx, esi
test esi, esi
jne 0x10054ba0
test edi, edi
je 0x10054de5
lea ecx, [ecx]
mov esi, dword [edi - 4]
sub edi, 8
push edi
call fcn.10086818
add esp, 4
mov edi, esi
test esi, esi
jne 0x10054bc0
mov eax, dword [ebp - 0xc]
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov edx, 0x40
call fcn.100532d0
test eax, eax
jne 0x10054de8
lea eax, [ebp - 0xc]
mov edx, 0x40
push eax
lea eax, [ebp - 4]
push eax
push 0x100c2f30
push 0x100c3030
push 0
lea ecx, [ebp - 0x418]
call fcn.10054df0
mov edi, eax
add esp, 0x14
test edi, edi
je 0x10054c50
cmp edi, 1
jne 0x100548fb
mov ecx, dword [ebp - 4]
test ecx, ecx
je 0x100548fb
mov esi, dword [ecx - 4]
sub ecx, 8
push ecx
call fcn.10086818
add esp, 4
mov ecx, esi
test esi, esi
jne 0x10054c32
mov eax, edi
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov edx, 0x40
lea ecx, [ebp - 0x418]
call fcn.100532d0
mov edi, eax
test edi, edi
je 0x10054c8f
mov ecx, dword [ebp - 4]
test ecx, ecx
je 0x100548fb
mov esi, dword [ecx - 4]
sub ecx, 8
push ecx
call fcn.10086818
add esp, 4
mov ecx, esi
test esi, esi
jne 0x10054c71
mov eax, edi
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
test byte [esi + 0x715e], 2
lea eax, [ebp - 0x14]
push eax
lea eax, [ebp - 8]
mov edx, 0x40
push eax
lea ecx, [ebp - 0x418]
push 0x100c2f30
je 0x10054d2d
push 0x100c2e30
push 0
call fcn.10054df0
mov edi, eax
add esp, 0x14
test edi, edi
je 0x10054d13
cmp edi, 1
jne 0x10054cea
mov ecx, dword [ebp - 8]
test ecx, ecx
je 0x10054cea
mov esi, dword [ecx - 4]
sub ecx, 8
push ecx
call fcn.10086818
add esp, 4
mov ecx, esi
test esi, esi
jne 0x10054cd5
mov eax, dword [ebp - 4]
test eax, eax
je 0x100548fb
mov esi, dword [eax - 4]
sub eax, 8
push eax
call fcn.10086818
add esp, 4
mov eax, esi
test esi, esi
jne 0x10054cf5
mov eax, edi
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
push dword [ebp - 0x14]
mov ebx, dword [ebp - 8]
mov edx, ebx
push dword [ebp - 0xc]
mov edi, dword [ebp - 4]
mov ecx, edi
call fcn.10053e50
jmp 0x10054da3
push 0x100c2eb0
push 0
call fcn.10054df0
mov edi, eax
add esp, 0x14
test edi, edi
je 0x10054d8e
cmp edi, 1
jne 0x10054d65
mov ecx, dword [ebp - 8]
test ecx, ecx
je 0x10054d65
mov edi, edi
mov esi, dword [ecx - 4]
sub ecx, 8
push ecx
call fcn.10086818
add esp, 4
mov ecx, esi
test esi, esi
jne 0x10054d50
mov eax, dword [ebp - 4]
test eax, eax
je 0x100548fb
mov esi, dword [eax - 4]
sub eax, 8
push eax
call fcn.10086818
add esp, 4
mov eax, esi
test esi, esi
jne 0x10054d70
mov eax, edi
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
push dword [ebp - 0x14]
mov ebx, dword [ebp - 8]
mov edx, ebx
push dword [ebp - 0xc]
mov edi, dword [ebp - 4]
mov ecx, edi
call fcn.10054330
add esp, 8
mov dword [ebp - 0xc], eax
test ebx, ebx
je 0x10054dc5
lea ecx, [ecx]
mov esi, dword [ebx - 4]
sub ebx, 8
push ebx
call fcn.10086818
add esp, 4
mov ebx, esi
test esi, esi
jne 0x10054db0
test edi, edi
je 0x10054de5
lea esp, [esp]
mov esi, dword [edi - 4]
sub edi, 8
push edi
call fcn.10086818
add esp, 4
mov edi, esi
test esi, esi
jne 0x10054dd0
mov eax, dword [ebp - 0xc]
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret