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

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff0
sub esp, 0x168
cmp dword [ecx + 0xc0], 0
push esi
mov esi, dword [ebp + 0x14]
push edi
mov edi, dword [ebp + 0xc]
mov dword [esp + 0x14], ecx
mov edx, dword [esi]
mov dword [esp + 0x18], edx
je 0x503b17
mov eax, dword [ecx + 0xc]
cmp edi, dword [eax + 0xf8]
jle 0x503b17
push dword [0x884adc]
call dword [sym.imp.KERNEL32.dll_TlsGetValue]
mov edx, eax
lea ecx, [edi*4 + 0x7f]
and ecx, 0xffffff80
mov dword [esp + 0x1c], ecx
mov eax, dword [edx + 0xc]
mov dword [esp + 0x10], eax
add eax, ecx
cmp ecx, dword [edx + 8]
jg 0x50383e
cmp eax, dword [edx + 0x10]
ja 0x50383e
mov dword [edx + 0xc], eax
jmp 0x50384a
push ecx
mov ecx, edx
call fcn.0046a3c0
mov dword [esp + 0x10], eax
add edi, 0xffffffff
mov ecx, dword [esi + 4]
mov dword [esi + 0xc], 0
mov dword [esi + 0x14], 0
mov dword [esi + 0x10], ecx
mov dword [esi + 0x18], ecx
js 0x503887
mov eax, dword [ebp + 8]
mov ecx, dword [eax + edi*4]
movzx edx, byte [ecx + 0xe]
mov eax, dword [esi + edx*4 + 0x10]
mov esi, dword [esp + 0x10]
mov dword [esi + eax*4], ecx
mov esi, dword [ebp + 0x14]
inc dword [esi + edx*4 + 0x10]
sub edi, 1
jns 0x503866
mov edi, dword [esp + 0x10]
lea eax, [esp + 0x140]
push eax
push dword [ebp + 0x18]
push esi
push dword [ebp + 0x10]
mov esi, dword [esp + 0x24]
mov ecx, esi
push edi
call fcn.00503db0
mov ecx, dword [esi + 0xc0]
call fcn.0064eb00
mov esi, dword [esi + 0xc]
mov eax, dword [esp + 0x18]
lea edx, [esi + 0x1e0]
mov dword [esp + 0xb8], 0
mov dword [esp + 0x154], eax
mov dword [esp + 0x114], 0
mov dword [esp + 0x134], edx
mov ecx, dword [esi + 0x78]
mov eax, dword [ecx]
mov dword [esp + 0xb0], eax
mov eax, dword [ecx + 4]
mov dword [esp + 0xb4], eax
mov eax, dword [ecx + 8]
mov dword [esp + 0xb8], eax
mov eax, dword [ecx + 0xc]
mov dword [esp + 0xbc], eax
mov eax, dword [ecx + 0x10]
mov dword [esp + 0xc0], eax
mov eax, dword [ecx + 0x14]
mov dword [esp + 0xc4], eax
mov eax, dword [ecx + 0x18]
mov dword [esp + 0xc8], eax
movaps xmm0, xmmword [ecx + 0x20]
movaps xmmword [esp + 0xd0], xmm0
movaps xmm0, xmmword [ecx + 0x30]
movaps xmmword [esp + 0xe0], xmm0
movaps xmm0, xmmword [ecx + 0x40]
movaps xmmword [esp + 0xf0], xmm0
movups xmm0, xmmword [ecx + 0x50]
movups xmmword [esp + 0x100], xmm0
mov eax, dword [ecx + 0x60]
mov dword [esp + 0x110], eax
mov eax, dword [ecx + 0x68]
mov dword [esp + 0x118], eax
movzx eax, byte [ecx + 0x6c]
mov byte [esp + 0x11c], al
movzx eax, byte [ecx + 0x6d]
mov byte [esp + 0x11d], al
mov eax, dword [ecx + 0x70]
mov dword [esp + 0x120], eax
movss xmm0, dword [esi + 0x2fc]
mov eax, dword [esi + 0x1d0]
movss dword [esp + 0x30], xmm0
movss xmm0, dword [esi + 0x30c]
mulss xmm0, dword [esi + 0x2fc]
movss dword [esp + 0x34], xmm0
movss xmm0, dword [esi + 0x300]
movss dword [esp + 0x38], xmm0
movss xmm0, dword [esi + 0x310]
movss dword [esp + 0x44], xmm0
movss xmm0, dword [esi + 0x30c]
mulss xmm0, dword [esi + 0x310]
movss dword [esp + 0x48], xmm0
movss xmm0, dword [esi + 0x1f4]
movss dword [esp + 0x70], xmm0
movss xmm0, dword [esi + 0x1f8]
movss dword [esp + 0x74], xmm0
mov dword [esp + 0x98], eax
movss xmm0, dword [esi + 0x244]
mulss xmm0, dword [esi + 0x300]
movss dword [esp + 0x50], xmm0
movss xmm0, dword [esi + 0x1f8]
movss dword [esp + 0x54], xmm0
movss xmm0, dword [esi + 0x24c]
mulss xmm0, dword [esi + 0x300]
movss dword [esp + 0x58], xmm0
mov eax, dword [edx + 8]
mov dword [esp + 0x3c], eax
mov eax, dword [edx + 0xc]
mov dword [esp + 0x40], eax
movss xmm0, dword [esi + 0x318]
mov eax, dword [esp + 0x14]
shufps xmm0, xmm0, 0
mov dword [esp + 0x130], eax
movaps xmmword [esp + 0x80], xmm0
mov eax, dword [esi + 0x78]
movss xmm0, dword [eax + 0xc]
lea eax, [esp + 0x140]
push eax
lea eax, [esp + 0x24]
movss dword [esp + 0x13c], xmm0
push 0
push eax
mov dword [esp + 0x148], 0x8cde50
mov dword [esp + 0x2c], esi
call fcn.00532280
mov esi, dword [sym.imp.KERNEL32.dll_TlsGetValue]
add esp, 0xc
cmp dword [esp + 0x114], 0
je 0x503ad7
push dword [0x884adc]
call esi
push 0x200
push dword [esp + 0x118]
mov ecx, dword [eax + 0x2c]
mov eax, dword [ecx]
call dword [eax + 8]
push dword [0x884adc]
call esi
mov ecx, dword [esp + 0x1c]
lea edx, [ecx + 0xf]
and edx, 0xfffffff0
cmp ecx, dword [eax + 8]
jg 0x503b06
lea ecx, [edx + edi]
cmp ecx, dword [eax + 0xc]
jne 0x503b06
cmp dword [eax + 0x14], edi
je 0x503b06
mov dword [eax + 0xc], edi
pop edi
pop esi
mov esp, ebp
pop ebp
ret 0x14
push edx
push edi
mov ecx, eax
call fcn.0046a590
pop edi
pop esi
mov esp, ebp
pop ebp
ret 0x14
push dword [ebp + 0x18]
push edx
push dword [ebp + 0x10]
push edi
push dword [ebp + 8]
call fcn.00500520
pop edi
pop esi
mov esp, ebp
pop ebp
ret 0x14