Function at 0x6295bfcc
Capabilities:
Contain obfuscated stackstrings

Disassembly:
push ebp
mov ebp, esp
push edi
push esi
push ebx
lea esi, [ebp - 0x354]
sub esp, 0x4dc
mov dword [ebp - 0x49c], ecx
mov ebx, dword [ebp + 8]
mov ecx, ebx
mov dword [ebx + 8], 0
mov dword [esp], esi
mov dword [esp + 4], 0xec
call sym.__ZNK3mpt14mpt_libopenmpt2IO10FileCursorINS1_24FileCursorTraitsFileDataENS1_24FileCursorFilenameTraitsINS0_15BasicPathStringIN
cmp edx, 0xec
push eax
push eax
jne 0x6295c024
mov ecx, ebx
mov dword [esp], 0xec
call fcn.62924a9c
mov ecx, esi
push edi
call method.OpenMPT::GT2FileHeader.Validate___const
test al, al
jne 0x6295c030
mov byte [ebp - 0x4a1], 0
jmp 0x6295e245
mov eax, dword [ebp - 0x350]
bswap eax
cmp eax, 0xec
jae 0x6295c044
mov eax, 0xec
sub eax, 0xd8
mov dword [esp + 4], 0
mov dword [esp], eax
call method.unsigned_int_mpt::mpt_libopenmpt.saturate_cast_unsigned_int__unsigned_long_long__unsigned_long_long_
mov ecx, ebx
mov dword [esp], eax
call fcn.629c8e18
mov byte [ebp - 0x4a1], al
test al, al
push esi
je 0x6295c024
cmp dword [ebp + 0xc], 0x40
je 0x6295e245
mov ecx, dword [ebp - 0x49c]
mov dword [esp], 0x1000000
call method.OpenMPT::CSoundFile.InitializeGlobals_OpenMPT::MODTYPE_
lea esi, [ebp - 0x498]
push ecx
mov ecx, dword [ebp - 0x49c]
call method.OpenMPT::CSoundFile.InitializeChannels__
mov eax, dword [ebp - 0x49c]
or dword [eax + 0x753d0], 0x1008000
mov dword [esp], esi
mov dword [esp + 4], 0x20
call method.OpenMPT::CSoundFile.GetDefaultPlaybackBehaviour_OpenMPT::MODTYPE_
mov eax, dword [ebp - 0x49c]
mov ecx, 4
lea edi, [eax + 0x106488]
rep movsd dword es:[edi], dword [esi]
cmp byte [ebp - 0x351], 5
mov eax, dword [eax + 0x10648c]
jbe 0x6295c0e5
or eax, 0x2000000
jmp 0x6295c0ea
and eax, 0xfdffffff
mov edi, dword [ebp - 0x49c]
mov ecx, 7
or dword [edi + 0x106494], 0x40000
mov dword [edi + 0x10648c], eax
xor eax, eax
lea edi, [ebp - 0x3dc]
rep stosd dword es:[edi], eax
movzx eax, byte [ebp - 0x28c]
cmp al, 0x1f
jbe 0x6295c121
mov eax, 0x1f
jmp 0x6295c12a
test al, al
jne 0x6295c12a
mov eax, 1
mov dword [ebp - 0x3e0], eax
movzx eax, byte [ebp - 0x28b]
cmp al, 0xc
jbe 0x6295c142
mov eax, 0xc
jmp 0x6295c14b
test al, al
jne 0x6295c14b
mov eax, 1
mov dword [ebp - 0x3e4], eax
mov edi, dword [ebp - 0x49c]
movzx eax, word [ebp - 0x28a]
xchg al, ah
movzx eax, ax
mov dword [ebp - 0x3e8], eax
mov eax, dword [ebp - 0x49c]
lea esi, [ebp - 0x3e8]
mov eax, dword [eax + 0x13d074]
cmp eax, dword [edi + 0x13d078]
je 0x6295c19d
mov edi, eax
mov ecx, 0xa
rep movsd dword es:[edi], dword [esi]
mov edi, dword [ebp - 0x49c]
add eax, 0x28
mov dword [edi + 0x13d074], eax
jmp 0x6295c1b7
mov edi, dword [ebp - 0x49c]
mov dword [esp + 4], esi
mov dword [esp], eax
lea ecx, [edi + 0x13d070]
call method.void_std::vector_OpenMPT::FileHistory__std::allocator_OpenMPT::FileHistory___::_M_realloc_insert_OpenMPT.FileHistory_const____gnu_cxx::__normal_iterator_OpenMPT::FileHistory__std::vector_OpenMPT::FileHistory__std::allocator_OpenMPT::FileHistory__
push edx
push edx
mov eax, dword [ebp - 0x49c]
lea esi, [ebp - 0x268]
mov ecx, esi
mov dword [ebp - 0x3fc], 0x18
mov word [eax + 0x753bc], 0x20
lea eax, [ebp - 0x288]
mov dword [ebp - 0x400], eax
lea eax, [ebp - 0x400]
mov dword [esp], eax
mov byte [ebp - 0x3f8], 3
call method.OpenMPT::mpt::StringModeBufRefImpl_char_const_::operator_std::__cxx11::basic_string_char__std::char_traits_char___std.allocator_char______const
lea edi, [ebp - 0x14c]
mov ecx, edi
mov dword [ebp - 0x418], 1
push eax
lea eax, [ebp - 0x418]
mov dword [esp + 4], esi
mov dword [esp], eax
call method.std::__cxx11::basic_string_char32_t__std::char_traits_char32_t___std::allocator_char32_t____OpenMPT::mpt::CharsetTranscoder::decode_std::__cxx11::basic_string_char__std::char_traits_char___std.allocator_char______std::__cxx11::basic_string_char__st
push eax
push eax
lea eax, [ebp - 0x3bc]
mov dword [esp + 8], 0x3f
mov dword [esp + 4], edi
mov dword [esp], eax
call sym.__ZN3mpt14mpt_libopenmpt11encode_utf8INSt7__cxx1112basic_stringIcNS0_20encoding_char_traitsILNS0_15common_encodingE0ES5_EESaIc
mov ecx, edi
lea edi, [ebp - 0x3bc]
call method.std::__cxx11::basic_string_char32_t__std::char_traits_char32_t___std::allocator_char32_t___._M_dispose__
mov ecx, esi
call method.std::__cxx11::basic_string_char__std::char_traits_char___std::allocator_char___._M_dispose__
mov eax, dword [ebp - 0x49c]
mov dword [esp], edi
lea ecx, [eax + 0x13d020]
call method.std::__cxx11::basic_string_char__mpt::mpt_libopenmpt.encoding_char_traits__mpt::mpt_libopenmpt::common_encoding_0__mpt::mpt_libopenmpt::common_encoding___std::allocator_char___::operator_std::__cxx11::basic_string_char__mpt::mpt_libopenmpt::encodi
mov ecx, edi
push eax
call method.std::__cxx11::basic_string_char__mpt::mpt_libopenmpt.encoding_char_traits__mpt::mpt_libopenmpt::common_encoding_0__mpt::mpt_libopenmpt::common_encoding___std::allocator_char___::_M_dispose__
cmp byte [ebp - 0x351], 5
ja 0x6295c295
mov dword [esp], str.Graoumf_Tracker_v
jmp 0x6295c29c
mov dword [esp], str.Graoumf_Tracker_2_v
lea ecx, [ebp - 0x14c]
call fcn.62a6457c
mov ecx, esi
lea esi, [ebp - 0x268]
push eax
lea eax, [ebp - 0x14c]
mov dword [esp], eax
call fcn.62a634a8
lea ecx, [ebp - 0x14c]
push eax
call method.std::__cxx11::basic_string_char__mpt::mpt_libopenmpt.encoding_char_traits__mpt::mpt_libopenmpt::common_encoding_0__mpt::mpt_libopenmpt::common_encoding___std::allocator_char___::_M_dispose__
lea eax, [ebp - 0x351]
mov dword [esp], esi
mov dword [esp + 4], eax
lea ecx, [ebp - 0x14c]
call fcn.629c78e4
push eax
push eax
mov eax, dword [ebp - 0x49c]
lea ecx, [eax + 0x13cff0]
lea eax, [ebp - 0x14c]
mov dword [esp], eax
call method.std::__cxx11::basic_string_char__mpt::mpt_libopenmpt.encoding_char_traits__mpt::mpt_libopenmpt::common_encoding_0__mpt::mpt_libopenmpt::common_encoding___std::allocator_char___::operator_std::__cxx11::basic_string_char__mpt::mpt_libopenmpt::encodi
lea ecx, [ebp - 0x14c]
push eax
call method.std::__cxx11::basic_string_char__mpt::mpt_libopenmpt.encoding_char_traits__mpt::mpt_libopenmpt::common_encoding_0__mpt::mpt_libopenmpt::common_encoding___std::allocator_char___::_M_dispose__
mov ecx, esi
call method.std::__cxx11::basic_string_char__mpt::mpt_libopenmpt.encoding_char_traits__mpt::mpt_libopenmpt::common_encoding_0__mpt::mpt_libopenmpt::common_encoding___std::allocator_char___::_M_dispose__
lea ecx, [ebp - 0x14c]
mov dword [esp], 0x62b18e5e
call fcn.62a6457c
mov eax, dword [ebp - 0x49c]
lea ecx, [eax + 0x13d008]
lea eax, [ebp - 0x14c]
push edx
mov dword [esp], eax
call method.std::__cxx11::basic_string_char__mpt::mpt_libopenmpt.encoding_char_traits__mpt::mpt_libopenmpt::common_encoding_0__mpt::mpt_libopenmpt::common_encoding___std::allocator_char___::operator_std::__cxx11::basic_string_char__mpt::mpt_libopenmpt::encodi
push ecx
lea ecx, [ebp - 0x14c]
call method.std::__cxx11::basic_string_char__mpt::mpt_libopenmpt.encoding_char_traits__mpt::mpt_libopenmpt::common_encoding_0__mpt::mpt_libopenmpt::common_encoding___std::allocator_char___::_M_dispose__
mov eax, dword [ebp - 0x49c]
lea ecx, [ebp - 0x14c]
mov dword [eax + 0x13d068], 0x1a
lea eax, [ebp - 0x34c]
mov dword [esp], esi
mov dword [ebp - 0x268], eax
mov dword [ebp - 0x264], 0x20
mov byte [ebp - 0x260], 3
call method.OpenMPT::mpt::StringModeBufRefImpl_char_const_::operator_std::__cxx11::basic_string_char__std::char_traits_char___std.allocator_char______const
mov eax, dword [ebp - 0x49c]
push esi
lea ecx, [eax + 0x13cfa8]
lea eax, [ebp - 0x14c]
mov dword [esp], eax
call method.std::__cxx11::basic_string_char__std::char_traits_char___std::allocator_char___.operator_std::__cxx11::basic_string_char__std::char_traits_char___std::allocator_char____
lea ecx, [ebp - 0x14c]
push edi
call method.std::__cxx11::basic_string_char__std::char_traits_char___std::allocator_char___._M_dispose__
mov eax, dword [ebp - 0x49c]
mov edi, dword [ebp - 0x49c]
movzx ecx, word [eax + 0x753bc]
mov dword [eax + 0x753e4], 0x100
mov eax, 0x180
add ecx, 3
cdq
idiv ecx
mov dword [edi + 0x753c8], eax
cmp byte [ebp - 0x351], 5
ja 0x6295c520
movzx eax, word [ebp - 0x270]
xchg al, ah
test ax, ax
jne 0x6295c3fa
mov eax, 1
mov edi, dword [ebp - 0x49c]
movzx eax, ax
mov dword [edi + 0x753c4], eax
movzx eax, word [ebp - 0x26e]
xchg al, ah
test ax, ax
jne 0x6295c41c
mov eax, 1
movzx eax, ax
imul eax, eax, 0x2710
mov edi, dword [ebp - 0x49c]
xor edx, edx
mov dword [edi + 0x753cc], eax
mov dword [esp + 8], 0xfff
movzx eax, word [ebp - 0x26c]
xchg al, ah
movzx eax, ax
shld edx, eax, 8
shl eax, 8
mov dword [esp + 0xc], 0
add eax, 0x7ff
adc edx, 0
mov dword [esp], eax
mov dword [esp + 4], edx
call dbg.__udivdi3
mov dword [esp], eax
mov dword [esp + 4], edx
call method.unsigned_int_mpt::mpt_libopenmpt.saturate_cast_unsigned_int__unsigned_long_long__unsigned_long_long_
cmp eax, 0x100
jbe 0x6295c482
mov eax, 0x100
mov edi, dword [ebp - 0x49c]
mov dword [edi + 0x753c8], eax
movzx edi, word [ebp - 0x26a]
rol di, 8
cmp di, 0x7f
jbe 0x6295c4a4
mov edi, 0x7f
xor esi, esi
cmp di, si
jbe 0x6295c520
mov dword [esp], ebx
call sym.__ZN3mpt14mpt_libopenmpt2IO10FileReader9ReadIntBEItN7OpenMPT6detail10FileReaderINS1_24FileCursorTraitsFileDataENS1_24FileCurso
xor edx, edx
movzx eax, ax
shld edx, eax, 8
shl eax, 8
mov dword [esp + 8], 0xfff
add eax, 0x7ff
mov dword [esp + 0xc], 0
adc edx, 0
mov dword [esp], eax
mov dword [esp + 4], edx
call dbg.__udivdi3
mov dword [esp + 4], edx
mov dword [esp], eax
call method.unsigned_int_mpt::mpt_libopenmpt.saturate_cast_unsigned_int__unsigned_long_long__unsigned_long_long_
mov edx, esi
shl edx, 5
mov ecx, dword [ebp - 0x49c]
cmp ax, 0x100
mov word [ecx + edx + 0x7541c], ax
mov ecx, eax
jbe 0x6295c50f
mov ecx, 0x100
mov eax, dword [ebp - 0x49c]
inc esi
mov word [eax + edx + 0x7541c], cx
jmp 0x6295c4a6
mov eax, dword [ebp - 0x350]
mov ecx, ebx
bswap eax
mov dword [esp], eax
call fcn.62924a60
lea ecx, [ebp - 0x444]
push eax
mov dword [esp], ebx
lea ebx, [ebp - 0x474]
call fcn.62925160
push eax
mov dword [esp + 0xc], 0x454e4443
mov dword [esp + 8], 1
mov dword [esp + 4], ecx
mov dword [esp], ebx
call sym.__ZN3mpt14mpt_libopenmpt2IO10FileReader15ReadChunksUntilIN7OpenMPT8GT2ChunkENS4_6detail10FileReaderINS1_24FileCursorTraitsFile
mov dword [esp + 4], 0x50415453
mov dword [esp], ebx
lea ecx, [ebp - 0x14c]
call fcn.629c9450
push eax
lea ecx, [ebp - 0x14c]
push eax
mov dword [esp], 2
call fcn.629c8e18
test al, al
push edi
je 0x6295c5ee
lea eax, [ebp - 0x14c]
mov dword [esp], eax
call sym.__ZN3mpt14mpt_libopenmpt2IO10FileReader9ReadIntBEItN7OpenMPT6detail10FileReaderINS1_24FileCursorTraitsFileDataENS1_24FileCurso
lea edx, [eax - 1]
cmp dx, 0x7e
ja 0x6295c5ee
mov edi, dword [ebp - 0x49c]
lea ecx, [ebp - 0x14c]
mov word [edi + 0x753bc], ax
call fcn.62925c94
mov dword [esp + 4], 0x534f4e47
mov dword [esp], ebx
lea ecx, [ebp - 0x14c]
call fcn.629c9450
push esi
lea ecx, [ebp - 0x14c]
push esi
mov dword [esp], 2
call fcn.629c8e18
jmp 0x6295c605
lea ecx, [ebp - 0x14c]
call fcn.62925c94
mov byte [ebp - 0x4a1], 0
jmp 0x6295e109
mov byte [ebp - 0x4a1], al
push ebx
test al, al
je 0x6295c6f3
lea eax, [ebp - 0x14c]
mov dword [esp], eax
call sym.__ZN3mpt14mpt_libopenmpt2IO10FileReader9ReadIntBEItN7OpenMPT6detail10FileReaderINS1_24FileCursorTraitsFileDataENS1_24FileCurso
mov esi, eax
mov eax, dword [ebp - 0x49c]
movzx ebx, byte [eax + 0x76418]
imul ebx, ebx, 0x2c
add ebx, dword [eax + 0x76408]
lea eax, [ebp - 0x14c]
mov dword [esp], eax
call sym.__ZN3mpt14mpt_libopenmpt2IO10FileReader9ReadIntBEItN7OpenMPT6detail10FileReaderINS1_24FileCursorTraitsFileDataENS1_24FileCurso
mov word [ebx + 0x28], ax
lea ecx, [ebp - 0x14c]
call fcn.629c8e48
mov edx, eax
mov dword [esp + 0x10], 0xffff
shr edx, 1
mov dword [esp + 0xc], 0xffff
cmp eax, 0x1ffff
jbe 0x6295c677
mov edx, 0xffff
movzx eax, dx
cmp dx, si
jbe 0x6295c682
movzx eax, si
mov dword [esp + 8], eax
lea eax, [ebp - 0x14c]
mov dword [esp + 4], eax
mov eax, dword [ebp - 0x49c]
mov edi, dword [ebp - 0x49c]
movzx eax, byte [eax + 0x76418]
imul eax, eax, 0x2c
add eax, dword [edi + 0x76408]
mov dword [esp], eax
call sym.__ZN7OpenMPT17ReadOrderFromFileIN3mpt14mpt_libopenmpt6packedItLNS2_6endianE305419896EtEEEEbRNS_11ModSequenceERNS_6detail10File
lea ecx, [ebp - 0x14c]
call fcn.62925c94
lea eax, [ebp - 0x474]
mov dword [esp + 4], 0x58434f4d
mov dword [esp], eax
lea ecx, [ebp - 0x14c]
call fcn.629c9450
push ecx
lea ebx, [ebp - 0x14c]
push ecx
mov ecx, ebx
mov dword [esp], 3
call fcn.629c8e18
jmp 0x6295c703
lea ecx, [ebp - 0x14c]
call fcn.62925c94
jmp 0x6295e109
mov cl, al
mov eax, 0xa0
push edx
test cl, cl
lea edx, [ebp - 0x32c]
je 0x6295c74c
mov dword [esp], ebx
call sym.__ZN3mpt14mpt_libopenmpt2IO10FileReader9ReadIntBEItN7OpenMPT6detail10FileReaderINS1_24FileCursorTraitsFileDataENS1_24FileCurso
movzx eax, ax
mov edi, dword [ebp - 0x49c]
mov dword [esp + 4], eax
lea eax, [ebp - 0x14c]
mov dword [esp + 8], 4
lea ecx, [edi + 0x13cfd8]
mov dword [esp], eax
call sym.__ZN7OpenMPT11SongMessage4ReadERNS_6detail10FileReaderIN3mpt14mpt_libopenmpt2IO24FileCursorTraitsFileDataENS5_24FileCursorFile
jmp 0x6295c777
test eax, eax
je 0x6295c757
mov ecx, eax
dec eax
cmp byte [edx + eax], 0x20
je 0x6295c748
mov eax, ecx
mov edi, dword [ebp - 0x49c]
mov dword [esp + 8], 4
mov dword [esp + 4], eax
mov dword [esp], edx
lea ecx, [edi + 0x13cfd8]
call method.OpenMPT::SongMessage.Read_std::byte_const__unsigned_int__OpenMPT::SongMessage::LineEnding_
sub esp, 0xc
lea ecx, [ebp - 0x14c]
call fcn.62925c94
lea eax, [ebp - 0x474]
mov dword [esp + 4], 0x54434e31
mov dword [esp], eax
lea ecx, [ebp - 0x14c]
call fcn.629c9450
push eax
lea ebx, [ebp - 0x14c]
push eax
mov dword [esp], ebx
call sym.__ZN3mpt14mpt_libopenmpt2IO10FileReader9ReadUint8IN7OpenMPT6detail10FileReaderINS1_24FileCursorTraitsFileDataENS1_24FileCursor
test al, al
je 0x6295c7f5
lea ecx, [ebp - 0x14c]
call fcn.62925c94
lea eax, [ebp - 0x474]
mov dword [esp + 4], 0x54434e32
mov dword [esp], eax
lea ecx, [ebp - 0x14c]
call fcn.629c9450
push eax
lea ecx, [ebp - 0x14c]
push eax
mov dword [esp], 0xc
call fcn.629c8e18
jmp 0x6295c876
mov dword [esp], 0xa58
mov ecx, ebx
call fcn.62924a60
test al, al
push edi
je 0x6295c7b5
lea eax, [ebp - 0x268]
mov dword [esp + 4], 4
mov dword [esp], eax
lea ecx, [ebp - 0x14c]
call sym.__ZNK3mpt14mpt_libopenmpt2IO10FileCursorINS1_24FileCursorTraitsFileDataENS1_24FileCursorFilenameTraitsINS0_15BasicPathStringIN
push esi
xor ecx, ecx
push esi
cmp edx, 4
jne 0x6295c844
mov dword [esp], 4
mov ecx, ebx
call fcn.62924a9c
mov ecx, dword [ebp - 0x268]
push ebx
bswap ecx
mov eax, dword [ebp - 0x49c]
lea edx, [eax + 0x75418]
xor eax, eax
mov esi, dword [edx]
mov ebx, esi
and bh, 0xfb
bt ecx, eax
jb 0x6295c866
or esi, 0x400
mov ebx, esi
inc eax
mov dword [edx], ebx
add edx, 0x20
cmp eax, 0x20
jne 0x6295c852
jmp 0x6295c7b5
test al, al
push ecx
je 0x6295ca0f
mov dword [esp], 0xc
lea ecx, [ebp - 0x14c]
call fcn.629c8e18
test al, al
push edx
lea eax, [ebp - 0x268]
jne 0x6295c8b0
xor ecx, ecx
lea edx, [ebp - 0x25c]
mov word [eax], cx
add eax, 2
cmp eax, edx
jne 0x6295c8a4
jmp 0x6295c8c8
mov dword [esp], eax
mov dword [esp + 4], 0xc
lea ecx, [ebp - 0x14c]
call fcn.62924ad4
push eax
push eax
movzx eax, word [ebp - 0x264]
mov edx, 0x2710
xchg al, ah
movzx eax, ax
mul edx
add eax, 0x8000
adc edx, 0
shrd eax, edx, 0x10
shr edx, 0x10
mov dword [esp], eax
mov dword [esp + 4], edx
call method.unsigned_int_mpt::mpt_libopenmpt.saturate_cast_unsigned_int__unsigned_long_long__unsigned_long_long_
movzx ecx, word [ebp - 0x266]
xchg cl, ch
cmp cx, 0x3e7
jbe 0x6295c90d
mov ecx, 0x3e7
jmp 0x6295c918
cmp cx, 0x20
jae 0x6295c918
mov ecx, 0x20
movzx ecx, cx
imul ecx, ecx, 0x2710
xor edx, edx
mov ebx, 0x2710
div ebx
mov eax, dword [ebp - 0x49c]
add ecx, edx
mov dword [eax + 0x753cc], ecx
movzx eax, word [ebp - 0x262]
xchg al, ah
cmp ax, 0xff
jbe 0x6295c94e
mov eax, 0xff
jmp 0x6295c958
test ax, ax
jne 0x6295c958
mov eax, 1
mov edi, dword [ebp - 0x49c]
movzx eax, ax
mov dword [edi + 0x753c4], eax
movzx eax, word [ebp - 0x25e]
xchg al, ah
cmp ax, 0x10
jbe 0x6295c97d
mov eax, 0x10
jmp 0x6295c987
test ax, ax
jne 0x6295c987
mov eax, 1
movzx ebx, ax
mov eax, 0x10
mov edi, dword [ebp - 0x49c]
cdq
movzx ecx, word [ebp - 0x260]
idiv ebx
xchg cl, ch
cmp cx, 0x10
mov dword [edi + 0x753d8], eax
jbe 0x6295c9b4
mov ecx, 0x10
jmp 0x6295c9be
test cx, cx
jne 0x6295c9be
mov ecx, 1
movzx ecx, cx
imul ecx, eax
mov eax, dword [ebp - 0x49c]
cmp word [ebp - 0x268], 0
mov dword [eax + 0x753dc], ecx
je 0x6295ca0f
lea eax, [ebp - 0x14c]
mov dword [esp], eax
call sym.__ZN3mpt14mpt_libopenmpt2IO10FileReader9ReadIntBEItN7OpenMPT6detail10FileReaderINS1_24FileCursorTraitsFileDataENS1_24FileCurso
mov edi, dword [ebp - 0x49c]
mov edx, dword [edi + 0x753d0]
mov ecx, edx
and ecx, 0xffffffef
test ax, ax
jne 0x6295ca03
or edx, 0x10
mov ecx, edx
mov eax, dword [ebp - 0x49c]
mov dword [eax + 0x753d0], ecx
lea ebx, [ebp - 0x14c]
mov ecx, ebx
call fcn.62925c94
lea eax, [ebp - 0x474]
mov dword [esp + 4], 0x54564f4c
mov dword [esp], eax
mov ecx, ebx
call fcn.629c9450
push edi
mov ecx, ebx
push edi
mov dword [esp], 2
call fcn.629c8e18
test al, al
push esi
je 0x6295ca9f
mov eax, dword [ebp - 0x49c]
mov si, word [eax + 0x753bc]
mov dword [esp], ebx
call sym.__ZN3mpt14mpt_libopenmpt2IO10FileReader9ReadIntBEItN7OpenMPT6detail10FileReaderINS1_24FileCursorTraitsFileDataENS1_24FileCurso
cmp si, ax
jbe 0x6295ca65
mov esi, eax
xor edi, edi
cmp si, di
jbe 0x6295ca9f
lea eax, [ebp - 0x14c]
mov dword [esp], eax
call sym.__ZN3mpt14mpt_libopenmpt2IO10FileReader9ReadIntBEItN7OpenMPT6detail10FileReaderINS1_24FileCursorTraitsFileDataENS1_24FileCurso
mov edx, edi
shl edx, 5
cmp ax, 0x1000
jbe 0x6295ca8a
mov eax, 0x1000
mov ecx, dword [ebp - 0x49c]
inc edi
shr ax, 6
mov word [ecx + edx + 0x7541e], ax
jmp 0x6295ca67
mov ecx, ebx
call fcn.62925c94
lea eax, [ebp - 0x474]
mov dword [esp + 4], 0x4d495850
mov dword [esp], eax
lea ecx, [ebp - 0x268]
call fcn.629c9450
push ecx
push ecx
lea ecx, [ebp - 0x268]
mov dword [esp], 0x38
call fcn.629c8e18
test al, al
push edx
je 0x6295cca3
lea ebx, [ebp - 0x14c]
mov dword [esp + 4], 0x38
mov dword [esp], ebx
lea ecx, [ebp - 0x268]
call sym.__ZNK3mpt14mpt_libopenmpt2IO10FileCursorINS1_24FileCursorTraitsFileDataENS1_24FileCursorFilenameTraitsINS0_15BasicPathStringIN
push eax
cmp edx, 0x38
push eax
jne 0x6295cb17
mov dword [esp], 0x38
lea ecx, [ebp - 0x268]
call fcn.62924a9c
push edi
jmp 0x6295cb22
mov ecx, 0xe
xor eax, eax
mov edi, ebx
rep stosd dword es:[edi], eax
cmp word [ebp - 0x12a], 0x400
jne 0x6295cca3
cmp word [ebp - 0x11c], 0x101
jne 0x6295cca3
movzx eax, word [ebp - 0x124]
xchg al, ah
cmp ax, 0x4000
jbe 0x6295cb54
mov eax, 0x4000
movzx eax, ax
xor edx, edx
shld edx, eax, 8
shl eax, 8
add eax, 0x800
adc edx, 0
xor ebx, ebx
shrd eax, edx, 0xc
shr edx, 0xc
mov dword [esp], eax
mov dword [esp + 4], edx
call method.unsigned_int_mpt::mpt_libopenmpt.saturate_cast_unsigned_int__unsigned_long_long__unsigned_long_long_
mov edi, dword [ebp - 0x49c]
mov dword [edi + 0x753c8], eax
movzx eax, word [ebp - 0x126]
xchg al, ah
cmp bx, ax
jae 0x6295cca3
lea eax, [ebp - 0x3bc]
mov dword [esp + 4], 8
mov dword [esp], eax
lea ecx, [ebp - 0x268]
call sym.__ZNK3mpt14mpt_libopenmpt2IO10FileCursorINS1_24FileCursorTraitsFileDataENS1_24FileCursorFilenameTraitsINS0_15BasicPathStringIN
push esi
cmp edx, 8
push esi
jne 0x6295cbd3
mov dword [esp], 8
lea ecx, [ebp - 0x268]
call fcn.62924a9c
push ecx
jmp 0x6295cbe7
mov dword [ebp - 0x3bc], 0
mov dword [ebp - 0x3b8], 0
cmp byte [ebp - 0x3bc], 0
jne 0x6295cc9d
movzx eax, word [ebp - 0x3ba]
mov esi, dword [ebp - 0x49c]
xchg al, ah
cmp word [esi + 0x753bc], ax
jbe 0x6295cc9d
movzx eax, ax
shl eax, 5
xor edx, edx
mov dword [esp + 8], 0xfff
mov dword [esp + 0xc], 0
lea esi, [esi + eax + 0x75418]
movzx eax, word [ebp - 0x3b6]
xchg al, ah
movzx eax, ax
shld edx, eax, 8
shl eax, 8
add eax, 0x7ff
adc edx, 0
mov dword [esp], eax
mov dword [esp + 4], edx
call dbg.__udivdi3
mov dword [esp + 4], edx
mov dword [esp], eax
call method.unsigned_int_mpt::mpt_libopenmpt.saturate_cast_unsigned_int__unsigned_long_long__unsigned_long_long_
xor edx, edx
mov word [esi + 4], ax
movzx eax, word [ebp - 0x3b8]
xchg al, ah
movzx eax, ax
shld edx, eax, 6
shl eax, 6
add eax, 0x800
adc edx, 0
shrd eax, edx, 0xc
shr edx, 0xc
mov dword [esp], eax
mov dword [esp + 4], edx
call method.unsigned_int_mpt::mpt_libopenmpt.saturate_cast_unsigned_int__unsigned_long_long__unsigned_long_long_
movzx eax, al
mov word [esi + 6], ax
inc ebx
jmp 0x6295cb89
lea ecx, [ebp - 0x268]
call fcn.62925c94
lea eax, [ebp - 0x474]
mov dword [esp + 4], 0x53414d32
mov dword [esp], eax
lea ecx, [ebp - 0x450]
call sym.__ZNK3mpt14mpt_libopenmpt2IO10FileReader9ChunkListIN7OpenMPT8GT2ChunkENS4_6detail10FileReaderINS1_24FileCursorTraitsFileDataEN
mov eax, dword [ebp - 0x44c]
push edx
push edx
mov dword [ebp - 0x4a0], eax
mov edi, dword [ebp - 0x450]
cmp edi, dword [ebp - 0x4a0]
je 0x6295d1a1
lea eax, [ebp - 0x14c]
mov dword [esp + 4], 0x4e
mov dword [esp], eax
mov ecx, edi
call sym.__ZNK3mpt14mpt_libopenmpt2IO10FileCursorINS1_24FileCursorTraitsFileDataENS1_24FileCursorFilenameTraitsINS0_15BasicPathStringIN
push eax
cmp edx, 0x4e
push eax
jne 0x6295ceea
mov dword [esp], 0x4e
mov ecx, edi
call fcn.62924a9c
push eax
movzx eax, word [ebp - 0x14c]
xchg al, ah
lea edx, [eax - 1]
cmp dx, 0xf9e
ja 0x6295ceea
movzx edx, word [ebp - 0x11c]
xchg dl, dh
cmp dx, 1
ja 0x6295ceea
movzx edx, word [ebp - 0x12e]
xchg dl, dh
cmp dx, 1
ja 0x6295ceea
mov esi, dword [ebp - 0x49c]
cmp word [esi + 0x753be], ax
jae 0x6295cd75
mov esi, dword [ebp - 0x49c]
mov word [esi + 0x753be], ax
movzx eax, ax
imul eax, eax, 0x68
mov esi, dword [ebp - 0x49c]
mov dword [esp], 0x20
lea ebx, [esi + eax + 0x7641c]
mov ecx, ebx
call method.OpenMPT::ModSample.Initialize_OpenMPT::MODTYPE_
mov ecx, ebx
push eax
call method.OpenMPT::ModSample.Set16BitCuePoints__
movzx eax, word [ebp - 0x124]
xchg al, ah
shr ax, 2
mov word [ebx + 0x20], ax
movzx eax, word [ebp - 0x126]
xchg al, ah
test ax, ax
jle 0x6295cdff
cwde
cdq
shld edx, eax, 8
shl eax, 8
or word [ebx + 0x22], 0x20
add eax, 0x7ff
mov dword [esp + 8], 0xfff
adc edx, 0
mov dword [esp + 0xc], 0
mov dword [esp], eax
mov dword [esp + 4], edx
call dbg.__udivdi3
mov dword [esp], eax
mov dword [esp + 4], edx
call method.unsigned_int_mpt::mpt_libopenmpt.saturate_cast_unsigned_int__unsigned_long_long__unsigned_long_long_
mov word [ebx + 0x1c], ax
mov eax, dword [ebp - 0x112]
mov edx, dword [ebp - 0x10a]
bswap eax
mov dword [ebx], eax
mov eax, dword [ebp - 0x10e]
bswap eax
movzx ecx, word [ebp - 0x120]
bswap edx
xchg cl, ch
mov dword [ebx + 4], eax
add eax, edx
test cx, cx
mov dword [ebx + 8], eax
mov ax, word [ebx + 0x22]
je 0x6295cef2
mov edx, eax
or eax, 6
or edx, 2
and cl, 2
movzx edx, dx
movzx eax, ax
je 0x6295cefa
mov word [ebx + 0x22], ax
mov eax, dword [ebp - 0x116]
bswap eax
add eax, eax
mov dword [ebx + 0x18], eax
movzx eax, word [ebp - 0x122]
xchg al, ah
test ax, ax
jne 0x6295cf04
movzx eax, word [ebp - 0x122]
xchg al, ah
shl eax, 4
mov byte [ebx + 0x25], al
lea eax, [ebp - 0x14a]
mov dword [ebp - 0x268], eax
lea eax, [ebp - 0x268]
mov dword [esp], eax
lea ecx, [ebp - 0x418]
mov dword [ebp - 0x264], 0x1c
mov byte [ebp - 0x260], 3
call method.OpenMPT::mpt::StringModeBufRefImpl_char_const_::operator_std::__cxx11::basic_string_char__std::char_traits_char___std.allocator_char______const
movzx eax, word [ebp - 0x14c]
xchg al, ah
movzx eax, ax
shl eax, 5
mov esi, dword [ebp - 0x49c]
push ecx
lea ecx, [esi + eax + 0xe7080]
lea esi, [ebp - 0x418]
mov dword [esp], esi
call method.mpt::mpt_libopenmpt::charbuf_32u_.operator_std::__cxx11::basic_string_char__std::char_traits_char___std::allocator_char____const_
mov ecx, esi
push eax
call method.std::__cxx11::basic_string_char__std::char_traits_char___std::allocator_char___._M_dispose__
test byte [ebp + 0xc], 2
jne 0x6295cf28
add edi, 0x14
jmp 0x6295ccde
mov edx, eax
and edx, 0xfffd
mov eax, edx
and eax, 0xfffffffb
jmp 0x6295ce4e
fld dword [0x62b18f10]
mov word [ebp - 0x4b0], ax
mov ecx, ebx
fidivr word [ebp - 0x4b0]
fstp qword [esp]
call method.OpenMPT::ModSample.Transpose_double_
push eax
push eax
jmp 0x6295ce71
mov eax, dword [ebp - 0x102]
mov ecx, edi
bswap eax
sub eax, 8
mov dword [esp], eax
call fcn.62924a60
test al, al
push edx
je 0x6295ceea
cmp word [ebp - 0x12e], 0
jne 0x6295cfa8
cmp word [ebp - 0x12a], 0
sete cl
xor eax, eax
mov byte [ebp - 0x266], cl
cmp word [ebp - 0x128], 0x100
setne al
xor edx, edx
inc eax
cmp word [ebp - 0x12c], 0x800
setne dl
mov dword [esp + 4], edi
mov dword [esp], ebx
lea edx, [edx*8 + 8]
lea ecx, [ebp - 0x268]
mov byte [ebp - 0x268], dl
mov byte [ebp - 0x267], al
mov byte [ebp - 0x265], 0
call sym.__ZNK7OpenMPT8SampleIO10ReadSampleERNS_9ModSampleERNS_6detail10FileReaderIN3mpt14mpt_libopenmpt2IO24FileCursorTraitsFileDataEN
push eax
push eax
lea eax, [ebp - 0x428]
mov dword [esp], edi
mov dword [ebp - 0x430], eax
lea ecx, [ebp - 0x3bc]
movzx eax, word [ebp - 0x11a]
xchg al, ah
movzx eax, ax
mov dword [esp + 4], eax
mov dword [ebp - 0x42c], 0
mov byte [ebp - 0x428], 0
call fcn.629245dc
lea ecx, [ebp - 0x3bc]
push esi
push esi
call fcn.629c8be0
mov dword [ebp - 0x400], eax
mov eax, dword [ebp - 0x3bc]
mov dword [ebp - 0x3fc], eax
lea esi, [ebp - 0x268]
lea eax, [ebp - 0x400]
mov ecx, esi
mov dword [esp], eax
mov byte [ebp - 0x3f8], 2
call method.OpenMPT::mpt::StringModeBufRefImpl_char_const_::operator_std::__cxx11::basic_string_char__std::char_traits_char___std.allocator_char______const
push edx
lea edx, [ebp - 0x430]
mov ecx, edx
mov dword [esp], esi
call method.std::__cxx11::basic_string_char__std::char_traits_char___std::allocator_char___.operator_std::__cxx11::basic_string_char__std::char_traits_char___std::allocator_char____
add ebx, 0x2b
push ecx
mov ecx, esi
call method.std::__cxx11::basic_string_char__std::char_traits_char___std::allocator_char___._M_dispose__
lea ecx, [ebp - 0x3b4]
call fcn.62a323ac
lea edx, [ebp - 0x430]
mov dword [esp], edx
mov ecx, esi
mov dword [ebp - 0x268], ebx
mov dword [ebp - 0x264], 0x16
call method.mpt::mpt_libopenmpt::StringBufRefImpl_std::__cxx11::basic_string_char__std::char_traits_char___std::allocator_char_____char_.operator_std::__cxx11::basic_string_char__std::char_traits_char___std::allocator_char____const_
cmp word [ebp - 0x12e], 0x100
push ebx
jne 0x6295d191
jmp 0x6295d08a
mov dword [esp], 0x62b18e62
mov ecx, esi
call fcn.62a6457c
lea ebx, [ebp - 0x268]
push eax
lea ecx, [ebp - 0x418]
mov dword [esp], ebx
call fcn.62a634a8
mov ecx, ebx
lea esi, [ebp - 0x3bc]
push eax
call method.std::__cxx11::basic_string_char__mpt::mpt_libopenmpt.encoding_char_traits__mpt::mpt_libopenmpt::common_encoding_0__mpt::mpt_libopenmpt::common_encoding___std::allocator_char___::_M_dispose__
lea eax, [ebp - 0x430]
mov ecx, esi
mov dword [esp], eax
call method.std::__cxx11::basic_string_char__std::char_traits_char___std::allocator_char___.basic_string_std::__cxx11::basic_string_char__std::char_traits_char___std::allocator_char____const_
push eax
lea eax, [ebp - 0x45c]
mov dword [esp + 4], esi
mov dword [esp], eax
mov ecx, ebx
mov dword [ebp - 0x45c], 0
call method.std::__cxx11::basic_string_char32_t__std::char_traits_char32_t___std::allocator_char32_t____OpenMPT::mpt::CharsetTranscoder::decode_std::__cxx11::basic_string_char__std::char_traits_char___std.allocator_char______std::__cxx11::basic_string_char__st
push eax
push eax
lea eax, [ebp - 0x400]
mov dword [esp + 8], 0x3f
mov dword [esp + 4], ebx
mov dword [esp], eax
call sym.__ZN3mpt14mpt_libopenmpt11encode_utf8INSt7__cxx1112basic_stringIcNS0_20encoding_char_traitsILNS0_15common_encodingE0ES5_EESaIc
mov ecx, ebx
call method.std::__cxx11::basic_string_char32_t__std::char_traits_char32_t___std::allocator_char32_t___._M_dispose__
mov ecx, esi
call method.std::__cxx11::basic_string_char__std::char_traits_char___std::allocator_char___._M_dispose__
lea eax, [ebp - 0x14c]
lea esi, [ebp - 0x400]
mov dword [esp + 4], eax
lea eax, [ebp - 0x418]
mov dword [esp + 8], esi
mov dword [esp], eax
mov ecx, ebx
call fcn.629c7a5c
sub esp, 0xc
mov ecx, dword [ebp - 0x49c]
mov dword [esp + 4], ebx
mov dword [esp], 2
call sym.__ZNK7OpenMPT10CSoundFile8AddToLogENS_8LogLevelERKNSt7__cxx1112basic_stringIcN3mpt14mpt_libopenmpt20encoding_char_traitsILNS5_
mov ecx, ebx
push eax
push eax
call method.std::__cxx11::basic_string_char__mpt::mpt_libopenmpt.encoding_char_traits__mpt::mpt_libopenmpt::common_encoding_0__mpt::mpt_libopenmpt::common_encoding___std::allocator_char___::_M_dispose__
lea ecx, [ebp - 0x400]
call method.std::__cxx11::basic_string_char__mpt::mpt_libopenmpt.encoding_char_traits__mpt::mpt_libopenmpt::common_encoding_0__mpt::mpt_libopenmpt::common_encoding___std::allocator_char___::_M_dispose__
lea ecx, [ebp - 0x418]
call method.std::__cxx11::basic_string_char__mpt::mpt_libopenmpt.encoding_char_traits__mpt::mpt_libopenmpt::common_encoding_0__mpt::mpt_libopenmpt::common_encoding___std::allocator_char___::_M_dispose__
jmp 0x6295d191
lea ecx, [ebp - 0x430]
call method.std::__cxx11::basic_string_char__std::char_traits_char___std::allocator_char___._M_dispose__
jmp 0x6295ceea
lea ecx, [ebp - 0x450]
call fcn.62a5b838
lea eax, [ebp - 0x474]
mov dword [esp + 4], 0x53414d50
mov dword [esp], eax
lea ecx, [ebp - 0x3bc]
call sym.__ZNK3mpt14mpt_libopenmpt2IO10FileReader9ChunkListIN7OpenMPT8GT2ChunkENS4_6detail10FileReaderINS1_24FileCursorTraitsFileDataEN
mov eax, dword [ebp - 0x3b8]
push edi
push edi
mov dword [ebp - 0x4a0], eax
mov edi, dword [ebp - 0x3bc]
cmp edi, dword [ebp - 0x4a0]
je 0x6295d47a
lea eax, [ebp - 0x14c]
mov dword [esp + 4], 0x38
mov dword [esp], eax
mov ecx, edi
call sym.__ZNK3mpt14mpt_libopenmpt2IO10FileCursorINS1_24FileCursorTraitsFileDataENS1_24FileCursorFilenameTraitsINS0_15BasicPathStringIN
push esi
cmp edx, 0x38
push esi
jne 0x6295d3f3
mov dword [esp], 0x38
mov ecx, edi
call fcn.62924a9c
movzx eax, word [ebp - 0x14c]
xchg al, ah
push ebx
lea edx, [eax - 1]
cmp dx, 0xf9e
ja 0x6295d3f3
cmp word [ebp - 0x116], 0
jne 0x6295d3f3
mov esi, dword [ebp - 0x49c]
cmp word [esi + 0x753be], ax
jae 0x6295d25b
mov esi, dword [ebp - 0x49c]
mov word [esi + 0x753be], ax
movzx eax, ax
imul eax, eax, 0x68
mov esi, dword [ebp - 0x49c]
mov dword [esp], 0x20
lea ebx, [esi + eax + 0x7641c]
mov ecx, ebx
call method.OpenMPT::ModSample.Initialize_OpenMPT::MODTYPE_
push ecx
mov ecx, ebx
call method.OpenMPT::ModSample.Set16BitCuePoints__
movzx eax, word [ebp - 0x11a]
xchg al, ah
cwde
shr eax, 2
mov word [ebx + 0x20], ax
movzx eax, word [ebp - 0x12c]
xchg al, ah
test ax, ax
jle 0x6295d2e5
cwde
cdq
shld edx, eax, 8
shl eax, 8
or word [ebx + 0x22], 0x20
add eax, 0x7ff
mov dword [esp + 8], 0xfff
adc edx, 0
mov dword [esp + 0xc], 0
mov dword [esp], eax
mov dword [esp + 4], edx
call dbg.__udivdi3
mov dword [esp], eax
mov dword [esp + 4], edx
call method.unsigned_int_mpt::mpt_libopenmpt.saturate_cast_unsigned_int__unsigned_long_long__unsigned_long_long_
mov word [ebx + 0x1c], ax
mov eax, dword [ebp - 0x122]
mov ecx, dword [ebp - 0x11e]
bswap eax
bswap ecx
mov edx, dword [ebp - 0x126]
mov dword [ebx + 4], eax
bswap edx
lea esi, [eax + ecx]
mov dword [ebx], edx
cmp word [ebp - 0x12a], 0x1000
mov dword [ebx + 8], esi
jne 0x6295d323
shr edx, 1
shr esi, 1
mov dword [ebx], edx
mov edx, eax
mov dword [ebx + 8], esi
shr edx, 1
mov dword [ebx + 4], edx
mov dx, word [ebx + 0x22]
cmp ecx, 2
ja 0x6295d3fb
mov ecx, edx
and ecx, 0xfffd
test eax, eax
jne 0x6295d3fb
mov eax, ecx
and eax, 0xfffffffb
test byte [ebp - 0x12d], 2
je 0x6295d353
mov eax, ecx
or eax, 4
mov word [ebx + 0x22], ax
movzx eax, word [ebp - 0x128]
xchg al, ah
movzx eax, ax
add eax, eax
mov dword [ebx + 0x18], eax
movzx eax, word [ebp - 0x118]
xchg al, ah
test ax, ax
jne 0x6295d408
movzx eax, word [ebp - 0x118]
xchg al, ah
shl eax, 4
mov byte [ebx + 0x25], al
lea eax, [ebp - 0x14a]
mov dword [ebp - 0x268], eax
lea eax, [ebp - 0x268]
mov dword [esp], eax
lea ecx, [ebp - 0x400]
mov dword [ebp - 0x264], 0x1c
mov byte [ebp - 0x260], 3
call method.OpenMPT::mpt::StringModeBufRefImpl_char_const_::operator_std::__cxx11::basic_string_char__std::char_traits_char___std.allocator_char______const
push eax
mov esi, dword [ebp - 0x49c]
movzx eax, word [ebp - 0x14c]
xchg al, ah
movzx eax, ax
shl eax, 5
lea ecx, [esi + eax + 0xe7080]
lea esi, [ebp - 0x400]
mov dword [esp], esi
call method.mpt::mpt_libopenmpt::charbuf_32u_.operator_std::__cxx11::basic_string_char__std::char_traits_char___std::allocator_char____const_
mov ecx, esi
push eax
call method.std::__cxx11::basic_string_char__std::char_traits_char___std::allocator_char___._M_dispose__
test byte [ebp + 0xc], 2
jne 0x6295d42c
add edi, 0x14
jmp 0x6295d1dc
mov eax, edx
or eax, 2
movzx ecx, ax
jmp 0x6295d340
fld dword [0x62b18f10]
mov word [ebp - 0x4b0], ax
mov ecx, ebx
fidivr word [ebp - 0x4b0]
fstp qword [esp]
call method.OpenMPT::ModSample.Transpose_double_
push edx
push edx
jmp 0x6295d37a
movzx eax, byte [ebp - 0x12d]
xor edx, edx
and eax, 1
inc eax
mov dword [esp + 4], edi
cmp word [ebp - 0x12a], 0x800
setne dl
mov dword [esp], ebx
lea ecx, [ebp - 0x268]
lea edx, [edx*8 + 8]
mov byte [ebp - 0x267], al
mov byte [ebp - 0x268], dl
mov word [ebp - 0x266], 1
call sym.__ZNK7OpenMPT8SampleIO10ReadSampleERNS_9ModSampleERNS_6detail10FileReaderIN3mpt14mpt_libopenmpt2IO24FileCursorTraitsFileDataEN
push eax
push eax
jmp 0x6295d3f3
lea ecx, [ebp - 0x3bc]
lea ebx, [ebp - 0x474]
call fcn.62a5b838
mov dword [esp + 4], 0x56454e56
mov dword [esp], ebx
lea ecx, [ebp - 0x468]
call sym.__ZNK3mpt14mpt_libopenmpt2IO10FileReader9ChunkListIN7OpenMPT8GT2ChunkENS4_6detail10FileReaderINS1_24FileCursorTraitsFileDataEN
push eax
lea ecx, [ebp - 0x45c]
push eax
mov dword [esp + 4], 0x54454e56
mov dword [esp], ebx
call sym.__ZNK3mpt14mpt_libopenmpt2IO10FileReader9ChunkListIN7OpenMPT8GT2ChunkENS4_6detail10FileReaderINS1_24FileCursorTraitsFileDataEN
push eax
lea ecx, [ebp - 0x450]
push eax
mov dword [esp + 4], 0x50454e56
mov dword [esp], ebx
call sym.__ZNK3mpt14mpt_libopenmpt2IO10FileReader9ChunkListIN7OpenMPT8GT2ChunkENS4_6detail10FileReaderINS1_24FileCursorTraitsFileDataEN
push edi
lea ecx, [ebp - 0x400]
push edi
mov dword [esp + 4], 0x494e5354
mov dword [esp], ebx
call sym.__ZNK3mpt14mpt_libopenmpt2IO10FileReader9ChunkListIN7OpenMPT8GT2ChunkENS4_6detail10FileReaderINS1_24FileCursorTraitsFileDataEN
mov eax, dword [ebp - 0x3fc]
push esi
mov dword [ebp - 0x4b4], eax
mov eax, dword [ebp - 0x400]
push esi
mov dword [ebp - 0x4a0], eax
mov edi, dword [ebp - 0x4a0]
cmp dword [ebp - 0x4b4], edi
je 0x6295db82
lea eax, [ebp - 0x14c]
mov dword [esp + 4], 0x134
mov dword [esp], eax
mov ecx, edi
call sym.__ZNK3mpt14mpt_libopenmpt2IO10FileCursorINS1_24FileCursorTraitsFileDataENS1_24FileCursorFilenameTraitsINS0_15BasicPathStringIN
push ebx
cmp edx, 0x134
push ebx
jne 0x6295d722
mov dword [esp], 0x134
mov ecx, dword [ebp - 0x4a0]
call fcn.62924a9c
cmp word [ebp - 0x12e], 0
push ecx
jne 0x6295d722
movzx eax, word [ebp - 0x14c]
xchg al, ah
movzx eax, ax
mov dword [esp + 4], 0
mov dword [esp], eax
mov ecx, dword [ebp - 0x49c]
call method.OpenMPT::CSoundFile.AllocateInstrument_unsigned_short__unsigned_short_
push edx
mov esi, eax
push edx
test eax, eax
je 0x6295d722
movzx eax, word [ebp - 0x14c]
mov edi, dword [ebp - 0x49c]
xchg al, ah
cmp word [edi + 0x753c0], ax
jae 0x6295d5af
mov edi, dword [ebp - 0x49c]
mov word [edi + 0x753c0], ax
lea eax, [ebp - 0x14a]
lea ebx, [ebp - 0x3bc]
mov dword [ebp - 0x268], eax
lea eax, [ebp - 0x268]
mov dword [esp], eax
mov ecx, ebx
mov dword [ebp - 0x264], 0x1c
mov byte [ebp - 0x260], 3
call method.OpenMPT::mpt::StringModeBufRefImpl_char_const_::operator_std::__cxx11::basic_string_char__std::char_traits_char___std.allocator_char______const
push edi
lea ecx, [esi + 0x1ec]
mov dword [esp], ebx
call method.mpt::mpt_libopenmpt::charbuf_32u_.operator_std::__cxx11::basic_string_char__std::char_traits_char___std::allocator_char____const_
mov ecx, ebx
push eax
call method.std::__cxx11::basic_string_char__std::char_traits_char___std::allocator_char___._M_dispose__
mov byte [esi + 0x21], 2
movzx eax, word [ebp - 0x12a]
xchg al, ah
test ax, ax
jle 0x6295d655
or byte [esi + 0xf], 1
movzx eax, word [ebp - 0x12a]
xor edx, edx
xchg al, ah
cwde
shld edx, eax, 8
shl eax, 8
mov dword [esp + 8], 0xfff
add eax, 0x7ff
mov dword [esp + 0xc], 0
adc edx, 0
mov dword [esp], eax
mov dword [esp + 4], edx
call dbg.__udivdi3
mov dword [esp], eax
mov dword [esp + 4], edx
call method.unsigned_int_mpt::mpt_libopenmpt.saturate_cast_unsigned_int__unsigned_long_long__unsigned_long_long_
mov dword [esi + 8], eax
xor eax, eax
inc eax
cmp eax, 0x81
jne 0x6295d72e
mov dword [esp], esi
lea ecx, [ebp - 0x268]
call method.OpenMPT::ModInstrument.GetSamples___const
push ebx
mov eax, dword [ebp - 0x25c]
movzx ebx, word [ebp - 0x12c]
xchg bl, bh
lea edx, [ebp - 0x264]
cmp eax, edx
jne 0x6295d76b
mov eax, dword [ebp - 0x260]
lea ecx, [ebp - 0x268]
mov dword [esp], eax
call method.std::_Rb_tree_unsigned_short__unsigned_short__std::_Identity_unsigned_short___std::less_unsigned_short___std::allocator_unsigned_short___._M_erase_std::_Rb_tree_node_unsigned_short__
push ecx
mov word [esi + 0x15], 0x80ff
movzx eax, word [ebp - 0x11a]
xchg al, ah
test ax, ax
jne 0x6295d79b
mov dword [esi], 0
lea eax, [ebp - 0x468]
movzx ecx, word [ebp - 0x128]
mov dword [esp], eax
xchg cl, ch
xor edx, edx
mov eax, esi
movzx ecx, cx
call sym.__ZN7OpenMPTL18ConvertGT2EnvelopeERNS_13ModInstrumentENS_12EnvelopeTypeEtRSt6vectorINS_6detail10FileReaderIN3mpt14mpt_libopenm
movzx ecx, word [ebp - 0x124]
lea eax, [ebp - 0x450]
xchg cl, ch
mov dword [esp], eax
mov edx, 1
movzx ecx, cx
mov eax, esi
call sym.__ZN7OpenMPTL18ConvertGT2EnvelopeERNS_13ModInstrumentENS_12EnvelopeTypeEtRSt6vectorINS_6detail10FileReaderIN3mpt14mpt_libopenm
movzx ecx, word [ebp - 0x126]
lea eax, [ebp - 0x45c]
xchg cl, ch
mov dword [esp], eax
mov edx, 2
movzx ecx, cx
mov eax, esi
call sym.__ZN7OpenMPTL18ConvertGT2EnvelopeERNS_13ModInstrumentENS_12EnvelopeTypeEtRSt6vectorINS_6detail10FileReaderIN3mpt14mpt_libopenm
add dword [ebp - 0x4a0], 0x14
jmp 0x6295d503
movzx edx, byte [ebp + eax*2 - 0x11a]
mov word [esi + eax*2 + 0xea], dx
movzx edx, byte [esi + eax + 0x6b]
movsx ecx, byte [ebp + eax*2 - 0x119]
add edx, ecx
cmp edx, 0x78
jle 0x6295d759
mov edx, 0x78
jmp 0x6295d762
test edx, edx
jg 0x6295d762
mov edx, 1
mov byte [esi + eax + 0x6b], dl
jmp 0x6295d657
movzx edx, word [eax + 0x10]
test dx, dx
je 0x6295d78e
mov edi, dword [ebp - 0x49c]
cmp dx, word [edi + 0x753be]
ja 0x6295d78e
imul edx, edx, 0x68
mov word [edi + edx + 0x7643a], bx
mov dword [esp], eax
call method.std._Rb_tree_increment_std::_Rb_tree_node_base_const_
jmp 0x6295d681
xor ebx, ebx
mov ecx, dword [ebp - 0x4a0]
dec ax
setne bl
lea ebx, [ebx*4 + 0x62]
mov dword [esp], ebx
call fcn.629c8e18
mov edi, ebx
push edx
test al, al
jne 0x6295d7cb
mov ecx, dword [ebp - 0x4a0]
call fcn.629c8e48
mov edi, eax
lea eax, [ebp - 0x3bc]
mov dword [esp + 4], edi
mov dword [esp], eax
mov ecx, dword [ebp - 0x4a0]
call sym.__ZNK3mpt14mpt_libopenmpt2IO10FileCursorINS1_24FileCursorTraitsFileDataENS1_24FileCursorFilenameTraitsINS0_15BasicPathStringIN
push eax
mov ecx, 0x66
push eax
lea eax, [ebp - 0x3bc]
sub ecx, edi
lea edx, [eax + edi]
xor eax, eax
mov edi, edx
rep stosb byte es:[edi], al
mov dword [esp], ebx
mov ecx, dword [ebp - 0x4a0]
call fcn.62924a9c
movzx eax, word [ebp - 0x3bc]
mov edi, eax
push ebx
rol di, 8
mov word [ebp - 0x4a8], di
test ah, 1
je 0x6295d936
mov eax, edi
and ax, 0x18
jne 0x6295d835
mov byte [esi + 0x19], 0
jmp 0x6295d83f
cmp ax, 8
jne 0x6295d83f
mov byte [esi + 0x19], 1
test byte [ebp - 0x4a8], 2
je 0x6295d8c2
lea edi, [ebp - 0x268]
lea eax, [ebp - 0x3ba]
mov dword [esp + 4], 0x18
mov dword [esp], eax
mov ecx, edi
call fcn.62a67cb0
push ecx
push ecx
mov dword [esp + 4], 0
mov dword [esp + 8], 0
mov dword [esp], edi
call method.double_mpt::mpt_libopenmpt::parse_or_double__std::__cxx11::basic_string_char__std::char_traits_char___std.allocator_char______std::__cxx11::basic_string_char__std::char_traits_char___std::allocator_char____const__double_
mov ecx, edi
fstp qword [ebp - 0x4b0]
call method.std::__cxx11::basic_string_char__std::char_traits_char___std::allocator_char___._M_dispose__
fld dword [0x62b18f14]
fld qword [ebp - 0x4b0]
fcom st(1)
fnstsw ax
fstp st(1)
sahf
jbe 0x6295d8c0
fstp qword [esp]
mov ecx, dword [ebp - 0x49c]
call method.OpenMPT::CSoundFile.FrequencyToCutOff_double__const
push edx
test al, al
push edx
jns 0x6295d8b8
mov al, 0x7f
or eax, 0xffffff80
mov byte [esi + 0x15], al
jmp 0x6295d8c2
fstp st(0)
test byte [ebp - 0x3bb], 4
je 0x6295d936
lea edi, [ebp - 0x268]
lea eax, [ebp - 0x38a]
mov dword [esp + 4], 0x18
mov dword [esp], eax
mov ecx, edi
call fcn.62a67cb0
push eax
push eax
mov dword [esp + 4], 0
mov dword [esp + 8], 0
mov dword [esp], edi
call method.double_mpt::mpt_libopenmpt::parse_or_double__std::__cxx11::basic_string_char__std::char_traits_char___std.allocator_char______std::__cxx11::basic_string_char__std::char_traits_char___std::allocator_char____const__double_
mov ecx, edi
fstp qword [ebp - 0x4b0]
call method.std::__cxx11::basic_string_char__std::char_traits_char___std::allocator_char___._M_dispose__
fld qword [ebp - 0x4b0]
fmul dword [0x62b18f18]
fdiv dword [0x62b18ec4]
fstp qword [esp]
call method.unsigned_char_mpt::mpt_libopenmpt.saturate_round_unsigned_char__double_
test al, al
jns 0x6295d930
mov al, 0x7f
or eax, 0xffffff80
mov byte [esi + 0x16], al
mov byte [ebp - 0x4b0], 0
mov al, byte [ebp - 0x4b0]
cmp byte [ebp - 0x357], al
jbe 0x6295d722
lea eax, [ebp - 0x268]
mov dword [esp + 4], 0x11a
mov dword [esp], eax
mov ecx, dword [ebp - 0x4a0]
call sym.__ZNK3mpt14mpt_libopenmpt2IO10FileCursorINS1_24FileCursorTraitsFileDataENS1_24FileCursorFilenameTraitsINS0_15BasicPathStringIN
push eax
cmp edx, 0x11a
push eax
jne 0x6295d98a
mov dword [esp], 0x11a
mov ecx, dword [ebp - 0x4a0]
call fcn.62924a9c
push eax
jmp 0x6295d999
lea edi, [ebp - 0x268]
mov ecx, 0x11a
xor eax, eax
rep stosb byte es:[edi], al
cmp word [ebp - 0x128], 0
setne byte [ebp - 0x418]
cmp word [ebp - 0x126], 0
setne byte [ebp - 0x417]
cmp word [ebp - 0x124], 0
setne byte [ebp - 0x416]
cmp word [ebp - 0x122], 0
setne al
and eax, dword [ebp - 0x4a8]
mov dword [ebp - 0x430], 0x2010200
cmp byte [ebp - 0x4b0], 3
mov byte [ebp - 0x415], al
ja 0x6295db77
movzx eax, byte [ebp - 0x4b0]
cmp byte [ebp + eax - 0x418], 0
je 0x6295db77
cmp byte [ebp - 0x4b0], 3
jne 0x6295da1c
test byte [esi + 0x64], 1
jne 0x6295db77
movzx eax, byte [ebp + eax - 0x430]
mov dword [esp], esi
mov dword [esp + 4], eax
lea ecx, [ebp - 0x268]
mov ebx, eax
call method.OpenMPT::GT2Envelope.ConvertToMPT_OpenMPT::ModInstrument__OpenMPT::EnvelopeType__const
push edi
cmp byte [ebp - 0x4b0], 3
push edi
jne 0x6295da47
or byte [esi + 0x64], 0x10
test bl, bl
jne 0x6295da74
test byte [ebp - 0x25b], 1
je 0x6295da69
movzx eax, word [ebp - 0x25e]
xchg al, ah
and eax, 0x7fff
mov dword [esi], eax
jmp 0x6295db77
mov dword [esi], 0
jmp 0x6295db77
cmp bl, 2
jne 0x6295db77
test byte [ebp - 0x25b], 2
je 0x6295db77
movzx eax, word [ebp - 0x262]
xchg al, ah
test ax, ax
jne 0x6295da9d
mov eax, 1
movzx ecx, ax
mov eax, 0xff
mov dword [esp + 8], 0x64
cdq
idiv ecx
mov dword [ebp - 0x4b8], eax
xor edx, edx
movzx eax, word [ebp - 0x266]
xchg al, ah
movzx eax, ax
shld edx, eax, 6
shl eax, 6
mov dword [esp + 0xc], 0
add eax, 0x32
adc edx, 0
mov dword [esp], eax
mov dword [esp + 4], edx
call dbg.__udivdi3
mov dword [esp], eax
mov dword [esp + 4], edx
call method.unsigned_int_mpt::mpt_libopenmpt.saturate_cast_unsigned_int__unsigned_long_long__unsigned_long_long_
mov ebx, eax
movzx eax, word [ebp - 0x264]
xchg al, ah
test ax, ax
jne 0x6295db06
mov eax, 1
movzx ecx, ax
mov eax, 0x100
cdq
idiv ecx
mov dword [esp], eax
call method.unsigned_char_mpt::mpt_libopenmpt.saturate_cast_unsigned_char__int__int_
cmp ebx, 0xff
movzx edi, al
jbe 0x6295db29
mov ebx, 0xff
movzx edx, word [ebp - 0x260]
xchg dl, dh
cmp dx, 5
jbe 0x6295db3a
xor edx, edx
movzx edx, dx
mov eax, dword [ebp - 0x4b8]
mov dword [esp + 0x10], edi
movzx ecx, word [ebp - 0x14c]
mov dword [esp + 8], eax
xchg cl, ch
movzx eax, byte [edx + 0x62b3b1c0]
movzx ecx, cx
mov dword [esp], ecx
mov dword [esp + 0xc], ebx
mov dword [esp + 4], eax
mov ecx, dword [ebp - 0x49c]
call method.OpenMPT::CSoundFile.PropagateXMAutoVibrato_unsigned_short__OpenMPT::VibratoType__unsigned_char__unsigned_char__unsigned_char_
sub esp, 0x14
inc byte [ebp - 0x4b0]
jmp 0x6295d93d
lea ecx, [ebp - 0x400]
call fcn.62a5b838
lea eax, [ebp - 0x474]
mov dword [esp + 4], 0x50415444
mov dword [esp], eax
lea ecx, [ebp - 0x430]
call sym.__ZNK3mpt14mpt_libopenmpt2IO10FileReader9ChunkListIN7OpenMPT8GT2ChunkENS4_6detail10FileReaderINS1_24FileCursorTraitsFileDataEN
mov eax, dword [ebp - 0x49c]
push ebx
add eax, 0x763f8
push ebx
mov dword [ebp - 0x4b4], eax
mov eax, dword [ebp - 0x42c]
sub eax, dword [ebp - 0x430]
mov ecx, dword [ebp - 0x4b4]
sar eax, 2
imul eax, eax, 0xcccccccd
movzx eax, ax
mov dword [esp], eax
call method.OpenMPT::CPatternContainer.ResizeArray_unsigned_short_
mov eax, dword [ebp - 0x49c]
push ecx
mov esi, dword [ebp - 0x430]
mov eax, dword [eax + 0x753cc]
mov dword [ebp - 0x47c], eax
mov eax, dword [ebp - 0x49c]
mov eax, dword [eax + 0x753c4]
mov dword [ebp - 0x478], eax
mov eax, dword [ebp - 0x42c]
mov dword [ebp - 0x4c0], eax
cmp esi, dword [ebp - 0x4c0]
je 0x6295df7e
test byte [ebp + 0xc], 1
je 0x6295df76
mov dword [esp], 0x18
mov ecx, esi
call fcn.629c8e18
test al, al
push edx
je 0x6295df76
mov dword [esp], esi
call sym.__ZN3mpt14mpt_libopenmpt2IO10FileReader9ReadIntBEItN7OpenMPT6detail10FileReaderINS1_24FileCursorTraitsFileDataENS1_24FileCurso
movzx ebx, ax
lea edi, [ebp - 0x3b8]
mov ecx, 0xd
xor eax, eax
mov dword [ebp - 0x3bc], 0
rep stosb byte es:[edi], al
mov dword [esp + 4], 0x10
mov dword [esp], esi
lea ecx, [ebp - 0x268]
call fcn.629245dc
lea ecx, [ebp - 0x268]
push eax
push eax
call fcn.629c8be0
mov dword [ebp - 0x400], eax
mov eax, dword [ebp - 0x268]
mov dword [ebp - 0x3fc], eax
lea eax, [ebp - 0x400]
mov dword [esp], eax
lea ecx, [ebp - 0x14c]
mov byte [ebp - 0x3f8], 3
call method.OpenMPT::mpt::StringModeBufRefImpl_char_const_::operator_std::__cxx11::basic_string_char__std::char_traits_char___std.allocator_char______const
push edi
lea edi, [ebp - 0x14c]
lea eax, [ebp - 0x3bc]
lea ecx, [ebp - 0x418]
mov dword [esp], edi
mov dword [ebp - 0x418], eax
mov dword [ebp - 0x414], 0x11
call method.mpt::mpt_libopenmpt::StringBufRefImpl_std::__cxx11::basic_string_char__std::char_traits_char___std::allocator_char_____char_.operator_std::__cxx11::basic_string_char__std::char_traits_char___std::allocator_char____const_
mov ecx, edi
push eax
call method.std::__cxx11::basic_string_char__std::char_traits_char___std::allocator_char___._M_dispose__
lea ecx, [ebp - 0x260]
call fcn.62a323ac
mov dword [esp], esi
call sym.__ZN3mpt14mpt_libopenmpt2IO10FileReader9ReadIntBEItN7OpenMPT6detail10FileReaderINS1_24FileCursorTraitsFileDataENS1_24FileCurso
mov dword [esp], esi
mov word [ebp - 0x4b8], ax
call sym.__ZN3mpt14mpt_libopenmpt2IO10FileReader9ReadIntBEItN7OpenMPT6detail10FileReaderINS1_24FileCursorTraitsFileDataENS1_24FileCurso
jmp 0x6295dd23
movzx eax, ax
mov dword [esp], esi
mov dword [ebp - 0x4a8], eax
call sym.__ZN3mpt14mpt_libopenmpt2IO10FileReader9ReadIntBEItN7OpenMPT6detail10FileReaderINS1_24FileCursorTraitsFileDataENS1_24FileCurso
movzx edi, ax
mov word [ebp - 0x4a4], ax
mov eax, dword [ebp - 0x4a8]
imul eax, edi
mov ecx, esi
lea eax, [eax + eax*4]
mov dword [esp], eax
call fcn.629c8e18
cmp word [ebp - 0x4b8], 1
push ecx
ja 0x6295df76
dec al
jne 0x6295df76
mov eax, dword [ebp - 0x4a8]
mov dword [esp], ebx
mov dword [esp + 4], eax
mov ecx, dword [ebp - 0x4b4]
call method.OpenMPT::CPatternContainer.Insert_unsigned_short__unsigned_int_
push edx
test al, al
push edx
je 0x6295df76
shl ebx, 6
mov eax, dword [ebp - 0x49c]
mov dword [ebp - 0x4bc], ebx
mov ecx, dword [eax + 0x763f8]
lea eax, [ebp - 0x3bc]
add ecx, ebx
mov dword [esp + 4], 0x11
mov dword [esp], eax
call method.OpenMPT::CPattern.SetName_char_const__unsigned_int_
push ebx
lea eax, [ebp - 0x268]
push ebx
lea ecx, [ebp - 0x14c]
mov dword [esp + 4], eax
mov dword [esp], edi
mov word [ebp - 0x268], 0
call method.std::vector_std::pair_unsigned_char__unsigned_char___std::allocator_std::pair_unsigned_char__unsigned_char_____.vector_unsigned_int__std::pair_unsigned_char__unsigned_char__const__std::allocator_std::pair_unsigned_char__unsigned_char____const___c
push ecx
mov dword [ebp - 0x4b0], 0
push ecx
mov edi, dword [ebp - 0x4a8]
cmp dword [ebp - 0x4b0], edi
jae 0x6295df6b
mov eax, dword [ebp - 0x49c]
mov ecx, dword [ebp - 0x4bc]
add ecx, dword [eax + 0x763f8]
mov eax, dword [ebp - 0x4b0]
mov dword [esp], eax
call method.OpenMPT::CPattern.GetRow_unsigned_int_
mov dword [ebp - 0x4a0], 0
mov dword [ebp - 0x4c4], eax
push edx
mov eax, dword [ebp - 0x4a4]
cmp word [ebp - 0x4a0], ax
jae 0x6295df60
xor eax, eax
lea edi, [ebp - 0x268]
mov ecx, 6
lea ebx, [ebp - 0x268]
rep stosb byte es:[edi], al
mov eax, dword [ebp - 0x49c]
mov edi, dword [ebp - 0x4a0]
cmp di, word [eax + 0x753bc]
jae 0x6295de76
imul ebx, dword [ebp - 0x4a0], 6
add ebx, dword [ebp - 0x4c4]
lea eax, [ebp - 0x400]
mov dword [esp + 4], 5
mov dword [esp], eax
mov ecx, esi
call sym.__ZNK3mpt14mpt_libopenmpt2IO10FileCursorINS1_24FileCursorTraitsFileDataENS1_24FileCursorFilenameTraitsINS0_15BasicPathStringIN
push eax
cmp edx, 5
push eax
jne 0x6295dea6
mov dword [esp], 5
mov ecx, esi
call fcn.62924a9c
push edi
jmp 0x6295deb5
lea edi, [ebp - 0x400]
mov ecx, 5
xor eax, eax
rep stosb byte es:[edi], al
mov al, byte [ebp - 0x400]
mov edx, dword [ebp - 0x4a0]
add edx, edx
lea ecx, [eax - 1]
add edx, dword [ebp - 0x14c]
cmp cl, 0x77
ja 0x6295ded6
inc eax
mov byte [ebx], al
mov byte [edx], al
mov al, byte [ebp - 0x3ff]
test al, al
je 0x6295dee6
mov byte [ebx + 1], al
mov byte [edx + 1], al
mov al, byte [ebp - 0x3fc]
test al, al
je 0x6295df09
cmp word [ebp - 0x4b8], 0
mov byte [ebx + 2], 1
jne 0x6295df03
shr al, 2
jmp 0x6295df06
sub eax, 0x10
mov byte [ebx + 4], al
lea eax, [ebp - 0x478]
mov dword [esp + 0x14], eax
lea eax, [ebp - 0x47c]
mov dword [esp + 0x10], eax
movzx eax, byte [edx + 1]
mov dword [esp + 0xc], eax
movzx eax, byte [edx]
mov dword [esp + 8], eax
mov edx, ebx
movzx eax, byte [ebp - 0x351]
mov dword [esp + 4], eax
movzx eax, byte [ebp - 0x3fd]
movzx ecx, byte [ebp - 0x3fe]
mov dword [esp], eax
mov eax, dword [ebp - 0x49c]
call method.OpenMPT.TranslateGraoumfEffect_OpenMPT::CSoundFile__OpenMPT::ModCommand__unsigned_char__unsigned_char__short__unsigned_char__unsigned_char__OpenMPT::FPInt_10000u__unsigned_int___unsigned_int_
inc dword [ebp - 0x4a0]
jmp 0x6295de2c
inc dword [ebp - 0x4b0]
jmp 0x6295dde9
lea ecx, [ebp - 0x14c]
call method.std::_Vector_base_std::pair_unsigned_char__unsigned_char___std::allocator_std::pair_unsigned_char__unsigned_char_____._Vector_base____clone_.isra.0_
add esi, 0x14
jmp 0x6295dc19
lea ebx, [ebp - 0x3bc]
lea eax, [ebp - 0x474]
mov dword [esp + 4], 0x544e414d
mov dword [esp], eax
mov ecx, ebx
call fcn.629c9450
push esi
mov ecx, ebx
push esi
mov dword [esp], 0x26
call fcn.629c8e18
test al, al
push ecx
je 0x6295e0d2
mov dword [esp], ebx
call sym.__ZN3mpt14mpt_libopenmpt2IO10FileReader9ReadIntBEItN7OpenMPT6detail10FileReaderINS1_24FileCursorTraitsFileDataENS1_24FileCurso
mov esi, eax
xor ebx, ebx
cmp bx, si
je 0x6295e0d2
mov dword [esp], 0x24
lea ecx, [ebp - 0x3bc]
call fcn.629c8e18
test al, al
push edx
je 0x6295e0d2
lea eax, [ebp - 0x14c]
mov dword [esp + 4], 0x24
mov dword [esp], eax
lea ecx, [ebp - 0x3bc]
call sym.__ZNK3mpt14mpt_libopenmpt2IO10FileCursorINS1_24FileCursorTraitsFileDataENS1_24FileCursorFilenameTraitsINS0_15BasicPathStringIN
push edi
cmp edx, 0x24
push edi
jne 0x6295e01d
mov dword [esp], 0x24
lea ecx, [ebp - 0x3bc]
call fcn.62924a9c
push ecx
jmp 0x6295e02c
lea edi, [ebp - 0x14c]
mov ecx, 9
xor eax, eax
rep stosd dword es:[edi], eax
cmp word [ebp - 0x14c], 0
jne 0x6295e0cc
movzx eax, word [ebp - 0x14a]
mov edi, dword [ebp - 0x49c]
xchg al, ah
cmp word [edi + 0x753bc], ax
jbe 0x6295e0cc
lea eax, [ebp - 0x148]
lea ecx, [ebp - 0x268]
mov dword [ebp - 0x400], eax
lea eax, [ebp - 0x400]
mov dword [esp], eax
mov dword [ebp - 0x3fc], 0x20
mov byte [ebp - 0x3f8], 3
call method.OpenMPT::mpt::StringModeBufRefImpl_char_const_::operator_std::__cxx11::basic_string_char__std::char_traits_char___std.allocator_char______const
push eax
mov edi, dword [ebp - 0x49c]
movzx eax, word [ebp - 0x14a]
xchg al, ah
movzx eax, ax
shl eax, 5
lea ecx, [ebp - 0x418]
mov dword [ebp - 0x414], 0x14
lea eax, [edi + eax + 0x75421]
lea edi, [ebp - 0x268]
mov dword [esp], edi
mov dword [ebp - 0x418], eax
call method.mpt::mpt_libopenmpt::StringBufRefImpl_std::__cxx11::basic_string_char__std::char_traits_char___std::allocator_char_____char_.operator_std::__cxx11::basic_string_char__std::char_traits_char___std::allocator_char____const_
mov ecx, edi
push edx
call method.std::__cxx11::basic_string_char__std::char_traits_char___std::allocator_char___._M_dispose__
inc ebx
jmp 0x6295dfc1
lea ecx, [ebp - 0x3bc]
call fcn.62925c94
lea ecx, [ebp - 0x430]
call fcn.62a5b838
lea ecx, [ebp - 0x450]
call fcn.62a5b838
lea ecx, [ebp - 0x45c]
call fcn.62a5b838
lea ecx, [ebp - 0x468]
call fcn.62a5b838
lea ecx, [ebp - 0x474]
call fcn.62a58170
lea ecx, [ebp - 0x444]
call fcn.62925c94
jmp 0x6295e245
mov al, byte [ebp - 0x4a1]
lea esp, [ebp - 0xc]
pop ebx
pop esi
pop edi
pop ebp
ret 8