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

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
sub esp, 0x6c
mov eax, dword [0x515040]
xor eax, esp
mov dword [esp + 0x68], eax
mov eax, dword [edx + 0x44c]
test eax, eax
push ebx
mov ebx, dword [ebp + 8]
push esi
mov esi, ecx
mov dword [esp + 0x14], edx
mov ecx, 0x75bcd15
mov dword [esp + 0x64], 0x159a55e5
cmove eax, ecx
mov dword [esp + 0x68], 0x1f123bb5
push edi
mov dword [esp + 0x64], eax
mov ecx, esi
lea eax, [esp + 0x64]
mov dword [esp + 0x70], 0x5491333
push ebx
push eax
call fcn.0044f800
mov ecx, dword [esp + 0x20]
add esp, 8
mov edi, dword [ecx + 0x444]
lea edx, [edi + 0x21]
mov dword [esp + 0x1c], edx
cmp edx, 0x441
jae 0x451dbb
cmp byte [ecx + edx], 0xb
je 0x451e01
lea edx, [edi - 0x21]
mov dword [esp + 0x1c], edx
cmp edx, 0x441
jae 0x451dd0
cmp byte [ecx + edx], 0xb
je 0x451e01
lea edx, [edi + 1]
mov dword [esp + 0x1c], edx
cmp edx, 0x441
jae 0x451de5
cmp byte [ecx + edx], 0xb
je 0x451e01
lea edx, [edi - 1]
mov dword [esp + 0x1c], edx
cmp edx, 0x441
jae 0x451dfa
cmp byte [ecx + edx], 0xb
je 0x451e01
or edx, 0xffffffff
mov dword [esp + 0x1c], edx
movss xmm2, dword [0x50d2cc]
xor edi, edi
movss xmm3, dword [0x50d500]
movzx eax, byte [ecx + edi]
sub eax, 9
je 0x452060
sub eax, 2
je 0x451f20
sub eax, 6
jne 0x45218d
mov eax, 0x3e0f83e1
mov dword [esp + 0x2c], 0
mul edi
mov ecx, edi
shr edx, 3
mov eax, edx
shl eax, 5
add eax, edx
sub ecx, eax
lea eax, [esp + 0x28]
push ebx
push eax
movd xmm0, ecx
cvtdq2pd xmm0, xmm0
shr ecx, 0x1f
addsd xmm0, qword [ecx*8 + 0x50e260]
mov ecx, dword [esp + 0x20]
cvtpd2ps xmm1, xmm0
movd xmm0, edx
cvtdq2pd xmm0, xmm0
shr edx, 0x1f
addss xmm1, xmm2
addsd xmm0, qword [edx*8 + 0x50e260]
mov edx, edi
mulss xmm1, xmm3
cvtpd2ps xmm0, xmm0
movss dword [esp + 0x28], xmm1
addss xmm0, xmm2
movss dword [esp + 0x30], xmm1
mulss xmm0, xmm3
movss dword [esp + 0x2c], xmm0
movss dword [esp + 0x38], xmm0
call fcn.004b9c20
and al, 0x18
mov edx, 8
cmp al, 0x18
mov ecx, esi
setne al
movzx eax, al
push eax
lea eax, [esp + 0x70]
push eax
call fcn.0044ea60
add esp, 4
mov edx, eax
mov ecx, esi
call fcn.0044ec70
movss xmm0, dword [esp + 0x2c]
lea eax, [esp + 0x40]
mov ecx, dword [esp + 0x24]
add esp, 0xc
movss dword [esp + 0x34], xmm0
mov edx, edi
movss xmm0, dword [esp + 0x24]
mov dword [esp + 0x38], 0
push ebx
push eax
movss dword [esp + 0x44], xmm0
call fcn.004b9c20
and al, 0x18
cmp al, 0x18
setne al
jmp 0x452155
cmp edx, edi
je 0x451fe3
mov eax, 0x3e0f83e1
mov dword [esp + 0x44], 0
mul edi
mov ecx, edi
shr edx, 3
mov eax, edx
shl eax, 5
add eax, edx
sub ecx, eax
movd xmm0, ecx
cvtdq2pd xmm0, xmm0
shr ecx, 0x1f
addsd xmm0, qword [ecx*8 + 0x50e260]
mov ecx, dword [esp + 0x18]
cvtpd2ps xmm0, xmm0
addss xmm0, xmm2
mulss xmm0, xmm3
movss dword [esp + 0x40], xmm0
movd xmm0, edx
cvtdq2pd xmm0, xmm0
shr edx, 0x1f
addsd xmm0, qword [edx*8 + 0x50e260]
mov edx, edi
cvtpd2ps xmm0, xmm0
addss xmm0, xmm2
mulss xmm0, xmm3
movss dword [esp + 0x48], xmm0
call fcn.004b9b00
movzx eax, al
lea ecx, [esp + 0x40]
push ebx
push ecx
mov edx, 8
mov ecx, esi
cmp byte [eax + 0x502718], 1
sete al
movzx eax, al
push eax
lea eax, [esp + 0x70]
push eax
call fcn.0044ea60
add esp, 4
mov edx, eax
mov ecx, esi
call fcn.0044ec70
movss xmm2, dword [0x50d2cc]
add esp, 0xc
movss xmm3, dword [0x50d500]
mov eax, 0x3e0f83e1
mov dword [esp + 0x50], 0
mul edi
mov ecx, edi
shr edx, 3
mov eax, edx
shl eax, 5
add eax, edx
sub ecx, eax
movd xmm0, ecx
cvtdq2pd xmm0, xmm0
shr ecx, 0x1f
addsd xmm0, qword [ecx*8 + 0x50e260]
mov ecx, dword [esp + 0x18]
cvtpd2ps xmm0, xmm0
addss xmm0, xmm2
mulss xmm0, xmm3
movss dword [esp + 0x4c], xmm0
movd xmm0, edx
cvtdq2pd xmm0, xmm0
shr edx, 0x1f
addsd xmm0, qword [edx*8 + 0x50e260]
mov edx, edi
cvtpd2ps xmm0, xmm0
addss xmm0, xmm2
mulss xmm0, xmm3
movss dword [esp + 0x54], xmm0
call fcn.004b9b00
lea ecx, [esp + 0x4c]
jmp 0x452146
mov eax, 0x3e0f83e1
mov dword [esp + 0x5c], 0
mul edi
mov ecx, edi
shr edx, 3
mov eax, edx
shl eax, 5
add eax, edx
sub ecx, eax
movd xmm0, ecx
cvtdq2pd xmm0, xmm0
shr ecx, 0x1f
addsd xmm0, qword [ecx*8 + 0x50e260]
mov ecx, dword [esp + 0x18]
cvtpd2ps xmm1, xmm0
movd xmm0, edx
cvtdq2pd xmm0, xmm0
shr edx, 0x1f
addss xmm1, xmm2
addsd xmm0, qword [edx*8 + 0x50e260]
mov edx, edi
mulss xmm1, xmm3
cvtpd2ps xmm0, xmm0
movss dword [esp + 0x24], xmm1
addss xmm0, xmm2
movss dword [esp + 0x58], xmm1
mulss xmm0, xmm3
movss dword [esp + 0x20], xmm0
movss dword [esp + 0x60], xmm0
call fcn.004b9b00
movzx eax, al
lea ecx, [esp + 0x58]
push ebx
push ecx
mov edx, 8
mov ecx, esi
cmp byte [eax + 0x502718], 1
sete al
movzx eax, al
push eax
lea eax, [esp + 0x70]
push eax
call fcn.0044ea60
add esp, 4
mov edx, eax
mov ecx, esi
call fcn.0044ec70
movss xmm0, dword [esp + 0x30]
add esp, 0xc
mov ecx, dword [esp + 0x18]
mov edx, edi
movss dword [esp + 0xc], xmm0
movss xmm0, dword [esp + 0x20]
mov dword [esp + 0x10], 0
movss dword [esp + 0x14], xmm0
call fcn.004b9b00
lea ecx, [esp + 0xc]
movzx eax, al
push ebx
push ecx
cmp byte [eax + 0x502718], 1
sete al
movzx eax, al
mov edx, 0x13
push eax
lea eax, [esp + 0x70]
mov ecx, esi
push eax
call fcn.0044ea60
add esp, 4
mov edx, eax
mov ecx, esi
call fcn.0044ec70
movss xmm2, dword [0x50d2cc]
add esp, 0xc
movss xmm3, dword [0x50d500]
mov ecx, dword [esp + 0x18]
mov edx, dword [esp + 0x1c]
inc edi
cmp edi, 0x441
jb 0x451e13
lea eax, [esp + 0x64]
mov edx, 6
push eax
mov ecx, esi
call fcn.0044ea60
add esp, 4
test eax, eax
je 0x4521de
lea ecx, [ebx + 0x18]
mov dword [esp + 0x14], 0
push ecx
lea ecx, [esp + 0x10]
xorps xmm0, xmm0
push ecx
push 0
mov edx, eax
movq qword [esp + 0x18], xmm0
mov ecx, esi
call fcn.0044ec70
add esp, 0xc
lea eax, [esp + 0x64]
mov edx, 7
push eax
mov ecx, esi
call fcn.0044ea60
add esp, 4
test eax, eax
je 0x45221e
lea ecx, [ebx + 0x24]
mov dword [esp + 0x14], 0
push ecx
lea ecx, [esp + 0x10]
xorps xmm0, xmm0
push ecx
push 0
mov edx, eax
movq qword [esp + 0x18], xmm0
mov ecx, esi
call fcn.0044ec70
add esp, 0xc
lea eax, [esp + 0x64]
mov edx, 0xf
push eax
mov ecx, esi
call fcn.0044ea60
add esp, 4
test eax, eax
je 0x45225e
lea ecx, [ebx + 0x30]
mov dword [esp + 0x14], 0
push ecx
lea ecx, [esp + 0x10]
xorps xmm0, xmm0
push ecx
push 0
mov edx, eax
movq qword [esp + 0x18], xmm0
mov ecx, esi
call fcn.0044ec70
add esp, 0xc
lea eax, [esp + 0x64]
mov edx, 0x10
push eax
mov ecx, esi
call fcn.0044ea60
add esp, 4
test eax, eax
je 0x45229e
lea ecx, [ebx + 0x3c]
mov dword [esp + 0x14], 0
push ecx
lea ecx, [esp + 0x10]
xorps xmm0, xmm0
push ecx
push 0
mov edx, eax
movq qword [esp + 0x18], xmm0
mov ecx, esi
call fcn.0044ec70
add esp, 0xc
lea eax, [esp + 0x64]
mov edx, 0x1e
push eax
mov ecx, esi
call fcn.0044ea60
add esp, 4
test eax, eax
je 0x4522de
lea ecx, [ebx + 0x48]
mov dword [esp + 0x14], 0
push ecx
lea ecx, [esp + 0x10]
xorps xmm0, xmm0
push ecx
push 0
mov edx, eax
movq qword [esp + 0x18], xmm0
mov ecx, esi
call fcn.0044ec70
add esp, 0xc
lea eax, [esp + 0x64]
mov edx, 0x1f
push eax
mov ecx, esi
call fcn.0044ea60
add esp, 4
test eax, eax
je 0x45231e
lea ecx, [ebx + 0x54]
mov dword [esp + 0x14], 0
push ecx
lea ecx, [esp + 0x10]
xorps xmm0, xmm0
push ecx
push 0
mov edx, eax
movq qword [esp + 0x18], xmm0
mov ecx, esi
call fcn.0044ec70
add esp, 0xc
lea eax, [esp + 0x64]
mov edx, 0x20
push eax
mov ecx, esi
call fcn.0044ea60
add esp, 4
test eax, eax
je 0x45235e
lea ecx, [ebx + 0x60]
mov dword [esp + 0x14], 0
push ecx
lea ecx, [esp + 0x10]
xorps xmm0, xmm0
push ecx
push 0
mov edx, eax
movq qword [esp + 0x18], xmm0
mov ecx, esi
call fcn.0044ec70
add esp, 0xc
lea eax, [esp + 0x64]
mov edx, 0x14
push eax
mov ecx, esi
call fcn.0044ea60
add esp, 4
test eax, eax
je 0x45239e
lea ecx, [ebx + 0x6c]
mov dword [esp + 0x14], 0
push ecx
lea ecx, [esp + 0x10]
xorps xmm0, xmm0
push ecx
push 0
mov edx, eax
movq qword [esp + 0x18], xmm0
mov ecx, esi
call fcn.0044ec70
add esp, 0xc
lea eax, [esp + 0x64]
mov edx, 0x15
push eax
mov ecx, esi
call fcn.0044ea60
add esp, 4
test eax, eax
je 0x4523de
lea ecx, [ebx + 0x78]
mov dword [esp + 0x14], 0
push ecx
lea ecx, [esp + 0x10]
xorps xmm0, xmm0
push ecx
push 0
mov edx, eax
movq qword [esp + 0x18], xmm0
mov ecx, esi
call fcn.0044ec70
add esp, 0xc
lea eax, [esp + 0x64]
mov edx, 0x16
push eax
mov ecx, esi
call fcn.0044ea60
add esp, 4
test eax, eax
je 0x452421
lea ecx, [ebx + 0x84]
mov dword [esp + 0x14], 0
push ecx
lea ecx, [esp + 0x10]
xorps xmm0, xmm0
push ecx
push 0
mov edx, eax
movq qword [esp + 0x18], xmm0
mov ecx, esi
call fcn.0044ec70
add esp, 0xc
lea eax, [esp + 0x64]
mov edx, 0x17
push eax
mov ecx, esi
call fcn.0044ea60
add esp, 4
test eax, eax
je 0x452464
lea ecx, [ebx + 0x90]
mov dword [esp + 0x14], 0
push ecx
lea ecx, [esp + 0x10]
xorps xmm0, xmm0
push ecx
push 0
mov edx, eax
movq qword [esp + 0x18], xmm0
mov ecx, esi
call fcn.0044ec70
add esp, 0xc
lea eax, [esp + 0x64]
mov edx, 0x18
push eax
mov ecx, esi
call fcn.0044ea60
add esp, 4
test eax, eax
je 0x4524a7
lea edx, [ebx + 0x9c]
mov dword [esp + 0x14], 0
push edx
lea ecx, [esp + 0x10]
xorps xmm0, xmm0
push ecx
push 0
mov edx, eax
movq qword [esp + 0x18], xmm0
mov ecx, esi
call fcn.0044ec70
add esp, 0xc
mov ecx, dword [esp + 0x74]
pop edi
pop esi
pop ebx
xor ecx, esp
call fcn.004cf01b
mov esp, ebp
pop ebp
ret