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

Disassembly:
sub esp, 0x104
mov eax, dword [0x9d2c30]
imul eax, eax, 0x4d0
movss xmm0, dword [eax + 0x9ce3e0]
push ebx
fld dword [eax + 0x9cdfd4]
push ebp
fmul dword [0xa600c4]
push esi
fld dword [eax + 0x9cdfd0]
push edi
fmul dword [0xa600c0]
movss dword [0xa5fe44], xmm0
faddp st(1)
fld dword [eax + 0x9cdfd8]
fmul dword [0xa600c8]
faddp st(1)
fstp dword [esp + 0x10]
fld dword [esp + 0x10]
fldz
fsubrp st(1)
fstp dword [esp + 0x14]
fldz
fld dword [esp + 0x14]
fcompi st(1)
jb 0x4f771c
xorps xmm0, xmm0
jmp 0x4f7722
movss xmm0, dword [esp + 0x10]
movss dword [esp + 0x10], xmm0
fld dword [esp + 0x10]
fmul qword [0x6f9b40]
fstp dword [esp + 0x10]
fld dword [esp + 0x10]
fld1
fsubrp st(1)
fstp dword [esp + 0x14]
fld dword [esp + 0x14]
fcompi st(1)
fstp st(0)
jb 0x4f7756
movss xmm0, dword [0x6cc5ec]
jmp 0x4f775c
movss xmm0, dword [esp + 0x10]
push 1
movss dword [0xa6b0dc], xmm0
call fcn.0058d1c0
fld qword [0x6f9c10]
mov eax, dword [0xa6fb3c]
fld dword [0xa6fb54]
mov ecx, dword [0xa6fb40]
mov edx, dword [0xa6fb44]
movss xmm0, dword [0xa6fb54]
mov dword [0xa5fe24], eax
mov eax, dword [0xa6fb48]
mov dword [0xa5fe28], ecx
mov ecx, dword [0xa6fb4c]
mov dword [0xa5fe2c], edx
mov edx, dword [0xa6fb50]
add esp, 4
fcompi st(1)
fstp st(0)
movss dword [0xa5fe3c], xmm0
mov dword [0xa5fe30], eax
mov dword [0xa5fe34], ecx
mov dword [0xa5fe38], edx
ja 0x4f7c9b
fld dword [0xa6b0dc]
push ecx
fstp dword [esp]
call fcn.004f7420
mov eax, dword [0x9d2c30]
imul eax, eax, 0x4d0
mov ecx, dword [eax + 0x9cdfe0]
mov edx, dword [eax + 0x9cdfe4]
lea eax, [eax + 0x9cdfe0]
mov dword [esp + 0x2c], ecx
mov ecx, dword [eax + 8]
fld dword [esp + 0x2c]
xorps xmm0, xmm0
fadd dword [0xa600c0]
mov dword [esp + 0x30], edx
movss xmm1, dword [0x6cc5ec]
mov dword [esp + 0x34], ecx
fstp dword [esp + 0x1c]
mov edx, dword [esp + 0x1c]
fld dword [esp + 0x30]
mov dword [esp + 0x2c], edx
fadd dword [0xa600c4]
add esp, 4
movss dword [esp + 0x18], xmm0
fstp dword [esp + 0x1c]
mov ecx, dword [esp + 0x1c]
fld dword [esp + 0x30]
mov dword [esp + 0x2c], ecx
fadd dword [0xa600c8]
mov ecx, dword [eax]
mov dword [esp + 0x44], ecx
lea ecx, [esp + 0x18]
fstp dword [esp + 0x20]
mov edx, dword [esp + 0x20]
mov dword [esp + 0x30], edx
mov edx, dword [eax + 4]
mov eax, dword [eax + 8]
push ecx
mov dword [esp + 0x4c], edx
lea edx, [esp + 0x2c]
mov dword [esp + 0x50], eax
push edx
lea eax, [esp + 0x4c]
push eax
lea ecx, [esp + 0x9c]
push ecx
movss dword [esp + 0x2c], xmm1
movss dword [esp + 0x30], xmm0
call sub.d3dx9_35.dll_D3DXMatrixLookAtLH
movss xmm0, dword [esp + 0x90]
movss xmm1, dword [0x6f99f4]
movss dword [esp + 0x50], xmm0
movss xmm0, dword [esp + 0xa0]
movss dword [esp + 0x54], xmm0
movss xmm0, dword [esp + 0xb0]
movss dword [esp + 0x58], xmm0
movss xmm0, dword [esp + 0x94]
movss dword [esp + 0x60], xmm0
movss xmm0, dword [esp + 0xa4]
movss dword [esp + 0x64], xmm0
movss xmm0, dword [esp + 0xb4]
movss dword [esp + 0x68], xmm0
movss xmm0, dword [esp + 0x98]
movss dword [esp + 0x70], xmm0
movss xmm0, dword [esp + 0xa8]
movss dword [esp + 0x74], xmm0
movss xmm0, dword [esp + 0xb8]
mov ecx, 0x10
mov esi, 0x6c7470
lea edi, [esp + 0xd0]
rep movsd dword es:[edi], dword [esi]
movss dword [esp + 0x78], xmm0
xorps xmm0, xmm0
movss dword [esp + 0xd8], xmm1
movss xmm1, dword [0x6cc5ec]
lea edx, [esp + 0x50]
movss dword [esp + 0xd0], xmm0
movss dword [esp + 0xf0], xmm1
movss dword [esp + 0xf8], xmm0
push edx
lea eax, [esp + 0xd4]
push eax
mov ecx, edx
push ecx
call sub.d3dx9_35.dll_D3DXMatrixMultiply
mov eax, dword [0x9d2c30]
imul eax, eax, 0x4d0
lea eax, [eax + 0x9ce1f0]
mov esi, eax
mov ecx, 0x10
lea edi, [esp + 0xd0]
rep movsd dword es:[edi], dword [esi]
lea ecx, [esp + 0x50]
call fcn.00404480
call fcn.0058ce70
call fcn.004f33e0
movsx eax, word [0x819b16]
mov dword [esp + 0x34], eax
cmp eax, 1
mov eax, dword [0x819afc]
je 0x4f79e5
or eax, 8
mov dword [0x819afc], eax
mov word [0x819b16], 1
mov ecx, eax
shr ecx, 8
and ecx, 1
mov dword [esp + 0x40], ecx
je 0x4f7a00
and eax, 0xfffffeff
or eax, 1
mov dword [0x819afc], eax
mov ecx, eax
shr ecx, 7
and ecx, 1
mov dword [esp + 0x38], ecx
je 0x4f7a1b
and eax, 0xffffff7f
or eax, 1
mov dword [0x819afc], eax
mov ebp, eax
shr ebp, 5
and ebp, 1
mov dword [esp + 0x3c], ebp
jne 0x4f7a31
or eax, 0x24
mov dword [0x819afc], eax
mov edi, eax
shr edi, 6
and edi, 1
mov dword [esp + 0x14], edi
jne 0x4f7a47
or eax, 0x44
mov dword [0x819afc], eax
mov eax, dword [0x93a10c]
mov ecx, dword [eax + 0x3c]
mov edx, dword [0x93d8d8]
and ecx, 0xfffffffd
or ecx, 1
xor esi, esi
mov dword [eax + 0x3c], ecx
cmp dword [0xa5fe08], esi
mov dword [esp + 0x10], edx
mov dword [0x93d8d8], eax
jbe 0x4f7a8d
mov eax, dword [esi*4 + 0xa5f608]
call fcn.00580a30
add esi, 1
cmp esi, dword [0xa5fe08]
jb 0x4f7a71
mov eax, dword [0x93a10c]
and dword [eax + 0x3c], 0xfffffffc
xor ebx, ebx
cmp dword [0xa5ee00], ebx
jbe 0x4f7b35
mov ebp, 0xa5be04
mov eax, dword [ebp - 4]
mov edx, dword [eax]
test byte [edx + 8], 0x70
je 0x4f7b10
mov esi, dword [0x9d2c30]
imul esi, esi, 0x4d0
add esi, 0x9ce1f0
mov ecx, 0x10
mov edi, 0x93a090
rep movsd dword es:[edi], dword [esi]
mov ecx, dword [ebp + 4]
push ecx
mov ecx, dword [ebp]
mov dword [0x822348], 0x66e770
call fcn.0057c0a0
mov eax, dword [0x9d2c30]
imul eax, eax, 0x4d0
add esp, 4
add eax, 0x9ce1f0
mov ecx, 0x93a090
call fcn.00404480
mov edi, dword [esp + 0x14]
mov dword [0x822348], 0
jmp 0x4f7b1f
mov edx, dword [ebp + 4]
mov ecx, dword [ebp]
push edx
call fcn.0057c0a0
add esp, 4
add ebx, 1
add ebp, 0xc
cmp ebx, dword [0xa5ee00]
jb 0x4f7aa4
mov ebp, dword [esp + 0x3c]
mov eax, dword [esp + 0x10]
xor esi, esi
cmp dword [0xa5f604], esi
mov dword [0x93d8d8], eax
jbe 0x4f7ba3
jmp 0x4f7b50
mov ecx, dword [esi*4 + 0xa5ee04]
mov edx, dword [ecx]
mov eax, dword [edx + 4]
call eax
test eax, eax
je 0x4f7b80
mov ecx, dword [0x93a10c]
xor edx, edx
cmp eax, 1
mov eax, dword [ecx + 0x3c]
sete dl
and eax, 0xfffffffc
and edx, 1
or edx, eax
mov dword [ecx + 0x3c], edx
jmp 0x4f7b84
mov ecx, dword [esp + 0x10]
mov dword [0x93d8d8], ecx
mov ecx, dword [esi*4 + 0xa5ee04]
mov edx, dword [ecx]
mov eax, dword [edx + 8]
call eax
add esi, 1
cmp esi, dword [0xa5f604]
jb 0x4f7b50
mov ecx, dword [esp + 0x10]
mov dword [0x93d8d8], ecx
call fcn.004f3510
mov eax, dword [0x9d2c30]
imul eax, eax, 0x4d0
add eax, 0x9ce1f0
lea ecx, [esp + 0xd0]
call fcn.00404480
mov eax, dword [0x819afc]
xor edx, edx
test edi, edi
setne dl
mov ecx, eax
shr ecx, 6
and ecx, 1
cmp ecx, edx
je 0x4f7bfa
shl edi, 6
xor edi, eax
and edi, 0x40
xor edi, eax
or edi, 4
mov eax, edi
mov dword [0x819afc], eax
xor edx, edx
test ebp, ebp
setne dl
mov ecx, eax
shr ecx, 5
and ecx, 1
cmp ecx, edx
je 0x4f7c21
shl ebp, 5
xor ebp, eax
and ebp, 0x20
xor ebp, eax
or ebp, 4
mov eax, ebp
mov dword [0x819afc], eax
mov ecx, dword [esp + 0x38]
xor edx, edx
test ecx, ecx
setne dl
mov esi, eax
shr esi, 7
and esi, 1
cmp esi, edx
je 0x4f7c4f
shl ecx, 7
xor ecx, eax
and ecx, 0x80
xor ecx, eax
or ecx, 1
mov eax, ecx
mov dword [0x819afc], eax
mov ecx, dword [esp + 0x40]
xor edx, edx
test ecx, ecx
setne dl
mov esi, eax
shr esi, 8
and esi, 1
cmp esi, edx
je 0x4f7c7d
shl ecx, 8
xor ecx, eax
and ecx, 0x100
xor ecx, eax
or ecx, 1
mov eax, ecx
mov dword [0x819afc], eax
movsx edx, word [0x819b16]
mov ecx, dword [esp + 0x34]
cmp edx, ecx
je 0x4f7c9b
or eax, 8
mov dword [0x819afc], eax
mov word [0x819b16], cx
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x104
ret