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

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
sub esp, 0x38
mov eax, dword [0x1004d070]
xor eax, esp
mov dword [esp + 0x34], eax
push esi
push edi
mov edi, dword [0x1004f5f4]
mov dword [esp + 0x18], edi
mov esi, dword [edi + 4]
test esi, esi
je 0x1000fe63
mov ecx, dword [esi + 0x3c]
test ecx, ecx
je 0x1000fe63
push dword [esi + 0x18]
xorps xmm3, xmm3
push dword [esi + 0x14]
sub esp, 8
mov eax, esp
sub esp, 8
mov dword [eax], 0
mov dword [eax + 4], 0
mov eax, esp
movss xmm0, dword [esi + 0x10]
push 0
push ecx
mov ecx, esi
movss dword [eax], xmm0
movss dword [eax + 4], xmm0
call fcn.1000d060
push dword [esi + 0x1c]
mov ecx, dword [esi + 0x3c]
push 0
call fcn.1000cbf0
mov ecx, dword [edi + 8]
test ecx, ecx
je 0x1000fe6f
call fcn.1000da80
mov eax, dword [edi + 0xc]
mov dword [esp + 0x14], eax
test eax, eax
je 0x1000ff82
cmp dword [eax + 0x7c], 1
jne 0x1000fee9
mov ecx, dword [0x1004f5e4]
mov eax, dword [ecx]
mov eax, dword [eax + 0x34]
call eax
fstp dword [esp + 0x24]
movss xmm1, dword [esp + 0x24]
divss xmm1, dword [0x100474e0]
mulss xmm1, dword [0x100474e0]
cvttss2si eax, xmm1
cmp eax, 0xa
jge 0x1000febe
mov dword [esp + 0x10], 1
jmp 0x1000fef1
cmp eax, 0x64
jge 0x1000fecd
mov dword [esp + 0x10], 2
jmp 0x1000fef1
cmp eax, 0x3e8
jge 0x1000fede
mov dword [esp + 0x10], 3
jmp 0x1000fef1
cmp eax, 0x2710
jge 0x1000ff82
mov dword [esp + 0x10], 4
mov edi, dword [esp + 0x14]
xor ecx, ecx
mov dword [esp + 0xc], ecx
lea edx, [edi + 0x80]
mov dword [esp + 0x24], edx
mov eax, dword [edx]
movd xmm1, ecx
cvtdq2ps xmm1, xmm1
movaps xmm0, xmm1
mulss xmm1, dword [edi + 0x78]
mulss xmm0, dword [edi + 0x10]
addss xmm0, dword [edi + 0x14]
addss xmm0, xmm1
movss dword [eax + 0x14], xmm0
mov esi, dword [edx]
mov dword [esp + 0x14], esi
mov eax, dword [esi + 0x24]
test eax, eax
je 0x1000ff3c
call eax
test al, al
je 0x1000ff64
mov eax, dword [esi + 0x44]
test eax, eax
je 0x1000ff4d
push eax
push 9
mov ecx, esi
call fcn.1000e650
mov eax, dword [esp + 0x14]
mov esi, dword [esi + 0x1c]
mov eax, dword [eax + 0x20]
call eax
mov ecx, dword [esp + 0x14]
push esi
push eax
call fcn.1000e650
mov ecx, dword [esp + 0xc]
mov edx, dword [esp + 0x24]
inc ecx
add edx, 4
mov dword [esp + 0xc], ecx
mov dword [esp + 0x24], edx
cmp ecx, dword [esp + 0x10]
jl 0x1000ff05
mov edi, dword [esp + 0x18]
mov ecx, dword [edi + 0x10]
test ecx, ecx
je 0x1000ff8e
call fcn.1000f100
mov ecx, dword [edi + 0x14]
test ecx, ecx
je 0x1000ff9a
call fcn.1000da80
mov ecx, dword [edi + 0x18]
test ecx, ecx
je 0x1000ffa6
call fcn.1000e9b0
mov ecx, dword [edi + 0x1c]
test ecx, ecx
je 0x1000ffba
call fcn.1000da80
mov ecx, dword [edi + 0x1c]
call fcn.1000e170
mov ecx, dword [edi + 0x20]
test ecx, ecx
je 0x1000ffc6
call fcn.1000f100
mov ecx, dword [edi + 0x24]
test ecx, ecx
je 0x1000ffda
call fcn.1000da80
mov ecx, dword [edi + 0x24]
call fcn.1000e170
mov ecx, dword [edi + 0x28]
test ecx, ecx
je 0x1000ffe6
call fcn.1000f100
mov ecx, dword [edi + 0x2c]
test ecx, ecx
je 0x1000fffa
call fcn.1000da80
mov ecx, dword [edi + 0x2c]
call fcn.1000e170
mov ecx, dword [edi + 0x30]
test ecx, ecx
je 0x10010006
call fcn.1000f100
mov esi, dword [edi + 0x34]
mov dword [esp + 0x24], esi
test esi, esi
je 0x10010046
mov eax, dword [esi + 0x24]
test eax, eax
je 0x1001001e
call eax
test al, al
je 0x10010046
mov eax, dword [esi + 0x44]
test eax, eax
je 0x1001002f
push eax
push 9
mov ecx, esi
call fcn.1000e650
mov eax, dword [esp + 0x24]
mov esi, dword [esi + 0x1c]
mov eax, dword [eax + 0x20]
call eax
mov ecx, dword [esp + 0x24]
push esi
push eax
call fcn.1000e650
mov esi, dword [edi + 0x38]
mov dword [esp + 0x24], esi
test esi, esi
je 0x10010086
mov eax, dword [esi + 0x24]
test eax, eax
je 0x1001005e
call eax
test al, al
je 0x10010086
mov eax, dword [esi + 0x44]
test eax, eax
je 0x1001006f
push eax
push 9
mov ecx, esi
call fcn.1000e650
mov eax, dword [esp + 0x24]
mov esi, dword [esi + 0x1c]
mov eax, dword [eax + 0x20]
call eax
mov ecx, dword [esp + 0x24]
push esi
push eax
call fcn.1000e650
mov esi, dword [edi + 0x3c]
test esi, esi
je 0x10010181
cmp dword [esi + 0x3c], 0
je 0x10010181
mov ecx, dword [0x1004f5e4]
mov eax, dword [ecx]
mov eax, dword [eax + 0x40]
call eax
mov ecx, dword [esi + 0x3c]
test al, al
je 0x100100db
mov eax, dword [ecx + 0x70]
movd xmm0, eax
cvtdq2pd xmm0, xmm0
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x100474f0]
mulsd xmm0, qword [0x10047498]
cvttsd2si eax, xmm0
mov dword [esp + 0x2c], eax
mov eax, dword [ecx + 0x70]
jmp 0x10010106
mov dword [esp + 0x2c], 0
mov eax, dword [ecx + 0x70]
movd xmm0, eax
cvtdq2pd xmm0, xmm0
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x100474f0]
mulsd xmm0, qword [0x10047498]
cvttsd2si eax, xmm0
movss xmm1, dword [esi + 0x10]
xorps xmm3, xmm3
push dword [esi + 0x18]
movaps xmm0, xmm1
mov dword [esp + 0x38], eax
push dword [esi + 0x14]
addss xmm0, xmm1
mov dword [esp + 0x38], 0
mov eax, dword [ecx + 0x74]
sub esp, 8
mov dword [esp + 0x48], eax
mov eax, esp
movss dword [esp + 0x2c], xmm1
movss dword [esp + 0x38], xmm1
push dword [esp + 0x2c]
movss dword [esp + 0x38], xmm0
addss xmm0, xmm0
mov dword [eax], 0
mov dword [eax + 4], 0
lea eax, [esp + 0x38]
movss dword [esp + 0x2c], xmm0
push dword [esp + 0x2c]
push eax
push ecx
mov ecx, esi
call fcn.1000d060
push dword [esi + 0x1c]
mov ecx, dword [esi + 0x3c]
lea eax, [esp + 0x30]
push eax
call fcn.1000cbf0
mov ecx, dword [edi + 0x40]
test ecx, ecx
je 0x1001018d
call fcn.1000f370
mov ecx, dword [edi + 8]
test ecx, ecx
je 0x10010199
call fcn.1000e170
mov ecx, dword [edi + 0x14]
test ecx, ecx
je 0x100101a5
call fcn.1000e170
mov ecx, dword [esp + 0x3c]
pop edi
pop esi
xor ecx, esp
call fcn.10017542
mov esp, ebp
pop ebp
ret