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

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff0
sub esp, 0xa8
mov eax, dword [0x1003d00c]
xor eax, esp
mov dword [esp + 0xa4], eax
mov eax, dword [ebp + 8]
push esi
push edi
mov edi, dword [0x1003d7b8]
mov esi, ecx
mov dword [esp + 0x18], eax
mov dword [esp + 0x1c], esi
mov dword [esp + 0x38], edi
mov eax, dword [edi + 0x199c]
mov byte [eax + 0x7c], 1
mov eax, dword [edi + 0x199c]
mov dword [esp + 0x10], eax
cmp byte [eax + 0x7f], 0
jne 0x1002625b
mov ecx, dword [eax + 0x1c4]
xor edx, edx
mov eax, dword [eax + 0x1cc]
push dword [eax + ecx*4 - 4]
mov ecx, esi
call fcn.10002660
add esp, 4
mov dword [esp + 0x14], eax
cmp dword [edi + 0x19bc], eax
jne 0x10025bdf
mov dword [edi + 0x19c4], eax
cmp dword [edi + 0x19c0], eax
jne 0x10025bee
mov byte [edi + 0x19d0], 1
mov esi, dword [edi + 0x199c]
xorps xmm0, xmm0
movss xmm2, dword [esi + 0x170]
comiss xmm0, xmm2
jbe 0x10025c78
movss xmm3, dword [esi + 0xc8]
movss xmm1, dword [esi + 0x218]
mov ecx, dword [esi + 0x1c0]
subss xmm3, dword [esi + 0xc]
subss xmm1, dword [esi + 0xc]
test ecx, ecx
je 0x10025c61
mov edx, dword [ecx + 0xc]
movss xmm0, dword [ecx + 0x14]
lea eax, [edx + 1]
test eax, eax
cmovns edx, eax
lea ecx, [edx*8]
sub ecx, edx
mov edx, dword [esi + 0x1c0]
movss xmm1, dword [edx + 0x18]
mov eax, dword [edx + 0x34]
subss xmm1, xmm0
mulss xmm1, dword [eax + ecx*4]
addss xmm1, xmm0
subss xmm1, dword [esi + 0x3c]
subss xmm1, xmm3
xorps xmm0, xmm0
addss xmm1, xmm2
movss xmm2, dword [0x10039b38]
maxss xmm2, xmm1
mov edx, dword [esp + 0x1c]
mov eax, edx
cvttss2si esi, xmm2
cmp edx, 0xffffffff
jae 0x10025c9d
mov cl, byte [eax]
test cl, cl
je 0x10025c9d
cmp cl, 0x23
jne 0x10025c97
cmp byte [eax + 1], cl
je 0x10025c9d
inc eax
cmp eax, 0xffffffff
jb 0x10025c87
movss xmm1, dword [edi + 0x18bc]
cmp edx, eax
jne 0x10025cae
movaps xmm7, xmm0
jmp 0x10025cf6
movss xmm3, dword [0x10039bc8]
movaps xmm2, xmm1
push ecx
push eax
push edx
push ecx
mov ecx, dword [edi + 0x18b8]
lea eax, [esp + 0x30]
mov dword [esp], 0xbf800000
push eax
call fcn.1001ff20
movss xmm0, dword [esp + 0x20]
addss xmm0, dword [0x10039b34]
movss xmm1, dword [esp + 0x24]
cvttss2si eax, xmm0
xorps xmm0, xmm0
movd xmm7, eax
cvtdq2ps xmm7, xmm7
comiss xmm7, xmm0
mov eax, dword [esp + 0x10]
movss xmm4, dword [eax + 0xc8]
movss xmm6, dword [edi + 0x1548]
movaps xmm3, xmm4
movss xmm5, dword [eax + 0xcc]
movd xmm2, esi
cvtdq2ps xmm2, xmm2
movss dword [esp + 0x34], xmm7
addss xmm3, xmm2
movss dword [esp + 0x40], xmm4
movaps xmm2, xmm6
movss dword [esp + 0x44], xmm5
addss xmm2, xmm6
movss dword [esp + 0x48], xmm3
addss xmm2, xmm1
addss xmm2, xmm5
movss dword [esp + 0x4c], xmm2
jbe 0x10025d60
movss xmm1, dword [edi + 0x155c]
addss xmm1, xmm7
jmp 0x10025d63
movaps xmm1, xmm0
addss xmm3, xmm1
movss dword [esp + 0x50], xmm4
addss xmm2, xmm0
movss dword [esp + 0x54], xmm5
movaps xmm1, xmm6
lea ecx, [esp + 0x20]
movss dword [esp + 0x58], xmm3
subss xmm3, xmm4
movss dword [esp + 0x5c], xmm2
subss xmm2, xmm5
movss dword [esp + 0x20], xmm3
movss dword [esp + 0x24], xmm2
call fcn.100050e0
mov esi, dword [esp + 0x14]
lea eax, [esp + 0x40]
push eax
mov edx, esi
lea ecx, [esp + 0x54]
call fcn.10005240
add esp, 4
test al, al
je 0x1002625b
mov ecx, dword [esp + 0x10]
mov edx, esi
call fcn.100055d0
mov edx, esi
mov byte [esp + 0xf], al
lea ecx, [esp + 0x40]
call fcn.10005470
cmp byte [esp + 0xf], 0
jne 0x10025e08
test al, al
je 0x10025df0
cmp byte [edi + 0x3d8], 0
jne 0x10025e08
cmp dword [edi + 0x1ab4], esi
je 0x10025e08
cmp dword [edi + 0x1ac0], esi
jne 0x10025e4d
cmp dword [edi + 0x2c90], esi
je 0x10025e4d
mov edx, dword [esp + 0x10]
mov ecx, esi
call fcn.10004f70
call fcn.10005020
mov ecx, edx
call fcn.1000dae0
cmp byte [esp + 0xf], 0
mov dword [edi + 0x19d4], 0xc
jne 0x100261f6
cmp byte [edi + 0xf8], 0
jne 0x100261f6
cmp dword [edi + 0x1ac0], esi
je 0x100261f6
cmp dword [edi + 0x19bc], esi
jne 0x10025e68
cmp dword [edi + 0x2c90], esi
je 0x10026200
mov eax, 9
jmp 0x10025e76
xor eax, eax
cmp dword [edi + 0x19a8], esi
sete al
add eax, 7
movss xmm1, dword [0x10039b38]
add eax, eax
xorps xmm0, xmm0
movups xmm3, xmmword [edi + eax*8 + 0x15b8]
comiss xmm0, xmm3
movaps xmm5, xmm3
movaps xmmword [esp + 0x50], xmm3
shufps xmm5, xmm3, 0xff
mulss xmm5, dword [edi + 0x1510]
jbe 0x10025ea9
xorps xmm2, xmm2
jmp 0x10025eb0
movaps xmm2, xmm1
minss xmm2, xmm3
movss xmm3, dword [0x10039ba4]
movss xmm4, dword [0x10039b0c]
movss xmm6, dword [esp + 0x54]
comiss xmm0, xmm6
mulss xmm2, xmm3
addss xmm2, xmm4
cvttss2si ecx, xmm2
jbe 0x10025edc
xorps xmm2, xmm2
jmp 0x10025ee3
movaps xmm2, xmm1
minss xmm2, xmm6
movss xmm6, dword [esp + 0x58]
mulss xmm2, xmm3
addss xmm2, xmm4
cvttss2si eax, xmm2
shl eax, 8
or ecx, eax
comiss xmm0, xmm6
jbe 0x10025f04
xorps xmm2, xmm2
jmp 0x10025f0b
movaps xmm2, xmm1
minss xmm2, xmm6
mulss xmm2, xmm3
addss xmm2, xmm4
cvttss2si eax, xmm2
shl eax, 0x10
or ecx, eax
comiss xmm0, xmm5
mov dword [esp + 0x20], ecx
jbe 0x10025f2a
xorps xmm1, xmm1
jmp 0x10025f2e
minss xmm1, xmm5
push 1
mov edx, esi
movss dword [esp + 0x18], xmm1
lea ecx, [esp + 0x44]
call fcn.100041c0
movss xmm0, dword [esp + 0x18]
add esp, 4
mulss xmm0, dword [0x10039ba4]
mov dl, 1
movss xmm2, dword [edi + 0x154c]
push dword [esp + 0x4c]
addss xmm0, dword [0x10039b0c]
push dword [esp + 0x4c]
push dword [esp + 0x4c]
push dword [esp + 0x4c]
cvttss2si ecx, xmm0
shl ecx, 0x18
or ecx, dword [esp + 0x30]
call fcn.10003630
movaps xmm0, xmmword [0x10039f80]
lea eax, [esp + 0x60]
add esp, 0x10
mov edx, esi
movups xmmword [esp + 0x50], xmm0
push eax
mov eax, dword [ebp + 0x10]
sub esp, 8
push 0x100356b8
push dword [eax]
mov eax, dword [ebp + 0xc]
push dword [eax]
push dword [esp + 0x30]
push ecx
lea ecx, [esp + 0x60]
call fcn.1002b310
mov edx, dword [0x1003d7b8]
add esp, 0x20
mov byte [esp + 0xf], al
test al, al
je 0x10025fdf
mov ecx, dword [edx + 0x199c]
mov byte [edx + 0x19cf], 1
or dword [ecx + 0x10c], 4
cmp dword [edi + 0x19bc], esi
lea ecx, [edx + 0x1510]
movss xmm5, dword [ecx]
mov eax, 0x1d8
movss xmm1, dword [0x10039b38]
mov edx, 0x1e8
cmove eax, edx
movups xmm3, xmmword [eax + ecx]
movaps xmm0, xmm3
movaps xmmword [esp + 0x20], xmm3
shufps xmm0, xmm3, 0xff
mulss xmm5, xmm0
xorps xmm0, xmm0
comiss xmm0, xmm3
jbe 0x10026025
xorps xmm2, xmm2
jmp 0x1002602c
movaps xmm2, xmm1
minss xmm2, xmm3
movss xmm3, dword [0x10039ba4]
movss xmm4, dword [0x10039b0c]
movss xmm6, dword [esp + 0x24]
comiss xmm0, xmm6
mulss xmm2, xmm3
addss xmm2, xmm4
cvttss2si ecx, xmm2
jbe 0x10026058
xorps xmm2, xmm2
jmp 0x1002605f
movaps xmm2, xmm1
minss xmm2, xmm6
movss xmm6, dword [esp + 0x28]
mulss xmm2, xmm3
addss xmm2, xmm4
cvttss2si eax, xmm2
shl eax, 8
or ecx, eax
comiss xmm0, xmm6
jbe 0x10026080
xorps xmm2, xmm2
jmp 0x10026087
movaps xmm2, xmm1
minss xmm2, xmm6
mulss xmm2, xmm3
addss xmm2, xmm4
cvttss2si eax, xmm2
shl eax, 0x10
or ecx, eax
comiss xmm0, xmm5
jbe 0x100260a2
xorps xmm1, xmm1
jmp 0x100260a6
minss xmm1, xmm5
movss xmm0, dword [edi + 0x1580]
mulss xmm1, xmm3
push 0xf
push ecx
movss dword [esp], xmm0
addss xmm1, xmm4
cvttss2si eax, xmm1
shl eax, 0x18
or eax, ecx
push eax
lea eax, [esp + 0x64]
push eax
lea eax, [esp + 0x60]
push eax
mov eax, dword [esp + 0x24]
mov ecx, dword [eax + 0x26c]
call fcn.1001d2b0
mov eax, dword [esp + 0x18]
push dword [eax]
lea eax, [esp + 0x6c]
push 0x100356b8
push 0x40
push eax
call fcn.10002620
lea ecx, [esp + 0x78]
mov dword [esp + 0x30], 0x3f000000
add ecx, eax
mov dword [esp + 0x34], 0x3f000000
or eax, 0xffffffff
lea edi, [esp + 0x78]
add esp, 0x10
test ecx, ecx
cmove ecx, eax
mov eax, edi
cmp eax, ecx
jae 0x10026137
mov al, byte [edi]
test al, al
je 0x10026137
cmp al, 0x23
jne 0x10026132
cmp byte [edi + 1], al
je 0x10026137
inc edi
cmp edi, ecx
jb 0x10026123
mov eax, edi
lea ecx, [esp + 0x68]
sub eax, ecx
je 0x1002618b
mov esi, dword [0x1003d7b8]
lea eax, [esp + 0x20]
push 0
push eax
mov eax, ecx
lea edx, [esp + 0x48]
mov ecx, dword [esi + 0x199c]
push 0
push edi
push eax
mov ecx, dword [ecx + 0x26c]
lea eax, [esp + 0x5c]
push eax
call fcn.10003210
add esp, 0x18
cmp byte [esi + 0x2d0c], 0
je 0x1002618b
push edi
lea edx, [esp + 0x6c]
lea ecx, [esp + 0x44]
call fcn.10012550
add esp, 4
movss xmm0, dword [esp + 0x34]
comiss xmm0, dword [0x10039ac8]
jbe 0x100261de
mov eax, dword [esp + 0x38]
xor edx, edx
mov ecx, dword [esp + 0x1c]
movss xmm0, dword [eax + 0x155c]
addss xmm0, dword [esp + 0x48]
movss dword [esp + 0x38], xmm0
movss xmm0, dword [eax + 0x1548]
addss xmm0, dword [esp + 0x44]
movss dword [esp + 0x3c], xmm0
push dword [esp + 0x3c]
push dword [esp + 0x3c]
push 1
call fcn.10002de0
add esp, 0xc
mov al, byte [esp + 0xf]
pop edi
pop esi
mov ecx, dword [esp + 0xa4]
xor ecx, esp
call fcn.1002f9c3
mov esp, ebp
pop ebp
ret
mov dword [edi + 0x2c90], 0
mov eax, dword [esp + 0x10]
movss xmm0, dword [esp + 0x40]
mov esi, dword [esp + 0x1c]
push 0x100356b8
push dword [esp + 0x1c]
dec dword [eax + 0x164]
dec dword [eax + 0x168]
push ecx
movss dword [eax + 0xc8], xmm0
lea ecx, [esp + 0x4c]
movss xmm0, dword [esp + 0x50]
push esi
movss dword [eax + 0xcc], xmm0
call fcn.100262e0
add esp, 0x10
pop edi
pop esi
mov ecx, dword [esp + 0xa4]
xor ecx, esp
call fcn.1002f9c3
mov esp, ebp
pop ebp
ret
mov ecx, dword [esp + 0xac]
xor al, al
pop edi
pop esi
xor ecx, esp
call fcn.1002f9c3
mov esp, ebp
pop ebp
ret