Function at 0x504880
Capabilities:
Inspect section memory permissions

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff0
sub esp, 0x94
push ebx
push esi
mov esi, dword [ebp + 8]
push edi
mov edx, str.Base
mov eax, esi
mov ebx, ecx
call fcn.00502c90
test eax, eax
je 0x504d7b
push str.BaseDisableProjShadows
push esi
mov eax, 0x40000
mov ecx, ebx
call fcn.005047f0
test eax, eax
jne 0x504d6d
push str.BaseCastShadows
push esi
mov eax, 0x80000
mov ecx, ebx
call fcn.005047f0
test eax, eax
jne 0x504d6d
push str.BaseReceiveShadows
push esi
mov eax, 0x100000
mov ecx, ebx
call fcn.005047f0
test eax, eax
jne 0x504d6d
mov edx, str.BaseCollision
mov eax, esi
call fcn.00502c90
test eax, eax
je 0x504a15
push str.BaseCollisionCollision_On
push esi
mov eax, 4
mov ecx, ebx
call fcn.005047f0
test eax, eax
jne 0x504d6d
push str.BaseCollisionBlock_Player
push esi
mov eax, 0x800000
mov ecx, ebx
call fcn.005047f0
test eax, eax
jne 0x504d6d
push str.BaseCollisionBlock_Character
push esi
mov eax, 0x1000000
mov ecx, ebx
call fcn.005047f0
test eax, eax
jne 0x504d6d
push str.BaseCollisionBlock_Ragdoll
push esi
mov eax, 0x2000000
mov ecx, ebx
call fcn.005047f0
test eax, eax
jne 0x504d6d
push str.BaseCollisionBlock_Small_Projectile
push esi
mov eax, 0x4000000
mov ecx, ebx
call fcn.005047f0
test eax, eax
jne 0x504d6d
push str.BaseCollisionBlock_Large_Projectile
push esi
mov eax, 0x8000000
mov ecx, ebx
call fcn.005047f0
test eax, eax
jne 0x504d6d
push str.BaseCollisionBlock_Character_LOS
push esi
mov eax, 0x10000000
mov ecx, ebx
call fcn.005047f0
test eax, eax
jne 0x504d6d
push str.BaseCollisionBlock_Player_LOS
push esi
mov eax, 0x20000000
mov ecx, ebx
call fcn.005047f0
test eax, eax
jne 0x504d6d
push str.BaseCollisionBlock_Pain_LOS
push esi
mov eax, 0x40000000
mov ecx, ebx
call fcn.005047f0
test eax, eax
jne 0x504d6d
push str.BaseCollisionBlock_Small_Debris
push esi
mov eax, accept
mov ecx, ebx
call fcn.005047f0
neg eax
sbb eax, eax
neg eax
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 4
mov edx, str.Base
mov edi, esi
call fcn.00502c40
test eax, eax
je 0x504a48
mov eax, dword [ebx]
mov ecx, ebx
call dword [eax + 0x60]
mov edx, dword [eax + 8]
push esi
mov esi, 0x100
call fcn.00502b40
mov eax, 1
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 4
mov edx, str.BaseName
mov edi, esi
call fcn.00502c40
test eax, eax
je 0x504a84
cmp dword [esi], 0
je 0x504d6d
mov edx, dword [ebx]
mov ecx, ebx
call dword [edx + 0x60]
mov edx, dword [eax + 8]
push esi
mov esi, 0x20
call fcn.00502b40
mov eax, 1
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 4
mov edx, str.BasePosition
mov edi, esi
call fcn.00502c40
test eax, eax
je 0x504b0a
cmp dword [esi], 0
je 0x504ae9
movss xmm0, dword [ebx + 0x40]
mov eax, dword [esi + 0x158]
movss dword [esp + 0x10], xmm0
movss xmm0, dword [ebx + 0x44]
mov ecx, dword [esp + 0x10]
movss dword [esp + 0x14], xmm0
movss xmm0, dword [ebx + 0x48]
mov edx, dword [esp + 0x14]
mov dword [eax], ecx
mov dword [eax + 4], edx
mov edx, dword [esp + 0x1c]
movss dword [esp + 0x18], xmm0
mov ecx, dword [esp + 0x18]
mov dword [eax + 8], ecx
mov dword [eax + 0xc], edx
mov eax, 1
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 4
mov edi, dword [ebx]
lea eax, [esp + 0x40]
mov ecx, esi
call fcn.00502aa0
push eax
mov ecx, ebx
call dword [edi + 0x20]
mov eax, 1
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 4
mov edx, str.BaseRotation
mov edi, esi
call fcn.00502c40
test eax, eax
je 0x504be6
cmp dword [esi], 0
je 0x504b54
lea eax, [esp + 0x10]
push eax
lea ecx, [ebx + 0x10]
call fcn.0043f160
mov ecx, dword [eax]
mov esi, dword [esi + 0x158]
mov dword [esi], ecx
mov edx, dword [eax + 4]
mov dword [esi + 4], edx
mov eax, dword [eax + 8]
mov dword [esi + 8], eax
mov eax, 1
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 4
movss xmm0, dword [ebx + 0x40]
mov esi, dword [esi + 0x158]
movss xmm1, dword [esi + 4]
movss xmm2, dword [esi + 8]
movss dword [esp + 0x30], xmm0
movss xmm0, dword [ebx + 0x44]
movss dword [esp + 0x34], xmm0
movss xmm0, dword [ebx + 0x48]
movss dword [esp + 0x38], xmm0
movss xmm0, dword [esi]
lea ecx, [esp + 0x30]
push ecx
lea edx, [esp + 0x14]
movss dword [esp + 0x14], xmm0
movss xmm0, dword [0x7389bc]
push edx
lea edi, [esp + 0x48]
lea esi, [esp + 0x68]
movss dword [esp + 0x1c], xmm1
movss dword [esp + 0x20], xmm2
movss dword [esp + 0x48], xmm0
movss dword [esp + 0x4c], xmm0
movss dword [esp + 0x50], xmm0
call fcn.0042e930
mov eax, dword [ebx]
lea ecx, [esp + 0x60]
push ecx
mov ecx, ebx
call dword [eax + 0x28]
mov eax, 1
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 4
mov edx, str.BaseWorldBBox
mov edi, esi
call fcn.00502c40
test eax, eax
je 0x504c26
cmp dword [esi], 0
je 0x504d6d
mov ecx, ebx
call fcn.0043f860
mov edx, dword [ebp + 8]
mov edi, dword [edx + 0x158]
mov esi, eax
mov ecx, 8
rep movsd dword es:[edi], dword [esi]
mov eax, 1
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 4
mov edx, str.BaseLocalBBox
mov edi, esi
call fcn.00502c40
test eax, eax
je 0x504c4d
cmp dword [esi], 0
je 0x504d6d
mov eax, dword [ebx]
lea ecx, [esp + 0x40]
push ecx
mov ecx, ebx
call dword [eax + 0x58]
jmp 0x504c06
mov edx, str.BasePermeable
mov edi, esi
call fcn.00502c40
test eax, eax
je 0x504c84
cmp dword [esi], 0
je 0x504d6d
mov eax, dword [ebx + 4]
mov ecx, dword [esi + 0x158]
and eax, 0x800
mov dword [ecx], eax
mov eax, 1
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 4
lea edx, [ebx + 8]
push edx
mov edx, str.BaseGUID
mov edi, esi
call fcn.00502700
test eax, eax
jne 0x504d6d
mov edx, str.BaseAttrs
call fcn.00502c40
test eax, eax
je 0x504cf0
cmp dword [esi], 0
je 0x504cc8
mov eax, dword [esi + 0x158]
mov ecx, dword [ebx + 4]
mov dword [eax], ecx
mov eax, 1
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 4
mov ecx, dword [ebp + 8]
mov esi, accept
mov edx, reloc.WSOCK32.dll_accept
call fcn.00502a80
push eax
mov ecx, ebx
call fcn.00451ad0
mov eax, 1
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 4
push accept
push reloc.WSOCK32.dll_accept
lea edi, [ebx + 0x70]
push str.BaseFlags
mov ecx, esi
call fcn.00502600
test eax, eax
jne 0x504d6d
mov edx, str.BaseZoneInfo
mov edi, esi
call fcn.00502c40
test eax, eax
je 0x504d7b
cmp dword [esi], 0
je 0x504d3c
movzx edx, word [ebx + 0x76]
mov eax, dword [esi + 0x158]
mov dword [eax], edx
mov eax, 1
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 4
mov ecx, dword [ebp + 8]
mov esi, accept
mov edx, reloc.WSOCK32.dll_accept
call fcn.00502a80
mov dword [esp + 0x2c], eax
and eax, 0xff
push eax
mov ecx, ebx
call fcn.0042b7c0
movzx cx, byte [esp + 0x2d]
push ecx
mov ecx, ebx
call fcn.0042b7f0
mov eax, 1
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 4
pop edi
pop esi
xor eax, eax
pop ebx
mov esp, ebp
pop ebp
ret 4