Function at 0x100cbf70
Capabilities:
Get thread local storage value

Disassembly:
mov edi, edi
push ebp
mov ebp, esp
sub esp, 0x150
mov ecx, dword [ebp + 8]
mov eax, dword [ecx + 0x10294]
push ebx
push esi
mov esi, dword [eax + 0x3c]
push edi
push 1
and esi, 0xfffff
push esi
lea edx, [ebp - 0x24]
push edx
lea edx, [ebp - 0xcc]
push edx
lea edx, [ebp - 0xc]
push edx
lea edx, [ebp - 0x14c]
push edx
push 0x10072208
xor ebx, ebx
push eax
mov dword [ebp - 0xc], ebx
mov dword [ebp - 0x24], ebx
mov dword [ebp - 0x20], 1
mov dword [ebp - 0x1c], 2
mov dword [ebp - 0x18], 3
mov dword [ebp - 0x14], esi
call fcn.10161210
cmp eax, ebx
jne 0x100cc26e
mov byte [ebp - 6], bl
mov byte [ebp - 5], bl
mov dword [ebp - 0x10], ebx
mov dword [ebp - 0xc], ebx
cmp esi, ebx
jbe 0x100cc104
jmp 0x100cbff4
xor ebx, ebx
mov edx, dword [ebp - 0xbc]
mov eax, dword [edx + 0x50]
mov eax, dword [eax + 8]
and eax, 0x100
xor ecx, ecx
or eax, ecx
je 0x100cc0df
mov edi, dword [ebp - 0xac]
mov eax, dword [edi + 0x50]
mov eax, dword [eax + 8]
and eax, 0x100
or eax, ecx
je 0x100cc0df
or eax, 0xffffffff
cmp dword [edx + 0x5c], eax
jne 0x100cc0df
cmp dword [edi + 0x5c], eax
jne 0x100cc0df
mov edi, dword [ebp + 8]
lea eax, [ebp - 0x2c]
push eax
mov ebx, edx
call fcn.101658d0
mov ebx, eax
test ebx, ebx
jl 0x100cc26c
mov ebx, dword [ebp - 0xac]
lea ecx, [ebp - 0x1c]
push ecx
call fcn.101658d0
mov ebx, eax
test ebx, ebx
jl 0x100cc26c
fld1
fld st(0)
fld qword [ebp - 0x2c]
fucom st(1)
fnstsw ax
fstp st(1)
fld qword [ebp - 0x1c]
test ah, 0x44
jp 0x100cc09a
fldz
fucomp st(1)
fnstsw ax
test ah, 0x44
jp 0x100cc09a
fstp st(0)
mov byte [ebp - 6], 1
fstp st(1)
fstp st(0)
jmp 0x100cc0b4
fucomp st(2)
fnstsw ax
fstp st(1)
test ah, 0x44
jp 0x100cc0dd
fldz
fucompp
fnstsw ax
test ah, 0x44
jp 0x100cc0df
mov byte [ebp - 5], 1
mov eax, dword [ebp - 0xc]
inc eax
mov dword [ebp - 0xc], eax
cmp eax, esi
jb 0x100cbff2
cmp byte [ebp - 6], 0
je 0x100cc0ed
cmp byte [ebp - 5], 0
jne 0x100cc0df
mov eax, esi
and eax, 0xfffff
or eax, 0x72b00000
jmp 0x100cc0ff
fstp st(0)
mov eax, 1
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 4
cmp byte [ebp - 5], 0
je 0x100cc102
mov eax, esi
and eax, 0xfffff
or eax, 0x72c00000
mov dword [ebp - 0x10], eax
xor ebx, ebx
mov eax, dword [0x101e316c]
cmp eax, ebx
jge 0x100cc111
xor eax, eax
jmp 0x100cc118
push eax
call dword [sym.imp.KERNEL32.dll_TlsGetValue]
cmp dword [eax + 0x18], ebx
je 0x100cc140
mov ecx, dword [eax + 0x18]
cmp ecx, ebx
jne 0x100cc12a
xor ecx, ecx
mov edi, ecx
jmp 0x100cc14e
mov edx, dword [ecx]
mov dword [eax + 0x18], edx
cmp edx, ebx
jne 0x100cc136
mov dword [eax + 0x1c], ebx
mov dword [ecx], 0xfefefefe
mov edi, ecx
jmp 0x100cc14e
mov ecx, dword [eax + 0x14]
push 0x10
push 0x44
call fcn.101d8457
mov edi, eax
cmp edi, ebx
je 0x100cc1b5
or eax, 0xffffffff
xor edx, edx
xor ecx, ecx
push ebx
mov dword [edi + 0x10], eax
mov word [edi + 0x40], dx
mov word [edi + 0x42], cx
mov dword [edi + 0x20], eax
mov eax, dword [ebp - 0x10]
lea ecx, [esi + esi]
push edi
mov edx, esi
mov dword [edi], ebx
mov dword [edi + 8], ebx
mov dword [edi + 0x3c], ebx
mov dword [edi + 4], ebx
mov dword [edi + 0xc], ebx
mov dword [edi + 0x14], ebx
mov dword [edi + 0x18], ebx
mov dword [edi + 0x1c], ebx
mov dword [edi + 0x24], ebx
mov dword [edi + 0x34], ebx
mov dword [edi + 0x38], ebx
call fcn.10172020
cmp eax, ebx
mov dword [ebp - 0xc], eax
jge 0x100cc1c3
mov esi, edi
call fcn.10171ee0
call fcn.101751f0
mov eax, dword [ebp - 0xc]
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 4
mov eax, 0x8007000e
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 4
mov edx, dword [ebp + 8]
mov eax, dword [edx + 0x10294]
mov ecx, dword [eax + 0x34]
mov ebx, dword [ebp + 8]
mov dword [edi + 0x34], ecx
mov edx, dword [eax + 0x38]
mov dword [edi + 0x38], edx
mov eax, dword [ebx + 0x10294]
mov ecx, dword [eax + 0xc]
mov edx, dword [edi + 0xc]
add esi, esi
add esi, esi
push esi
push ecx
push edx
call sub.msvcrt.dll_memcpy
mov ecx, dword [edi + 4]
add esp, 0xc
push esi
lea eax, [ebp - 0xcc]
push eax
push ecx
call sub.msvcrt.dll_memcpy
fldz
mov edx, dword [ebx + 0x8024]
fstp qword [esp + 4]
add esp, 4
push edx
lea eax, [ebp - 0xc]
push eax
push ebx
mov eax, 4
call fcn.10169cc0
mov ebx, eax
test ebx, ebx
jl 0x100cc26c
mov ecx, dword [ebp - 0x14]
test ecx, ecx
jbe 0x100cc24e
mov edx, dword [ebp - 0xc]
mov eax, esi
jmp 0x100cc240
mov esi, dword [edi + 4]
mov dword [eax + esi], edx
add eax, 4
sub ecx, 1
jne 0x100cc240
mov ecx, dword [ebp + 8]
mov edx, dword [ecx + 0x10294]
push edi
push edx
call fcn.10172c80
mov esi, edi
mov ebx, eax
call fcn.10171ee0
call fcn.101751f0
mov eax, ebx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 4