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

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff0
sub esp, 0x74
xorps xmm0, xmm0
push ebx
push esi
mov esi, dword [ebp + 8]
mov al, byte [esi + 0x2a4]
test al, al
push edi
movss dword [esp + 0x10], xmm0
movss dword [esp + 0xc], xmm0
js 0x4568ac
mov eax, dword [esi + 0x17c]
cmp eax, 1
jle 0x45688f
imul eax, eax, 0x2c
mov dword [esp + 0x18], eax
lea eax, [eax + 0x8d5c18]
push eax
mov edi, 0x91a408
call fcn.0050e790
test eax, eax
je 0x4563be
cvttss2si ebx, dword [eax + 4]
jmp 0x4563c0
xor ebx, ebx
mov ecx, dword [esp + 0x18]
lea edx, [ecx + 0x8d5c14]
push edx
mov edi, 0x91a408
call fcn.0050e790
test eax, eax
je 0x4563e0
cvttss2si ecx, dword [eax + 4]
jmp 0x4563e2
xor ecx, ecx
mov eax, dword [0x77eab0]
imul eax, eax, 0x343fd
add eax, 0x269ec3
mov dword [0x77eab0], eax
shr eax, 0x10
sub ebx, ecx
and eax, 0x7fff
inc ebx
cdq
idiv ebx
mov eax, dword [esi + 0x17c]
mov ebx, edx
mov edx, dword [ebp + 0x14]
add ebx, ecx
mov ecx, eax
sub ecx, edx
dec eax
mov dword [esp + 0x2c], ecx
je 0x456459
dec eax
je 0x45643e
dec eax
jne 0x456482
push 0x43960000
push 0x43960000
call fcn.00625a50
push 0x3f000000
push 0x3e800000
jmp 0x456472
push 0x43960000
push 0x43960000
call fcn.00625a50
push 0x3e99999a
push 0x3e000000
jmp 0x456472
push 0x41700000
push 0x41200000
call fcn.00625a50
push 0x3dcccccd
push 0x3d4ccccd
fstp dword [esp + 0x20]
call fcn.00625a50
fstp dword [esp + 0x1c]
add esp, 0x10
lea eax, [esi + 0x2a8]
lea edi, [esp + 0x34]
call fcn.00458550
test ebx, ebx
jle 0x45688f
mov dword [esp + 0x18], ebx
lea ecx, [ecx]
push str.Alien_Glob
lea ecx, [esp + 0x3c]
push ecx
mov ecx, 0x8d68e0
call fcn.0045ffe0
mov eax, dword [esp + 0x38]
test eax, eax
jne 0x4564c8
mov ecx, dword [esp + 0x3c]
test ecx, ecx
je 0x456885
mov edx, dword [esp + 0x3c]
push edx
push eax
mov ecx, 0x8d68e0
call fcn.004013f0
mov ebx, eax
test ebx, ebx
je 0x456869
lea edi, [esi + 0x90]
movss xmm0, dword [esp + 0xc]
mov ecx, edi
mov edx, dword [ecx]
lea eax, [ebx + 0x90]
mov dword [eax], edx
mov edx, dword [ecx + 4]
mov dword [eax + 4], edx
mov edx, dword [ecx + 8]
mov dword [eax + 8], edx
mov ecx, dword [ecx + 0xc]
mov dword [eax + 0xc], ecx
lea edx, [esi + 0xa0]
mov ecx, dword [edx]
lea eax, [ebx + 0xa0]
mov dword [eax], ecx
mov ecx, dword [edx + 4]
mov dword [eax + 4], ecx
mov ecx, dword [edx + 8]
mov dword [eax + 8], ecx
mov edx, dword [edx + 0xc]
mov dword [eax + 0xc], edx
mov eax, dword [esi + 0x138]
mov dword [ebx + 0x138], eax
mov ecx, dword [esi + 0x13c]
xor edx, edx
mov dword [ebx + 0x13c], ecx
movss dword [ebx + 0x174], xmm0
mov dword [ebx + 0xe0], 0
mov dx, word [esi + 0x76]
mov esi, ebx
push edx
call fcn.0043f8d0
mov esi, dword [ebp + 8]
movss xmm0, dword [esi + 0x40]
lea eax, [ebx + 0x1b0]
movss dword [esp + 0x60], xmm0
movss xmm0, dword [esi + 0x44]
mov edx, dword [esp + 0x60]
movss dword [esp + 0x64], xmm0
movss xmm0, dword [esi + 0x48]
mov ecx, eax
mov dword [ecx], edx
mov edx, dword [esp + 0x64]
mov dword [ecx + 4], edx
movss dword [esp + 0x68], xmm0
mov edx, dword [esp + 0x68]
mov dword [ecx + 8], edx
mov edx, dword [esp + 0x6c]
mov dword [ecx + 0xc], edx
mov cl, byte [esi + 0x76]
mov byte [eax + 0x10], cl
mov dl, byte [esi + 0x77]
mov byte [eax + 0x11], dl
mov eax, dword [ebx]
push edi
mov ecx, ebx
call dword [eax + 0x20]
push 0x8d6000
mov edi, 0x91a408
call fcn.0050e790
test eax, eax
je 0x4565db
movss xmm0, dword [eax + 4]
jmp 0x4565de
xorps xmm0, xmm0
mov ecx, dword [0x77eab0]
imul ecx, ecx, 0x343fd
add ecx, 0x269ec3
mov dword [0x77eab0], ecx
movss dword [esp + 0x14], xmm0
lea edx, [esp + 0x1c]
shr ecx, 0x10
push edx
and ecx, 0x7fff
lea eax, [esp + 0x24]
push eax
cvtsi2ss xmm0, ecx
mulss xmm0, dword [0x738a60]
mulss xmm0, dword [0x738e14]
subss xmm0, dword [0x738c28]
push ecx
movss dword [esp], xmm0
call fcn.00403f60
mov edx, dword [0x77eab0]
movss xmm0, dword [esp + 0x28]
imul edx, edx, 0x343fd
movss xmm1, dword [esp + 0x2c]
xorps xmm3, xmm3
movss xmm2, dword [esp + 0x20]
movaps xmm4, xmm0
add edx, 0x269ec3
add esp, 0xc
mulss xmm0, xmm2
mov dword [0x77eab0], edx
movaps xmm5, xmm1
lea eax, [esp + 0x28]
push eax
lea ecx, [esp + 0x28]
shr edx, 0x10
mulss xmm1, xmm3
addss xmm0, xmm1
movss dword [esp + 0x5c], xmm0
and edx, 0x7fff
push ecx
cvtsi2ss xmm0, edx
mulss xmm0, dword [0x738a60]
mulss xmm0, dword [0x738bb8]
mulss xmm4, xmm3
mulss xmm5, xmm2
push ecx
subss xmm4, xmm5
movss dword [esp + 0x60], xmm4
movss dword [esp], xmm0
call fcn.00403f60
mov eax, dword [ebp + 0xc]
fld dword [eax + 8]
movss xmm1, dword [esp + 0x64]
fld dword [eax]
movss xmm0, dword [esp + 0x30]
fld dword [eax + 4]
movss xmm3, dword [esp + 0x34]
fld st(1)
xorps xmm2, xmm2
fmul st(2)
movaps xmm4, xmm1
fld st(3)
mulss xmm4, xmm0
fmul st(4)
movaps xmm5, xmm3
mulss xmm5, xmm2
mulss xmm1, xmm3
faddp st(1)
mulss xmm0, xmm2
addss xmm4, xmm5
subss xmm1, xmm0
fsqrt
add esp, 0xc
movss dword [esp + 0x50], xmm4
movss dword [esp + 0x58], xmm1
fstp st(3)
fxch st(1)
fxch st(2)
fpatan
lea edi, [esp + 0x44]
lea esi, [esp + 0x50]
movss dword [esp + 0x4c], xmm2
fstp st(1)
fchs
fstp dword [esp + 0x44]
fld dword [eax]
fld dword [eax + 8]
fpatan
fstp dword [esp + 0x48]
call fcn.0042e0f0
mov ecx, dword [esp + 0x50]
mov edx, dword [esp + 0x54]
movss xmm0, dword [esp + 0x10]
mov esi, dword [ebp + 8]
movss dword [ebx + 0x124], xmm0
xorps xmm0, xmm0
lea eax, [ebx + 0xd0]
mov dword [eax], ecx
mov ecx, dword [esp + 0x58]
mov dword [eax + 4], edx
mov edx, dword [esp + 0x5c]
mov dword [eax + 8], ecx
mov dword [eax + 0xc], edx
movss dword [esp + 0x70], xmm0
mov ecx, dword [esp + 0x70]
movaps xmm1, xmm0
subss xmm1, dword [0x757ed4]
lea eax, [ebx + 0x110]
mov dword [eax], ecx
movss dword [esp + 0x74], xmm1
mov edx, dword [esp + 0x74]
mov dword [eax + 4], edx
mov edx, dword [esp + 0x7c]
movss dword [esp + 0x78], xmm0
mov ecx, dword [esp + 0x78]
mov dword [eax + 8], ecx
mov dword [eax + 0xc], edx
lea eax, [esi + 0x160]
mov edx, dword [eax]
lea ecx, [ebx + 0x160]
mov dword [ecx], edx
mov edx, dword [eax + 4]
mov dword [ecx + 4], edx
mov edx, dword [eax + 8]
mov dword [ecx + 8], edx
mov eax, dword [eax + 0xc]
mov dword [ecx + 0xc], eax
lea ecx, [esi + 0x150]
mov eax, dword [ecx]
lea edx, [ebx + 0x150]
mov dword [edx], eax
mov eax, dword [ecx + 4]
mov dword [edx + 4], eax
mov eax, dword [ecx + 8]
mov dword [edx + 8], eax
mov ecx, dword [ecx + 0xc]
push 0x8d5d10
mov edi, 0x91a408
mov dword [edx + 0xc], ecx
call fcn.0050e790
test eax, eax
je 0x456818
movss xmm0, dword [eax + 4]
mov eax, dword [esp + 0x2c]
push ebx
movss dword [ebx + 0x178], xmm0
call fcn.00457f90
mov edx, dword [esi + 0x180]
lea eax, [esi + 0x180]
mov dword [ebx + 0x180], edx
mov ecx, dword [eax + 4]
lea edi, [esp + 0x30]
mov dword [ebx + 0x184], ecx
call fcn.004585a0
mov eax, dword [esp + 0x30]
test eax, eax
je 0x456866
mov edx, dword [esp + 0x3c]
mov ecx, dword [esp + 0x38]
push edx
push ecx
push eax
call fcn.004c9e20
mov esi, dword [ebp + 8]
mov eax, dword [esp + 0x34]
test eax, eax
je 0x456885
mov edx, dword [esp + 0x3c]
mov ecx, dword [esp + 0x38]
push edx
push ecx
mov esi, eax
call fcn.00549c50
mov esi, dword [ebp + 8]
dec dword [esp + 0x18]
jne 0x4564a0
mov eax, dword [ebp + 0x10]
test eax, eax
je 0x45689e
push 2
push esi
call fcn.00458140
push 5
mov edi, esi
mov ecx, 0x8d5d20
call fcn.004548f0
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0x10