Function at 0x5feb70
Capabilities:
Get thread local storage value

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff0
sub esp, 0xa8
push esi
push edi
mov edi, ecx
cmp dword [edi + 0x3c], 0
jne 0x5ff178
cmp byte [edi + 0x3b], 0
je 0x5feb96
mov byte [edi + 0x39], 2
jmp 0x5feb9a
mov byte [edi + 0x39], 0
mov esi, dword [edi + 0x2c]
test esi, esi
je 0x5ff178
mov esi, dword [esi + 8]
mov dword [esp + 0x14], esi
test esi, esi
je 0x5ff178
mov eax, dword [ebp + 8]
mov eax, dword [eax]
mov ecx, dword [eax + 0x1c]
test ecx, ecx
jne 0x5febc4
xor eax, eax
jmp 0x5febc9
call fcn.005cca00
movsx edx, word [edi + 0x34]
mov ecx, dword [eax + 0x20]
mov ecx, dword [ecx + edx*4]
test ecx, ecx
js 0x5ff178
mov eax, dword [eax + 8]
mov eax, dword [eax + ecx*4]
mov dword [esp + 0x18], eax
test eax, eax
je 0x5ff178
movsx ecx, byte [edi + 0x37]
sub ecx, 0
je 0x5fec4c
sub ecx, 1
je 0x5fec29
sub ecx, 1
jne 0x5fec66
mov eax, dword [edi + 0x2c]
lea ecx, [esp + 0x50]
add eax, 0x30
push eax
lea eax, [esi + 0xf0]
push eax
call fcn.0046e9f0
mov eax, dword [esp + 0x18]
movaps xmm0, xmmword [eax + 0x140]
addps xmm0, xmmword [esp + 0x50]
jmp 0x5fec5a
mov eax, dword [edi + 0x2c]
lea ecx, [esp + 0x30]
movaps xmm0, xmmword [eax + 0x10]
lea eax, [esp + 0x20]
push eax
lea eax, [esi + 0xf0]
movaps xmmword [esp + 0x24], xmm0
push eax
call fcn.0046e9f0
jmp 0x5fec66
movaps xmm0, xmmword [eax + 0x140]
addps xmm0, xmmword [esi + 0x140]
mulps xmm0, xmmword [0x786aa0]
movaps xmmword [esp + 0x30], xmm0
mov cl, byte [edi + 0x39]
xor esi, esi
mov eax, dword [sym.imp.KERNEL32.dll_TlsGetValue]
mov dword [esp + 0x1c], esi
test cl, cl
jne 0x5fecf1
push dword [0x884adc]
call eax
push 0x60
mov ecx, dword [eax + 0x2c]
mov eax, dword [ecx]
mov eax, dword [eax + 4]
call eax
mov ecx, 0x60
mov word [eax + 4], cx
mov ecx, eax
call fcn.00513990
mov esi, eax
lea eax, [esp + 0x30]
push eax
mov eax, dword [esp + 0x18]
add eax, 0xf0
mov dword [esp + 0x20], esi
cmp byte [edi + 0x38], 0
push eax
jne 0x5feccd
mov eax, dword [esp + 0x20]
mov ecx, esi
add eax, 0xf0
push eax
call fcn.00513a20
jmp 0x5ff093
lea ecx, [esp + 0x28]
call fcn.0046ea30
lea eax, [esp + 0x20]
mov ecx, esi
push eax
mov eax, dword [esp + 0x1c]
add eax, 0x170
push eax
call fcn.00513a00
jmp 0x5ff093
cmp cl, 2
jne 0x5ff093
push dword [0x884adc]
call eax
push 0x100
mov ecx, dword [eax + 0x2c]
mov eax, dword [ecx]
mov eax, dword [eax + 4]
call eax
mov ecx, 0x100
mov word [eax + 4], cx
mov ecx, eax
call fcn.00514e00
cmp byte [edi + 0x38], 0
mov esi, eax
movaps xmm6, xmmword [0x78ce90]
mov dword [esp + 0x1c], esi
movaps xmmword [esp + 0x90], xmm6
jne 0x5feddb
mov eax, dword [esp + 0x14]
lea ecx, [esp + 0x20]
movaps xmm3, xmm6
movaps xmm1, xmm6
shufps xmm1, xmm6, 0xc9
movaps xmm2, xmm6
shufps xmm2, xmm6, 0xd2
movaps xmm4, xmmword [eax + 0x160]
add eax, 0xf0
mulps xmm3, xmm4
movaps xmm5, xmm4
push ecx
shufps xmm5, xmm4, 0xff
lea ecx, [esp + 0x34]
push ecx
push eax
movaps xmm0, xmm3
mov eax, dword [esp + 0x24]
shufps xmm0, xmm3, 0x55
add eax, 0xf0
addss xmm0, xmm3
mov ecx, esi
shufps xmm3, xmm3, 0xaa
push eax
addss xmm3, xmm0
movaps xmm0, xmm4
shufps xmm0, xmm4, 0xd2
mulps xmm1, xmm0
movaps xmm0, xmm4
shufps xmm0, xmm4, 0xc9
mulps xmm2, xmm0
shufps xmm3, xmm3, 0
mulps xmm3, xmm4
subps xmm2, xmm1
mulps xmm2, xmm5
mulps xmm5, xmm5
addps xmm5, xmmword [0x7195c0]
mulps xmm5, xmm6
addps xmm5, xmm3
addps xmm2, xmm5
addps xmm2, xmm2
movaps xmmword [esp + 0x30], xmm2
call fcn.00515130
jmp 0x5ff07f
lea eax, [esp + 0x30]
push eax
mov eax, dword [esp + 0x18]
lea ecx, [esp + 0xa4]
add eax, 0xf0
push eax
call fcn.0046ea30
mov eax, dword [esp + 0x14]
movaps xmm6, xmmword [0x78ce90]
movaps xmm1, xmm6
movaps xmm5, xmm6
shufps xmm1, xmm6, 0xc9
movaps xmm3, xmmword [eax + 0x160]
movaps xmm2, xmm3
shufps xmm5, xmm6, 0xd2
mulps xmm2, xmm6
movaps xmm4, xmm3
shufps xmm4, xmm3, 0xff
movaps xmm0, xmm2
shufps xmm0, xmm2, 0x55
addss xmm0, xmm2
shufps xmm2, xmm2, 0xaa
addss xmm2, xmm0
movaps xmm0, xmm3
shufps xmm0, xmm3, 0xd2
mulps xmm1, xmm0
movaps xmm0, xmm3
shufps xmm0, xmm3, 0xc9
mulps xmm5, xmm0
movaps xmm0, xmmword [0x719330]
shufps xmm2, xmm2, 0
mulps xmm2, xmm3
subps xmm5, xmm1
mulps xmm5, xmm4
mulps xmm4, xmm4
addps xmm4, xmmword [0x7195c0]
mulps xmm4, xmm6
addps xmm4, xmm2
addps xmm5, xmm4
movaps xmm4, xmm0
shufps xmm4, xmm0, 0xd2
shufps xmm0, xmm0, 0xc9
addps xmm5, xmm5
movaps xmm2, xmm5
movaps xmmword [esp + 0x20], xmm5
shufps xmm2, xmm5, 0xd2
movaps xmm1, xmm5
mulps xmm0, xmm2
shufps xmm1, xmm5, 0xc9
mulps xmm4, xmm1
movaps xmmword [esp + 0x40], xmm2
movaps xmmword [esp + 0x60], xmm1
subps xmm4, xmm0
movaps xmm0, xmmword [0x719490]
movaps xmm3, xmm0
shufps xmm3, xmm0, 0xd2
shufps xmm0, xmm0, 0xc9
mulps xmm0, xmm2
mulps xmm3, xmm1
movaps xmm2, xmm4
mulps xmm2, xmm4
subps xmm3, xmm0
movaps xmm0, xmm2
shufps xmm0, xmm2, 0x55
addss xmm0, xmm2
shufps xmm2, xmm2, 0xaa
movaps xmm1, xmm3
mulps xmm1, xmm3
addss xmm2, xmm0
movaps xmm0, xmm1
shufps xmm0, xmm1, 0x55
addss xmm0, xmm1
shufps xmm1, xmm1, 0xaa
shufps xmm2, xmm2, 0
addss xmm1, xmm0
shufps xmm1, xmm1, 0
cmpltps xmm2, xmm1
movaps xmm7, xmm2
andnps xmm2, xmm4
andps xmm7, xmm3
orps xmm7, xmm2
movaps xmm3, xmmword [eax + 0x160]
movaps xmm6, xmm7
movaps xmm2, xmm3
mov eax, dword [esp + 0x18]
mulps xmm2, xmm7
movaps xmm1, xmm3
shufps xmm1, xmm3, 0xd2
movaps xmm5, xmm7
shufps xmm6, xmm7, 0xd2
movaps xmm4, xmm3
shufps xmm4, xmm3, 0xff
movaps xmm0, xmm2
shufps xmm5, xmm7, 0xc9
shufps xmm0, xmm2, 0x55
addss xmm0, xmm2
mulps xmm1, xmm5
shufps xmm2, xmm2, 0xaa
addss xmm2, xmm0
movaps xmm0, xmm3
shufps xmm0, xmm3, 0xc9
mulps xmm0, xmm6
shufps xmm2, xmm2, 0
mulps xmm2, xmm3
subps xmm1, xmm0
movaps xmm3, xmmword [eax + 0x160]
mulps xmm1, xmm4
mulps xmm4, xmm4
addps xmm4, xmmword [0x7195c0]
mulps xmm4, xmm7
addps xmm4, xmm2
movaps xmm2, xmm3
mulps xmm2, xmm7
addps xmm1, xmm4
movaps xmm4, xmm3
movaps xmm0, xmm2
shufps xmm4, xmm3, 0xff
shufps xmm0, xmm2, 0x55
addss xmm0, xmm2
shufps xmm2, xmm2, 0xaa
addps xmm1, xmm1
addss xmm2, xmm0
movaps xmm0, xmm3
shufps xmm0, xmm3, 0xc9
movaps xmmword [esp + 0x70], xmm1
movaps xmm1, xmm3
shufps xmm1, xmm3, 0xd2
mulps xmm1, xmm5
mulps xmm0, xmm6
shufps xmm2, xmm2, 0
mulps xmm2, xmm3
movaps xmm3, xmmword [eax + 0x160]
subps xmm1, xmm0
mulps xmm1, xmm4
mulps xmm4, xmm4
addps xmm4, xmmword [0x7195c0]
mulps xmm4, xmm7
addps xmm4, xmm2
movaps xmm2, xmm3
mulps xmm2, xmmword [esp + 0x20]
addps xmm1, xmm4
movaps xmm4, xmm3
movaps xmm0, xmm2
shufps xmm4, xmm3, 0xff
shufps xmm0, xmm2, 0x55
addss xmm0, xmm2
shufps xmm2, xmm2, 0xaa
addps xmm1, xmm1
addss xmm2, xmm0
movaps xmm0, xmm3
shufps xmm0, xmm3, 0xc9
mulps xmm0, xmmword [esp + 0x40]
movaps xmmword [esp + 0x80], xmm1
movaps xmm1, xmm3
shufps xmm1, xmm3, 0xd2
mulps xmm1, xmmword [esp + 0x60]
shufps xmm2, xmm2, 0
subps xmm1, xmm0
mulps xmm1, xmm4
mulps xmm4, xmm4
addps xmm4, xmmword [0x7195c0]
mulps xmm4, xmmword [esp + 0x20]
mulps xmm2, xmm3
lea ecx, [esp + 0x70]
push ecx
lea ecx, [esp + 0x84]
add eax, 0x170
push ecx
lea ecx, [esp + 0x98]
addps xmm4, xmm2
push ecx
lea ecx, [esp + 0x4c]
push ecx
lea ecx, [esp + 0xb0]
addps xmm1, xmm4
push ecx
push eax
mov ecx, esi
addps xmm1, xmm1
movaps xmmword [esp + 0x58], xmm1
call fcn.00514f10
mov dword [esi + 0xd8], 0x3f490fdb
mov dword [esi + 0xd4], 0xbf490fdb
mov ecx, dword [ebp + 8]
call fcn.005c60b0
mov ecx, eax
call fcn.0050d7e0
cmp byte [edi + 0x36], 0
push dword [0x884adc]
je 0x5ff120
call dword [sym.imp.KERNEL32.dll_TlsGetValue]
push 0x28
mov ecx, dword [eax + 0x2c]
mov eax, dword [ecx]
mov eax, dword [eax + 4]
call eax
mov ecx, 0x28
push esi
mov word [eax + 4], cx
mov ecx, eax
call fcn.0051a010
mov ecx, dword [edi + 0x30]
mov esi, eax
mov dword [esi + 0x20], ecx
mov byte [esi + 0x24], 1
push dword [0x884adc]
call dword [sym.imp.KERNEL32.dll_TlsGetValue]
push 0x38
mov ecx, dword [eax + 0x2c]
mov eax, dword [ecx]
mov eax, dword [eax + 4]
call eax
push 1
push esi
push dword [esp + 0x1c]
mov ecx, 0x38
push dword [esp + 0x24]
mov word [eax + 4], cx
mov ecx, eax
call fcn.005061e0
mov ecx, esi
mov dword [edi + 0x3c], eax
call fcn.0045c160
mov esi, dword [esp + 0x1c]
jmp 0x5ff150
call dword [sym.imp.KERNEL32.dll_TlsGetValue]
push 0x38
mov ecx, dword [eax + 0x2c]
mov eax, dword [ecx]
mov eax, dword [eax + 4]
call eax
push 1
push esi
push dword [esp + 0x1c]
mov ecx, 0x38
push dword [esp + 0x24]
mov word [eax + 4], cx
mov ecx, eax
call fcn.005061e0
mov dword [edi + 0x3c], eax
mov ecx, esi
call fcn.0045c160
push dword [edi + 0x3c]
mov ecx, dword [ebp + 8]
call fcn.005c60b0
mov ecx, eax
call fcn.0050afc0
mov ecx, dword [ebp + 8]
call fcn.005c60b0
mov ecx, eax
call fcn.0050d800
pop edi
pop esi
mov esp, ebp
pop ebp
ret 4