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

Disassembly:
push ebp
mov ebp, esp
and esp, 0xffffffc0
sub esp, 0x774
mov eax, dword [0x100b6004]
xor eax, esp
mov dword [esp + 0x770], eax
push ebx
push esi
mov esi, dword [ebp + 0xc]
mov ebx, edx
push edi
mov edi, dword [ebp + 8]
mov dword [esp + 0x58], ebx
mov dword [esp + 0x5c], ecx
mov dword [esp + 0x34], esi
cmp edi, 0x3c
jle 0x100272a5
push edi
push str.Mod_SubdividePolygon:_too_many_vertexes_on_face____i___n
call dword [0x11a5f3dc]
add esp, 8
push ebx
call dword [0x11a5f394]
movss xmm2, dword [0x100aa960]
add esp, 4
movss xmm1, dword [0x100aa9b0]
movaps xmm5, xmm2
movss dword [esp + 0x74], xmm2
movaps xmm6, xmm2
movd xmm0, eax
movaps xmm3, xmm1
movss dword [esp + 0x70], xmm5
movaps xmm4, xmm1
movss dword [esp + 0x6c], xmm6
mov eax, esi
movss dword [esp + 0x68], xmm1
movss dword [esp + 0x64], xmm3
movss dword [esp + 0x60], xmm4
cvtdq2ps xmm0, xmm0
movss dword [esp + 0x38], xmm0
test edi, edi
jle 0x1002736e
mov ecx, edi
movss xmm0, dword [eax]
comiss xmm6, xmm0
jbe 0x10027310
movaps xmm6, xmm0
comiss xmm0, xmm4
jbe 0x10027318
movaps xmm4, xmm0
movss xmm0, dword [eax + 4]
comiss xmm5, xmm0
jbe 0x10027325
movaps xmm5, xmm0
comiss xmm0, xmm3
jbe 0x1002732d
movaps xmm3, xmm0
movss xmm0, dword [eax + 8]
comiss xmm2, xmm0
jbe 0x1002733a
movaps xmm2, xmm0
comiss xmm0, xmm1
jbe 0x10027342
movaps xmm1, xmm0
add eax, 0xc
sub ecx, 1
jne 0x10027304
movss dword [esp + 0x68], xmm1
movss dword [esp + 0x74], xmm2
movss dword [esp + 0x64], xmm3
movss dword [esp + 0x60], xmm4
movss dword [esp + 0x70], xmm5
movss dword [esp + 0x6c], xmm6
xor esi, esi
movss xmm0, dword [esp + esi*4 + 0x60]
sub esp, 8
addss xmm0, dword [esp + esi*4 + 0x74]
movss xmm1, dword [0x100aa6fc]
mulss xmm0, xmm1
mulss xmm0, dword [0x100aa6b0]
addss xmm0, xmm1
cvtps2pd xmm0, xmm0
movsd qword [esp + 0x58], xmm0
fld qword [esp + 0x58]
fstp qword [esp]
call fcn.100992d0
movss xmm2, dword [0x100aa8d4]
add esp, 8
fstp qword [esp + 0x50]
movsd xmm0, qword [esp + 0x50]
mulsd xmm0, qword [0x100aa868]
cvtpd2ps xmm1, xmm0
movss xmm0, dword [esp + esi*4 + 0x60]
subss xmm0, xmm1
comiss xmm2, xmm0
ja 0x100273ee
movaps xmm0, xmm1
subss xmm0, dword [esp + esi*4 + 0x6c]
comiss xmm2, xmm0
jbe 0x1002760f
inc esi
cmp esi, 3
jl 0x10027370
cmp edi, 4
je 0x10027401
and dword [ebx + 8], 0xfffffff7
mov esi, dword [esp + 0x5c]
lea ecx, [edi - 4]
lea eax, [ecx*8]
push 0xc7
sub eax, ecx
push str.D:_axash3d_fwgsxash3d_fwgs_refglgl_rsurf.c
push 1
lea eax, [eax*4 + 0x80]
push eax
push dword [esi + 0x4c]
call dword [0x11a5f41c]
mov ecx, dword [ebx + 0x24]
add esp, 0x14
mov dword [eax], ecx
mov ecx, dword [ebx + 8]
mov dword [eax + 0xc], ecx
mov dword [ebx + 0x24], eax
mov dword [eax + 8], edi
test edi, edi
jle 0x100275fa
mov esi, dword [esp + 0x34]
lea edx, [eax + 0x28]
movss xmm7, dword [0x100aa6fc]
add esi, 8
nop dword [eax]
mov eax, dword [esi - 8]
mov dword [edx - 0x18], eax
mov eax, dword [esi - 4]
mov dword [edx - 0x14], eax
mov eax, dword [esi]
mov dword [edx - 0x10], eax
mov ebx, dword [ebx + 0x2c]
movss xmm2, dword [esi - 4]
movss xmm3, dword [esi - 8]
movaps xmm4, xmm2
movss xmm1, dword [esi]
movaps xmm0, xmm3
mulss xmm0, dword [ebx]
mov eax, dword [esp + 0x58]
mulss xmm4, dword [ebx + 4]
mulss xmm3, dword [ebx + 0x10]
test byte [eax + 8], 0x10
mulss xmm2, dword [ebx + 0x14]
addss xmm4, xmm0
movaps xmm0, xmm1
mulss xmm1, dword [ebx + 0x18]
mulss xmm0, dword [ebx + 8]
addss xmm3, xmm2
addss xmm4, xmm0
addss xmm3, xmm1
jne 0x1002750b
mov ecx, dword [ebx + 0x24]
xorps xmm0, xmm0
addss xmm4, dword [ebx + 0xc]
addss xmm3, dword [ebx + 0x1c]
mov eax, dword [ecx + 0x10]
cvtsi2sd xmm0, eax
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x100aaa30]
mov eax, dword [ecx + 0x14]
cvtpd2ps xmm0, xmm0
divss xmm4, xmm0
xorps xmm0, xmm0
cvtsi2sd xmm0, eax
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x100aaa30]
cvtpd2ps xmm0, xmm0
divss xmm3, xmm0
mov ebx, dword [esp + 0x58]
movss dword [edx - 0xc], xmm4
movss dword [edx - 8], xmm3
test byte [ebx + 8], 0x10
jne 0x100275eb
mov ecx, dword [ebx + 0x50]
xorps xmm3, xmm3
movss xmm2, dword [esi - 4]
movss xmm6, dword [esi - 8]
movaps xmm0, xmm2
movss xmm1, dword [esi]
movaps xmm4, xmm6
mulss xmm0, dword [ecx + 0x4c]
movsx eax, word [ecx + 0x32]
mulss xmm4, dword [ecx + 0x48]
mulss xmm6, dword [ecx + 0x38]
addss xmm4, xmm0
mulss xmm2, dword [ecx + 0x3c]
movaps xmm0, xmm1
movss xmm5, dword [esp + 0x38]
mulss xmm0, dword [ecx + 0x50]
mulss xmm1, dword [ecx + 0x40]
addss xmm6, xmm2
addss xmm4, xmm0
mulss xmm5, xmm7
xorps xmm0, xmm0
cvtsi2ss xmm0, eax
movsx eax, word [ecx + 0x30]
addss xmm6, xmm1
addss xmm4, dword [ecx + 0x54]
cvtsi2ss xmm3, dword [0x11a22bf4]
addss xmm6, dword [ecx + 0x44]
subss xmm4, xmm0
mulss xmm3, dword [esp + 0x38]
xorps xmm0, xmm0
cvtsi2ss xmm0, dword [ebx + 0x20]
mulss xmm0, dword [esp + 0x38]
addss xmm4, xmm0
xorps xmm0, xmm0
cvtsi2ss xmm0, eax
addss xmm4, xmm5
subss xmm6, xmm0
xorps xmm0, xmm0
cvtsi2ss xmm0, dword [ebx + 0x1c]
divss xmm4, xmm3
mulss xmm0, dword [esp + 0x38]
movss dword [edx], xmm4
addss xmm6, xmm0
addss xmm6, xmm5
divss xmm6, xmm3
movss dword [edx - 4], xmm6
add edx, 0x1c
add esi, 0xc
sub edi, 1
jne 0x10027460
pop edi
pop esi
pop ebx
mov ecx, dword [esp + 0x770]
xor ecx, esp
call fcn.10048715
mov esp, ebp
pop ebp
ret
mov edx, dword [esp + 0x34]
xor eax, eax
shl esi, 2
lea ecx, [edx + esi]
cmp edi, 4
jl 0x1002767f
lea edx, [edi - 3]
nop dword [eax]
nop word [eax + eax]
movss xmm0, dword [ecx]
subss xmm0, xmm1
movss dword [esp + eax*4 + 0x78], xmm0
movss xmm0, dword [ecx + 0xc]
subss xmm0, xmm1
movss dword [esp + eax*4 + 0x7c], xmm0
movss xmm0, dword [ecx + 0x18]
subss xmm0, xmm1
movss dword [esp + eax*4 + 0x80], xmm0
movss xmm0, dword [ecx + 0x24]
add ecx, 0x30
subss xmm0, xmm1
movss dword [esp + eax*4 + 0x84], xmm0
add eax, 4
cmp eax, edx
jl 0x10027630
mov edx, dword [esp + 0x34]
cmp eax, edi
jge 0x10027699
movss xmm0, dword [ecx]
add ecx, 0xc
subss xmm0, xmm1
movss dword [esp + eax*4 + 0x78], xmm0
inc eax
cmp eax, edi
jl 0x10027683
movss xmm0, dword [esp + 0x78]
sub ecx, esi
mov esi, dword [esp + 0x34]
movss dword [esp + eax*4 + 0x78], xmm0
mov eax, dword [edx]
add edx, 4
mov dword [ecx], eax
mov dword [esp + 0x34], 0
mov eax, dword [edx]
mov dword [ecx + 4], eax
mov eax, dword [esi + 8]
xor esi, esi
mov dword [ecx + 8], eax
xor eax, eax
mov dword [esp + 0x38], eax
test edi, edi
jle 0x10027880
lea eax, [esp + 0x17c]
xorps xmm3, xmm3
mov dword [esp + 0x48], eax
lea ecx, [esp + 0x180]
lea eax, [esp + 0x47c]
mov dword [esp + 0x50], ecx
mov dword [esp + 0x44], eax
lea ebx, [esp + 0x480]
lea eax, [esp + 0x178]
mov dword [esp + 0x4c], ebx
mov dword [esp + 0x3c], eax
lea eax, [esp + 0x478]
mov dword [esp + 0x40], eax
nop word [eax + eax]
movss xmm2, dword [esp + esi*4 + 0x78]
comiss xmm2, xmm3
jb 0x1002775a
mov ebx, dword [esp + 0x3c]
mov eax, dword [edx - 4]
inc dword [esp + 0x38]
add dword [esp + 0x3c], 0xc
mov dword [ebx], eax
mov ebx, dword [esp + 0x48]
mov eax, dword [edx]
add dword [esp + 0x48], 0xc
mov dword [ebx], eax
mov eax, dword [edx + 4]
mov ebx, dword [esp + 0x4c]
mov dword [ecx], eax
add ecx, 0xc
mov dword [esp + 0x50], ecx
comiss xmm3, xmm2
jb 0x1002778e
mov ecx, dword [esp + 0x40]
mov eax, dword [edx - 4]
inc dword [esp + 0x34]
add dword [esp + 0x40], 0xc
mov dword [ecx], eax
mov ecx, dword [esp + 0x44]
mov eax, dword [edx]
add dword [esp + 0x44], 0xc
mov dword [ecx], eax
mov eax, dword [edx + 4]
mov ecx, dword [esp + 0x50]
mov dword [ebx], eax
add ebx, 0xc
mov dword [esp + 0x4c], ebx
ucomiss xmm2, xmm3
lahf
test ah, 0x44
jnp 0x1002786c
movss xmm1, dword [esp + esi*4 + 0x7c]
ucomiss xmm1, xmm3
lahf
test ah, 0x44
jnp 0x1002786c
xor ecx, ecx
comiss xmm1, xmm3
seta cl
xor eax, eax
comiss xmm2, xmm3
seta al
cmp eax, ecx
je 0x10027868
movaps xmm0, xmm2
mov ecx, dword [esp + 0x40]
subss xmm0, xmm1
mov eax, dword [esp + 0x3c]
movss xmm1, dword [edx + 8]
subss xmm1, dword [edx - 4]
mov ebx, dword [esp + 0x48]
inc dword [esp + 0x38]
divss xmm2, xmm0
add dword [esp + 0x3c], 0xc
inc dword [esp + 0x34]
add dword [esp + 0x40], 0xc
mulss xmm1, xmm2
addss xmm1, dword [edx - 4]
movss dword [eax], xmm1
mov eax, dword [esp + 0x44]
movss dword [ecx], xmm1
movss xmm1, dword [edx + 0xc]
subss xmm1, dword [edx]
mov ecx, dword [esp + 0x50]
add dword [esp + 0x44], 0xc
mulss xmm1, xmm2
addss xmm1, dword [edx]
movss dword [eax], xmm1
mov eax, dword [esp + 0x4c]
movss dword [ebx], xmm1
add ebx, 0xc
movss xmm1, dword [edx + 0x10]
subss xmm1, dword [edx + 4]
mov dword [esp + 0x48], ebx
mulss xmm1, xmm2
addss xmm1, dword [edx + 4]
movss dword [ecx], xmm1
add ecx, 0xc
movss dword [eax], xmm1
add eax, 0xc
mov dword [esp + 0x50], ecx
mov ebx, eax
mov dword [esp + 0x4c], eax
jmp 0x1002786c
mov ecx, dword [esp + 0x50]
inc esi
add edx, 0xc
cmp esi, edi
jl 0x10027720
mov ebx, dword [esp + 0x58]
mov eax, dword [esp + 0x38]
lea ecx, [esp + 0x178]
mov edx, ebx
push ecx
mov ecx, dword [esp + 0x60]
push eax
call fcn.10027260
mov ecx, dword [esp + 0x64]
lea eax, [esp + 0x480]
push eax
push dword [esp + 0x40]
mov edx, ebx
call fcn.10027260
mov ecx, dword [esp + 0x78c]
add esp, 0x10
pop edi
pop esi
pop ebx
xor ecx, esp
call fcn.10048715
mov esp, ebp
pop ebp
ret