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

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff0
sub esp, 0x24
push ebx
push esi
mov esi, dword [0x101541b4]
push edi
mov byte [esi + 0x357], 0
mov dword [esi + 0x1df8], 0
mov dword [esi + 0x1dfc], 0
mov bh, byte [esi + 8]
and bh, 1
test byte [esi + 8], 2
mov byte [esp + 0x13], bh
je 0x1004be1d
test byte [esi + 0xc], 1
je 0x1004be1d
cmp dword [esi + 0x1d28], 3
mov bl, 1
xorps xmm1, xmm1
je 0x1004be22
movss xmm0, dword [esi + 0x300]
comiss xmm0, xmm1
ja 0x1004be11
movss xmm0, dword [esi + 0x308]
comiss xmm0, xmm1
ja 0x1004be11
movss xmm0, dword [esi + 0x304]
comiss xmm0, xmm1
ja 0x1004be11
movss xmm0, dword [esi + 0x30c]
comiss xmm0, xmm1
ja 0x1004be11
movss xmm0, dword [esi + 0x310]
comiss xmm0, xmm1
ja 0x1004be11
movss xmm0, dword [esi + 0x314]
comiss xmm0, xmm1
ja 0x1004be11
movss xmm0, dword [esi + 0x318]
comiss xmm0, xmm1
ja 0x1004be11
movss xmm0, dword [esi + 0x31c]
comiss xmm0, xmm1
jbe 0x1004be22
mov dword [esi + 0x1d28], 3
jmp 0x1004be22
xor bl, bl
xorps xmm1, xmm1
test bh, bh
je 0x1004bf72
mov eax, dword [esi + 0x64]
test eax, eax
js 0x1004be50
mov al, byte [eax + esi + 0x100]
test al, al
je 0x1004be50
mov dword [esi + 0x300], 0x3f800000
mov dword [esi + 0x1d28], 2
mov eax, dword [esi + 0x68]
test eax, eax
js 0x1004be76
mov al, byte [eax + esi + 0x100]
test al, al
je 0x1004be76
mov dword [esi + 0x308], 0x3f800000
mov dword [esi + 0x1d28], 2
mov eax, dword [esi + 0x6c]
test eax, eax
js 0x1004be9c
mov al, byte [eax + esi + 0x100]
test al, al
je 0x1004be9c
mov dword [esi + 0x304], 0x3f800000
mov dword [esi + 0x1d28], 2
mov eax, dword [esi + 0x38]
test eax, eax
js 0x1004bec2
mov al, byte [eax + esi + 0x100]
test al, al
je 0x1004bec2
mov dword [esi + 0x344], 0x3f800000
mov dword [esi + 0x1d28], 2
mov eax, dword [esi + 0x3c]
test eax, eax
js 0x1004bee8
mov al, byte [eax + esi + 0x100]
test al, al
je 0x1004bee8
mov dword [esi + 0x348], 0x3f800000
mov dword [esi + 0x1d28], 2
mov eax, dword [esi + 0x40]
test eax, eax
js 0x1004bf0e
mov al, byte [eax + esi + 0x100]
test al, al
je 0x1004bf0e
mov dword [esi + 0x34c], 0x3f800000
mov dword [esi + 0x1d28], 2
mov eax, dword [esi + 0x44]
test eax, eax
js 0x1004bf34
mov al, byte [eax + esi + 0x100]
test al, al
je 0x1004bf34
mov dword [esi + 0x350], 0x3f800000
mov dword [esi + 0x1d28], 2
mov al, byte [esi + 0xfc]
test al, al
je 0x1004bf48
mov dword [esi + 0x338], 0x3f800000
cmp byte [esi + 0xfd], 0
je 0x1004bf5b
mov dword [esi + 0x33c], 0x3f800000
cmp byte [esi + 0xfe], 0
je 0x1004bf72
test al, al
jne 0x1004bf72
mov dword [esi + 0x340], 0x3f800000
movups xmm0, xmmword [esi + 0x1458]
mov eax, dword [esi + 0x14a8]
lea ecx, [esi + 0x1458]
movss xmm2, dword [0x1014b378]
movups xmmword [esi + 0x14ac], xmm0
movups xmm0, xmmword [ecx + 0x10]
movups xmmword [esi + 0x14bc], xmm0
movups xmm0, xmmword [ecx + 0x20]
movups xmmword [esi + 0x14cc], xmm0
movups xmm0, xmmword [ecx + 0x30]
movups xmmword [esi + 0x14dc], xmm0
movups xmm0, xmmword [ecx + 0x40]
movups xmmword [esi + 0x14ec], xmm0
mov dword [esi + 0x14fc], eax
mov eax, 0x15
nop dword [eax + eax]
movss xmm0, dword [ecx - 0x1158]
comiss xmm0, xmm1
jbe 0x1004bff2
movss xmm0, dword [ecx]
comiss xmm1, xmm0
jbe 0x1004bfeb
movaps xmm0, xmm1
jmp 0x1004bff5
addss xmm0, dword [esi + 0x18]
jmp 0x1004bff5
movaps xmm0, xmm2
movss dword [ecx], xmm0
add ecx, 4
sub eax, 1
jne 0x1004bfd0
cmp dword [esi + 0x1d50], eax
je 0x1004c066
mov edx, dword [esi + 0x1cf8]
test edx, edx
je 0x1004c066
mov ecx, dword [esi + 0x1d40]
mov eax, dword [esi + 0x1d50]
mov dword [esi + 0x1cfc], eax
mov dword [esi + 0x1d00], 0
mov dword [edx + ecx*4 + 0x330], eax
add ecx, ecx
mov eax, dword [esi + 0x1cf8]
movups xmm0, xmmword [esi + 0x1d54]
movups xmmword [eax + ecx*8 + 0x338], xmm0
cmp byte [esi + 0x1d4e], 0
je 0x1004c066
mov word [esi + 0x1d49], 1
mov byte [esi + 0x1d4b], 1
cmp byte [esi + 0x1d64], 0
mov word [esi + 0x1d4d], 0
mov dword [esi + 0x1d50], 0
mov dword [esi + 0x1d18], 0
je 0x1004c091
call fcn.1004cc50
cmp dword [esi + 0x1d6c], 2
jne 0x1004c0bd
cmp dword [esi + 0x1d84], 0
jne 0x1004c0b3
cmp dword [esi + 0x1dd4], 0
jne 0x1004c0b3
mov byte [esi + 0x1d4a], 0
mov dword [esi + 0x1d6c], 0
cmp byte [esi + 0x1d49], 0
je 0x1004c140
cmp byte [esi + 0x1d48], 0
je 0x1004c140
test byte [esi + 8], 4
je 0x1004c139
test byte [esi + 0xc], 4
je 0x1004c139
cmp byte [esi + 0x1d4a], 0
jne 0x1004c139
cmp byte [esi + 0x1d4b], 0
je 0x1004c139
cmp dword [esi + 0x1cf8], 0
je 0x1004c139
call fcn.1004ba80
movss dword [esi + 0x380], xmm0
mov eax, dword [esi + 0x380]
movss dword [esp + 0x20], xmm0
movaps xmm0, xmm1
movss dword [esi + 0x384], xmm0
mov ecx, dword [esi + 0x384]
movss dword [esp + 0x24], xmm1
mov dword [esi + 0xe4], eax
mov dword [esi + 0xe8], ecx
mov byte [esi + 0x357], 1
mov byte [esi + 0x1d49], 0
mov ecx, dword [esi + 0x1cf8]
mov byte [esi + 0x1d48], 0
mov dword [esi + 0x1d14], 0
test ecx, ecx
je 0x1004c187
mov eax, ecx
nop dword [eax]
cmp dword [eax + 0x320], eax
je 0x1004c17d
test dword [eax + 8], 0x14000000
jne 0x1004c17d
mov eax, dword [eax + 0x31c]
test eax, eax
jne 0x1004c160
jmp 0x1004c187
cmp eax, ecx
je 0x1004c187
mov dword [eax + 0x32c], ecx
mov eax, dword [esi + 0x1cf8]
test eax, eax
je 0x1004c1ad
cmp dword [eax + 0x32c], 0
je 0x1004c1ad
cmp dword [esi + 0x1d40], 0
jne 0x1004c1ad
mov dword [eax + 0x32c], 0
call fcn.1004d920
test bh, bh
jne 0x1004c1ba
test bl, bl
je 0x1004c22f
mov eax, dword [esi + 0x1cf8]
test eax, eax
je 0x1004c22f
test dword [eax + 8], 0x40000
jne 0x1004c22f
mov byte [esi + 0x359], 1
cmp dword [esi + 0x1cfc], 0
je 0x1004c236
cmp byte [esi + 0x1d4a], 0
jne 0x1004c236
mov al, 1
mov edx, 1
mov byte [esi + 0x35a], al
mov ecx, edx
call fcn.1004bbd0
xorps xmm5, xmm5
comiss xmm0, xmm5
jbe 0x1004c3b0
cmp dword [esi + 0x1bc8], 0
je 0x1004c243
mov ebx, dword [0x101541b4]
mov eax, dword [ebx + 0x1be0]
shr eax, 1
test dl, al
jne 0x1004c3b6
call fcn.10040210
jmp 0x1004c3b6
mov byte [esi + 0x359], 0
cmp dword [esi + 0x1e00], 0
jne 0x1004c1e6
xor al, al
jmp 0x1004c1e8
mov edi, dword [esi + 0x1cf8]
test edi, edi
je 0x1004c33c
cmp edi, dword [edi + 0x320]
je 0x1004c33c
test dword [edi + 8], 0x4000000
jne 0x1004c33c
mov ebx, dword [edi + 0x31c]
test ebx, ebx
je 0x1004c33c
movss xmm0, dword [edi + 0xc]
mov ecx, ebx
movss dword [esp + 0x18], xmm0
movss xmm0, dword [edi + 0x10]
movss dword [esp + 0x20], xmm0
movss xmm0, dword [edi + 0x14]
movss dword [esp + 0x14], xmm0
movss xmm0, dword [edi + 0x18]
movss dword [esp + 0x1c], xmm0
call fcn.10048c60
movss xmm4, dword [esp + 0x18]
movss xmm5, dword [esp + 0x20]
movaps xmm2, xmm4
movss xmm3, dword [esp + 0x1c]
addss xmm2, dword [esp + 0x14]
subss xmm4, dword [ebx + 0xc]
mov ecx, dword [edi + 0x54]
addss xmm3, xmm5
subss xmm5, dword [ebx + 0x10]
subss xmm2, dword [ebx + 0xc]
movss dword [esp + 0x20], xmm4
subss xmm3, dword [ebx + 0x10]
mov ebx, dword [0x101541b4]
movss dword [esp + 0x24], xmm5
xorps xmm5, xmm5
movss dword [esp + 0x28], xmm2
mov eax, dword [ebx + 0x1cf8]
mov dword [ebx + 0x1cfc], ecx
mov dword [ebx + 0x1d40], 0
mov dword [ebx + 0x1d00], 0
mov dword [eax + 0x330], ecx
mov eax, dword [ebx + 0x1cf8]
movss dword [esp + 0x2c], xmm3
movups xmm0, xmmword [esp + 0x20]
movups xmmword [eax + 0x338], xmm0
jmp 0x1004c3b6
mov edx, dword [esi + 0x1cd4]
test edx, edx
jle 0x1004c36b
mov eax, dword [esi + 0x1cdc]
lea ecx, [edx + edx*8]
mov eax, dword [eax + ecx*4 - 0x20]
test dword [eax + 8], 0x8000000
jne 0x1004c3b0
lea ecx, [edx - 1]
mov dl, 1
call fcn.1004a860
xorps xmm5, xmm5
jmp 0x1004c3b0
cmp dword [esi + 0x1d40], 0
je 0x1004c37d
xor ecx, ecx
call fcn.1004b940
jmp 0x1004c3b0
test edi, edi
je 0x1004c39c
mov eax, dword [edi + 8]
test eax, 0x4000000
jne 0x1004c392
test eax, 0x1000000
jne 0x1004c39c
mov dword [edi + 0x330], 0
mov dword [esi + 0x1d00], 0
mov dword [esi + 0x1cfc], 0
mov ebx, dword [0x101541b4]
mov edi, dword [esi + 0x1cfc]
mov dword [esi + 0x1d10], 0
mov dword [esi + 0x1d0c], 0
mov dword [esi + 0x1d08], 0
mov dword [esi + 0x1d04], 0
test edi, edi
je 0x1004c4b8
cmp byte [esi + 0x1d4a], 0
jne 0x1004c4b8
cmp dword [esi + 0x1e00], 0
jne 0x1004c4b8
mov eax, dword [esi + 0x1cf8]
test eax, eax
je 0x1004c4b8
test dword [eax + 8], 0x40000
jne 0x1004c4b8
movss xmm0, dword [ebx + 0x300]
comiss xmm0, xmm5
seta al
mov byte [esp + 0x12], al
test al, al
je 0x1004c448
mov edx, 1
xor ecx, ecx
call fcn.1004bbd0
comiss xmm0, xmm5
ja 0x1004c44a
xor dl, dl
mov ecx, dword [esi + 0x1bc8]
test ecx, ecx
jne 0x1004c460
test dl, dl
je 0x1004c464
mov dword [esi + 0x1d04], edi
jmp 0x1004c464
cmp ecx, edi
jne 0x1004c4b8
cmp byte [esp + 0x12], 0
mov eax, dword [esi + 0x1d08]
cmovne eax, edi
mov dword [esi + 0x1d08], eax
test ecx, ecx
je 0x1004c480
cmp ecx, edi
jne 0x1004c4b8
mov eax, dword [esi + 0x1d0c]
test dl, dl
cmovne eax, edi
mov dword [esi + 0x1d0c], eax
test ecx, ecx
je 0x1004c499
cmp ecx, edi
jne 0x1004c4b8
mov edx, 1
lea ecx, [edx + 1]
call fcn.1004bbd0
mov eax, dword [esi + 0x1d10]
comiss xmm0, xmm5
cmova eax, edi
mov dword [esi + 0x1d10], eax
mov ecx, dword [esi + 0x1cf8]
test ecx, ecx
je 0x1004c4d2
test dword [ecx + 8], 0x40000
je 0x1004c4d2
mov byte [esi + 0x1d4a], 1
mov eax, dword [esi + 0x1d24]
mov byte [esi + 0x1d64], 0
test eax, eax
je 0x1004c4fb
mov dword [esi + 0x1d10], eax
mov dword [esi + 0x1d0c], eax
mov dword [esi + 0x1d08], eax
mov dword [esi + 0x1d04], eax
cmp dword [esi + 0x1d6c], 0
mov dword [esi + 0x1d24], 0
jne 0x1004c66c
or edi, 0xffffffff
mov dword [esi + 0x1d74], 0xffffffff
mov dword [esi + 0x1d68], 0
test ecx, ecx
je 0x1004c664
or edi, edi
cmp dword [esi + 0x1e00], 0
jne 0x1004c664
or edi, 0xffffffff
test dword [ecx + 8], 0x40000
jne 0x1004c664
or edi, edi
test byte [ebx + 0x1bdc], 1
jne 0x1004c589
mov edx, 3
lea ecx, [edx + 1]
call fcn.1004bbd0
comiss xmm5, xmm0
jb 0x1004c57d
lea ecx, [edx + 0xe]
or edi, 0xffffffff
call fcn.1004bbd0
comiss xmm0, xmm5
jbe 0x1004c589
mov dword [esi + 0x1d74], 0
xor edi, edi
mov ecx, dword [ebx + 0x1bdc]
mov eax, ecx
shr eax, 1
mov dword [esp + 0x14], ecx
test al, 1
jne 0x1004c5e3
mov edx, 3
lea ecx, [edx + 2]
call fcn.1004bbd0
comiss xmm5, xmm0
jb 0x1004c5c4
mov eax, dword [ebx + 0x1bdc]
lea ecx, [edx + 0xf]
mov dword [esp + 0x14], eax
call fcn.1004bbd0
comiss xmm0, xmm5
jbe 0x1004c5df
mov dword [esi + 0x1d74], 1
mov edi, 1
mov ecx, dword [ebx + 0x1bdc]
mov dword [esp + 0x14], ecx
jmp 0x1004c5e3
mov ecx, dword [esp + 0x14]
mov eax, ecx
shr eax, 2
test al, 1
jne 0x1004c62e
mov edx, 3
lea ecx, [edx + 3]
call fcn.1004bbd0
comiss xmm5, xmm0
jb 0x1004c613
mov eax, dword [esp + 0x14]
lea ecx, [edx + 0x10]
mov dword [esp + 0x14], eax
call fcn.1004bbd0
comiss xmm0, xmm5
jbe 0x1004c62a
mov dword [esi + 0x1d74], 2
mov edi, 2
mov ecx, dword [ebx + 0x1bdc]
jmp 0x1004c62e
mov ecx, dword [esp + 0x14]
shr ecx, 3
test cl, 1
jne 0x1004c664
mov edx, 3
lea ecx, [edx + 4]
call fcn.1004bbd0
comiss xmm5, xmm0
jb 0x1004c655
lea ecx, [edx + 0x11]
call fcn.1004bbd0
comiss xmm0, xmm5
jbe 0x1004c664
mov dword [esi + 0x1d74], 3
mov edi, 3
mov dword [esi + 0x1d7c], edi
jmp 0x1004c676
mov dword [esi + 0x1d6c], 2
cmp byte [esp + 0x13], 0
xorps xmm0, xmm0
movss dword [esp + 0x18], xmm0
je 0x1004c694
call fcn.1004ce80
movss dword [esp + 0x18], xmm0
xorps xmm5, xmm5
mov ecx, dword [esi + 0x1d74]
cmp ecx, 0xffffffff
je 0x1004c6b8
mov byte [esi + 0x1d64], 1
mov eax, dword [esi + 0x37c]
mov dword [esi + 0x1d70], eax
mov dword [esi + 0x1d78], ecx
cmp byte [esi + 0x1d64], 0
je 0x1004c6e4
cmp dword [esi + 0x1cfc], 0
jne 0x1004c6e4
mov word [esi + 0x1d4d], 0x101
mov dword [esi + 0x1d50], 0
mov byte [esi + 0x1d4a], 0
cmp byte [ebx + 0x1d64], 0
jne 0x1004c6fa
cmp byte [ebx + 0x1d4d], 0
jne 0x1004c6fa
xor al, al
jmp 0x1004c6fc
mov al, 1
movss xmm1, dword [0x1014bd10]
mov byte [ebx + 0x1d4c], al
mov edi, dword [esi + 0x1cf8]
test edi, edi
je 0x1004c8d6
test dword [edi + 8], 0x40000
jne 0x1004c8d6
cmp dword [esi + 0x1e00], 0
jne 0x1004c8d6
movss xmm0, dword [ebx + 0x1934]
mov eax, dword [edi + 0x31c]
mulss xmm0, dword [edi + 0x280]
test eax, eax
je 0x1004c754
mulss xmm0, dword [eax + 0x280]
cmp dword [edi + 0x144], 0
mulss xmm0, dword [0x1014b2c0]
mulss xmm0, dword [esi + 0x18]
addss xmm0, dword [0x1014b168]
cvttss2si eax, xmm0
movd xmm0, eax
cvtdq2ps xmm0, xmm0
movss dword [esp + 0x14], xmm0
jne 0x1004c80e
cmp byte [edi + 0x151], 0
je 0x1004c80e
cmp byte [esi + 0x1d64], 0
je 0x1004c80e
mov eax, dword [esi + 0x1d74]
test eax, eax
je 0x1004c7aa
cmp eax, 1
jne 0x1004c7dc
jmp 0x1004c7ad
xorps xmm0, xmm1
addss xmm0, dword [edi + 0x58]
mov dword [edi + 0x70], 0
mov dword [edi + 0x78], 0
cvttss2si eax, xmm0
movd xmm0, eax
cvtdq2ps xmm0, xmm0
movss dword [edi + 0x68], xmm0
mov eax, dword [esi + 0x1d74]
movss xmm0, dword [esp + 0x14]
cmp eax, 2
je 0x1004c7e8
cmp eax, 3
jne 0x1004c80e
jmp 0x1004c7eb
xorps xmm0, xmm1
addss xmm0, dword [edi + 0x5c]
mov dword [edi + 0x74], 0
mov dword [edi + 0x7c], 0
cvttss2si eax, xmm0
movd xmm0, eax
cvtdq2ps xmm0, xmm0
movss dword [edi + 0x6c], xmm0
xor edx, edx
lea ecx, [edx + 9]
call fcn.1004bbd0
lea ecx, [edx + 8]
movaps xmm7, xmm0
call fcn.1004bbd0
lea ecx, [edx + 0xb]
subss xmm7, xmm0
call fcn.1004bbd0
lea ecx, [edx + 0xa]
movaps xmm6, xmm0
call fcn.1004bbd0
movss xmm1, dword [ebx + 0x338]
subss xmm6, xmm0
comiss xmm1, xmm5
jbe 0x1004c85b
mulss xmm7, dword [0x1014b114]
mulss xmm6, dword [0x1014b114]
movss xmm0, dword [ebx + 0x33c]
comiss xmm0, xmm5
jbe 0x1004c878
mulss xmm7, dword [0x1014b258]
mulss xmm6, dword [0x1014b258]
movss xmm1, dword [esp + 0x14]
ucomiss xmm7, xmm5
lahf
test ah, 0x44
jnp 0x1004c8ae
cmp byte [edi + 0x88], dl
je 0x1004c8ae
mulss xmm7, xmm1
mov dword [edi + 0x70], edx
mov dword [edi + 0x78], edx
addss xmm7, dword [edi + 0x58]
cvttss2si eax, xmm7
movd xmm0, eax
cvtdq2ps xmm0, xmm0
movss dword [edi + 0x68], xmm0
ucomiss xmm6, xmm5
lahf
test ah, 0x44
jnp 0x1004c8d6
mulss xmm6, xmm1
mov dword [edi + 0x74], edx
mov dword [edi + 0x7c], edx
addss xmm6, dword [edi + 0x5c]
cvttss2si eax, xmm6
movd xmm0, eax
cvtdq2ps xmm0, xmm0
movss dword [edi + 0x6c], xmm0
mov dword [esi + 0x1d80], 0
xorps xmm0, xmm0
mov dword [esi + 0x1d88], 0
mov dword [esi + 0x1d84], 0
mov dword [esi + 0x1d94], 0x7f7fffff
mov dword [esi + 0x1d90], 0x7f7fffff
mov dword [esi + 0x1d8c], 0x7f7fffff
movups xmmword [esi + 0x1d98], xmm0
mov dword [esi + 0x1da8], 0
mov dword [esi + 0x1db0], 0
mov dword [esi + 0x1dac], 0
mov dword [esi + 0x1dbc], 0x7f7fffff
mov dword [esi + 0x1db8], 0x7f7fffff
mov dword [esi + 0x1db4], 0x7f7fffff
movups xmmword [esi + 0x1dc0], xmm0
mov dword [esi + 0x1dd0], 0
mov dword [esi + 0x1dd8], 0
mov dword [esi + 0x1dd4], 0
mov dword [esi + 0x1de4], 0x7f7fffff
mov dword [esi + 0x1de0], 0x7f7fffff
mov dword [esi + 0x1ddc], 0x7f7fffff
movups xmmword [esi + 0x1de8], xmm0
cmp byte [esi + 0x1d64], 0
je 0x1004cb2f
cmp dword [esi + 0x1d28], 3
jne 0x1004cb2f
cmp dword [esi + 0x1d40], 0
movss xmm4, dword [0x1014b1b4]
jne 0x1004cb37
mov eax, dword [esi + 0x1cf8]
movss xmm2, dword [eax + 0x1f4]
subss xmm2, dword [eax + 0xc]
movss xmm6, dword [eax + 0x1fc]
movss xmm5, dword [eax + 0x200]
movss xmm3, dword [eax + 0x1f8]
subss xmm6, dword [eax + 0xc]
subss xmm5, dword [eax + 0x10]
subss xmm3, dword [eax + 0x10]
movss xmm7, dword [eax + 0x338]
subss xmm2, xmm4
addss xmm6, xmm4
addss xmm5, xmm4
subss xmm3, xmm4
comiss xmm7, xmm2
jb 0x1004ca4b
movss xmm0, dword [eax + 0x33c]
comiss xmm0, xmm3
jb 0x1004ca4b
comiss xmm6, dword [eax + 0x340]
jb 0x1004ca4b
comiss xmm5, dword [eax + 0x344]
jae 0x1004cb37
movss xmm4, dword [ebx + 0x1934]
mov ecx, dword [eax + 0x31c]
mulss xmm4, dword [eax + 0x280]
test ecx, ecx
je 0x1004ca6d
mulss xmm4, dword [ecx + 0x280]
mulss xmm4, dword [0x1014b168]
movaps xmm1, xmm5
subss xmm1, xmm3
movaps xmm0, xmm6
subss xmm0, xmm2
minss xmm1, xmm4
minss xmm0, xmm4
xorps xmm1, xmmword [0x1014bd10]
xorps xmm0, xmmword [0x1014bd10]
subss xmm3, xmm1
subss xmm2, xmm0
addss xmm6, xmm0
movss xmm0, dword [eax + 0x33c]
addss xmm5, xmm1
comiss xmm3, xmm0
jbe 0x1004cabb
movaps xmm1, xmm3
jmp 0x1004cac2
movaps xmm1, xmm5
minss xmm1, xmm0
comiss xmm2, xmm7
jbe 0x1004cacc
movaps xmm0, xmm2
jmp 0x1004cad3
movaps xmm0, xmm6
minss xmm0, xmm7
movss dword [eax + 0x338], xmm0
movss dword [eax + 0x33c], xmm1
movss xmm0, dword [eax + 0x344]
comiss xmm3, xmm0
ja 0x1004caf7
movaps xmm3, xmm5
minss xmm3, xmm0
movss xmm0, dword [eax + 0x340]
comiss xmm2, xmm0
ja 0x1004cb0b
movaps xmm2, xmm6
minss xmm2, xmm0
movss dword [eax + 0x340], xmm2
movss dword [eax + 0x344], xmm3
mov dword [esi + 0x1d00], 0
mov dword [esi + 0x1cfc], 0
movss xmm4, dword [0x1014b1b4]
mov eax, dword [esi + 0x1cf8]
test eax, eax
je 0x1004cb79
mov ecx, dword [esi + 0x1d40]
add ecx, ecx
movss xmm0, dword [eax + ecx*8 + 0x338]
comiss xmm0, dword [eax + ecx*8 + 0x340]
ja 0x1004cb79
movss xmm0, dword [eax + ecx*8 + 0x33c]
comiss xmm0, dword [eax + ecx*8 + 0x344]
ja 0x1004cb79
movups xmm0, xmmword [eax + ecx*8 + 0x338]
jmp 0x1004cb7c
xorps xmm0, xmm0
lea ecx, [esp + 0x20]
movups xmmword [esp + 0x20], xmm0
movups xmm0, xmmword [ecx]
movups xmmword [esp + 0x20], xmm0
test eax, eax
je 0x1004cbd3
movss xmm2, dword [eax + 0xc]
movss xmm0, dword [eax + 0x10]
movaps xmm3, xmm2
addss xmm3, dword [esp + 0x28]
addss xmm2, dword [esp + 0x20]
movaps xmm1, xmm0
addss xmm1, dword [esp + 0x2c]
addss xmm0, dword [esp + 0x24]
movss dword [esp + 0x28], xmm3
movss dword [esp + 0x20], xmm2
movss dword [esp + 0x2c], xmm1
movss dword [esp + 0x24], xmm0
jmp 0x1004cbdb
xorps xmm0, xmm0
movups xmmword [esp + 0x20], xmm0
movss xmm1, dword [esp + 0x18]
lea eax, [esp + 0x20]
movups xmm0, xmmword [eax]
pop edi
movups xmmword [esi + 0x1d2c], xmm0
movaps xmm0, xmm1
addss xmm0, dword [esi + 0x1d30]
addss xmm1, dword [esi + 0x1d38]
movss dword [esi + 0x1d30], xmm0
movss dword [esi + 0x1d38], xmm1
movss xmm0, dword [esi + 0x1d2c]
addss xmm0, xmm4
mov dword [esi + 0x1d3c], 0
minss xmm0, dword [esi + 0x1d34]
movss dword [esi + 0x1d2c], xmm0
movss dword [esi + 0x1d34], xmm0
pop esi
pop ebx
mov esp, ebp
pop ebp
ret