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

Disassembly:
push ebp
mov ebp, esp
and esp, 0xffffffc0
sub esp, 0xb4
push ebx
push esi
push edi
mov ecx, dword [ebp + 8]
mov edx, 0x80000000
movss xmm0, dword [0x1006b54c]
movss xmm2, dword [0x1006b544]
movss xmm3, dword [0x1006b548]
movss xmm4, dword [0x1006b55c]
movss xmm5, dword [0x1006b564]
movss xmm6, dword [0x1006b568]
mov ebx, dword [ebp + 0xc]
movss dword [esp + 0x94], xmm0
movss xmm0, dword [0x1006b550]
movss dword [esp + 0x98], xmm0
mov eax, dword [ebx + 8]
movss xmm0, dword [0x1006b554]
mov dword [esp + 0x30], eax
mov eax, dword [ecx]
mov dword [esp + 0x90], eax
mov eax, dword [ebx + 0x10]
mov dword [esp + 0x70], eax
mov eax, dword [ecx + 0x34]
xor ecx, ecx
movss dword [esp + 0x50], xmm0
movss xmm0, dword [0x1006b558]
mov dword [esp + 0x8c], eax
mov eax, 0x7fffffff
mov esi, dword [ebx + 0x14]
movss dword [esp + 0x9c], xmm0
movss xmm0, dword [0x1006b560]
mov dword [esp + 0x2c], eax
mov eax, dword [ebp + 0x10]
movss dword [esp + 0x78], xmm2
movss dword [esp + 0x7c], xmm3
movss dword [esp + 0x5c], xmm4
movss dword [esp + 0x64], xmm0
movss dword [esp + 0x68], xmm5
movss dword [esp + 0x6c], xmm6
mov dword [esp + 0x20], esi
mov dword [esp + 0x3c], edx
mov dword [esp + 0x58], ecx
test eax, eax
je 0x100185c9
mov edi, dword [eax + 4]
mov eax, dword [eax + 0xc]
jmp 0x100185dc
mov eax, dword [ebx + 4]
mov ecx, dword [eax]
mov eax, dword [eax + 8]
movzx edi, word [ecx + 2]
movzx eax, word [ecx + eax*8 - 6]
xor ecx, ecx
mov ebx, dword [ebp + 0x14]
cmp ebx, eax
jge 0x10018e0c
cmp ebx, edi
cmovl ebx, edi
mov edi, dword [ebp + 0x10]
mov dword [ebp + 0x14], ebx
mov ebx, dword [ebp + 0x18]
cmp ebx, eax
cmovg ebx, eax
mov dword [ebp + 0x18], ebx
xor ebx, ebx
mov dword [esp + 0x60], ebx
test edi, edi
je 0x10018620
mov eax, dword [edi]
mov edx, dword [edi + 8]
mov dword [esp + 0x2c], eax
mov eax, dword [ebp + 0xc]
add eax, 4
mov dword [esp + 0x3c], edx
mov dword [esp + 0x54], eax
jmp 0x1001865c
mov eax, dword [ebp + 0xc]
mov edi, dword [ebp + 0x14]
add eax, 4
mov dword [esp + 0x54], eax
mov eax, dword [eax]
mov ecx, dword [eax]
mov dword [esp + 0x58], ecx
movzx eax, word [ecx + 2]
cmp eax, edi
jge 0x1001865c
nop dword [eax]
movzx eax, word [ecx + 0xa]
add ecx, 8
inc ebx
cmp eax, edi
jl 0x10018640
mov dword [esp + 0x60], ebx
mov ebx, dword [esp + 0x54]
mov dword [esp + 0x58], ecx
mov dword [esp + 0x54], ebx
mov eax, dword [ebp + 0x14]
cmp eax, dword [ebp + 0x18]
jge 0x10018dec
mov ebx, dword [esp + 0x8c]
movss xmm1, dword [esp + 0x50]
imul ebx, eax
mov dword [esp + 0x88], ebx
nop
cmp dword [ebp + 0x10], 0
cvttss2si ebx, xmm4
cvttss2si edi, xmm0
mov dword [esp + 0x4c], ebx
mov dword [esp + 0x38], edi
jne 0x10018708
mov eax, 0x7fffffff
mov edx, 0x80000000
mov dword [esp + 0x2c], eax
movzx eax, word [ecx + 2]
mov dword [esp + 0x3c], edx
cmp eax, dword [ebp + 0x14]
jne 0x10018708
mov eax, dword [esp + 0x54]
mov esi, dword [esp + 0x58]
mov ebx, dword [esp + 0x60]
mov eax, dword [eax]
mov edi, dword [eax + 8]
mov ecx, edx
cmp ebx, edi
jae 0x100186f0
movzx eax, word [esi]
movzx edx, word [esi + 4]
add edx, eax
cmp ecx, edx
cmovge edx, ecx
add esi, 8
inc ebx
cmp dword [esp + 0x2c], eax
cmovle eax, dword [esp + 0x2c]
mov dword [esp + 0x2c], eax
movzx eax, word [esi + 2]
cmp eax, dword [ebp + 0x14]
je 0x100186c2
mov edi, dword [esp + 0x38]
mov dword [esp + 0x60], ebx
mov ebx, dword [esp + 0x4c]
mov dword [esp + 0x58], esi
mov esi, dword [esp + 0x20]
mov dword [esp + 0x3c], edx
cmp ebx, dword [esp + 0x2c]
mov ecx, dword [ebp + 0x1c]
cmovl ebx, dword [esp + 0x2c]
cmp edi, edx
mov eax, dword [ebp + 0x14]
cmovg edi, edx
sub eax, dword [ecx + 4]
mov ecx, dword [ecx]
mov dword [esp + 0x38], edi
lea eax, [eax + eax*2]
cmp dword [ecx + eax*8], ebx
jle 0x10018730
mov dword [ecx + eax*8], ebx
mov ecx, dword [ebp + 0x1c]
mov ecx, dword [ecx]
cmp dword [ecx + eax*8 + 4], edi
jge 0x1001873f
mov dword [ecx + eax*8 + 4], edi
mov eax, edi
sub eax, ebx
cmp eax, 1
jl 0x10018d36
cmp ebx, edx
jge 0x10018d36
cmp edi, dword [esp + 0x2c]
jle 0x10018d36
mov eax, dword [esp + 0x88]
movaps xmm1, xmm4
mov ecx, dword [esp + 0x90]
add eax, ebx
movd xmm0, ebx
cvtdq2ps xmm0, xmm0
lea eax, [ecx + eax*4]
mov dword [esp + 0x74], eax
subss xmm1, xmm0
movss xmm0, dword [0x10055634]
subss xmm0, xmm1
movaps xmm1, xmm0
mulss xmm0, xmm3
mulss xmm1, xmm2
addss xmm0, xmm6
addss xmm1, xmm5
movss dword [esp + 0x24], xmm0
movss dword [esp + 0x34], xmm1
cmp ebx, edi
jge 0x10018d30
cmp byte [ebp + 0x20], 0xff
mov eax, dword [esp + 0x38]
jne 0x10018a60
cvttss2si edi, xmm1
inc ebx
mov dword [esp + 0x4c], ebx
mov dword [esp + 0x84], edi
cmp edi, esi
jge 0x10018a4e
cvttss2si esi, xmm0
cmp esi, dword [esp + 0x70]
jge 0x10018a4a
lea eax, [esp + 0xa0]
xorps xmm0, xmm0
push eax
cvtss2sd xmm0, xmm1
sub esp, 8
movsd qword [esp], xmm0
call fcn.1003a8e0
movss xmm1, dword [0x10055634]
add esp, 0xc
fstp qword [esp + 0x40]
movsd xmm0, qword [esp + 0x40]
cvtpd2ps xmm0, xmm0
subss xmm1, xmm0
movss xmm0, dword [esp + 0x24]
cvtps2pd xmm0, xmm0
mulss xmm1, dword [0x10055698]
cvttss2si eax, xmm1
mov dword [esp + 0x28], eax
lea eax, [esp + 0xa8]
push eax
sub esp, 8
movsd qword [esp], xmm0
call fcn.1003a8e0
movss xmm1, dword [0x10055634]
lea ecx, [esi + 1]
imul esi, dword [esp + 0x2c]
lea edx, [edi + 1]
fstp qword [esp + 0x4c]
movsd xmm0, qword [esp + 0x4c]
add esp, 0xc
cvtpd2ps xmm0, xmm0
mov dword [esp + 0x40], edx
mov dword [esp + 0x80], ecx
lea eax, [esi + edi]
mov edi, dword [esp + 0x30]
subss xmm1, xmm0
mov edi, dword [edi + eax*4]
mov eax, dword [esp + 0x20]
mulss xmm1, dword [0x10055698]
cmp edx, eax
jge 0x10018908
mov ecx, dword [esp + 0x30]
lea eax, [esi + edx]
mov edx, edi
and edi, 0xff00ff
shr edx, 8
and edx, 0xff00ff
mov esi, dword [ecx + eax*4]
mov eax, dword [esp + 0x28]
movzx ecx, al
mov eax, esi
shr eax, 8
and eax, 0xff00ff
sub edx, eax
mov eax, esi
imul edx, ecx
and eax, 0xff00ff00
add edx, eax
mov eax, esi
and eax, 0xff00ff
and esi, 0xffff00ff
sub edi, eax
and edx, 0xff00ff00
mov eax, dword [esp + 0x20]
imul edi, ecx
mov ecx, dword [esp + 0x80]
shr edi, 8
add edi, esi
and edi, 0xff00ff
add edi, edx
mov edx, dword [esp + 0x28]
cmp ecx, dword [esp + 0x70]
jge 0x100189e2
mov esi, dword [esp + 0x30]
imul ecx, eax
mov eax, dword [esp + 0x84]
add eax, ecx
mov ebx, dword [esi + eax*4]
mov eax, dword [esp + 0x40]
cmp eax, dword [esp + 0x20]
jge 0x10018989
add eax, ecx
movzx ecx, dl
mov edx, ebx
and ebx, 0xff00ff
shr edx, 8
and edx, 0xff00ff
mov esi, dword [esi + eax*4]
mov eax, esi
shr eax, 8
and eax, 0xff00ff
sub edx, eax
mov eax, esi
imul edx, ecx
and eax, 0xff00ff00
add edx, eax
mov eax, esi
and eax, 0xff00ff
and esi, 0xffff00ff
sub ebx, eax
and edx, 0xff00ff00
imul ebx, ecx
shr ebx, 8
add ebx, esi
and ebx, 0xff00ff
add ebx, edx
cvttss2si eax, xmm1
mov edx, edi
and edi, 0xff00ff
shr edx, 8
and edx, 0xff00ff
movzx ecx, al
mov eax, ebx
shr eax, 8
and eax, 0xff00ff
sub edx, eax
mov eax, ebx
imul edx, ecx
and eax, 0xff00ff00
add edx, eax
mov eax, ebx
and eax, 0xff00ff
and ebx, 0xffff00ff
sub edi, eax
and edx, 0xff00ff00
imul edi, ecx
shr edi, 8
add edi, ebx
mov ebx, dword [esp + 0x4c]
and edi, 0xff00ff
add edi, edx
mov esi, dword [esp + 0x74]
mov eax, edi
not eax
shr eax, 0x18
push eax
mov eax, dword [ebp + 8]
push dword [esi]
push edi
mov eax, dword [eax + 0x5c]
call eax
movss xmm0, dword [esp + 0x40]
add esp, 0xc
addss xmm0, dword [esp + 0x78]
mov dword [esi], eax
add esi, 4
mov dword [esp + 0x74], esi
movss dword [esp + 0x34], xmm0
movss xmm0, dword [esp + 0x24]
addss xmm0, dword [esp + 0x7c]
movss dword [esp + 0x24], xmm0
call fcn.100324d0
mov ecx, dword [ebp + 0xc]
cmp eax, dword [ecx + 0x10]
jae 0x10018d26
movss xmm0, dword [esp + 0x24]
movss xmm1, dword [esp + 0x34]
mov eax, dword [esp + 0x38]
mov esi, dword [esp + 0x20]
cmp ebx, eax
jl 0x100187c4
jmp 0x10018d26
cvttss2si edi, xmm1
inc ebx
mov dword [esp + 0x4c], ebx
mov dword [esp + 0x84], edi
cmp edi, esi
jge 0x10018d1e
cvttss2si esi, xmm0
cmp esi, dword [esp + 0x70]
jge 0x10018d1a
lea eax, [esp + 0xb0]
xorps xmm0, xmm0
push eax
cvtss2sd xmm0, xmm1
sub esp, 8
movsd qword [esp], xmm0
call fcn.1003a8e0
movss xmm1, dword [0x10055634]
add esp, 0xc
fstp qword [esp + 0x40]
movsd xmm0, qword [esp + 0x40]
cvtpd2ps xmm0, xmm0
subss xmm1, xmm0
movss xmm0, dword [esp + 0x24]
cvtps2pd xmm0, xmm0
mulss xmm1, dword [0x10055698]
cvttss2si eax, xmm1
mov dword [esp + 0x28], eax
lea eax, [esp + 0xb8]
push eax
sub esp, 8
movsd qword [esp], xmm0
call fcn.1003a8e0
movss xmm1, dword [0x10055634]
lea ecx, [esi + 1]
imul esi, dword [esp + 0x2c]
lea edx, [edi + 1]
fstp qword [esp + 0x4c]
movsd xmm0, qword [esp + 0x4c]
add esp, 0xc
cvtpd2ps xmm0, xmm0
mov dword [esp + 0x80], edx
mov dword [esp + 0x40], ecx
lea eax, [esi + edi]
mov edi, dword [esp + 0x30]
subss xmm1, xmm0
mov edi, dword [edi + eax*4]
mov eax, dword [esp + 0x20]
mulss xmm1, dword [0x10055698]
cmp edx, eax
jge 0x10018ba1
mov ecx, dword [esp + 0x30]
lea eax, [esi + edx]
mov edx, edi
and edi, 0xff00ff
shr edx, 8
and edx, 0xff00ff
mov esi, dword [ecx + eax*4]
mov eax, dword [esp + 0x28]
movzx ecx, al
mov eax, esi
shr eax, 8
and eax, 0xff00ff
sub edx, eax
mov eax, esi
imul edx, ecx
and eax, 0xff00ff00
add edx, eax
mov eax, esi
and eax, 0xff00ff
and esi, 0xffff00ff
sub edi, eax
and edx, 0xff00ff00
mov eax, dword [esp + 0x20]
imul edi, ecx
mov ecx, dword [esp + 0x40]
shr edi, 8
add edi, esi
and edi, 0xff00ff
add edi, edx
mov edx, dword [esp + 0x28]
cmp ecx, dword [esp + 0x70]
jge 0x10018c7e
mov esi, dword [esp + 0x30]
imul ecx, eax
mov eax, dword [esp + 0x84]
add eax, ecx
mov ebx, dword [esi + eax*4]
mov eax, dword [esp + 0x80]
cmp eax, dword [esp + 0x20]
jge 0x10018c25
add eax, ecx
movzx ecx, dl
mov edx, ebx
and ebx, 0xff00ff
shr edx, 8
and edx, 0xff00ff
mov esi, dword [esi + eax*4]
mov eax, esi
shr eax, 8
and eax, 0xff00ff
sub edx, eax
mov eax, esi
imul edx, ecx
and eax, 0xff00ff00
add edx, eax
mov eax, esi
and eax, 0xff00ff
and esi, 0xffff00ff
sub ebx, eax
and edx, 0xff00ff00
imul ebx, ecx
shr ebx, 8
add ebx, esi
and ebx, 0xff00ff
add ebx, edx
cvttss2si eax, xmm1
mov edx, edi
and edi, 0xff00ff
shr edx, 8
and edx, 0xff00ff
movzx ecx, al
mov eax, ebx
shr eax, 8
and eax, 0xff00ff
sub edx, eax
mov eax, ebx
imul edx, ecx
and eax, 0xff00ff00
add edx, eax
mov eax, ebx
and eax, 0xff00ff
and ebx, 0xffff00ff
sub edi, eax
and edx, 0xff00ff00
imul edi, ecx
shr edi, 8
add edi, ebx
mov ebx, dword [esp + 0x4c]
and edi, 0xff00ff
add edi, edx
movzx eax, byte [ebp + 0x20]
mov ecx, edi
mov esi, dword [esp + 0x74]
and edi, 0xff00ff
imul edi, eax
shr ecx, 8
and ecx, 0xff00ff
imul ecx, eax
add edi, 0xff00ff
shr edi, 8
and edi, 0xff00ff
add ecx, 0xff00ff
and ecx, 0xff00ff00
add ecx, edi
mov eax, ecx
not eax
shr eax, 0x18
push eax
mov eax, dword [ebp + 8]
push dword [esi]
push ecx
mov eax, dword [eax + 0x5c]
call eax
movss xmm0, dword [esp + 0x40]
add esp, 0xc
addss xmm0, dword [esp + 0x78]
mov dword [esi], eax
add esi, 4
mov dword [esp + 0x74], esi
movss dword [esp + 0x34], xmm0
movss xmm0, dword [esp + 0x24]
addss xmm0, dword [esp + 0x7c]
movss dword [esp + 0x24], xmm0
call fcn.100324d0
mov ecx, dword [ebp + 0xc]
cmp eax, dword [ecx + 0x10]
jae 0x10018d26
movss xmm0, dword [esp + 0x24]
movss xmm1, dword [esp + 0x34]
mov eax, dword [esp + 0x38]
mov esi, dword [esp + 0x20]
cmp ebx, eax
jl 0x10018a60
movss xmm4, dword [esp + 0x5c]
mov edx, dword [esp + 0x3c]
movss xmm1, dword [esp + 0x50]
cmp dword [ebp + 0x10], 0
movss xmm0, dword [esp + 0x68]
movss xmm2, dword [esp + 0x64]
addss xmm0, xmm1
addss xmm4, dword [esp + 0x94]
addss xmm2, dword [esp + 0x98]
movss dword [esp + 0x68], xmm0
movss xmm0, dword [esp + 0x6c]
addss xmm0, dword [esp + 0x9c]
movss dword [esp + 0x5c], xmm4
movss dword [esp + 0x64], xmm2
movss dword [esp + 0x6c], xmm0
jne 0x10018d94
mov eax, dword [esp + 0x54]
mov ecx, dword [esp + 0x60]
mov eax, dword [eax]
cmp ecx, dword [eax + 8]
jae 0x10018dda
mov eax, dword [ebp + 0x14]
mov ecx, dword [esp + 0x8c]
inc eax
add dword [esp + 0x88], ecx
movss xmm2, dword [esp + 0x78]
movss xmm3, dword [esp + 0x7c]
movss xmm0, dword [esp + 0x64]
movss xmm5, dword [esp + 0x68]
movss xmm6, dword [esp + 0x6c]
mov esi, dword [esp + 0x20]
mov ecx, dword [esp + 0x58]
mov dword [ebp + 0x14], eax
cmp eax, dword [ebp + 0x18]
jl 0x10018680
jmp 0x10018dec
movss xmm0, dword [esp + 0x64]
movss xmm5, dword [esp + 0x68]
movss xmm6, dword [esp + 0x6c]
movss dword [0x1006b55c], xmm4
movss dword [0x1006b560], xmm0
movss dword [0x1006b564], xmm5
movss dword [0x1006b568], xmm6
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret