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

Disassembly:
push ebx
mov ebx, esp
sub esp, 8
and esp, 0xfffffff0
add esp, 4
push ebp
mov ebp, dword [ebx + 4]
mov dword [esp + 4], ebp
mov ebp, esp
sub esp, 0x1d8
mov eax, dword [0x515040]
xor eax, ebp
mov dword [ebp - 4], eax
mov eax, dword [ebx + 0x10]
mov dword [ebp - 0x88], eax
mov eax, dword [0x5770e0]
movss dword [ebp - 0xb4], xmm0
movss dword [ebp - 0xb0], xmm1
push esi
mov eax, dword [eax + 0x10]
mov esi, edx
mov edx, ecx
mov dword [ebp - 0xac], esi
push edi
mov edi, dword [ebx + 0xc]
movd xmm0, eax
cvtdq2pd xmm0, xmm0
shr eax, 0x1f
mov dword [ebp - 0x94], edx
addsd xmm0, qword [eax*8 + 0x50e260]
xor eax, eax
mov dword [ebp - 0x98], eax
cvtpd2ps xmm1, xmm0
mulss xmm1, dword [0x50d1c8]
movss dword [ebp - 0x90], xmm1
addss xmm1, dword [0x50d330]
movss dword [ebp - 0x8c], xmm1
cmp dword [edx + 0x597c], eax
jbe 0x45c5c7
lea ecx, [esi + 0x3380]
add esi, 0x2e80
mov dword [ebp - 0x9c], ecx
nop word [eax + eax]
cmp dword [ecx], 0
lea eax, [eax + 0x1021]
lea eax, [edx + eax*4]
mov dword [ebp - 0xd0], esi
mov dword [ebp - 0xd4], eax
je 0x45c5a2
movss xmm0, dword [esi]
cvtps2pd xmm0, xmm0
movsd qword [ebp - 0x78], xmm0
movss xmm0, dword [esi + 8]
fld qword [ebp - 0x78]
cvtps2pd xmm0, xmm0
movsd qword [ebp - 0x78], xmm0
fld qword [ebp - 0x78]
call fcn.004ee130
movss xmm0, dword [esi]
movss xmm1, dword [esi + 8]
mulss xmm0, xmm0
mulss xmm1, xmm1
addss xmm0, dword [0x50d18c]
fstp dword [ebp - 0x70]
addss xmm0, xmm1
call fcn.00457490
movss xmm5, dword [esi]
movaps xmm2, xmm0
movss xmm6, dword [esi + 8]
xorps xmm0, xmm0
ucomiss xmm2, xmm0
movaps xmm3, xmm5
movaps xmm4, xmm6
lahf
test ah, 0x44
jnp 0x45bee2
movss xmm1, dword [0x50d330]
divss xmm1, xmm2
movaps xmm2, xmm1
mulss xmm3, xmm1
mulss xmm2, xmm0
mulss xmm4, xmm1
jmp 0x45bee5
xorps xmm2, xmm2
movss xmm1, dword [esi + 4]
mulss xmm2, xmm1
mulss xmm3, xmm5
mulss xmm4, xmm6
addss xmm2, xmm3
cvtps2pd xmm0, xmm1
addss xmm2, xmm4
movsd qword [ebp - 0x78], xmm0
xorps xmm0, xmm0
fld qword [ebp - 0x78]
xorps xmm2, xmmword [0x50e290]
cvtss2sd xmm0, xmm2
movsd qword [ebp - 0x78], xmm0
fld qword [ebp - 0x78]
call fcn.004ee130
fstp qword [ebp - 0x78]
movsd xmm0, qword [ebp - 0x78]
xorps xmm2, xmm2
cvtpd2ps xmm0, xmm0
addss xmm0, dword [0x50d448]
xorps xmm0, xmmword [0x50e290]
ucomiss xmm2, xmm0
movss dword [ebp - 0x6c], xmm0
cvtss2sd xmm0, xmm0
lahf
movsd qword [ebp - 0x78], xmm0
test ah, 0x44
jp 0x45bf6d
movss xmm1, dword [0x50d364]
movss dword [ebp - 0x68], xmm2
movss dword [ebp - 0x64], xmm1
jmp 0x45bfc4
call fcn.004ef120
cvtsd2ss xmm0, xmm0
movss dword [ebp - 0x68], xmm0
movsd xmm0, qword [ebp - 0x78]
call fcn.004ee160
movss xmm1, dword [ebp - 0x68]
xorps xmm3, xmm3
movss xmm5, dword [0x50d364]
xorps xmm2, xmm2
cvtsd2ss xmm3, xmm0
movaps xmm0, xmm1
mulss xmm1, xmm2
movaps xmm4, xmm3
mulss xmm0, xmm5
mulss xmm4, xmm2
mulss xmm3, xmm5
addss xmm4, xmm0
subss xmm3, xmm1
movss dword [ebp - 0x68], xmm4
movss dword [ebp - 0x64], xmm3
ucomiss xmm2, dword [ebp - 0x70]
lahf
test ah, 0x44
jp 0x45bfd8
movss dword [ebp - 0xf0], xmm2
jmp 0x45c03c
movss xmm0, dword [ebp - 0x70]
cvtps2pd xmm0, xmm0
call fcn.004ef120
cvtsd2ss xmm0, xmm0
movss dword [ebp - 0x84], xmm0
movss xmm0, dword [ebp - 0x70]
cvtps2pd xmm0, xmm0
call fcn.004ee160
movss xmm2, dword [ebp - 0x84]
xorps xmm1, xmm1
cvtsd2ss xmm1, xmm0
movaps xmm5, xmm2
xorps xmm3, xmm3
mulss xmm5, dword [ebp - 0x64]
movaps xmm0, xmm1
mulss xmm1, dword [ebp - 0x64]
mulss xmm0, xmm3
mulss xmm2, xmm3
addss xmm5, xmm0
subss xmm1, xmm2
movups xmmword [ebp - 0xf0], xmm5
movss dword [ebp - 0x64], xmm1
lea eax, [ebp - 0x1b0]
push eax
lea ecx, [ebp - 0xd4]
call fcn.004c57d0
movups xmm1, xmmword [ebp - 0xf0]
add esp, 4
movss xmm2, dword [ebp - 0x68]
movq xmm0, qword [eax]
mov eax, dword [eax + 8]
movq qword [ebp - 0xc0], xmm0
addss xmm1, dword [ebp - 0xc0]
addss xmm2, dword [ebp - 0xbc]
movss xmm0, dword [ebp - 0x64]
mov dword [ebp - 0xb8], eax
addss xmm0, dword [ebp - 0xb8]
unpcklps xmm1, xmm2
movq qword [ebp - 0x1c], xmm1
xorps xmm1, xmm1
ucomiss xmm1, dword [ebp - 0x6c]
movss dword [ebp - 0x160], xmm0
mov eax, dword [ebp - 0x160]
mov dword [ebp - 0x14], eax
lahf
test ah, 0x44
jp 0x45c0c4
movss xmm2, dword [0x50d330]
movss dword [ebp - 0x64], xmm1
jmp 0x45c10b
movsd xmm0, qword [ebp - 0x78]
call fcn.004ef120
xorps xmm1, xmm1
cvtsd2ss xmm1, xmm0
movsd xmm0, qword [ebp - 0x78]
movss dword [ebp - 0x6c], xmm1
call fcn.004ee160
xorps xmm2, xmm2
xorps xmm1, xmm1
cvtsd2ss xmm2, xmm0
movss xmm0, dword [ebp - 0x6c]
movaps xmm3, xmm2
mulss xmm3, xmm1
addss xmm3, xmm0
mulss xmm0, xmm1
subss xmm2, xmm0
movss dword [ebp - 0x64], xmm3
ucomiss xmm1, dword [ebp - 0x70]
movss dword [ebp - 0x68], xmm2
lahf
test ah, 0x44
jp 0x45c11f
xorps xmm5, xmm5
jmp 0x45c177
movss xmm0, dword [ebp - 0x70]
cvtps2pd xmm0, xmm0
call fcn.004ef120
xorps xmm1, xmm1
cvtsd2ss xmm1, xmm0
movss xmm0, dword [ebp - 0x70]
cvtps2pd xmm0, xmm0
movss dword [ebp - 0x6c], xmm1
call fcn.004ee160
movss xmm2, dword [ebp - 0x6c]
xorps xmm1, xmm1
cvtsd2ss xmm1, xmm0
movaps xmm5, xmm2
xorps xmm3, xmm3
mulss xmm5, dword [ebp - 0x68]
movaps xmm0, xmm1
mulss xmm1, dword [ebp - 0x68]
mulss xmm2, xmm3
mulss xmm0, xmm3
subss xmm1, xmm2
addss xmm5, xmm0
movaps xmm2, xmm1
movss xmm1, dword [0x50d5a8]
movss xmm0, dword [ebp - 0x64]
mulss xmm2, xmm1
push 0x38
mulss xmm5, xmm1
push 0
mulss xmm0, xmm1
movss dword [ebp - 0xf4], xmm2
mov eax, dword [ebp - 0xf4]
mov dword [ebp - 8], eax
lea eax, [ebp - 0x1a0]
unpcklps xmm5, xmm0
push eax
movq qword [ebp - 0x10], xmm5
call fcn.004d0d20
movups xmm0, xmmword [ebp - 0x1a0]
mov edx, dword [ebp - 0xac]
lea eax, [ebp - 0x60]
mov ecx, dword [ebp - 0x94]
add esp, 0xc
movups xmmword [ebp - 0x60], xmm0
mov dword [ebp - 0x16c], 0x7f7fffff
movups xmm0, xmmword [ebp - 0x190]
push eax
lea eax, [ebp - 0x1c]
movups xmmword [ebp - 0x50], xmm0
push eax
movups xmm0, xmmword [ebp - 0x180]
push 0xe
movups xmmword [ebp - 0x40], xmm0
movq xmm0, qword [ebp - 0x170]
movq qword [ebp - 0x30], xmm0
call fcn.004bc7d0
mov edx, dword [edi]
add esp, 0xc
mov eax, dword [edi + 4]
shl edx, 0xb
xor edx, dword [edi]
mov dword [edi], eax
mov eax, dword [edi + 8]
mov dword [edi + 4], eax
mov eax, dword [edi + 0xc]
mov ecx, eax
shr ecx, 0xb
xor ecx, edx
movss xmm1, dword [ebp - 0xb0]
movss xmm2, dword [ebp - 0xb4]
shr ecx, 8
subss xmm1, xmm2
xor ecx, eax
mov dword [edi + 8], eax
mov eax, dword [ebx + 8]
xor ecx, edx
add eax, 0xc0
mov dword [edi + 0xc], ecx
push eax
mov eax, 0xd1b71759
mul ecx
shr edx, 0xd
imul eax, edx, 0x2710
sub ecx, eax
cmp dword [ebp - 0x30], 0
jne 0x45c3f4
movss xmm0, dword [ebp - 0x10]
lea eax, [ebp - 0x1c0]
addss xmm0, dword [ebp - 0x1c]
push eax
lea edx, [ebp - 0x28]
movaps xmmword [ebp - 0x80], xmm0
movss dword [ebp - 0x28], xmm0
movss xmm0, dword [ebp - 0xc]
addss xmm0, dword [ebp - 0x18]
movss dword [ebp - 0x6c], xmm0
movss dword [ebp - 0x24], xmm0
movss xmm0, dword [ebp - 8]
addss xmm0, dword [ebp - 0x14]
movss dword [ebp - 0x84], xmm0
movss dword [ebp - 0x20], xmm0
movd xmm0, ecx
cvtdq2pd xmm0, xmm0
shr ecx, 0x1f
addsd xmm0, qword [ecx*8 + 0x50e260]
lea ecx, [ebp - 0x1c]
cvtpd2ps xmm3, xmm0
mulss xmm3, dword [0x50d190]
mulss xmm3, xmm1
addss xmm3, xmm2
call fcn.00453880
mov ecx, dword [ebp - 0x88]
add esp, 8
movq xmm0, qword [eax]
mov eax, dword [eax + 8]
movq qword [ebp - 0xcc], xmm0
mov dword [ebp - 0xc4], eax
call fcn.004551f0
movss xmm3, dword [ebp - 0xc4]
mov ecx, eax
movss xmm0, dword [ebp - 0x14]
movss xmm5, dword [ebp - 0xcc]
subss xmm0, xmm3
movss xmm4, dword [ebp - 0xc8]
movss xmm2, dword [ebp - 0x1c]
movss xmm1, dword [ebp - 0x18]
subss xmm2, xmm5
movss xmm6, dword [ebp - 0x84]
subss xmm1, xmm4
movss xmm7, dword [ebp - 0x6c]
movss dword [ebp - 0x100], xmm0
movaps xmm0, xmm3
addss xmm0, dword [ebp - 0x14]
mov eax, dword [ebp - 0x100]
unpcklps xmm2, xmm1
movaps xmm1, xmm4
addss xmm1, dword [ebp - 0x18]
movq qword [ecx], xmm2
movaps xmm2, xmm5
addss xmm2, dword [ebp - 0x1c]
movss dword [ebp - 0x10c], xmm0
movaps xmm0, xmm3
addss xmm0, xmm6
mov dword [ecx + 8], eax
mov eax, dword [ebp - 0x10c]
subss xmm6, xmm3
unpcklps xmm2, xmm1
movaps xmm1, xmm4
movq qword [ecx + 0x20], xmm2
addss xmm1, xmm7
movss dword [ebp - 0x118], xmm0
subss xmm7, xmm4
movaps xmm0, xmmword [ebp - 0x80]
movaps xmm2, xmm5
addss xmm2, dword [ebp - 0x80]
subss xmm0, xmm5
mov dword [ecx + 0x28], eax
mov eax, dword [ebp - 0x118]
movss dword [ebp - 0x124], xmm6
unpcklps xmm2, xmm1
movq qword [ecx + 0x40], xmm2
unpcklps xmm0, xmm7
mov dword [ecx + 0x48], eax
mov eax, dword [ebp - 0x124]
movq qword [ecx + 0x60], xmm0
jmp 0x45c537
movd xmm0, ecx
lea eax, [ebp - 0x1d0]
cvtdq2pd xmm0, xmm0
shr ecx, 0x1f
lea edx, [ebp - 0x60]
push eax
addsd xmm0, qword [ecx*8 + 0x50e260]
lea ecx, [ebp - 0x1c]
cvtpd2ps xmm3, xmm0
mulss xmm3, dword [0x50d190]
mulss xmm3, xmm1
addss xmm3, xmm2
call fcn.00453880
mov ecx, dword [ebp - 0x88]
add esp, 8
movq xmm0, qword [eax]
mov eax, dword [eax + 8]
movq qword [ebp - 0xa8], xmm0
mov dword [ebp - 0xa0], eax
call fcn.004551f0
movss xmm7, dword [ebp - 0xa4]
mov ecx, eax
movss xmm2, dword [ebp - 0x1c]
subss xmm2, dword [ebp - 0xa8]
movss xmm1, dword [ebp - 0x18]
movss xmm6, dword [ebp - 0xa0]
subss xmm1, xmm7
movss xmm0, dword [ebp - 0x14]
movss xmm5, dword [ebp - 0x60]
subss xmm0, xmm6
movss xmm4, dword [ebp - 0x5c]
movss xmm3, dword [ebp - 0x58]
unpcklps xmm2, xmm1
movaps xmm1, xmm7
addss xmm1, dword [ebp - 0x18]
movq qword [ecx], xmm2
movss xmm2, dword [ebp - 0xa8]
addss xmm2, dword [ebp - 0x1c]
movss dword [ebp - 0x130], xmm0
movaps xmm0, xmm6
addss xmm0, dword [ebp - 0x14]
mov eax, dword [ebp - 0x130]
mov dword [ecx + 8], eax
unpcklps xmm2, xmm1
movaps xmm1, xmm4
movq qword [ecx + 0x20], xmm2
addss xmm1, xmm7
movaps xmm2, xmm5
movss dword [ebp - 0x13c], xmm0
addss xmm2, dword [ebp - 0xa8]
subss xmm5, dword [ebp - 0xa8]
mov eax, dword [ebp - 0x13c]
subss xmm4, xmm7
movaps xmm0, xmm3
mov dword [ecx + 0x28], eax
addss xmm0, xmm6
subss xmm3, xmm6
unpcklps xmm2, xmm1
movq qword [ecx + 0x40], xmm2
unpcklps xmm5, xmm4
movq qword [ecx + 0x60], xmm5
movss dword [ebp - 0x148], xmm0
mov eax, dword [ebp - 0x148]
mov dword [ecx + 0x48], eax
movss dword [ebp - 0x154], xmm3
mov eax, dword [ebp - 0x154]
movss xmm0, dword [ebp - 0x90]
movss xmm1, dword [ebp - 0x8c]
mov edx, dword [ebp - 0x94]
mov dword [ecx + 0x7c], 0x3f000000
movss dword [ecx + 0x78], xmm0
mov dword [ecx + 0x5c], 0x3fc00000
movss dword [ecx + 0x58], xmm0
mov dword [ecx + 0x3c], 0x3fc00000
movss dword [ecx + 0x38], xmm1
mov dword [ecx + 0x1c], 0x3f000000
movss dword [ecx + 0x18], xmm1
mov dword [ecx + 0x68], eax
mov dword [ecx + 0xc], 0x40000000
mov dword [ecx + 0x2c], 0x40000000
mov dword [ecx + 0x4c], 0
mov dword [ecx + 0x6c], 0
mov ecx, dword [ebp - 0x9c]
mov eax, dword [ebp - 0x98]
add ecx, 8
inc eax
mov dword [ebp - 0x9c], ecx
add esi, 0x14
mov dword [ebp - 0x98], eax
cmp eax, dword [edx + 0x597c]
jb 0x45be40
mov ecx, dword [ebp - 4]
pop edi
xor ecx, ebp
pop esi
call fcn.004cf01b
mov esp, ebp
pop ebp
mov esp, ebx
pop ebx
ret