Function at 0x6470d3f8
Capabilities:
Resolve function by parsing pe exports

Disassembly:
push edi
push esi
push ebx
sub esp, 0x10
mov ebx, dword [esp + 0x20]
mov eax, dword [ebx]
cmp dword [eax], 9
je 0x6470d7a0
mov eax, dword [ebx + 4]
lea edx, [eax + 0xe34]
mov dword [esp + 4], edx
add eax, 0xe94
mov dword [esp], eax
call sym.allegro_5.0.10_monolith_mt.dll_FLAC__MD5Final
mov eax, dword [ebx + 4]
mov edx, dword [eax + 0x104]
test edx, edx
je 0x6470d460
mov edx, dword [eax + 0x1cc]
test edx, edx
je 0x6470d460
mov dword [esp], edx
call fcn.647d4274
mov eax, dword [ebx + 4]
mov dword [eax + 0x1cc], 0
mov eax, dword [ebx + 4]
mov dword [eax + 0x104], 0
mov eax, dword [eax + 0x40]
mov dword [esp], eax
call sym.allegro_5.0.10_monolith_mt.dll_FLAC__bitreader_free
mov edi, dword [ebx + 4]
mov eax, dword [edi + 0x44]
test eax, eax
je 0x6470d48a
sub eax, 0x10
mov dword [esp], eax
call fcn.647d4274
mov edi, dword [ebx + 4]
mov dword [edi + 0x44], 0
mov eax, dword [edi + 0xe08]
test eax, eax
je 0x6470d4b0
mov dword [esp], eax
call fcn.647d4274
mov edi, dword [ebx + 4]
mov dword [edi + 0x64], 0
mov dword [edi + 0xe08], 0
mov eax, dword [edi + 0x48]
test eax, eax
je 0x6470d4cc
sub eax, 0x10
mov dword [esp], eax
call fcn.647d4274
mov edi, dword [ebx + 4]
mov dword [edi + 0x48], 0
mov eax, dword [edi + 0xe0c]
test eax, eax
je 0x6470d4f2
mov dword [esp], eax
call fcn.647d4274
mov edi, dword [ebx + 4]
mov dword [edi + 0x68], 0
mov dword [edi + 0xe0c], 0
mov eax, dword [edi + 0x4c]
test eax, eax
je 0x6470d50e
sub eax, 0x10
mov dword [esp], eax
call fcn.647d4274
mov edi, dword [ebx + 4]
mov dword [edi + 0x4c], 0
mov eax, dword [edi + 0xe10]
test eax, eax
je 0x6470d534
mov dword [esp], eax
call fcn.647d4274
mov edi, dword [ebx + 4]
mov dword [edi + 0x6c], 0
mov dword [edi + 0xe10], 0
mov eax, dword [edi + 0x50]
test eax, eax
je 0x6470d550
sub eax, 0x10
mov dword [esp], eax
call fcn.647d4274
mov edi, dword [ebx + 4]
mov dword [edi + 0x50], 0
mov eax, dword [edi + 0xe14]
test eax, eax
je 0x6470d576
mov dword [esp], eax
call fcn.647d4274
mov edi, dword [ebx + 4]
mov dword [edi + 0x70], 0
mov dword [edi + 0xe14], 0
mov eax, dword [edi + 0x54]
test eax, eax
je 0x6470d592
sub eax, 0x10
mov dword [esp], eax
call fcn.647d4274
mov edi, dword [ebx + 4]
mov dword [edi + 0x54], 0
mov eax, dword [edi + 0xe18]
test eax, eax
je 0x6470d5b8
mov dword [esp], eax
call fcn.647d4274
mov edi, dword [ebx + 4]
mov dword [edi + 0x74], 0
mov dword [edi + 0xe18], 0
mov eax, dword [edi + 0x58]
test eax, eax
je 0x6470d5d4
sub eax, 0x10
mov dword [esp], eax
call fcn.647d4274
mov edi, dword [ebx + 4]
mov dword [edi + 0x58], 0
mov eax, dword [edi + 0xe1c]
test eax, eax
je 0x6470d5fa
mov dword [esp], eax
call fcn.647d4274
mov edi, dword [ebx + 4]
mov dword [edi + 0x78], 0
mov dword [edi + 0xe1c], 0
mov eax, dword [edi + 0x5c]
test eax, eax
je 0x6470d616
sub eax, 0x10
mov dword [esp], eax
call fcn.647d4274
mov edi, dword [ebx + 4]
mov dword [edi + 0x5c], 0
mov eax, dword [edi + 0xe20]
test eax, eax
je 0x6470d63c
mov dword [esp], eax
call fcn.647d4274
mov edi, dword [ebx + 4]
mov dword [edi + 0x7c], 0
mov dword [edi + 0xe20], 0
mov eax, dword [edi + 0x60]
test eax, eax
je 0x6470d658
sub eax, 0x10
mov dword [esp], eax
call fcn.647d4274
mov edi, dword [ebx + 4]
mov dword [edi + 0x60], 0
mov eax, dword [edi + 0xe24]
test eax, eax
je 0x6470d681
mov dword [esp], eax
call fcn.647d4274
mov edi, dword [ebx + 4]
mov dword [edi + 0x80], 0
mov dword [edi + 0xe24], 0
mov dword [edi + 0xe4], 0
mov dword [edi + 0xe8], 0
mov eax, dword [edi]
test eax, eax
jne 0x6470d7b0
mov eax, dword [edi + 0x3c]
test eax, eax
je 0x6470d6c0
cmp eax, dword [0x648a091c]
je 0x6470d6b9
mov dword [esp], eax
call fcn.647d4324
mov edi, dword [ebx + 4]
mov dword [edi + 0x3c], 0
mov eax, dword [edi + 0xe28]
test eax, eax
jne 0x6470d770
mov esi, 1
mov dword [edi + 0xe30], 0
mov dword [edi], 0
mov dword [edi + 4], 0
mov dword [edi + 8], 0
mov dword [edi + 0xc], 0
mov dword [edi + 0x10], 0
mov dword [edi + 0x14], 0
mov dword [edi + 0x18], 0
mov dword [edi + 0x1c], 0
mov dword [edi + 0x20], 0
mov dword [edi + 0x38], 0
lea edx, [edi + 0x268]
mov ecx, 0x200
xor eax, eax
mov edi, edx
rep stosb byte es:[edi], al
mov eax, dword [ebx + 4]
mov dword [eax + 0x268], 1
mov dword [eax + 0x46c], 0
mov eax, dword [ebx]
mov dword [eax + 0x18], 0
add eax, 0x20
mov dword [esp], eax
call sym.allegro_5.0.10_monolith_mt.dll_FLAC__ogg_decoder_aspect_set_defaults
mov eax, dword [ebx]
mov dword [eax], 9
mov eax, esi
add esp, 0x10
pop ebx
pop esi
pop edi
ret
mov dword [esp + 8], 0x10
lea eax, [edi + 0xe94]
mov dword [esp + 4], eax
lea eax, [edi + 0x140]
mov dword [esp], eax
call fcn.647d42a4
test eax, eax
sete al
movzx eax, al
mov esi, eax
jmp 0x6470d6d3
mov esi, 1
mov eax, esi
add esp, 0x10
pop ebx
pop esi
pop edi
ret
mov eax, dword [ebx]
add eax, 0x20
mov dword [esp], eax
call sym.allegro_5.0.10_monolith_mt.dll_FLAC__ogg_decoder_aspect_finish
mov edi, dword [ebx + 4]
jmp 0x6470d69f