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

Disassembly:
sub esp, 0x60
push esi
mov esi, dword [0x10083558]
push edi
mov edi, dword [esp + 0x6c]
mov eax, dword [edi + 0xc]
mov dword [esp + 0x5c], eax
test al, 0x20
jne 0x1002b407
cmp dword [esi + 0x38d0], 0xffffffff
je 0x1002b407
mov cl, 1
jmp 0x1002b409
xor cl, cl
mov eax, dword [esi + 0x48e4]
mov edx, dword [esp + 0x70]
mov dword [esp + 0x4c], eax
or eax, 0x10
cmp dword [esp + 0x78], 0
mov dword [esi + 0x48e4], eax
mov dword [edi + 0x150], 1
movss xmm2, dword [esi + 0x38e4]
movss xmm4, dword [esi + 0x3cfc]
movaps xmm3, xmm2
movss xmm6, dword [edx + 8]
movss xmm5, dword [edx + 4]
movss dword [esp + 0x58], xmm2
movss dword [esp + 0x60], xmm3
movss dword [esp + 0x64], xmm4
mov dword [esp + 0x38], 0
mov dword [esp + 0x3c], 0
mov dword [esp + 0x40], 0
mov dword [esp + 0x44], 0
je 0x1002b4b7
movaps xmm1, xmm6
movaps xmm0, xmm5
addss xmm0, dword [esi + 0x38e8]
subss xmm1, xmm3
movss dword [esp + 0x3c], xmm0
movaps xmm0, xmm4
subss xmm1, xmm4
movss dword [esp + 0x38], xmm1
addss xmm0, dword [esi + 0x38fc]
addss xmm3, xmm0
movss dword [esp + 0x60], xmm3
test cl, cl
je 0x1002b594
mov eax, dword [esi + 0x38d0]
cmp eax, 1
jne 0x1002b504
subss xmm6, xmm3
movaps xmm0, xmm5
addss xmm0, dword [esi + 0x38e8]
subss xmm6, xmm4
movss dword [esp + 0x44], xmm0
movaps xmm0, xmm4
movss dword [esp + 0x40], xmm6
addss xmm0, dword [esi + 0x38fc]
mov eax, dword [esi + 0x38d0]
addss xmm0, xmm3
movss dword [esp + 0x60], xmm0
test eax, eax
jne 0x1002b538
addss xmm5, dword [esi + 0x38e8]
movaps xmm0, xmm2
addss xmm0, dword [edx]
movss dword [esp + 0x44], xmm5
movss dword [esp + 0x40], xmm0
movaps xmm0, xmm4
addss xmm0, dword [esi + 0x38fc]
addss xmm2, xmm0
movss dword [esp + 0x58], xmm2
mov ecx, dword [edi + 0xec]
mov eax, dword [edi + 0xf4]
push dword [eax + ecx*4 - 4]
push 0
push str.COLLAPSE
call fcn.10020b30
mov ecx, dword [edi]
add esp, 0xc
mov dword [esp + 0x54], eax
cmp dword [ecx + 0x3fcc], eax
jne 0x1002b57b
push 0
push str.COLLAPSE
push 0xb
push eax
call fcn.1001ca60
mov eax, dword [esp + 0x64]
add esp, 0x10
lea ecx, [esp + 0x40]
push ecx
push eax
call fcn.10039d00
add esp, 8
test al, al
je 0x1002b594
mov byte [edi + 0xb2], 1
cmp dword [esp + 0x78], 0
je 0x1002b5f7
mov ecx, dword [edi + 0xec]
mov eax, dword [edi + 0xf4]
push dword [eax + ecx*4 - 4]
push 0
push str.CLOSE
call fcn.10020b30
mov ecx, dword [edi]
add esp, 0xc
mov dword [esp + 0x54], eax
cmp dword [ecx + 0x3fcc], eax
jne 0x1002b5de
push 0
push str.CLOSE
push 0xb
push eax
call fcn.1001ca60
mov eax, dword [esp + 0x64]
add esp, 0x10
lea ecx, [esp + 0x38]
push ecx
push eax
call fcn.100399f0
add esp, 8
test al, al
je 0x1002b5f7
mov eax, dword [esp + 0x78]
mov byte [eax], 0
and dword [esp + 0x5c], 0x40000
xorps xmm5, xmm5
mov eax, dword [esp + 0x4c]
mov dword [edi + 0x150], 0
mov dword [esi + 0x48e4], eax
je 0x1002b62e
movss xmm0, dword [esp + 0x64]
mulss xmm0, dword [0x1007a67c]
movss dword [esp + 0x64], xmm0
jmp 0x1002b634
movss dword [esp + 0x64], xmm5
mov edi, dword [esp + 0x74]
mov eax, edi
mov edx, dword [0x10083558]
cmp edi, 0xffffffff
jae 0x1002b65b
mov cl, byte [eax]
test cl, cl
je 0x1002b65b
cmp cl, 0x23
jne 0x1002b655
cmp byte [eax + 1], cl
je 0x1002b65b
inc eax
cmp eax, 0xffffffff
jb 0x1002b645
movss xmm0, dword [edx + 0x3cfc]
cmp edi, eax
jne 0x1002b66c
movaps xmm4, xmm5
jmp 0x1002b6ba
mov ecx, dword [edx + 0x3cf8]
push 0
push eax
push edi
sub esp, 0xc
lea eax, [esp + 0x60]
mov dword [esp + 8], 0xbf800000
mov dword [esp + 4], 0x7f7fffff
movss dword [esp], xmm0
push eax
call fcn.10048ec0
movss xmm0, dword [esp + 0x48]
xorps xmm5, xmm5
addss xmm0, dword [0x1007a680]
cvttss2si eax, xmm0
movss xmm0, dword [esp + 0x4c]
movd xmm4, eax
cvtdq2ps xmm4, xmm4
addss xmm4, dword [esp + 0x64]
movss xmm6, dword [esi + 0x38e4]
addss xmm0, xmm5
movss xmm2, dword [esp + 0x58]
comiss xmm2, xmm6
movss xmm1, dword [esi + 0x38fc]
movss dword [esp + 0x50], xmm4
movss dword [esp + 0x54], xmm0
jbe 0x1002b6f2
movaps xmm0, xmm1
addss xmm2, xmm0
movss xmm3, dword [esp + 0x60]
comiss xmm3, xmm6
jbe 0x1002b701
addss xmm3, xmm1
movss xmm0, dword [esi + 0x38c8]
lea edx, [esi + 0x38c8]
comiss xmm0, xmm5
mov dword [esp + 0x78], edx
movss xmm7, dword [0x10078200]
jbe 0x1002b789
movss xmm6, dword [0x10078204]
comiss xmm6, xmm0
jbe 0x1002b789
subss xmm0, xmm7
movaps xmm1, xmm6
andps xmm0, xmmword [0x10078220]
addss xmm0, xmm0
subss xmm1, xmm0
comiss xmm5, xmm1
ja 0x1002b74f
movaps xmm5, xmm6
minss xmm5, xmm1
mov eax, dword [esp + 0x70]
movaps xmm1, xmm2
maxss xmm1, xmm3
movss xmm0, dword [eax + 8]
subss xmm0, dword [eax]
subss xmm0, xmm2
subss xmm0, xmm3
subss xmm0, xmm4
minss xmm1, xmm0
mulss xmm1, xmm5
comiss xmm2, xmm1
jae 0x1002b77f
movaps xmm2, xmm1
comiss xmm3, xmm1
jae 0x1002b78d
movaps xmm3, xmm1
jmp 0x1002b78d
mov eax, dword [esp + 0x70]
cmp dword [esp + 0x5c], 0
movss xmm1, dword [eax + 8]
addss xmm2, dword [eax]
movss xmm5, dword [eax + 4]
subss xmm1, xmm3
movss xmm3, dword [eax + 0xc]
movss dword [esp + 0x2c], xmm5
movss dword [esp + 0x34], xmm3
movss dword [esp + 0x28], xmm2
movaps xmm6, xmm1
movss dword [esp + 0x30], xmm1
addss xmm6, dword [esi + 0x38fc]
movss dword [esp + 0x18], xmm2
movss dword [esp + 0x1c], xmm5
movss dword [esp + 0x24], xmm3
minss xmm6, dword [eax + 8]
movss dword [esp + 0x70], xmm6
movss dword [esp + 0x20], xmm6
je 0x1002b8af
movaps xmm0, xmm1
subss xmm0, xmm2
subss xmm0, xmm4
mulss xmm0, dword [edx]
addss xmm0, xmm2
addss xmm0, xmm4
comiss xmm2, xmm0
jbe 0x1002b816
movaps xmm1, xmm2
jmp 0x1002b81a
minss xmm1, xmm0
comiss xmm1, xmm2
addss xmm3, xmm5
movss dword [esp + 0x48], xmm1
mulss xmm3, xmm7
movss dword [esp + 0x4c], xmm3
jbe 0x1002b8af
mov eax, dword [0x10083558]
movups xmm0, xmmword [eax + 0x3994]
movups xmmword [esp + 8], xmm0
shufps xmm0, xmm0, 0xff
mulss xmm0, dword [eax + 0x38a8]
lea eax, [esp + 8]
push eax
movss dword [esp + 0x18], xmm0
call fcn.1001c2a0
push eax
push dword [esp + 0x54]
mov eax, dword [esp + 0x78]
push dword [esp + 0x54]
push dword [eax + 0x270]
call fcn.1004c790
movss xmm0, dword [esp + 0x78]
add esp, 0x14
mulss xmm0, dword [0x10078200]
mov edx, dword [esp + 0x78]
movss xmm1, dword [esp + 0x48]
cvttss2si eax, xmm0
movd xmm0, eax
cvtdq2ps xmm0, xmm0
subss xmm1, xmm0
comiss xmm1, dword [esp + 0x70]
ja 0x1002b8af
movss dword [esp + 0x20], xmm1
mov ecx, edi
cmp ecx, 0xffffffff
jae 0x1002b8cb
mov al, byte [edi]
test al, al
je 0x1002b8cb
cmp al, 0x23
jne 0x1002b8c5
cmp byte [edi + 1], al
je 0x1002b8cb
inc edi
cmp edi, 0xffffffff
jb 0x1002b8b6
mov eax, edi
sub eax, ecx
je 0x1002b91d
mov esi, dword [0x10083558]
lea eax, [esp + 0x18]
push eax
push edx
lea eax, [esp + 0x58]
push eax
push edi
push ecx
lea eax, [esp + 0x44]
push eax
lea eax, [esp + 0x40]
push eax
mov eax, dword [esi + 0x3f94]
push dword [eax + 0x270]
call fcn.1002a1a0
add esp, 0x20
cmp byte [esi + 0x5e3c], 0
je 0x1002b91d
push edi
push dword [esp + 0x78]
lea eax, [esp + 0x30]
push eax
call fcn.10022d90
add esp, 0xc
pop edi
pop esi
add esp, 0x60
ret