Function at 0x4526e0
Capabilities:
Get process heap flags
Get process heap force flags

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
push 0xffffffffffffffff
push 0x4cb43a
mov eax, dword fs:[0]
push eax
sub esp, 0x98
push ebx
push esi
push edi
mov eax, dword [0x5920a4]
xor eax, esp
push eax
lea eax, [esp + 0xa8]
mov dword fs:[0], eax
mov edi, ecx
call fcn.0045ec60
push str.NOCLASS
lea ecx, [esp + 0x18]
call fcn.0044be60
xor esi, esi
push str.class
lea ecx, [esp + 0x44]
mov dword [esp + 0xb4], esi
call fcn.0044be60
lea eax, [esp + 0x40]
push eax
lea eax, [esp + 0x60]
xor ebx, ebx
push eax
inc ebx
push edi
lea ecx, [esp + 0x20]
mov byte [esp + 0xbc], bl
call fcn.0044e9e0
push 0xffffffffffffffff
push esi
push eax
lea ecx, [edi + 0x40]
mov byte [esp + 0xbc], 2
call fcn.00448ee0
push esi
push ebx
lea ecx, [esp + 0x64]
call fcn.00448860
push esi
push ebx
lea ecx, [esp + 0x48]
call fcn.00448860
or dword [esp + 0xb0], 0xffffffff
push esi
push ebx
lea ecx, [esp + 0x1c]
call fcn.00448860
push str.wander
lea ecx, [esp + 0x44]
call fcn.0044be60
push str.baseBehavior
lea ecx, [esp + 0x18]
mov dword [esp + 0xb4], 3
call fcn.0044be60
lea eax, [esp + 0x14]
push eax
lea eax, [esp + 0x60]
push eax
push edi
lea ecx, [esp + 0x4c]
mov byte [esp + 0xbc], 4
call fcn.0044e9e0
push 0xffffffffffffffff
push esi
push eax
lea ecx, [edi + 0x5c]
mov byte [esp + 0xbc], 5
call fcn.00448ee0
push esi
push ebx
lea ecx, [esp + 0x64]
call fcn.00448860
push esi
push ebx
lea ecx, [esp + 0x1c]
call fcn.00448860
or dword [esp + 0xb0], 0xffffffff
push esi
push ebx
lea ecx, [esp + 0x48]
call fcn.00448860
push str.maxSpeedX
lea ecx, [esp + 0x18]
call fcn.0044be60
mov dword [esp + 0xb0], 6
fld dword [0x566b50]
push ecx
push ecx
fstp dword [esp + 4]
lea eax, [esp + 0x38]
fld dword [0x566ae0]
fstp dword [esp]
call fcn.004677c0
push eax
lea ecx, [esp + 0x18]
lea esi, [esp + 0x3c]
mov edx, edi
call fcn.00455d50
mov ecx, dword [eax]
mov dword [edi + 0x78], ecx
mov eax, dword [eax + 4]
or dword [esp + 0xb0], 0xffffffff
push 0
push ebx
lea ecx, [esp + 0x1c]
mov dword [edi + 0x7c], eax
call fcn.00448860
push str.maxSpeedY
lea ecx, [esp + 0x18]
call fcn.0044be60
mov dword [esp + 0xb0], 7
fld dword [0x566b50]
push ecx
push ecx
fstp dword [esp + 4]
lea eax, [esp + 0x40]
fld dword [0x566ae0]
fstp dword [esp]
call fcn.004677c0
push eax
lea ecx, [esp + 0x18]
lea esi, [esp + 0x34]
mov edx, edi
call fcn.00455d50
mov ecx, dword [eax]
mov dword [edi + 0x80], ecx
mov eax, dword [eax + 4]
or dword [esp + 0xb0], 0xffffffff
push 0
push ebx
lea ecx, [esp + 0x1c]
mov dword [edi + 0x84], eax
call fcn.00448860
push str.minSpeedX
lea ecx, [esp + 0x18]
call fcn.0044be60
mov dword [esp + 0xb0], 8
fldz
push ecx
push ecx
fst dword [esp + 4]
lea eax, [esp + 0x40]
fstp dword [esp]
call fcn.004677c0
push eax
lea ecx, [esp + 0x18]
lea esi, [esp + 0x34]
mov edx, edi
call fcn.00455d50
mov ecx, dword [eax]
mov dword [edi + 0x88], ecx
mov eax, dword [eax + 4]
or dword [esp + 0xb0], 0xffffffff
push 0
push ebx
lea ecx, [esp + 0x1c]
mov dword [edi + 0x8c], eax
call fcn.00448860
push str.minSpeedY
lea ecx, [esp + 0x18]
call fcn.0044be60
mov dword [esp + 0xb0], 9
fldz
push ecx
push ecx
fst dword [esp + 4]
lea eax, [esp + 0x40]
fstp dword [esp]
call fcn.004677c0
push eax
lea ecx, [esp + 0x18]
lea esi, [esp + 0x34]
mov edx, edi
call fcn.00455d50
mov ecx, dword [eax]
mov dword [edi + 0x90], ecx
mov eax, dword [eax + 4]
push 0
or esi, 0xffffffff
push ebx
lea ecx, [esp + 0x1c]
mov dword [edi + 0x94], eax
mov dword [esp + 0xb8], esi
call fcn.00448860
push str.sightDist
lea ecx, [esp + 0x18]
call fcn.0044be60
mov dword [esp + 0xb0], 0xa
fld dword [0x566b50]
push ecx
lea eax, [esp + 0x18]
fstp dword [esp]
push eax
mov edx, edi
call fcn.00453a50
fstp dword [edi + 0x98]
push 0
push ebx
lea ecx, [esp + 0x1c]
mov dword [esp + 0xb8], esi
call fcn.00448860
push str.sightAngle
lea ecx, [esp + 0x18]
call fcn.0044be60
mov dword [esp + 0xb0], 0xb
fld dword [0x566b1c]
push ecx
lea eax, [esp + 0x18]
fstp dword [esp]
push eax
mov edx, edi
call fcn.00453a50
fstp dword [esp + 0x30]
push 0
push ebx
lea ecx, [esp + 0x1c]
mov dword [esp + 0xb8], esi
call fcn.00448860
fld dword [0x5ac6a8]
fmul dword [esp + 0x30]
fstp dword [esp + 0x30]
fld dword [esp + 0x30]
call fcn.004c4150
fstp dword [esp + 0x30]
fld dword [esp + 0x30]
push str.accelRate
lea ecx, [esp + 0x18]
fstp dword [edi + 0x9c]
call fcn.0044be60
mov dword [esp + 0xb0], 0xc
fld dword [0x566b4c]
push ecx
lea eax, [esp + 0x18]
fstp dword [esp]
push eax
mov edx, edi
call fcn.00453a50
fstp dword [edi + 0xa0]
mov dword [esp + 0xb0], esi
push 0
push ebx
lea ecx, [esp + 0x1c]
call fcn.00448860
push str.rotRate
lea ecx, [esp + 0x18]
call fcn.0044be60
mov dword [esp + 0xb0], 0xd
fld dword [0x54ddb4]
push ecx
lea eax, [esp + 0x18]
fstp dword [esp]
push eax
mov edx, edi
call fcn.00453a50
fstp dword [esp + 0x30]
push 0
push ebx
lea ecx, [esp + 0x1c]
mov dword [esp + 0xb8], esi
call fcn.00448860
fld dword [0x5ac6a8]
fmul dword [esp + 0x30]
push str.dragRate
lea ecx, [esp + 0x18]
fstp dword [edi + 0xa4]
call fcn.0044be60
mov dword [esp + 0xb0], 0xe
fld dword [0x566b48]
push ecx
lea eax, [esp + 0x18]
fstp dword [esp]
push eax
mov edx, edi
call fcn.00453a50
fstp dword [edi + 0xa8]
push 0
push ebx
lea ecx, [esp + 0x1c]
mov dword [esp + 0xb8], esi
call fcn.00448860
push str.fluidDrag
lea ecx, [esp + 0x18]
call fcn.0044be60
mov dword [esp + 0xb0], 0xf
fld dword [0x56673c]
push ecx
lea eax, [esp + 0x18]
fstp dword [esp]
push eax
mov edx, edi
call fcn.00453a50
fstp dword [edi + 0xac]
push 0
push ebx
lea ecx, [esp + 0x1c]
mov dword [esp + 0xb8], esi
call fcn.00448860
push str.wanderMoveChangeFreq
lea ecx, [esp + 0x18]
call fcn.0044be60
mov dword [esp + 0xb0], 0x10
fld dword [0x54de40]
push ecx
push ecx
fstp dword [esp + 4]
lea eax, [esp + 0x40]
fld dword [0x54a334]
fstp dword [esp]
call fcn.004677c0
push eax
lea ecx, [esp + 0x18]
lea esi, [esp + 0x34]
mov edx, edi
call fcn.00455d50
mov ecx, dword [eax]
mov dword [edi + 0xb0], ecx
mov eax, dword [eax + 4]
or dword [esp + 0xb0], 0xffffffff
push 0
push ebx
lea ecx, [esp + 0x1c]
mov dword [edi + 0xb4], eax
call fcn.00448860
push str.wanderStateChangeFreq
lea ecx, [esp + 0x18]
call fcn.0044be60
mov dword [esp + 0xb0], 0x11
fld dword [0x54de60]
push ecx
push ecx
fstp dword [esp + 4]
lea eax, [esp + 0x40]
fld dword [0x54de14]
fstp dword [esp]
call fcn.004677c0
push eax
lea ecx, [esp + 0x18]
lea esi, [esp + 0x34]
mov edx, edi
call fcn.00455d50
mov ecx, dword [eax]
mov dword [edi + 0xb8], ecx
mov eax, dword [eax + 4]
or dword [esp + 0xb0], 0xffffffff
push 0
push ebx
lea ecx, [esp + 0x1c]
mov dword [edi + 0xbc], eax
call fcn.00448860
push str.chaseMoveChangeFreq
lea ecx, [esp + 0x18]
call fcn.0044be60
mov dword [esp + 0xb0], 0x12
fld dword [0x54ddb0]
push ecx
push ecx
fstp dword [esp + 4]
lea eax, [esp + 0x40]
fld dword [0x566880]
fstp dword [esp]
call fcn.004677c0
push eax
lea ecx, [esp + 0x18]
lea esi, [esp + 0x34]
mov edx, edi
call fcn.00455d50
mov ecx, dword [eax]
mov dword [edi + 0xc0], ecx
mov eax, dword [eax + 4]
or dword [esp + 0xb0], 0xffffffff
push 0
push ebx
lea ecx, [esp + 0x1c]
mov dword [edi + 0xc4], eax
call fcn.00448860
push str.chaseStateChangeFreq
lea ecx, [esp + 0x18]
call fcn.0044be60
mov dword [esp + 0xb0], 0x13
fld dword [0x566858]
push ecx
push ecx
fstp dword [esp + 4]
lea eax, [esp + 0x40]
fld dword [0x54de14]
fstp dword [esp]
call fcn.004677c0
push eax
lea ecx, [esp + 0x18]
lea esi, [esp + 0x34]
mov edx, edi
call fcn.00455d50
mov ecx, dword [eax]
mov dword [edi + 0xc8], ecx
mov eax, dword [eax + 4]
or dword [esp + 0xb0], 0xffffffff
push 0
push ebx
lea ecx, [esp + 0x1c]
mov dword [edi + 0xcc], eax
call fcn.00448860
push str.runMoveChangeFreq
lea ecx, [esp + 0x18]
call fcn.0044be60
mov dword [esp + 0xb0], 0x14
fld dword [0x54dda0]
push ecx
push ecx
fstp dword [esp + 4]
lea eax, [esp + 0x40]
fld dword [0x54ddb0]
fstp dword [esp]
call fcn.004677c0
push eax
lea ecx, [esp + 0x18]
lea esi, [esp + 0x34]
mov edx, edi
call fcn.00455d50
mov ecx, dword [eax]
mov dword [edi + 0xd0], ecx
mov eax, dword [eax + 4]
or dword [esp + 0xb0], 0xffffffff
push 0
push ebx
lea ecx, [esp + 0x1c]
mov dword [edi + 0xd4], eax
call fcn.00448860
push str.runStateChangeFreq
lea ecx, [esp + 0x18]
call fcn.0044be60
mov dword [esp + 0xb0], 0x15
fld dword [0x54de14]
push ecx
push ecx
fstp dword [esp + 4]
lea eax, [esp + 0x40]
fld1
fstp dword [esp]
call fcn.004677c0
push eax
lea ecx, [esp + 0x18]
lea esi, [esp + 0x34]
mov edx, edi
call fcn.00455d50
mov ecx, dword [eax]
mov dword [edi + 0xd8], ecx
mov eax, dword [eax + 4]
push 0
or esi, 0xffffffff
push ebx
lea ecx, [esp + 0x1c]
mov dword [edi + 0xdc], eax
mov dword [esp + 0xb8], esi
call fcn.00448860
push str.sightCheckFreq
lea ecx, [esp + 0x18]
call fcn.0044be60
mov dword [esp + 0xb0], 0x16
fld dword [0x54ddd4]
push ecx
lea eax, [esp + 0x18]
fstp dword [esp]
push eax
mov edx, edi
call fcn.00453a50
fstp dword [edi + 0xe0]
push 0
push ebx
lea ecx, [esp + 0x1c]
mov dword [esp + 0xb8], esi
call fcn.00448860
push str.schoolSize
lea ecx, [esp + 0x18]
call fcn.0044be60
lea eax, [esp + 0x30]
push eax
lea eax, [esp + 0x3c]
mov dword [esp + 0xb4], 0x17
push eax
lea ecx, [esp + 0x1c]
mov edx, edi
mov dword [esp + 0x38], ebx
mov dword [esp + 0x3c], ebx
call fcn.0046c1e0
mov ecx, dword [eax]
mov dword [edi + 0xe4], ecx
mov eax, dword [eax + 4]
push 0
push ebx
lea ecx, [esp + 0x1c]
mov dword [edi + 0xe8], eax
mov dword [esp + 0xb8], esi
call fcn.00448860
push str.schoolSeparationDist
lea ecx, [esp + 0x18]
call fcn.0044be60
mov dword [esp + 0xb0], 0x18
fld dword [0x566b44]
push ecx
lea eax, [esp + 0x18]
fstp dword [esp]
push eax
mov edx, edi
call fcn.00453a50
fstp dword [edi + 0xec]
push 0
push ebx
lea ecx, [esp + 0x1c]
mov dword [esp + 0xb8], esi
call fcn.00448860
push str.schoolNeighborDist
lea ecx, [esp + 0x18]
call fcn.0044be60
mov dword [esp + 0xb0], 0x19
fld dword [0x566b50]
push ecx
lea eax, [esp + 0x18]
fstp dword [esp]
push eax
mov edx, edi
call fcn.00453a50
fstp dword [edi + 0xf0]
push 0
push ebx
lea ecx, [esp + 0x1c]
mov dword [esp + 0xb8], esi
call fcn.00448860
push str.schoolSeparationFactor
lea ecx, [esp + 0x18]
call fcn.0044be60
mov dword [esp + 0xb0], 0x1a
fld dword [0x566b10]
push ecx
lea eax, [esp + 0x18]
fstp dword [esp]
push eax
mov edx, edi
call fcn.00453a50
fstp dword [edi + 0xf4]
push 0
push ebx
lea ecx, [esp + 0x1c]
mov dword [esp + 0xb8], esi
call fcn.00448860
push str.schoolCohesionFactor
lea ecx, [esp + 0x18]
call fcn.0044be60
mov dword [esp + 0xb0], 0x1b
fld dword [0x54ddb0]
push ecx
lea eax, [esp + 0x18]
fstp dword [esp]
push eax
mov edx, edi
call fcn.00453a50
fstp dword [edi + 0xfc]
push 0
push ebx
lea ecx, [esp + 0x1c]
mov dword [esp + 0xb8], esi
call fcn.00448860
push str.schoolAlignmentFactor
lea ecx, [esp + 0x18]
call fcn.0044be60
mov dword [esp + 0xb0], 0x1c
fld dword [0x566b40]
push ecx
lea eax, [esp + 0x18]
fstp dword [esp]
push eax
mov edx, edi
call fcn.00453a50
fstp dword [edi + 0xf8]
push 0
push ebx
lea ecx, [esp + 0x1c]
mov dword [esp + 0xb8], esi
call fcn.00448860
push str.schoolGoalFactor
lea ecx, [esp + 0x18]
call fcn.0044be60
mov dword [esp + 0xb0], 0x1d
fld dword [0x54ddb0]
push ecx
lea eax, [esp + 0x18]
fstp dword [esp]
push eax
mov edx, edi
call fcn.00453a50
fstp dword [edi + 0x100]
push 0
push ebx
lea ecx, [esp + 0x1c]
mov dword [esp + 0xb8], esi
call fcn.00448860
push str.schoolFleeFactor
lea ecx, [esp + 0x18]
call fcn.0044be60
mov dword [esp + 0xb0], 0x1e
fld dword [0x54a334]
push ecx
lea eax, [esp + 0x18]
fstp dword [esp]
push eax
mov edx, edi
call fcn.00453a50
fstp dword [edi + 0x104]
push 0
push ebx
lea ecx, [esp + 0x1c]
mov dword [esp + 0xb8], esi
call fcn.00448860
push str.schoolChaseMult
lea ecx, [esp + 0x18]
call fcn.0044be60
mov dword [esp + 0xb0], 0x1f
fld1
push ecx
fstp dword [esp]
lea eax, [esp + 0x18]
push eax
mov edx, edi
call fcn.00453a50
fstp dword [edi + 0x108]
mov dword [esp + 0xb0], esi
push 0
push ebx
lea ecx, [esp + 0x1c]
call fcn.00448860
push str.schoolMoveChangeFreq
lea ecx, [esp + 0x8c]
call fcn.0044be60
mov dword [esp + 0xb0], 0x20
fld dword [0x54de40]
push ecx
push ecx
fstp dword [esp + 4]
lea eax, [esp + 0x88]
fld dword [0x54dda0]
fstp dword [esp]
call fcn.004677c0
push eax
lea ecx, [esp + 0x8c]
lea esi, [esp + 0x7c]
mov edx, edi
call fcn.00455d50
mov ecx, dword [eax]
mov dword [edi + 0x10c], ecx
mov eax, dword [eax + 4]
push 0
push ebx
lea ecx, [esp + 0x90]
mov dword [edi + 0x110], eax
call fcn.00448860
mov ecx, dword [esp + 0xa8]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret