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

Disassembly:
push ebx
mov ebx, esp
sub esp, 8
and esp, 0xfffffff0
add esp, 4
push ebp
mov ebp, dword [ebx + 4]
mov dword [esp + 4], ebp
mov ebp, esp
sub esp, 0x68
mov ecx, dword [0x1008794c]
push esi
push edi
mov edi, dword [fcn.1003e26c]
mov eax, dword [ecx + 0x1930]
mov dword [ebp - 0x28], ecx
mov dword [ebp - 8], edi
mov byte [eax + 0x78], 1
mov eax, dword [ecx + 0x1930]
mov dword [ebp - 0xc], eax
mov esi, dword [eax + 0x1cc]
test esi, esi
jne 0x1001429e
push 0x1ecb
push 0x1007fa98
push 0x10081c3c
call edi
add esp, 0xc
call fcn.1000ed10
mov ecx, dword [0x1008794c]
mov eax, dword [ecx + 0x1930]
mov byte [eax + 0x78], 1
mov eax, dword [ecx + 0x1930]
mov dword [ebp - 0x18], eax
mov eax, dword [eax + 0x284]
mov dword [ebp - 0x1c], eax
cmp dword [eax + 0x3c], 0
jg 0x100142ff
push 0x1e6
push 0x10082560
push 0x1008267c
call edi
mov eax, dword [ebp - 0x1c]
add esp, 0xc
cmp dword [eax + 0x3c], 0
jg 0x100142ff
push 0x510
push 0x1007fa10
push 0x10081dc4
call edi
mov eax, dword [ebp - 0x1c]
add esp, 0xc
dec dword [eax + 0x3c]
mov ecx, eax
call fcn.1001d5f0
mov ecx, dword [ebp - 0x18]
mov eax, dword [ecx + 0x284]
add eax, 0x3c
mov dword [ebp - 0x24], eax
cmp dword [eax], 0
jg 0x10014334
push 0x4f9
push 0x1007fa10
push 0x10081dc4
call edi
mov eax, dword [ebp - 0x24]
add esp, 0xc
mov ecx, dword [eax]
mov eax, dword [eax + 8]
add ecx, ecx
movss xmm0, dword [eax + ecx*8 - 0xc]
movss xmm1, dword [eax + ecx*8 - 8]
movss xmm2, dword [eax + ecx*8 - 4]
mov eax, dword [eax + ecx*8 - 0x10]
mov ecx, dword [ebp - 0x18]
mov dword [ecx + 0x1dc], eax
movss dword [ecx + 0x1e0], xmm0
movss dword [ecx + 0x1e4], xmm1
movss dword [ecx + 0x1e8], xmm2
mov ecx, dword [ebp - 0xc]
mov ecx, dword [ecx + 0x284]
call fcn.1001d830
mov ecx, dword [ebp - 0xc]
movss xmm3, dword [esi + 0x20]
maxss xmm3, dword [ecx + 0xcc]
movss dword [esi + 0x20], xmm3
movss dword [ecx + 0xcc], xmm3
test byte [esi + 4], 0x10
movss dword [ebp - 0x20], xmm3
jne 0x100143b1
mov eax, dword [esi + 0x28]
mov dword [ecx + 0xe0], eax
xor al, al
test byte [esi + 4], 1
mov byte [ebp - 1], al
jne 0x10014787
cmp byte [ecx + 0x7b], al
jne 0x10014787
movss xmm0, dword [esi + 0x24]
mov edi, 1
movss dword [ebp - 0x24], xmm0
mov dword [ebp - 0x10], 0xffffffff
mov dword [ebp - 0x18], edi
cmp dword [esi + 0x10], edi
jle 0x10014787
mov dword [ebp - 0x1c], 0x1c
mov eax, dword [0x1008794c]
mov edx, edi
mov dword [ebp - 0x14], edx
mov eax, dword [eax + 0x1930]
mov edi, dword [eax + 0x1cc]
test edi, edi
jne 0x10014424
push 0x1e2c
push 0x1007fa98
push 0x10081c3c
call dword [ebp - 8]
mov edx, dword [ebp - 0x14]
add esp, 0xc
cmp dword [ebp - 0x18], 0
jge 0x10014430
mov edx, dword [edi + 0xc]
mov dword [ebp - 0x14], edx
cmp edx, dword [edi + 0x2c]
jl 0x1001446a
push 0x1e30
push 0x1007fa98
push 0x10081c58
call dword [ebp - 8]
mov edx, dword [ebp - 0x14]
add esp, 0xc
cmp edx, dword [edi + 0x2c]
jl 0x1001446a
push 0x4ef
push 0x1007fa10
push 0x10081dd8
call dword [ebp - 8]
mov edx, dword [ebp - 0x14]
add esp, 0xc
movss xmm2, dword [edi + 0x18]
lea ecx, [edx*8]
subss xmm2, dword [edi + 0x14]
mov eax, dword [edi + 0x34]
sub ecx, edx
mov edx, dword [esi]
movss xmm4, dword [ebp - 0x24]
movss xmm3, dword [ebp - 0x20]
mulss xmm2, dword [eax + ecx*4]
mov eax, dword [ebp - 0xc]
mov ecx, dword [0x1008794c]
movss dword [ebp - 0x44], xmm4
addss xmm2, dword [edi + 0x14]
mov edi, dword [ebp - 0x18]
add edx, edi
movss dword [ebp - 0x3c], xmm3
addss xmm2, dword [eax + 0xc]
movaps xmm1, xmm2
movss dword [ebp - 0x14], xmm2
addss xmm1, dword [0x10083e38]
subss xmm2, dword [0x10083e38]
movss dword [ebp - 0x40], xmm1
movss dword [ebp - 0x48], xmm2
cmp dword [ecx + 0x194c], edx
jne 0x100144e3
mov dword [ecx + 0x1954], edx
cmp dword [ecx + 0x1950], edx
jne 0x100144f2
mov byte [ecx + 0x195f], 1
mov eax, dword [ecx + 0x1930]
add eax, 0x1dc
comiss xmm3, dword [eax + 4]
jbe 0x1001451c
movss xmm0, dword [eax + 0xc]
comiss xmm0, xmm4
jbe 0x1001451c
comiss xmm1, dword [eax]
jbe 0x1001451c
movss xmm0, dword [eax + 8]
comiss xmm0, xmm2
ja 0x10014535
test edx, edx
je 0x10014528
cmp edx, dword [ecx + 0x194c]
je 0x10014535
cmp byte [ecx + 0x2ba8], 0
je 0x100146d8
xor al, al
test byte [esi + 4], 2
mov byte [ebp - 2], al
mov byte [ebp - 3], al
jne 0x100145ac
push 0
lea eax, [ebp - 3]
push eax
lea eax, [ebp - 2]
push eax
lea ecx, [ebp - 0x48]
call fcn.10024fa0
mov al, byte [ebp - 2]
add esp, 0xc
mov cl, byte [ebp - 3]
test al, al
jne 0x10014566
test cl, cl
je 0x100145ac
mov edx, dword [ebp - 0x28]
mov dword [edx + 0x1be0], 4
test cl, cl
je 0x100145ac
cmp edi, dword [esi + 0x2c]
jl 0x10014591
push 0x4ef
push 0x1007fa10
push 0x10081dd8
call dword [ebp - 8]
add esp, 0xc
mov eax, dword [esi + 0x34]
mov ecx, dword [ebp - 0x1c]
test byte [eax + ecx + 8], 2
mov ecx, 0x1d
mov eax, dword [ebp - 0x10]
cmove eax, edi
mov dword [ebp - 0x10], eax
jmp 0x100145b6
xor ecx, ecx
test al, al
setne cl
add ecx, 0x1b
mov eax, dword [0x1008794c]
add ecx, ecx
movss xmm4, dword [0x10083d78]
xorps xmm2, xmm2
movups xmm1, xmmword [eax + ecx*8 + 0x15a8]
comiss xmm2, xmm1
movaps xmm3, xmm1
movaps xmmword [ebp - 0x60], xmm1
shufps xmm3, xmm1, 0xff
mulss xmm3, dword [eax + 0x1510]
jbe 0x100145ed
xorps xmm0, xmm0
jmp 0x100145f4
movaps xmm0, xmm4
minss xmm0, xmm1
movss xmm5, dword [0x10083e84]
movss xmm6, dword [0x10083d44]
movss xmm1, dword [ebp - 0x5c]
comiss xmm2, xmm1
mulss xmm0, xmm5
addss xmm0, xmm6
cvttss2si ecx, xmm0
jbe 0x1001461f
xorps xmm0, xmm0
jmp 0x10014626
movaps xmm0, xmm4
minss xmm0, xmm1
movss xmm1, dword [ebp - 0x58]
mulss xmm0, xmm5
addss xmm0, xmm6
cvttss2si eax, xmm0
shl eax, 8
or ecx, eax
comiss xmm2, xmm1
jbe 0x10014646
xorps xmm0, xmm0
jmp 0x1001464d
movaps xmm0, xmm4
minss xmm0, xmm1
mulss xmm0, xmm5
addss xmm0, xmm6
cvttss2si eax, xmm0
shl eax, 0x10
or ecx, eax
comiss xmm2, xmm3
ja 0x1001466a
movaps xmm2, xmm4
minss xmm2, xmm3
cvttss2si eax, dword [ebp - 0x14]
mov edx, dword [ebp - 0xc]
push ecx
mov dword [esp], 0x3f800000
movss xmm0, dword [ebp - 0x20]
minss xmm0, dword [edx + 0x1e8]
mulss xmm2, xmm5
movd xmm1, eax
cvtdq2ps xmm1, xmm1
addss xmm2, xmm6
movss dword [ebp - 0x2c], xmm0
movss xmm0, dword [ebp - 0x24]
addss xmm0, xmm4
movss dword [ebp - 0x30], xmm1
movss dword [ebp - 0x38], xmm1
cvttss2si eax, xmm2
maxss xmm0, dword [edx + 0x1e0]
shl eax, 0x18
or eax, ecx
mov ecx, dword [edx + 0x284]
push eax
lea eax, [ebp - 0x30]
push eax
lea eax, [ebp - 0x38]
movss dword [ebp - 0x34], xmm0
push eax
call fcn.1001f260
add dword [ebp - 0x1c], 0x1c
inc edi
mov eax, dword [esi + 0x10]
mov dword [ebp - 0x18], edi
cmp edi, eax
jl 0x100143f2
cmp dword [ebp - 0x10], 0xffffffff
je 0x10014781
cmp byte [esi + 9], 0
jne 0x10014764
inc eax
xor edi, edi
test eax, eax
jle 0x10014764
xor edx, edx
mov dword [ebp - 0x1c], edx
cmp edi, dword [esi + 0x2c]
jl 0x10014724
push 0x4ef
push 0x1007fa10
push 0x10081dd8
call dword [ebp - 8]
mov edx, dword [ebp - 0x1c]
add esp, 0xc
mov eax, dword [esi + 0x34]
add eax, edx
mov dword [ebp - 0x28], eax
cmp edi, dword [esi + 0x2c]
jl 0x1001474c
push 0x4ef
push 0x1007fa10
push 0x10081dd8
call dword [ebp - 8]
mov eax, dword [ebp - 0x28]
add esp, 0xc
mov edx, dword [ebp - 0x1c]
mov ecx, dword [esi + 0x34]
inc edi
mov eax, dword [eax]
mov dword [ecx + edx + 4], eax
add edx, 0x1c
mov eax, dword [esi + 0x10]
inc eax
mov dword [ebp - 0x1c], edx
cmp edi, eax
jl 0x10014707
mov edx, dword [ebp - 0x10]
mov ecx, esi
mov byte [ebp - 1], 1
mov byte [esi + 9], 1
call fcn.10013bf0
mov ecx, dword [ebp - 0x10]
movaps xmm1, xmm0
call fcn.10013e70
mov al, byte [ebp - 1]
mov ecx, dword [ebp - 0xc]
mov byte [esi + 9], al
movss xmm0, dword [ecx + 0x1c0]
addss xmm0, dword [ecx + 0xc]
pop edi
mov dword [ecx + 0x1cc], 0
mov dword [ecx + 0x1c8], 0
pop esi
addss xmm0, dword [0x10083cf8]
cvttss2si eax, xmm0
movd xmm0, eax
cvtdq2ps xmm0, xmm0
movss dword [ecx + 0xc8], xmm0
mov esp, ebp
pop ebp
mov esp, ebx
pop ebx
ret