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

Disassembly:
sub esp, 0x80
push esi
push edi
mov edi, dword [0x102062d4]
mov esi, edx
mov dword [esp + 0x50], esi
mov dword [esp + 0x68], ecx
mov dword [esp + 0x78], edi
mov eax, dword [edi + 0x1a18]
mov byte [eax + 0x84], 1
mov eax, dword [edi + 0x1a18]
mov dword [esp + 0x58], eax
cmp byte [eax + 0x87], 0
jne 0x100812fe
mov ecx, dword [eax + 0xc4]
xor edx, edx
mov eax, dword [eax + 0xcc]
push dword [eax + ecx*4 - 4]
mov ecx, esi
call fcn.100083b0
mov esi, eax
add esp, 4
cmp dword [edi + 0x1a50], esi
jne 0x100809ec
mov dword [edi + 0x1a54], esi
cmp dword [edi + 0x1a8c], esi
jne 0x100809fb
mov byte [edi + 0x1a90], 1
mov eax, dword [esp + 0x50]
mov ecx, eax
cmp eax, 0xffffffff
jae 0x10080a1c
mov dl, byte [ecx]
test dl, dl
je 0x10080a1c
cmp dl, 0x23
jne 0x10080a16
cmp byte [ecx + 1], dl
je 0x10080a1c
inc ecx
cmp ecx, 0xffffffff
jb 0x10080a06
movss xmm4, dword [edi + 0x18e0]
cmp eax, ecx
jne 0x10080a33
xorps xmm2, xmm2
movss dword [esp + 0x54], xmm2
jmp 0x10080a82
movss xmm3, dword [0x101c753c]
movaps xmm2, xmm4
push 0
push ecx
push eax
push ecx
mov ecx, dword [edi + 0x18dc]
lea eax, [esp + 0x28]
mov dword [esp], 0xbf800000
push eax
call fcn.10064c80
movss xmm0, dword [esp + 0x18]
xorps xmm2, xmm2
addss xmm0, dword [0x101c735c]
movss xmm4, dword [esp + 0x1c]
cvttss2si eax, xmm0
movd xmm1, eax
cvtdq2ps xmm1, xmm1
movss dword [esp + 0x54], xmm1
movss xmm0, dword [esp + 0xa8]
ucomiss xmm0, xmm2
lahf
test ah, 0x44
jp 0x10080aa2
call fcn.10018210
movss dword [esp + 0xa8], xmm0
movss xmm1, dword [esp + 0xac]
ucomiss xmm1, xmm2
lahf
test ah, 0x44
jp 0x10080acd
movss xmm1, dword [edi + 0x155c]
addss xmm1, xmm1
addss xmm1, xmm4
movss dword [esp + 0xac], xmm1
mov eax, dword [esp + 0x58]
movss xmm7, dword [edi + 0x155c]
movss xmm5, dword [eax + 0xd0]
movss xmm6, dword [eax + 0xd4]
movaps xmm3, xmm5
addss xmm3, xmm0
movss dword [esp + 8], xmm5
movss xmm0, dword [edi + 0x1558]
movaps xmm4, xmm6
addss xmm4, xmm1
movss dword [esp + 0xc], xmm6
movaps xmm1, xmm3
movss dword [esp + 0x10], xmm3
subss xmm1, xmm0
addss xmm0, xmm5
movss dword [esp + 0x14], xmm4
movss dword [esp + 0x70], xmm1
movaps xmm1, xmm4
subss xmm1, xmm7
movss dword [esp + 0x5c], xmm0
movss xmm0, dword [esp + 0x54]
addss xmm7, xmm6
comiss xmm0, xmm2
movss dword [esp + 0x6c], xmm1
movss dword [esp + 0x64], xmm7
jbe 0x10080b5a
addss xmm0, dword [edi + 0x1570]
jmp 0x10080b5d
xorps xmm0, xmm0
movss xmm1, dword [edi + 0x155c]
addss xmm3, xmm0
addss xmm4, xmm2
movss dword [esp + 0x20], xmm5
lea ecx, [esp + 0x18]
movss dword [esp + 0x24], xmm6
movss dword [esp + 0x28], xmm3
subss xmm3, xmm5
movss dword [esp + 0x2c], xmm4
subss xmm4, xmm6
movss dword [esp + 0x18], xmm3
movss dword [esp + 0x1c], xmm4
call fcn.100178f0
lea eax, [esp + 8]
xor edx, edx
push eax
lea ecx, [esp + 0x24]
call fcn.10017a50
add esp, 4
test al, al
je 0x100812fe
mov edx, esi
lea ecx, [esp + 8]
call fcn.1000cc00
movss xmm0, dword [esp + 0xa0]
movss xmm3, dword [0x101c753c]
ucomiss xmm0, xmm3
mov byte [esp + 0x87], al
movss dword [esp + 0x80], xmm0
lahf
test ah, 0x44
jnp 0x10080c08
movss xmm4, dword [esp + 0xa4]
ucomiss xmm4, xmm3
lahf
test ah, 0x44
jp 0x10080cc9
movss xmm2, dword [0x101c7590]
xor esi, esi
movaps xmm1, xmm3
movss dword [esp + 0x7c], xmm2
movss dword [esp + 0x74], xmm1
cmp dword [esp + 0x94], esi
jle 0x10080c90
mov edi, dword [esp + 0x94]
push esi
push dword [esp + 0x94]
call dword [esp + 0x94]
movss xmm1, dword [esp + 0x7c]
add esp, 8
movss xmm2, dword [esp + 0x7c]
fstp dword [esp + 0x3c]
movss xmm0, dword [esp + 0x3c]
ucomiss xmm0, xmm0
lahf
test ah, 0x44
jp 0x10080c76
minss xmm1, xmm0
maxss xmm2, xmm0
movss dword [esp + 0x74], xmm1
movss dword [esp + 0x7c], xmm2
inc esi
cmp esi, edi
jl 0x10080c31
movss xmm0, dword [esp + 0x80]
movss xmm3, dword [0x101c753c]
mov edi, dword [esp + 0x78]
ucomiss xmm0, xmm3
lahf
test ah, 0x44
jp 0x10080cae
movaps xmm0, xmm1
movss dword [esp + 0x80], xmm1
movss dword [esp + 0xa0], xmm0
movss xmm0, dword [esp + 0xa4]
ucomiss xmm0, xmm3
lahf
test ah, 0x44
jp 0x10080cc9
movss dword [esp + 0xa4], xmm2
push dword [esp + 0x14]
movss xmm1, dword [0x101c736c]
mov ecx, 7
push dword [esp + 0x14]
push dword [esp + 0x14]
push dword [esp + 0x14]
call fcn.1000a3b0
movss xmm2, dword [edi + 0x1560]
mov dl, 1
mov ecx, eax
call fcn.1000b580
mov ecx, dword [esp + 0x78]
add esp, 0x10
mov esi, dword [esp + 0x94]
mov eax, ecx
neg eax
mov dword [esp + 0x7c], 0xffffffff
sbb eax, eax
add eax, 2
cmp esi, eax
jl 0x100811f3
cvttss2si eax, dword [esp + 0xa8]
neg ecx
mov edx, esi
sbb ecx, ecx
neg ecx
dec ecx
cmp eax, esi
cmovl edx, eax
lea eax, [ecx + esi]
add edx, ecx
mov dword [esp + 0x48], eax
cmp byte [esp + 0x87], 0
mov dword [esp + 0x60], edx
je 0x10080e94
movss xmm1, dword [edi + 0xe8]
movss xmm2, dword [esp + 0x5c]
comiss xmm1, xmm2
jb 0x10080e94
movss xmm0, dword [edi + 0xec]
comiss xmm0, dword [esp + 0x64]
jb 0x10080e94
movss xmm3, dword [esp + 0x70]
comiss xmm3, xmm1
jbe 0x10080e94
movss xmm4, dword [esp + 0x6c]
comiss xmm4, xmm0
jbe 0x10080e94
movaps xmm0, xmm3
subss xmm1, xmm2
subss xmm0, xmm2
divss xmm1, xmm0
xorps xmm0, xmm0
comiss xmm0, xmm1
jbe 0x10080db9
xorps xmm2, xmm2
jmp 0x10080dc5
movss xmm2, dword [0x101c7364]
minss xmm2, xmm1
mov esi, dword [esp + 0x98]
movd xmm0, eax
cvtdq2ps xmm0, xmm0
mulss xmm0, xmm2
cvttss2si eax, xmm0
add esi, eax
mov dword [esp + 0x7c], eax
mov eax, esi
cdq
idiv dword [esp + 0x94]
push edx
push dword [esp + 0x94]
call dword [esp + 0x94]
lea eax, [esi + 1]
mov esi, dword [esp + 0x9c]
cdq
idiv esi
fstp dword [esp + 0x7c]
push edx
push dword [esp + 0x9c]
call dword [esp + 0x9c]
mov eax, dword [esp + 0x78]
add esp, 0x10
fstp dword [esp + 0x3c]
test eax, eax
jne 0x10080e66
movss xmm0, dword [esp + 0x3c]
sub esp, 8
mov ecx, dword [esp + 0x84]
cvtps2pd xmm0, xmm0
lea eax, [ecx + 1]
movsd qword [esp], xmm0
movss xmm0, dword [esp + 0x7c]
push eax
cvtps2pd xmm0, xmm0
sub esp, 8
movsd qword [esp], xmm0
push ecx
push str._d:__8.4g_n_d:__8.4g
call fcn.10019120
add esp, 0x1c
jmp 0x10080e90
cmp eax, 1
jne 0x10080e90
movss xmm0, dword [esp + 0x74]
sub esp, 8
cvtps2pd xmm0, xmm0
movsd qword [esp], xmm0
push dword [esp + 0x84]
push str._d:__8.4g
call fcn.10019120
add esp, 0x10
mov edx, dword [esp + 0x60]
movss xmm1, dword [0x101c736c]
movd xmm0, edx
movaps xmm2, xmm1
cvtdq2ps xmm0, xmm0
divss xmm2, xmm0
movss xmm0, dword [esp + 0xa4]
movss dword [esp + 0x34], xmm2
movss xmm2, dword [esp + 0x80]
ucomiss xmm2, xmm0
lahf
test ah, 0x44
jp 0x10080ed0
xorps xmm1, xmm1
jmp 0x10080ed8
subss xmm0, xmm2
divss xmm1, xmm0
mov eax, dword [esp + 0x98]
xorps xmm0, xmm0
cdq
idiv esi
movss dword [esp + 0x74], xmm1
push edx
push dword [esp + 0x94]
movss dword [esp + 0x40], xmm0
call dword [esp + 0x94]
fsub dword [esp + 0xa8]
add esp, 8
movss xmm1, dword [0x101c736c]
xorps xmm7, xmm7
fmul dword [esp + 0x74]
fstp dword [esp + 0x3c]
movss xmm0, dword [esp + 0x3c]
comiss xmm7, xmm0
jbe 0x10080f2d
xorps xmm2, xmm2
jmp 0x10080f34
movaps xmm2, xmm1
minss xmm2, xmm0
movaps xmm0, xmm1
movss dword [esp + 0x40], xmm7
subss xmm0, xmm2
movss xmm2, dword [esp + 0x80]
movss dword [esp + 0x3c], xmm0
movaps xmm0, xmm2
mulss xmm0, dword [esp + 0xa4]
comiss xmm7, xmm0
jbe 0x10080f79
xorps xmm2, xmmword [0x101c7e10]
mulss xmm2, dword [esp + 0x74]
movss dword [esp + 0x80], xmm2
jmp 0x10080f92
comiss xmm7, xmm2
jbe 0x10080f89
movss dword [esp + 0x80], xmm7
jmp 0x10080f92
movss dword [esp + 0x80], xmm1
mov edx, dword [esp + 0x68]
xor ecx, ecx
test edx, edx
setne cl
lea ecx, [ecx*2 + 0x26]
call fcn.1000a3b0
movss xmm1, dword [0x101c736c]
xor ecx, ecx
test edx, edx
mov dword [esp + 0x4c], eax
setne cl
lea ecx, [ecx*2 + 0x27]
call fcn.1000a3b0
cmp dword [esp + 0x60], 0
mov dword [esp + 0x44], eax
jle 0x100811f3
movss xmm0, dword [esp + 0x70]
subss xmm0, dword [esp + 0x5c]
movd xmm2, dword [esp + 0x48]
movss xmm1, dword [esp + 0x38]
mov edi, dword [esp + 0x60]
cvtdq2ps xmm2, xmm2
movss dword [esp + 0x70], xmm0
movss xmm0, dword [esp + 0x6c]
subss xmm0, dword [esp + 0x64]
movss dword [esp + 0x30], xmm2
movss dword [esp + 0x6c], xmm0
nop dword [eax]
nop dword [eax + eax]
mov ecx, dword [esp + 0x98]
movaps xmm0, xmm1
addss xmm0, dword [esp + 0x34]
inc ecx
movss dword [esp + 0x60], xmm0
movaps xmm0, xmm2
mulss xmm0, xmm1
addss xmm0, dword [0x101c7324]
cvttss2si eax, xmm0
mov dword [esp + 0x48], eax
add eax, ecx
cdq
idiv esi
push edx
push dword [esp + 0x94]
call dword [esp + 0x94]
fsub dword [esp + 0xa8]
add esp, 8
movss xmm3, dword [0x101c736c]
xorps xmm7, xmm7
fmul dword [esp + 0x74]
fstp dword [esp + 0x38]
movss xmm1, dword [esp + 0x38]
comiss xmm7, xmm1
jbe 0x1008108f
xorps xmm0, xmm0
jmp 0x10081096
movaps xmm0, xmm3
minss xmm0, xmm1
movss xmm5, dword [esp + 0x70]
movaps xmm1, xmm3
movss xmm6, dword [esp + 0x6c]
subss xmm1, xmm0
movss xmm4, dword [esp + 0x5c]
movaps xmm2, xmm5
mulss xmm2, dword [esp + 0x40]
movaps xmm0, xmm6
mov eax, dword [esp + 0x68]
mulss xmm0, dword [esp + 0x3c]
movss xmm7, dword [esp + 0x64]
addss xmm2, xmm4
movss dword [esp + 0x38], xmm1
addss xmm0, xmm7
movss dword [esp + 0x18], xmm2
movss dword [esp + 0x1c], xmm0
test eax, eax
jne 0x10081148
mov eax, dword [esp + 0x4c]
movaps xmm0, xmm5
mulss xmm0, dword [esp + 0x60]
push ecx
mov ecx, dword [esp + 0x80]
cmp ecx, dword [esp + 0x4c]
addss xmm0, xmm4
mov dword [esp], 0x3f800000
cmove eax, dword [esp + 0x48]
push eax
lea eax, [esp + 0x30]
push eax
movss dword [esp + 0x34], xmm0
lea eax, [esp + 0x24]
movaps xmm0, xmm6
mulss xmm0, xmm1
push eax
mov eax, dword [esp + 0x68]
addss xmm0, xmm7
mov ecx, dword [eax + 0x294]
movss dword [esp + 0x3c], xmm0
call fcn.1005e850
jmp 0x100811c5
movaps xmm1, xmm5
movaps xmm0, xmm6
mulss xmm1, dword [esp + 0x60]
mulss xmm0, dword [esp + 0x80]
addss xmm1, xmm4
addss xmm0, xmm7
movss dword [esp + 0x28], xmm1
movss dword [esp + 0x2c], xmm0
cmp eax, 1
jne 0x100811c5
addss xmm2, dword [0x101c73d0]
comiss xmm1, xmm2
jb 0x1008118d
subss xmm1, xmm3
movss dword [esp + 0x28], xmm1
mov eax, dword [esp + 0x4c]
push 0xf
push ecx
mov ecx, dword [esp + 0x84]
cmp ecx, dword [esp + 0x50]
mov dword [esp], 0
cmove eax, dword [esp + 0x4c]
push eax
lea eax, [esp + 0x34]
push eax
lea eax, [esp + 0x28]
push eax
mov eax, dword [esp + 0x6c]
mov ecx, dword [eax + 0x294]
call fcn.1005ea70
movss xmm0, dword [esp + 0x60]
movss xmm2, dword [esp + 0x30]
movaps xmm1, xmm0
movss dword [esp + 0x40], xmm0
movss xmm0, dword [esp + 0x38]
movss dword [esp + 0x3c], xmm0
sub edi, 1
jne 0x10081020
mov edi, dword [esp + 0x78]
mov edx, dword [esp + 0x9c]
test edx, edx
je 0x100812ab
movss xmm0, dword [esp + 8]
movss dword [esp + 0x18], xmm0
movss xmm0, dword [esp + 0xc]
mov dword [esp + 0x28], 0x3f000000
mov dword [esp + 0x2c], 0
addss xmm0, dword [edi + 0x155c]
mov edi, edx
movss dword [esp + 0x1c], xmm0
cmp edx, 0xffffffff
jae 0x10081256
nop dword [eax]
mov cl, byte [edi]
test cl, cl
je 0x10081256
cmp cl, 0x23
jne 0x10081250
cmp byte [edi + 1], cl
je 0x10081256
inc edi
cmp edi, 0xffffffff
jb 0x10081240
mov eax, edi
sub eax, edx
je 0x100812a7
mov esi, dword [0x102062d4]
lea eax, [esp + 0x28]
push 0
push eax
push 0
mov ecx, dword [esi + 0x1a18]
lea eax, [esp + 0x1c]
push edi
push edx
push eax
mov ecx, dword [ecx + 0x294]
lea edx, [esp + 0x30]
call fcn.1000ad50
add esp, 0x18
cmp byte [esi + 0x2e48], 0
je 0x100812a7
mov edx, dword [esp + 0x9c]
lea ecx, [esp + 0x18]
push edi
call fcn.1001de30
add esp, 4
mov edi, dword [esp + 0x78]
movss xmm1, dword [esp + 0x54]
xorps xmm0, xmm0
comiss xmm1, xmm0
jbe 0x100812f1
movss xmm0, dword [esp + 0x10]
xor edx, edx
addss xmm0, dword [edi + 0x1570]
mov ecx, dword [esp + 0x50]
movss dword [esp + 0x18], xmm0
movss xmm0, dword [esp + 0x64]
movss dword [esp + 0x1c], xmm0
push dword [esp + 0x1c]
push dword [esp + 0x1c]
push 1
call fcn.1000ab30
add esp, 0xc
mov eax, dword [esp + 0x7c]
pop edi
pop esi
add esp, 0x80
ret
pop edi
or eax, 0xffffffff
pop esi
add esp, 0x80
ret