Function at 0x100bba90
Capabilities:
Get thread local storage value

Disassembly:
push 0xffffffffffffffff
push 0x101199b8
mov eax, dword fs:[0]
push eax
sub esp, 0x1c
push ebx
push ebp
push esi
push edi
mov eax, dword [0x101e6198]
xor eax, esp
push eax
lea eax, [esp + 0x30]
mov dword fs:[0], eax
mov ebp, ecx
mov ebx, dword [esp + 0x40]
xor edx, edx
cmp ebx, edx
jne 0x100bbacd
call sym.i3FrameworkDx.dll_protected:_void___thiscall_i3UIText::_ClearLineInfoList_void_
jmp 0x100bbe35
xor eax, eax
xor edi, edi
mov dword [esp + 0x18], edi
mov dword [esp + 0x24], edx
mov dword [esp + 0x28], edx
mov dword [esp + 0x2c], edx
mov dword [esp + 0x38], edx
mov dword [esp + 0x14], ebx
lea esp, [esp]
mov ecx, dword [esp + 0x14]
movzx ecx, word [ecx]
cmp cx, 0xa
je 0x100bbb0a
cmp cx, dx
jne 0x100bbc57
sub edi, eax
jmp 0x100bbb16
cmp cx, dx
jne 0x100bbb13
sub edi, eax
jmp 0x100bbb16
sub edi, eax
inc edi
cmp edi, edx
je 0x100bbc66
lea ebx, [ebx + eax*2]
push edi
push ebx
mov ecx, ebp
call sym.i3FrameworkDx.dll_protected:_struct_LINE_INFO____thiscall_i3UIText::_FindLineInfo_unsigned_short_int__const__int_
mov esi, eax
test esi, esi
je 0x100bbb83
mov ecx, dword [ebp + 0xac]
mov eax, dword [ebp + 0xa8]
mov dword [esp + 0x1c], esi
cmp eax, ecx
je 0x100bbc08
cmp dword [eax], esi
je 0x100bbb53
add eax, 4
cmp eax, ecx
jne 0x100bbb48
cmp eax, ecx
je 0x100bbc08
lea edx, [eax + 4]
sub ecx, edx
sar ecx, 2
test ecx, ecx
jle 0x100bbb77
add ecx, ecx
add ecx, ecx
push ecx
push edx
push ecx
push eax
call fcn.100ed62a
add esp, 0x10
add dword [ebp + 0xac], 0xfffffffc
jmp 0x100bbc08
mov ecx, dword [0x101eb4c4]
mov esi, ecx
call dword [0x101234bc]
xor ecx, ecx
cmp eax, ecx
jne 0x100bbba9
push 4
push 0x20
mov ecx, esi
call dword [0x101234b8]
xor ecx, ecx
cmp eax, ecx
je 0x100bbbbf
mov dword [eax + 8], ecx
mov dword [eax + 0xc], ecx
mov dword [eax + 0x10], ecx
mov dword [eax + 0x14], ecx
mov dword [eax + 0x18], ecx
mov dword [eax + 0x1c], ecx
mov esi, eax
jmp 0x100bbbc1
xor esi, esi
push 0x192
push str......._srci3Frameworki3UIUniscribei3UIText2.cpp
push 0x10
lea edx, [edi + edi + 2]
push 0
push edx
mov dword [esp + 0x30], esi
call dword [0x101237d4]
push edi
push ebx
push eax
mov dword [esi + 4], eax
call dword [0x10123420]
mov eax, dword [ebp + 0x20]
add esp, 0x20
lea ecx, [esi + 0x14]
push ecx
lea edx, [esi + 8]
push edx
push edi
push ebx
mov dword [esi], eax
mov ecx, dword [0x101eb500]
push ebp
call sym.i3FrameworkDx.dll_public:_void___thiscall_i3UIUniscribe::CreateUIText_class_i3UIText___unsigned_short_int___int__class_i3::vector_struct_SCRIPT_RUN___class_i3::pool_allocator_struct_SCRIPT_RUN______class_i3::vector_class_i3UIGlyph___class_i3::pool_allocator_class_i3UIGlyph_____
mov eax, dword [esp + 0x28]
mov ecx, dword [esp + 0x24]
mov edx, dword [esp + 0x2c]
mov edi, eax
sub edx, ecx
sub edi, ecx
sar edx, 2
sar edi, 2
cmp edi, edx
jae 0x100bbc2f
mov dword [eax], esi
add eax, 4
mov dword [esp + 0x28], eax
jmp 0x100bbc3e
lea ecx, [esp + 0x1c]
push ecx
push eax
lea ecx, [esp + 0x2c]
call fcn.100baeb0
mov edx, dword [esp + 0x14]
cmp word [edx], 0
je 0x100bbc66
mov eax, dword [esp + 0x18]
mov edi, dword [esp + 0x18]
mov ebx, dword [esp + 0x40]
inc eax
xor edx, edx
inc edi
add dword [esp + 0x14], 2
mov dword [esp + 0x18], edi
jmp 0x100bbaf0
mov ecx, ebp
call sym.i3FrameworkDx.dll_protected:_void___thiscall_i3UIText::_ClearLineInfoList_void_
mov eax, dword [ebp + 0x90]
cmp eax, dword [ebp + 0x94]
lea esi, [ebp + 0x90]
je 0x100bbc84
mov dword [esi + 4], eax
mov eax, dword [ebp + 0x9c]
lea ebx, [ebp + 0x9c]
mov dword [esp + 0x20], ebx
cmp eax, dword [ebx + 4]
je 0x100bbc9c
mov dword [ebx + 4], eax
lea edx, [ebp + 0xa8]
lea eax, [esp + 0x24]
mov dword [esp + 0x1c], edx
cmp edx, eax
je 0x100bbce8
mov eax, dword [edx]
mov ecx, dword [esp + 0x24]
mov dword [edx], ecx
mov dword [esp + 0x24], eax
lea eax, [edx + 4]
lea ecx, [esp + 0x28]
cmp eax, ecx
je 0x100bbcd1
mov ecx, dword [eax]
mov edi, dword [esp + 0x28]
mov dword [eax], edi
mov dword [esp + 0x28], ecx
lea eax, [edx + 8]
lea ecx, [esp + 0x2c]
cmp eax, ecx
je 0x100bbce8
mov ecx, dword [eax]
mov edi, dword [esp + 0x2c]
mov dword [eax], edi
mov dword [esp + 0x2c], ecx
mov ecx, dword [edx + 4]
sub ecx, dword [edx]
xor eax, eax
sar ecx, 2
mov dword [esp + 0x40], eax
test ecx, ecx
jbe 0x100bbdf3
mov ecx, dword [edx]
mov edi, dword [ecx + eax*4]
mov eax, dword [edi + 8]
mov ebp, dword [edi + 0xc]
sub ebp, eax
xor ecx, ecx
sar ebp, 2
mov dword [esp + 0x18], ecx
test ebp, ebp
jbe 0x100bbd73
mov eax, dword [eax + ecx*4]
mov edx, dword [esp + 0x40]
mov dword [eax + 0x3c], edx
mov edx, dword [esi + 4]
mov ecx, dword [esi]
mov ebp, dword [esi + 8]
mov ebx, edx
sub ebx, ecx
sub ebp, ecx
sar ebx, 2
sar ebp, 2
mov dword [esp + 0x14], eax
cmp ebx, ebp
jae 0x100bbd46
mov dword [edx], eax
add dword [esi + 4], 4
jmp 0x100bbd53
lea eax, [esp + 0x14]
push eax
push edx
mov ecx, esi
call fcn.100bab20
mov eax, dword [edi + 8]
mov edx, dword [edi + 0xc]
mov ecx, dword [esp + 0x18]
sub edx, eax
inc ecx
sar edx, 2
mov dword [esp + 0x18], ecx
cmp ecx, edx
jb 0x100bbd18
mov ebx, dword [esp + 0x20]
mov edx, dword [esp + 0x1c]
mov eax, dword [edi + 0x14]
mov ebp, dword [edi + 0x18]
sub ebp, eax
xor ecx, ecx
sar ebp, 2
mov dword [esp + 0x14], ecx
test ebp, ebp
jbe 0x100bbdda
mov ebp, dword [ebx + 8]
lea eax, [eax + ecx*4]
mov ecx, dword [ebx]
mov dword [esp + 0x18], eax
mov eax, dword [ebx + 4]
mov edx, eax
sub edx, ecx
sub ebp, ecx
mov ecx, dword [esp + 0x18]
sar edx, 2
sar ebp, 2
cmp edx, ebp
jae 0x100bbdb5
mov edx, dword [ecx]
mov dword [eax], edx
add dword [ebx + 4], 4
jmp 0x100bbdbe
push ecx
push eax
mov ecx, ebx
call fcn.100bac50
mov eax, dword [edi + 0x14]
mov edx, dword [edi + 0x18]
mov ecx, dword [esp + 0x14]
sub edx, eax
inc ecx
sar edx, 2
mov dword [esp + 0x14], ecx
cmp ecx, edx
jb 0x100bbd88
mov edx, dword [esp + 0x1c]
mov ecx, dword [edx + 4]
sub ecx, dword [edx]
mov eax, dword [esp + 0x40]
inc eax
sar ecx, 2
mov dword [esp + 0x40], eax
cmp eax, ecx
jb 0x100bbcfe
mov edi, dword [esp + 0x24]
mov dword [esp + 0x38], 0xffffffff
test edi, edi
je 0x100bbe35
mov edx, dword [0x101237bc]
mov eax, dword [edx]
mov esi, dword [0x101e7834]
push eax
call dword [sym.imp.KERNEL32.dll_TlsGetValue]
mov ecx, dword [esi + 4]
mov edx, dword [eax + 4]
push edi
push ecx
push eax
mov eax, dword [edx + ecx*4]
lea edx, [edx + ecx*4]
push esi
call eax
add esp, 0xc
mov ecx, eax
call dword [0x1012379c]
mov ecx, dword [esp + 0x30]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x28
ret 4