Function at 0x100dc0f0
Capabilities:
Get thread local storage value

Disassembly:
push 0xffffffffffffffff
push 0x1011ab20
mov eax, dword fs:[0]
push eax
sub esp, 0xc
push ebx
push ebp
push esi
push edi
mov eax, dword [0x101e6198]
xor eax, esp
push eax
lea eax, [esp + 0x20]
mov dword fs:[0], eax
mov esi, ecx
mov dword [esp + 0x1c], esi
mov dword [esi], vtable.i3UIListView_Box.0
mov ecx, dword [esi + 0x2cc]
mov ebx, dword [0x10123858]
xor ebp, ebp
mov dword [esp + 0x28], 4
cmp ecx, ebp
je 0x100dc145
call ebx
mov dword [esi + 0x2cc], ebp
mov eax, dword [esi + 0x288]
sub eax, dword [esi + 0x284]
sar eax, 2
test eax, eax
jbe 0x100dc18d
jmp 0x100dc160
mov ecx, dword [esi + 0x284]
mov edi, dword [ecx + ebp*4]
push edi
mov ecx, esi
call sym.i3FrameworkDx.dll_public:_void___thiscall_i3UIControl::RemoveControl_class_i3UIControl__
test edi, edi
je 0x100dc179
mov ecx, edi
call ebx
mov edx, dword [esi + 0x288]
sub edx, dword [esi + 0x284]
inc ebp
sar edx, 2
cmp ebp, edx
jb 0x100dc160
mov eax, dword [esi + 0x284]
cmp eax, dword [esi + 0x288]
je 0x100dc1a1
mov dword [esi + 0x288], eax
mov eax, dword [esi + 0x2c0]
sub eax, dword [esi + 0x2bc]
xor edi, edi
sar eax, 2
test eax, eax
jbe 0x100dc1e3
jmp 0x100dc1c0
mov ecx, dword [esi + 0x2bc]
mov ecx, dword [ecx + edi*4]
test ecx, ecx
je 0x100dc1cf
call ebx
mov edx, dword [esi + 0x2c0]
sub edx, dword [esi + 0x2bc]
inc edi
sar edx, 2
cmp edi, edx
jb 0x100dc1c0
mov eax, dword [esi + 0x2bc]
cmp eax, dword [esi + 0x2c0]
je 0x100dc1f7
mov dword [esi + 0x2c0], eax
mov eax, dword [esi + 0x29c]
sub eax, dword [esi + 0x298]
mov ebp, dword [0x101237d8]
sar eax, 2
xor edi, edi
test eax, eax
jbe 0x100dc240
mov ecx, dword [esi + 0x298]
mov eax, dword [ecx + edi*4]
test eax, eax
je 0x100dc22c
push 0x61
push str......._srci3Frameworki3UIi3UIListView_Box.cpp
push eax
call ebp
add esp, 0xc
mov edx, dword [esi + 0x29c]
sub edx, dword [esi + 0x298]
inc edi
sar edx, 2
cmp edi, edx
jb 0x100dc212
mov eax, dword [esi + 0x298]
cmp eax, dword [esi + 0x29c]
je 0x100dc254
mov dword [esi + 0x29c], eax
mov eax, dword [esi + 0x2e0]
sub eax, dword [esi + 0x2dc]
xor edi, edi
sar eax, 2
test eax, eax
jbe 0x100dc297
mov ecx, dword [esi + 0x2dc]
mov eax, dword [ecx + edi*4]
test eax, eax
je 0x100dc283
push 0x68
push str......._srci3Frameworki3UIi3UIListView_Box.cpp
push eax
call ebp
add esp, 0xc
mov edx, dword [esi + 0x2e0]
sub edx, dword [esi + 0x2dc]
inc edi
sar edx, 2
cmp edi, edx
jb 0x100dc269
mov eax, dword [esi + 0x2dc]
cmp eax, dword [esi + 0x2e0]
je 0x100dc2ab
mov dword [esi + 0x2e0], eax
mov ecx, dword [esi + 0x280]
test ecx, ecx
je 0x100dc2c1
call ebx
mov dword [esi + 0x280], 0
mov ecx, dword [esi + 0x2b4]
test ecx, ecx
je 0x100dc2d7
call ebx
mov dword [esi + 0x2b4], 0
mov eax, dword [esi + 0x2dc]
mov edi, dword [0x1012379c]
mov ebp, dword [sym.imp.KERNEL32.dll_TlsGetValue]
mov byte [esp + 0x28], 3
mov dword [esp + 0x14], eax
test eax, eax
je 0x100dc32a
mov eax, dword [0x101237bc]
mov ecx, dword [eax]
mov ebx, dword [0x101e7834]
push ecx
call ebp
mov ecx, dword [ebx + 4]
mov edx, dword [eax + 4]
lea edx, [edx + ecx*4]
mov dword [esp + 0x18], edx
mov edx, dword [esp + 0x14]
push edx
push ecx
push eax
mov eax, dword [esp + 0x24]
mov ecx, dword [eax]
push ebx
call ecx
add esp, 0xc
mov ecx, eax
call edi
mov eax, dword [esi + 0x2bc]
mov byte [esp + 0x28], 2
mov dword [esp + 0x18], eax
test eax, eax
je 0x100dc372
mov edx, dword [0x101237bc]
mov eax, dword [edx]
mov ebx, dword [0x101e7834]
push eax
call ebp
mov ecx, dword [ebx + 4]
mov edx, dword [eax + 4]
lea edx, [edx + ecx*4]
mov dword [esp + 0x14], edx
mov edx, dword [esp + 0x18]
push edx
push ecx
push eax
mov eax, dword [esp + 0x20]
mov ecx, dword [eax]
push ebx
call ecx
add esp, 0xc
mov ecx, eax
call edi
mov eax, dword [esi + 0x298]
mov byte [esp + 0x28], 1
mov dword [esp + 0x18], eax
test eax, eax
je 0x100dc3ba
mov edx, dword [0x101237bc]
mov eax, dword [edx]
mov ebx, dword [0x101e7834]
push eax
call ebp
mov ecx, dword [ebx + 4]
mov edx, dword [eax + 4]
lea edx, [edx + ecx*4]
mov dword [esp + 0x14], edx
mov edx, dword [esp + 0x18]
push edx
push ecx
push eax
mov eax, dword [esp + 0x20]
mov ecx, dword [eax]
push ebx
call ecx
add esp, 0xc
mov ecx, eax
call edi
mov eax, dword [esi + 0x284]
mov byte [esp + 0x28], 0
mov dword [esp + 0x18], eax
test eax, eax
je 0x100dc3fb
mov edx, dword [0x101237bc]
mov eax, dword [edx]
mov ebx, dword [0x101e7834]
push eax
call ebp
mov ecx, dword [ebx + 4]
mov ebp, dword [esp + 0x18]
mov edx, dword [eax + 4]
push ebp
push ecx
push eax
mov eax, dword [edx + ecx*4]
lea edx, [edx + ecx*4]
push ebx
call eax
add esp, 0xc
mov ecx, eax
call edi
mov ecx, esi
mov dword [esp + 0x28], 0xffffffff
call sym.i3FrameworkDx.dll_public_virtual:_void___thiscall_i3UIControl::destructor_void_
mov ecx, dword [esp + 0x20]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x18
ret