Function at 0x62939514
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, 0x62aba0d0
mov ecx, 4
mov eax, dword [ebp + 8]
rep movsd dword es:[edi], dword [esi]
lea edi, [ebp - 0x1e8]
mov esi, 0x62aba0e0
mov ecx, 4
mov dword [ebp - 0x224], eax
rep movsd dword es:[edi], dword [esi]
lea edi, [ebp - 0x1d8]
mov esi, 0x62aba0f0
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 0x62939e25
mov ecx, ebx
mov dword [esp], 0x28
call fcn.62924a94
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 0x62939e25
cmp si, 0x912e
jne 0x62939e25
cmp cx, 0x11cf
jne 0x62939e25
bswap eax
cmp edx, 0xdb28d6a5
jne 0x62939e25
cmp eax, 0x4c10000
jne 0x62939e25
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 0x62939e25
cmp si, 0xacf3
jne 0x62939e25
cmp cx, 0x11d3
jne 0x62939e25
bswap eax
cmp edx, 0xc000d18c
jne 0x62939e25
cmp eax, 0x4f8edb8a
jne 0x62939e25
mov edi, dword [ebp - 0x11c]
mov ecx, ebx
mov esi, dword [ebp - 0x120]
call fcn.629c9c9c
test edi, edi
jne 0x62939e25
cmp eax, esi
jne 0x62939e25
lea esi, [ebp - 0x1b4]
mov dword [esp], ebx
mov ecx, esi
call fcn.62924f18
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.629c9c58
mov byte [ebp - 0x21d], al
push edx
test al, al
je 0x62939764
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 0x62939731
mov dword [esp], ebx
call sym.__ZN3mpt14mpt_libopenmpt2IO10FileReader5ChunkIN7OpenMPT11Wave64ChunkENS4_6detail10FileReaderINS1_24FileCursorTraitsFileDataENS
add dword [ebp - 0x210], 0x2c
push eax
jmp 0x62939745
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.62925a58
jmp 0x629396de
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.629c9ca4
sub esp, 0x10
test al, al
je 0x62939dfe
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 0x629397f1
mov dword [esp], 0x10
lea ecx, [ebp - 0x1a0]
call fcn.62924a94
mov eax, dword [ebp - 0x1c4]
push esi
cmp ax, 0xfffe
jne 0x62939854
jmp 0x62939801
mov ecx, 4
xor eax, eax
mov edi, ebx
rep stosd dword es:[edi], eax
jmp 0x62939ded
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 0x62939ded
mov dword [esp], 0x18
lea ecx, [ebp - 0x1a0]
call fcn.62924a94
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 0x62939ded
mov si, word [ebp - 0x1c2]
lea edx, [esi - 1]
cmp dx, 1
ja 0x62939ded
mov edx, eax
and edx, 0xfffffffd
dec dx
jne 0x62939ded
cmp ax, 3
mov cx, word [ebp - 0x1b6]
jne 0x6293989e
lea edx, [ecx - 0x20]
test dx, 0xffdf
je 0x629398ae
jmp 0x62939ded
cmp ax, 1
jne 0x629398ae
cmp cx, 0x40
ja 0x62939ded
movzx edx, cx
dec edx
mov bl, 8
shr edx, 3
lea edi, [edx - 1]
cmp edi, 6
ja 0x629398c5
mov bl, byte [edx + 0x62b2a47f]
cmp ax, 3
mov byte [ebp - 0x218], bl
sete al
xor edx, edx
mov byte [ebp - 0x216], 0
cmp si, 2
movzx eax, al
sete dl
inc edx
lea eax, [eax + eax*2]
cmp cx, 8
mov byte [ebp - 0x217], dl
jbe 0x629398fd
mov byte [ebp - 0x215], al
jmp 0x62939904
mov byte [ebp - 0x215], 1
cmp byte [ebp - 0x228], 0
je 0x62939918
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 eax, [ebp - 0x214]
rep movsd dword es:[edi], dword [esi]
mov dword [esp], eax
lea ecx, [ebp - 0x18c]
call sym.__ZNK3mpt14mpt_libopenmpt2IO10FileReader9ChunkListIN7OpenMPT11Wave64ChunkENS4_6detail10FileReaderINS1_24FileCursorTraitsFileDa
sub esp, 0x14
lea ecx, [ebp - 0x18c]
call fcn.629c9c7c
test al, al
jne 0x62939961
mov ebx, 0x6faf
jmp 0x629399b7
mov dword [esp], 2
lea ecx, [ebp - 0x18c]
call fcn.629c9c58
test al, al
push edx
je 0x6293995a
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
xor ebx, ebx
push eax
cmp edx, 2
jne 0x629399b7
mov dword [esp], 2
lea ecx, [ebp - 0x18c]
call fcn.62924a94
movzx ebx, word [ebp - 0x14c]
push eax
mov edi, esp
lea esi, [ebp - 0x208]
mov ecx, 4
rep movsd dword es:[edi], dword [esi]
lea ecx, [ebp - 0x214]
lea esi, [ebp - 0x208]
call fcn.629c9ca4
sub esp, 0x10
test al, al
je 0x62939c26
lea edi, [esp + 4]
mov ecx, 4
rep movsd dword es:[edi], dword [esi]
lea eax, [ebp - 0x214]
lea ecx, [ebp - 0x164]
mov dword [esp], eax
call sym.__ZNK3mpt14mpt_libopenmpt2IO10FileReader9ChunkListIN7OpenMPT11Wave64ChunkENS4_6detail10FileReaderINS1_24FileCursorTraitsFileDa
sub esp, 0x14
lea esi, [ebp - 0x14c]
lea ecx, [ebp - 0x164]
mov dword [ebp - 0x14c], 0
mov dword [esp], esi
mov dword [esp + 4], 4
call sym.__ZNK3mpt14mpt_libopenmpt2IO10FileCursorINS1_24FileCursorTraitsFileDataENS1_24FileCursorFilenameTraitsINS0_15BasicPathStringIN
push edi
cmp edx, 4
push edi
jne 0x62939c1b
mov dword [esp + 8], 4
mov dword [esp + 4], 0x62b20030
mov dword [esp], esi
call sym._memcmp
test eax, eax
jne 0x62939c1b
mov dword [esp], 4
lea ecx, [ebp - 0x164]
call fcn.62924a94
mov dword [ebp - 0x178], 0
push ecx
mov dword [ebp - 0x174], 0
mov dword [ebp - 0x170], 0
mov dword [esp], 8
lea ecx, [ebp - 0x164]
call fcn.629c9c58
test al, al
push edx
je 0x62939b32
lea eax, [ebp - 0x164]
mov dword [esp + 8], 2
mov dword [esp + 4], eax
mov dword [esp], esi
call sym.__ZN3mpt14mpt_libopenmpt2IO10FileReader13ReadNextChunkIN7OpenMPT9RIFFChunkENS4_6detail10FileReaderINS1_24FileCursorTraitsFileD
mov ecx, dword [ebp - 0x174]
lea edi, [ebp - 0x144]
cmp ecx, dword [ebp - 0x170]
je 0x62939af5
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.62924dc8
add dword [ebp - 0x174], 0x1c
push eax
jmp 0x62939b0f
lea eax, [ebp - 0x14c]
mov dword [esp], ecx
mov dword [esp + 4], eax
lea ecx, [ebp - 0x178]
call fcn.62a59c68
push eax
push eax
lea ecx, [ebp - 0x144]
call fcn.62925a58
jmp 0x62939a86
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.62a59e38
lea ecx, [ebp - 0x164]
call fcn.62925a58
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.629c9ca4
sub esp, 0x10
mov byte [ebp - 0x21d], al
test al, al
je 0x62939dd7
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.629c9c9c
cmp byte [ebp - 0x215], 0x11
ja case.0x62939c90.4
movzx edx, byte [ebp - 0x215]
jmp dword [edx*4 + 0x62b20038]
mov cl, 0x10
jmp 0x62939cad
mov cl, byte [ebp - 0x218]
jmp 0x62939cad
mov cl, 4
jmp 0x62939cad
mov cl, 8
jmp 0x62939cad
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, dword [ebp - 0x21c]
lea edi, [edi + eax + 0x7641c]
call method.OpenMPT::CSoundFile.DestroySampleThreadsafe_unsigned_short_
push eax
mov ecx, edi
mov dword [esp], 0
call method.OpenMPT::ModSample.Initialize_OpenMPT::MODTYPE_
push eax
mov edx, dword [ebp - 0x1c0]
imul eax, ebx, 0x68
add eax, dword [ebp - 0x21c]
lea ecx, [ebp - 0x218]
mov dword [eax + 0x7641c], esi
mov dword [eax + 0x76434], edx
lea eax, [ebp - 0x178]
mov dword [esp], edi
mov dword [esp + 4], 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]
mov eax, dword [eax + 0x13d068]
mov dword [esp + 8], esi
mov dword [esp + 4], eax
lea eax, [ebp - 0x14c]
mov dword [esp], eax
call fcn.6292d53c
lea ecx, [ebx + 0x7384]
mov eax, dword [ebp - 0x21c]
mov ebx, ecx
shl ebx, 5
lea ecx, [eax + ebx]
lea eax, [ebp - 0x14c]
mov dword [esp], eax
call method.mpt::mpt_libopenmpt::charbuf_32u_.operator_std::__cxx11::basic_string_char__std::char_traits_char___std::allocator_char____const_
push ecx
lea ecx, [ebp - 0x14c]
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, edi
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, edi
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.62925a58
lea ecx, [ebp - 0x18c]
call fcn.62925a58
lea ecx, [ebp - 0x108]
call method.OpenMPT::FileTags.FileTags____clone_.isra.0_
lea ecx, [ebp - 0x1a0]
call fcn.62925a58
mov al, byte [ebp - 0x21d]
lea ecx, [ebp - 0x214]
mov byte [ebp - 0x21c], al
call fcn.62a586c8
lea ecx, [ebp - 0x1b4]
call fcn.62925a58
mov al, byte [ebp - 0x21c]
jmp 0x62939eac
xor eax, eax
jmp 0x62939eac
lea esp, [ebp - 0xc]
pop ebx
pop esi
pop edi
pop ebp
ret 0xc