Function at 0x5261e0
Capabilities:
Packed with generic packer

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
sub esp, 0xc
push ebx
push esi
push edi
mov edi, eax
call fcn.005324b0
test al, al
jne 0x52670f
mov ecx, edi
call fcn.0052bee0
mov ecx, dword [edi + 0x28]
cmp ecx, 0x33
jne 0x52624d
test al, al
jne 0x52624d
mov eax, dword [edi + 8]
cmp eax, 0x2bc
jle 0x52670f
cmp eax, 0x2d0
jg 0x52670f
fld dword [0x679798]
push ecx
fstp dword [esp]
push 0x14
push 3
push str.anim_jumpinpool
mov dword [edi + 0x28], 0x34
call fcn.00528b00
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
cmp ecx, 0x34
jne 0x5263db
mov edx, dword [edi]
fld dword [0x679598]
mov eax, dword [edx + 0x820]
mov esi, dword [eax + 8]
mov eax, dword [edi + 0x118]
and eax, 0xffff
lea ecx, [eax + eax*4]
shl ecx, 5
add ecx, dword [esi]
push ecx
fstp dword [esp]
mov dword [esp + 0x18], ecx
call fcn.00473b70
test al, al
je 0x526370
mov ecx, dword [edi + 0x20]
mov eax, dword [edi + 0xc]
add ecx, 1
add eax, 0x49
push ecx
mov ecx, dword [edi + 8]
mov dword [esp + 0x14], eax
fild dword [esp + 0x14]
sub esp, 8
sub ecx, 0x53
mov dword [esp + 0x1c], ecx
fstp dword [esp + 4]
mov ebx, 0x20
fild dword [esp + 0x1c]
mov eax, edx
fstp dword [esp]
call fcn.00453c30
fld dword [0x6795c8]
push 0x16
fstp dword [eax + 0x24]
fld dword [0x679664]
fstp dword [eax + 0x34]
mov eax, dword [edi + 0xc]
mov edx, dword [edi + 0x20]
mov ecx, dword [edi + 8]
add eax, 0x73
mov dword [esp + 0x14], eax
fild dword [esp + 0x14]
add edx, 1
push edx
mov edx, dword [edi]
mov eax, dword [edx + 0x820]
mov esi, dword [eax]
sub esp, 8
sub ecx, 0x2e
fstp dword [esp + 4]
mov dword [esp + 0x20], ecx
fild dword [esp + 0x20]
fstp dword [esp]
call fcn.00518a70
mov eax, dword [edi]
cmp byte [eax + 0x8c5], 0
jne 0x52636c
fldz
mov ecx, dword [0x6a9f00]
mov esi, dword [eax + 0x784]
fst dword [esp + 0x10]
fcomp dword [ecx + 0xac8]
fnstsw ax
test ah, 0x44
jnp 0x526358
fld dword [ecx + 0xac8]
push ecx
fstp dword [esp]
call fcn.005af410
fstp dword [esp + 0x14]
add esp, 4
fld dword [esp + 0x10]
push ecx
mov eax, 0x35
fstp dword [esp]
mov ecx, esi
call fcn.00515020
mov ecx, dword [esp + 0x14]
cmp dword [ecx + 0x5c], 0
jle 0x52670f
fld dword [edi + 0x2c]
xor ecx, ecx
fsub qword [0x679590]
push ecx
mov eax, 0xffffffe3
mov dword [edi + 0x9c], eax
fstp dword [edi + 0x2c]
mov edx, 0x46
fld dword [0x679388]
mov dword [edi + 0xa0], ecx
fstp dword [esp]
push ecx
push 1
mov esi, 0x73
mov dword [edi + 0xa4], edx
push str.anim_ride
mov dword [edi + 0x28], 0x35
mov byte [edi + 0xbd], 1
mov dword [edi + 0xa8], esi
call fcn.00528b00
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
cmp ecx, 0x35
jne 0x5264a7
cmp dword [edi + 8], 0xa
jg 0x52642f
fld dword [0x6796d0]
push 0
mov eax, edi
fstp dword [edi + 0x84]
mov dword [edi + 0x64], 2
mov dword [edi + 0x28], 0x33
call fcn.0052f6d0
fldz
push ecx
fstp dword [esp]
push 0
push 0
push str.anim_walkdolphin
call fcn.00528b00
mov eax, edi
call fcn.00524a70
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
cmp byte [edi + 0xba], 0
je 0x52670f
call fcn.00526190
test al, al
jne 0x52670f
push 2
push edi
call fcn.0052e780
test eax, eax
je 0x52670f
mov eax, dword [edi]
mov esi, 0x32
call fcn.00453630
mov eax, dword [edi]
mov esi, 0x34
call fcn.00453630
fld dword [0x6793c0]
push ecx
fstp dword [edi + 0x34]
fld dword [0x679678]
mov dword [edi + 0x28], 0x36
fstp dword [esp]
push 0
push 3
push str.anim_dolphinjump
mov dword [edi + 0x68], 0x78
call fcn.00528b00
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
cmp ecx, 0x36
jne 0x5266b4
mov ebx, dword [edi + 0x118]
fld dword [0x679678]
mov esi, dword [edi]
mov ecx, dword [esi + 0x820]
mov edx, dword [ecx + 8]
mov eax, dword [edi + 0x68]
and ebx, 0xffff
push 1
sub esp, 8
lea ebx, [ebx + ebx*4]
fstp dword [esp + 4]
fldz
shl ebx, 5
add ebx, dword [edx]
fstp dword [esp]
xor ecx, ecx
lea edx, [ecx + 0x78]
call fcn.00511bf0
fstp dword [edi + 0x84]
fld dword [0x6795cc]
add esp, 8
mov ecx, ebx
fstp dword [esp]
call fcn.00473b70
test al, al
je 0x526589
push 2
push edi
call fcn.0052e780
mov ebx, eax
test ebx, ebx
je 0x52670f
cmp dword [ebx + 0x24], 0x17
jne 0x52670f
mov eax, dword [edi]
mov esi, 0x30
call fcn.00453630
mov eax, dword [ebx + 0xc]
mov edx, dword [ebx + 8]
mov ecx, dword [edi + 0x20]
sub eax, 0x14
mov dword [esp + 0x14], eax
fild dword [esp + 0x14]
add edx, 0x3c
sub esp, 8
mov dword [esp + 0x1c], edx
mov edx, dword [edi]
fstp dword [esp + 4]
fild dword [esp + 0x1c]
add ecx, 1
lea eax, [esi - 0x13]
fstp dword [esp]
call fcn.00453c80
fild dword [ebx + 8]
mov dword [edi + 0x64], 7
fadd qword [0x6794e0]
fstp dword [edi + 0x2c]
fld dword [0x66541c]
jmp 0x52664f
fld dword [0x679bb0]
push ecx
fstp dword [esp]
call fcn.00473b70
test al, al
je 0x526637
mov ecx, dword [edi + 0xc]
mov eax, dword [edi + 0x20]
mov edx, dword [edi + 8]
add ecx, 0x49
add eax, 1
mov dword [esp + 0x14], ecx
fild dword [esp + 0x14]
push eax
sub esp, 8
sub edx, 0x3f
fstp dword [esp + 4]
mov dword [esp + 0x20], edx
fild dword [esp + 0x20]
mov ebx, 0x20
mov eax, esi
fstp dword [esp]
call fcn.00453c30
fld dword [0x6795c8]
sub esp, 8
fstp dword [eax + 0x24]
fld dword [0x679664]
fstp dword [eax + 0x34]
mov eax, dword [edi + 0xc]
mov edx, dword [edi + 8]
mov ecx, dword [edi + 0x20]
add eax, 0x73
mov dword [esp + 0x1c], eax
fild dword [esp + 0x1c]
sub edx, 0x1a
mov dword [esp + 0x1c], edx
mov edx, dword [edi]
fstp dword [esp + 4]
add ecx, 1
fild dword [esp + 0x1c]
lea eax, [ebx - 0xa]
fstp dword [esp]
call fcn.00453c80
mov eax, dword [edi]
lea esi, [ebx + 0x15]
call fcn.00453630
fldz
fstp dword [edi + 0x34]
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
cmp dword [ebx + 0x5c], 0
jle 0x52670f
fld dword [edi + 0x2c]
fsub qword [0x679ba8]
fstp dword [edi + 0x2c]
fldz
mov eax, 0x1e
fstp dword [edi + 0x84]
mov dword [edi + 0x9c], eax
mov edx, eax
xor ecx, ecx
mov dword [edi + 0xa0], ecx
mov dword [edi + 0xa4], edx
mov eax, 0x14
mov dword [edi + 0x8c], eax
mov esi, 0x73
mov edx, 0x2a
mov dword [edi + 0x90], ecx
mov dword [edi + 0x94], edx
mov dword [edi + 0xa8], esi
mov dword [edi + 0x98], esi
xor esi, esi
mov eax, edi
mov dword [edi + 0x28], 0x37
call fcn.0052f2e0
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
cmp ecx, 0x37
jne 0x52670f
jmp 0x7be5b0
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret