Function at 0x5df6d0
Capabilities:
Get thread local storage value

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff0
sub esp, 0xf8
push esi
push edi
mov edi, ecx
cmp dword [edi + 0xc], 0
jne 0x5df71d
cmp dword [edi + 0x10], 0
jne 0x5df71d
mov eax, dword [ebp + 8]
xorps xmm1, xmm1
movaps xmmword [eax], xmm1
movaps xmmword [eax + 0x10], xmm1
movaps xmmword [eax + 0x20], xmm1
mov dword [eax], 0x3f800000
mov dword [eax + 0x14], 0x3f800000
mov dword [eax + 0x28], 0x3f800000
movaps xmmword [eax + 0x30], xmm1
pop edi
pop esi
mov esp, ebp
pop ebp
ret 0x10
mov ecx, dword [edi + 8]
test ecx, ecx
jne 0x5df758
xorps xmm1, xmm1
movaps xmmword [esp + 0x50], xmm1
movaps xmmword [esp + 0x60], xmm1
movaps xmmword [esp + 0x70], xmm1
mov dword [esp + 0x50], 0x3f800000
mov dword [esp + 0x64], 0x3f800000
mov dword [esp + 0x78], 0x3f800000
movaps xmmword [esp + 0x80], xmm1
jmp 0x5df762
lea eax, [esp + 0x50]
push eax
call fcn.00461b40
mov eax, dword [edi + 0xc]
test eax, eax
je 0x5df784
lea ecx, [esp + 0x50]
add eax, 0xf0
push ecx
mov ecx, dword [ebp + 8]
push eax
call fcn.0046ef00
pop edi
pop esi
mov esp, ebp
pop ebp
ret 0x10
movzx ecx, word [edi + 0x14]
cmp cx, 0xffff
jne 0x5df7b3
movaps xmm0, xmmword [0x7195b0]
xorps xmm6, xmm6
movaps xmmword [esp + 0x30], xmm0
movaps xmm0, xmmword [0x719da0]
movaps xmmword [esp + 0x20], xmm6
movaps xmmword [esp + 0x40], xmm0
jmp 0x5df8c2
mov eax, dword [edi + 0x10]
push dword [0x884adc]
movsx esi, cx
inc esi
mov eax, dword [eax + 0x2c]
mov eax, dword [eax + 0x14]
mov dword [esp + 0x18], eax
call dword [sym.imp.KERNEL32.dll_TlsGetValue]
mov ecx, eax
lea eax, [esi + esi*2]
shl eax, 4
add eax, 0x7f
and eax, 0xffffff80
mov esi, dword [ecx + 0xc]
mov dword [esp + 0x1c], eax
mov dword [esp + 0x10], esi
lea edx, [esi + eax]
cmp eax, dword [ecx + 8]
jg 0x5df7fb
cmp edx, dword [ecx + 0x10]
ja 0x5df7fb
mov dword [ecx + 0xc], edx
jmp 0x5df807
push eax
call fcn.0046a3c0
mov esi, eax
mov dword [esp + 0x10], eax
mov edx, dword [ebp + 0x10]
test edx, edx
jne 0x5df820
mov ecx, dword [edi + 0x10]
call fcn.005961e0
mov ecx, dword [edi + 0x10]
mov edx, eax
mov ecx, dword [ecx + 0x50]
jmp 0x5df823
mov ecx, dword [ebp + 0x14]
movsx eax, word [edi + 0x14]
cmp ecx, eax
jg 0x5df86d
lea esi, [ecx + ecx*2]
sub eax, ecx
shl esi, 4
inc eax
push esi
push edx
push dword [esp + 0x18]
mov dword [esp + 0x24], eax
call fcn.0045d810
mov eax, dword [esp + 0x24]
lea eax, [eax + eax*2]
shl eax, 4
push eax
mov eax, dword [esp + 0x24]
mov eax, dword [eax + 0x24]
add eax, esi
push eax
mov eax, dword [esp + 0x24]
add eax, esi
push eax
call fcn.0045d810
mov esi, dword [esp + 0x28]
add esp, 0x18
mov edx, esi
lea eax, [esp + 0x20]
push eax
mov eax, dword [esp + 0x18]
push edx
push dword [eax + 0xc]
movsx eax, word [edi + 0x14]
push eax
call fcn.0057e2c0
add esp, 0x10
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 0x5df8b4
lea ecx, [edx + esi]
cmp ecx, dword [eax + 0xc]
jne 0x5df8b4
cmp dword [eax + 0x14], esi
je 0x5df8b4
mov dword [eax + 0xc], esi
jmp 0x5df8bd
push edx
push esi
mov ecx, eax
call fcn.0046a590
movaps xmm6, xmmword [esp + 0x20]
mov esi, dword [ebp + 0xc]
test esi, esi
jne 0x5df8cf
mov eax, dword [edi + 0x10]
mov esi, dword [eax + 0x48]
movaps xmm4, xmmword [esi + 0x10]
lea eax, [esi + 0x10]
movaps xmm3, xmm4
lea ecx, [esp + 0x30]
mulps xmm3, xmm6
movaps xmm1, xmm6
push ecx
shufps xmm1, xmm6, 0xc9
movaps xmm2, xmm6
shufps xmm2, xmm6, 0xd2
lea ecx, [esp + 0xa4]
movaps xmm5, xmm4
movaps xmm0, xmm3
shufps xmm5, xmm4, 0xff
shufps xmm0, xmm3, 0x55
addss xmm0, xmm3
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
addps xmm2, xmmword [esi]
movaps xmmword [esp + 0x98], xmm2
call fcn.004782a0
movaps xmm0, xmmword [esi + 0x20]
lea eax, [esp + 0xa0]
mulps xmm0, xmmword [esp + 0x40]
lea ecx, [esp + 0xc0]
push eax
movaps xmmword [esp + 0xb4], xmm0
movaps xmm0, xmmword [esp + 0x94]
movaps xmmword [esp + 0xf4], xmm0
call fcn.00473730
mov ecx, dword [ebp + 8]
lea eax, [esp + 0x50]
push eax
lea eax, [esp + 0xc4]
push eax
call fcn.0046ef00
pop edi
pop esi
mov esp, ebp
pop ebp
ret 0x10