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

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff0
sub esp, 0xe8
mov eax, dword fs:[0x2c]
push esi
mov esi, dword [0x102999e4]
push edi
mov dword [esp + 0x18], edx
mov dword [esp + 0x1c], ecx
mov edi, dword [eax + esi*4]
mov eax, dword [0x102b63fc]
cmp eax, dword [edi + 4]
jle 0x10004f53
push 0x102b63fc
call fcn.101e23b9
add esp, 4
cmp dword [0x102b63fc], 0xffffffff
jne 0x10004f53
push 0x102b63fc
mov dword [0x102b6400], 0xc1800000
mov dword [0x102b6404], 0xc1800000
mov dword [0x102b6408], 0xc1900000
call fcn.101e236f
add esp, 4
mov eax, dword [0x102b640c]
cmp eax, dword [edi + 4]
jle 0x10004fa1
push 0x102b640c
call fcn.101e23b9
add esp, 4
cmp dword [0x102b640c], 0xffffffff
jne 0x10004fa1
push 0x102b640c
mov dword [0x102b6410], 0x41800000
mov dword [0x102b6414], 0x41800000
mov dword [0x102b6418], 0x41900000
call fcn.101e236f
add esp, 4
cmp byte [ebp + 8], 0
je 0x10004fb1
movss xmm1, dword [0x1026bc6c]
jmp 0x10004fb9
movss xmm1, dword [0x1026bc48]
movss xmm0, dword [0x10297ac0]
lea ecx, [esp + 0xa0]
mulss xmm0, xmm1
mov esi, dword [0x102a605c]
mov dword [esp + 0x50], 0x7f800000
mov dword [esp + 0x4c], 0x7f800000
addss xmm0, dword [0x10297ab4]
mov dword [esp + 0x48], 0x7f800000
mov dword [esp + 0x5c], 0x7f800000
mov dword [esp + 0x58], 0x7f800000
mov dword [esp + 0x54], 0x7f800000
movss dword [esp + 0x3c], xmm0
movss xmm0, dword [0x10297ac4]
mulss xmm0, xmm1
mov dword [esp + 0x68], 0x7f800000
mov dword [esp + 0x64], 0x7f800000
mov dword [esp + 0x60], 0x7f800000
addss xmm0, dword [0x10297ab8]
movss dword [esp + 0x40], xmm0
movss xmm0, dword [0x10297ac8]
mulss xmm0, xmm1
addss xmm0, dword [0x10297abc]
movss dword [esp + 0x44], xmm0
call fcn.100070f0
lea eax, [esp + 0x3c]
push eax
push 0x10297ab4
call fcn.10007150
mov ecx, dword [0x1029a49c]
lea edx, [esp + 0x48]
push edx
lea edx, [esp + 0x30]
mov dword [esp + 0x30], 0x10238480
push edx
mov dword [esp + 0x38], esi
lea edx, [esp + 0xa8]
mov dword [esp + 0x3c], 0
mov dword [esp + 0x40], 0
mov eax, dword [ecx]
push 0x200400b
push edx
call dword [eax + 0x14]
movss xmm0, dword [esp + 0x74]
movss xmm1, dword [0x1026bac0]
comiss xmm0, xmm1
jb 0x100051d9
mov esi, dword [0x102a605c]
lea ecx, [esp + 0xa0]
call fcn.100070f0
push 0x102b6410
push 0x102b6400
lea eax, [esp + 0x44]
push eax
push 0x10297ab4
call fcn.100090b0
mov ecx, dword [0x1029a49c]
lea edx, [esp + 0x48]
push edx
lea edx, [esp + 0x30]
mov dword [esp + 0x30], 0x10238480
push edx
mov dword [esp + 0x38], esi
lea edx, [esp + 0xa8]
mov dword [esp + 0x3c], 0
mov dword [esp + 0x40], 0
mov eax, dword [ecx]
push 0x200400b
push edx
call dword [eax + 0x14]
movss xmm0, dword [0x1026bac0]
comiss xmm0, dword [esp + 0x74]
jbe 0x100053d8
mov eax, dword [0x102b641c]
mov esi, dword [esp + 0x94]
cmp eax, dword [edi + 4]
jle 0x1000519e
push 0x102b641c
call fcn.101e23b9
add esp, 4
cmp dword [0x102b641c], 0xffffffff
jne 0x1000519e
lea eax, [esp + 0x10]
mov dword [esp + 0x10], str.IsBSPModel
push eax
lea eax, [esp + 0x40]
mov ecx, 0x102a57d4
push eax
call fcn.10006340
push 0x102b641c
mov eax, dword [eax]
mov eax, dword [eax + 0xc]
mov dword [0x102b6420], eax
call fcn.101e236f
add esp, 4
test esi, esi
je 0x100051ae
mov ecx, esi
call dword [0x102b6420]
test al, al
je 0x100051d1
mov eax, dword [0x1029a418]
mov ecx, dword [eax]
mov eax, dword [ecx]
mov eax, dword [eax + 0x78]
call eax
push ecx
lea edx, [esp + 0x4c]
lea ecx, [eax + 0x30]
add eax, 0x24
push ecx
push eax
call fcn.10004ae0
add esp, 0xc
movss xmm1, dword [0x1026bac0]
comiss xmm1, dword [esp + 0x74]
jbe 0x100053d8
mov esi, dword [esp + 0x94]
mov byte [esp + 0x17], 0
test esi, esi
je 0x100053d8
mov ecx, esi
call fcn.101758d0
test al, al
je 0x100053d8
mov edi, dword [esp + 0x1c]
cmp esi, edi
jne 0x100053d8
mov ecx, dword [esp + 0x18]
lea eax, [esp + 0x20]
movss xmm1, dword [0x1026b9d0]
mov dword [esp + 0x1c], eax
lea eax, [esp + 0x28]
mov dword [esp + 0x10], eax
movss xmm0, dword [ecx + 0x68]
mulss xmm0, xmm1
movss dword [esp + 0x18], xmm0
fld dword [esp + 0x18]
fsincos
mov edx, dword [esp + 0x1c]
mov eax, dword [esp + 0x10]
fstp dword [edx]
fstp dword [eax]
movss xmm0, dword [ecx + 0x64]
lea eax, [esp + 0x24]
mulss xmm0, xmm1
mov dword [esp + 0x1c], eax
lea eax, [esp + 0x3c]
mov dword [esp + 0x10], eax
movss dword [esp + 0x18], xmm0
fld dword [esp + 0x18]
fsincos
mov edx, dword [esp + 0x1c]
mov eax, dword [esp + 0x10]
fstp dword [edx]
fstp dword [eax]
movss xmm1, dword [esp + 0x20]
mulss xmm1, dword [esp + 0x24]
movss xmm0, dword [ecx + 0x14]
subss xmm0, dword [0x10297aac]
movss xmm2, dword [ecx + 0x10]
subss xmm2, dword [0x10297aa8]
movss dword [esp + 0x20], xmm1
movss xmm1, dword [esp + 0x28]
mulss xmm1, dword [esp + 0x24]
movss dword [esp + 0x24], xmm0
movss dword [esp + 0x28], xmm2
movss dword [esp + 0x18], xmm1
movaps xmm1, xmm0
mulss xmm1, xmm0
movaps xmm0, xmm2
mulss xmm0, xmm2
addss xmm1, xmm0
cvtps2pd xmm0, xmm1
xorps xmm1, xmm1
ucomisd xmm1, xmm0
ja 0x100052ef
sqrtsd xmm0, xmm0
jmp 0x100052f4
call fcn.1020bb20
cvtsd2ss xmm0, xmm0
xorps xmm1, xmm1
ucomiss xmm0, xmm1
lahf
test ah, 0x44
jnp 0x1000531a
movss xmm1, dword [esp + 0x28]
movss xmm2, dword [esp + 0x24]
divss xmm1, xmm0
divss xmm2, xmm0
jmp 0x1000531d
xorps xmm2, xmm2
movss xmm0, dword [esp + 0x20]
mov ecx, 1
movzx eax, byte [esp + 0x17]
mulss xmm0, xmm1
movss xmm1, dword [esp + 0x18]
mulss xmm1, xmm2
addss xmm0, xmm1
comiss xmm0, dword [0x1026ba4c]
cmova eax, ecx
mov ecx, edi
mov dword [esp + 0x10], eax
call fcn.10004100
cmp byte [ebp + 8], 0
mov ecx, dword [eax]
je 0x100053a7
cmp byte [esp + 0x10], 0
je 0x10005378
test ecx, ecx
mov eax, 0x5a
mov edx, 0x4c
cmovg eax, edx
pop edi
pop esi
mov esp, ebp
pop ebp
ret
cmp byte [ebp + 0xc], 0
je 0x10005393
test ecx, ecx
mov eax, 0x28
mov edx, 0x22
cmovg eax, edx
pop edi
pop esi
mov esp, ebp
pop ebp
ret
xor eax, eax
test ecx, ecx
setle al
lea eax, [eax*4 + 0x15]
pop edi
pop esi
mov esp, ebp
pop ebp
ret
cmp byte [esp + 0x10], 0
je 0x100053c3
test ecx, ecx
mov eax, 0xb4
mov edx, 0x99
cmovg eax, edx
pop edi
pop esi
mov esp, ebp
pop ebp
ret
test ecx, ecx
mov eax, 0x41
mov edx, 0x37
cmovg eax, edx
pop edi
pop esi
mov esp, ebp
pop ebp
ret
pop edi
xor eax, eax
pop esi
mov esp, ebp
pop ebp
ret