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

Disassembly:
mov ecx, dword [0x100b9cac]
sub esp, 0x5c
mov eax, dword [ecx + 0x3fec]
push ebx
push ebp
push esi
mov byte [eax + 0xbc], 1
mov ebx, dword [ecx + 0x3fec]
push edi
cmp byte [ebx + 0xbf], 0
jne 0x100812b2
mov esi, dword [esp + 0x70]
mov ecx, ebx
mov edi, dword [0x100b9cac]
push 0
push esi
call fcn.10014720
push ecx
mov dword [esp], 0xbf800000
mov ebp, eax
push 1
push 0
lea eax, [esp + 0x40]
push esi
push eax
call fcn.1000cf20
mov esi, dword [esp + 0x90]
add esp, 0x14
xorps xmm0, xmm0
movss xmm2, dword [esi + 4]
ucomiss xmm2, xmm0
lahf
test ah, 0x44
jp 0x10080c3b
movss xmm2, dword [esp + 0x38]
movss xmm1, dword [esi]
ucomiss xmm1, xmm0
lahf
test ah, 0x44
jp 0x10080c4e
movss xmm1, dword [esp + 0x34]
movss dword [esp + 0x2c], xmm1
lea eax, [esp + 0x2c]
movss dword [esp + 0x30], xmm2
movss xmm0, dword [ebx + 0x100]
movss dword [esp + 0x18], xmm0
movss xmm0, dword [ebx + 0x104]
addss xmm0, dword [ebx + 0x138]
push ecx
mov dword [esp], 0
push eax
movss dword [esp + 0x24], xmm0
call fcn.100195b0
mov ecx, dword [esp + 0x80]
add esp, 8
movss xmm2, dword [esp + 0x18]
mov edx, ecx
shr edx, 1
and dl, 1
mov dword [esp + 0x20], edx
je 0x10080cbf
movss xmm6, dword [ebx + 0x214]
movss xmm1, dword [ebx + 0x21c]
jmp 0x10080cca
movss xmm1, dword [ebx + 0x20c]
movaps xmm6, xmm2
movss xmm0, dword [esi]
xorps xmm5, xmm5
ucomiss xmm0, xmm5
lahf
test ah, 0x44
jnp 0x10080cea
test ecx, 0x1000000
jne 0x10080cea
movss xmm4, dword [esp + 0x2c]
jmp 0x10080cfe
movss xmm4, dword [esp + 0x34]
subss xmm1, xmm6
maxss xmm4, xmm1
movss dword [esp + 0x2c], xmm4
movss xmm0, dword [esp + 0x1c]
addss xmm4, xmm6
movss dword [esp + 0x44], xmm2
movaps xmm7, xmm0
movss dword [esp + 0x48], xmm0
movss dword [esp + 0x4c], xmm6
movss dword [esp + 0x50], xmm0
movss dword [esp + 0x3c], xmm4
movss dword [esp + 0x54], xmm4
addss xmm7, dword [esp + 0x30]
movss dword [esp + 0x40], xmm7
movss dword [esp + 0x58], xmm7
test ecx, 0x4000000
jne 0x10080dbf
test dl, dl
jne 0x10080d55
movss xmm5, dword [edi + 0x38fc]
movss xmm3, dword [edi + 0x3900]
movaps xmm0, xmm5
mulss xmm0, dword [0x1009b440]
movss xmm1, dword [esp + 0x1c]
cvttss2si eax, xmm0
movaps xmm0, xmm3
mulss xmm0, dword [0x1009b440]
movd xmm2, eax
cvttss2si eax, xmm0
cvtdq2ps xmm2, xmm2
movd xmm0, eax
cvtdq2ps xmm0, xmm0
subss xmm5, xmm2
subss xmm3, xmm0
subss xmm6, xmm2
subss xmm1, xmm0
addss xmm5, xmm4
addss xmm3, xmm7
movss dword [esp + 0x4c], xmm6
movss dword [esp + 0x50], xmm1
movss dword [esp + 0x54], xmm5
movss dword [esp + 0x58], xmm3
mov eax, ecx
shr eax, 3
and eax, 0xffffff01
movzx ecx, al
shl ecx, 0xa
mov dword [esp + 0x24], eax
push ecx
push 0
push ebp
test dl, dl
je 0x10080e3d
movss xmm0, dword [ebx + 0x224]
mov eax, dword [ebx + 0x214]
mov dword [ebx + 0x224], eax
mov eax, dword [ebx + 0x21c]
movss dword [esp + 0x28], xmm0
movss xmm0, dword [ebx + 0x22c]
mov dword [ebx + 0x22c], eax
lea eax, [esp + 0x58]
push eax
movss dword [esp + 0x28], xmm0
call fcn.10019060
movss xmm0, dword [esp + 0x2c]
mov cl, al
movss dword [ebx + 0x224], xmm0
movss xmm0, dword [esp + 0x28]
mov byte [esp + 0x25], cl
movss dword [ebx + 0x22c], xmm0
jmp 0x10080e4d
lea eax, [esp + 0x58]
push eax
call fcn.10019060
mov cl, al
mov byte [esp + 0x25], al
mov eax, dword [edi + 0x4984]
add esp, 0x10
shr eax, 0x16
and eax, 0xffffff01
mov dword [esp + 0x1c], eax
test cl, cl
jne 0x10080ec6
test al, al
je 0x100812b2
cmp byte [edi + 0x4e1c], cl
je 0x100812b2
movss xmm0, dword [edi + 0x4e2c]
comiss xmm0, dword [esp + 0x50]
jbe 0x100812b2
movss xmm0, dword [esp + 0x58]
comiss xmm0, dword [edi + 0x4e24]
jbe 0x100812b2
movss xmm0, dword [edi + 0x4e28]
comiss xmm0, dword [esp + 0x4c]
jbe 0x100812b2
movss xmm0, dword [esp + 0x54]
comiss xmm0, dword [edi + 0x4e20]
jbe 0x100812b2
mov eax, dword [edi + 0x4940]
shr eax, 0xa
and eax, 0xffffff01
cmp byte [esp + 0x24], 0
mov dword [esp + 0x28], eax
je 0x10080eed
test al, al
jne 0x10080eed
push 1
call fcn.1000be40
add esp, 4
cmp byte [esp + 0x20], 0
je 0x10080f2a
cmp dword [edi + 0x4d64], 0
je 0x10080f04
call fcn.100900d0
jmp 0x10080f12
cmp dword [ebx + 0x1a0], 0
je 0x10080f12
call fcn.1008be60
or dword [edi + 0x4988], 0x200
movups xmm0, xmmword [ebx + 0x224]
movups xmmword [edi + 0x49bc], xmm0
mov edx, dword [esp + 0x78]
xor eax, eax
xor ecx, ecx
mov dword [esp + 0x18], eax
test edx, 0x100000
je 0x10080f49
mov eax, 0x20000
mov dword [esp + 0x18], eax
mov ecx, eax
test edx, 0x8000000
je 0x10080f5e
mov eax, ecx
or eax, 0x100000
mov dword [esp + 0x18], eax
mov ecx, eax
test edx, 0x400000
je 0x10080f71
mov eax, ecx
or eax, 0x10
mov dword [esp + 0x18], eax
mov ecx, eax
test edx, 0x800000
je 0x10080f86
mov eax, ecx
or eax, 0x80
mov dword [esp + 0x18], eax
mov ecx, eax
test dl, 4
je 0x10080f96
mov eax, ecx
or eax, 0x120
mov dword [esp + 0x18], eax
test dl, 0x10
jne 0x10080fa7
test dword [edi + 0x4984], 0x4000
je 0x10080fb0
or eax, 0x1000
mov dword [esp + 0x18], eax
cmp byte [esp + 0x1c], 0
mov cl, byte [esp + 0x74]
mov byte [esp + 0x13], cl
mov byte [esp + 0x17], cl
je 0x1008114e
lea eax, [esp + 0x18]
push eax
lea eax, [esp + 0x78]
push eax
push ebp
call fcn.1007e9c0
push dword [esp + 0x24]
lea eax, [esp + 0x26]
push eax
lea eax, [esp + 0x28]
push eax
lea eax, [esp + 0x64]
push ebp
push eax
call fcn.10070c10
mov byte [esp + 0x32], al
lea eax, [esp + 0x32]
push eax
lea eax, [esp + 0x98]
push eax
push ebp
call fcn.1007e4d0
mov al, byte [esp + 0x3e]
add esp, 0x2c
mov cl, byte [esp + 0x74]
mov byte [esp + 0x12], al
mov eax, dword [esp + 0x78]
mov byte [esp + 0x13], cl
cmp byte [esp + 0x12], 0
jne 0x1008103b
cmp byte [esp + 0x14], 0
je 0x100810da
test eax, 0x2000000
je 0x100810da
cmp byte [edi + 0x4b03], 0
jne 0x100810ca
cmp dword [edi + 0x4ab8], ebx
jne 0x100810ca
mov eax, dword [ebx + 0x158]
cmp dword [edi + 0x4ac4], eax
jne 0x100810ca
movss xmm1, dword [ebx + 0x110]
lea ecx, [esp + 0x5c]
movss xmm0, dword [esp + 0x4c]
movss xmm2, dword [ebx + 0x114]
subss xmm0, xmm1
push ecx
push dword [edi + 0x493c]
push eax
movss dword [esp + 0x68], xmm0
movss xmm0, dword [esp + 0x5c]
subss xmm0, xmm2
push ebp
movss dword [esp + 0x70], xmm0
movss xmm0, dword [esp + 0x64]
subss xmm0, xmm1
movss dword [esp + 0x74], xmm0
movss xmm0, dword [esp + 0x68]
subss xmm0, xmm2
movss dword [esp + 0x78], xmm0
call fcn.10023f10
add esp, 0x10
mov byte [edi + 0x4b02], 1
cmp byte [esp + 0x12], 0
je 0x100810da
push ebp
call fcn.1001a0e0
add esp, 4
mov al, byte [esp + 0x13]
cmp al, byte [esp + 0x17]
je 0x100810eb
or dword [edi + 0x4988], 8
cmp byte [esp + 0x15], 0
je 0x10081216
cmp byte [esp + 0x14], 0
jne 0x100811b1
test byte [esp + 0x78], 0x20
jne 0x100811b1
test al, al
je 0x100811f1
push 0x19
call fcn.10015710
push 0x18
mov esi, eax
call fcn.10015710
movups xmm1, xmmword [esi]
movups xmm0, xmmword [eax]
lea eax, [esp + 0x64]
push eax
subps xmm1, xmm0
mulps xmm1, xmmword [0x1009fb20]
addps xmm1, xmm0
movups xmmword [esp + 0x68], xmm1
call fcn.10014320
add esp, 0xc
jmp 0x100811ce
push eax
lea eax, [esp + 0x1a]
push eax
lea eax, [esp + 0x1c]
push eax
lea eax, [esp + 0x58]
push ebp
push eax
call fcn.10070c10
mov byte [esp + 0x26], al
add esp, 0x14
mov eax, dword [esp + 0x78]
test eax, 0x200000
je 0x1008101e
mov edx, dword [edi + 0x4c6c]
test edx, edx
je 0x1008101e
mov ecx, dword [edi + 0x4c70]
cmp ecx, dword [edi + 0x493c]
jne 0x1008101e
cmp edx, ebp
jne 0x1008101e
mov byte [esp + 0x12], 1
mov byte [esp + 0x13], 1
jmp 0x1008103b
xor eax, eax
cmp byte [esp + 0x16], al
push ecx
setne al
mov dword [esp], 0x3f800000
add eax, 0x19
push eax
call fcn.10014360
add esp, 8
push ecx
mov dword [esp], 0
push 0
push eax
push dword [esp + 0x64]
push dword [esp + 0x64]
push dword [esp + 0x64]
push dword [esp + 0x64]
call fcn.10020c70
add esp, 0x1c
cmp dword [edi + 0x4abc], ebp
jne 0x10081216
mov eax, dword [esp + 0x1c]
movzx eax, al
lea eax, [eax*4 + 0xa]
push eax
lea eax, [esp + 0x50]
push ebp
push eax
call fcn.10021250
add esp, 0xc
cmp byte [esp + 0x20], 0
je 0x1008123b
cmp dword [edi + 0x4d64], 0
je 0x1008122d
call fcn.10090010
jmp 0x1008123b
cmp dword [ebx + 0x1a0], 0
je 0x1008123b
call fcn.1008bdc0
cmp byte [esp + 0x15], 0
je 0x1008126e
lea eax, [esp + 0x4c]
push eax
lea eax, [edi + 0x3964]
push eax
lea eax, [esp + 0x3c]
push eax
push 0
push dword [esp + 0x80]
lea eax, [esp + 0x50]
push eax
lea eax, [esp + 0x5c]
push eax
call fcn.10021530
add esp, 0x1c
cmp byte [esp + 0x12], 0
je 0x10081293
test dword [ebx + 0xc], 0x4000000
je 0x10081293
test byte [esp + 0x78], 1
jne 0x10081293
test byte [edi + 0x4984], 0x10
je 0x10081293
call fcn.1000dc10
cmp byte [esp + 0x24], 0
je 0x100812a6
cmp byte [esp + 0x28], 0
jne 0x100812a6
call fcn.10012b00
mov al, byte [esp + 0x12]
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x5c
ret
pop edi
pop esi
pop ebp
xor al, al
pop ebx
add esp, 0x5c
ret