Function at 0x5d6e80
Capabilities:
Get thread local storage value
Resolve function by parsing pe exports

Disassembly:
sub esp, 0x30
mov eax, dword [ecx + 0xc]
mov dword [esp + 0x20], ecx
mov dword [esp + 0x24], eax
test eax, eax
jne 0x5d6e9a
xor al, al
add esp, 0x30
ret 0xc
mov edx, dword [esp + 0x38]
push esi
push edi
mov edi, dword [ecx + 0x14]
movsx ecx, byte [ecx + 0x20]
lea eax, [edx + 1]
mov esi, dword [edi + edx*4]
mov dword [esp + 0x30], esi
cmp eax, ecx
jge 0x5d6ebd
mov eax, dword [edi + edx*4 + 4]
mov dword [esp + 0x2c], eax
push dword [0x884adc]
mov dword [esp + 0xc], 0
mov dword [esp + 0x10], 0
mov dword [esp + 0x14], connect
mov dword [esp + 0x1c], 0x80
call dword [sym.imp.KERNEL32.dll_TlsGetValue]
cmp dword [eax + 8], 0x200
mov edi, dword [eax + 0xc]
lea ecx, [edi + 0x200]
jl 0x5d6f05
cmp ecx, dword [eax + 0x10]
ja 0x5d6f05
mov dword [eax + 0xc], ecx
jmp 0x5d6f13
push 0x200
mov ecx, eax
call fcn.0046a3c0
mov edi, eax
cmp esi, dword [esp + 0x2c]
mov edx, edi
mov esi, dword [esp + 0xc]
mov dword [esp + 8], edi
mov dword [esp + 0x10], 0x80000080
mov dword [esp + 0x40], edx
mov dword [esp + 0x14], edx
jge 0x5d76a9
movss xmm0, dword [0x719120]
movss xmm1, dword [0x7a3b34]
movss xmm5, dword [0x78d360]
mov edx, dword [esp + 0x30]
mov eax, dword [esp + 0x28]
mov ecx, dword [eax + 8]
mov eax, dword [ecx + edx*8]
mov ecx, dword [ecx + edx*8 + 4]
mov dword [esp + 0x1c], eax
cmp cl, 1
jne 0x5d7539
mov edx, ecx
xorps xmm3, xmm3
shr edx, 8
movsx eax, dl
movss dword [esp + 0x34], xmm3
mov dword [esp + 0x24], edx
cmp byte [eax + 0x7a5214], 5
jne 0x5d7060
movss xmm7, dword [edi + esi*4 - 4]
dec esi
mov dword [esp + 0xc], esi
movss xmm4, dword [edi + esi*4 - 4]
dec esi
mov dword [esp + 0xc], esi
movss xmm6, dword [edi + esi*4 - 4]
dec esi
mov dword [esp + 0xc], esi
movss xmm5, dword [edi + esi*4 - 4]
dec esi
mov dword [esp + 0xc], esi
movss xmm2, dword [edi + esi*4 - 4]
dec esi
mov dword [esp + 0xc], esi
cmp dl, 0x2a
jne case.0x5d7335.14
movaps xmm1, xmm2
movaps xmm3, xmm2
subss xmm1, xmm5
andps xmm1, xmm0
movaps xmm0, xmm7
subss xmm0, xmm4
subss xmm0, xmm1
comiss xmm0, xmm1
jb 0x5d7007
movaps xmm3, xmm5
subss xmm3, xmm2
mulss xmm3, xmm6
addss xmm3, xmm2
movss dword [esp + 0x34], xmm3
jmp case.0x5d7335.14
comiss xmm2, xmm5
jbe 0x5d7021
movss xmm0, dword [0x718824]
movaps xmm3, xmm5
subss xmm0, xmm6
movaps xmm5, xmm2
movaps xmm6, xmm0
movaps xmm0, xmm3
movaps xmm1, xmm7
subss xmm1, xmm5
subss xmm0, xmm4
addss xmm1, xmm0
mulss xmm1, xmm6
subss xmm3, xmm1
comiss xmm4, xmm3
movss dword [esp + 0x34], xmm3
jbe case.0x5d7335.14
subss xmm4, xmm3
movaps xmm1, xmm7
subss xmm1, xmm4
movss dword [esp + 0x34], xmm1
jmp case.0x5d7335.14
mov dl, byte [eax + 0x7a5214]
cmp dl, 3
jne 0x5d70f5
movss xmm2, dword [edi + esi*4 - 4]
dec esi
mov dword [esp + 0xc], esi
movss xmm1, dword [edi + esi*4 - 4]
dec esi
mov dword [esp + 0xc], esi
movss xmm0, dword [edi + esi*4 - 4]
dec esi
mov dword [esp + 0xc], esi
sub eax, 0x1f
je 0x5d70d1
sub eax, 0xa
je 0x5d70b7
sub eax, 2
jne case.0x5d7335.14
ucomiss xmm0, xmm3
lahf
test ah, 0x44
jnp 0x5d70ea
movss dword [esp + 0x34], xmm1
jmp case.0x5d7335.14
movaps xmm3, xmm1
subss xmm3, xmm0
mulss xmm3, xmm2
addss xmm3, xmm0
movss dword [esp + 0x34], xmm3
jmp case.0x5d7335.14
comiss xmm1, xmm0
jbe 0x5d70e1
movss dword [esp + 0x34], xmm1
jmp case.0x5d7335.14
comiss xmm0, xmm2
jbe 0x5d74ff
movss dword [esp + 0x34], xmm2
jmp case.0x5d7335.14
cmp dl, 2
jne 0x5d7301
movss xmm2, dword [edi + esi*4 - 4]
add eax, 0xfffffff2
dec esi
mov dword [esp + 0xc], esi
movss xmm0, dword [edi + esi*4 - 4]
dec esi
mov dword [esp + 0xc], esi
cmp eax, 0x19
ja case.0x5d7335.14
jmp dword [eax*4 + 0x5d774c]
movaps xmm1, xmm0
mulss xmm1, xmm2
movss dword [esp + 0x34], xmm1
jmp case.0x5d7335.14
movaps xmm1, xmm0
divss xmm1, xmm2
movss dword [esp + 0x34], xmm1
jmp case.0x5d7335.14
cvttss2si eax, xmm0
cvttss2si ecx, xmm2
cdq
idiv ecx
movd xmm0, edx
cvtdq2ps xmm0, xmm0
jmp 0x5d74ff
movaps xmm1, xmm0
addss xmm1, xmm2
movss dword [esp + 0x34], xmm1
jmp case.0x5d7335.14
movaps xmm1, xmm0
subss xmm1, xmm2
movss dword [esp + 0x34], xmm1
jmp case.0x5d7335.14
ucomiss xmm0, xmm3
lahf
test ah, 0x44
jp 0x5d71a6
ucomiss xmm2, xmm3
lahf
test ah, 0x44
jp 0x5d71a6
xor eax, eax
movd xmm0, eax
cvtdq2ps xmm0, xmm0
jmp 0x5d74ff
mov eax, 1
movd xmm0, eax
cvtdq2ps xmm0, xmm0
jmp 0x5d74ff
ucomiss xmm0, xmm3
lahf
test ah, 0x44
jnp 0x5d71da
ucomiss xmm2, xmm3
lahf
test ah, 0x44
jnp 0x5d71da
mov eax, 1
movd xmm0, eax
cvtdq2ps xmm0, xmm0
jmp 0x5d74ff
xor eax, eax
movd xmm0, eax
cvtdq2ps xmm0, xmm0
jmp 0x5d74ff
ucomiss xmm0, xmm2
lahf
test ah, 0x44
jp 0x5d71da
mov eax, 1
movd xmm0, eax
cvtdq2ps xmm0, xmm0
jmp 0x5d74ff
ucomiss xmm0, xmm2
lahf
test ah, 0x44
jnp 0x5d71da
mov eax, 1
movd xmm0, eax
cvtdq2ps xmm0, xmm0
jmp 0x5d74ff
xor eax, eax
comiss xmm2, xmm0
seta al
movd xmm0, eax
cvtdq2ps xmm0, xmm0
jmp 0x5d74ff
xor eax, eax
comiss xmm0, xmm2
seta al
movd xmm0, eax
cvtdq2ps xmm0, xmm0
jmp 0x5d74ff
xor eax, eax
comiss xmm2, xmm0
setae al
movd xmm0, eax
cvtdq2ps xmm0, xmm0
jmp 0x5d74ff
xor eax, eax
comiss xmm0, xmm2
setae al
movd xmm0, eax
cvtdq2ps xmm0, xmm0
jmp 0x5d74ff
movaps xmm1, xmm2
call fcn.0062d40d
jmp 0x5d74ff
comiss xmm0, xmm2
ja 0x5d74ff
movss dword [esp + 0x34], xmm2
jmp case.0x5d7335.14
comiss xmm2, xmm0
ja 0x5d74ff
movss dword [esp + 0x34], xmm2
jmp case.0x5d7335.14
mov eax, dword [esp + 0x3c]
sub esp, 8
mov eax, dword [eax]
movss dword [esp + 4], xmm2
movss dword [esp], xmm0
mov eax, dword [eax + 0x30]
mov ecx, dword [eax + 0x48]
call fcn.005d8340
jmp 0x5d74ed
sub esp, 8
movss dword [esp + 4], xmm2
movss dword [esp], xmm0
call fcn.0064d100
fmul dword [0x7a5288]
add esp, 8
jmp 0x5d74ed
sub esp, 8
movss dword [esp + 4], xmm2
movss dword [esp], xmm0
call fcn.0064d100
add esp, 8
jmp 0x5d74ed
movsx eax, ch
cmp byte [eax + 0x7a5214], 1
jne 0x5d74d7
movss xmm4, dword [edi + esi*4 - 4]
add eax, 0xfffffffe
dec esi
movss dword [esp + 0x40], xmm4
mov dword [esp + 0xc], esi
cmp eax, 0x26
ja case.0x5d7335.14
movzx eax, byte [eax + 0x5d7804]
jmp dword [eax*4 + 0x5d77b4]
ucomiss xmm4, xmm3
lahf
test ah, 0x44
jp 0x5d71da
mov eax, 1
movd xmm0, eax
cvtdq2ps xmm0, xmm0
jmp 0x5d74ff
movaps xmm1, xmm4
xorps xmm1, xmmword [0x719730]
movss dword [esp + 0x34], xmm1
jmp case.0x5d7335.14
movss dword [esp + 0x34], xmm4
jmp case.0x5d7335.14
mulss xmm4, xmm1
movaps xmm0, xmm4
call fcn.0062b7be
jmp 0x5d74ff
mulss xmm4, xmm1
movaps xmm0, xmm4
call fcn.0062b671
jmp 0x5d74ff
push ecx
movss dword [esp], xmm4
call fcn.005d82f0
fmul dword [0x7a5288]
add esp, 4
jmp 0x5d74f5
push ecx
movss dword [esp], xmm4
call fcn.005d82f0
add esp, 4
jmp 0x5d74f5
push ecx
movss dword [esp], xmm4
call fcn.005d82a0
fmul dword [0x7a5288]
add esp, 4
jmp 0x5d74f5
push ecx
movss dword [esp], xmm4
call fcn.005d82a0
add esp, 4
jmp 0x5d74f5
xorps xmm0, xmm0
sqrtss xmm0, xmm4
jmp 0x5d74ff
movaps xmm1, xmm4
andps xmm1, xmm0
movss dword [esp + 0x34], xmm1
jmp case.0x5d7335.14
fld dword [esp + 0x40]
sub esp, 8
fstp qword [esp]
call fcn.0062d2f0
fstp dword [esp + 0x48]
add esp, 8
jmp 0x5d74f9
movss xmm2, dword [0x78d364]
movaps xmm0, xmm4
andps xmm2, xmm4
movaps xmm1, xmm5
xorps xmm0, xmm2
movaps xmm3, xmm4
cmpltss xmm0, xmm5
andps xmm1, xmm0
orps xmm1, xmm2
addss xmm3, xmm1
subss xmm3, xmm1
movss xmm1, dword [0x718824]
movaps xmm0, xmm3
subss xmm0, xmm4
cmpnless xmm0, xmm2
andps xmm0, xmm1
subss xmm3, xmm0
movss dword [esp + 0x34], xmm3
jmp case.0x5d7335.14
xorps xmm0, xmm0
movss xmm1, dword [0x718824]
sqrtss xmm0, xmm4
divss xmm1, xmm0
movss dword [esp + 0x34], xmm1
jmp case.0x5d7335.14
movaps xmm0, xmm4
mulss xmm0, xmm1
jmp 0x5d74ff
movaps xmm0, xmm4
mulss xmm0, dword [0x7a5288]
jmp 0x5d74ff
ucomiss xmm4, xmm3
lahf
test ah, 0x44
jp 0x5d74be
movss dword [esp + 0x34], xmm3
jmp case.0x5d7335.14
comiss xmm3, xmm4
jbe 0x5d74cd
movss xmm0, dword [0x717e40]
jmp 0x5d74ff
movss xmm0, dword [0x718824]
jmp 0x5d74ff
sub eax, 1
jne case.0x5d7335.14
mov eax, dword [esp + 0x3c]
mov eax, dword [eax]
mov eax, dword [eax + 0x30]
mov ecx, dword [eax + 0x48]
call fcn.005d83a0
mov edi, dword [esp + 8]
mov esi, dword [esp + 0xc]
fstp dword [esp + 0x40]
movss xmm0, dword [esp + 0x40]
movss dword [esp + 0x34], xmm0
mov eax, dword [esp + 0x10]
and eax, 0x3fffffff
cmp esi, eax
jne 0x5d752e
push 4
lea eax, [esp + 0xc]
push eax
push 0x7d8954
call fcn.00467c00
mov esi, dword [esp + 0x18]
add esp, 0xc
mov edi, dword [esp + 8]
movss xmm0, dword [esp + 0x34]
jmp 0x5d7664
cmp cl, 2
jne 0x5d7576
mov eax, dword [esp + 0x10]
and eax, 0x3fffffff
cmp esi, eax
jne 0x5d756b
push 4
lea eax, [esp + 0xc]
push eax
push 0x7d8954
call fcn.00467c00
mov esi, dword [esp + 0x18]
add esp, 0xc
mov edi, dword [esp + 8]
mov edx, dword [esp + 0x30]
movss xmm0, dword [esp + 0x1c]
jmp 0x5d7668
cmp cl, 3
jne 0x5d75bf
movss xmm1, dword [0x717e40]
movss xmm0, dword [esp + 0x1c]
ucomiss xmm0, xmm1
movss dword [esp + 0x40], xmm1
lahf
test ah, 0x44
jnp 0x5d7635
mov edx, dword [esp + 0x3c]
mov eax, dword [edx]
mov ecx, dword [eax + 0x30]
mov eax, dword [edx + 4]
mov edx, dword [eax + 0x70]
mov esi, dword [eax + 0x50]
cvttss2si eax, xmm0
push eax
push dword [ecx + 0x70]
lea eax, [esi + 0x14]
push edx
push dword [ecx + 0x78]
jmp 0x5d7614
cmp cl, 7
jne 0x5d7682
movss xmm1, dword [0x717e40]
movss xmm0, dword [esp + 0x1c]
ucomiss xmm0, xmm1
movss dword [esp + 0x40], xmm1
lahf
test ah, 0x44
jnp 0x5d7635
mov edx, dword [esp + 0x3c]
mov eax, dword [edx]
mov edx, dword [edx + 4]
mov ecx, dword [eax + 0x2c]
mov eax, dword [edx + 0x74]
mov edi, dword [edx + 0x50]
mov dword [esp + 0x40], eax
mov eax, dword [ecx + 0x24]
mov esi, dword [eax + 0x68]
cvttss2si eax, xmm0
push eax
call fcn.005956f0
push eax
push dword [esp + 0x48]
lea eax, [edi + 0x20]
push esi
push eax
call fcn.005d81b0
mov edi, dword [esp + 0x1c]
add esp, 0x14
mov esi, dword [esp + 0xc]
fstp dword [esp + 0x40]
movss xmm0, dword [esp + 0x40]
movss dword [esp + 0x40], xmm0
mov eax, dword [esp + 0x10]
and eax, 0x3fffffff
cmp esi, eax
jne 0x5d765e
push 4
lea eax, [esp + 0xc]
push eax
push 0x7d8954
call fcn.00467c00
mov edi, dword [esp + 0x14]
add esp, 0xc
mov esi, dword [esp + 0xc]
movss xmm0, dword [esp + 0x40]
mov edx, dword [esp + 0x30]
movss dword [edi + esi*4], xmm0
mov esi, dword [esp + 0xc]
movss xmm0, dword [0x719120]
inc esi
mov edi, dword [esp + 8]
mov dword [esp + 0xc], esi
movss xmm1, dword [0x7a3b34]
inc edx
movss xmm5, dword [0x78d360]
mov dword [esp + 0x30], edx
cmp edx, dword [esp + 0x2c]
jl 0x5d6f53
mov edx, dword [esp + 0x14]
mov dword [esp + 0x40], edx
cmp esi, 1
jne 0x5d76bf
mov eax, dword [esp + 0x44]
xor esi, esi
mov ecx, dword [edi]
mov byte [esp + 0x3f], 1
mov dword [eax], ecx
jmp 0x5d76c4
mov byte [esp + 0x3f], 0
push dword [0x884adc]
xor eax, eax
cmp edx, edi
cmove esi, eax
mov eax, dword [esp + 0x1c]
mov dword [esp + 0x10], esi
lea esi, [eax*4 + 0x7f]
and esi, 0xffffff80
call dword [sym.imp.KERNEL32.dll_TlsGetValue]
mov edx, dword [esp + 0x40]
lea edi, [esi + 0xf]
and edi, 0xfffffff0
cmp esi, dword [eax + 8]
jg 0x5d770a
lea ecx, [edi + edx]
cmp ecx, dword [eax + 0xc]
jne 0x5d770a
cmp dword [eax + 0x14], edx
je 0x5d770a
mov dword [eax + 0xc], edx
jmp 0x5d7713
push edi
push edx
mov ecx, eax
call fcn.0046a590
mov ecx, dword [esp + 0x10]
mov dword [esp + 0xc], 0
pop edi
pop esi
test ecx, ecx
js 0x5d7741
mov edx, dword [0x7d8954]
and ecx, 0x3fffffff
shl ecx, 2
push ecx
push dword [esp + 4]
mov ecx, 0x7d8954
call dword [edx + 0x10]
mov al, byte [esp + 0x37]
add esp, 0x30
ret 0xc