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

Disassembly:
mov ecx, dword [0x100e6f58]
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 0x100554a8
mov ebx, dword [0x100e6f58]
mov ecx, edi
push 0
push dword [esp + 0x6c]
call fcn.1000cbbc
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.1000926f
mov esi, dword [esp + 0x88]
add esp, 0x14
xorps xmm0, xmm0
movss xmm2, dword [esi + 4]
ucomiss xmm2, xmm0
lahf
test ah, 0x44
jp 0x10054fcf
movss xmm2, dword [esp + 0x30]
movss xmm1, dword [esi]
ucomiss xmm1, xmm0
lahf
test ah, 0x44
jp 0x10054fe2
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.1000ec1d
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 0x1005504c
movss xmm6, dword [edi + 0x200]
movss xmm4, dword [edi + 0x208]
jmp 0x10055057
movss xmm4, dword [edi + 0x1f8]
movaps xmm6, xmm1
movss xmm0, dword [esi]
xorps xmm5, xmm5
ucomiss xmm0, xmm5
lahf
test ah, 0x44
jnp 0x10055077
test edx, 0x1000000
jne 0x10055077
movss xmm4, dword [esp + 0x24]
jmp 0x10055087
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 0x1005514a
test cl, cl
jne 0x100550e4
movss xmm5, dword [ebx + 0x37ec]
movss xmm3, dword [ebx + 0x37f0]
movaps xmm0, xmm5
mulss xmm0, dword [0x100b4c68]
cvttss2si eax, xmm0
movaps xmm0, xmm3
mulss xmm0, dword [0x100b4c68]
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 0x10055182
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.1000ed6e
add esp, 0x10
cmp byte [esp + 0x14], 0
je 0x100551cb
movss xmm0, dword [esp + 0x1c]
movss dword [edi + 0x210], xmm0
movss xmm0, dword [esp + 0x20]
movss dword [edi + 0x218], xmm0
test al, al
je 0x100554a8
mov eax, dword [ebx + 0x4698]
shr eax, 2
and eax, 0xffffff01
cmp byte [esp + 0x18], 0
mov dword [esp + 0x20], eax
je 0x100551f8
test al, al
jne 0x100551f8
push 1
call fcn.100087af
pop ecx
cmp byte [esp + 0x14], 0
je 0x1005521b
cmp dword [edi + 0x190], esi
je 0x1005520e
call fcn.1004845d
jmp 0x1005521b
cmp dword [ebx + 0x49e4], esi
je 0x1005521b
call fcn.100488f3
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.1005af92
add esp, 0x14
mov byte [esp + 0x11], al
test dword [esp + 0x70], 0x200000
je 0x100552ce
mov edx, dword [ebx + 0x47dc]
test edx, edx
je 0x100552ce
mov ecx, dword [ebx + 0x47e0]
cmp ecx, dword [ebx + 0x4694]
jne 0x100552ce
cmp edx, ebp
jne 0x100552ce
mov al, 1
mov byte [esp + 0x11], al
mov byte [esp + 0x10], al
jmp 0x100552fe
mov cl, byte [esp + 0x6c]
mov byte [esp + 0x10], cl
test al, al
jne 0x100552fe
mov byte [esp + 0x10], cl
cmp byte [esp + 0x12], al
je 0x1005539c
test dword [esp + 0x70], 0x2000000
mov byte [esp + 0x6c], cl
mov byte [esp + 0x10], cl
je 0x1005539c
cmp byte [ebx + 0x47fb], 0
jne 0x10055391
cmp dword [ebx + 0x47c0], edi
jne 0x10055391
mov ecx, dword [edi + 0x148]
cmp dword [ebx + 0x47f4], ecx
jne 0x10055391
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.1001085d
mov al, byte [esp + 0x21]
add esp, 0x10
mov byte [ebx + 0x47fa], 1
test al, al
je 0x1005539c
push ebp
call fcn.1000eb4e
pop ecx
test esi, esi
je 0x100553a5
call fcn.10008e26
mov al, byte [esp + 0x10]
cmp al, byte [esp + 0x6c]
je 0x100553b6
or dword [ebx + 0x46bc], 8
mov cl, byte [esp + 0x12]
test cl, cl
jne 0x100553c2
test al, al
je 0x1005540c
cmp byte [esp + 0x13], 0
je 0x100553d2
test cl, cl
je 0x100553d2
push 0x1a
pop eax
jmp 0x100553dc
xor eax, eax
test cl, cl
setne al
add eax, 0x18
push ecx
mov dword [esp], 0x3f800000
push eax
call fcn.10007296
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.100119f8
add esp, 0x1c
push 0xa
lea eax, [esp + 0x48]
push ebp
push eax
call fcn.10011c65
add esp, 0xc
cmp byte [esp + 0x14], 0
je 0x10055441
cmp dword [edi + 0x190], 0
je 0x10055433
call fcn.100484a6
jmp 0x10055441
cmp dword [ebx + 0x49e4], 0
je 0x10055441
call fcn.10048945
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.1001148f
add esp, 0x1c
cmp byte [esp + 0x11], 0
je 0x1005548f
test dword [edi + 0xc], 0x4000000
je 0x1005548f
test byte [esp + 0x70], 1
jne 0x1005548f
test byte [ebx + 0x46b8], 0x20
jne 0x1005548f
call fcn.10007d8d
cmp byte [esp + 0x18], 0
je 0x100554a2
cmp byte [esp + 0x20], 0
jne 0x100554a2
call fcn.1000880c
mov al, byte [esp + 0x11]
jmp 0x100554aa
xor al, al
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x54
ret