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

Disassembly:
mov ecx, dword [0x10114fd8]
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 0x10059380
mov ebx, dword [0x10114fd8]
mov ecx, edi
push 0
push dword [esp + 0x6c]
call fcn.10010fc5
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.1000d679
mov esi, dword [esp + 0x88]
add esp, 0x14
xorps xmm0, xmm0
movss xmm2, dword [esi + 4]
ucomiss xmm2, xmm0
lahf
test ah, 0x44
jp 0x10058ea7
movss xmm2, dword [esp + 0x30]
movss xmm1, dword [esi]
ucomiss xmm1, xmm0
lahf
test ah, 0x44
jp 0x10058eba
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.10013097
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 0x10058f24
movss xmm6, dword [edi + 0x200]
movss xmm4, dword [edi + 0x208]
jmp 0x10058f2f
movss xmm4, dword [edi + 0x1f8]
movaps xmm6, xmm1
movss xmm0, dword [esi]
xorps xmm5, xmm5
ucomiss xmm0, xmm5
lahf
test ah, 0x44
jnp 0x10058f4f
test edx, 0x1000000
jne 0x10058f4f
movss xmm4, dword [esp + 0x24]
jmp 0x10058f5f
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 0x10059022
test cl, cl
jne 0x10058fbc
movss xmm5, dword [ebx + 0x37ec]
movss xmm3, dword [ebx + 0x37f0]
movaps xmm0, xmm5
mulss xmm0, dword [0x100bd4f0]
cvttss2si eax, xmm0
movaps xmm0, xmm3
mulss xmm0, dword [0x100bd4f0]
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 0x1005905a
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.100131e8
add esp, 0x10
cmp byte [esp + 0x14], 0
je 0x100590a3
movss xmm0, dword [esp + 0x1c]
movss dword [edi + 0x210], xmm0
movss xmm0, dword [esp + 0x20]
movss dword [edi + 0x218], xmm0
test al, al
je 0x10059380
mov eax, dword [ebx + 0x4698]
shr eax, 2
and eax, 0xffffff01
cmp byte [esp + 0x18], 0
mov dword [esp + 0x20], eax
je 0x100590d0
test al, al
jne 0x100590d0
push 1
call fcn.1000cb9b
pop ecx
cmp byte [esp + 0x14], 0
je 0x100590f3
cmp dword [edi + 0x190], esi
je 0x100590e6
call fcn.1004c1fb
jmp 0x100590f3
cmp dword [ebx + 0x49e4], esi
je 0x100590f3
call fcn.1004c695
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.1005eec2
add esp, 0x14
mov byte [esp + 0x11], al
test dword [esp + 0x70], 0x200000
je 0x100591a6
mov edx, dword [ebx + 0x47dc]
test edx, edx
je 0x100591a6
mov ecx, dword [ebx + 0x47e0]
cmp ecx, dword [ebx + 0x4694]
jne 0x100591a6
cmp edx, ebp
jne 0x100591a6
mov al, 1
mov byte [esp + 0x11], al
mov byte [esp + 0x10], al
jmp 0x100591d6
mov cl, byte [esp + 0x6c]
mov byte [esp + 0x10], cl
test al, al
jne 0x100591d6
mov byte [esp + 0x10], cl
cmp byte [esp + 0x12], al
je 0x10059274
test dword [esp + 0x70], 0x2000000
mov byte [esp + 0x6c], cl
mov byte [esp + 0x10], cl
je 0x10059274
cmp byte [ebx + 0x47fb], 0
jne 0x10059269
cmp dword [ebx + 0x47c0], edi
jne 0x10059269
mov ecx, dword [edi + 0x148]
cmp dword [ebx + 0x47f4], ecx
jne 0x10059269
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.10014d00
mov al, byte [esp + 0x21]
add esp, 0x10
mov byte [ebx + 0x47fa], 1
test al, al
je 0x10059274
push ebp
call fcn.10012fc8
pop ecx
test esi, esi
je 0x1005927d
call fcn.1000d230
mov al, byte [esp + 0x10]
cmp al, byte [esp + 0x6c]
je 0x1005928e
or dword [ebx + 0x46bc], 8
mov cl, byte [esp + 0x12]
test cl, cl
jne 0x1005929a
test al, al
je 0x100592e4
cmp byte [esp + 0x13], 0
je 0x100592aa
test cl, cl
je 0x100592aa
push 0x1a
pop eax
jmp 0x100592b4
xor eax, eax
test cl, cl
setne al
add eax, 0x18
push ecx
mov dword [esp], 0x3f800000
push eax
call fcn.1000b657
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.10015e9d
add esp, 0x1c
push 0xa
lea eax, [esp + 0x48]
push ebp
push eax
call fcn.1001610a
add esp, 0xc
cmp byte [esp + 0x14], 0
je 0x10059319
cmp dword [edi + 0x190], 0
je 0x1005930b
call fcn.1004c244
jmp 0x10059319
cmp dword [ebx + 0x49e4], 0
je 0x10059319
call fcn.1004c6e7
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.10015932
add esp, 0x1c
cmp byte [esp + 0x11], 0
je 0x10059367
test dword [edi + 0xc], 0x4000000
je 0x10059367
test byte [esp + 0x70], 1
jne 0x10059367
test byte [ebx + 0x46b8], 0x20
jne 0x10059367
call fcn.1000c14e
cmp byte [esp + 0x18], 0
je 0x1005937a
cmp byte [esp + 0x20], 0
jne 0x1005937a
call fcn.1000cbf8
mov al, byte [esp + 0x11]
jmp 0x10059382
xor al, al
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x54
ret