Function at 0x536080
Capabilities:
Packed with generic packer

Disassembly:
push edi
mov edi, eax
mov eax, 0x65
mov dword [edi + 0x28], 0x4f
call fcn.005af400
fld dword [0x679320]
push ecx
fstp dword [esp]
push 0
push 0
add eax, 0x64
push str.anim_idle
mov dword [edi + 0x68], eax
call fcn.00528b00
pop edi
ret
push ecx
push esi
mov esi, eax
cmp dword [esi + 0xb4], 0
push edi
jle 0x534ad3
call fcn.00532350
cmp dword [esi + 0xac], 0
jle 0x534aeb
mov dword [esi + 0xac], 0
call fcn.0052f050
mov eax, 4
mov dword [esi + 0x28], 0x55
call fcn.005af400
mov dword [esi + 0x130], eax
mov eax, 3
call fcn.005af400
fld dword [0x679798]
push ecx
fstp dword [esp]
push 0x14
push 3
push str.anim_RV_1
mov edi, esi
mov dword [esi + 0x80], eax
call fcn.00528b00
mov esi, dword [esi]
cmp byte [esi + 0x8c5], 0
jne 0x534b80
fldz
mov ecx, dword [0x6a9f00]
mov esi, dword [esi + 0x784]
fst dword [esp + 8]
fcomp dword [ecx + 0x1218]
fnstsw ax
test ah, 0x44
jnp 0x534b6c
fld dword [ecx + 0x1218]
push ecx
fstp dword [esp]
call fcn.005af410
fstp dword [esp + 0xc]
add esp, 4
fld dword [esp + 8]
push ecx
mov eax, 0x59
fstp dword [esp]
mov ecx, esi
call fcn.00515020
pop edi
pop esi
pop ecx
ret
push ecx
push esi
mov esi, eax
cmp dword [esi + 0xb4], 0
push edi
jle 0x534c83
call fcn.00532350
cmp dword [esi + 0xac], 0
jle 0x534c9b
mov dword [esi + 0xac], 0
call fcn.0052f050
mov eax, dword [esi + 0x12c]
test eax, eax
mov dword [esi + 0x28], 0x50
jne 0x534cbd
mov eax, 0x65
call fcn.005af400
add eax, 0x1c2
jmp 0x534ce7
cmp eax, 1
jne 0x534cd3
mov eax, 0x65
call fcn.005af400
add eax, 0x15e
jmp 0x534ce7
cmp eax, 2
jne 0x534ced
mov eax, 0x65
call fcn.005af400
add eax, 0x96
mov dword [esi + 0x114], eax
mov eax, dword [esi + 4]
push 0
call fcn.0040dc50
cmp eax, 4
mov dword [esi + 0x130], eax
ja case.default.0x534d02
jmp dword [eax*4 + 0x534da0]
mov eax, str.anim_spawn_1
jmp 0x534d30
mov eax, str.anim_spawn_2
jmp 0x534d30
mov eax, str.anim_spawn_3
jmp 0x534d30
mov eax, str.anim_spawn_4
jmp 0x534d30
mov eax, str.anim_spawn_5
jmp 0x534d30
mov eax, dword [esp + 8]
fld dword [0x679388]
push ecx
fstp dword [esp]
push 0x14
push 3
push eax
mov edi, esi
call fcn.00528b00
mov esi, dword [esi]
cmp byte [esi + 0x8c5], 0
jne 0x534d9a
fldz
mov ecx, dword [0x6a9f00]
mov esi, dword [esi + 0x784]
fst dword [esp + 8]
fcomp dword [ecx + 0x1218]
fnstsw ax
test ah, 0x44
jnp 0x534d86
fld dword [ecx + 0x1218]
push ecx
fstp dword [esp]
call fcn.005af410
fstp dword [esp + 0xc]
add esp, 4
fld dword [esp + 8]
push ecx
mov eax, 0x59
fstp dword [esp]
mov ecx, esi
call fcn.00515020
pop edi
pop esi
pop ecx
ret
sub esp, 0x18
push ebx
push esi
mov esi, eax
cmp dword [esi + 0xb4], 0
push edi
jle 0x534e46
call fcn.00532350
cmp dword [esi + 0xac], 0
jle 0x534e5e
mov dword [esi + 0xac], 0
call fcn.0052f050
mov eax, 0x3e9
mov dword [esi + 0x28], 0x51
call fcn.005af400
add eax, 0x157c
xor ebx, ebx
mov dword [esi + 0x138], eax
xor edi, edi
mov edi, edi
push esi
call fcn.00534f60
test al, al
je 0x534e91
mov dword [esp + ebx*4 + 0x14], edi
add ebx, 1
add edi, 1
cmp edi, 4
jl 0x534e80
test ebx, ebx
je 0x534f48
mov eax, ebx
call fcn.005af400
mov eax, dword [esp + eax*4 + 0x14]
cmp eax, 3
mov dword [esi + 0x130], eax
ja case.default.0x534eb7
jmp dword [eax*4 + 0x534f50]
mov eax, str.anim_stomp_1
jmp 0x534ede
mov eax, str.anim_stomp_2
jmp 0x534ede
mov eax, str.anim_stomp_3
jmp 0x534ede
mov eax, str.anim_stomp_4
jmp 0x534ede
mov eax, dword [esp + 0x10]
fld dword [0x679388]
push ecx
fstp dword [esp]
push 0x14
push 3
push eax
mov edi, esi
call fcn.00528b00
mov esi, dword [esi]
cmp byte [esi + 0x8c5], 0
jne 0x534f48
fldz
mov ecx, dword [0x6a9f00]
mov esi, dword [esi + 0x784]
fst dword [esp + 0x10]
fcomp dword [ecx + 0x1218]
fnstsw ax
test ah, 0x44
jnp 0x534f34
fld dword [ecx + 0x1218]
push ecx
fstp dword [esp]
call fcn.005af410
fstp dword [esp + 0x14]
add esp, 4
fld dword [esp + 0x10]
push ecx
mov eax, 0x59
fstp dword [esp]
mov ecx, esi
call fcn.00515020
pop edi
pop esi
pop ebx
add esp, 0x18
ret
push ecx
push esi
mov esi, eax
cmp dword [esi + 0xb4], 0
push edi
jle 0x5350d3
call fcn.00532350
cmp dword [esi + 0xac], 0
jle 0x5350eb
mov dword [esi + 0xac], 0
call fcn.0052f050
mov eax, 0x3e9
mov dword [esi + 0x28], 0x52
call fcn.005af400
add eax, 0xfa0
mov dword [esi + 0x134], eax
mov eax, 3
call fcn.005af400
fld dword [0x679388]
push ecx
fstp dword [esp]
push 0x14
push 3
push str.anim_bungee_1_enter
mov edi, esi
mov dword [esi + 0x80], eax
call fcn.00528b00
fldz
mov eax, dword [esi]
cmp byte [eax + 0x8c5], 0
jne 0x535187
mov ecx, dword [0x6a9f00]
fst dword [esp + 8]
fcomp dword [ecx + 0x1218]
mov edi, dword [eax + 0x784]
fnstsw ax
test ah, 0x44
jnp 0x535171
fld dword [ecx + 0x1218]
push ecx
fstp dword [esp]
call fcn.005af410
fstp dword [esp + 0xc]
add esp, 4
fld dword [esp + 8]
push ecx
mov eax, 0x59
fstp dword [esp]
mov ecx, edi
call fcn.00515020
fldz
mov esi, dword [esi]
cmp byte [esi + 0x8c5], 0
jne 0x5351dd
mov ecx, dword [0x6a9f00]
fst dword [esp + 8]
fcomp dword [ecx + 0x8f4]
mov esi, dword [esi + 0x784]
fnstsw ax
test ah, 0x44
jnp 0x5351c5
fld dword [ecx + 0x8f4]
push ecx
fstp dword [esp]
call fcn.005af410
fstp dword [esp + 0xc]
add esp, 4
fld dword [esp + 8]
push ecx
mov eax, 0x2c
fstp dword [esp]
mov ecx, esi
call fcn.00515020
pop edi
pop esi
pop ecx
ret
pop edi
fstp st(0)
pop esi
pop ecx
ret
sub esp, 8
push edi
mov edi, eax
mov eax, 0x3e9
mov dword [edi + 0x28], 0x56
call fcn.005af400
fld dword [0x679388]
push ecx
fstp dword [esp]
push 0x14
push 3
add eax, 0xfa0
push str.anim_head_enter
mov dword [edi + 0x13c], eax
call fcn.00528b00
mov edi, dword [edi]
cmp byte [edi + 0x8c5], 0
jne 0x53542e
fldz
mov ecx, dword [0x6a9f00]
mov edi, dword [edi + 0x784]
fst dword [esp + 8]
fcomp dword [ecx + 0x1218]
fnstsw ax
test ah, 0x44
jnp 0x53541a
fld dword [ecx + 0x1218]
push ecx
fstp dword [esp]
call fcn.005af410
fstp dword [esp + 0xc]
add esp, 4
fld dword [esp + 8]
push ecx
mov eax, 0x59
fstp dword [esp]
mov ecx, edi
call fcn.00515020
pop edi
add esp, 8
ret
sub esp, 8
push ebx
push esi
push edi
mov edi, eax
mov ecx, dword [edi]
mov eax, dword [edi + 0x140]
test eax, eax
mov edx, dword [ecx + 0x820]
mov edx, dword [edx + 8]
je 0x535484
movzx ecx, ax
cmp ecx, dword [edx + 8]
jae 0x535484
lea ecx, [ecx + ecx*4]
shl ecx, 5
add ecx, dword [edx]
cmp dword [ecx + 0x9c], eax
jne 0x535484
call fcn.004733f0
mov dword [edi + 0x140], 0
mov eax, 5
mov dword [edi + 0x28], 0x59
call fcn.005af400
mov dword [edi + 0x148], eax
mov eax, 2
call fcn.005af400
test eax, eax
sete al
mov byte [edi + 0x14c], al
mov eax, dword [edi + 0x148]
cmp eax, 4
ja case.default.0x5354bb
jmp dword [eax*4 + 0x535618]
mov eax, str.anim_head_attack_1
jmp 0x5354e9
mov eax, str.anim_head_attack_2
jmp 0x5354e9
mov eax, str.anim_head_attack_3
jmp 0x5354e9
mov eax, str.anim_head_attack_4
jmp 0x5354e9
mov eax, str.anim_head_attack_5
jmp 0x5354e9
mov eax, dword [esp + 0x10]
jmp 0x7b6f4f
push ecx
fld dword [0x679638]
push esi
push edi
push ecx
fstp dword [esp]
push 0
push 3
mov edi, eax
push str.anim_head_leave
mov dword [edi + 0x28], 0x5a
call fcn.00528b00
fld dword [0x679b50]
mov eax, dword [edi]
mov ecx, dword [eax + 0x820]
mov esi, dword [ecx]
push 0x50
push 0x61a80
sub esp, 8
fstp dword [esp + 4]
fld dword [0x679b54]
fstp dword [esp]
call fcn.00518a70
mov ecx, dword [edi]
mov edx, dword [ecx]
mov eax, dword [0x6a72d4]
mov edx, dword [edx + 0xd8]
push eax
call edx
mov eax, dword [edi]
cmp byte [eax + 0x8c5], 0
jne 0x536066
fldz
mov ecx, dword [0x6a9f00]
mov esi, dword [eax + 0x784]
fst dword [esp + 8]
fcomp dword [ecx + 0x1280]
fnstsw ax
test ah, 0x44
jnp 0x536052
fld dword [ecx + 0x1280]
push ecx
fstp dword [esp]
call fcn.005af410
fstp dword [esp + 0xc]
add esp, 4
fld dword [esp + 8]
push ecx
mov eax, 0x5b
fstp dword [esp]
mov ecx, esi
call fcn.00515020
mov ecx, edi
pop edi
pop esi
add esp, 4
jmp fcn.005366d0
sub esp, 0xc
push ebx
push ebp
push esi
push edi
mov edi, eax
mov ebp, dword [edi]
mov ecx, dword [edi + 0x118]
mov eax, dword [ebp + 0x820]
mov esi, dword [eax + 8]
xor edx, edx
cmp ecx, edx
jne 0x5360a6
mov dword [esp + 0x14], edx
jmp 0x5360d0
movzx eax, cx
cmp eax, dword [esi + 8]
jb 0x5360b4
mov dword [esp + 0x14], edx
jmp 0x5360d0
lea eax, [eax + eax*4]
shl eax, 5
add eax, dword [esi]
xor ebx, ebx
cmp dword [eax + 0x9c], ecx
setne bl
sub ebx, 1
and ebx, eax
mov dword [esp + 0x14], ebx
cmp dword [ebp + 0x7fc], 2
jne 0x536185
fld dword [0x67a2e0]
push ecx
mov ecx, dword [esp + 0x18]
fstp dword [esp]
call fcn.00473b70
test al, al
jne 0x53610b
fld dword [0x679648]
push ecx
fstp dword [esp]
call fcn.00473b70
test al, al
je 0x5366bd
cmp byte [ebp + 0x8c5], dl
jne 0x53615c
fldz
mov ecx, dword [0x6a9f00]
mov ebp, dword [ebp + 0x784]
fst dword [esp + 0x14]
fcomp dword [ecx + 0x824]
fnstsw ax
test ah, 0x44
jnp 0x536148
fld dword [ecx + 0x824]
push ecx
fstp dword [esp]
call fcn.005af410
fstp dword [esp + 0x18]
add esp, 4
fld dword [esp + 0x14]
push ecx
mov eax, 0x28
fstp dword [esp]
mov ecx, ebp
call fcn.00515020
mov edi, dword [edi + 4]
mov dword [edi + 0x5540], 0xc
mov dword [edi + 0x5544], 1
mov dword [edi + 0x5548], 4
pop edi
pop esi
pop ebp
pop ebx
add esp, 0xc
ret
mov eax, dword [edi + 0x144]
and eax, 0xffff
lea ebp, [eax + eax*4]
shl ebp, 5
add ebp, dword [esi]
mov ebx, edi
call fcn.00535c60
fld dword [0x679388]
cmp dword [edi + 0xb4], 0
jne 0x53621c
mov eax, dword [edi + 0x114]
test eax, eax
jle 0x5361c1
add eax, 0xffffffff
mov dword [edi + 0x114], eax
mov eax, dword [edi + 0x134]
test eax, eax
jle 0x5361d4
add eax, 0xffffffff
mov dword [edi + 0x134], eax
mov eax, dword [edi + 0x138]
test eax, eax
jle 0x5361e7
add eax, 0xffffffff
mov dword [edi + 0x138], eax
mov eax, dword [edi + 0x13c]
test eax, eax
jle 0x5361fa
add eax, 0xffffffff
mov dword [edi + 0x13c], eax
cmp dword [edi + 0xac], 0
jle 0x53620b
fld dword [0x679320]
jmp 0x53621e
fldz
fcomp dword [ebp + 8]
fnstsw ax
test ah, 0x44
jp 0x536221
fst dword [ebp + 8]
jmp 0x536221
fldz
fstp dword [ebp + 8]
mov eax, dword [edi + 0x28]
cmp eax, 0x4e
jne 0x536239
fstp st(0)
mov eax, edi
pop edi
pop esi
pop ebp
pop ebx
add esp, 0xc
jmp 0x534920
cmp eax, 0x4f
jne 0x536341
cmp dword [edi + 0xc8], 1
fstp st(0)
jne 0x53625e
push 0
mov eax, edi
call fcn.00533240
pop edi
pop esi
pop ebp
pop ebx
add esp, 0xc
ret
cmp dword [edi + 0x68], 0
jg 0x5366bd
mov eax, edi
call fcn.0052d710
cmp eax, dword [edi + 0x12c]
je 0x536290
mov dword [edi + 0x12c], eax
cmp eax, 1
mov eax, edi
jne 0x5362e1
pop edi
pop esi
pop ebp
pop ebx
add esp, 0xc
jmp 0x5350c0
cmp dword [edi + 0x138], 0
jne 0x5362a7
mov eax, edi
pop edi
pop esi
pop ebp
pop ebx
add esp, 0xc
jmp 0x534e30
cmp dword [edi + 0x134], 0
jne 0x5362fb
mov ecx, dword [edi]
xor eax, eax
cmp dword [ecx + 0x7f8], eax
sete al
lea eax, [eax + eax + 2]
call fcn.005af400
test eax, eax
jne 0x5362ed
mov eax, 0x3e9
call fcn.005af400
add eax, 0xfa0
mov dword [edi + 0x134], eax
mov eax, edi
pop edi
pop esi
pop ebp
pop ebx
add esp, 0xc
jmp 0x534ac0
mov eax, edi
pop edi
pop esi
pop ebp
pop ebx
add esp, 0xc
jmp 0x5350c0
cmp dword [edi + 0x13c], 0
jne 0x536312
mov eax, edi
pop edi
pop esi
pop ebp
pop ebx
add esp, 0xc
jmp 0x5353a0
cmp dword [edi + 0x114], 0
jne 0x536329
mov eax, edi
pop edi
pop esi
pop ebp
pop ebx
add esp, 0xc
jmp 0x534c70
mov eax, 0x65
call fcn.005af400
add eax, 0x64
mov dword [edi + 0x68], eax
pop edi
pop esi
pop ebp
pop ebx
add esp, 0xc
ret
cmp eax, 0x50
jne 0x536380
mov ebx, dword [esp + 0x14]
fstp st(0)
fld dword [0x679610]
push ecx
mov ecx, ebx
fstp dword [esp]
call fcn.00473b70
test al, al
je 0x536368
mov esi, edi
call fcn.00534dc0
cmp dword [ebx + 0x5c], 0
jle 0x5366bd
mov eax, edi
pop edi
pop esi
pop ebp
pop ebx
add esp, 0xc
jmp 0x534920
cmp eax, 0x51
jne 0x5363da
cmp dword [edi + 0x130], 2
fstp st(0)
fld dword [0x6793c0]
fstp dword [esp + 0x18]
jl 0x5363a4
fld dword [0x679fa4]
fstp dword [esp + 0x18]
mov esi, dword [esp + 0x14]
fld dword [esp + 0x18]
push ecx
mov ecx, esi
fstp dword [esp]
call fcn.00473b70
test al, al
je 0x5363c2
mov eax, edi
call fcn.00534ff0
cmp dword [esi + 0x5c], 0
jle 0x5366bd
mov eax, edi
pop edi
pop esi
pop ebp
pop ebx
add esp, 0xc
jmp 0x534920
cmp eax, 0x52
jne 0x53640a
fstp st(0)
push ecx
fld dword [0x664a5c]
mov ecx, dword [esp + 0x18]
fstp dword [esp]
call fcn.00473b70
test al, al
je 0x5366bd
push edi
call fcn.005351f0
pop edi
pop esi
pop ebp
pop ebx
add esp, 0xc
ret
cmp eax, 0x53
jne 0x53642e
mov eax, edi
fstp st(0)
call fcn.00535340
test al, al
je 0x5366bd
mov eax, edi
pop edi
pop esi
pop ebp
pop ebx
add esp, 0xc
jmp fcn.005352b0
cmp eax, 0x54
jne 0x536451
mov edx, dword [esp + 0x14]
fstp st(0)
cmp dword [edx + 0x5c], 0
jle 0x5366bd
mov eax, edi
pop edi
pop esi
pop ebp
pop ebx
add esp, 0xc
jmp 0x534920
cmp eax, 0x55
jne 0x53647f
mov esi, dword [esp + 0x14]
fstp st(0)
fld dword [str.ff_ff__f]
push ecx
mov ecx, esi
fstp dword [esp]
call fcn.00473b70
test al, al
je 0x5363c2
call fcn.00534b90
jmp 0x5363c2
cmp eax, 0x56
jne 0x536511
mov eax, edi
fstp st(0)
call fcn.0052d710
cmp eax, 2
mov ebx, dword [esp + 0x14]
jne 0x5364b8
fld dword [0x679660]
push ecx
mov ecx, ebx
fstp dword [esp]
call fcn.00473b70
test al, al
je 0x5364b8
push 1
mov eax, edi
call fcn.00536b00
fld dword [0x679fa4]
push ecx
mov ecx, ebx
fstp dword [esp]
call fcn.00473b70
test al, al
je 0x5364d9
mov eax, dword [edi]
mov esi, 0x5a
call fcn.00453630
cmp dword [ebx + 0x5c], 0
jle 0x5366bd
fld dword [0x679388]
push ecx
fstp dword [esp]
push 0
push 0
push str.anim_head_idle
mov dword [edi + 0x28], 0x57
call fcn.00528b00
mov dword [edi + 0x68], 0x1f4
pop edi
pop esi
pop ebp
pop ebx
add esp, 0xc
ret
cmp eax, 0x57
jne 0x536547
cmp dword [edi + 0xc8], 1
fstp st(0)
jne 0x53652f
mov eax, edi
pop edi
pop esi
pop ebp
pop ebx
add esp, 0xc
jmp 0x535fb0
cmp dword [edi + 0x68], 0
jne 0x5366bd
mov eax, edi
pop edi
pop esi
pop ebp
pop ebx
add esp, 0xc
jmp 0x535440
cmp eax, 0x59
jne 0x5365f0
mov esi, dword [esp + 0x14]
fstp st(0)
fld dword [0x679660]
push ecx
mov ecx, esi
fstp dword [esp]
call fcn.00473b70
test al, al
je 0x536572
mov eax, edi
call fcn.00535870
fld dword [0x67a0fc]
push ecx
mov ecx, esi
fstp dword [esp]
call fcn.00473b70
test al, al
je 0x53658e
mov eax, edi
call fcn.00535a70
cmp dword [esi + 0x5c], 0
jle 0x5366bd
fld dword [0x6795c4]
mov eax, dword [edi]
push ecx
mov ecx, dword [edi + 0x144]
fstp dword [esp]
push 0
push str.anim_idle
call fcn.00453cb0
mov esi, eax
mov eax, 0x14
call fcn.00473bf0
fld dword [0x679388]
push ecx
fstp dword [esp]
push 0
push 0
push str.anim_head_idle
mov dword [edi + 0x28], 0x58
call fcn.00528b00
jmp 0x7b6c13
cmp eax, 0x58
jne 0x536639
cmp dword [edi + 0xc8], 1
jne 0x53660e
fstp st(0)
mov eax, edi
pop edi
pop esi
pop ebp
pop ebx
add esp, 0xc
jmp 0x535fb0
cmp dword [edi + 0x68], 0
jne 0x5366bb
push ecx
fstp dword [esp]
push 0
push 3
push str.anim_head_leave
jmp 0x7b6d13
cmp eax, 0x5a
fstp st(0)
jne 0x5366bd
mov ebx, dword [esp + 0x14]
fld dword [0x679670]
push ecx
mov ecx, ebx
fstp dword [esp]
call fcn.00473b70
test al, al
je 0x53666a
mov esi, edi
mov dword [edi + 0xac], 0
call fcn.0052f050
fld dword [0x679770]
push ecx
mov ecx, ebx
fstp dword [esp]
call fcn.00473b70
test al, al
jne 0x536692
fld dword [0x679664]
push ecx
fstp dword [esp]
call fcn.00473b70
test al, al
je 0x53669e
mov eax, dword [edi]
mov esi, 0x28
call fcn.00453630
cmp dword [ebx + 0x5c], 0
jle 0x5366bd
push 0
mov eax, edi
call fcn.00536b00
mov eax, edi
pop edi
pop esi
pop ebp
pop ebx
add esp, 0xc
jmp 0x534920
fstp st(0)
pop edi
pop esi
pop ebp
pop ebx
add esp, 0xc
ret