Function at 0x700cd6d4
Capabilities:
Contain obfuscated stackstrings

Disassembly:
push ebp
mov ebp, esp
push edi
push esi
mov esi, str.list_
push ebx
lea edi, [ebp - 0x208]
sub esp, 0x23c
mov dword [ebp - 0x21c], ecx
mov ecx, 4
mov ebx, dword [ebp + 0xc]
rep movsd dword es:[edi], dword [esi]
lea edi, [ebp - 0x1f8]
mov esi, 0x7024e0d0
mov ecx, 4
mov eax, dword [ebp + 8]
rep movsd dword es:[edi], dword [esi]
lea edi, [ebp - 0x1e8]
mov esi, 0x7024e0e0
mov ecx, 4
mov dword [ebp - 0x224], eax
rep movsd dword es:[edi], dword [esi]
lea edi, [ebp - 0x1d8]
mov esi, 0x7024e0f0
mov ecx, 4
mov eax, dword [ebp + 0x10]
rep movsd dword es:[edi], dword [esi]
lea esi, [ebp - 0x130]
mov dword [ebx + 8], 0
mov ecx, ebx
mov dword [esp], esi
mov dword [esp + 4], 0x28
mov dword [ebp - 0x228], eax
call sym.__ZNK3mpt14mpt_libopenmpt2IO10FileCursorINS1_24FileCursorTraitsFileDataENS1_24FileCursorFilenameTraitsINS0_15BasicPathStringIN
cmp edx, 0x28
push eax
push eax
jne 0x700cdff9
mov ecx, ebx
mov dword [esp], 0x28
call fcn.700a905c
mov ecx, 4
push edi
lea edi, [ebp - 0x108]
rep movsd dword es:[edi], dword [esi]
cmp dword [ebp - 0x108], 0x66666972
mov esi, dword [ebp - 0x104]
mov cx, word [ebp - 0x102]
mov edx, dword [ebp - 0x100]
mov eax, dword [ebp - 0xfc]
jne 0x700cdff9
cmp si, 0x912e
jne 0x700cdff9
cmp cx, 0x11cf
jne 0x700cdff9
bswap eax
cmp edx, 0xdb28d6a5
jne 0x700cdff9
cmp eax, 0x4c10000
jne 0x700cdff9
lea edi, [ebp - 0x108]
lea esi, [ebp - 0x118]
mov ecx, 4
rep movsd dword es:[edi], dword [esi]
cmp dword [ebp - 0x108], 0x65766177
mov esi, dword [ebp - 0x104]
mov cx, word [ebp - 0x102]
mov edx, dword [ebp - 0x100]
mov eax, dword [ebp - 0xfc]
jne 0x700cdff9
cmp si, 0xacf3
jne 0x700cdff9
cmp cx, 0x11d3
jne 0x700cdff9
bswap eax
cmp edx, 0xc000d18c
jne 0x700cdff9
cmp eax, 0x4f8edb8a
jne 0x700cdff9
mov edi, dword [ebp - 0x11c]
mov ecx, ebx
mov esi, dword [ebp - 0x120]
call fcn.7015bc40
test edi, edi
jne 0x700cdff9
cmp eax, esi
jne 0x700cdff9
lea esi, [ebp - 0x1b4]
mov dword [esp], ebx
mov ecx, esi
call fcn.700a9870
mov dword [ebp - 0x214], 0
mov dword [ebp - 0x210], 0
mov dword [ebp - 0x20c], 0
push ecx
mov dword [esp], 0x18
mov ecx, esi
call fcn.7015bbf8
mov byte [ebp - 0x21e], al
push edx
test al, al
je 0x700cd924
lea ebx, [ebp - 0x108]
mov dword [esp + 8], 8
mov dword [esp + 4], esi
mov dword [esp], ebx
call sym.__ZN3mpt14mpt_libopenmpt2IO10FileReader13ReadNextChunkIN7OpenMPT11Wave64ChunkENS4_6detail10FileReaderINS1_24FileCursorTraitsFi
mov ecx, dword [ebp - 0x210]
cmp ecx, dword [ebp - 0x20c]
je 0x700cd8f1
mov dword [esp], ebx
call sym.__ZN3mpt14mpt_libopenmpt2IO10FileReader5ChunkIN7OpenMPT11Wave64ChunkENS4_6detail10FileReaderINS1_24FileCursorTraitsFileDataENS
add dword [ebp - 0x210], 0x2c
push eax
jmp 0x700cd905
mov dword [esp], ecx
mov dword [esp + 4], ebx
lea ecx, [ebp - 0x214]
call sym.__ZNSt6vectorIN3mpt14mpt_libopenmpt2IO10FileReader5ChunkIN7OpenMPT11Wave64ChunkENS5_6detail10FileReaderINS2_24FileCursorTraits
push eax
push eax
lea ecx, [ebp - 0xf0]
call fcn.700aa414
jmp 0x700cd89e
mov edi, esp
lea esi, [ebp - 0x1f8]
mov ecx, 4
lea ebx, [ebp - 0x214]
rep movsd dword es:[edi], dword [esi]
mov ecx, ebx
lea esi, [ebp - 0x1f8]
call fcn.7015bc48
sub esp, 0x10
test al, al
je 0x700cdfd2
lea edi, [esp + 4]
mov ecx, 4
rep movsd dword es:[edi], dword [esi]
mov dword [esp], ebx
lea ecx, [ebp - 0x1a0]
call sym.__ZNK3mpt14mpt_libopenmpt2IO10FileReader9ChunkListIN7OpenMPT11Wave64ChunkENS4_6detail10FileReaderINS1_24FileCursorTraitsFileDa
sub esp, 0x14
lea ebx, [ebp - 0x1c4]
lea ecx, [ebp - 0x1a0]
mov dword [esp], ebx
mov dword [esp + 4], 0x10
call sym.__ZNK3mpt14mpt_libopenmpt2IO10FileCursorINS1_24FileCursorTraitsFileDataENS1_24FileCursorFilenameTraitsINS0_15BasicPathStringIN
push edi
cmp edx, 0x10
push edi
jne 0x700cd9b1
mov dword [esp], 0x10
lea ecx, [ebp - 0x1a0]
call fcn.700a905c
mov eax, dword [ebp - 0x1c4]
push esi
cmp ax, 0xfffe
jne 0x700cda14
jmp 0x700cd9c1
mov ecx, 4
xor eax, eax
mov edi, ebx
rep stosd dword es:[edi], eax
jmp 0x700cdfc1
lea eax, [ebp - 0x108]
mov dword [esp + 4], 0x18
mov dword [esp], eax
lea ecx, [ebp - 0x1a0]
call sym.__ZNK3mpt14mpt_libopenmpt2IO10FileCursorINS1_24FileCursorTraitsFileDataENS1_24FileCursorFilenameTraitsINS0_15BasicPathStringIN
push ebx
cmp edx, 0x18
push ebx
jne 0x700cdfc1
mov dword [esp], 0x18
lea ecx, [ebp - 0x1a0]
call fcn.700a905c
lea edi, [ebp - 0x14c]
push ecx
lea esi, [ebp - 0x100]
mov ecx, 4
rep movsd dword es:[edi], dword [esi]
mov eax, dword [ebp - 0x14c]
cmp dword [ebp - 0x1c0], 0
je 0x700cdfc1
mov di, word [ebp - 0x1c2]
lea edx, [edi - 1]
cmp dx, 1
ja 0x700cdfc1
mov edx, eax
and edx, 0xfffffffd
dec dx
jne 0x700cdfc1
cmp ax, 3
mov cx, word [ebp - 0x1b6]
jne 0x700cda5e
lea edx, [ecx - 0x20]
test dx, 0xffdf
je 0x700cda6e
jmp 0x700cdfc1
cmp ax, 1
jne 0x700cda6e
cmp cx, 0x40
ja 0x700cdfc1
movzx edx, cx
dec edx
mov bl, 8
shr edx, 3
lea esi, [edx - 1]
cmp esi, 6
ja 0x700cda85
mov bl, byte [edx + 0x702bfcdf]
cmp ax, 3
mov byte [ebp - 0x218], bl
sete al
xor edx, edx
mov byte [ebp - 0x216], 0
cmp di, 2
movzx eax, al
sete dl
inc edx
lea eax, [eax + eax*2]
cmp cx, 8
mov byte [ebp - 0x217], dl
jbe 0x700cdabd
mov byte [ebp - 0x215], al
jmp 0x700cdac4
mov byte [ebp - 0x215], 1
cmp byte [ebp - 0x228], 0
je 0x700cdad8
lea ecx, [ebp - 0x218]
call method.OpenMPT::SampleIO.MayNormalize__
lea ecx, [ebp - 0x108]
lea edi, [esp + 4]
call method.OpenMPT::FileTags.FileTags__
lea esi, [ebp - 0x1d8]
mov ecx, 4
lea ebx, [ebp - 0x214]
rep movsd dword es:[edi], dword [esi]
mov dword [esp], ebx
lea ecx, [ebp - 0x18c]
call sym.__ZNK3mpt14mpt_libopenmpt2IO10FileReader9ChunkListIN7OpenMPT11Wave64ChunkENS4_6detail10FileReaderINS1_24FileCursorTraitsFileDa
sub esp, 0x14
lea ecx, [ebp - 0x18c]
call fcn.7015bc20
test al, al
jne 0x700cdb25
mov word [ebp - 0x21e], 0x6faf
jmp 0x700cdb88
mov dword [esp], 2
lea ecx, [ebp - 0x18c]
call fcn.7015bbf8
test al, al
push edx
je 0x700cdb1a
lea eax, [ebp - 0x14c]
mov dword [esp + 4], 2
mov dword [esp], eax
lea ecx, [ebp - 0x18c]
call sym.__ZNK3mpt14mpt_libopenmpt2IO10FileCursorINS1_24FileCursorTraitsFileDataENS1_24FileCursorFilenameTraitsINS0_15BasicPathStringIN
push eax
mov word [ebp - 0x21e], 0
push eax
cmp edx, 2
jne 0x700cdb88
mov dword [esp], 2
lea ecx, [ebp - 0x18c]
call fcn.700a905c
mov eax, dword [ebp - 0x14c]
push edi
mov word [ebp - 0x21e], ax
mov edi, esp
lea esi, [ebp - 0x208]
mov ecx, 4
rep movsd dword es:[edi], dword [esi]
mov ecx, ebx
lea esi, [ebp - 0x208]
call fcn.7015bc48
sub esp, 0x10
test al, al
je 0x700cddf0
lea edi, [esp + 4]
mov ecx, 4
rep movsd dword es:[edi], dword [esi]
mov dword [esp], ebx
lea ecx, [ebp - 0x164]
call sym.__ZNK3mpt14mpt_libopenmpt2IO10FileReader9ChunkListIN7OpenMPT11Wave64ChunkENS4_6detail10FileReaderINS1_24FileCursorTraitsFileDa
sub esp, 0x14
lea ebx, [ebp - 0x14c]
lea ecx, [ebp - 0x164]
mov dword [ebp - 0x14c], 0
mov dword [esp], ebx
mov dword [esp + 4], 4
call sym.__ZNK3mpt14mpt_libopenmpt2IO10FileCursorINS1_24FileCursorTraitsFileDataENS1_24FileCursorFilenameTraitsINS0_15BasicPathStringIN
push esi
cmp edx, 4
push esi
jne 0x700cdde5
mov dword [esp + 8], 4
mov dword [esp + 4], 0x702b5894
mov dword [esp], ebx
call sym._memcmp
test eax, eax
jne 0x700cdde5
mov dword [esp], 4
lea ecx, [ebp - 0x164]
call fcn.700a905c
mov dword [ebp - 0x178], 0
push ecx
mov dword [ebp - 0x174], 0
mov dword [ebp - 0x170], 0
lea esi, [ebp - 0x164]
mov dword [esp], 8
mov ecx, esi
call fcn.7015bbf8
test al, al
push edx
je 0x700cdcf5
mov dword [esp + 8], 2
mov dword [esp + 4], esi
mov dword [esp], ebx
call sym.__ZN3mpt14mpt_libopenmpt2IO10FileReader13ReadNextChunkIN7OpenMPT9RIFFChunkENS4_6detail10FileReaderINS1_24FileCursorTraitsFileD
mov ecx, dword [ebp - 0x174]
lea edi, [ebp - 0x144]
cmp ecx, dword [ebp - 0x170]
je 0x700cdcb8
mov eax, dword [ebp - 0x14c]
mov edx, dword [ebp - 0x148]
mov dword [ecx + 4], edx
mov dword [ecx], eax
add ecx, 8
mov dword [esp], edi
call fcn.700a9534
add dword [ebp - 0x174], 0x1c
push eax
jmp 0x700cdcd2
lea eax, [ebp - 0x14c]
mov dword [esp], ecx
mov dword [esp + 4], eax
lea ecx, [ebp - 0x178]
call fcn.701ed91c
push eax
push eax
lea ecx, [ebp - 0x144]
call fcn.700aa414
jmp 0x700cdc53
movzx ebx, word [ebp - 0x21e]
mov dword [esp], 0x4d414e49
lea ecx, [ebp - 0x178]
mov edx, ebx
lea eax, [ebp - 0xf0]
call sym.__ZN7OpenMPTL21Wave64TagFromLISTINFOERNSt7__cxx1112basic_stringIcN3mpt14mpt_libopenmpt20encoding_char_traitsILNS3_15common_enc
mov dword [esp], 0x54465349
lea ecx, [ebp - 0x178]
mov edx, ebx
lea eax, [ebp - 0x108]
call sym.__ZN7OpenMPTL21Wave64TagFromLISTINFOERNSt7__cxx1112basic_stringIcN3mpt14mpt_libopenmpt20encoding_char_traitsILNS3_15common_enc
mov dword [esp], 0x54524149
lea ecx, [ebp - 0x178]
mov edx, ebx
lea eax, [ebp - 0xa8]
call sym.__ZN7OpenMPTL21Wave64TagFromLISTINFOERNSt7__cxx1112basic_stringIcN3mpt14mpt_libopenmpt20encoding_char_traitsILNS3_15common_enc
mov dword [esp], 0x44525049
lea ecx, [ebp - 0x178]
mov edx, ebx
lea eax, [ebp - 0x90]
call sym.__ZN7OpenMPTL21Wave64TagFromLISTINFOERNSt7__cxx1112basic_stringIcN3mpt14mpt_libopenmpt20encoding_char_traitsILNS3_15common_enc
mov dword [esp], 0x544d4349
lea ecx, [ebp - 0x178]
mov edx, ebx
lea eax, [ebp - 0xd8]
call sym.__ZN7OpenMPTL21Wave64TagFromLISTINFOERNSt7__cxx1112basic_stringIcN3mpt14mpt_libopenmpt20encoding_char_traitsILNS3_15common_enc
mov dword [esp], 0x524e4749
lea ecx, [ebp - 0x178]
mov edx, ebx
lea eax, [ebp - 0x30]
call sym.__ZN7OpenMPTL21Wave64TagFromLISTINFOERNSt7__cxx1112basic_stringIcN3mpt14mpt_libopenmpt20encoding_char_traitsILNS3_15common_enc
mov dword [esp], 0x52414559
lea ecx, [ebp - 0x178]
mov edx, ebx
lea eax, [ebp - 0x60]
call sym.__ZN7OpenMPTL21Wave64TagFromLISTINFOERNSt7__cxx1112basic_stringIcN3mpt14mpt_libopenmpt20encoding_char_traitsILNS3_15common_enc
mov dword [esp], 0x4b435254
lea ecx, [ebp - 0x178]
mov edx, ebx
lea eax, [ebp - 0x78]
call sym.__ZN7OpenMPTL21Wave64TagFromLISTINFOERNSt7__cxx1112basic_stringIcN3mpt14mpt_libopenmpt20encoding_char_traitsILNS3_15common_enc
mov dword [esp], 0x4c525554
lea ecx, [ebp - 0x178]
mov edx, ebx
lea eax, [ebp - 0x48]
call sym.__ZN7OpenMPTL21Wave64TagFromLISTINFOERNSt7__cxx1112basic_stringIcN3mpt14mpt_libopenmpt20encoding_char_traitsILNS3_15common_enc
lea ecx, [ebp - 0x178]
call fcn.701edaa8
lea ecx, [ebp - 0x164]
call fcn.700aa414
mov edi, esp
lea esi, [ebp - 0x1e8]
mov ecx, 4
lea ebx, [ebp - 0x214]
rep movsd dword es:[edi], dword [esi]
mov ecx, ebx
lea esi, [ebp - 0x1e8]
call fcn.7015bc48
sub esp, 0x10
mov byte [ebp - 0x21e], al
test al, al
je 0x700cdfab
lea edi, [esp + 4]
mov ecx, 4
rep movsd dword es:[edi], dword [esi]
mov dword [esp], ebx
lea ecx, [ebp - 0x178]
call sym.__ZNK3mpt14mpt_libopenmpt2IO10FileReader9ChunkListIN7OpenMPT11Wave64ChunkENS4_6detail10FileReaderINS1_24FileCursorTraitsFileDa
sub esp, 0x14
lea ecx, [ebp - 0x178]
call fcn.7015bc40
cmp byte [ebp - 0x215], 0x11
ja case.0x700cde5a.4
movzx edx, byte [ebp - 0x215]
jmp dword [edx*4 + 0x702b589c]
mov cl, 0x10
jmp 0x700cde77
mov cl, byte [ebp - 0x218]
jmp 0x700cde77
mov cl, 4
jmp 0x700cde77
mov cl, 8
jmp 0x700cde77
xor ecx, ecx
shr cl, 3
xor edx, edx
movzx ebx, word [ebp - 0x224]
movzx ecx, cl
div ecx
mov esi, eax
mov edi, dword [ebp - 0x21c]
imul eax, ebx, 0x68
mov dword [esp], ebx
mov ecx, edi
lea eax, [edi + eax + 0x7641c]
mov dword [ebp - 0x224], eax
call method.OpenMPT::CSoundFile.DestroySampleThreadsafe_unsigned_short_
push eax
mov ecx, dword [ebp - 0x224]
mov dword [esp], 0
call method.OpenMPT::ModSample.Initialize_OpenMPT::MODTYPE_
imul eax, ebx, 0x68
add eax, dword [ebp - 0x21c]
mov edx, dword [ebp - 0x1c0]
push edi
lea ecx, [ebp - 0x218]
mov dword [eax + 0x7641c], esi
mov dword [eax + 0x76434], edx
lea eax, [ebp - 0x178]
mov dword [esp + 4], eax
mov eax, dword [ebp - 0x224]
mov dword [esp], eax
call sym.__ZNK7OpenMPT8SampleIO10ReadSampleERNS_9ModSampleERNS_6detail10FileReaderIN3mpt14mpt_libopenmpt2IO24FileCursorTraitsFileDataEN
push esi
lea eax, [ebp - 0x108]
push esi
lea esi, [ebp - 0x164]
mov dword [esp + 4], eax
mov dword [esp], esi
call method.OpenMPT.GetSampleNameFromTags_abi:cxx11__OpenMPT::FileTags_const_
mov eax, dword [ebp - 0x21c]
lea edi, [ebp - 0x14c]
mov eax, dword [eax + 0x13d068]
mov dword [esp + 8], esi
mov dword [esp + 4], eax
mov dword [esp], edi
call fcn.700b2158
lea ecx, [ebx + 0x7384]
mov eax, dword [ebp - 0x21c]
mov ebx, ecx
mov dword [esp], edi
shl ebx, 5
lea ecx, [eax + ebx]
call method.mpt::mpt_libopenmpt::charbuf_32u_.operator_std::__cxx11::basic_string_char__std::char_traits_char___std::allocator_char____const_
push ecx
mov ecx, 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__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 - 0x21c]
mov eax, dword [eax + 0x753b4]
mov ecx, dword [ebp - 0x224]
mov dword [esp + 4], eax
mov dword [esp], 0x20
call method.OpenMPT::ModSample.Convert_OpenMPT::MODTYPE__OpenMPT::MODTYPE_
push edx
mov eax, dword [ebp - 0x21c]
push edx
mov ecx, dword [ebp - 0x224]
mov dword [esp + 4], 0
mov dword [esp], eax
call method.OpenMPT::ModSample.PrecomputeLoops_OpenMPT::CSoundFile__bool_
lea ecx, [ebp - 0x178]
push eax
push eax
call fcn.700aa414
lea ecx, [ebp - 0x18c]
call fcn.700aa414
lea ecx, [ebp - 0x108]
call method.OpenMPT::FileTags.FileTags____clone_.isra.0_
lea ecx, [ebp - 0x1a0]
call fcn.700aa414
mov al, byte [ebp - 0x21e]
lea ecx, [ebp - 0x214]
mov byte [ebp - 0x21c], al
call fcn.701ec3f8
lea ecx, [ebp - 0x1b4]
call fcn.700aa414
mov al, byte [ebp - 0x21c]
jmp 0x700ce080
xor eax, eax
jmp 0x700ce080
lea esp, [ebp - 0xc]
pop ebx
pop esi
pop edi
pop ebp
ret 0xc