Function at 0x5e01d0
Capabilities:
Get thread local storage value

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff0
mov ecx, dword [ebp + 0x18]
sub esp, 0x88
mov edx, dword [ecx]
push esi
push edi
cmp dword [edx + 4], 2
jle 0x5e0322
movsx esi, word [edx + 0x32]
mov dword [esp + 0x14], esi
test esi, esi
jle 0x5e0322
push dword [ebp + 0x10]
push ecx
call fcn.005d4210
add esp, 8
push dword [0x884adc]
call dword [sym.imp.KERNEL32.dll_TlsGetValue]
mov ecx, eax
lea eax, [esi + esi*2]
shl eax, 4
mov dword [esp + 0x10], eax
add eax, 0x7f
and eax, 0xffffff80
mov edi, dword [ecx + 0xc]
mov dword [esp + 0x1c], eax
mov dword [esp + 0x18], edi
lea edx, [edi + eax]
cmp eax, dword [ecx + 8]
jg 0x5e0244
cmp edx, dword [ecx + 0x10]
ja 0x5e0244
mov dword [ecx + 0xc], edx
jmp 0x5e0250
push eax
call fcn.0046a3c0
mov edi, eax
mov dword [esp + 0x18], eax
mov ecx, dword [ebp + 0x18]
push dword [esp + 0x10]
mov edx, dword [ecx]
movsx ecx, word [edx + 0x34]
add ecx, edx
push ecx
push edi
call fcn.0045d810
xor eax, eax
add esp, 0xc
mov dword [esp + 0x10], eax
test esi, esi
jle 0x5e02ec
mov esi, edi
mov ecx, dword [ebp + 0xc]
movzx edi, ax
mov eax, dword [ebp + 8]
cmp byte [eax + 0x2c], 0
setne al
movzx eax, al
push eax
movsx eax, di
push eax
push esi
call fcn.006fdde0
mov ecx, dword [ebp + 0xc]
push edi
call fcn.006fe340
movzx eax, ax
test ax, ax
js 0x5e02d6
movsx edx, ax
cmp edx, dword [esp + 0x14]
jge 0x5e02d6
mov eax, dword [ebp + 0x18]
lea edx, [edx + edx*2]
movaps xmm0, xmmword [esi]
add edx, edx
mov eax, dword [eax]
movsx ecx, word [eax + 0x34]
add ecx, eax
movaps xmmword [ecx + edx*8], xmm0
movaps xmm0, xmmword [esi + 0x10]
movaps xmmword [ecx + edx*8 + 0x10], xmm0
movaps xmm0, xmmword [esi + 0x20]
movaps xmmword [ecx + edx*8 + 0x20], xmm0
mov eax, dword [esp + 0x10]
add esi, 0x30
inc eax
mov dword [esp + 0x10], eax
cmp eax, dword [esp + 0x14]
jl 0x5e0275
mov edi, dword [esp + 0x18]
push dword [0x884adc]
call dword [sym.imp.KERNEL32.dll_TlsGetValue]
mov ecx, dword [esp + 0x1c]
lea edx, [ecx + 0xf]
and edx, 0xfffffff0
cmp ecx, dword [eax + 8]
jg 0x5e0319
lea ecx, [edx + edi]
cmp ecx, dword [eax + 0xc]
jne 0x5e0319
cmp dword [eax + 0x14], edi
je 0x5e0319
mov dword [eax + 0xc], edi
jmp 0x5e0322
push edx
push edi
mov ecx, eax
call fcn.0046a590
mov eax, dword [ebp + 0x18]
mov eax, dword [eax]
movsx esi, word [eax + 0x14]
add esi, eax
mov eax, dword [ebp + 0x14]
movaps xmm4, xmmword [eax + 0x10]
lea edi, [eax + 0x10]
movaps xmm3, xmm4
movaps xmm5, xmm4
shufps xmm5, xmm4, 0xff
movaps xmm2, xmmword [eax]
mulps xmm3, xmm2
movaps xmm6, xmm2
shufps xmm6, xmm2, 0xc9
movaps xmm1, xmm2
shufps xmm1, xmm2, 0xd2
movaps xmm0, xmm3
shufps xmm0, xmm3, 0x55
addss xmm0, xmm3
shufps xmm3, xmm3, 0xaa
addss xmm3, xmm0
movaps xmm0, xmm4
shufps xmm0, xmm4, 0xd2
mulps xmm6, xmm0
movaps xmm0, xmm4
shufps xmm0, xmm4, 0xc9
mulps xmm1, xmm0
shufps xmm3, xmm3, 0
mulps xmm3, xmm4
subps xmm6, xmm1
movaps xmm1, xmmword [eax + 0x20]
movaps xmm0, xmm1
unpckhps xmm0, xmmword [0x719330]
shufps xmm1, xmm0, 0xc4
mulps xmm6, xmm5
mulps xmm5, xmm5
addps xmm5, xmmword [0x7195c0]
mulps xmm5, xmm2
rcpps xmm2, xmm1
addps xmm5, xmm3
movaps xmm3, xmmword [esi]
movaps xmm0, xmm2
mulps xmm0, xmm1
addps xmm6, xmm5
mulps xmm0, xmm2
addps xmm2, xmm2
addps xmm6, xmm6
subps xmm2, xmm0
xorps xmm6, xmmword [0x719130]
movaps xmmword [esp + 0x20], xmm6
andps xmm2, xmmword [0x719150]
movaps xmmword [esp + 0x60], xmm6
movaps xmm6, xmmword [edi]
xorps xmm6, xmmword [0x719d70]
movaps xmm4, xmm6
movaps xmmword [esp + 0x80], xmm2
mulps xmm4, xmm3
movaps xmm2, xmm6
shufps xmm2, xmm6, 0xc9
movaps xmm1, xmm6
shufps xmm1, xmm6, 0xd2
movaps xmm5, xmm6
shufps xmm5, xmm6, 0xff
movaps xmm0, xmm4
movaps xmmword [esp + 0x70], xmm6
shufps xmm0, xmm4, 0x55
addss xmm0, xmm4
shufps xmm4, xmm4, 0xaa
addss xmm4, xmm0
movaps xmm0, xmm3
shufps xmm0, xmm3, 0xd2
mulps xmm2, xmm0
movaps xmm0, xmm3
shufps xmm0, xmm3, 0xc9
mulps xmm1, xmm0
shufps xmm4, xmm4, 0
subps xmm2, xmm1
mulps xmm2, xmm5
mulps xmm5, xmm5
addps xmm5, xmmword [0x7195c0]
mulps xmm5, xmm3
mulps xmm4, xmm6
lea eax, [esi + 0x10]
push eax
lea eax, [esp + 0x74]
push eax
lea ecx, [esp + 0x48]
addps xmm5, xmm4
addps xmm2, xmm5
addps xmm2, xmm2
addps xmm2, xmmword [esp + 0x28]
movaps xmmword [esp + 0x38], xmm2
call fcn.004782a0
movaps xmm0, xmmword [esi + 0x20]
lea eax, [esp + 0x30]
mulps xmm0, xmmword [esp + 0x80]
mov ecx, dword [ebp + 0xc]
push eax
movaps xmmword [esp + 0x54], xmm0
call fcn.006fddd0
movaps xmm5, xmmword [edi]
movaps xmm2, xmmword [esp + 0x30]
movaps xmm4, xmm5
mulps xmm4, xmm2
movaps xmm3, xmm5
mov ecx, dword [ebp + 0x18]
shufps xmm3, xmm5, 0xc9
movaps xmm1, xmm5
shufps xmm1, xmm5, 0xd2
movaps xmm6, xmm5
shufps xmm6, xmm5, 0xff
movaps xmm0, xmm4
mov eax, dword [ecx]
shufps xmm0, xmm4, 0x55
addss xmm0, xmm4
shufps xmm4, xmm4, 0xaa
movsx esi, word [eax + 0x14]
add esi, eax
mov eax, dword [ebp + 0x14]
addss xmm4, xmm0
movaps xmm0, xmm2
shufps xmm0, xmm2, 0xd2
mulps xmm3, xmm0
lea ecx, [esi + 0x10]
movaps xmm0, xmm2
shufps xmm0, xmm2, 0xc9
mulps xmm1, xmm0
shufps xmm4, xmm4, 0
mulps xmm4, xmm5
subps xmm3, xmm1
mulps xmm3, xmm6
mulps xmm6, xmm6
addps xmm6, xmmword [0x7195c0]
mulps xmm6, xmm2
addps xmm6, xmm4
addps xmm3, xmm6
addps xmm3, xmm3
addps xmm3, xmmword [eax]
lea eax, [esp + 0x40]
push eax
push edi
movaps xmmword [esi], xmm3
call fcn.004782a0
mov eax, dword [ebp + 0x14]
pop edi
movaps xmm0, xmmword [eax + 0x20]
mulps xmm0, xmmword [esp + 0x4c]
movaps xmmword [esi + 0x20], xmm0
pop esi
mov esp, ebp
pop ebp
ret