Function at 0x67ff40
Capabilities:
Get thread local storage value

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff0
sub esp, 0x258
mov eax, dword [ebp + 0xc]
push esi
push edi
mov edi, ecx
mov dword [esp + 0x34], edi
test eax, eax
je 0x67ff61
mov dword [eax], 0
mov eax, dword [ebp + 0x10]
test eax, eax
je 0x67ff6e
mov dword [eax], 0
mov eax, dword [edi + 0x198]
sub eax, 2
je 0x6804fb
sub eax, 1
je 0x67ffe1
push 0x200
lea eax, [esp + 0x64]
push eax
lea ecx, [esp + 0x18]
call fcn.004745a0
push str.Current_dimension_not_implemented_for_that_operation
lea ecx, [esp + 0x14]
call fcn.0045cb80
mov ecx, dword [0x884c54]
lea edx, [esp + 0x60]
push 0x8ba
push str.P:P4OtherDevRelClientsBethesdaTESV2010_2_Release_NewRSYSSourceCommon_Internal_GeometryProcessing_ConvexHull_hkgpConvexHullInternals.h
push edx
mov eax, dword [ecx]
push 0x3a86e3ef
push 3
mov eax, dword [eax + 0xc]
call eax
test eax, eax
je 0x67ffcb
int3
lea ecx, [esp + 0x10]
call fcn.0045caa0
mov eax, 4
pop edi
pop esi
mov esp, ebp
pop ebp
ret 0x10
movss xmm0, dword [ebp + 0x14]
lea eax, [esp + 0x40]
push eax
lea eax, [esp + 0x3c]
mov dword [esp + 0x3c], 0
push eax
push ecx
movss dword [esp], xmm0
push dword [ebp + 8]
mov dword [esp + 0x4c], 0
call fcn.0067e8b0
cmp eax, 3
jne 0x6804d5
movss xmm2, dword [esp + 0x44]
movss xmm1, dword [esp + 0x40]
movaps xmm4, xmm2
andps xmm4, xmmword [0x719120]
movaps xmm3, xmm1
andps xmm3, xmmword [0x719120]
movaps xmm5, xmm2
comiss xmm4, xmm3
mov dword [esp + 0x10], 0
mov dword [esp + 0x14], 0
mov dword [esp + 0x18], connect
mov dword [esp + 0x20], 0
mov dword [esp + 0x24], 0
mov dword [esp + 0x28], connect
subss xmm5, xmm1
ja 0x680076
movaps xmm3, xmm4
movss xmm0, dword [ebp + 0x14]
comiss xmm0, xmm5
jae 0x68043f
comiss xmm0, xmm3
jae 0x68043f
mov eax, dword [edi + 0x20]
cdq
and edx, 3
add eax, edx
sar eax, 2
add eax, dword [esp + 0x38]
test eax, eax
jle 0x6800bd
xor ecx, ecx
test eax, eax
push 0x10
cmovs eax, ecx
push eax
lea eax, [esp + 0x18]
push eax
push 0x7d8954
call fcn.00467b80
add esp, 0x10
mov eax, dword [edi + 0x20]
cdq
and edx, 3
lea ecx, [edx + eax]
mov eax, dword [esp + 0x28]
sar ecx, 2
and eax, 0x3fffffff
add ecx, dword [esp + 0x3c]
cmp eax, ecx
jge 0x6800f7
add eax, eax
cmp ecx, eax
push 0x10
cmovl ecx, eax
lea eax, [esp + 0x24]
push ecx
push eax
push 0x7d8954
call fcn.00467b80
add esp, 0x10
mov esi, dword [edi + 0x1c]
test esi, esi
je 0x680208
movss xmm1, dword [esi + 0x2c]
xorps xmm0, xmm0
ucomiss xmm1, xmm0
lahf
test ah, 0x44
jp 0x680185
mov eax, dword [esp + 0x18]
and eax, 0x3fffffff
cmp dword [esp + 0x14], eax
jne 0x680136
push 0x10
lea eax, [esp + 0x14]
push eax
push 0x7d8954
call fcn.00467c00
add esp, 0xc
mov eax, dword [esp + 0x14]
movaps xmm0, xmmword [esi + 0x10]
shl eax, 4
add eax, dword [esp + 0x10]
movaps xmmword [eax], xmm0
mov eax, dword [esp + 0x28]
inc dword [esp + 0x14]
and eax, 0x3fffffff
mov ecx, dword [esp + 0x24]
cmp ecx, eax
jne 0x680175
push 0x10
lea eax, [esp + 0x24]
push eax
push 0x7d8954
call fcn.00467c00
mov ecx, dword [esp + 0x30]
add esp, 0xc
movaps xmm0, xmmword [esi + 0x10]
shl ecx, 4
add ecx, dword [esp + 0x20]
movaps xmmword [ecx], xmm0
jmp 0x6801fa
comiss xmm1, xmm0
jbe 0x6801c5
mov eax, dword [esp + 0x18]
and eax, 0x3fffffff
cmp dword [esp + 0x14], eax
jne 0x6801ad
push 0x10
lea eax, [esp + 0x14]
push eax
push 0x7d8954
call fcn.00467c00
add esp, 0xc
mov eax, dword [esp + 0x14]
movaps xmm0, xmmword [esi + 0x10]
shl eax, 4
add eax, dword [esp + 0x10]
movaps xmmword [eax], xmm0
inc dword [esp + 0x14]
jmp 0x6801fe
mov eax, dword [esp + 0x28]
and eax, 0x3fffffff
cmp dword [esp + 0x24], eax
jne 0x6801e8
push 0x10
lea eax, [esp + 0x24]
push eax
push 0x7d8954
call fcn.00467c00
add esp, 0xc
mov eax, dword [esp + 0x24]
movaps xmm0, xmmword [esi + 0x10]
shl eax, 4
add eax, dword [esp + 0x20]
movaps xmmword [eax], xmm0
inc dword [esp + 0x24]
mov esi, dword [esi]
test esi, esi
jne 0x680102
mov eax, dword [edi + 0x2c]
mov dword [esp + 0x38], eax
test eax, eax
je 0x680321
xor esi, esi
lea edi, [eax + 8]
xorps xmm1, xmm1
nop
mov edx, dword [edi]
movss xmm3, dword [edx + 0x2c]
comiss xmm3, xmm1
jbe 0x680302
lea ecx, [esi + esi]
mov eax, 9
sar eax, cl
mov ecx, dword [esp + 0x38]
and eax, 3
mov eax, dword [ecx + eax*4 + 8]
movss xmm4, dword [eax + 0x2c]
movaps xmm0, xmm4
mulss xmm0, xmm3
comiss xmm1, xmm0
jbe 0x680302
movaps xmm0, xmm3
subss xmm0, xmm4
movups xmm1, xmmword [eax + 0x10]
mov eax, dword [esp + 0x18]
movups xmm2, xmmword [edx + 0x10]
and eax, 0x3fffffff
divss xmm3, xmm0
movaps xmm0, xmmword [0x727d50]
shufps xmm3, xmm3, 0
subps xmm0, xmm3
mulps xmm1, xmm3
mulps xmm0, xmm2
addps xmm0, xmm1
movaps xmmword [esp + 0x40], xmm0
cmp dword [esp + 0x14], eax
jne 0x6802b1
push 0x10
lea eax, [esp + 0x14]
push eax
push 0x7d8954
call fcn.00467c00
movaps xmm0, xmmword [esp + 0x4c]
add esp, 0xc
mov eax, dword [esp + 0x14]
shl eax, 4
add eax, dword [esp + 0x10]
movaps xmmword [eax], xmm0
mov eax, dword [esp + 0x28]
inc dword [esp + 0x14]
and eax, 0x3fffffff
mov ecx, dword [esp + 0x24]
cmp ecx, eax
jne 0x6802f1
push 0x10
lea eax, [esp + 0x24]
push eax
push 0x7d8954
call fcn.00467c00
mov ecx, dword [esp + 0x30]
add esp, 0xc
movaps xmm0, xmmword [esp + 0x40]
shl ecx, 4
xorps xmm1, xmm1
add ecx, dword [esp + 0x20]
movaps xmmword [ecx], xmm0
inc dword [esp + 0x24]
inc esi
add edi, 4
cmp esi, 3
jl 0x680220
mov eax, dword [esp + 0x38]
mov eax, dword [eax]
mov dword [esp + 0x38], eax
test eax, eax
jne 0x680217
cmp dword [ebp + 0xc], 0
mov esi, 0x14
mov edi, dword [sym.imp.KERNEL32.dll_TlsGetValue]
je 0x680362
push dword [0x884adc]
call edi
push esi
mov ecx, dword [eax + 0x2c]
mov eax, dword [ecx]
mov eax, dword [eax + 4]
call eax
mov ecx, eax
mov word [eax + 4], si
call fcn.00678e50
mov ecx, dword [ebp + 0xc]
mov dword [ecx], eax
mov ecx, dword [esp + 0x34]
mov eax, dword [eax + 8]
movups xmm0, xmmword [ecx]
movups xmmword [eax], xmm0
cmp dword [ebp + 0x10], 0
je 0x68039b
push dword [0x884adc]
call edi
push 0x14
mov ecx, dword [eax + 0x2c]
mov eax, dword [ecx]
mov eax, dword [eax + 4]
call eax
mov ecx, eax
mov word [eax + 4], si
call fcn.00678e50
mov ecx, dword [ebp + 0x10]
mov esi, dword [esp + 0x34]
mov dword [ecx], eax
mov eax, dword [eax + 8]
movups xmm0, xmmword [esi]
movups xmmword [eax], xmm0
jmp 0x68039f
mov esi, dword [esp + 0x34]
mov edi, dword [ebp + 0xc]
test edi, edi
je 0x6803c8
mov ecx, dword [edi]
push esi
push 0
push dword [esp + 0x1c]
mov ecx, dword [ecx + 8]
push dword [esp + 0x1c]
call fcn.00680e00
mov byte [esp + 0xe], 1
cmp eax, dword [esi + 0x198]
je 0x6803cd
mov byte [esp + 0xe], 0
mov eax, dword [ebp + 0x10]
test eax, eax
je 0x6803f6
mov ecx, dword [eax]
push esi
push 0
push dword [esp + 0x2c]
mov ecx, dword [ecx + 8]
push dword [esp + 0x2c]
call fcn.00680e00
mov byte [esp + 0xf], 1
cmp eax, dword [esi + 0x198]
je 0x6803fb
mov byte [esp + 0xf], 0
cmp byte [esp + 0xe], 0
jne 0x680418
test edi, edi
je 0x680418
mov ecx, dword [edi]
test ecx, ecx
je 0x680412
mov eax, dword [ecx]
push 1
call dword [eax]
mov dword [edi], 0
cmp byte [esp + 0xf], 0
jne 0x680438
mov esi, dword [ebp + 0x10]
test esi, esi
je 0x680438
mov ecx, dword [esi]
test ecx, ecx
je 0x680432
mov eax, dword [ecx]
push 1
call dword [eax]
mov dword [esi], 0
mov esi, 3
jmp 0x680466
mulss xmm1, dword [0x719760]
xor eax, eax
mulss xmm2, dword [0x719760]
addss xmm1, xmm2
comiss xmm1, dword [0x718814]
setb al
inc eax
mov dword [esp + 0x38], eax
mov esi, eax
mov eax, dword [esp + 0x28]
mov dword [esp + 0x24], 0
test eax, eax
js 0x680490
and eax, 0x3fffffff
mov ecx, 0x7d8954
shl eax, 4
push eax
mov eax, dword [0x7d8954]
push dword [esp + 0x24]
call dword [eax + 0x10]
mov eax, dword [esp + 0x18]
mov dword [esp + 0x20], 0
mov dword [esp + 0x28], connect
mov dword [esp + 0x14], 0
test eax, eax
js 0x6804cb
mov edx, dword [0x7d8954]
and eax, 0x3fffffff
shl eax, 4
mov ecx, 0x7d8954
push eax
push dword [esp + 0x14]
call dword [edx + 0x10]
mov eax, esi
pop edi
pop esi
mov esp, ebp
pop ebp
ret 0x10
mov ecx, dword [esp + 0x38]
cmp dword [esp + 0x3c], ecx
jle 0x6804ec
mov eax, 2
pop edi
pop esi
mov esp, ebp
pop ebp
ret 0x10
xor eax, eax
test ecx, ecx
setne al
pop edi
pop esi
mov esp, ebp
pop ebp
ret 0x10
mov eax, dword [edi + 0x1c]
xor edx, edx
xor ecx, ecx
test eax, eax
je 0x680898
movss xmm3, dword [ebp + 0x14]
mov esi, dword [ebp + 8]
movss xmm5, dword [0x719120]
nop word [eax + eax]
movaps xmm0, xmmword [esi]
xorps xmm4, xmm4
movaps xmm1, xmmword [eax + 0x10]
mulps xmm1, xmm0
shufps xmm0, xmm0, 0xff
movaps xmm2, xmm1
shufps xmm2, xmm1, 0xaa
addss xmm2, xmm0
movaps xmm0, xmm1
shufps xmm0, xmm1, 0x55
addss xmm0, xmm1
addps xmm2, xmm0
movaps xmm0, xmm2
movss dword [eax + 0x2c], xmm2
andps xmm0, xmm5
comiss xmm3, xmm0
jb 0x680563
mov dword [eax + 0x2c], 0
jmp 0x68056c
comiss xmm4, xmm2
jbe 0x68056b
inc edx
jmp 0x68056c
inc ecx
mov eax, dword [eax]
test eax, eax
jne 0x680520
test edx, edx
jne 0x680589
test ecx, ecx
je 0x680898
lea eax, [edx + 1]
pop edi
pop esi
mov esp, ebp
pop ebp
ret 0x10
test ecx, ecx
je 0x6804df
mov esi, dword [edi + 0x1c]
xor ecx, ecx
movaps xmm0, xmmword [0x717f30]
mov eax, esi
mov dword [esp + 0x50], ecx
mov dword [esp + 0x54], connect
movups xmmword [esp + 0x40], xmm0
test eax, eax
je 0x6805c8
mov edx, dword [eax]
test edx, edx
je 0x6805c8
nop word [eax + eax]
mov eax, edx
mov edx, dword [eax]
test edx, edx
jne 0x6805c0
test esi, esi
je 0x68073e
movss xmm1, dword [eax + 0x2c]
movss xmm2, dword [esi + 0x2c]
movaps xmm0, xmm1
movups xmm3, xmmword [esi + 0x10]
mulss xmm0, xmm2
movaps xmmword [esp + 0x10], xmm3
comiss xmm4, xmm0
jbe 0x6806a1
movaps xmm0, xmm1
subss xmm0, xmm2
movaps xmm2, xmmword [0x727d50]
divss xmm1, xmm0
movaps xmm0, xmm3
shufps xmm1, xmm1, 0
subps xmm2, xmm1
mulps xmm0, xmm1
mulps xmm2, xmmword [eax + 0x10]
mov eax, dword [esp + 0x48]
and eax, 0x3fffffff
addps xmm2, xmm0
movaps xmmword [esp + 0x20], xmm2
cmp dword [esp + 0x44], eax
jne 0x680646
push 0x10
lea eax, [esp + 0x44]
push eax
push 0x7d8954
call fcn.00467c00
movaps xmm2, xmmword [esp + 0x2c]
add esp, 0xc
mov eax, dword [esp + 0x44]
shl eax, 4
add eax, dword [esp + 0x40]
movaps xmmword [eax], xmm2
mov eax, dword [esp + 0x54]
inc dword [esp + 0x44]
and eax, 0x3fffffff
mov ecx, dword [esp + 0x50]
cmp ecx, eax
jne 0x680686
push 0x10
lea eax, [esp + 0x50]
push eax
push 0x7d8954
call fcn.00467c00
mov ecx, dword [esp + 0x5c]
add esp, 0xc
movaps xmm2, xmmword [esp + 0x20]
movaps xmm3, xmmword [esp + 0x10]
xorps xmm4, xmm4
shl ecx, 4
add ecx, dword [esp + 0x4c]
movaps xmmword [ecx], xmm2
mov ecx, dword [esp + 0x50]
inc ecx
mov dword [esp + 0x50], ecx
comiss xmm4, dword [esi + 0x2c]
jb 0x6806e8
mov eax, dword [esp + 0x48]
and eax, 0x3fffffff
cmp dword [esp + 0x44], eax
jne 0x6806d2
push 0x10
lea eax, [esp + 0x44]
push eax
push 0x7d8954
call fcn.00467c00
movaps xmm3, xmmword [esp + 0x1c]
add esp, 0xc
xorps xmm4, xmm4
mov eax, dword [esp + 0x44]
shl eax, 4
add eax, dword [esp + 0x40]
movaps xmmword [eax], xmm3
inc dword [esp + 0x44]
mov ecx, dword [esp + 0x50]
movss xmm0, dword [esi + 0x2c]
comiss xmm0, xmm4
jb 0x680732
mov eax, dword [esp + 0x54]
and eax, 0x3fffffff
cmp ecx, eax
jne 0x68071f
push 0x10
lea eax, [esp + 0x50]
push eax
push 0x7d8954
call fcn.00467c00
mov ecx, dword [esp + 0x5c]
add esp, 0xc
movaps xmm3, xmmword [esp + 0x10]
xorps xmm4, xmm4
shl ecx, 4
add ecx, dword [esp + 0x4c]
movaps xmmword [ecx], xmm3
mov ecx, dword [esp + 0x50]
inc ecx
mov dword [esp + 0x50], ecx
mov eax, esi
mov esi, dword [esi]
test esi, esi
jne 0x6805d0
cmp dword [ebp + 0x10], 0
mov esi, 0x14
mov edi, dword [sym.imp.KERNEL32.dll_TlsGetValue]
je 0x6807cf
push dword [0x884adc]
call edi
push esi
mov ecx, dword [eax + 0x2c]
mov eax, dword [ecx]
mov eax, dword [eax + 4]
call eax
mov ecx, eax
mov word [eax + 4], si
call fcn.00678e50
mov edx, dword [ebp + 0x10]
mov ecx, dword [esp + 0x34]
push ecx
push 1
mov dword [edx], eax
mov eax, dword [eax + 8]
movups xmm0, xmmword [ecx]
movups xmmword [eax], xmm0
mov eax, dword [edx]
movaps xmm0, xmmword [ecx + 0xd0]
mov eax, dword [eax + 8]
movaps xmmword [eax + 0xd0], xmm0
mov ecx, dword [edx]
push dword [esp + 0x4c]
push dword [esp + 0x4c]
mov ecx, dword [ecx + 8]
call fcn.00680e00
mov ecx, dword [esp + 0x34]
cmp eax, dword [ecx + 0x198]
je 0x6807cf
mov eax, dword [ebp + 0x10]
mov ecx, dword [eax]
test ecx, ecx
je 0x6807c9
mov eax, dword [ecx]
push 1
call dword [eax]
mov eax, dword [ebp + 0x10]
mov dword [eax], 0
cmp dword [ebp + 0xc], 0
je 0x680848
push dword [0x884adc]
call edi
push 0x14
mov ecx, dword [eax + 0x2c]
mov eax, dword [ecx]
mov eax, dword [eax + 4]
call eax
mov ecx, eax
mov word [eax + 4], si
call fcn.00678e50
mov edi, dword [ebp + 0xc]
mov esi, dword [esp + 0x34]
push esi
push 1
mov dword [edi], eax
mov eax, dword [eax + 8]
movups xmm0, xmmword [esi]
movups xmmword [eax], xmm0
mov eax, dword [edi]
movaps xmm0, xmmword [esi + 0xd0]
mov eax, dword [eax + 8]
movaps xmmword [eax + 0xd0], xmm0
mov ecx, dword [edi]
push dword [esp + 0x58]
push dword [esp + 0x58]
mov ecx, dword [ecx + 8]
call fcn.00680e00
cmp eax, dword [esi + 0x198]
je 0x680848
mov ecx, dword [edi]
test ecx, ecx
je 0x680842
mov eax, dword [ecx]
push 1
call dword [eax]
mov dword [edi], 0
mov edi, 2
lea esi, [esp + 0x60]
mov eax, dword [esi - 0xc]
lea esi, [esi - 0xc]
dec edi
mov dword [esi - 4], 0
test eax, eax
js 0x68087c
and eax, 0x3fffffff
mov ecx, 0x7d8954
shl eax, 4
push eax
mov eax, dword [0x7d8954]
push dword [esi - 8]
call dword [eax + 0x10]
mov dword [esi - 8], 0
mov dword [esi], connect
test edi, edi
jne 0x680851
lea eax, [edi + 3]
pop edi
pop esi
mov esp, ebp
pop ebp
ret 0x10
pop edi
xor eax, eax
pop esi
mov esp, ebp
pop ebp
ret 0x10