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

Disassembly:
push ebp
mov ebp, esp
push edi
push esi
push ebx
mov ebx, ecx
sub esp, 0xac
mov eax, dword [ebp + 8]
mov dword [esp], eax
call fcn.700a98a8
lea eax, [ecx + 0x14]
push edi
mov ecx, eax
call fcn.700a9f54
lea eax, [ebx + 0x28]
mov ecx, eax
call fcn.700a9f54
lea eax, [ebx + 0x3c]
mov ecx, eax
call fcn.700a9f54
lea eax, [ebx + 0x50]
mov ecx, eax
call fcn.700a9f54
lea eax, [ebx + 0x64]
mov ecx, eax
mov dword [ebp - 0x9c], eax
call fcn.700a9f54
lea eax, [ebx + 0x78]
mov ecx, eax
mov dword [ebp - 0xa0], eax
call fcn.700a9f54
lea eax, [ebp - 0x78]
mov dword [ebx + 0x8c], 0
mov dword [ebx + 0x90], 0
mov dword [ebx + 0x94], 0
mov dword [ebx + 8], 0
mov dword [ebx + 0xac], 0x6faf0000
mov word [ebx + 0xb0], 0
mov dword [esp], eax
mov dword [esp + 4], 0xc
mov ecx, ebx
call sym.__ZNK3mpt14mpt_libopenmpt2IO10FileCursorINS1_24FileCursorTraitsFileDataENS1_24FileCursorFilenameTraitsINS0_15BasicPathStringIN
push esi
cmp edx, 0xc
push esi
jne 0x7013fd5c
mov dword [esp], 0xc
mov ecx, ebx
call fcn.700a905c
mov eax, dword [ebp - 0x78]
push ecx
cmp eax, 0x5453494c
je 0x7013f966
cmp eax, 0x46464952
jne 0x7013fd5c
mov edx, dword [ebp - 0x70]
cmp edx, 0x45564157
je 0x7013f97d
cmp edx, 0x65766177
jne 0x7013fd5c
cmp eax, 0x5453494c
lea eax, [ebp - 0x90]
mov dword [esp + 8], 2
mov dword [esp + 4], ebx
mov dword [esp], eax
sete byte [ebx + 0xb0]
call sym.__ZN3mpt14mpt_libopenmpt2IO10FileReader10ReadChunksIN7OpenMPT9RIFFChunkENS4_6detail10FileReaderINS1_24FileCursorTraitsFileData
mov edx, dword [ebp - 0x90]
mov eax, dword [ebp - 0x8c]
sub eax, edx
sar eax, 2
imul eax, eax, 0xb6db6db7
cmp eax, 3
jbe 0x7013fa38
mov ecx, dword [edx + 0x1c]
mov eax, dword [edx + 0x20]
cmp ecx, 0x61746164
jne 0x7013fa38
test al, 1
je 0x7013fa38
cmp dword [edx + 0x3c], 0
jne 0x7013fa38
cmp dword [edx + 0x54], 0
jne 0x7013fa38
cmp dword [ebx + 8], 0xb
jbe 0x7013f9ec
mov dword [ebx + 8], 0xc
jmp 0x7013fa08
mov ecx, dword [ebx]
mov eax, dword [ecx]
mov dword [esp + 4], 0xc
mov dword [esp], 0
call dword [eax + 0x20]
push edx
test al, al
push edx
jne 0x7013f9e3
lea esi, [ebp - 0x84]
mov dword [esp + 8], 1
mov dword [esp + 4], ebx
mov dword [esp], esi
call sym.__ZN3mpt14mpt_libopenmpt2IO10FileReader10ReadChunksIN7OpenMPT9RIFFChunkENS4_6detail10FileReaderINS1_24FileCursorTraitsFileData
lea ecx, [ebp - 0x90]
mov dword [esp], esi
call sym.__ZNSt6vectorIN3mpt14mpt_libopenmpt2IO10FileReader5ChunkIN7OpenMPT9RIFFChunkENS5_6detail10FileReaderINS2_24FileCursorTraitsFil
mov ecx, esi
push eax
call fcn.701edae0
lea eax, [ebp - 0x90]
mov dword [esp + 4], 0x20746d66
mov dword [esp], eax
lea ecx, [ebp - 0x6c]
call sym.__ZNK3mpt14mpt_libopenmpt2IO10FileReader9ChunkListIN7OpenMPT9RIFFChunkENS4_6detail10FileReaderINS1_24FileCursorTraitsFileDataE
push eax
lea esi, [ebx + 0x9c]
push eax
lea ecx, [ebp - 0x6c]
mov dword [esp], esi
mov dword [esp + 4], 0x10
call sym.__ZNK3mpt14mpt_libopenmpt2IO10FileCursorINS1_24FileCursorTraitsFileDataENS1_24FileCursorFilenameTraitsINS0_15BasicPathStringIN
push edi
cmp edx, 0x10
push edi
jne 0x7013fa9d
mov dword [esp], 0x10
lea ecx, [ebp - 0x6c]
call fcn.700a905c
cmp word [ebx + 0x9c], 1
push esi
je 0x7013faad
cmp word [ebx + 0x9c], 0xfffe
jne 0x7013fb2a
jmp 0x7013fae2
mov ecx, 4
xor eax, eax
mov edi, esi
rep stosd dword es:[edi], eax
jmp 0x7013fcb9
lea ecx, [ebp - 0x6c]
call fcn.7015bc28
cmp eax, 4
jne 0x7013fa8d
lea edi, [ebp - 0x6c]
mov dword [esp], edi
call sym.__ZN3mpt14mpt_libopenmpt2IO10FileReader9ReadIntLEItN7OpenMPT6detail10FileReaderINS1_24FileCursorTraitsFileDataENS1_24FileCurso
mov dword [esp], edi
mov esi, eax
call sym.__ZN3mpt14mpt_libopenmpt2IO10FileReader9ReadIntLEItN7OpenMPT6detail10FileReaderINS1_24FileCursorTraitsFileDataENS1_24FileCurso
cmp si, 2
jne 0x7013fb2a
dec ax
jne 0x7013fb2a
mov byte [ebx + 0xb1], 1
jmp 0x7013fb2a
lea eax, [ebp - 0x30]
mov dword [esp + 4], 0x18
mov dword [esp], eax
lea ecx, [ebp - 0x6c]
call sym.__ZNK3mpt14mpt_libopenmpt2IO10FileCursorINS1_24FileCursorTraitsFileDataENS1_24FileCursorFilenameTraitsINS0_15BasicPathStringIN
push ecx
cmp edx, 0x18
push ecx
jne 0x7013fcb9
mov dword [esp], 0x18
lea ecx, [ebp - 0x6c]
call fcn.700a905c
lea edi, [ebp - 0x44]
push edx
lea esi, [ebp - 0x28]
mov ecx, 4
rep movsd dword es:[edi], dword [esi]
mov eax, dword [ebp - 0x44]
mov word [ebx + 0xac], ax
lea esi, [ebp - 0x58]
lea eax, [ebp - 0x90]
mov dword [esp + 4], 0x61746164
mov dword [esp], eax
mov ecx, esi
call sym.__ZNK3mpt14mpt_libopenmpt2IO10FileReader9ChunkListIN7OpenMPT9RIFFChunkENS4_6detail10FileReaderINS1_24FileCursorTraitsFileDataE
push eax
lea ecx, [ebx + 0x14]
push eax
mov dword [esp], esi
call fcn.700aa4bc
mov ecx, esi
push eax
call fcn.700aa468
lea ecx, [ebx + 0x14]
call fcn.7015bc20
test al, al
jne 0x7013fb96
lea esi, [ebp - 0x44]
lea eax, [ebp - 0x90]
mov dword [esp + 4], 0x206d6370
mov dword [esp], eax
mov ecx, esi
call sym.__ZNK3mpt14mpt_libopenmpt2IO10FileReader9ChunkListIN7OpenMPT9RIFFChunkENS4_6detail10FileReaderINS1_24FileCursorTraitsFileDataE
push eax
lea ecx, [ebx + 0x14]
push eax
mov dword [esp], esi
call fcn.700aa4bc
mov ecx, esi
push eax
call fcn.700aa468
lea esi, [ebp - 0x30]
lea eax, [ebp - 0x90]
mov dword [esp + 4], 0x74636166
mov dword [esp], eax
mov ecx, esi
call sym.__ZNK3mpt14mpt_libopenmpt2IO10FileReader9ChunkListIN7OpenMPT9RIFFChunkENS4_6detail10FileReaderINS1_24FileCursorTraitsFileDataE
push eax
push eax
mov dword [esp], esi
call sym.__ZN3mpt14mpt_libopenmpt2IO10FileReader9ReadIntLEIjN7OpenMPT6detail10FileReaderINS1_24FileCursorTraitsFileDataENS1_24FileCurso
mov dword [ebx + 0x98], eax
mov ecx, esi
call fcn.700aa468
cmp word [ebx + 0x9c], 0x11
jne 0x7013fbdb
cmp dword [ebx + 0x98], 0
jne 0x7013fc57
movzx edx, word [ebx + 0x9e]
movzx eax, word [ebx + 0xaa]
imul eax, edx
add eax, 7
mov esi, edx
mov ecx, eax
shr ecx, 3
test eax, 0x7fff8
je 0x7013fc57
mov ax, word [ebx + 0xa8]
test ax, ax
je 0x7013fc2b
xor edx, edx
div si
movzx ecx, cx
movzx eax, ax
add ecx, ecx
cmp eax, ecx
jge 0x7013fc2b
lea ecx, [ebx + 0x14]
call fcn.7015bc40
movzx ecx, word [ebx + 0xa8]
jmp 0x7013fc4d
lea ecx, [ebx + 0x14]
call fcn.7015bc40
movzx ecx, word [ebx + 0x9e]
movzx edx, word [ebx + 0xaa]
imul ecx, edx
add ecx, 7
shr ecx, 3
movzx ecx, cx
xor edx, edx
div ecx
mov dword [ebx + 0x98], eax
lea esi, [ebp - 0x90]
mov ecx, ebx
mov dword [esp], esi
call sym.__ZN7OpenMPT9WAVReader15GetFileCodePageERN3mpt14mpt_libopenmpt2IO10FileReader9ChunkListINS_9RIFFChunkENS_6detail10FileReaderIN
push edi
mov word [ebx + 0xae], ax
mov dword [esp], esi
mov ecx, ebx
call sym.__ZN7OpenMPT9WAVReader18FindMetadataChunksERN3mpt14mpt_libopenmpt2IO10FileReader9ChunkListINS_9RIFFChunkENS_6detail10FileReade
lea esi, [ebp - 0x30]
push ecx
lea edi, [ebp - 0x90]
mov dword [esp + 4], 0x706d7377
mov dword [esp], edi
mov ecx, esi
call sym.__ZNK3mpt14mpt_libopenmpt2IO10FileReader9ChunkListIN7OpenMPT9RIFFChunkENS4_6detail10FileReaderINS1_24FileCursorTraitsFileDataE
push eax
mov ecx, dword [ebp - 0x9c]
push eax
mov dword [esp], esi
call fcn.700aa4bc
mov ecx, esi
push edx
call fcn.700aa468
lea ecx, [ebp - 0x6c]
call fcn.700aa468
mov ecx, edi
jmp 0x7013fcc7
lea ecx, [ebp - 0x6c]
call fcn.700aa468
lea ecx, [ebp - 0x90]
call fcn.701edae0
jmp 0x7013fd5c
lea esp, [ebp - 0xc]
pop ebx
pop esi
pop edi
pop ebp
ret 4