Function at 0x6295c4b8
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 edi
push edi
jne 0x6295c510
mov ecx, ebx
mov dword [esp], 0xec
call fcn.62924a94
push ecx
mov ecx, esi
call method.OpenMPT::GT2FileHeader.Validate___const
test al, al
jne 0x6295c51c
mov byte [ebp - 0x4a1], 0
jmp 0x6295e737
mov eax, dword [ebp - 0x350]
bswap eax
cmp eax, 0xec
jae 0x6295c530
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.629c9c58
mov byte [ebp - 0x4a1], al
test al, al
push edx
je 0x6295c510
cmp dword [ebp + 0xc], 0x40
je 0x6295e737
mov ecx, dword [ebp - 0x49c]
mov dword [esp], 0x1000000
call method.OpenMPT::CSoundFile.InitializeGlobals_OpenMPT::MODTYPE_
mov ecx, dword [ebp - 0x49c]
lea esi, [ebp - 0x498]
push eax
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 0x6295c5d1
or eax, 0x2000000
jmp 0x6295c5d6
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 0x6295c60d
mov eax, 0x1f
jmp 0x6295c616
test al, al
jne 0x6295c616
mov eax, 1
mov dword [ebp - 0x3e0], eax
movzx eax, byte [ebp - 0x28b]
cmp al, 0xc
jbe 0x6295c62e
mov eax, 0xc
jmp 0x6295c637
test al, al
jne 0x6295c637
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 0x6295c689
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 0x6295c6a3
mov edi, dword [ebp - 0x49c]
mov dword [esp], eax
mov dword [esp + 4], esi
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 eax
push eax
mov eax, dword [ebp - 0x49c]
lea ecx, [ebp - 0x268]
mov dword [ebp - 0x3fc], 0x18
mov byte [ebp - 0x3f8], 3
mov word [eax + 0x753bc], 0x20
lea eax, [ebp - 0x288]
mov dword [ebp - 0x400], eax
lea eax, [ebp - 0x400]
mov dword [esp], eax
call method.OpenMPT::mpt::StringModeBufRefImpl_char_const_::operator_std::__cxx11::basic_string_char__std::char_traits_char___std.allocator_char______const
lea ecx, [ebp - 0x14c]
mov dword [ebp - 0x418], 1
push eax
lea eax, [ebp - 0x268]
mov dword [esp + 4], eax
lea eax, [ebp - 0x418]
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
lea edi, [ebp - 0x14c]
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 esi, [ebp - 0x3bc]
call method.std::__cxx11::basic_string_char32_t__std::char_traits_char32_t___std::allocator_char32_t___._M_dispose__
lea ecx, [ebp - 0x268]
call method.std::__cxx11::basic_string_char__std::char_traits_char___std::allocator_char___._M_dispose__
mov eax, dword [ebp - 0x49c]
mov dword [esp], esi
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, esi
push edi
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 0x6295c795
mov dword [esp], str.Graoumf_Tracker_v
jmp 0x6295c79c
mov dword [esp], str.Graoumf_Tracker_2_v
lea ecx, [ebp - 0x14c]
call fcn.62a65e18
lea eax, [ebp - 0x14c]
push ecx
lea ecx, [ebp - 0x268]
mov dword [esp], eax
call fcn.62a64cdc
lea ecx, [ebp - 0x14c]
push esi
lea esi, [ebp - 0x268]
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 + 4], eax
mov dword [esp], esi
lea ecx, [ebp - 0x14c]
call fcn.629c8660
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], 0x62b1aea6
call fcn.62a65e18
push eax
mov eax, dword [ebp - 0x49c]
lea ecx, [eax + 0x13d008]
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 eax, dword [ebp - 0x49c]
lea ecx, [ebp - 0x14c]
mov dword [ebp - 0x264], 0x20
mov byte [ebp - 0x260], 3
mov dword [eax + 0x13d068], 0x1a
lea eax, [ebp - 0x34c]
mov dword [esp], esi
mov dword [ebp - 0x268], eax
call method.OpenMPT::mpt::StringModeBufRefImpl_char_const_::operator_std::__cxx11::basic_string_char__std::char_traits_char___std.allocator_char______const
push eax
mov eax, dword [ebp - 0x49c]
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 edx
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 0x6295ca24
movzx eax, word [ebp - 0x270]
xchg al, ah
test ax, ax
jne 0x6295c8fe
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 0x6295c920
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 0x6295c986
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 0x6295c9a8
mov edi, 0x7f
xor esi, esi
cmp di, si
jbe 0x6295ca24
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 0x6295ca13
mov ecx, 0x100
mov eax, dword [ebp - 0x49c]
inc esi
mov word [eax + edx + 0x7541c], cx
jmp 0x6295c9aa
mov eax, dword [ebp - 0x350]
mov ecx, ebx
bswap eax
mov dword [esp], eax
call fcn.62924a5c
push esi
lea esi, [ebp - 0x444]
mov dword [esp], ebx
mov ecx, esi
call fcn.62924e88
lea ebx, [ebp - 0x474]
push edi
mov dword [esp + 0xc], 0x454e4443
mov dword [esp + 8], 1
mov dword [esp + 4], esi
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.629ca2dc
push ecx
push ecx
lea ecx, [ebp - 0x14c]
mov dword [esp], 2
call fcn.629c9c58
test al, al
push edx
je 0x6295caf4
lea eax, [ebp - 0x14c]
mov dword [esp], eax
call sym.__ZN3mpt14mpt_libopenmpt2IO10FileReader9ReadIntBEItN7OpenMPT6detail10FileReaderINS1_24FileCursorTraitsFileDataENS1_24FileCurso
lea edx, [eax - 1]
cmp dx, 0x7e
ja 0x6295caf4
mov edi, dword [ebp - 0x49c]
lea ecx, [ebp - 0x14c]
mov word [edi + 0x753bc], ax
call fcn.62925898
mov dword [esp + 4], 0x534f4e47
mov dword [esp], ebx
lea ecx, [ebp - 0x14c]
call fcn.629ca2dc
push edi
lea ecx, [ebp - 0x14c]
push edi
mov dword [esp], 2
call fcn.629c9c58
jmp 0x6295cb0b
lea ecx, [ebp - 0x14c]
call fcn.62925898
mov byte [ebp - 0x4a1], 0
jmp 0x6295e5fd
mov byte [ebp - 0x4a1], al
push esi
test al, al
je 0x6295cbf3
lea eax, [ebp - 0x14c]
mov dword [esp], eax
call sym.__ZN3mpt14mpt_libopenmpt2IO10FileReader9ReadIntBEItN7OpenMPT6detail10FileReaderINS1_24FileCursorTraitsFileDataENS1_24FileCurso
mov edi, eax
mov eax, dword [ebp - 0x49c]
movzx esi, byte [eax + 0x76418]
imul esi, esi, 0x2c
add esi, dword [eax + 0x76408]
lea eax, [ebp - 0x14c]
mov dword [esp], eax
call sym.__ZN3mpt14mpt_libopenmpt2IO10FileReader9ReadIntBEItN7OpenMPT6detail10FileReaderINS1_24FileCursorTraitsFileDataENS1_24FileCurso
mov word [esi + 0x28], ax
lea ecx, [ebp - 0x14c]
call fcn.629c9c84
mov edx, eax
mov dword [esp + 0x10], 0xffff
shr edx, 1
mov dword [esp + 0xc], 0xffff
cmp eax, 0x1ffff
jbe 0x6295cb7d
mov edx, 0xffff
movzx eax, dx
cmp dx, di
jbe 0x6295cb88
movzx eax, di
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.62925898
mov dword [esp + 4], 0x58434f4d
mov dword [esp], ebx
lea ecx, [ebp - 0x14c]
call fcn.629ca2dc
push ecx
lea esi, [ebp - 0x14c]
push ecx
mov ecx, esi
mov dword [esp], 3
call fcn.629c9c58
jmp 0x6295cc03
lea ecx, [ebp - 0x14c]
call fcn.62925898
jmp 0x6295e5fd
mov cl, al
mov eax, 0xa0
push edx
test cl, cl
lea edx, [ebp - 0x32c]
je 0x6295cc4c
mov dword [esp], esi
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 0x6295cc77
test eax, eax
je 0x6295cc57
mov ecx, eax
dec eax
cmp byte [edx + eax], 0x20
je 0x6295cc48
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.62925898
lea ecx, [ebp - 0x14c]
mov dword [esp + 4], 0x54434e31
mov dword [esp], ebx
call fcn.629ca2dc
push eax
lea ebx, [ebp - 0x14c]
push eax
mov dword [esp], ebx
call sym.__ZN3mpt14mpt_libopenmpt2IO10FileReader9ReadUint8IN7OpenMPT6detail10FileReaderINS1_24FileCursorTraitsFileDataENS1_24FileCursor
test al, al
je 0x6295ccef
lea ecx, [ebp - 0x14c]
call fcn.62925898
lea eax, [ebp - 0x474]
mov dword [esp + 4], 0x54434e32
mov dword [esp], eax
lea ecx, [ebp - 0x14c]
call fcn.629ca2dc
push eax
lea ecx, [ebp - 0x14c]
push eax
mov dword [esp], 0xc
call fcn.629c9c58
jmp 0x6295cd70
mov dword [esp], 0xa58
mov ecx, ebx
call fcn.62924a5c
test al, al
push edi
je 0x6295ccaf
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 0x6295cd3e
mov dword [esp], 4
mov ecx, ebx
call fcn.62924a94
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 0x6295cd60
or esi, 0x400
mov ebx, esi
inc eax
mov dword [edx], ebx
add edx, 0x20
cmp eax, 0x20
jne 0x6295cd4c
jmp 0x6295ccaf
test al, al
push ecx
je 0x6295cf09
mov dword [esp], 0xc
lea ecx, [ebp - 0x14c]
call fcn.629c9c58
test al, al
push edx
lea eax, [ebp - 0x268]
jne 0x6295cdaa
xor ecx, ecx
lea edx, [ebp - 0x25c]
mov word [eax], cx
add eax, 2
cmp eax, edx
jne 0x6295cd9e
jmp 0x6295cdc2
mov dword [esp], eax
mov dword [esp + 4], 0xc
lea ecx, [ebp - 0x14c]
call fcn.62924acc
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 0x6295ce07
mov ecx, 0x3e7
jmp 0x6295ce12
cmp cx, 0x20
jae 0x6295ce12
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 0x6295ce48
mov eax, 0xff
jmp 0x6295ce52
test ax, ax
jne 0x6295ce52
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 0x6295ce77
mov eax, 0x10
jmp 0x6295ce81
test ax, ax
jne 0x6295ce81
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 0x6295ceae
mov ecx, 0x10
jmp 0x6295ceb8
test cx, cx
jne 0x6295ceb8
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 0x6295cf09
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 0x6295cefd
or edx, 0x10
mov ecx, edx
mov eax, dword [ebp - 0x49c]
mov dword [eax + 0x753d0], ecx
lea esi, [ebp - 0x14c]
mov ecx, esi
call fcn.62925898
lea eax, [ebp - 0x474]
mov dword [esp + 4], 0x54564f4c
mov dword [esp], eax
mov ecx, esi
call fcn.629ca2dc
push edi
mov ecx, esi
push edi
mov dword [esp], 2
call fcn.629c9c58
test al, al
push ebx
je 0x6295cf99
mov eax, dword [ebp - 0x49c]
mov bx, word [eax + 0x753bc]
mov dword [esp], esi
call sym.__ZN3mpt14mpt_libopenmpt2IO10FileReader9ReadIntBEItN7OpenMPT6detail10FileReaderINS1_24FileCursorTraitsFileDataENS1_24FileCurso
cmp bx, ax
jbe 0x6295cf5f
mov ebx, eax
xor esi, esi
cmp bx, si
jbe 0x6295cf99
lea eax, [ebp - 0x14c]
mov dword [esp], eax
call sym.__ZN3mpt14mpt_libopenmpt2IO10FileReader9ReadIntBEItN7OpenMPT6detail10FileReaderINS1_24FileCursorTraitsFileDataENS1_24FileCurso
mov edx, esi
shl edx, 5
cmp ax, 0x1000
jbe 0x6295cf84
mov eax, 0x1000
mov edi, dword [ebp - 0x49c]
inc esi
shr ax, 6
mov word [edi + edx + 0x7541e], ax
jmp 0x6295cf61
lea ecx, [ebp - 0x14c]
call fcn.62925898
lea eax, [ebp - 0x474]
mov dword [esp + 4], 0x4d495850
mov dword [esp], eax
lea ecx, [ebp - 0x268]
call fcn.629ca2dc
push ecx
push ecx
lea ecx, [ebp - 0x268]
mov dword [esp], 0x38
call fcn.629c9c58
test al, al
push edx
je 0x6295d1a1
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 0x6295d015
mov dword [esp], 0x38
lea ecx, [ebp - 0x268]
call fcn.62924a94
push edi
jmp 0x6295d020
mov ecx, 0xe
xor eax, eax
mov edi, ebx
rep stosd dword es:[edi], eax
cmp word [ebp - 0x12a], 0x400
jne 0x6295d1a1
cmp word [ebp - 0x11c], 0x101
jne 0x6295d1a1
movzx eax, word [ebp - 0x124]
xchg al, ah
cmp ax, 0x4000
jbe 0x6295d052
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 esi, dword [ebp - 0x49c]
mov dword [esi + 0x753c8], eax
movzx eax, word [ebp - 0x126]
xchg al, ah
cmp bx, ax
jae 0x6295d1a1
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 0x6295d0d1
mov dword [esp], 8
lea ecx, [ebp - 0x268]
call fcn.62924a94
push ecx
jmp 0x6295d0e5
mov dword [ebp - 0x3bc], 0
mov dword [ebp - 0x3b8], 0
cmp byte [ebp - 0x3bc], 0
jne 0x6295d19b
movzx eax, word [ebp - 0x3ba]
mov esi, dword [ebp - 0x49c]
xchg al, ah
cmp word [esi + 0x753bc], ax
jbe 0x6295d19b
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 0x6295d087
lea ecx, [ebp - 0x268]
call fcn.62925898
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 esi, dword [ebp - 0x450]
cmp esi, dword [ebp - 0x4a0]
je 0x6295d69b
lea eax, [ebp - 0x14c]
mov dword [esp + 4], 0x4e
mov dword [esp], eax
mov ecx, esi
call sym.__ZNK3mpt14mpt_libopenmpt2IO10FileCursorINS1_24FileCursorTraitsFileDataENS1_24FileCursorFilenameTraitsINS0_15BasicPathStringIN
push eax
cmp edx, 0x4e
push eax
jne 0x6295d3e8
mov dword [esp], 0x4e
mov ecx, esi
call fcn.62924a94
push eax
movzx eax, word [ebp - 0x14c]
xchg al, ah
lea edx, [eax - 1]
cmp dx, 0xf9e
ja 0x6295d3e8
movzx edx, word [ebp - 0x11c]
xchg dl, dh
cmp dx, 1
ja 0x6295d3e8
movzx edx, word [ebp - 0x12e]
xchg dl, dh
cmp dx, 1
ja 0x6295d3e8
mov edi, dword [ebp - 0x49c]
cmp word [edi + 0x753be], ax
jae 0x6295d273
mov edi, dword [ebp - 0x49c]
mov word [edi + 0x753be], ax
movzx eax, ax
imul eax, eax, 0x68
mov edi, dword [ebp - 0x49c]
mov dword [esp], 0x20
lea ebx, [edi + 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 0x6295d2fd
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 0x6295d3f0
mov edx, eax
or eax, 6
or edx, 2
and cl, 2
movzx edx, dx
movzx eax, ax
je 0x6295d3f8
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 0x6295d402
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 edi, dword [ebp - 0x49c]
push ecx
lea ecx, [edi + eax + 0xe7080]
lea edi, [ebp - 0x418]
mov dword [esp], edi
call method.mpt::mpt_libopenmpt::charbuf_32u_.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__
test byte [ebp + 0xc], 2
jne 0x6295d426
add esi, 0x14
jmp 0x6295d1dc
mov edx, eax
and edx, 0xfffd
mov eax, edx
and eax, 0xfffffffb
jmp 0x6295d34c
fld dword [0x62b1af58]
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 0x6295d36f
mov eax, dword [ebp - 0x102]
mov ecx, esi
bswap eax
sub eax, 8
mov dword [esp], eax
call fcn.62924a5c
test al, al
push edx
je 0x6295d3e8
cmp word [ebp - 0x12e], 0
jne 0x6295d4a6
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], esi
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], esi
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.629245d8
lea ecx, [ebp - 0x3bc]
push eax
push eax
call fcn.629c99fc
mov dword [ebp - 0x400], eax
mov eax, dword [ebp - 0x3bc]
mov dword [ebp - 0x3fc], eax
lea edi, [ebp - 0x268]
lea eax, [ebp - 0x400]
mov ecx, edi
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
lea edx, [ebp - 0x430]
push ecx
mov dword [esp], edi
mov ecx, edx
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____
mov ecx, edi
add ebx, 0x2b
push eax
call method.std::__cxx11::basic_string_char__std::char_traits_char___std::allocator_char___._M_dispose__
lea ecx, [ebp - 0x3b4]
call fcn.62a3335c
lea edx, [ebp - 0x430]
mov dword [esp], edx
mov ecx, edi
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 eax
jne 0x6295d68b
jmp 0x6295d588
mov dword [esp], 0x62b1aeaa
mov ecx, edi
call fcn.62a65e18
lea ebx, [ebp - 0x268]
push eax
lea ecx, [ebp - 0x418]
mov dword [esp], ebx
call fcn.62a64cdc
mov ecx, ebx
lea edi, [ebp - 0x3bc]
push edx
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, edi
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], edi
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, edi
call method.std::__cxx11::basic_string_char__std::char_traits_char___std::allocator_char___._M_dispose__
lea eax, [ebp - 0x14c]
lea edi, [ebp - 0x400]
mov dword [esp + 4], eax
lea eax, [ebp - 0x418]
mov dword [esp + 8], edi
mov dword [esp], eax
mov ecx, ebx
call fcn.629c87d8
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__
mov ecx, edi
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 0x6295d68b
lea ecx, [ebp - 0x430]
call method.std::__cxx11::basic_string_char__std::char_traits_char___std::allocator_char___._M_dispose__
jmp 0x6295d3e8
lea ecx, [ebp - 0x450]
call fcn.62a5cc5c
lea eax, [ebp - 0x474]
mov dword [esp + 4], 0x53414d50
mov dword [esp], eax
lea ecx, [ebp - 0x3bc]
call sym.__ZNK3mpt14mpt_libopenmpt2IO10FileReader9ChunkListIN7OpenMPT8GT2ChunkENS4_6detail10FileReaderINS1_24FileCursorTraitsFileDataEN
push eax
mov esi, dword [ebp - 0x3bc]
push eax
mov eax, dword [ebp - 0x3b8]
mov dword [ebp - 0x4a0], eax
cmp esi, dword [ebp - 0x4a0]
je 0x6295d974
lea eax, [ebp - 0x14c]
mov dword [esp + 4], 0x38
mov dword [esp], eax
mov ecx, esi
call sym.__ZNK3mpt14mpt_libopenmpt2IO10FileCursorINS1_24FileCursorTraitsFileDataENS1_24FileCursorFilenameTraitsINS0_15BasicPathStringIN
push edi
cmp edx, 0x38
push edi
jne 0x6295d8ed
mov dword [esp], 0x38
mov ecx, esi
call fcn.62924a94
movzx eax, word [ebp - 0x14c]
xchg al, ah
push ebx
lea edx, [eax - 1]
cmp dx, 0xf9e
ja 0x6295d8ed
cmp word [ebp - 0x116], 0
jne 0x6295d8ed
mov edi, dword [ebp - 0x49c]
cmp word [edi + 0x753be], ax
jae 0x6295d755
mov edi, dword [ebp - 0x49c]
mov word [edi + 0x753be], ax
movzx eax, ax
imul eax, eax, 0x68
mov edi, dword [ebp - 0x49c]
mov dword [esp], 0x20
lea ebx, [edi + 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 0x6295d7df
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 edi, [eax + ecx]
mov dword [ebx], edx
cmp word [ebp - 0x12a], 0x1000
mov dword [ebx + 8], edi
jne 0x6295d81d
shr edx, 1
shr edi, 1
mov dword [ebx], edx
mov edx, eax
mov dword [ebx + 8], edi
shr edx, 1
mov dword [ebx + 4], edx
mov dx, word [ebx + 0x22]
cmp ecx, 2
ja 0x6295d8f5
mov ecx, edx
and ecx, 0xfffd
test eax, eax
jne 0x6295d8f5
mov eax, ecx
and eax, 0xfffffffb
test byte [ebp - 0x12d], 2
je 0x6295d84d
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 0x6295d902
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 edi, dword [ebp - 0x49c]
movzx eax, word [ebp - 0x14c]
xchg al, ah
movzx eax, ax
shl eax, 5
lea ecx, [edi + eax + 0xe7080]
lea edi, [ebp - 0x400]
mov dword [esp], edi
call method.mpt::mpt_libopenmpt::charbuf_32u_.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__
test byte [ebp + 0xc], 2
jne 0x6295d926
add esi, 0x14
jmp 0x6295d6d6
mov eax, edx
or eax, 2
movzx ecx, ax
jmp 0x6295d83a
fld dword [0x62b1af58]
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 0x6295d874
movzx eax, byte [ebp - 0x12d]
xor edx, edx
and eax, 1
inc eax
mov dword [esp + 4], esi
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 0x6295d8ed
lea ecx, [ebp - 0x3bc]
lea ebx, [ebp - 0x474]
call fcn.62a5cc5c
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 esi, dword [ebp - 0x4a0]
cmp dword [ebp - 0x4b4], esi
je 0x6295e07c
lea eax, [ebp - 0x14c]
mov dword [esp + 4], 0x134
mov dword [esp], eax
mov ecx, esi
call sym.__ZNK3mpt14mpt_libopenmpt2IO10FileCursorINS1_24FileCursorTraitsFileDataENS1_24FileCursorFilenameTraitsINS0_15BasicPathStringIN
push ebx
cmp edx, 0x134
push ebx
jne 0x6295dc1c
mov dword [esp], 0x134
mov ecx, dword [ebp - 0x4a0]
call fcn.62924a94
cmp word [ebp - 0x12e], 0
push ecx
jne 0x6295dc1c
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 0x6295dc1c
movzx eax, word [ebp - 0x14c]
mov edi, dword [ebp - 0x49c]
xchg al, ah
cmp word [edi + 0x753c0], ax
jae 0x6295daa9
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 0x6295db4f
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 0x6295dc28
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 0x6295dc65
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 0x6295dc95
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 0x6295d9fd
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 0x6295dc53
mov edx, 0x78
jmp 0x6295dc5c
test edx, edx
jg 0x6295dc5c
mov edx, 1
mov byte [esi + eax + 0x6b], dl
jmp 0x6295db51
movzx edx, word [eax + 0x10]
test dx, dx
je 0x6295dc88
mov edi, dword [ebp - 0x49c]
cmp dx, word [edi + 0x753be]
ja 0x6295dc88
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 0x6295db7b
xor ebx, ebx
mov ecx, dword [ebp - 0x4a0]
dec ax
setne bl
lea ebx, [ebx*4 + 0x62]
mov dword [esp], ebx
call fcn.629c9c58
mov edi, ebx
push edx
test al, al
jne 0x6295dcc5
mov ecx, dword [ebp - 0x4a0]
call fcn.629c9c84
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.62924a94
movzx eax, word [ebp - 0x3bc]
mov edi, eax
push ebx
rol di, 8
mov word [ebp - 0x4a8], di
test ah, 1
je 0x6295de30
mov eax, edi
and ax, 0x18
jne 0x6295dd2f
mov byte [esi + 0x19], 0
jmp 0x6295dd39
cmp ax, 8
jne 0x6295dd39
mov byte [esi + 0x19], 1
test byte [ebp - 0x4a8], 2
je 0x6295ddbc
lea edi, [ebp - 0x268]
lea eax, [ebp - 0x3ba]
mov dword [esp + 4], 0x18
mov dword [esp], eax
mov ecx, edi
call fcn.62a694f0
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 [0x62b1af5c]
fld qword [ebp - 0x4b0]
fcom st(1)
fnstsw ax
fstp st(1)
sahf
jbe 0x6295ddba
fstp qword [esp]
mov ecx, dword [ebp - 0x49c]
call method.OpenMPT::CSoundFile.FrequencyToCutOff_double__const
push edx
test al, al
push edx
jns 0x6295ddb2
mov al, 0x7f
or eax, 0xffffff80
mov byte [esi + 0x15], al
jmp 0x6295ddbc
fstp st(0)
test byte [ebp - 0x3bb], 4
je 0x6295de30
lea edi, [ebp - 0x268]
lea eax, [ebp - 0x38a]
mov dword [esp + 4], 0x18
mov dword [esp], eax
mov ecx, edi
call fcn.62a694f0
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 [0x62b1af60]
fdiv dword [0x62b1af0c]
fstp qword [esp]
call method.unsigned_char_mpt::mpt_libopenmpt.saturate_round_unsigned_char__double_
test al, al
jns 0x6295de2a
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 0x6295dc1c
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 0x6295de84
mov dword [esp], 0x11a
mov ecx, dword [ebp - 0x4a0]
call fcn.62924a94
push eax
jmp 0x6295de93
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 0x6295e071
movzx eax, byte [ebp - 0x4b0]
cmp byte [ebp + eax - 0x418], 0
je 0x6295e071
cmp byte [ebp - 0x4b0], 3
jne 0x6295df16
test byte [esi + 0x64], 1
jne 0x6295e071
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 0x6295df41
or byte [esi + 0x64], 0x10
test bl, bl
jne 0x6295df6e
test byte [ebp - 0x25b], 1
je 0x6295df63
movzx eax, word [ebp - 0x25e]
xchg al, ah
and eax, 0x7fff
mov dword [esi], eax
jmp 0x6295e071
mov dword [esi], 0
jmp 0x6295e071
cmp bl, 2
jne 0x6295e071
test byte [ebp - 0x25b], 2
je 0x6295e071
movzx eax, word [ebp - 0x262]
xchg al, ah
test ax, ax
jne 0x6295df97
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 0x6295e000
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 0x6295e023
mov ebx, 0xff
movzx edx, word [ebp - 0x260]
xchg dl, dh
cmp dx, 5
jbe 0x6295e034
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 + 0x62b3d4e0]
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 0x6295de37
lea ecx, [ebp - 0x400]
call fcn.62a5cc5c
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 0x6295e479
test byte [ebp + 0xc], 1
je 0x6295e471
mov dword [esp], 0x18
mov ecx, esi
call fcn.629c9c58
test al, al
push edx
je 0x6295e471
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.629245d8
lea ecx, [ebp - 0x268]
push eax
push eax
call fcn.629c99fc
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.62a3335c
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 0x6295e21d
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.629c9c58
cmp word [ebp - 0x4b8], 1
push ecx
ja 0x6295e471
dec al
jne 0x6295e471
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 0x6295e471
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 0x6295e466
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 ax, word [ebp - 0x4a4]
cmp word [ebp - 0x4a0], ax
jae 0x6295e45b
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 0x6295e371
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 0x6295e3a1
mov dword [esp], 5
mov ecx, esi
call fcn.62924a94
push edi
jmp 0x6295e3b0
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 0x6295e3d1
inc eax
mov byte [ebx], al
mov byte [edx], al
mov al, byte [ebp - 0x3ff]
test al, al
je 0x6295e3e1
mov byte [ebx + 1], al
mov byte [edx + 1], al
mov al, byte [ebp - 0x3fc]
test al, al
je 0x6295e404
cmp word [ebp - 0x4b8], 0
mov byte [ebx + 2], 1
jne 0x6295e3fe
shr al, 2
jmp 0x6295e401
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 0x6295e326
inc dword [ebp - 0x4b0]
jmp 0x6295e2e3
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 0x6295e113
lea ebx, [ebp - 0x3bc]
lea eax, [ebp - 0x474]
mov dword [esp + 4], 0x544e414d
mov dword [esp], eax
mov ecx, ebx
call fcn.629ca2dc
push esi
mov ecx, ebx
push esi
mov dword [esp], 0x26
call fcn.629c9c58
test al, al
push ecx
je 0x6295e5ca
mov dword [esp], ebx
call sym.__ZN3mpt14mpt_libopenmpt2IO10FileReader9ReadIntBEItN7OpenMPT6detail10FileReaderINS1_24FileCursorTraitsFileDataENS1_24FileCurso
mov word [ebp - 0x4a0], ax
xor esi, esi
cmp si, word [ebp - 0x4a0]
je 0x6295e5ca
mov dword [esp], 0x24
mov ecx, ebx
call fcn.629c9c58
test al, al
push edx
je 0x6295e5ca
lea eax, [ebp - 0x14c]
mov dword [esp + 4], 0x24
mov dword [esp], eax
mov ecx, ebx
call sym.__ZNK3mpt14mpt_libopenmpt2IO10FileCursorINS1_24FileCursorTraitsFileDataENS1_24FileCursorFilenameTraitsINS0_15BasicPathStringIN
push edi
cmp edx, 0x24
push edi
jne 0x6295e515
mov dword [esp], 0x24
mov ecx, ebx
call fcn.62924a94
push ecx
jmp 0x6295e524
mov ecx, 9
xor eax, eax
lea edi, [ebp - 0x14c]
rep stosd dword es:[edi], eax
cmp word [ebp - 0x14c], 0
jne 0x6295e5c4
movzx eax, word [ebp - 0x14a]
mov edi, dword [ebp - 0x49c]
xchg al, ah
cmp word [edi + 0x753bc], ax
jbe 0x6295e5c4
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 esi
jmp 0x6295e4c1
mov ecx, ebx
call fcn.62925898
lea ecx, [ebp - 0x430]
call fcn.62a5cc5c
lea ecx, [ebp - 0x450]
call fcn.62a5cc5c
lea ecx, [ebp - 0x45c]
call fcn.62a5cc5c
lea ecx, [ebp - 0x468]
call fcn.62a5cc5c
lea ecx, [ebp - 0x474]
call fcn.62a593fc
lea ecx, [ebp - 0x444]
call fcn.62925898
jmp 0x6295e737
mov al, byte [ebp - 0x4a1]
lea esp, [ebp - 0xc]
pop ebx
pop esi
pop edi
pop ebp
ret 8