Function at 0x464820
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
mov ecx, dword [edi + 0x24]
cmp ecx, 0x11
jne 0x464854
mov eax, dword [edi + 0x3c]
cmp eax, 5
je 0x464d9f
cmp eax, 6
je 0x464d9f
cmp eax, 7
je 0x464d9f
cmp byte [edi + 0x142], 0
jne 0x464d9f
cmp dword [edi + 0x134], 2
je 0x464d9f
cmp byte [edi + 0x141], 0
jne 0x464d9f
mov eax, dword [edi + 0x90]
test eax, eax
je 0x464d9f
add eax, 0xffffffff
cmp ecx, 0xa
mov dword [edi + 0x90], eax
jne 0x4648c0
cmp eax, 0xf
jne 0x4648c0
mov eax, dword [edi + 0x1c]
mov ecx, dword [edi + 0xc]
imul eax, eax, 0x2710
mov edx, dword [edi + 8]
push 2
add eax, 0x4af38
push eax
add ecx, 0x1f
push ecx
add edx, 0x55
push edx
call fcn.0045eea0
mov eax, dword [edi + 0x24]
cmp eax, 0x2a
jne 0x464a2f
mov eax, dword [edi + 0x90]
cmp eax, 0x88
je 0x4648e8
cmp eax, 0x6c
je 0x4648e8
cmp eax, 0x50
je 0x4648e8
cmp eax, 0x34
jne 0x46490c
mov eax, dword [edi + 0x1c]
mov ecx, dword [edi + 0xc]
imul eax, eax, 0x2710
mov edx, dword [edi + 8]
push 0x3c
add eax, 0x4af38
push eax
add ecx, 0x28
push ecx
add edx, 0x28
push edx
call fcn.0045eea0
mov eax, dword [edi + 0x90]
cmp eax, 0x7e
je 0x464926
cmp eax, 0x62
je 0x464926
cmp eax, 0x46
je 0x464926
cmp eax, 0x2a
jne 0x464934
mov eax, dword [edi + 0x1c]
push 0
push eax
push 0
push edi
call fcn.00466e00
cmp dword [edi + 0x90], 0
jne 0x464d9f
mov esi, dword [edi]
mov ecx, dword [edi + 0x94]
mov eax, esi
call fcn.00453cb0
mov ecx, dword [edi + 0x98]
mov ebx, eax
mov eax, esi
call fcn.00453cb0
mov esi, eax
mov eax, dword [edi + 0x24]
jmp 0x464c3b
mov ecx, esi
call fcn.00473280
fld dword [ebx + 8]
fstp dword [esi + 8]
fld dword [ebx + 4]
fstp dword [esi + 4]
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
cmp eax, 0x28
jne 0x464a5d
mov eax, dword [edi + 0x90]
cmp eax, 0x12
je 0x464a52
cmp eax, 0x23
je 0x464a52
cmp eax, 0x33
je 0x464a52
cmp eax, 0x44
jne 0x464934
mov ecx, dword [edi + 0x1c]
push 0
push ecx
jmp 0x46492c
cmp eax, 0x2b
jne 0x464a8f
cmp dword [edi + 0x90], 0x13
jne 0x464934
mov edx, dword [edi + 0x1c]
push edx
push edi
xor ecx, ecx
call fcn.004675c0
test eax, eax
je 0x464934
mov ecx, dword [edi + 0x1c]
push 0
push ecx
push eax
jmp 0x46492e
cmp dword [edi + 0x90], 1
jne 0x464934
jmp 0x464b32
cmp eax, 0x1c
jne 0x464b8b
mov esi, dword [edi]
mov ecx, dword [edi + 0x9c]
mov eax, esi
call fcn.00453cb0
mov ecx, dword [edi + 0x98]
mov ebx, eax
mov eax, esi
call fcn.00453cb0
mov esi, 3
cmp dword [eax + 0x10], esi
jne 0x464b6d
mov ecx, dword [edi + 0x1c]
push 0
push ecx
push 0
push edi
call fcn.00466e00
cmp dword [ebx + 0x10], esi
jne 0x464d9f
mov edx, dword [edi + 0x1c]
push 1
push edx
push 0
push edi
call fcn.00466e00
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov ecx, dword [edi + 0x3c]
cmp ecx, 0x1e
jne 0x464ba8
mov eax, dword [edi + 0x1c]
push 1
push eax
push 0
push edi
call fcn.00466e00
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
jmp 0x7b0031
cmp eax, 0x1c
jne 0x464cc8
mov eax, dword [edi]
mov edi, dword [edi + 0x9c]
mov ecx, dword [eax + 0x820]
mov edx, dword [ecx + 8]
and edi, 0xffff
lea edi, [edi + edi*4]
shl edi, 5
add edi, dword [edx]
cmp dword [esi + 0x5c], 0
jle 0x464c90
push 0x14
push esi
call fcn.00473310
push str.anim_head_idle
mov ecx, esi
mov dword [esi + 0x10], 0
call fcn.00473280
fld dword [ebx + 8]
fstp dword [esi + 8]
fld dword [ebx + 4]
fstp dword [esi + 4]
cmp dword [edi + 0x5c], 0
jle 0x464d9f
push 0x14
push edi
call fcn.00473310
push str.anim_splitpea_idle
mov ecx, edi
mov dword [edi + 0x10], 0
call fcn.00473280
fld dword [ebx + 8]
fstp dword [edi + 8]
fld dword [ebx + 4]
fstp dword [edi + 4]
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
cmp dword [edi + 0x3c], 0x20
jne 0x464d15
cmp dword [ebx + 0x5c], 0
jle 0x464d95
fldz
push ecx
fstp dword [esp]
mov ecx, 0x14
push 0
push str.anim_idlehigh
mov eax, edi
call fcn.0045fd90
mov eax, dword [ebx + 0xc]
fld dword [eax + 8]
fstp dword [ebx + 8]
mov eax, dword [edi]
call fcn.004537d0
test al, al
je 0x464d9f
fldz
fstp dword [ebx + 8]
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
test esi, esi
je 0x464d38
cmp dword [esi + 0x5c], 0
jle 0x464d95
push 0x14
push esi
call fcn.00473310
mov dword [esi + 0x10], 0
push str.anim_head_idle
jmp 0x464a15
cmp eax, 0x2f
jne 0x464d75
cmp dword [ebx + 0x5c], 0
jle 0x464d95
mov dword [edi + 0x3c], 0x23
mov dword [edi + 0x54], 0xbb8
mov ecx, dword [ebx + 0xc]
fld dword [ecx + 8]
push ecx
fstp dword [esp]
push 0
push str.anim_unarmed_idle
mov eax, 0x14
mov esi, ebx
call fcn.00473bf0
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
test ebx, ebx
je 0x464d95
cmp dword [ebx + 0x5c], 0
jle 0x464d95
mov edx, dword [ebx + 0xc]
fld dword [edx + 8]
push ecx
fstp dword [esp]
call fcn.00468280
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov dword [edi + 0x90], 1
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret