Function at 0x50d510
Capabilities:
Resolve function by parsing pe exports

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff0
sub esp, 0x74
push ebx
push esi
mov esi, dword [ebp + 8]
push edi
test esi, esi
je 0x50d806
push 0x10
push 0x200
mov ebx, 1
mov dword [esp + 0x20], 0x7e
call fcn.005475c0
mov edx, 0x80
add esp, 8
mov edi, eax
mov dword [esp + 0x54], edx
mov ecx, edx
test eax, eax
je 0x50d55a
mov dword [eax], 0
add eax, 4
sub ecx, ebx
jne 0x50d550
xorps xmm6, xmm6
mov dword [esp + 0x50], edx
mov dword [edi], esi
movss dword [esp + 0x2c], xmm6
movss dword [esp + 0x3c], xmm6
jmp 0x50d583
xorps xmm6, xmm6
mov esi, dword [edi + ebx*4 - 4]
mov eax, dword [ebp + 0x20]
movss xmm0, dword [eax]
addss xmm0, dword [esi]
mov ecx, dword [ebp + 0x18]
movss dword [esp + 0x20], xmm0
movss xmm0, dword [esi + 4]
addss xmm0, dword [eax + 4]
dec ebx
movss dword [esp + 0x24], xmm0
movss xmm0, dword [esi + 8]
addss xmm0, dword [eax + 8]
mov eax, dword [ebp + 0x24]
mov edx, dword [ebp + 0xc]
movss xmm1, dword [edx]
movss dword [esp + 0x28], xmm0
movdqa xmm0, xmmword [esp + 0x20]
movdqa xmmword [esp + 0x60], xmm0
movss xmm0, dword [esi + 0x10]
addss xmm0, dword [eax]
movss xmm4, dword [edx + 4]
movss dword [esp + 0x30], xmm0
movss xmm0, dword [esi + 0x14]
addss xmm0, dword [eax + 4]
movss dword [esp + 0x34], xmm0
movss xmm0, dword [esi + 0x18]
addss xmm0, dword [eax + 8]
mov eax, dword [ecx]
mov dword [esp + 0x10], ebx
mov ebx, dword [ebp + 0x14]
movss xmm3, dword [ebx]
shl eax, 4
movss dword [esp + 0x38], xmm0
movdqa xmm0, xmmword [esp + 0x30]
movdqa xmmword [esp + 0x70], xmm0
movss xmm0, dword [esp + eax + 0x60]
lea ebx, [esp + 0x70]
sub ebx, eax
movss xmm2, dword [ebx]
mov ebx, dword [ebp + 0x14]
movss xmm5, dword [ebx + 4]
mov eax, dword [ecx + 4]
shl eax, 4
subss xmm0, xmm1
subss xmm2, xmm1
lea ebx, [esp + 0x74]
sub ebx, eax
movss xmm1, dword [ebx]
mulss xmm0, xmm3
mulss xmm2, xmm3
movss xmm3, dword [esp + eax + 0x64]
subss xmm1, xmm4
mulss xmm1, xmm5
comiss xmm0, xmm1
subss xmm3, xmm4
mulss xmm3, xmm5
ja 0x50d7ed
comiss xmm3, xmm2
ja 0x50d7ed
comiss xmm3, xmm0
jbe 0x50d68a
movaps xmm0, xmm3
comiss xmm2, xmm1
jbe 0x50d692
movaps xmm2, xmm1
movss xmm4, dword [edx + 8]
mov eax, dword [ecx + 8]
mov ecx, dword [ebp + 0x14]
movss xmm5, dword [ecx + 8]
shl eax, 4
movss xmm1, dword [esp + eax + 0x68]
lea edx, [esp + 0x78]
sub edx, eax
movss xmm3, dword [edx]
subss xmm3, xmm4
mulss xmm3, xmm5
comiss xmm0, xmm3
subss xmm1, xmm4
mulss xmm1, xmm5
ja 0x50d7ed
comiss xmm1, xmm2
ja 0x50d7ed
comiss xmm1, xmm0
jbe 0x50d6df
movaps xmm0, xmm1
comiss xmm2, xmm3
jbe 0x50d6e7
movaps xmm2, xmm3
movss xmm1, dword [ebp + 0x1c]
comiss xmm1, xmm0
jbe 0x50d7ed
comiss xmm2, xmm6
jbe 0x50d7ed
cmp dword [esi + 0x28], 0
je 0x50d7dd
mov ebx, dword [esp + 0x10]
cmp ebx, dword [esp + 0x18]
jle 0x50d7cd
mov eax, dword [esp + 0x50]
lea edx, [eax + eax]
cmp edx, eax
mov dword [esp + 0x18], edx
jle 0x50d7c2
cmp dword [esp + 0x54], edx
jge 0x50d79e
test edx, edx
je 0x50d74d
lea eax, [edx*4]
push 0x10
push eax
call fcn.005475c0
mov edx, dword [esp + 0x20]
add esp, 8
mov ebx, eax
jmp 0x50d74f
xor ebx, ebx
cmp dword [esp + 0x50], 0
jle 0x50d77f
mov ecx, edi
sub ecx, ebx
mov dword [esp + 0x1c], ecx
mov ecx, dword [esp + 0x50]
mov eax, ebx
mov dword [esp + 0x14], ecx
test eax, eax
je 0x50d775
mov ecx, dword [esp + 0x1c]
mov ecx, dword [ecx + eax]
mov dword [eax], ecx
add eax, 4
sub dword [esp + 0x14], 1
jne 0x50d768
test edi, edi
je 0x50d790
push edi
call fcn.00547600
mov edx, dword [esp + 0x1c]
add esp, 4
mov eax, dword [esp + 0x50]
mov edi, ebx
mov ebx, dword [esp + 0x10]
mov dword [esp + 0x54], edx
cmp eax, edx
jge 0x50d7c2
mov ecx, edx
sub ecx, dword [esp + 0x50]
lea eax, [edi + eax*4]
jmp 0x50d7b0
test eax, eax
je 0x50d7ba
mov dword [eax], 0
add eax, 4
sub ecx, 1
jne 0x50d7b0
mov dword [esp + 0x50], edx
add edx, 0xfffffffe
mov dword [esp + 0x18], edx
mov edx, dword [esi + 0x24]
mov dword [edi + ebx*4], edx
mov eax, dword [esi + 0x28]
inc ebx
mov dword [edi + ebx*4], eax
inc ebx
jmp 0x50d7f1
mov ecx, dword [ebp + 0x28]
mov ecx, dword [ecx]
mov edx, dword [ecx]
mov eax, dword [esi + 0x24]
mov edx, dword [edx + 4]
push eax
call edx
mov ebx, dword [esp + 0x10]
test ebx, ebx
jne 0x50d580
test edi, edi
je 0x50d806
push edi
call fcn.00547600
add esp, 4
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0x24