Function at 0x10014180
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 [0x1008694c]
push esi
push edi
mov edi, dword [fcn.1003d258]
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 0x100141de
push 0x1ecb
push 0x1007ea70
push 0x10080c0c
call edi
add esp, 0xc
call fcn.1000ec50
mov ecx, dword [0x1008694c]
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 0x1001423f
push 0x1e6
push 0x10081520
push 0x10081634
call edi
mov eax, dword [ebp - 0x1c]
add esp, 0xc
cmp dword [eax + 0x3c], 0
jg 0x1001423f
push 0x510
push 0x1007e9f0
push 0x10080d94
call edi
mov eax, dword [ebp - 0x1c]
add esp, 0xc
dec dword [eax + 0x3c]
mov ecx, eax
call fcn.1001d530
mov ecx, dword [ebp - 0x18]
mov eax, dword [ecx + 0x284]
add eax, 0x3c
mov dword [ebp - 0x24], eax
cmp dword [eax], 0
jg 0x10014274
push 0x4f9
push 0x1007e9f0
push 0x10080d94
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.1001d770
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 0x100142f1
mov eax, dword [esi + 0x28]
mov dword [ecx + 0xe0], eax
xor al, al
test byte [esi + 4], 1
mov byte [ebp - 1], al
jne 0x100146c7
cmp byte [ecx + 0x7b], al
jne 0x100146c7
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 0x100146c7
mov dword [ebp - 0x1c], 0x1c
mov eax, dword [0x1008694c]
mov edx, edi
mov dword [ebp - 0x14], edx
mov eax, dword [eax + 0x1930]
mov edi, dword [eax + 0x1cc]
test edi, edi
jne 0x10014364
push 0x1e2c
push 0x1007ea70
push 0x10080c0c
call dword [ebp - 8]
mov edx, dword [ebp - 0x14]
add esp, 0xc
cmp dword [ebp - 0x18], 0
jge 0x10014370
mov edx, dword [edi + 0xc]
mov dword [ebp - 0x14], edx
cmp edx, dword [edi + 0x2c]
jl 0x100143aa
push 0x1e30
push 0x1007ea70
push 0x10080c28
call dword [ebp - 8]
mov edx, dword [ebp - 0x14]
add esp, 0xc
cmp edx, dword [edi + 0x2c]
jl 0x100143aa
push 0x4ef
push 0x1007e9f0
push 0x10080da8
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 [0x1008694c]
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 [0x10082dcc]
subss xmm2, dword [0x10082dcc]
movss dword [ebp - 0x40], xmm1
movss dword [ebp - 0x48], xmm2
cmp dword [ecx + 0x194c], edx
jne 0x10014423
mov dword [ecx + 0x1954], edx
cmp dword [ecx + 0x1950], edx
jne 0x10014432
mov byte [ecx + 0x195f], 1
mov eax, dword [ecx + 0x1930]
add eax, 0x1dc
comiss xmm3, dword [eax + 4]
jbe 0x1001445c
movss xmm0, dword [eax + 0xc]
comiss xmm0, xmm4
jbe 0x1001445c
comiss xmm1, dword [eax]
jbe 0x1001445c
movss xmm0, dword [eax + 8]
comiss xmm0, xmm2
ja 0x10014475
test edx, edx
je 0x10014468
cmp edx, dword [ecx + 0x194c]
je 0x10014475
cmp byte [ecx + 0x2ba8], 0
je 0x10014618
xor al, al
test byte [esi + 4], 2
mov byte [ebp - 2], al
mov byte [ebp - 3], al
jne 0x100144ec
push 0
lea eax, [ebp - 3]
push eax
lea eax, [ebp - 2]
push eax
lea ecx, [ebp - 0x48]
call fcn.10024e90
mov al, byte [ebp - 2]
add esp, 0xc
mov cl, byte [ebp - 3]
test al, al
jne 0x100144a6
test cl, cl
je 0x100144ec
mov edx, dword [ebp - 0x28]
mov dword [edx + 0x1be0], 4
test cl, cl
je 0x100144ec
cmp edi, dword [esi + 0x2c]
jl 0x100144d1
push 0x4ef
push 0x1007e9f0
push 0x10080da8
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 0x100144f6
xor ecx, ecx
test al, al
setne cl
add ecx, 0x1b
mov eax, dword [0x1008694c]
add ecx, ecx
movss xmm4, dword [0x10082d18]
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 0x1001452d
xorps xmm0, xmm0
jmp 0x10014534
movaps xmm0, xmm4
minss xmm0, xmm1
movss xmm5, dword [0x10082e1c]
movss xmm6, dword [0x10082ce4]
movss xmm1, dword [ebp - 0x5c]
comiss xmm2, xmm1
mulss xmm0, xmm5
addss xmm0, xmm6
cvttss2si ecx, xmm0
jbe 0x1001455f
xorps xmm0, xmm0
jmp 0x10014566
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 0x10014586
xorps xmm0, xmm0
jmp 0x1001458d
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 0x100145aa
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.1001f1a0
add dword [ebp - 0x1c], 0x1c
inc edi
mov eax, dword [esi + 0x10]
mov dword [ebp - 0x18], edi
cmp edi, eax
jl 0x10014332
cmp dword [ebp - 0x10], 0xffffffff
je 0x100146c1
cmp byte [esi + 9], 0
jne 0x100146a4
inc eax
xor edi, edi
test eax, eax
jle 0x100146a4
xor edx, edx
mov dword [ebp - 0x1c], edx
cmp edi, dword [esi + 0x2c]
jl 0x10014664
push 0x4ef
push 0x1007e9f0
push 0x10080da8
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 0x1001468c
push 0x4ef
push 0x1007e9f0
push 0x10080da8
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 0x10014647
mov edx, dword [ebp - 0x10]
mov ecx, esi
mov byte [ebp - 1], 1
mov byte [esi + 9], 1
call fcn.10013b30
mov ecx, dword [ebp - 0x10]
movaps xmm1, xmm0
call fcn.10013db0
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 [0x10082c9c]
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