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

Disassembly:
mov eax, 0x4cac
call fcn.004aa1c0
mov eax, dword [0x570f20]
xor eax, esp
mov dword [esp + 0x4ca8], eax
mov eax, dword [esp + 0x4cb4]
mov ecx, dword [esp + 0x4cb8]
mov edx, dword [esp + 0x4cbc]
mov dword [esp + 0x14], eax
mov eax, dword [esp + 0x4cc0]
push ebx
mov dword [esp + 0x48], eax
mov eax, dword [esp + 0x4cd4]
push ebp
mov ebp, dword [esp + 0x4cb8]
mov dword [esp + 0x30], ecx
mov ecx, dword [esp + 0x4ccc]
mov dword [esp + 0x44], edx
mov edx, dword [esp + 0x4cd0]
mov dword [esp + 0x58], eax
mov dword [esp + 0x5c], ecx
mov ecx, dword [ebp + 0x14f2c]
xor eax, eax
push esi
mov dword [esp + 0x58], edx
mov edx, dword [esp + 0x4cd8]
push edi
mov dword [esp + 0x18], ebp
mov dword [esp + 0x3c], ecx
cmp dword [ebp + 0x90], eax
je 0x487fab
mov ecx, dword [ebp + 0x14f30]
mov dword [esp + 0x50], ecx
jmp 0x487faf
mov dword [esp + 0x50], eax
movss xmm0, dword [ebp + 0xc4]
comiss xmm0, dword [0x4c8bc8]
jbe 0x487fdf
mov ecx, dword [ebp + 0x14f28]
movss xmm0, dword [ecx + 8]
movss xmm1, dword [ebp + 0xcc]
cvtps2pd xmm0, xmm0
cvtps2pd xmm1, xmm1
mulsd xmm0, xmm1
jmp 0x487fe7
movsd xmm0, qword [0x4c5bf8]
cmp dword [ebp + 0xb8], 1
cvtpd2ps xmm0, xmm0
movss dword [esp + 0x34], xmm0
mov dword [esp + 0x74], eax
mov dword [esp + 0x78], eax
mov dword [esp + 0x7c], eax
mov dword [esp + 0x80], eax
mov dword [esp + 0x84], eax
mov dword [esp + 0x88], eax
mov dword [esp + 0x8c], eax
mov dword [esp + 0x90], eax
mov dword [esp + 0x94], eax
mov dword [esp + 0x98], eax
mov dword [esp + 0x9c], eax
mov dword [esp + 0xa0], eax
mov dword [esp + 0xa4], eax
mov dword [esp + 0xa8], eax
mov dword [esp + 0xac], eax
mov dword [esp + 0xb0], eax
jne 0x48806b
mov dword [esp + 0x14], 4
jmp 0x488072
mov eax, dword [ebp + 0x4c]
mov dword [esp + 0x14], eax
lea esi, [ebp + 0x6440]
mov ecx, 0xf4
lea edi, [esp + 0x10e8]
rep movsd dword es:[edi], dword [esi]
lea ecx, [esp + 0x44]
push ecx
lea eax, [esp + 0x78]
push eax
mov eax, dword [esp + 0x5c]
lea ecx, [esp + 0xbc]
push ecx
mov ecx, dword [esp + 0x58]
push eax
mov eax, dword [esp + 0x34]
push ecx
mov ecx, dword [esp + 0x4c]
push eax
push ebp
call fcn.004860a0
add esp, 0x1c
lea edx, [esp + 0x44]
lea ecx, [ebp + 0x14]
call fcn.00487b90
xor esi, esi
cmp dword [esp + 0x14], esi
jle 0x4882b0
mov edi, 0x17a0
xor ebx, ebx
mov ecx, esi
and ecx, 1
shl ecx, 0xc
lea edx, [esp + 0x8e4]
push edx
mov edx, dword [esp + 0x28]
lea eax, [esp + ecx + 0x2cbc]
mov ecx, dword [esp + 0x3c]
push ecx
push esi
push ebp
call fcn.00485760
add esp, 0x10
cmp esi, 2
jge 0x48827c
mov edx, dword [esp + 0x38]
fld dword [edi + ebp + 0x5440]
xorps xmm0, xmm0
lea eax, [esi + edx*2 + 0x1b28]
fstp dword [ebp + eax*4]
mov eax, dword [ebp + 0x14f28]
xor ecx, ecx
add eax, 0x2d8
lea esp, [esp]
movss xmm1, dword [esp + ecx*4 + 0x8e4]
movss xmm2, dword [eax - 4]
cvtps2pd xmm1, xmm1
cvtss2sd xmm0, xmm0
cvtps2pd xmm2, xmm2
mulsd xmm1, xmm2
addsd xmm1, xmm0
movss xmm2, dword [eax]
xorps xmm0, xmm0
cvtpd2ps xmm0, xmm1
movss xmm1, dword [esp + ecx*4 + 0x8e8]
cvtps2pd xmm0, xmm0
cvtps2pd xmm1, xmm1
cvtps2pd xmm2, xmm2
mulsd xmm1, xmm2
addsd xmm0, xmm1
movss xmm1, dword [esp + ecx*4 + 0x8ec]
movss xmm2, dword [eax + 4]
cvtpd2ps xmm0, xmm0
cvtss2sd xmm0, xmm0
cvtps2pd xmm1, xmm1
cvtps2pd xmm2, xmm2
mulsd xmm1, xmm2
movss xmm2, dword [eax + 8]
addsd xmm0, xmm1
movss xmm1, dword [esp + ecx*4 + 0x8f0]
cvtpd2ps xmm0, xmm0
cvtss2sd xmm0, xmm0
cvtps2pd xmm1, xmm1
cvtps2pd xmm2, xmm2
mulsd xmm1, xmm2
movss xmm2, dword [eax + 0xc]
addsd xmm0, xmm1
movss xmm1, dword [esp + ecx*4 + 0x8f4]
cvtpd2ps xmm0, xmm0
cvtss2sd xmm0, xmm0
cvtps2pd xmm1, xmm1
cvtps2pd xmm2, xmm2
mulsd xmm1, xmm2
movss xmm2, dword [eax + 0x10]
addsd xmm0, xmm1
movss xmm1, dword [esp + ecx*4 + 0x8f8]
cvtpd2ps xmm0, xmm0
cvtss2sd xmm0, xmm0
cvtps2pd xmm1, xmm1
cvtps2pd xmm2, xmm2
mulsd xmm1, xmm2
movss xmm2, dword [eax + 0x14]
addsd xmm0, xmm1
movss xmm1, dword [esp + ecx*4 + 0x8fc]
cvtpd2ps xmm0, xmm0
cvtss2sd xmm0, xmm0
cvtps2pd xmm1, xmm1
cvtps2pd xmm2, xmm2
mulsd xmm1, xmm2
movss xmm2, dword [eax + 0x18]
addsd xmm0, xmm1
movss xmm1, dword [esp + ecx*4 + 0x900]
cvtpd2ps xmm0, xmm0
cvtss2sd xmm0, xmm0
cvtps2pd xmm1, xmm1
cvtps2pd xmm2, xmm2
add ecx, 8
mulsd xmm1, xmm2
add eax, 0x20
addsd xmm0, xmm1
cvtpd2ps xmm0, xmm0
cmp ecx, 0x200
jl 0x488130
cvtss2sd xmm0, xmm0
mulsd xmm0, qword [0x556c00]
cvtpd2ps xmm0, xmm0
movss dword [edi + ebp + 0x5440], xmm0
push esi
lea ecx, [esp + ebx + 0xe8]
push ecx
lea edx, [esp + ebx + 0x4ec]
push ebp
lea ecx, [esp + 0x8f0]
call fcn.00487620
inc esi
add esp, 0xc
add edi, 4
add ebx, 0x100
cmp esi, dword [esp + 0x14]
jl 0x4880d3
cmp dword [ebp + 0xb8], 1
jne 0x488317
mov eax, dword [esp + 0x48]
add eax, dword [esp + 0x44]
cmp eax, 2
jne 0x488317
mov eax, dword [esp + 0x3c]
mov ecx, dword [eax + 0x1a64]
movss xmm0, dword [ebp + 0xc4]
mov edx, dword [ebp + 0x14f28]
push ecx
sub esp, 8
movss dword [esp + 4], xmm0
movss xmm0, dword [esp + 0x40]
add edx, 0xd4
movss dword [esp], xmm0
push edx
lea ecx, [eax + 0x1500]
lea eax, [esp + 0xf4]
push eax
lea edx, [esp + 0x4f8]
call fcn.00487c50
add esp, 0x14
xor ebp, ebp
cmp dword [esp + 0x14], ebp
jle 0x488383
xor esi, esi
xor ebx, ebx
mov ecx, dword [esp + 0x18]
lea edx, [esi + ecx + 0x6440]
push edx
lea edx, [esi + ecx + 0x6810]
push edx
lea edi, [esp + ebx + 0x4ec]
lea eax, [esp + ebx + 0xec]
push edi
push eax
mov eax, dword [ecx + 0x14f2c]
add eax, 0x1200
push eax
call fcn.00484c90
lea eax, [esp + ebx + 0xf8]
mov ecx, edi
mov edi, dword [esp + 0x2c]
push eax
mov edx, ebp
call fcn.004850d0
inc ebp
add esp, 0x18
add esi, 0xf4
add ebx, 0x100
cmp ebp, dword [esp + 0x14]
jl 0x488323
mov ecx, dword [esp + 0x18]
mov edx, dword [ecx + 0x14f2c]
mov eax, dword [edx + 0x2b64]
mov dword [esp + 0x30], eax
mov dword [esp + 0x10], 0
nop
mov edi, dword [esp + 0x14]
mov ebp, dword [esp + 0x18]
xor esi, esi
test edi, edi
jle 0x48843a
xor ebx, ebx
mov eax, esi
and eax, 1
cmp dword [esp + eax*4 + 0x44], 0
je 0x4883da
cmp dword [esp + 0x30], 0
jne 0x4883da
mov ecx, dword [esp + 0x10]
push ecx
mov eax, esi
mov ecx, ebp
call fcn.00486ce0
add esp, 4
jmp 0x48842b
imul eax, eax, 0xc00
lea edi, [esp + eax + 0x14b8]
mov eax, dword [esp + 0x10]
lea edx, [esp + 0x8e4]
push edx
push eax
mov eax, dword [esp + 0x2c]
push esi
mov ecx, ebp
call fcn.00485cb0
mov ecx, dword [esp + 0x1c]
push ecx
lea edx, [esp + ebx + 0xf4]
push edx
lea eax, [esp + 0x8f8]
push eax
lea ecx, [esp + ebx + 0x4fc]
push ebp
mov edx, esi
call fcn.00486fd0
mov edi, dword [esp + 0x30]
add esp, 0x1c
inc esi
add ebx, 0x100
cmp esi, edi
jl 0x4883b4
cmp dword [ebp + 0xb8], 1
jne 0x48849e
mov ecx, dword [esp + 0x48]
add ecx, dword [esp + 0x44]
jne 0x48849e
mov eax, dword [esp + 0x3c]
mov ecx, dword [eax + 0x22d4]
movss xmm0, dword [ebp + 0xc4]
mov edx, dword [ebp + 0x14f28]
push ecx
sub esp, 8
movss dword [esp + 4], xmm0
movss xmm0, dword [esp + 0x40]
add edx, 0x1d4
movss dword [esp], xmm0
push edx
lea ecx, [eax + 0x1d70]
lea eax, [esp + 0xf4]
push eax
lea edx, [esp + 0x4f8]
call fcn.00487c50
add esp, 0x14
xor ebx, ebx
test edi, edi
jle 0x4884e6
xor ebp, ebp
mov ecx, ebx
and ecx, 1
cmp dword [esp + ecx*4 + 0x44], 0
je 0x4884b9
cmp dword [esp + 0x30], 0
je 0x4884d9
mov edi, dword [esp + 0x10]
mov esi, dword [esp + 0x18]
lea edx, [esp + ebp + 0xe4]
push ebx
lea ecx, [esp + ebp + 0x4e8]
push edx
call fcn.00484f40
add esp, 8
inc ebx
add ebp, 0x100
cmp ebx, dword [esp + 0x14]
jl 0x4884a6
mov eax, dword [esp + 0x10]
inc eax
mov dword [esp + 0x10], eax
cmp eax, 3
jl 0x4883a0
cmp dword [esp + 0x14], 0
mov dword [esp + 0x24], 0
jle 0x4887ce
xorps xmm3, xmm3
xor eax, eax
mov dword [esp + 0x2c], eax
mov dword [esp + 0x34], eax
mov dword [esp + 0x3c], 0x416
mov eax, dword [esp + 0x3c]
mov ecx, dword [esp + 0x2c]
mov dword [esp + 0x30], eax
mov eax, dword [esp + 0x18]
lea edx, [eax + ecx + 0x649c]
mov dword [esp + 0x40], 0
mov dword [esp + 0x58], edx
xor esi, esi
mov eax, dword [esp + 0x30]
mov ebp, dword [esp + 0x18]
add eax, esi
movss xmm0, dword [ebp + eax*4 + 0x5440]
cvtps2pd xmm0, xmm0
mulsd xmm0, qword [0x556c70]
cvtpd2ps xmm0, xmm0
movaps xmm2, xmm0
movaps xmm1, xmm0
movss dword [esp + 0x20], xmm0
movss dword [esp + 0x1c], xmm2
movss dword [esp + 0x28], xmm1
test esi, esi
jle 0x48858b
movss xmm4, dword [esp + esi*4 + 0x64]
jmp 0x48859c
mov ecx, dword [esp + 0x40]
add ecx, dword [esp + 0x2c]
movss xmm4, dword [esp + ecx + 0x1148]
mov eax, dword [esp + 0x24]
fld dword [esp + 0x20]
lea eax, [esi + eax*4]
add eax, eax
add eax, eax
mov edi, dword [esp + eax + 0x74]
lea ebx, [esp + eax + 0x74]
movss dword [esp + 0x10], xmm4
cmp edi, 2
jge 0x4885c5
cmp dword [esp + eax + 0x78], 1
jne 0x48860f
comiss xmm0, xmm3
jbe 0x488606
fdivr dword [esp + 0x10]
fld qword [0x556c68]
call fcn.004aabb0
fstp dword [esp + 0x28]
fld dword [esp + 0x28]
movss xmm2, dword [esp + 0x1c]
fld dword [esp + 0x20]
movss xmm0, dword [esp + 0x20]
xorps xmm3, xmm3
fld st(0)
fmulp st(2)
fxch st(1)
fstp dword [esp + 0x28]
movss xmm1, dword [esp + 0x28]
jmp 0x48860f
movaps xmm1, xmm3
movss dword [esp + 0x28], xmm1
xorps xmm4, xmm4
xorps xmm5, xmm5
cvtss2sd xmm4, xmm1
cvtss2sd xmm5, xmm0
comisd xmm5, xmm4
jbe 0x488632
movaps xmm0, xmm1
fstp st(0)
movss dword [esp + 0x20], xmm0
fld dword [esp + 0x20]
cmp edi, 1
jne 0x48865c
comiss xmm0, xmm3
jbe 0x4886fd
fdivr dword [esp + 0x10]
fld qword [0x556c60]
call fcn.004aabb0
fstp dword [esp + 0x1c]
fld dword [esp + 0x1c]
jmp 0x4886de
test esi, esi
jne 0x488673
mov ecx, dword [esp + 0x24]
cmp dword [ebp + ecx*4 + 0x6c88], 3
je 0x488683
jmp 0x488700
jle 0x488700
cmp dword [ebx - 4], 3
jne 0x488700
mov eax, esi
sub eax, 0
je 0x4886ab
dec eax
je 0x488698
dec eax
jne 0x4886c2
movss xmm2, dword [esp + 0x68]
jmp 0x4886bc
mov edx, dword [esp + 0x40]
add edx, dword [esp + 0x2c]
movss xmm2, dword [esp + edx + 0x1148]
jmp 0x4886bc
mov ecx, dword [esp + 0x40]
add ecx, dword [esp + 0x2c]
movss xmm2, dword [esp + ecx + 0x1144]
movss dword [esp + 0x10], xmm2
comiss xmm0, xmm3
jbe 0x4886fd
fdivr dword [esp + 0x10]
fld qword [0x556c60]
call fcn.004aabb0
fstp dword [esp + 0x1c]
fld dword [esp + 0x1c]
fmul dword [esp + 0x20]
movss xmm1, dword [esp + 0x28]
movss xmm0, dword [esp + 0x20]
xorps xmm3, xmm3
fstp dword [esp + 0x1c]
movss xmm2, dword [esp + 0x1c]
jmp 0x488702
movaps xmm2, xmm3
fstp st(0)
xorps xmm4, xmm4
xorps xmm5, xmm5
cvtss2sd xmm4, xmm1
cvtss2sd xmm5, xmm0
comisd xmm5, xmm4
jbe 0x488719
movaps xmm0, xmm1
xorps xmm1, xmm1
xorps xmm4, xmm4
cvtss2sd xmm1, xmm2
cvtss2sd xmm4, xmm0
comisd xmm4, xmm1
jbe 0x488730
movaps xmm0, xmm2
mov eax, dword [esp + 0x34]
lea ecx, [esi + eax]
movss xmm1, dword [esp + ecx*4 + 0xb4]
cvtss2sd xmm0, xmm0
cvtps2pd xmm1, xmm1
mulsd xmm1, xmm0
xorps xmm0, xmm0
cvtpd2ps xmm0, xmm1
movss dword [esp + esi*4 + 0x68], xmm0
inc esi
cmp esi, 3
jl 0x488545
mov eax, dword [esp + 0x58]
movss xmm0, dword [esp + 0x68]
mov ecx, dword [esp + 0x40]
add dword [esp + 0x30], 3
movss dword [eax - 4], xmm0
movss xmm0, dword [esp + 0x6c]
movss dword [eax], xmm0
movss xmm0, dword [esp + 0x70]
add ecx, 0xc
movss dword [eax + 4], xmm0
add eax, 0xc
mov dword [esp + 0x40], ecx
mov dword [esp + 0x58], eax
cmp ecx, 0x9c
jl 0x488543
mov eax, dword [esp + 0x24]
add dword [esp + 0x34], 3
add dword [esp + 0x3c], 0x3d
add dword [esp + 0x2c], 0xf4
inc eax
mov dword [esp + 0x24], eax
cmp eax, dword [esp + 0x14]
jl 0x488520
mov edi, dword [esp + 0x14]
mov esi, dword [esp + 0x18]
test edi, edi
jle 0x4887f3
lea ecx, [esp + 0x7c]
lea eax, [esi + 0x6c88]
mov edx, edi
mov ebx, dword [ecx]
mov dword [eax], ebx
add eax, 4
add ecx, 0x10
dec edx
jne 0x4887e6
mov ebp, dword [esp + 0x60]
mov ecx, dword [esi + 0x4c]
lea edx, [esp + 0x44]
push ebp
push edx
lea eax, [esi + 0x5440]
call fcn.00487bf0
add esp, 8
xor esi, esi
test edi, edi
jle 0x4888d3
mov ebx, dword [esp + 0x38]
add ebx, ebx
imul ebx, ebx, 0x1e8
add ebx, dword [esp + 0x4c]
cmp esi, 1
jle 0x48885d
mov edi, dword [esp + 0x5c]
add edi, 0xfffffff8
xor ecx, ecx
cmp dword [ebp], 2
je 0x488842
cmp dword [ebp + 4], 2
jne 0x488847
mov ecx, 2
mov eax, dword [esp + 0x38]
add eax, eax
lea eax, [eax + esi - 2]
imul eax, eax, 0x1e8
add eax, dword [esp + 0x54]
jmp 0x488867
mov edi, dword [esp + 0x64]
mov ecx, dword [ebp + esi*4]
mov eax, ebx
push ecx
cmp ecx, 2
jne 0x488889
mov ecx, dword [esp + 0x1c]
movss xmm0, dword [ecx + 0x14bac]
movss dword [esp], xmm0
push eax
call fcn.00485170
add esp, 8
jmp 0x4888a2
mov edx, dword [esp + 0x1c]
movss xmm0, dword [edx + 0x14bac]
movss dword [esp], xmm0
call fcn.00485280
add esp, 4
mov eax, dword [esp + 0x50]
movss dword [edi + esi*4], xmm0
test eax, eax
je 0x4888c2
mov ecx, dword [esp + 0x38]
lea edx, [esi + ecx*4]
cvtps2pd xmm0, xmm0
movsd qword [eax + edx*8 + 0x2e338], xmm0
inc esi
add ebx, 0x1e8
cmp esi, dword [esp + 0x14]
jl 0x488828
mov ecx, dword [esp + 0x4cb8]
pop edi
pop esi
pop ebp
pop ebx
xor ecx, esp
xor eax, eax
call fcn.004a7314
add esp, 0x4cac
ret