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

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff0
sub esp, 0xd8
push ebx
push esi
mov ecx, 0x782c70
call fcn.00658460
cmp dword [edi + 0x88], eax
jne 0x546bdc
mov dword [esp + 0xc], 0xc
lea esp, [esp]
mov eax, dword [edi + 0x114]
cmp eax, dword [edi + 0x518]
mov dword [esp + 8], 0
je 0x546ba2
mov ecx, eax
shl ecx, 4
lea ebx, [ecx + edi + 0x118]
inc eax
mov dword [edi + 0x114], eax
mov edx, dword [ebx + 4]
mov eax, dword [ebx]
push edx
push eax
mov ecx, 0x8d68e0
mov dword [esp + 0x3c], ebx
call fcn.004013f0
mov esi, eax
test esi, esi
jne 0x546761
and byte [ebx + 0xe], 0xfe
jmp 0x546b96
call fcn.0042ec20
mov edx, dword [esi]
mov ecx, esi
mov ebx, eax
call dword [edx + 0x1c]
cmp eax, ebx
je 0x546780
mov ecx, dword [eax + 4]
cmp eax, ecx
je 0x5467c0
mov eax, ecx
cmp eax, ebx
jne 0x546773
mov eax, dword [esi]
push 3
lea ecx, [esp + 0xd4]
push ecx
mov ecx, esi
call dword [eax + 0x200]
mov edx, dword [eax]
mov ecx, dword [eax + 4]
mov dword [esp + 0x80], edx
mov edx, dword [eax + 8]
mov eax, dword [eax + 0xc]
mov dword [esp + 0x84], ecx
mov dword [esp + 0x88], edx
mov dword [esp + 0x8c], eax
jmp 0x54683f
mov eax, dword [esi + 0x70]
test ah, 6
je 0x5467cf
mov ecx, esi
call fcn.005042d0
movss xmm2, dword [0x738a1c]
movss xmm0, dword [esi + 0x50]
addss xmm0, dword [esi + 0x60]
movss xmm1, dword [esi + 0x64]
addss xmm1, dword [esi + 0x54]
mulss xmm0, xmm2
movss dword [esp + 0x60], xmm0
movss xmm0, dword [esi + 0x68]
mov ecx, dword [esp + 0x60]
addss xmm0, dword [esi + 0x58]
mulss xmm1, xmm2
mulss xmm0, xmm2
movss dword [esp + 0x64], xmm1
mov edx, dword [esp + 0x64]
movss dword [esp + 0x68], xmm0
mov eax, dword [esp + 0x68]
mov dword [esp + 0x80], ecx
mov ecx, dword [esp + 0x6c]
mov dword [esp + 0x84], edx
mov dword [esp + 0x88], eax
mov dword [esp + 0x8c], ecx
call fcn.00454160
mov edx, dword [esi]
mov ecx, esi
mov ebx, eax
call dword [edx + 0x1c]
cmp eax, ebx
je 0x54685e
mov ecx, dword [eax + 4]
cmp eax, ecx
je 0x546865
mov eax, ecx
cmp eax, ebx
jne 0x546851
mov ecx, 1
jmp 0x546869
mov ecx, dword [esp + 8]
movss xmm5, dword [esp + 0x84]
movss xmm0, dword [esp + 0x88]
subss xmm0, dword [edi + 0xf8]
movss xmm6, dword [esp + 0x80]
movaps xmm2, xmm5
subss xmm2, dword [edi + 0xf4]
movaps xmm3, xmm0
mulss xmm3, xmm0
movaps xmm4, xmm2
mulss xmm4, xmm2
addss xmm3, xmm4
movaps xmm1, xmm6
subss xmm1, dword [edi + 0xf0]
movaps xmm4, xmm1
mulss xmm4, xmm1
addss xmm3, xmm4
comiss xmm3, dword [0x738d48]
movss dword [esp + 0x20], xmm1
movss dword [esp + 0x24], xmm2
movss dword [esp + 0x28], xmm0
movss dword [esp + 0x3c], xmm3
jbe 0x54691e
fld dword [esp + 0x3c]
fsqrt
fdivr dword [0x7389bc]
fld dword [esp + 0x20]
fmul st(1)
fstp dword [esp + 0x20]
movss xmm1, dword [esp + 0x20]
fld dword [esp + 0x24]
fmul st(1)
fstp dword [esp + 0x24]
movss xmm2, dword [esp + 0x24]
fld dword [esp + 0x28]
fmul st(1)
fstp dword [esp + 0x28]
movss xmm0, dword [esp + 0x28]
fstp st(0)
xorps xmm4, xmm4
mulss xmm2, xmm4
movaps xmm3, xmm2
subss xmm3, xmm0
movaps xmm7, xmm1
mulss xmm7, xmm4
subss xmm1, xmm2
mulss xmm0, xmm4
subss xmm0, xmm7
movaps xmm2, xmm1
mulss xmm2, xmm1
movaps xmm7, xmm0
mulss xmm7, xmm0
addss xmm2, xmm7
movaps xmm7, xmm3
mulss xmm7, xmm3
addss xmm2, xmm7
ucomiss xmm2, xmm4
lahf
test ah, 0x44
movss dword [esp + 0x10], xmm3
movss dword [esp + 0x14], xmm0
movss dword [esp + 0x18], xmm1
movss dword [esp + 0x38], xmm2
jnp 0x5469c1
fld dword [esp + 0x38]
fsqrt
fdivr dword [0x7389bc]
fmul dword [0x738b08]
fld dword [esp + 0x10]
fmul st(1)
fstp dword [esp + 0x10]
movss xmm3, dword [esp + 0x10]
fld dword [esp + 0x14]
fmul st(1)
fstp dword [esp + 0x14]
movss xmm0, dword [esp + 0x14]
fld dword [esp + 0x18]
fmul st(1)
fstp dword [esp + 0x18]
movss xmm1, dword [esp + 0x18]
fstp st(0)
test ecx, ecx
movaps xmm2, xmm3
addss xmm2, xmm6
movss dword [esp + 0x40], xmm2
mov eax, dword [esp + 0x40]
movaps xmm2, xmm0
addss xmm2, xmm5
movss dword [esp + 0x44], xmm2
movss xmm2, dword [esp + 0x88]
mov edx, dword [esp + 0x44]
mov dword [esp + 0x90], eax
mov dword [esp + 0x94], edx
mov edx, dword [esp + 0x4c]
movaps xmm4, xmm1
addss xmm4, xmm2
movss dword [esp + 0x48], xmm4
mov eax, dword [esp + 0x48]
mov dword [esp + 0x98], eax
mov dword [esp + 0x9c], edx
movaps xmm4, xmm6
subss xmm4, xmm3
movaps xmm3, xmm5
addss xmm5, dword [0x738b08]
subss xmm3, xmm0
movss dword [esp + 0x70], xmm4
mov eax, dword [esp + 0x70]
mov dword [esp + 0xa0], eax
movss dword [esp + 0x74], xmm3
mov edx, dword [esp + 0x74]
mov dword [esp + 0xa4], edx
mov edx, dword [esp + 0x7c]
movaps xmm0, xmm2
subss xmm0, xmm1
movss dword [esp + 0x78], xmm0
mov eax, dword [esp + 0x78]
mov dword [esp + 0xa8], eax
mov dword [esp + 0xac], edx
movss dword [esp + 0x50], xmm6
mov eax, dword [esp + 0x50]
movss dword [esp + 0x54], xmm5
mov edx, dword [esp + 0x54]
mov dword [esp + 0xb0], eax
mov dword [esp + 0xb4], edx
mov edx, dword [esp + 0x5c]
movss dword [esp + 0x58], xmm2
mov eax, dword [esp + 0x58]
mov dword [esp + 0xb8], eax
mov eax, dword [edi + 0xf0]
mov dword [esp + 0xbc], edx
mov edx, dword [edi + 0xf4]
mov dword [esp + 0xc0], eax
mov eax, dword [edi + 0xf8]
mov dword [esp + 0xc4], edx
mov edx, dword [edi + 0xfc]
mov dword [esp + 0xc8], eax
mov dword [esp + 0xcc], edx
mov dword [esp + 8], 4
je 0x546afe
mov dword [esp + 8], 1
mov eax, dword [esp + 8]
xor ebx, ebx
test eax, eax
jle 0x546b8e
lea esi, [esp + 0x80]
mov eax, dword [edi + 0xc]
mov ecx, dword [edi + 8]
mov edx, dword [esp + 0xc]
push eax
dec edx
push ecx
lea ecx, [esp + 0xc8]
mov eax, 0x918b30
mov dword [esp + 0x14], edx
call fcn.00506e60
cmp dword [0x919b34], 0x20
mov eax, 1
mov dword [0x919b38], 4
mov dword [0x91a2a0], eax
mov dword [0x91a29c], eax
jle 0x546b5c
mov eax, 0x20
push 0x10840
push 4
push 0xffffffffffffffff
mov ecx, 0x918b30
mov dword [0x919b34], eax
call fcn.005059c0
mov eax, dword [0x919b30]
test eax, eax
je 0x546b89
mov eax, dword [esp + 8]
inc ebx
add esi, 0x10
cmp ebx, eax
jl 0x546b13
cmp ebx, 4
jge 0x546b96
mov eax, dword [esp + 0x34]
or byte [eax + 0xe], 1
mov eax, dword [esp + 0xc]
test eax, eax
jg 0x546710
mov edx, dword [edi + 0x114]
cmp edx, dword [edi + 0x518]
jne 0x546bdc
push edi
call fcn.00546bf0
mov al, byte [edi + 0x518]
mov ecx, dword [edi + 0x8c]
mov byte [edi + 0xfc5], al
or ecx, 4
push edi
mov eax, 1
mov dword [edi + 0x8c], ecx
call fcn.00545390
pop esi
pop ebx
mov esp, ebp
pop ebp
ret