Function at 0x700c951c
Capabilities:
Contain obfuscated stackstrings

Disassembly:
push ebp
mov ebp, esp
push edi
push esi
push ebx
lea ebx, [ebp - 0x258]
sub esp, 0x28c
mov dword [ebp - 0x25c], ecx
mov eax, dword [ebp + 8]
mov dword [ebp - 0x27c], eax
mov eax, dword [ebp + 0x10]
mov dword [ebp - 0x280], eax
mov eax, dword [ebp + 0xc]
mov dword [eax + 8], 0
lea eax, [ebp - 0x108]
mov dword [esp + 4], eax
mov eax, dword [ebp + 0xc]
mov dword [esp], eax
call fcn.700acd58
mov eax, dword [ebp - 0x108]
mov dword [esp], ebx
mov dword [esp + 8], 4
mov dword [esp + 4], str..snd
mov dword [ebp - 0x258], eax
call sym._memcmp
mov dword [esp], ebx
mov dword [esp + 8], 4
mov dword [esp + 4], str.dns.
mov edi, eax
call sym._memcmp
test edi, edi
setne bl
test eax, eax
setne al
and bl, al
jne 0x700c986e
mov eax, fcn.70135de8
test edi, edi
je 0x700c93ef
mov eax, fcn.70135df8
mov dword [ebp - 0x124], eax
mov eax, dword [ebp + 0xc]
lea ecx, [ebp - 0x11c]
mov dword [esp], eax
mov dword [ebp - 0x120], 0
call fcn.700a9870
push ecx
lea ecx, [ebp - 0x124]
call sym.__ZNSt5_BindIFMN7OpenMPT6detail10FileReaderIN3mpt14mpt_libopenmpt2IO24FileCursorTraitsFileDataENS5_24FileCursorFilenameTraitsI
lea ecx, [ebp - 0x124]
mov dword [ebp - 0x260], eax
call sym.__ZNSt5_BindIFMN7OpenMPT6detail10FileReaderIN3mpt14mpt_libopenmpt2IO24FileCursorTraitsFileDataENS5_24FileCursorFilenameTraitsI
lea ecx, [ebp - 0x124]
mov dword [ebp - 0x264], eax
call sym.__ZNSt5_BindIFMN7OpenMPT6detail10FileReaderIN3mpt14mpt_libopenmpt2IO24FileCursorTraitsFileDataENS5_24FileCursorFilenameTraitsI
lea ecx, [ebp - 0x124]
mov esi, eax
call sym.__ZNSt5_BindIFMN7OpenMPT6detail10FileReaderIN3mpt14mpt_libopenmpt2IO24FileCursorTraitsFileDataENS5_24FileCursorFilenameTraitsI
lea ecx, [ebp - 0x124]
mov dword [ebp - 0x270], eax
call sym.__ZNSt5_BindIFMN7OpenMPT6detail10FileReaderIN3mpt14mpt_libopenmpt2IO24FileCursorTraitsFileDataENS5_24FileCursorFilenameTraitsI
cmp dword [ebp - 0x260], 0x17
mov dword [ebp - 0x268], eax
jbe 0x700c985e
dec eax
cmp eax, 1
ja 0x700c985e
test edi, edi
mov byte [ebp - 0x254], 8
sete dl
xor eax, eax
mov byte [ebp - 0x252], dl
cmp dword [ebp - 0x268], 1
setne al
inc eax
mov byte [ebp - 0x251], 0
mov byte [ebp - 0x253], al
cmp esi, 7
ja 0x700c94c1
test esi, esi
je 0x700c985e
sub esi, 2
cmp esi, 5
ja case.default.0x700c94ba
jmp dword [esi*4 + 0x702b5834]
cmp esi, 0x1b
jne 0x700c985e
mov byte [ebp - 0x254], 0x10
mov byte [ebp - 0x251], 0x11
jmp case.0x700c94ba.2
mov byte [ebp - 0x254], 0x10
mov byte [ebp - 0x251], 0x10
jmp case.0x700c94ba.2
mov byte [ebp - 0x254], 0x10
jmp case.0x700c94ba.2
mov byte [ebp - 0x254], 0x18
jmp case.0x700c94ba.2
mov byte [ebp - 0x254], 0x20
jmp case.0x700c94ba.2
mov byte [ebp - 0x254], 0x20
jmp 0x700c9515
mov byte [ebp - 0x254], 0x40
mov byte [ebp - 0x251], 3
mov eax, dword [ebp + 0xc]
mov edi, dword [ebp - 0x260]
mov ecx, dword [eax]
mov eax, dword [ecx]
mov dword [esp + 4], edi
mov dword [esp], 0
call dword [eax + 0x20]
push edx
mov byte [ebp - 0x269], al
push edx
test al, al
je 0x700c985e
lea ecx, [ebp - 0x108]
call method.OpenMPT::FileTags.FileTags__
mov dword [esp], 0x18
mov ecx, dword [ebp + 0xc]
call fcn.700a9020
mov edi, dword [ebp - 0x260]
push eax
lea edx, [ebp - 0x23c]
lea eax, [ebp - 0x244]
mov dword [ebp - 0x244], edx
mov dword [esp + 4], eax
lea edx, [edi - 0x18]
mov eax, dword [ebp + 0xc]
mov dword [esp + 8], edx
mov dword [esp], eax
mov dword [ebp - 0x240], 0
mov byte [ebp - 0x23c], 0
call fcn.7011e924
mov dword [esp], 0x702b5803
lea ecx, [ebp - 0x154]
call fcn.701fd374
push eax
lea ecx, [ebp - 0x16c]
mov dword [esp], 0x702b5805
call fcn.701fd374
push eax
lea eax, [ebp - 0x244]
mov dword [esp], eax
lea ecx, [ebp - 0x13c]
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 - 0x154]
lea ebx, [ebp - 0x22c]
mov dword [esp + 0xc], eax
lea esi, [ebp - 0x13c]
lea eax, [ebp - 0x16c]
mov dword [esp + 8], eax
mov dword [esp + 4], esi
mov dword [esp], ebx
call method.std::__cxx11::basic_string_char__std::char_traits_char___std::allocator_char____mpt::mpt_libopenmpt::replace_std::__cxx11::basic_string_char__std::char_traits_char___std::allocator_char_____std::__cxx11::basic_string_char__std::char_traits_char___s
lea ecx, [ebp - 0x244]
mov dword [esp], ebx
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, ebx
push edi
call method.std::__cxx11::basic_string_char__std::char_traits_char___std::allocator_char___._M_dispose__
mov ecx, esi
call method.std::__cxx11::basic_string_char__std::char_traits_char___std::allocator_char___._M_dispose__
lea ecx, [ebp - 0x16c]
call method.std::__cxx11::basic_string_char__std::char_traits_char___std::allocator_char___._M_dispose__
lea ecx, [ebp - 0x154]
call method.std::__cxx11::basic_string_char__std::char_traits_char___std::allocator_char___._M_dispose__
mov dword [esp], 0x702b5803
lea ecx, [ebp - 0x154]
call fcn.701fd374
push ebx
lea ecx, [ebp - 0x16c]
mov dword [esp], 0x702b5808
call fcn.701fd374
lea eax, [ebp - 0x244]
push ecx
mov dword [esp], eax
mov ecx, esi
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_
lea eax, [ebp - 0x154]
push edx
lea ebx, [ebp - 0x214]
mov dword [esp + 0xc], eax
lea eax, [ebp - 0x16c]
mov dword [esp + 4], esi
mov dword [esp + 8], eax
mov dword [esp], ebx
call method.std::__cxx11::basic_string_char__std::char_traits_char___std::allocator_char____mpt::mpt_libopenmpt::replace_std::__cxx11::basic_string_char__std::char_traits_char___std::allocator_char_____std::__cxx11::basic_string_char__std::char_traits_char___s
lea esi, [ebp - 0x244]
mov dword [esp], ebx
mov ecx, 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____
mov ecx, ebx
push eax
call method.std::__cxx11::basic_string_char__std::char_traits_char___std::allocator_char___._M_dispose__
lea ecx, [ebp - 0x13c]
call method.std::__cxx11::basic_string_char__std::char_traits_char___std::allocator_char___._M_dispose__
lea ecx, [ebp - 0x16c]
call method.std::__cxx11::basic_string_char__std::char_traits_char___std::allocator_char___._M_dispose__
lea ecx, [ebp - 0x154]
call method.std::__cxx11::basic_string_char__std::char_traits_char___std::allocator_char___._M_dispose__
mov dword [esp], esi
call method.mpt::mpt_libopenmpt.is_utf8_std::__cxx11::basic_string_char__std::char_traits_char___std::allocator_char____const_
cmp al, 1
lea ebx, [ebp - 0x13c]
sbb edi, edi
mov dword [esp], 0x702b5803
mov ecx, ebx
and edi, 2
call fcn.701fd374
push eax
lea eax, [ebp - 0x250]
mov dword [esp + 8], ebx
mov dword [esp + 4], esi
mov dword [esp], eax
call method.std::vector_std::__cxx11::basic_string_char__std::char_traits_char___std::allocator_char_____std::allocator_std::__cxx11::basic_string_char__std::char_traits_char___std::allocator_char________mpt::mpt_libopenmpt::split_std::__cxx11::basic_string_ch
mov ecx, ebx
call method.std::__cxx11::basic_string_char__std::char_traits_char___std::allocator_char___._M_dispose__
mov ebx, dword [ebp - 0x24c]
mov esi, dword [ebp - 0x250]
cmp esi, ebx
je 0x700c9f60
mov eax, esi
add esi, 0x18
call method.OpenMPT.AUIsAnnotationLineWithField_std::__cxx11::basic_string_char__std::char_traits_char___std::allocator_char____const_
test al, al
je 0x700c971e
jmp 0x700c9920
mov ebx, 0x10
imul ecx, edi, 0x68
imul ebx, dword [ebp - 0x268]
add ecx, dword [ebp - 0x25c]
xor edx, edx
div ebx
mov dword [ecx + 0x7641c], eax
mov eax, dword [ebp - 0x270]
mov dword [ecx + 0x76434], eax
lea ebx, [ebp - 0x154]
lea eax, [ebp - 0x108]
mov dword [esp], ebx
mov dword [esp + 4], eax
call method.OpenMPT.GetSampleNameFromTags_abi:cxx11__OpenMPT::FileTags_const_
mov eax, dword [ebp - 0x25c]
lea esi, [ebp - 0x13c]
mov eax, dword [eax + 0x13d068]
mov dword [esp + 8], ebx
mov dword [esp + 4], eax
mov dword [esp], esi
call fcn.700b2158
lea ecx, [edi + 0x7384]
mov dword [esp], esi
shl ecx, 5
add ecx, dword [ebp - 0x25c]
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__
mov ecx, ebx
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 - 0x280], 0
je 0x700c97d8
lea ecx, [ebp - 0x254]
call method.OpenMPT::SampleIO.MayNormalize__
mov eax, dword [ebp + 0xc]
lea ecx, [ebp - 0x254]
mov dword [esp + 4], eax
mov eax, dword [ebp - 0x260]
mov dword [esp], eax
call sym.__ZNK7OpenMPT8SampleIO10ReadSampleERNS_9ModSampleERNS_6detail10FileReaderIN3mpt14mpt_libopenmpt2IO24FileCursorTraitsFileDataEN
mov eax, dword [ebp - 0x25c]
push edi
push edi
mov ecx, dword [ebp - 0x260]
mov eax, dword [eax + 0x753b4]
mov dword [esp], 0x20
mov dword [esp + 4], eax
call method.OpenMPT::ModSample.Convert_OpenMPT::MODTYPE__OpenMPT::MODTYPE_
push esi
mov eax, dword [ebp - 0x25c]
push esi
mov ecx, dword [ebp - 0x260]
mov dword [esp + 4], 0
mov dword [esp], eax
call method.OpenMPT::ModSample.PrecomputeLoops_OpenMPT::CSoundFile__bool_
lea ecx, [ebp - 0x250]
push ebx
push ebx
call fcn.701f1a44
lea ecx, [ebp - 0x244]
call method.std::__cxx11::basic_string_char__std::char_traits_char___std::allocator_char___._M_dispose__
lea ecx, [ebp - 0x108]
call method.OpenMPT::FileTags.FileTags____clone_.isra.0_
mov bl, byte [ebp - 0x269]
lea ecx, [ebp - 0x11c]
call fcn.700aa414
jmp 0x700ca1af
xor ebx, ebx
jmp 0x700ca1af
lea eax, [ebp - 0x228]
mov dword [esp], str.comment
lea ecx, [ebp - 0x214]
mov dword [ebp - 0x228], 0
mov dword [ebp - 0x224], 0
mov dword [ebp - 0x220], eax
mov dword [ebp - 0x21c], eax
mov dword [ebp - 0x218], 0
call fcn.701fd374
mov eax, dword [ebp - 0x24c]
push edx
mov dword [ebp - 0x278], eax
mov ebx, dword [ebp - 0x250]
cmp ebx, dword [ebp - 0x278]
je 0x700c9ba3
mov eax, ebx
call method.OpenMPT.AUIsAnnotationLineWithField_std::__cxx11::basic_string_char__std::char_traits_char___std::allocator_char____const_
test al, al
je 0x700c9b12
lea eax, [ebp - 0x164]
mov dword [esp], 4
lea ecx, [ebp - 0x16c]
mov dword [ebp - 0x16c], eax
mov dword [ebp - 0x168], 0
mov byte [ebp - 0x164], 0
call method.std::__cxx11::basic_string_char__std::char_traits_char___std::allocator_char___.reserve_unsigned_int_
push eax
lea ecx, [ebp - 0x16c]
mov dword [esp], 0x20
call method.std::__cxx11::basic_string_char__std::char_traits_char___std::allocator_char___.push_back_char_
push eax
lea ecx, [ebp - 0x16c]
mov dword [esp], 0xa
call method.std::__cxx11::basic_string_char__std::char_traits_char___std::allocator_char___.push_back_char_
push eax
lea ecx, [ebp - 0x16c]
mov dword [esp], 0xd
call method.std::__cxx11::basic_string_char__std::char_traits_char___std::allocator_char___.push_back_char_
push esi
lea ecx, [ebp - 0x16c]
mov dword [esp], 9
call method.std::__cxx11::basic_string_char__std::char_traits_char___std::allocator_char___.push_back_char_
mov eax, ebx
push ecx
call method.OpenMPT.AUIsAnnotationLineWithField_std::__cxx11::basic_string_char__std::char_traits_char___std::allocator_char____const_
test al, al
jne 0x700c9a3b
lea eax, [ebp - 0x17c]
mov dword [ebp - 0x180], 0
mov dword [ebp - 0x184], eax
mov byte [ebp - 0x17c], 0
jmp 0x700c9a70
mov ecx, ebx
mov dword [esp + 4], 0
mov dword [esp], 0x3d
call method.std::__cxx11::basic_string_char__std::char_traits_char___std::allocator_char___.find_char__unsigned_int__const
lea ecx, [ebp - 0x184]
push edx
push edx
mov dword [esp + 8], eax
mov dword [esp + 4], 0
mov dword [esp], ebx
call method.std::__cxx11::basic_string_char__std::char_traits_char___std::allocator_char___.substr_unsigned_int__unsigned_int__const
sub esp, 0xc
lea eax, [ebp - 0x154]
lea edx, [ebp - 0x16c]
lea esi, [ebp - 0x184]
mov dword [esp + 8], edx
mov dword [esp + 4], esi
mov dword [esp], eax
call method.std::__cxx11::basic_string_char__std::char_traits_char___std::allocator_char____mpt::mpt_libopenmpt::trim_std::__cxx11::basic_string_char__std::char_traits_char___std.allocator_char______std::__cxx11::basic_string_char__std::char_traits_char___std:
mov eax, dword [ebp - 0x154]
mov ecx, dword [ebp - 0x150]
add ecx, eax
mov dword [ebp - 0x274], ecx
cmp eax, dword [ebp - 0x274]
je 0x700c9ac2
mov dl, byte [eax]
lea esi, [edx - 0x41]
mov ecx, esi
cmp cl, 0x19
ja 0x700c9abd
add edx, 0x20
mov byte [eax], dl
inc eax
jmp 0x700c9aa6
lea edx, [ebp - 0x154]
lea esi, [ebp - 0x13c]
mov dword [esp], edx
mov ecx, esi
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____
lea ecx, [ebp - 0x214]
push eax
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____
mov ecx, esi
push eax
call method.std::__cxx11::basic_string_char__std::char_traits_char___std::allocator_char___._M_dispose__
lea edx, [ebp - 0x154]
mov ecx, edx
call method.std::__cxx11::basic_string_char__std::char_traits_char___std::allocator_char___._M_dispose__
lea ecx, [ebp - 0x184]
call method.std::__cxx11::basic_string_char__std::char_traits_char___std::allocator_char___._M_dispose__
lea ecx, [ebp - 0x16c]
call method.std::__cxx11::basic_string_char__std::char_traits_char___std::allocator_char___._M_dispose__
lea eax, [ebp - 0x214]
lea ecx, [ebp - 0x22c]
mov dword [esp], eax
call sym.std::map_std::__cxx11::basic_string_char__std::char_traits_char___std::allocator_char_____std::vector_std::__cxx11::basic_string_char__std::char_traits_char___std::allocator_char_____std::allocator_std::__cxx11::basic_string_char__std::char_traits_char___std::allocator_char_________std::less_std::__cxx11::basic_string_char__std::char_traits_char___std::allocator_char_______std::allocator_std::pair_std::__cxx11::basic_string_char__std::char_traits_char___std::allocator_char____const__std::vector_std::__cxx11::basic_string_char__std::char_traits_char___std::allocator_char_____std::allocator_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____const_
mov dword [ebp - 0x274], eax
mov eax, ebx
push esi
call method.OpenMPT.AUIsAnnotationLineWithField_std::__cxx11::basic_string_char__std::char_traits_char___std::allocator_char____const_
test al, al
jne 0x700c9b49
mov dword [esp], ebx
lea ecx, [ebp - 0x13c]
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 ecx
jmp 0x700c9b7f
mov ecx, ebx
mov dword [esp + 4], 0
mov dword [esp], 0x3d
call method.std::__cxx11::basic_string_char__std::char_traits_char___std::allocator_char___.find_char__unsigned_int__const
lea ecx, [ebp - 0x13c]
inc eax
push edx
push edx
mov dword [esp + 8], 0xffffffff
mov dword [esp + 4], eax
mov dword [esp], ebx
call method.std::__cxx11::basic_string_char__std::char_traits_char___std::allocator_char___.substr_unsigned_int__unsigned_int__const
sub esp, 0xc
lea esi, [ebp - 0x13c]
mov ecx, dword [ebp - 0x274]
mov dword [esp], esi
call method.std::__cxx11::basic_string_char__std::char_traits_char___std::allocator_char____std::vector_std::__cxx11::basic_string_char__std::char_traits_char___std::allocator_char_____std::allocator_std::__cxx11::basic_string_char__std::char_traits_char___st
mov ecx, esi
push eax
add ebx, 0x18
call method.std::__cxx11::basic_string_char__std::char_traits_char___std::allocator_char___._M_dispose__
jmp 0x700c9975
mov dword [esp], 0x702b5803
lea ecx, [ebp - 0x154]
call fcn.701fd374
push ebx
lea ebx, [ebp - 0x16c]
mov dword [esp], 0x702b580a
mov ecx, ebx
call fcn.701fd374
push ecx
lea ecx, [ebp - 0x22c]
mov dword [esp], ebx
call method.std::map_std::__cxx11::basic_string_char__std::char_traits_char___std::allocator_char_____std::vector_std::__cxx11::basic_string_char__std::char_traits_char___std::allocator_char_____std::allocator_std::__cxx11::basic_string_char__std::char_traits_
lea ebx, [ebp - 0x13c]
push edx
lea edx, [ebp - 0x154]
mov dword [esp + 4], eax
mov dword [esp + 8], edx
mov dword [esp], ebx
call method.std::__cxx11::basic_string_char__std::char_traits_char___std::allocator_char____mpt::mpt_libopenmpt::join_format_std::__cxx11::basic_string_char__std::char_traits_char___std::allocator_char_____std::__cxx11::basic_string_char__std::char_traits_char
lea esi, [ebp - 0x1fc]
mov dword [esp + 8], ebx
mov dword [esp + 4], edi
mov dword [esp], esi
call fcn.700b16cc
lea ecx, [ebp - 0xf0]
mov dword [esp], 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___::operator_std::__cxx11::basic_string_char__mpt::mpt_libopenmpt::encodi
mov ecx, esi
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, ebx
call method.std::__cxx11::basic_string_char__std::char_traits_char___std::allocator_char___._M_dispose__
lea ecx, [ebp - 0x16c]
call method.std::__cxx11::basic_string_char__std::char_traits_char___std::allocator_char___._M_dispose__
lea ecx, [ebp - 0x154]
call method.std::__cxx11::basic_string_char__std::char_traits_char___std::allocator_char___._M_dispose__
mov dword [esp], 0x702b5803
lea ecx, [ebp - 0x154]
call fcn.701fd374
push esi
lea ecx, [ebp - 0x16c]
mov dword [esp], 0x702b5810
call fcn.701fd374
lea eax, [ebp - 0x16c]
push ecx
mov dword [esp], eax
lea ecx, [ebp - 0x22c]
call method.std::map_std::__cxx11::basic_string_char__std::char_traits_char___std::allocator_char_____std::vector_std::__cxx11::basic_string_char__std::char_traits_char___std::allocator_char_____std::allocator_std::__cxx11::basic_string_char__std::char_traits_
push edx
lea edx, [ebp - 0x154]
mov dword [esp + 8], edx
mov dword [esp + 4], eax
mov dword [esp], ebx
call method.std::__cxx11::basic_string_char__std::char_traits_char___std::allocator_char____mpt::mpt_libopenmpt::join_format_std::__cxx11::basic_string_char__std::char_traits_char___std::allocator_char_____std::__cxx11::basic_string_char__std::char_traits_char
lea esi, [ebp - 0x1e4]
mov dword [esp + 8], ebx
mov dword [esp + 4], edi
mov dword [esp], esi
call fcn.700b16cc
lea ecx, [ebp - 0xa8]
mov dword [esp], 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___::operator_std::__cxx11::basic_string_char__mpt::mpt_libopenmpt::encodi
mov ecx, esi
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, ebx
call method.std::__cxx11::basic_string_char__std::char_traits_char___std::allocator_char___._M_dispose__
lea ecx, [ebp - 0x16c]
call method.std::__cxx11::basic_string_char__std::char_traits_char___std::allocator_char___._M_dispose__
lea ecx, [ebp - 0x154]
call method.std::__cxx11::basic_string_char__std::char_traits_char___std::allocator_char___._M_dispose__
mov dword [esp], 0x702b5803
lea ecx, [ebp - 0x154]
call fcn.701fd374
push esi
lea ecx, [ebp - 0x16c]
mov dword [esp], str.album
call fcn.701fd374
lea eax, [ebp - 0x16c]
push ecx
mov dword [esp], eax
lea ecx, [ebp - 0x22c]
call method.std::map_std::__cxx11::basic_string_char__std::char_traits_char___std::allocator_char_____std::vector_std::__cxx11::basic_string_char__std::char_traits_char___std::allocator_char_____std::allocator_std::__cxx11::basic_string_char__std::char_traits_
push edx
lea edx, [ebp - 0x154]
mov dword [esp + 8], edx
mov dword [esp + 4], eax
mov dword [esp], ebx
call method.std::__cxx11::basic_string_char__std::char_traits_char___std::allocator_char____mpt::mpt_libopenmpt::join_format_std::__cxx11::basic_string_char__std::char_traits_char___std::allocator_char_____std::__cxx11::basic_string_char__std::char_traits_char
lea esi, [ebp - 0x1cc]
mov dword [esp + 8], ebx
mov dword [esp + 4], edi
mov dword [esp], esi
call fcn.700b16cc
lea ecx, [ebp - 0x90]
mov dword [esp], 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___::operator_std::__cxx11::basic_string_char__mpt::mpt_libopenmpt::encodi
mov ecx, esi
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, ebx
call method.std::__cxx11::basic_string_char__std::char_traits_char___std::allocator_char___._M_dispose__
lea ecx, [ebp - 0x16c]
call method.std::__cxx11::basic_string_char__std::char_traits_char___std::allocator_char___._M_dispose__
lea ecx, [ebp - 0x154]
call method.std::__cxx11::basic_string_char__std::char_traits_char___std::allocator_char___._M_dispose__
mov dword [esp], 0x702b5803
lea ecx, [ebp - 0x154]
call fcn.701fd374
push esi
lea ecx, [ebp - 0x16c]
mov dword [esp], str.track
call fcn.701fd374
lea eax, [ebp - 0x16c]
push ecx
mov dword [esp], eax
lea ecx, [ebp - 0x22c]
call method.std::map_std::__cxx11::basic_string_char__std::char_traits_char___std::allocator_char_____std::vector_std::__cxx11::basic_string_char__std::char_traits_char___std::allocator_char_____std::allocator_std::__cxx11::basic_string_char__std::char_traits_
push edx
lea edx, [ebp - 0x154]
mov dword [esp + 8], edx
mov dword [esp + 4], eax
mov dword [esp], ebx
call method.std::__cxx11::basic_string_char__std::char_traits_char___std::allocator_char____mpt::mpt_libopenmpt::join_format_std::__cxx11::basic_string_char__std::char_traits_char___std::allocator_char_____std::__cxx11::basic_string_char__std::char_traits_char
lea esi, [ebp - 0x1b4]
mov dword [esp + 8], ebx
mov dword [esp + 4], edi
mov dword [esp], esi
call fcn.700b16cc
lea ecx, [ebp - 0x78]
mov dword [esp], 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___::operator_std::__cxx11::basic_string_char__mpt::mpt_libopenmpt::encodi
mov ecx, esi
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, ebx
call method.std::__cxx11::basic_string_char__std::char_traits_char___std::allocator_char___._M_dispose__
lea ecx, [ebp - 0x16c]
call method.std::__cxx11::basic_string_char__std::char_traits_char___std::allocator_char___._M_dispose__
lea ecx, [ebp - 0x154]
call method.std::__cxx11::basic_string_char__std::char_traits_char___std::allocator_char___._M_dispose__
mov dword [esp], 0x702b5803
lea ecx, [ebp - 0x154]
call fcn.701fd374
push esi
lea ecx, [ebp - 0x16c]
mov dword [esp], str.genre
call fcn.701fd374
lea eax, [ebp - 0x16c]
push ecx
mov dword [esp], eax
lea ecx, [ebp - 0x22c]
call method.std::map_std::__cxx11::basic_string_char__std::char_traits_char___std::allocator_char_____std::vector_std::__cxx11::basic_string_char__std::char_traits_char___std::allocator_char_____std::allocator_std::__cxx11::basic_string_char__std::char_traits_
push edx
lea edx, [ebp - 0x154]
mov dword [esp + 8], edx
mov dword [esp + 4], eax
mov dword [esp], ebx
call method.std::__cxx11::basic_string_char__std::char_traits_char___std::allocator_char____mpt::mpt_libopenmpt::join_format_std::__cxx11::basic_string_char__std::char_traits_char___std::allocator_char_____std::__cxx11::basic_string_char__std::char_traits_char
lea esi, [ebp - 0x19c]
mov dword [esp + 8], ebx
mov dword [esp + 4], edi
mov dword [esp], esi
call fcn.700b16cc
lea ecx, [ebp - 0x30]
mov dword [esp], 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___::operator_std::__cxx11::basic_string_char__mpt::mpt_libopenmpt::encodi
mov ecx, esi
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, ebx
call method.std::__cxx11::basic_string_char__std::char_traits_char___std::allocator_char___._M_dispose__
lea ecx, [ebp - 0x16c]
call method.std::__cxx11::basic_string_char__std::char_traits_char___std::allocator_char___._M_dispose__
lea ecx, [ebp - 0x154]
call method.std::__cxx11::basic_string_char__std::char_traits_char___std::allocator_char___._M_dispose__
mov dword [esp], 0x702b5803
lea ecx, [ebp - 0x154]
call fcn.701fd374
push esi
lea ecx, [ebp - 0x16c]
mov dword [esp], str.comment
call fcn.701fd374
lea eax, [ebp - 0x16c]
push ecx
mov dword [esp], eax
lea ecx, [ebp - 0x22c]
call method.std::map_std::__cxx11::basic_string_char__std::char_traits_char___std::allocator_char_____std::vector_std::__cxx11::basic_string_char__std::char_traits_char___std::allocator_char_____std::allocator_std::__cxx11::basic_string_char__std::char_traits_
push edx
lea edx, [ebp - 0x154]
mov dword [esp + 8], edx
mov dword [esp + 4], eax
mov dword [esp], ebx
call method.std::__cxx11::basic_string_char__std::char_traits_char___std::allocator_char____mpt::mpt_libopenmpt::join_format_std::__cxx11::basic_string_char__std::char_traits_char___std::allocator_char_____std::__cxx11::basic_string_char__std::char_traits_char
lea esi, [ebp - 0x184]
mov dword [esp + 8], ebx
mov dword [esp + 4], edi
mov dword [esp], esi
call fcn.700b16cc
lea ecx, [ebp - 0xd8]
mov dword [esp], 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___::operator_std::__cxx11::basic_string_char__mpt::mpt_libopenmpt::encodi
mov ecx, esi
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, ebx
call method.std::__cxx11::basic_string_char__std::char_traits_char___std::allocator_char___._M_dispose__
lea ecx, [ebp - 0x16c]
call method.std::__cxx11::basic_string_char__std::char_traits_char___std::allocator_char___._M_dispose__
lea ecx, [ebp - 0x154]
call method.std::__cxx11::basic_string_char__std::char_traits_char___std::allocator_char___._M_dispose__
lea ecx, [ebp - 0x214]
call method.std::__cxx11::basic_string_char__std::char_traits_char___std::allocator_char___._M_dispose__
mov eax, dword [ebp - 0x224]
mov dword [esp], eax
lea ecx, [ebp - 0x22c]
call fcn.702106a4
push eax
jmp 0x700ca04f
mov dword [esp], 0x702b5805
lea ecx, [ebp - 0x16c]
call fcn.701fd374
push eax
lea eax, [ebp - 0x244]
mov dword [esp], eax
lea ecx, [ebp - 0x13c]
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_
lea ebx, [ebp - 0x154]
push eax
lea esi, [ebp - 0x13c]
lea eax, [ebp - 0x16c]
mov dword [esp + 8], eax
mov dword [esp + 4], esi
mov dword [esp], ebx
call method.std::__cxx11::basic_string_char__std::char_traits_char___std::allocator_char____mpt::mpt_libopenmpt::trim_right_std::__cxx11::basic_string_char__std::char_traits_char___std.allocator_char______std::__cxx11::basic_string_char__std::char_traits_char_
lea esi, [ebp - 0x244]
mov dword [esp], ebx
mov ecx, 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____
mov ecx, ebx
push eax
call method.std::__cxx11::basic_string_char__std::char_traits_char___std::allocator_char___._M_dispose__
lea ecx, [ebp - 0x13c]
call method.std::__cxx11::basic_string_char__std::char_traits_char___std::allocator_char___._M_dispose__
lea ecx, [ebp - 0x16c]
call method.std::__cxx11::basic_string_char__std::char_traits_char___std::allocator_char___._M_dispose__
mov dword [esp], esi
mov ecx, ebx
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_
lea eax, [ebp - 0x184]
push ecx
mov dword [esp + 4], ebx
mov dword [esp], eax
lea ecx, [ebp - 0x13c]
mov dword [ebp - 0x184], edi
mov esi, ebx
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 edx
lea eax, [ebp - 0x16c]
push edx
lea ebx, [ebp - 0x13c]
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
lea ebx, [ebp - 0x16c]
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 ecx, [ebp - 0xd8]
mov dword [esp], ebx
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, ebx
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 - 0x260]
mov ecx, dword [ebp + 0xc]
mov dword [esp], eax
call fcn.700a9020
movzx edi, word [ebp - 0x27c]
push eax
mov edx, dword [ebp - 0x25c]
imul eax, edi, 0x68
mov dword [esp], edi
mov ecx, edx
lea eax, [edx + eax + 0x7641c]
mov dword [ebp - 0x260], eax
call method.OpenMPT::CSoundFile.DestroySampleThreadsafe_unsigned_short_
push eax
mov ecx, dword [ebp - 0x260]
mov dword [esp], 0
call method.OpenMPT::ModSample.Initialize_OpenMPT::MODTYPE_
mov ecx, dword [ebp + 0xc]
push eax
call fcn.7015bc28
cmp dword [ebp - 0x264], 0xffffffff
je 0x700ca0bb
cmp eax, dword [ebp - 0x264]
jbe 0x700ca0bb
mov eax, dword [ebp - 0x264]
shl eax, 3
cmp byte [ebp - 0x251], 0x11
ja case.0x700ca0ce.4
movzx edx, byte [ebp - 0x251]
jmp dword [edx*4 + 0x702b584c]
movzx ebx, byte [ebp - 0x254]
jmp 0x700c973e
mov ebx, 4
jmp 0x700c973e
mov ebx, 8
jmp 0x700c973e
xor ebx, ebx
jmp 0x700c973e
lea esp, [ebp - 0xc]
mov al, bl
pop ebx
pop esi
pop edi
pop ebp
ret 0xc