Function at 0x629b6018
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.629252e8
lea eax, [ecx + 0x14]
push edi
mov ecx, eax
call fcn.62925994
lea eax, [ebx + 0x28]
mov ecx, eax
call fcn.62925994
lea eax, [ebx + 0x3c]
mov ecx, eax
call fcn.62925994
lea eax, [ebx + 0x50]
mov ecx, eax
call fcn.62925994
lea eax, [ebx + 0x64]
mov ecx, eax
mov dword [ebp - 0x9c], eax
call fcn.62925994
lea eax, [ebx + 0x78]
mov ecx, eax
mov dword [ebp - 0xa0], eax
call fcn.62925994
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 0x629b64ec
mov dword [esp], 0xc
mov ecx, ebx
call fcn.62924a9c
mov eax, dword [ebp - 0x78]
push ecx
cmp eax, 0x5453494c
je 0x629b60f6
cmp eax, 0x46464952
jne 0x629b64ec
mov edx, dword [ebp - 0x70]
cmp edx, 0x45564157
je 0x629b610d
cmp edx, 0x65766177
jne 0x629b64ec
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 0x629b61c8
mov ecx, dword [edx + 0x1c]
mov eax, dword [edx + 0x20]
cmp ecx, 0x61746164
jne 0x629b61c8
test al, 1
je 0x629b61c8
cmp dword [edx + 0x3c], 0
jne 0x629b61c8
cmp dword [edx + 0x54], 0
jne 0x629b61c8
cmp dword [ebx + 8], 0xb
jbe 0x629b617c
mov dword [ebx + 8], 0xc
jmp 0x629b6198
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 0x629b6173
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.62a58b80
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 0x629b622d
mov dword [esp], 0x10
lea ecx, [ebp - 0x6c]
call fcn.62924a9c
cmp word [ebx + 0x9c], 1
push esi
je 0x629b623d
cmp word [ebx + 0x9c], 0xfffe
jne 0x629b62ba
jmp 0x629b6272
mov ecx, 4
xor eax, eax
mov edi, esi
rep stosd dword es:[edi], eax
jmp 0x629b6449
lea ecx, [ebp - 0x6c]
call fcn.629c8e48
cmp eax, 4
jne 0x629b621d
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 0x629b62ba
dec ax
jne 0x629b62ba
mov byte [ebx + 0xb1], 1
jmp 0x629b62ba
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 0x629b6449
mov dword [esp], 0x18
lea ecx, [ebp - 0x6c]
call fcn.62924a9c
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.62925efc
mov ecx, esi
push eax
call fcn.62925ea8
lea ecx, [ebx + 0x14]
call fcn.629c8e40
test al, al
jne 0x629b6326
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.62925efc
mov ecx, esi
push eax
call fcn.62925ea8
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.62925ea8
cmp word [ebx + 0x9c], 0x11
jne 0x629b636b
cmp dword [ebx + 0x98], 0
jne 0x629b63e7
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 0x629b63e7
mov ax, word [ebx + 0xa8]
test ax, ax
je 0x629b63bb
xor edx, edx
div si
movzx ecx, cx
movzx eax, ax
add ecx, ecx
cmp eax, ecx
jge 0x629b63bb
lea ecx, [ebx + 0x14]
call fcn.629c8e60
movzx ecx, word [ebx + 0xa8]
jmp 0x629b63dd
lea ecx, [ebx + 0x14]
call fcn.629c8e60
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.62925efc
mov ecx, esi
push edx
call fcn.62925ea8
lea ecx, [ebp - 0x6c]
call fcn.62925ea8
mov ecx, edi
jmp 0x629b6457
lea ecx, [ebp - 0x6c]
call fcn.62925ea8
lea ecx, [ebp - 0x90]
call fcn.62a58b80
jmp 0x629b64ec
lea esp, [ebp - 0xc]
pop ebx
pop esi
pop edi
pop ebp
ret 4