Function at 0x629b6d10
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 esi, dword [ebp + 8]
mov dword [esp], esi
add esi, 0xc
call method.std::shared_ptr_mpt::mpt_libopenmpt::IO::IFileData_const_.shared_ptr_std::shared_ptr_mpt::mpt_libopenmpt::IO::IFileData_const__const_
lea ecx, [ebx + 0xc]
push edi
mov eax, dword [esi - 4]
mov dword [esp], esi
mov dword [ebx + 8], eax
call method.std::shared_ptr_mpt::mpt_libopenmpt::BasicPathString_mpt::mpt_libopenmpt::NativePathTraits__true___.shared_ptr_std::shared_ptr_mpt::mpt_libopenmpt::BasicPathString_mpt::mpt_libopenmpt::NativePathTraits__true____const_
push eax
lea eax, [ebx + 0x14]
mov ecx, eax
call fcn.6292559c
lea eax, [ebx + 0x28]
mov ecx, eax
call fcn.6292559c
lea eax, [ebx + 0x3c]
mov ecx, eax
call fcn.6292559c
lea eax, [ebx + 0x50]
mov ecx, eax
call fcn.6292559c
lea eax, [ebx + 0x64]
mov ecx, eax
mov dword [ebp - 0x9c], eax
call fcn.6292559c
lea eax, [ebx + 0x78]
mov ecx, eax
mov dword [ebp - 0xa0], eax
call fcn.6292559c
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 0x629b71f9
mov dword [esp], 0xc
mov ecx, ebx
call fcn.62924a94
mov eax, dword [ebp - 0x78]
push ecx
cmp eax, 0x5453494c
je 0x629b6e03
cmp eax, 0x46464952
jne 0x629b71f9
mov edx, dword [ebp - 0x70]
cmp edx, 0x45564157
je 0x629b6e1a
cmp edx, 0x65766177
jne 0x629b71f9
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 0x629b6ed5
mov ecx, dword [edx + 0x1c]
mov eax, dword [edx + 0x20]
cmp ecx, 0x61746164
jne 0x629b6ed5
test al, 1
je 0x629b6ed5
cmp dword [edx + 0x3c], 0
jne 0x629b6ed5
cmp dword [edx + 0x54], 0
jne 0x629b6ed5
cmp dword [ebx + 8], 0xb
jbe 0x629b6e89
mov dword [ebx + 8], 0xc
jmp 0x629b6ea5
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 0x629b6e80
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 fcn.62a59c14
mov ecx, esi
push eax
call fcn.62a59e6c
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 0x629b6f3a
mov dword [esp], 0x10
lea ecx, [ebp - 0x6c]
call fcn.62924a94
cmp word [ebx + 0x9c], 1
push esi
je 0x629b6f4a
cmp word [ebx + 0x9c], 0xfffe
jne 0x629b6fc7
jmp 0x629b6f7f
mov ecx, 4
xor eax, eax
mov edi, esi
rep stosd dword es:[edi], eax
jmp 0x629b7156
lea ecx, [ebp - 0x6c]
call fcn.629c9c84
cmp eax, 4
jne 0x629b6f2a
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 0x629b6fc7
dec ax
jne 0x629b6fc7
mov byte [ebx + 0xb1], 1
jmp 0x629b6fc7
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 0x629b7156
mov dword [esp], 0x18
lea ecx, [ebp - 0x6c]
call fcn.62924a94
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.62925b00
mov ecx, esi
push eax
call fcn.62925aac
lea ecx, [ebx + 0x14]
call fcn.629c9c7c
test al, al
jne 0x629b7033
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.62925b00
mov ecx, esi
push eax
call fcn.62925aac
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.62925aac
cmp word [ebx + 0x9c], 0x11
jne 0x629b7078
cmp dword [ebx + 0x98], 0
jne 0x629b70f4
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 0x629b70f4
mov ax, word [ebx + 0xa8]
test ax, ax
je 0x629b70c8
xor edx, edx
div si
movzx ecx, cx
movzx eax, ax
add ecx, ecx
cmp eax, ecx
jge 0x629b70c8
lea ecx, [ebx + 0x14]
call fcn.629c9c9c
movzx ecx, word [ebx + 0xa8]
jmp 0x629b70ea
lea ecx, [ebx + 0x14]
call fcn.629c9c9c
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.62925b00
mov ecx, esi
push edx
call fcn.62925aac
lea ecx, [ebp - 0x6c]
call fcn.62925aac
mov ecx, edi
jmp 0x629b7164
lea ecx, [ebp - 0x6c]
call fcn.62925aac
lea ecx, [ebp - 0x90]
call fcn.62a59e6c
jmp 0x629b71f9
lea esp, [ebp - 0xc]
pop ebx
pop esi
pop edi
pop ebp
ret 4