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

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
mov eax, dword [0x503e8c]
sub esp, 0xd4
push ebx
mov ebx, ecx
cmp eax, dword [ebx + 0x9c]
push esi
push edi
je 0x4b37ae
mov ecx, 0x503c70
call dword [0x4c4414]
mov edx, dword [ebx]
mov eax, dword [edx + 0x2c]
mov ecx, ebx
call eax
cmp dword [ebp + 8], 0
jne 0x4b2f71
mov ecx, dword [ebx + 0x9c]
add ecx, 0x64
cmp dword [0x503e8c], ecx
jb 0x4b37a3
cmp dword [ebx + 0x98], 0
je 0x4b2f81
mov ecx, ebx
call sym.XR_3DA.exe_protected:_void___thiscall_CKinematics::Visibility_Update_void_
mov edx, dword [0x503e8c]
mov ecx, dword [ebx + 0x88]
mov dword [ebx + 0x9c], edx
mov eax, dword [ecx + 4]
test eax, eax
movzx edx, word [ebx + 0x8c]
je 0x4b2fad
mov ecx, dword [ecx + 8]
sub ecx, eax
sar ecx, 2
cmp ecx, edx
ja 0x4b2fb2
call fcn.00448a30
mov ecx, dword [0x4c4478]
mov edx, dword [eax + edx*4]
mov esi, dword [ebx]
mov eax, dword [esi + 0x28]
push ecx
push edx
mov ecx, ebx
call eax
add dword [ebx + 0xa0], 1
cmp dword [ebx + 0xa0], 0x20
jl 0x4b3793
mov eax, dword [0x4c45ac]
call fcn.00420d60
fld dword [0x4d0bd4]
cdq
fst dword [esp + 0x78]
mov ecx, 0x1f
fst dword [esp + 0x7c]
idiv ecx
fstp dword [esp + 0x80]
fld dword [0x4d0be0]
fst dword [esp + 0x84]
fst dword [esp + 0x88]
fstp dword [esp + 0x8c]
neg edx
xor esi, esi
mov dword [ebx + 0xa0], edx
mov dword [esp + 0x94], esi
mov eax, dword [ebx + 0x88]
mov ecx, dword [eax + 4]
test ecx, ecx
mov dword [esp + 0x90], esi
je 0x4b3738
mov eax, dword [eax + 8]
sub eax, ecx
sar eax, 2
cmp esi, eax
jae 0x4b3738
movzx ecx, si
mov eax, 1
xor edx, edx
call fcn.00468140
mov ecx, dword [ebx + 0xa4]
mov edi, eax
mov eax, dword [ebx + 0xa8]
and ecx, edi
and eax, edx
cmp edi, ecx
mov dword [esp + 0x9c], edx
jne 0x4b3725
cmp edx, eax
jne 0x4b3725
mov eax, dword [ebx + 0x88]
mov edx, dword [eax + 4]
mov edi, dword [edx + esi*4]
lea esi, [edx + esi*4]
mov esi, dword [ebx + 0x84]
add esi, dword [esp + 0x94]
add edi, 0x1c
lea eax, [esp + 0xa0]
mov ecx, edi
call fcn.00437900
fld dword [esi + 0x10]
fld dword [esp + 0xa4]
fld st(0)
fmulp st(2)
fld dword [esp + 0xa0]
fld st(0)
fmul dword [esi]
faddp st(3)
fld dword [esi + 0x20]
fld dword [esp + 0xa8]
fld st(0)
fmulp st(2)
fxch st(4)
faddp st(1)
fstp dword [esp + 0x28]
fld st(1)
fmul dword [esi + 0x14]
fld dword [esi + 4]
fmul st(2)
faddp st(1)
fld st(3)
fmul dword [esi + 0x24]
faddp st(1)
fstp dword [esp + 0x2c]
fmul dword [esi + 8]
fld dword [esi + 0x18]
fmulp st(2)
faddp st(1)
fld dword [esi + 0x28]
fmulp st(2)
faddp st(1)
fstp dword [esp + 0x30]
fld dword [esi + 0x10]
fld dword [esp + 0xb4]
fld st(0)
fmulp st(2)
fld dword [esp + 0xb0]
fld st(0)
fmul dword [esi]
faddp st(3)
fld dword [esi + 0x20]
fld dword [esp + 0xb8]
fld st(0)
fmulp st(2)
fxch st(4)
faddp st(1)
fstp dword [esp + 0x38]
fld dword [esi + 4]
fmul st(1)
fld st(2)
fmul dword [esi + 0x14]
faddp st(1)
fld st(3)
fmul dword [esi + 0x24]
faddp st(1)
fstp dword [esp + 0x3c]
fld dword [esi + 0x18]
fmulp st(2)
fmul dword [esi + 8]
faddp st(1)
fld dword [esi + 0x28]
fmulp st(2)
faddp st(1)
fstp dword [esp + 0x40]
fld dword [esi + 0x10]
fld dword [esp + 0xc4]
fld st(0)
fmulp st(2)
fld dword [esp + 0xc0]
fld st(0)
fmul dword [esi]
faddp st(3)
fld dword [esi + 0x20]
fld dword [esp + 0xc8]
fld st(0)
fmulp st(2)
fxch st(4)
faddp st(1)
fstp dword [esp + 0x48]
fld dword [esi + 4]
fmul st(1)
fld st(2)
fmul dword [esi + 0x14]
faddp st(1)
fld st(3)
fmul dword [esi + 0x24]
faddp st(1)
fstp dword [esp + 0x4c]
fld dword [esi + 0x18]
fmulp st(2)
fmul dword [esi + 8]
faddp st(1)
fld dword [esi + 0x28]
fmulp st(2)
faddp st(1)
fstp dword [esp + 0x50]
fld dword [esi + 0x10]
fld dword [esp + 0xd4]
fld st(0)
fmulp st(2)
fld dword [esp + 0xd0]
fld st(0)
fmul dword [esi]
faddp st(3)
fld dword [esi + 0x20]
fld dword [esp + 0xd8]
fld st(0)
fmulp st(2)
fxch st(4)
faddp st(1)
fadd dword [esi + 0x30]
fstp dword [esp + 0x58]
fld dword [esi + 4]
fmul st(1)
fld st(2)
fmul dword [esi + 0x14]
faddp st(1)
fld st(3)
fmul dword [esi + 0x24]
faddp st(1)
fadd dword [esi + 0x34]
fstp dword [esp + 0x5c]
fld dword [esi + 0x18]
fmulp st(2)
fmul dword [esi + 8]
faddp st(1)
fld dword [esi + 0x28]
fmulp st(2)
faddp st(1)
fadd dword [esi + 0x38]
fstp dword [esp + 0x60]
fld dword [edi + 0x30]
fchs
fstp dword [esp + 0x70]
fld dword [esp + 0x70]
fstp dword [esp + 0x10]
fld dword [edi + 0x34]
fchs
fstp dword [esp + 0x6c]
fld dword [esp + 0x6c]
fstp dword [esp + 0x14]
fld dword [edi + 0x38]
fchs
fstp dword [esp + 0x74]
fld dword [esp + 0x74]
fstp dword [esp + 0x18]
fld dword [esp + 0x10]
fld st(0)
fmul dword [esp + 0x28]
fld dword [esp + 0x14]
fld st(0)
fmul dword [esp + 0x38]
faddp st(2)
lea edx, [esp + 0x1c]
fld dword [esp + 0x18]
lea ecx, [esp + 0x78]
fld st(0)
fmul dword [esp + 0x48]
faddp st(3)
fld dword [esp + 0x58]
faddp st(3)
fxch st(2)
fstp dword [esp + 0x1c]
fld dword [esp + 0x2c]
fmul st(3)
fld st(1)
fmul dword [esp + 0x3c]
faddp st(1)
fld st(2)
fmul dword [esp + 0x4c]
faddp st(1)
fadd dword [esp + 0x5c]
fstp dword [esp + 0x20]
fld dword [esp + 0x30]
fmulp st(3)
fmul dword [esp + 0x40]
faddp st(2)
fmul dword [esp + 0x50]
faddp st(1)
fadd dword [esp + 0x60]
fstp dword [esp + 0x24]
call fcn.00437ba0
lea edx, [esp + 0x1c]
lea ecx, [esp + 0x84]
call fcn.00437c40
fld dword [esp + 0x70]
fstp dword [esp + 0x10]
lea edx, [esp + 0x1c]
fld dword [esp + 0x6c]
lea ecx, [esp + 0x78]
fstp dword [esp + 0x14]
fld dword [edi + 0x38]
fstp dword [esp + 0x18]
fld dword [esp + 0x10]
fld st(0)
fmul dword [esp + 0x28]
fld dword [esp + 0x14]
fld st(0)
fmul dword [esp + 0x38]
faddp st(2)
fld dword [esp + 0x18]
fld st(0)
fmul dword [esp + 0x48]
faddp st(3)
fld dword [esp + 0x58]
faddp st(3)
fxch st(2)
fstp dword [esp + 0x1c]
fld dword [esp + 0x2c]
fmul st(3)
fld st(1)
fmul dword [esp + 0x3c]
faddp st(1)
fld st(2)
fmul dword [esp + 0x4c]
faddp st(1)
fadd dword [esp + 0x5c]
fstp dword [esp + 0x20]
fld dword [esp + 0x30]
fmulp st(3)
fmul dword [esp + 0x40]
faddp st(2)
fmul dword [esp + 0x50]
faddp st(1)
fadd dword [esp + 0x60]
fstp dword [esp + 0x24]
call fcn.00437ba0
lea edx, [esp + 0x1c]
lea ecx, [esp + 0x84]
call fcn.00437c40
fld dword [edi + 0x30]
fstp dword [esp + 0x10]
fld dword [esp + 0x6c]
fstp dword [esp + 0x14]
lea edx, [esp + 0x1c]
fld dword [edi + 0x38]
lea ecx, [esp + 0x78]
fstp dword [esp + 0x18]
fld dword [esp + 0x10]
fld st(0)
fmul dword [esp + 0x28]
fld dword [esp + 0x14]
fld st(0)
fmul dword [esp + 0x38]
faddp st(2)
fld dword [esp + 0x18]
fld st(0)
fmul dword [esp + 0x48]
faddp st(3)
fld dword [esp + 0x58]
faddp st(3)
fxch st(2)
fstp dword [esp + 0x1c]
fld dword [esp + 0x2c]
fmul st(3)
fld st(1)
fmul dword [esp + 0x3c]
faddp st(1)
fld st(2)
fmul dword [esp + 0x4c]
faddp st(1)
fadd dword [esp + 0x5c]
fstp dword [esp + 0x20]
fld dword [esp + 0x30]
fmulp st(3)
fmul dword [esp + 0x40]
faddp st(2)
fmul dword [esp + 0x50]
faddp st(1)
fadd dword [esp + 0x60]
fstp dword [esp + 0x24]
call fcn.00437ba0
lea edx, [esp + 0x1c]
lea ecx, [esp + 0x84]
call fcn.00437c40
fld dword [edi + 0x30]
fstp dword [esp + 0x10]
fld dword [esp + 0x6c]
fstp dword [esp + 0x14]
fld dword [esp + 0x74]
fstp dword [esp + 0x18]
fld dword [esp + 0x10]
fld st(0)
fmul dword [esp + 0x28]
fld dword [esp + 0x14]
fld st(0)
fmul dword [esp + 0x38]
faddp st(2)
fld dword [esp + 0x18]
fld st(0)
fmul dword [esp + 0x48]
faddp st(3)
fld dword [esp + 0x58]
faddp st(3)
fxch st(2)
fstp dword [esp + 0x1c]
fld dword [esp + 0x2c]
fmul st(3)
fld st(1)
fmul dword [esp + 0x3c]
faddp st(1)
fld st(2)
fmul dword [esp + 0x4c]
faddp st(1)
fadd dword [esp + 0x5c]
fstp dword [esp + 0x20]
fld dword [esp + 0x30]
fmulp st(3)
fmul dword [esp + 0x40]
faddp st(2)
fmul dword [esp + 0x50]
faddp st(1)
fadd dword [esp + 0x60]
fstp dword [esp + 0x24]
lea edx, [esp + 0x1c]
lea ecx, [esp + 0x78]
call fcn.00437ba0
lea edx, [esp + 0x1c]
lea ecx, [esp + 0x84]
call fcn.00437c40
fld dword [esp + 0x70]
fstp dword [esp + 0x10]
lea edx, [esp + 0x1c]
fld dword [edi + 0x34]
lea ecx, [esp + 0x78]
fstp dword [esp + 0x14]
fld dword [esp + 0x74]
fstp dword [esp + 0x18]
fld dword [esp + 0x10]
fld st(0)
fmul dword [esp + 0x28]
fld dword [esp + 0x14]
fld st(0)
fmul dword [esp + 0x38]
faddp st(2)
fld dword [esp + 0x18]
fld st(0)
fmul dword [esp + 0x48]
faddp st(3)
fld dword [esp + 0x58]
faddp st(3)
fxch st(2)
fstp dword [esp + 0x1c]
fld dword [esp + 0x2c]
fmul st(3)
fld st(1)
fmul dword [esp + 0x3c]
faddp st(1)
fld st(2)
fmul dword [esp + 0x4c]
faddp st(1)
fadd dword [esp + 0x5c]
fstp dword [esp + 0x20]
fld dword [esp + 0x30]
fmulp st(3)
fmul dword [esp + 0x40]
faddp st(2)
fmul dword [esp + 0x50]
faddp st(1)
fadd dword [esp + 0x60]
fstp dword [esp + 0x24]
call fcn.00437ba0
lea edx, [esp + 0x1c]
lea ecx, [esp + 0x84]
call fcn.00437c40
fld dword [esp + 0x70]
fstp dword [esp + 0x10]
fld dword [edi + 0x34]
fstp dword [esp + 0x14]
fld dword [edi + 0x38]
fstp dword [esp + 0x18]
fld dword [esp + 0x10]
fld st(0)
fmul dword [esp + 0x28]
fld dword [esp + 0x14]
fld st(0)
fmul dword [esp + 0x38]
faddp st(2)
fld dword [esp + 0x18]
fld st(0)
fmul dword [esp + 0x48]
faddp st(3)
fld dword [esp + 0x58]
faddp st(3)
fxch st(2)
fstp dword [esp + 0x1c]
fld dword [esp + 0x2c]
fmul st(3)
fld st(1)
fmul dword [esp + 0x3c]
faddp st(1)
fld st(2)
fmul dword [esp + 0x4c]
faddp st(1)
fadd dword [esp + 0x5c]
fstp dword [esp + 0x20]
lea edx, [esp + 0x1c]
fld dword [esp + 0x30]
lea ecx, [esp + 0x78]
fmulp st(3)
fmul dword [esp + 0x40]
faddp st(2)
fmul dword [esp + 0x50]
faddp st(1)
fadd dword [esp + 0x60]
fstp dword [esp + 0x24]
call fcn.00437ba0
lea edx, [esp + 0x1c]
lea ecx, [esp + 0x84]
call fcn.00437c40
fld dword [edi + 0x30]
fstp dword [esp + 0x10]
lea edx, [esp + 0x1c]
fld dword [edi + 0x34]
lea ecx, [esp + 0x78]
fstp dword [esp + 0x14]
fld dword [edi + 0x38]
fstp dword [esp + 0x18]
fld dword [esp + 0x10]
fld st(0)
fmul dword [esp + 0x28]
fld dword [esp + 0x14]
fld st(0)
fmul dword [esp + 0x38]
faddp st(2)
fld dword [esp + 0x18]
fld st(0)
fmul dword [esp + 0x48]
faddp st(3)
fld dword [esp + 0x58]
faddp st(3)
fxch st(2)
fstp dword [esp + 0x1c]
fld dword [esp + 0x2c]
fmul st(3)
fld st(1)
fmul dword [esp + 0x3c]
faddp st(1)
fld st(2)
fmul dword [esp + 0x4c]
faddp st(1)
fadd dword [esp + 0x5c]
fstp dword [esp + 0x20]
fld dword [esp + 0x30]
fmulp st(3)
fmul dword [esp + 0x40]
faddp st(2)
fmul dword [esp + 0x50]
faddp st(1)
fadd dword [esp + 0x60]
fstp dword [esp + 0x24]
call fcn.00437ba0
lea edx, [esp + 0x1c]
lea ecx, [esp + 0x84]
call fcn.00437c40
fld dword [edi + 0x30]
fstp dword [esp + 0x10]
fld dword [edi + 0x34]
fstp dword [esp + 0x14]
fld dword [esp + 0x74]
fstp dword [esp + 0x18]
fld dword [esp + 0x10]
fld st(0)
fmul dword [esp + 0x28]
fld dword [esp + 0x14]
fld st(0)
fmul dword [esp + 0x38]
faddp st(2)
fld dword [esp + 0x18]
fld st(0)
fmul dword [esp + 0x48]
faddp st(3)
fld dword [esp + 0x58]
faddp st(3)
fxch st(2)
fstp dword [esp + 0x1c]
fld dword [esp + 0x2c]
lea edx, [esp + 0x1c]
fmul st(3)
lea ecx, [esp + 0x78]
fld st(1)
fmul dword [esp + 0x3c]
faddp st(1)
fld st(2)
fmul dword [esp + 0x4c]
faddp st(1)
fadd dword [esp + 0x5c]
fstp dword [esp + 0x20]
fld dword [esp + 0x30]
fmulp st(3)
fmul dword [esp + 0x40]
faddp st(2)
fmul dword [esp + 0x50]
faddp st(1)
fadd dword [esp + 0x60]
fstp dword [esp + 0x24]
call fcn.00437ba0
lea edx, [esp + 0x1c]
lea ecx, [esp + 0x84]
call fcn.00437c40
mov esi, dword [esp + 0x90]
add esi, 1
add dword [esp + 0x94], 0xa0
jmp 0x4b302d
mov eax, dword [ebx + 0x88]
mov ecx, dword [eax + 4]
test ecx, ecx
je 0x4b3793
mov eax, dword [eax + 8]
sub eax, ecx
sar eax, 2
je 0x4b3793
mov ecx, dword [esp + 0x78]
mov edx, dword [esp + 0x7c]
mov eax, dword [esp + 0x80]
lea esi, [ebx + 0x18]
mov dword [esi], ecx
mov ecx, dword [esp + 0x84]
mov dword [esi + 4], edx
mov edx, dword [esp + 0x88]
mov dword [esi + 8], eax
mov eax, dword [esp + 0x8c]
mov dword [ebx + 0x24], ecx
mov dword [ebx + 0x28], edx
lea ecx, [ebx + 0x14]
mov dword [ebx + 0x2c], eax
push ecx
lea eax, [ebx + 8]
call fcn.00437620
mov eax, dword [ebx + 0xac]
test eax, eax
je 0x4b37a3
push ebx
call eax
add esp, 4
mov ecx, 0x503c70
call dword [0x4c4418]
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 4