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

Disassembly:
mov ecx, dword [0x10110f1c]
sub esp, 0x54
mov eax, dword [ecx + 0x3e40]
push ebx
push ebp
push esi
mov byte [eax + 0xac], 1
push edi
mov edi, dword [ecx + 0x3e40]
cmp byte [edi + 0xaf], 0
jne 0x10058a59
mov ebx, dword [0x10110f1c]
mov ecx, edi
push 0
push dword [esp + 0x6c]
call fcn.100104d4
push ecx
mov dword [esp], 0xbf800000
mov ebp, eax
push 1
push 0
push dword [esp + 0x74]
lea eax, [esp + 0x3c]
push eax
call fcn.1000cb48
mov esi, dword [esp + 0x88]
add esp, 0x14
xorps xmm0, xmm0
movss xmm2, dword [esi + 4]
ucomiss xmm2, xmm0
lahf
test ah, 0x44
jp 0x10058580
movss xmm2, dword [esp + 0x30]
movss xmm1, dword [esi]
ucomiss xmm1, xmm0
lahf
test ah, 0x44
jp 0x10058593
movss xmm1, dword [esp + 0x2c]
movss dword [esp + 0x24], xmm1
lea eax, [esp + 0x24]
movss dword [esp + 0x28], xmm2
movss xmm0, dword [edi + 0xf0]
movss dword [esp + 0x18], xmm0
movss xmm0, dword [edi + 0xf4]
addss xmm0, dword [edi + 0x128]
push ecx
and dword [esp], 0
push eax
movss dword [esp + 0x24], xmm0
call fcn.1001254b
mov edx, dword [esp + 0x78]
movss xmm1, dword [esp + 0x20]
pop ecx
pop ecx
mov ecx, edx
shr ecx, 1
and cl, 1
mov dword [esp + 0x14], ecx
je 0x100585fd
movss xmm6, dword [edi + 0x200]
movss xmm4, dword [edi + 0x208]
jmp 0x10058608
movss xmm4, dword [edi + 0x1f8]
movaps xmm6, xmm1
movss xmm0, dword [esi]
xorps xmm5, xmm5
ucomiss xmm0, xmm5
lahf
test ah, 0x44
jnp 0x10058628
test edx, 0x1000000
jne 0x10058628
movss xmm4, dword [esp + 0x24]
jmp 0x10058638
subss xmm4, xmm6
maxss xmm4, dword [esp + 0x2c]
movss dword [esp + 0x24], xmm4
movss xmm7, dword [esp + 0x1c]
addss xmm4, xmm6
movss dword [esp + 0x3c], xmm1
movaps xmm0, xmm7
movss dword [esp + 0x40], xmm7
movss dword [esp + 0x44], xmm6
movss dword [esp + 0x48], xmm7
movss dword [esp + 0x34], xmm4
movss dword [esp + 0x4c], xmm4
addss xmm0, dword [esp + 0x28]
movss dword [esp + 0x1c], xmm0
movss dword [esp + 0x38], xmm0
movss dword [esp + 0x50], xmm0
test edx, 0x4000000
jne 0x100586fb
test cl, cl
jne 0x10058695
movss xmm5, dword [ebx + 0x37ec]
movss xmm3, dword [ebx + 0x37f0]
movaps xmm0, xmm5
mulss xmm0, dword [0x100ba4c0]
cvttss2si eax, xmm0
movaps xmm0, xmm3
mulss xmm0, dword [0x100ba4c0]
movd xmm2, eax
cvttss2si eax, xmm0
cvtdq2ps xmm2, xmm2
movd xmm0, eax
cvtdq2ps xmm0, xmm0
subss xmm5, xmm2
subss xmm3, xmm0
subss xmm6, xmm2
subss xmm7, xmm0
addss xmm5, xmm4
addss xmm3, dword [esp + 0x1c]
movss dword [esp + 0x44], xmm6
movss dword [esp + 0x48], xmm7
movss dword [esp + 0x4c], xmm5
movss dword [esp + 0x50], xmm3
movss xmm0, dword [edi + 0x210]
movss dword [esp + 0x1c], xmm0
movss xmm0, dword [edi + 0x218]
movss dword [esp + 0x20], xmm0
test cl, cl
je 0x10058733
mov eax, dword [edi + 0x200]
mov dword [edi + 0x210], eax
mov eax, dword [edi + 0x208]
mov dword [edi + 0x218], eax
mov eax, edx
xor esi, esi
shr eax, 3
and eax, 0xffffff01
mov dword [esp + 0x18], eax
movzx eax, al
shl eax, 2
push eax
push esi
lea eax, [esp + 0x4c]
push ebp
push eax
call fcn.1001269c
add esp, 0x10
cmp byte [esp + 0x14], 0
je 0x1005877c
movss xmm0, dword [esp + 0x1c]
movss dword [edi + 0x210], xmm0
movss xmm0, dword [esp + 0x20]
movss dword [edi + 0x218], xmm0
test al, al
je 0x10058a59
mov eax, dword [ebx + 0x4698]
shr eax, 2
and eax, 0xffffff01
cmp byte [esp + 0x18], 0
mov dword [esp + 0x20], eax
je 0x100587a9
test al, al
jne 0x100587a9
push 1
call fcn.1000c081
pop ecx
cmp byte [esp + 0x14], 0
je 0x100587cc
cmp dword [edi + 0x190], esi
je 0x100587bf
call fcn.1004ba32
jmp 0x100587cc
cmp dword [ebx + 0x49e4], esi
je 0x100587cc
call fcn.1004bec8
mov ecx, dword [esp + 0x70]
shr ecx, 3
and ecx, 0x20000
mov edx, ecx
or edx, 0x100000
test dword [esp + 0x70], 0x8000000
cmove edx, ecx
mov esi, edx
or esi, 0x10
test dword [esp + 0x70], 0x400000
cmove esi, edx
mov ecx, esi
or ecx, 0x80
test dword [esp + 0x70], 0x800000
cmove ecx, esi
mov esi, dword [esp + 0x70]
mov edx, ecx
or edx, 0x120
test byte [esp + 0x70], 4
cmove edx, ecx
mov eax, edx
or eax, 0x1000
and esi, 0x10
cmove eax, edx
push eax
lea eax, [esp + 0x17]
push eax
lea eax, [esp + 0x1a]
push eax
lea eax, [esp + 0x50]
push ebp
push eax
call fcn.1005e521
add esp, 0x14
mov byte [esp + 0x11], al
test dword [esp + 0x70], 0x200000
je 0x1005887f
mov edx, dword [ebx + 0x47dc]
test edx, edx
je 0x1005887f
mov ecx, dword [ebx + 0x47e0]
cmp ecx, dword [ebx + 0x4694]
jne 0x1005887f
cmp edx, ebp
jne 0x1005887f
mov al, 1
mov byte [esp + 0x11], al
mov byte [esp + 0x10], al
jmp 0x100588af
mov cl, byte [esp + 0x6c]
mov byte [esp + 0x10], cl
test al, al
jne 0x100588af
mov byte [esp + 0x10], cl
cmp byte [esp + 0x12], al
je 0x1005894d
test dword [esp + 0x70], 0x2000000
mov byte [esp + 0x6c], cl
mov byte [esp + 0x10], cl
je 0x1005894d
cmp byte [ebx + 0x47fb], 0
jne 0x10058942
cmp dword [ebx + 0x47c0], edi
jne 0x10058942
mov ecx, dword [edi + 0x148]
cmp dword [ebx + 0x47f4], ecx
jne 0x10058942
movss xmm1, dword [edi + 0x100]
lea eax, [esp + 0x54]
movss xmm0, dword [esp + 0x44]
movss xmm2, dword [edi + 0x104]
subss xmm0, xmm1
push eax
push dword [ebx + 0x4694]
push ecx
movss dword [esp + 0x60], xmm0
movss xmm0, dword [esp + 0x54]
subss xmm0, xmm2
push ebp
movss dword [esp + 0x68], xmm0
movss xmm0, dword [esp + 0x5c]
subss xmm0, xmm1
movss dword [esp + 0x6c], xmm0
movss xmm0, dword [esp + 0x60]
subss xmm0, xmm2
movss dword [esp + 0x70], xmm0
call fcn.10014169
mov al, byte [esp + 0x21]
add esp, 0x10
mov byte [ebx + 0x47fa], 1
test al, al
je 0x1005894d
push ebp
call fcn.1001247c
pop ecx
test esi, esi
je 0x10058956
call fcn.1000c6ff
mov al, byte [esp + 0x10]
cmp al, byte [esp + 0x6c]
je 0x10058967
or dword [ebx + 0x46bc], 8
mov cl, byte [esp + 0x12]
test cl, cl
jne 0x10058973
test al, al
je 0x100589bd
cmp byte [esp + 0x13], 0
je 0x10058983
test cl, cl
je 0x10058983
push 0x1a
pop eax
jmp 0x1005898d
xor eax, eax
test cl, cl
setne al
add eax, 0x18
push ecx
mov dword [esp], 0x3f800000
push eax
call fcn.1000ab6c
add esp, 4
and dword [esp], 0
push 0
push eax
push dword [esp + 0x5c]
push dword [esp + 0x5c]
push dword [esp + 0x5c]
push dword [esp + 0x5c]
call fcn.10015304
add esp, 0x1c
push 0xa
lea eax, [esp + 0x48]
push ebp
push eax
call fcn.10015571
add esp, 0xc
cmp byte [esp + 0x14], 0
je 0x100589f2
cmp dword [edi + 0x190], 0
je 0x100589e4
call fcn.1004ba7b
jmp 0x100589f2
cmp dword [ebx + 0x49e4], 0
je 0x100589f2
call fcn.1004bf1a
lea eax, [esp + 0x44]
push eax
lea eax, [ebx + 0x3840]
push eax
lea eax, [esp + 0x34]
push eax
push 0
push dword [esp + 0x78]
lea eax, [esp + 0x48]
push eax
lea eax, [esp + 0x54]
push eax
call fcn.10014d9b
add esp, 0x1c
cmp byte [esp + 0x11], 0
je 0x10058a40
test dword [edi + 0xc], 0x4000000
je 0x10058a40
test byte [esp + 0x70], 1
jne 0x10058a40
test byte [ebx + 0x46b8], 0x20
jne 0x10058a40
call fcn.1000b65f
cmp byte [esp + 0x18], 0
je 0x10058a53
cmp byte [esp + 0x20], 0
jne 0x10058a53
call fcn.1000c0de
mov al, byte [esp + 0x11]
jmp 0x10058a5b
xor al, al
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x54
ret