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

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff0
sub esp, 0x98
mov eax, dword [0x100f0364]
xor eax, esp
mov dword [esp + 0x94], eax
push esi
push edi
mov edi, dword [0x10135b78]
mov esi, ecx
mov dword [esp + 0x78], edx
xorps xmm1, xmm1
mov dword [esp + 0x5c], esi
mov eax, dword [edi + 0x1b9c]
mov byte [eax + 0xa4], 1
mov eax, dword [edi + 0x1b9c]
cmp byte [eax + 0xa7], 0
jne 0x1006912f
movss xmm1, dword [0x100e59f4]
lea ecx, [esp + 0x4c]
mov dword [esp + 0x4c], 0
mov dword [esp + 0x50], 0
call fcn.1004d660
xorps xmm1, xmm1
mov eax, dword [edi + 0x1c20]
mov ecx, eax
and eax, 0xffffffef
shr ecx, 4
mov dword [edi + 0x1c20], eax
and ecx, 0xffffff01
mov eax, dword [edi + 0x1b9c]
mov dword [esp + 0x4c], ecx
mov byte [eax + 0xa4], 1
mov eax, dword [edi + 0x1b9c]
mov dword [esp + 0x2c], eax
cmp byte [eax + 0xa7], 0
jne 0x100698c6
mov ecx, dword [eax + 0xd8]
xor edx, edx
mov eax, dword [eax + 0xe0]
push dword [eax + ecx*4 - 4]
mov ecx, esi
call fcn.10041a70
add esp, 4
mov dword [esp + 0x30], eax
cmp dword [edi + 0x1bd0], eax
jne 0x1006919f
mov dword [edi + 0x1bd4], eax
cmp dword [edi + 0x1c0c], eax
jne 0x100691ae
mov byte [edi + 0x1c10], 1
movss xmm0, dword [edi + 0x1554]
mov ecx, esi
movss xmm3, dword [edi + 0x1934]
addss xmm0, xmm0
addss xmm0, xmm3
movss dword [esp + 0x60], xmm0
cmp esi, 0xffffffff
jae 0x100691e9
mov dl, byte [ecx]
test dl, dl
je 0x100691e9
cmp dl, 0x23
jne 0x100691e3
cmp byte [ecx + 1], dl
je 0x100691e9
inc ecx
cmp ecx, 0xffffffff
jb 0x100691d3
cmp esi, ecx
jne 0x100691f2
movaps xmm6, xmm1
jmp 0x10069232
push ecx
push ecx
push esi
push ecx
mov ecx, dword [edi + 0x1930]
lea eax, [esp + 0x78]
mov dword [esp], 0xbf800000
movaps xmm2, xmm3
push eax
call fcn.10062220
movss xmm0, dword [esp + 0x68]
xorps xmm1, xmm1
addss xmm0, dword [0x100e5720]
movss xmm3, dword [esp + 0x6c]
cvttss2si eax, xmm0
movd xmm6, eax
cvtdq2ps xmm6, xmm6
test byte [edi + 0x1c84], 1
mov eax, dword [edi + 0x1b9c]
movss dword [esp + 0x88], xmm6
je 0x10069254
movss xmm2, dword [edi + 0x1c88]
jmp 0x1006925c
movss xmm2, dword [eax + 0x1d0]
comiss xmm1, xmm2
jbe 0x10069297
cmp dword [eax + 0x1b4], 0
movss xmm0, dword [eax + 0x268]
jne 0x1006927b
cmp dword [edi + 0x1ed8], 0
je 0x10069283
movss xmm0, dword [eax + 0x238]
subss xmm0, dword [eax + 0xe4]
addss xmm2, xmm0
maxss xmm2, dword [0x100e572c]
movss xmm7, dword [edi + 0x1554]
xor eax, eax
cmp byte [ebp + 0xc], al
movaps xmm4, xmm7
mov ecx, dword [esp + 0x2c]
addss xmm4, xmm7
mov edx, 0xa
cmovne eax, edx
comiss xmm6, xmm1
movss xmm0, dword [ecx + 0xe4]
addss xmm4, xmm3
movd xmm3, eax
cvtdq2ps xmm3, xmm3
cvttss2si esi, xmm2
movss xmm2, dword [ecx + 0x14]
addss xmm3, dword [ecx + 0xe8]
subss xmm2, dword [0x100e581c]
movaps xmm5, xmm3
movss dword [esp + 0x38], xmm3
addss xmm2, xmm0
addss xmm0, dword [0x100e581c]
addss xmm5, xmm4
movss dword [esp + 0x3c], xmm2
movss dword [esp + 0x34], xmm0
movss dword [esp + 0x40], xmm5
jbe 0x1006931e
movaps xmm1, xmm6
addss xmm1, dword [edi + 0x1568]
addss xmm1, xmm2
movss dword [esp + 0x10], xmm0
lea ecx, [esp + 0x68]
movss dword [esp + 0x14], xmm3
movss dword [esp + 0x1c], xmm5
movss dword [esp + 0x6c], xmm4
movss dword [esp + 0x18], xmm1
subss xmm1, xmm0
movss dword [esp + 0x68], xmm1
movaps xmm1, xmm7
call fcn.1004d660
mov edx, dword [esp + 0x30]
lea eax, [esp + 0x34]
push eax
lea ecx, [esp + 0x14]
call fcn.1004d7e0
add esp, 4
test al, al
je 0x100698c6
mov edx, dword [esp + 0x30]
lea eax, [esp + 0xf]
push 0
push eax
lea eax, [esp + 0x16]
push eax
lea ecx, [esp + 0x40]
call fcn.10066240
mov byte [esp + 0x1b], al
add esp, 0xc
mov eax, dword [0x10135b78]
mov ecx, dword [eax + 0x1cec]
cmp dword [eax + 0x1ce0], ecx
jle 0x100693bf
lea edx, [ecx + ecx*8]
mov ecx, dword [eax + 0x1ce8]
mov eax, dword [esp + 0x30]
cmp dword [ecx + edx*4], eax
jne 0x100693c3
mov byte [esp + 0xe], 1
jmp 0x100693c8
mov eax, dword [esp + 0x30]
mov byte [esp + 0xe], 0
movss xmm0, dword [esp + 0x3c]
lea ecx, [esp + 0x34]
subss xmm0, dword [esp + 0x60]
movss xmm1, dword [esp + 0x34]
mov edx, eax
push 1
movss dword [esp + 0x58], xmm1
maxss xmm0, xmm1
movss dword [esp + 0x6c], xmm0
call fcn.10043350
add esp, 4
mov ecx, 0x30
cmp byte [esp + 0xe], 0
mov eax, 0xf0
cmovne eax, ecx
push eax
push ecx
mov ecx, dword [esp + 0x34]
mov dword [esp], 0x40000000
mov dword [esp + 0x88], eax
lea eax, [esp + 0x44]
push 0xff1c1a18
mov ecx, dword [ecx + 0x2a4]
push eax
lea eax, [esp + 0x44]
push eax
call fcn.1005e110
mov eax, dword [esp + 0x2c]
movss xmm0, dword [esp + 0x3c]
push dword [esp + 0x80]
movss xmm3, dword [0x100e5780]
mov eax, dword [eax + 0x2a4]
mov dword [esp + 0x88], eax
test byte [eax + 0x24], 1
je 0x100694b9
movss xmm1, dword [0x100e56b0]
lea ecx, [esp + 0x48]
subss xmm0, xmm1
push ecx
lea ecx, [esp + 0x18]
movss dword [esp + 0x4c], xmm0
movss xmm0, dword [esp + 0x48]
movss dword [esp + 0x60], xmm0
subss xmm0, xmm1
movss dword [esp + 0x50], xmm0
movss xmm0, dword [esp + 0x5c]
addss xmm0, xmm1
movss dword [esp + 0x18], xmm0
movss xmm0, dword [esp + 0x40]
addss xmm0, xmm1
movss dword [esp + 0x1c], xmm0
jmp 0x10069512
subss xmm0, dword [0x100e56ac]
lea ecx, [esp + 0x14]
push ecx
lea ecx, [esp + 0x4c]
movss dword [esp + 0x18], xmm0
movss xmm0, dword [esp + 0x48]
movss dword [esp + 0x60], xmm0
subss xmm0, dword [0x100e56ac]
movss dword [esp + 0x1c], xmm0
movss xmm0, dword [esp + 0x5c]
addss xmm0, dword [0x100e56b0]
movss dword [esp + 0x4c], xmm0
movss xmm0, dword [esp + 0x40]
addss xmm0, dword [0x100e56b0]
movss dword [esp + 0x50], xmm0
push ecx
mov ecx, eax
call fcn.1005dcb0
mov eax, dword [esp + 0x84]
push ecx
mov dword [esp], 0x3f800000
mov ecx, eax
push 1
push 0xff3c3c3c
push dword [eax + 0x54]
push dword [eax + 0x5c]
call fcn.1005c3e0
mov eax, dword [esp + 0x84]
xorps xmm0, xmm0
movss xmm4, dword [0x100e572c]
mov dword [eax + 0x54], 0
mov eax, dword [0x10135b78]
movups xmm1, xmmword [eax + 0x15e0]
comiss xmm0, xmm1
movaps xmm2, xmm1
movaps xmmword [esp + 0x10], xmm1
shufps xmm2, xmm1, 0xff
mulss xmm2, dword [eax + 0x1518]
jbe 0x10069580
xorps xmm1, xmm1
jmp 0x10069584
minss xmm1, xmm4
movss xmm5, dword [0x100e5940]
movss xmm3, dword [0x100e56b0]
mulss xmm1, xmm5
addss xmm1, xmm3
cvttss2si ecx, xmm1
movss xmm1, dword [esp + 0x14]
comiss xmm0, xmm1
jbe 0x100695b0
xorps xmm1, xmm1
jmp 0x100695b4
minss xmm1, xmm4
mulss xmm1, xmm5
addss xmm1, xmm3
cvttss2si eax, xmm1
movss xmm1, dword [esp + 0x18]
shl eax, 8
or ecx, eax
comiss xmm0, xmm1
jbe 0x100695d5
xorps xmm1, xmm1
jmp 0x100695d9
minss xmm1, xmm4
mulss xmm1, xmm5
addss xmm1, xmm3
cvttss2si eax, xmm1
shl eax, 0x10
or ecx, eax
comiss xmm0, xmm2
jbe 0x100695f4
xorps xmm2, xmm2
jmp 0x100695f8
minss xmm2, xmm4
movss xmm4, dword [esp + 0x68]
movss xmm1, dword [esp + 0x3c]
movaps xmm0, xmm4
addss xmm0, dword [esp + 0x60]
subss xmm0, dword [edi + 0x1550]
comiss xmm1, xmm0
jb 0x1006967f
movss xmm1, dword [edi + 0x1554]
movzx eax, byte [esp + 0xe]
movaps xmm0, xmm1
addss xmm1, dword [esp + 0x38]
mulss xmm2, xmm5
addss xmm0, xmm4
add eax, 2
addss xmm1, dword [0x100e57d8]
addss xmm2, xmm3
movss dword [esp + 0x60], xmm0
movss xmm3, dword [0x100e56c4]
movss dword [esp + 0x64], xmm1
push dword [esp + 0x64]
cvttss2si edx, xmm2
push dword [esp + 0x64]
shl edx, 0x18
push eax
mov eax, dword [esp + 0x38]
or edx, ecx
mov ecx, dword [eax + 0x2a4]
call fcn.10062980
add esp, 0xc
push dword [esp + 0x40]
movss xmm0, dword [edi + 0x1558]
push dword [esp + 0x40]
push dword [esp + 0x40]
push dword [esp + 0x40]
call fcn.10043000
mov ecx, dword [esp + 0x88]
add esp, 0x10
test ecx, ecx
je 0x1006973e
cmp byte [edi + 0x2ee4], 0
movss xmm0, dword [esp + 0x54]
addss xmm0, dword [edi + 0x1550]
movss dword [esp + 0x78], xmm0
movss xmm0, dword [esp + 0x38]
addss xmm0, dword [edi + 0x1554]
movss dword [esp + 0x7c], xmm0
je 0x100696f8
mov eax, dword [0x10135b78]
mov dword [eax + 0x2efc], 0x100e2cc8
mov dword [eax + 0x2f00], 0x100e2cb4
movss xmm0, dword [esp + 0x68]
lea eax, [esp + 0x10]
push 0
push eax
push 0
push ecx
movss dword [esp + 0x54], xmm0
lea edx, [esp + 0x54]
movss xmm0, dword [esp + 0x68]
push ecx
lea ecx, [esp + 0x8c]
mov dword [esp + 0x24], 0
mov dword [esp + 0x28], 0
movss dword [esp + 0x5c], xmm0
call fcn.10042bf0
add esp, 0x14
movss xmm0, dword [esp + 0x88]
xorps xmm2, xmm2
comiss xmm0, xmm2
jbe 0x100697ac
cmp byte [ebp + 0xc], 0
je 0x100697ac
mov eax, dword [esp + 0x2c]
push 0
push ecx
mov dword [esp], 0
lea ecx, [esp + 0x18]
movss xmm0, dword [eax + 0xe4]
addss xmm0, dword [0x100e581c]
push 0
push dword [esp + 0x68]
push 0xc8fafafa
movss dword [esp + 0x24], xmm0
movss xmm0, dword [eax + 0xe8]
subss xmm0, dword [0x100e586c]
push ecx
mov ecx, dword [eax + 0x2a4]
push 0
movss dword [esp + 0x30], xmm0
call fcn.1005e890
mov ecx, dword [0x10135b78]
movss xmm6, dword [0x100e59f4]
mov eax, dword [ecx + 0x1b9c]
mov byte [eax + 0xa4], 1
mov eax, dword [ecx + 0x1b9c]
cmp byte [eax + 0xa7], 0
jne 0x100697f8
movaps xmm1, xmm6
mov dword [esp + 0x10], 0
lea ecx, [esp + 0x10]
mov dword [esp + 0x14], 0
call fcn.1004d660
mov ecx, dword [0x10135b78]
mov eax, dword [ecx + 0x1b9c]
mov byte [eax + 0xa4], 1
mov eax, dword [ecx + 0x1b9c]
cmp byte [eax + 0xa7], 0
jne 0x10069836
movaps xmm1, xmm6
mov dword [esp + 0x10], 0
lea ecx, [esp + 0x10]
mov dword [esp + 0x14], 0
call fcn.1004d660
mov ecx, dword [0x10135b78]
mov eax, dword [ecx + 0x1b9c]
mov byte [eax + 0xa4], 1
mov eax, dword [ecx + 0x1b9c]
cmp byte [eax + 0xa7], 0
jne 0x10069874
movaps xmm1, xmm6
mov dword [esp + 0x10], 0
lea ecx, [esp + 0x10]
mov dword [esp + 0x14], 0
call fcn.1004d660
mov ecx, dword [0x10135b78]
mov eax, dword [ecx + 0x1b9c]
mov byte [eax + 0xa4], 1
mov eax, dword [ecx + 0x1b9c]
cmp byte [eax + 0xa7], 0
jne 0x100698ac
movaps xmm1, xmm6
mov dword [esp + 0x10], 0
lea ecx, [esp + 0x10]
mov dword [esp + 0x14], 0
call fcn.1004d660
cmp byte [esp + 0xf], 0
mov ecx, dword [esp + 0x30]
jne 0x100698dc
cmp dword [edi + 0x1d10], ecx
je 0x100698dc
cmp byte [esp + 0xe], 0
jne 0x100698fd
xor al, al
pop edi
pop esi
mov ecx, dword [esp + 0x94]
xor ecx, esp
call fcn.100bfdfa
mov esp, ebp
pop ebp
ret
cmp byte [esp + 0xe], 0
jne 0x100698fd
mov eax, dword [esp + 0x2c]
cmp dword [eax + 0x15c], 0
jne 0x100698f6
mov dword [eax + 0x34c], ecx
xor edx, edx
call fcn.1004e8f0
cmp byte [esp + 0x4c], 0
je 0x10069927
or dword [edi + 0x1c20], 0x10
movd xmm0, esi
cvtdq2ps xmm0, xmm0
maxss xmm0, dword [edi + 0x1c60]
movss dword [edi + 0x1c60], xmm0
jmp 0x100699ad
mov eax, dword [0x10135b78]
mov ecx, dword [esp + 0x2c]
mov dword [esp + 0x14], 0
movss xmm0, dword [eax + 0x1564]
movss xmm1, dword [eax + 0x1520]
movaps xmm2, xmm0
addss xmm2, dword [eax + 0x1934]
addss xmm1, xmm1
mulss xmm2, dword [0x100e581c]
subss xmm2, xmm0
movss xmm0, dword [ecx + 0x14]
subss xmm0, dword [0x100e5840]
or dword [eax + 0x1c20], 0x10
mov dword [eax + 0x1c70], 0
mov dword [eax + 0x1c74], 0
addss xmm2, xmm1
movss dword [esp + 0x10], xmm0
movss dword [esp + 0x18], xmm0
movss dword [esp + 0x1c], xmm2
movups xmm0, xmmword [esp + 0x10]
movups xmmword [eax + 0x1c60], xmm0
push dword [edi + 0x1cec]
lea eax, [esp + 0x90]
push str.Combo__02d
push 0x10
push eax
call fcn.10041a30
add esp, 0x10
lea ecx, [esp + 0x8c]
call fcn.10047eb0
mov esi, eax
test esi, esi
je 0x10069b6d
cmp byte [esi + 0xa3], 0
je 0x10069b6d
lea eax, [esp + 0x4c]
mov dword [esp + 0x50], 0
push eax
lea edx, [esp + 0x14]
mov dword [esp + 0x50], 0
mov ecx, esi
call fcn.10048510
add esp, 4
lea eax, [esp + 0x4c]
mov edx, esi
lea ecx, [esp + 0x10]
push eax
call fcn.10048640
add esp, 4
lea eax, [esp + 0x10]
mov edx, esi
lea ecx, [esp + 0x78]
push eax
call fcn.10048310
mov dword [esi + 0xbc], 3
lea ecx, [esi + 0xbc]
mov esi, dword [0x10135b78]
add esp, 4
movss xmm6, dword [0x100e5c20]
mov eax, dword [esi + 0x1d00]
movss xmm3, dword [esi + 0x15cc]
movss xmm2, dword [esi + 0x15c8]
mov eax, dword [eax]
movss xmm7, dword [eax + 0xc]
movss xmm4, dword [eax + 4]
movaps xmm0, xmm7
movss xmm1, dword [eax + 0x10]
addss xmm0, xmm4
movss xmm5, dword [eax + 8]
movss dword [esp + 0x4c], xmm0
movaps xmm0, xmm1
addss xmm0, xmm5
movss dword [esp + 0x5c], xmm0
movaps xmm0, xmm3
addss xmm0, xmm3
comiss xmm1, xmm0
jbe 0x10069aab
xorps xmm3, xmm6
jmp 0x10069aae
xorps xmm3, xmm3
movaps xmm0, xmm2
addss xmm0, xmm2
comiss xmm7, xmm0
jbe 0x10069abf
xorps xmm2, xmm6
jmp 0x10069ac2
xorps xmm2, xmm2
movss xmm0, dword [esp + 0x54]
lea eax, [esp + 0x34]
push 1
push eax
subss xmm4, xmm2
movss dword [esp + 0x18], xmm0
addss xmm2, dword [esp + 0x54]
movss xmm0, dword [esp + 0x60]
subss xmm5, xmm3
addss xmm3, dword [esp + 0x64]
lea eax, [esp + 0x70]
movss dword [esp + 0x1c], xmm0
push eax
push ecx
lea eax, [esp + 0x88]
movss dword [esp + 0x78], xmm4
push eax
lea edx, [esp + 0x24]
movss dword [esp + 0x80], xmm5
lea ecx, [esp + 0x58]
movss dword [esp + 0x84], xmm2
movss dword [esp + 0x88], xmm3
call fcn.1004ef30
mov eax, dword [esp + 0x58]
add esp, 0x14
mov ecx, dword [esp + 0x48]
or dword [esi + 0x1c20], 1
mov dword [esi + 0x1c34], eax
mov dword [esi + 0x1c38], ecx
mov dword [esi + 0x1c3c], 0
mov dword [esi + 0x1c40], 0
mov dword [esi + 0x1c24], 1
movss xmm0, dword [edi + 0x1550]
lea edx, [esp + 0x10]
movss dword [esp + 0x10], xmm0
mov ecx, 1
movss xmm0, dword [edi + 0x1520]
movss dword [esp + 0x14], xmm0
call fcn.10042490
push 0x4000147
xor edx, edx
lea ecx, [esp + 0x90]
call fcn.1004a740
add esp, 4
mov byte [esp + 0xf], al
mov ecx, 1
call fcn.10042510
cmp byte [esp + 0xf], 0
jne 0x10069c18
mov esi, dword [0x10135b78]
mov eax, dword [esi + 0x1b9c]
cmp dword [esi + 0x1d04], eax
jne 0x10069be6
mov dword [esi + 0x1e04], eax
mov dword [esi + 0x1e08], 2
test dword [eax + 8], 0x1000000
je 0x10069bf6
mov byte [esi + 0x1b46], 1
call fcn.1004cd50
mov byte [esi + 0x1b46], 0
xor al, al
pop edi
pop esi
mov ecx, dword [esp + 0x94]
xor ecx, esp
call fcn.100bfdfa
mov esp, ebp
pop ebp
ret
mov ecx, dword [esp + 0x9c]
mov al, 1
pop edi
pop esi
xor ecx, esp
call fcn.100bfdfa
mov esp, ebp
pop ebp
ret