Function at 0x4568c0
Capabilities:
Read file on windows

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x52644a
mov eax, dword fs:[0]
push eax
sub esp, 0x228
mov eax, dword [0x5754c0]
xor eax, ebp
mov dword [ebp - 0x10], eax
push ebx
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov edi, ecx
mov dword [ebp - 0x1c0], edi
mov esi, dword [ebp + 0xc]
mov ecx, 0x5776ac
push str.PumaAnim::LoadCompressed
call fcn.00443f40
push esi
mov ecx, 0x5776ac
call fcn.00443f40
test esi, esi
jne 0x456a06
push 0x58
lea eax, [ebp - 0x234]
push esi
push eax
call fcn.004d3200
lea eax, [ebp - 0x90]
mov dword [ebp - 0x234], 0x58
mov dword [ebp - 0x218], eax
add esp, 0xc
mov eax, dword [0x5778a8]
mov byte [ebp - 0x90], 0
mov dword [ebp - 0x208], 0x52fa04
mov dword [ebp - 0x214], 0x80
mov dword [ebp - 0x228], str.PUMA_ANC_files
mov eax, dword [eax + 0x2a3cc]
mov dword [ebp - 0x230], eax
lea eax, [ebp - 0x234]
push eax
mov dword [ebp - 0x200], 8
call dword [sym.imp.COMDLG32.dll_GetOpenFileNameA]
test eax, eax
je 0x456f84
lea esi, [ebp - 0x90]
mov ecx, esi
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x4569a3
sub ecx, edx
test ecx, ecx
jle 0x456f84
xor eax, eax
nop word [eax + eax]
cmp byte [ebp + eax - 0x90], 0x2e
je 0x456b4a
inc eax
cmp eax, ecx
jl 0x4569c0
lea eax, [ebp - 0x90]
push eax
lea eax, [ebp - 0x190]
push str._s.anc
push eax
call fcn.00448430
lea eax, [ebp - 0x190]
push eax
lea eax, [ebp - 0x90]
push 0x52ebe0
push eax
call fcn.00455aa0
add esp, 0x18
push 0x52fa3c
push esi
call fcn.004fb479
mov ebx, eax
add esp, 8
mov dword [ebp - 0x1d0], ebx
test ebx, ebx
je 0x456f84
add edi, 0x150
mov ecx, edi
mov dword [ebp - 0x1c4], edi
call fcn.00449da0
mov esi, eax
test esi, esi
je 0x456a61
nop dword [eax]
push esi
mov ecx, edi
call fcn.00449f90
test esi, esi
je 0x456a54
mov eax, dword [esi]
mov ecx, esi
push 1
call dword [eax]
mov ecx, edi
call fcn.00449da0
mov esi, eax
test esi, esi
jne 0x456a40
mov esi, dword [ebp - 0x1c0]
mov ecx, dword [0x5778ac]
push dword [esi + 0x108]
call fcn.0045e6c0
push ebx
push 2
lea eax, [ebp - 0x1b4]
mov dword [ebp - 0x1b4], 0
push 1
push eax
call fcn.004fc0a0
movsx eax, word [ebp - 0x1b4]
push ebx
push 4
mov dword [esi + 0x160], eax
lea eax, [ebp - 0x1bc]
push 1
push eax
call fcn.004fc0a0
mov eax, dword [ebp - 0x1bc]
add eax, eax
push eax
call fcn.004b236e
add esp, 0x24
mov dword [ebp - 0x1d4], eax
cmp dword [ebp - 0x1bc], 0
jle 0x456b03
mov esi, eax
xor edi, edi
push ebx
push 1
push 1
push esi
call fcn.004fc0a0
push ebx
push 1
lea eax, [esi + 1]
push 1
push eax
call fcn.004fc0a0
inc edi
add esp, 0x20
add esi, 2
cmp edi, dword [ebp - 0x1bc]
jl 0x456ad5
mov edi, dword [ebp - 0x1c4]
xor esi, esi
xor eax, eax
mov dword [ebp - 0x1c8], esi
cmp ax, word [ebp - 0x1b4]
jge 0x456f61
nop word [eax + eax]
push 0x164
call fcn.004b2330
add esp, 4
mov dword [ebp - 0x1d8], eax
mov dword [ebp - 4], 0
test eax, eax
je 0x456b6a
push esi
mov ecx, eax
call fcn.00455bb0
mov esi, eax
jmp 0x456b6c
cmp eax, ecx
jge 0x4569d3
cmp eax, 0x80
jae 0x456fa2
mov byte [ebp + eax - 0x90], 0
jmp 0x4569d3
xor esi, esi
mov dword [ebp - 4], 0xffffffff
mov ecx, edi
test esi, esi
jne 0x456bae
call fcn.00449da0
mov esi, eax
test esi, esi
je 0x456c75
push esi
mov ecx, edi
call fcn.00449f90
test esi, esi
je 0x456b9c
mov eax, dword [esi]
mov ecx, esi
push 1
call dword [eax]
mov ecx, edi
call fcn.00449da0
mov esi, eax
test esi, esi
jne 0x456b88
jmp 0x456c75
push esi
call fcn.00449be0
push ebx
push 0xc
lea eax, [esi + 0x11c]
push 1
push eax
call fcn.004fc0a0
push ebx
push 0xc
lea eax, [esi + 0x110]
push 1
push eax
call fcn.004fc0a0
push ebx
push 0xc
lea eax, [ebp - 0x1a8]
push 1
push eax
call fcn.004fc0a0
push ebx
push 0xc
lea eax, [ebp - 0x19c]
push 1
push eax
call fcn.004fc0a0
mov eax, dword [ebp - 0x1bc]
add esp, 0x40
mov dword [esi + 0x108], eax
push 0x224
call fcn.004b2330
add esp, 4
mov dword [ebp - 0x1dc], eax
mov dword [ebp - 4], 1
test eax, eax
je 0x456c40
mov ecx, dword [esi + 0x108]
push 0x152
lea ecx, [ecx + ecx*8]
shl ecx, 2
push ecx
mov ecx, eax
call fcn.0045e3d0
jmp 0x456c42
xor eax, eax
mov dword [esi + 0x10c], eax
mov ecx, dword [0x5778ac]
push eax
mov dword [ebp - 4], 0xffffffff
call fcn.0045e6b0
mov eax, dword [esi + 0x10c]
test eax, eax
jne 0x456c95
push esi
mov ecx, edi
call fcn.00449f90
mov eax, dword [esi]
mov ecx, esi
push 1
call dword [eax]
mov ecx, dword [ebp - 0x1c0]
mov eax, dword [ebp - 0x1c8]
mov dword [ecx + 0x160], eax
mov eax, dword [ebp - 0x1b4]
movsx esi, ax
jmp 0x456f51
cmp dword [eax + 0x108], 0
jne 0x456cc8
push esi
mov ecx, edi
call fcn.00449f90
mov eax, dword [esi]
mov ecx, esi
push 1
call dword [eax]
mov ecx, dword [ebp - 0x1c0]
mov eax, dword [ebp - 0x1b4]
movsx esi, ax
mov dword [ecx + 0x160], esi
jmp 0x456f51
mov ecx, dword [0x5778ac]
push eax
call fcn.0045e760
mov edx, dword [esi + 0x108]
mov dword [ebp - 0x1cc], eax
mov dword [ebp - 0x1b8], 0
test edx, edx
jle 0x456dbd
mov edi, dword [ebp - 0x1d0]
lea ebx, [eax + 0xc]
nop dword [eax + eax]
push edi
push 1
lea eax, [ebp - 0x1a9]
push 1
push eax
call fcn.004fc0a0
movsx eax, byte [ebp - 0x1a9]
push edi
push 1
push 1
movd xmm0, eax
lea eax, [ebp - 0x1a9]
cvtdq2ps xmm0, xmm0
push eax
divss xmm0, dword [0x52fa7c]
movss dword [ebx], xmm0
call fcn.004fc0a0
movsx eax, byte [ebp - 0x1a9]
push edi
push 1
push 1
movd xmm0, eax
lea eax, [ebp - 0x1a9]
cvtdq2ps xmm0, xmm0
push eax
divss xmm0, dword [0x52fa7c]
movss dword [ebx + 4], xmm0
call fcn.004fc0a0
movsx eax, byte [ebp - 0x1a9]
add esp, 0x30
movd xmm0, eax
cvtdq2ps xmm0, xmm0
push ebx
push ebx
divss xmm0, dword [0x52fa7c]
movss dword [ebx + 8], xmm0
call fcn.004012ae
mov eax, dword [ebp - 0x1b8]
add ebx, 0x24
mov edx, dword [esi + 0x108]
inc eax
mov dword [ebp - 0x1b8], eax
cmp eax, edx
jl 0x456d00
mov edi, dword [ebp - 0x1c4]
mov ebx, dword [ebp - 0x1d0]
mov eax, dword [ebp - 0x1cc]
mov dword [ebp - 0x1b8], 0
test edx, edx
jle 0x456eac
lea edi, [eax + 8]
push ebx
push 2
lea eax, [ebp - 0x1b0]
push 1
push eax
call fcn.004fc0a0
movsx eax, word [ebp - 0x1b0]
push ebx
push 2
push 1
movd xmm0, eax
lea eax, [ebp - 0x1b0]
cvtdq2ps xmm0, xmm0
push eax
divss xmm0, dword [0x52fa88]
mulss xmm0, dword [ebp - 0x19c]
addss xmm0, dword [ebp - 0x1a8]
movss dword [edi - 8], xmm0
call fcn.004fc0a0
movsx eax, word [ebp - 0x1b0]
push ebx
push 2
push 1
movd xmm0, eax
lea eax, [ebp - 0x1b0]
cvtdq2ps xmm0, xmm0
push eax
divss xmm0, dword [0x52fa88]
mulss xmm0, dword [ebp - 0x198]
addss xmm0, dword [ebp - 0x1a4]
movss dword [edi - 4], xmm0
call fcn.004fc0a0
movsx eax, word [ebp - 0x1b0]
add esp, 0x30
movd xmm0, eax
cvtdq2ps xmm0, xmm0
mov eax, dword [ebp - 0x1b8]
inc eax
mov dword [ebp - 0x1b8], eax
divss xmm0, dword [0x52fa88]
mulss xmm0, dword [ebp - 0x194]
addss xmm0, dword [ebp - 0x1a0]
movss dword [edi], xmm0
add edi, 0x24
mov edx, dword [esi + 0x108]
cmp eax, edx
jl 0x456dd2
mov edi, dword [ebp - 0x1c4]
xor ecx, ecx
test edx, edx
jle 0x456f0d
mov ebx, dword [ebp - 0x1cc]
movss xmm1, dword [0x52fa80]
add ebx, 0x20
mov edi, dword [ebp - 0x1d4]
nop dword [eax]
movzx eax, byte [edi + ecx*2]
lea ebx, [ebx + 0x24]
movd xmm0, eax
cvtdq2ps xmm0, xmm0
divss xmm0, xmm1
movss dword [ebx - 0x28], xmm0
movzx eax, byte [edi + ecx*2 + 1]
inc ecx
movd xmm0, eax
cvtdq2ps xmm0, xmm0
divss xmm0, xmm1
movss dword [ebx - 0x24], xmm0
mov edx, dword [esi + 0x108]
cmp ecx, edx
jl 0x456ed0
mov edi, dword [ebp - 0x1c4]
xor ecx, ecx
test edx, edx
jle 0x456f2e
mov eax, dword [ebp - 0x1cc]
mov edx, dword [ebp + 0x10]
add eax, 0x18
nop
mov dword [eax], edx
lea eax, [eax + 0x24]
inc ecx
cmp ecx, dword [esi + 0x108]
jl 0x456f20
push dword [esi + 0x10c]
mov ecx, dword [0x5778ac]
call fcn.0045e840
mov eax, dword [ebp - 0x1b4]
mov ebx, dword [ebp - 0x1d0]
mov esi, dword [ebp - 0x1c8]
inc esi
cwde
mov dword [ebp - 0x1c8], esi
cmp esi, eax
jl 0x456b20
push ebx
call fcn.004fb126
push dword [ebp - 0x1d4]
call fcn.004b2377
add esp, 8
mov ecx, 0x5776ac
push str._DONE_n
call fcn.00443f40
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 0x10]
xor ecx, ebp
call fcn.004b2010
mov esp, ebp
pop ebp
ret 0xc
call fcn.004b2142
int3