Function at 0x47d680
Capabilities:
Delete file
Execute command

Disassembly:
push ebp
lea eax, [ecx + 0x1f8]
mov ebp, esp
push edi
push esi
push ebx
mov ebx, ecx
mov ecx, eax
sub esp, 0xfc
mov dword [ebp - 0xdc], eax
mov esi, dword [ebp + 8]
mov dword [esp + 0xc], 0
mov dword [esp + 8], 0x60571d
mov edx, dword [ebx + 0x1fc]
mov dword [esp], 0
mov dword [esp + 4], edx
call sym.std::__cxx11::basic_string_char__std::char_traits_char___std::allocator_char___::_M_replace_unsigned_int__unsigned_int__char_const__unsigned_int_
mov ecx, dword [ebx + 0x9a8]
sub esp, 0x10
mov edi, dword [ecx + 0xa0154]
mov dword [esp], edi
call sym._SDL_FreeWAV
mov edi, dword [esi + 4]
lea edx, [ebp - 0xa0]
mov ecx, dword [esi]
mov eax, dword [ebx + 0x9a8]
mov dword [ebp - 0xa8], edx
mov dword [eax + 0xa0154], 0
mov dword [ebp - 0x30], edi
cmp edi, 0xf
ja 0x47d900
cmp edi, 1
jne 0x47d8f0
movzx eax, byte [ecx]
mov byte [ebp - 0xa0], al
lea eax, [ebp - 0xa0]
mov dword [ebp - 0xa4], edi
mov byte [eax + edi], 0
mov eax, dword [ebp - 0xa4]
cmp eax, 3
jbe 0x47d78f
mov ecx, dword [ebp - 0xa8]
lea edx, [ebp - 0x28]
mov dword [ebp - 0x30], edx
mov edi, dword [ecx + eax - 4]
mov dword [ebp - 0x2c], 4
mov byte [ebp - 0x24], 0
mov dword [ebp - 0x28], edi
mov dword [ecx], edi
mov eax, dword [ebp - 0x2c]
mov ecx, dword [ebp - 0xa8]
mov dword [ebp - 0xa4], eax
mov byte [ecx + eax], 0
mov edi, dword [ebp - 0x30]
mov dword [ebp - 0x2c], 0
mov byte [edi], 0
mov eax, dword [ebp - 0x30]
cmp eax, edx
je 0x47d78f
mov edx, dword [ebp - 0x28]
mov dword [esp], eax
add edx, 1
mov dword [esp + 4], edx
call sym.operator_delete_void__unsigned_int_
mov dword [esp], 0x60571e
lea ecx, [ebp - 0xa8]
call sym.std::__cxx11::basic_string_char__std::char_traits_char___std::allocator_char___::compare_char_const__const
sub esp, 4
test eax, eax
je 0x47d7c5
mov dword [esp], str..WAV
lea ecx, [ebp - 0xa8]
call sym.std::__cxx11::basic_string_char__std::char_traits_char___std::allocator_char___::compare_char_const__const
sub esp, 4
test eax, eax
jne 0x47d9a8
mov dword [esp], esi
mov ecx, dword [ebp - 0xdc]
call sym.std::__cxx11::basic_string_char__std::char_traits_char___std::allocator_char___::_M_assign_std::__cxx11::basic_string_char__std::char_traits_char___std::allocator_char____const_
sub esp, 4
mov edi, dword [ebx + 0x9a8]
lea eax, [edi + 0xa0144]
add edi, 0xa0154
mov dword [ebp - 0xdc], eax
mov dword [esp + 4], 0x6055e7
mov ecx, dword [esi]
mov dword [esp], ecx
call sym._SDL_RWFromFile
mov edx, dword [ebp - 0xdc]
mov dword [esp + 0xc], edi
lea edi, [ebp - 0x30]
mov dword [esp + 8], edi
mov dword [esp + 0x10], edx
mov dword [esp + 4], 1
mov dword [esp], eax
call sym._SDL_LoadWAV_RW
test eax, eax
je 0x47e128
cmp word [ebp - 0x2c], 0x8010
jne 0x47d958
movzx eax, byte [ebp - 0x2a]
cmp al, 2
ja 0x47d980
mov edx, dword [ebx + 0x9a8]
mov ecx, dword [ebp - 0x30]
mov byte [edx + 0xa0159], al
mov dword [edx + 0xa0140], ecx
mov dword [esp + 8], 0x20
mov dword [esp + 4], str.MMU::Jukebox_loaded_audio_file:
mov dword [esp], sym.imp.libstdc_6.dll_std::cout
call sym.std::basic_ostream_char__std::char_traits_char____std::__ostream_insert_char__std::char_traits_char____std::basic_ostream_char__std::char_traits_char_____char_const__int_
mov edi, dword [esi + 4]
mov dword [esp + 8], edi
mov esi, dword [esi]
mov dword [esp], sym.imp.libstdc_6.dll_std::cout
mov dword [esp + 4], esi
call sym.std::basic_ostream_char__std::char_traits_char____std::__ostream_insert_char__std::char_traits_char____std::basic_ostream_char__std::char_traits_char_____char_const__int_
mov dword [esp + 8], 1
mov dword [esp + 4], 0x6055aa
mov dword [esp], eax
call sym.std::basic_ostream_char__std::char_traits_char____std::__ostream_insert_char__std::char_traits_char____std::basic_ostream_char__std::char_traits_char_____char_const__int_
test byte [ebx + 0x142], 0xfd
je 0x47e110
mov ebx, 1
mov eax, dword [ebp - 0xa8]
lea edx, [ebp - 0xa0]
cmp eax, edx
je 0x47d8de
mov edi, dword [ebp - 0xa0]
mov dword [esp], eax
lea esi, [edi + 1]
mov dword [esp + 4], esi
call sym.operator_delete_void__unsigned_int_
lea esp, [ebp - 0xc]
mov eax, ebx
pop ebx
pop esi
pop edi
pop ebp
ret 4
lea eax, [ebp - 0xa0]
test edi, edi
je 0x47d721
jmp 0x47d937
lea edx, [ebp - 0x30]
mov dword [ebp - 0xe0], ecx
lea ecx, [ebp - 0xa8]
mov dword [esp + 4], 0
mov dword [esp], edx
call sym.std::__cxx11::basic_string_char__std::char_traits_char___std::allocator_char___::_M_create_unsigned_int__unsigned_int_
mov ecx, dword [ebp - 0x30]
mov dword [ebp - 0xa8], eax
sub esp, 8
mov dword [ebp - 0xa0], ecx
mov ecx, dword [ebp - 0xe0]
mov dword [esp + 8], edi
mov dword [esp + 4], ecx
mov dword [esp], eax
call sym._memcpy
mov edi, dword [ebp - 0x30]
mov eax, dword [ebp - 0xa8]
jmp 0x47d721
mov dword [esp + 8], 0x44
mov dword [esp + 4], str.MMU::Jukebox_loaded_file__but_format_is_not_Signed_16_bit_LSB_audio_n
mov dword [esp], sym.imp.libstdc_6.dll_std::cout
call sym.std::basic_ostream_char__std::char_traits_char____std::__ostream_insert_char__std::char_traits_char____std::basic_ostream_char__std::char_traits_char_____char_const__int_
xor ebx, ebx
jmp 0x47d8b9
mov dword [esp + 8], 0x3e
mov dword [esp + 4], str.MMU::Jukebox_loaded_file__but_audio_uses_more_than_2_channels_n
mov dword [esp], sym.imp.libstdc_6.dll_std::cout
call sym.std::basic_ostream_char__std::char_traits_char____std::__ostream_insert_char__std::char_traits_char____std::basic_ostream_char__std::char_traits_char_____char_const__int_
xor ebx, ebx
jmp 0x47d8b9
mov dword [esp], str..gb3
lea ecx, [ebp - 0xa8]
call sym.std::__cxx11::basic_string_char__std::char_traits_char___std::allocator_char___::compare_char_const__const
sub esp, 4
test eax, eax
je 0x47d7c5
mov dword [esp], str..GB3
lea ecx, [ebp - 0xa8]
call sym.std::__cxx11::basic_string_char__std::char_traits_char___std::allocator_char___::compare_char_const__const
sub esp, 4
test eax, eax
je 0x47d7c5
mov eax, dword [0x6530c8]
mov edi, dword [0x6530cc]
lea ecx, [ebp - 0x88]
mov dword [ebp - 0x90], ecx
mov dword [ebp - 0xe0], eax
mov dword [ebp - 0x30], edi
cmp edi, 0xf
ja 0x47e24d
cmp edi, 1
je 0x47e1da
lea eax, [ebp - 0x88]
test edi, edi
jne 0x47e278
mov dword [ebp - 0x8c], edi
mov byte [eax + edi], 0
mov eax, 0x3fffffff
sub eax, dword [ebp - 0x8c]
cmp eax, 3
jbe 0x47e6bb
mov dword [esp + 4], 4
lea ecx, [ebp - 0x90]
mov dword [esp], 0x60571e
call sym.std::__cxx11::basic_string_char__std::char_traits_char___std::allocator_char___::_M_append_char_const__unsigned_int_
mov edx, dword [0x653098]
mov edi, dword [0x65309c]
lea ecx, [ebp - 0xd0]
sub esp, 8
mov dword [ebp - 0xd8], ecx
mov dword [ebp - 0xe0], edx
mov dword [ebp - 0x30], edi
cmp edi, 0xf
ja 0x47e29c
cmp edi, 1
je 0x47e239
lea eax, [ebp - 0xd0]
test edi, edi
jne 0x47e2c7
mov dword [ebp - 0xd4], edi
mov byte [eax + edi], 0
mov edx, dword [ebx + 0x1e0]
mov eax, dword [ebx + 0x1e4]
mov ecx, dword [esi]
cmp eax, dword [esi + 4]
je 0x47e1ee
mov edi, dword [ebp - 0x90]
mov dword [esp], edi
call sym._remove
lea eax, [ebp - 0x70]
mov edx, 0x6925
mov byte [ebp - 0x6e], 0x6e
lea ecx, [ebp - 0xd8]
mov dword [ebp - 0x78], eax
mov word [ebp - 0x70], dx
mov dword [ebp - 0x74], 3
mov byte [ebp - 0x6d], 0
mov dword [esp + 8], 3
mov dword [esp + 4], 0
mov dword [esp], eax
call sym.std::__cxx11::basic_string_char__std::char_traits_char___std::allocator_char___::find_char_const__unsigned_int__unsigned_int__const
mov dword [ebp - 0xe0], eax
sub esp, 0xc
mov ecx, eax
cmp eax, 0xffffffff
je 0x47dd49
lea edi, [ebp - 0x58]
mov eax, dword [ebp - 0xd8]
mov dword [ebp - 0x60], edi
mov edi, dword [ebp - 0xd4]
mov dword [ebp - 0xe4], eax
cmp ecx, edi
cmovbe edi, ecx
mov dword [ebp - 0x30], edi
cmp edi, 0xf
ja 0x47e3a9
cmp edi, 1
je 0x47e3ec
lea eax, [ebp - 0x58]
test edi, edi
jne 0x47e3cb
mov ecx, dword [ebp - 0xe0]
mov dword [ebp - 0x5c], edi
mov byte [eax + edi], 0
mov eax, dword [ebp - 0xd4]
add ecx, 3
cmp eax, ecx
jb 0x47e6c7
mov edi, dword [ebp - 0xd8]
sub eax, ecx
lea edx, [ebp - 0x40]
mov dword [ebp - 0x48], edx
add edi, ecx
mov dword [ebp - 0x30], eax
mov dword [ebp - 0xe4], edi
mov edi, eax
cmp eax, 0xf
ja 0x47e41d
cmp eax, 1
je 0x47e400
lea ecx, [ebp - 0x30]
lea eax, [ebp - 0x40]
mov dword [ebp - 0xe0], ecx
test edi, edi
jne 0x47e445
lea ecx, [ebp - 0x60]
mov dword [ebp - 0x44], edi
mov byte [eax + edi], 0
mov dword [esp + 8], esi
mov dword [esp + 4], ecx
mov eax, dword [ebp - 0xe0]
mov dword [esp], eax
call method.std::__cxx11::basic_string_char__std::char_traits_char___std::allocator_char____std::operator_char__std::char_traits_char___std.allocator_char____std::__cxx11::basic_string_char__std::char_traits_char___std::allocator_char____const__std::__cxx11:
mov edx, dword [ebp - 0x44]
mov ecx, 0x3fffffff
sub ecx, dword [ebp - 0x2c]
mov edi, dword [ebp - 0x48]
cmp ecx, edx
jb 0x47e6ff
mov dword [esp + 4], edx
mov dword [esp], edi
mov ecx, dword [ebp - 0xe0]
call sym.std::__cxx11::basic_string_char__std::char_traits_char___std::allocator_char___::_M_append_char_const__unsigned_int_
lea ecx, [ebp - 0xb8]
mov edi, eax
sub esp, 8
mov dword [ebp - 0xc0], ecx
mov eax, dword [eax]
mov edx, dword [edi + 4]
mov dword [ebp - 0xe4], eax
lea eax, [edi + 8]
mov dword [ebp - 0xe8], eax
mov dword [ebp - 0xe0], edx
cmp dword [ebp - 0xe4], eax
je 0x47e523
mov eax, dword [ebp - 0xe4]
mov dword [ebp - 0xc0], eax
mov edx, dword [edi + 8]
mov dword [ebp - 0xb8], edx
mov eax, dword [edi + 4]
mov dword [ebp - 0xe0], eax
mov edx, dword [ebp - 0xe0]
mov eax, dword [ebp - 0xe8]
mov dword [ebp - 0xbc], edx
mov dword [edi], eax
mov edx, dword [ebp - 0xd8]
mov dword [edi + 4], 0
mov byte [edi + 8], 0
mov edi, dword [ebp - 0xc0]
mov eax, edx
cmp edi, ecx
je 0x47e5e5
lea edx, [ebp - 0xd0]
cmp eax, edx
je 0x47e635
movq xmm0, qword [ebp - 0xbc]
mov edx, dword [ebp - 0xd0]
mov dword [ebp - 0xd8], edi
movq qword [ebp - 0xd4], xmm0
test eax, eax
je 0x47e64b
mov dword [ebp - 0xc0], eax
mov dword [ebp - 0xb8], edx
mov dword [ebp - 0xbc], 0
mov byte [eax], 0
mov edi, dword [ebp - 0xc0]
cmp edi, ecx
je 0x47dcf5
mov ecx, dword [ebp - 0xb8]
mov dword [esp], edi
add ecx, 1
mov dword [esp + 4], ecx
call sym.operator_delete_void__unsigned_int_
mov eax, dword [ebp - 0x30]
lea edx, [ebp - 0x28]
cmp eax, edx
je 0x47dd11
mov edi, dword [ebp - 0x28]
mov dword [esp], eax
add edi, 1
mov dword [esp + 4], edi
call sym.operator_delete_void__unsigned_int_
mov ecx, dword [ebp - 0x48]
lea eax, [ebp - 0x40]
cmp ecx, eax
je 0x47dd2d
mov edx, dword [ebp - 0x40]
mov dword [esp], ecx
add edx, 1
mov dword [esp + 4], edx
call sym.operator_delete_void__unsigned_int_
mov edi, dword [ebp - 0x60]
lea ecx, [ebp - 0x58]
cmp edi, ecx
je 0x47dd49
mov eax, dword [ebp - 0x58]
mov dword [esp], edi
add eax, 1
mov dword [esp + 4], eax
call sym.operator_delete_void__unsigned_int_
mov dword [esp + 0xc], 4
lea ecx, [ebp - 0x78]
mov dword [esp + 8], 0x60557f
mov edx, dword [ebp - 0x74]
mov dword [esp], 0
mov dword [esp + 4], edx
call sym.std::__cxx11::basic_string_char__std::char_traits_char___std::allocator_char___::_M_replace_unsigned_int__unsigned_int__char_const__unsigned_int_
mov edi, dword [ebp - 0x74]
sub esp, 0x10
mov dword [esp + 4], 0
mov dword [esp + 8], edi
mov ecx, dword [ebp - 0x78]
mov dword [esp], ecx
lea ecx, [ebp - 0xd8]
call sym.std::__cxx11::basic_string_char__std::char_traits_char___std::allocator_char___::find_char_const__unsigned_int__unsigned_int__const
mov dword [ebp - 0xe0], eax
sub esp, 0xc
mov edx, eax
cmp eax, 0xffffffff
je 0x47dfd9
mov edi, dword [ebp - 0xd8]
lea eax, [ebp - 0x58]
mov dword [ebp - 0x60], eax
mov dword [ebp - 0xe4], edi
mov edi, dword [ebp - 0xd4]
cmp edx, edi
cmovbe edi, edx
mov dword [ebp - 0x30], edi
cmp edi, 0xf
ja 0x47e4e0
cmp edi, 1
je 0x47e4cc
lea eax, [ebp - 0x58]
test edi, edi
jne 0x47e502
mov edx, dword [ebp - 0xe0]
mov dword [ebp - 0x5c], edi
mov byte [eax + edi], 0
mov eax, dword [ebp - 0xd4]
add edx, 4
cmp eax, edx
jb 0x47e6e3
mov edi, dword [ebp - 0xd8]
sub eax, edx
lea ecx, [ebp - 0x40]
mov dword [ebp - 0x48], ecx
add edi, edx
mov dword [ebp - 0x30], eax
mov dword [ebp - 0xe4], edi
mov edi, eax
cmp eax, 0xf
ja 0x47e483
cmp eax, 1
je 0x47e466
lea edx, [ebp - 0x30]
lea eax, [ebp - 0x40]
mov dword [ebp - 0xe0], edx
test edi, edi
jne 0x47e4ab
mov dword [ebp - 0x44], edi
lea edx, [ebp - 0x90]
mov byte [eax + edi], 0
lea eax, [ebp - 0x60]
mov dword [esp + 8], edx
mov dword [esp + 4], eax
mov ecx, dword [ebp - 0xe0]
mov dword [esp], ecx
call method.std::__cxx11::basic_string_char__std::char_traits_char___std::allocator_char____std::operator_char__std::char_traits_char___std.allocator_char____std::__cxx11::basic_string_char__std::char_traits_char___std::allocator_char____const__std::__cxx11:
mov edi, dword [ebp - 0x44]
mov eax, 0x3fffffff
sub eax, dword [ebp - 0x2c]
mov edx, dword [ebp - 0x48]
cmp eax, edi
jb 0x47e70b
mov dword [esp + 4], edi
mov dword [esp], edx
mov ecx, dword [ebp - 0xe0]
call sym.std::__cxx11::basic_string_char__std::char_traits_char___std::allocator_char___::_M_append_char_const__unsigned_int_
lea ecx, [ebp - 0xb8]
mov edi, eax
lea eax, [eax + 8]
sub esp, 8
mov dword [ebp - 0xc0], ecx
mov edx, dword [eax - 8]
mov dword [ebp - 0xe8], eax
mov dword [ebp - 0xe4], edx
mov edx, dword [edi + 4]
mov dword [ebp - 0xe0], edx
cmp dword [ebp - 0xe4], eax
je 0x47e55c
mov eax, dword [ebp - 0xe4]
mov dword [ebp - 0xc0], eax
mov edx, dword [edi + 8]
mov dword [ebp - 0xb8], edx
mov eax, dword [edi + 4]
mov dword [ebp - 0xe0], eax
mov edx, dword [ebp - 0xe0]
mov eax, dword [ebp - 0xe8]
mov dword [ebp - 0xbc], edx
mov dword [edi], eax
mov edx, dword [ebp - 0xd8]
mov dword [edi + 4], 0
mov byte [edi + 8], 0
mov edi, dword [ebp - 0xc0]
mov eax, edx
cmp edi, ecx
je 0x47e595
lea edx, [ebp - 0xd0]
cmp eax, edx
je 0x47e65e
movq xmm1, qword [ebp - 0xbc]
mov edx, dword [ebp - 0xd0]
mov dword [ebp - 0xd8], edi
movq qword [ebp - 0xd4], xmm1
test eax, eax
je 0x47e674
mov dword [ebp - 0xc0], eax
mov dword [ebp - 0xb8], edx
mov dword [ebp - 0xbc], 0
mov byte [eax], 0
mov edi, dword [ebp - 0xc0]
cmp edi, ecx
je 0x47df85
mov ecx, dword [ebp - 0xb8]
mov dword [esp], edi
add ecx, 1
mov dword [esp + 4], ecx
call sym.operator_delete_void__unsigned_int_
mov eax, dword [ebp - 0x30]
lea edx, [ebp - 0x28]
cmp eax, edx
je 0x47dfa1
mov edi, dword [ebp - 0x28]
mov dword [esp], eax
add edi, 1
mov dword [esp + 4], edi
call sym.operator_delete_void__unsigned_int_
mov ecx, dword [ebp - 0x48]
lea eax, [ebp - 0x40]
cmp ecx, eax
je 0x47dfbd
mov edx, dword [ebp - 0x40]
mov dword [esp], ecx
add edx, 1
mov dword [esp + 4], edx
call sym.operator_delete_void__unsigned_int_
mov edi, dword [ebp - 0x60]
lea ecx, [ebp - 0x58]
cmp edi, ecx
je 0x47dfd9
mov eax, dword [ebp - 0x58]
mov dword [esp], edi
add eax, 1
mov dword [esp + 4], eax
call sym.operator_delete_void__unsigned_int_
mov dword [esp], 0
call sym._system
test eax, eax
je 0x47e2eb
mov dword [esp + 8], 0x1b
mov dword [esp + 4], 0x605732
mov dword [esp], sym.imp.libstdc_6.dll_std::cout
call sym.std::basic_ostream_char__std::char_traits_char____std::__ostream_insert_char__std::char_traits_char____std::basic_ostream_char__std::char_traits_char_____char_const__int_
mov edi, dword [esi + 4]
mov dword [esp + 8], edi
mov edx, dword [esi]
mov dword [esp], sym.imp.libstdc_6.dll_std::cout
mov dword [esp + 4], edx
call sym.std::basic_ostream_char__std::char_traits_char____std::__ostream_insert_char__std::char_traits_char____std::basic_ostream_char__std::char_traits_char_____char_const__int_
mov dword [esp + 8], 1
mov dword [esp + 4], 0x6055aa
mov dword [esp], eax
call sym.std::basic_ostream_char__std::char_traits_char____std::__ostream_insert_char__std::char_traits_char____std::basic_ostream_char__std::char_traits_char_____char_const__int_
mov ecx, dword [ebp - 0xd8]
mov dword [esp], ecx
call sym._system
mov dword [esp + 8], 0x19
mov dword [esp + 4], 0x60574e
mov dword [esp], sym.imp.libstdc_6.dll_std::cout
call sym.std::basic_ostream_char__std::char_traits_char____std::__ostream_insert_char__std::char_traits_char____std::basic_ostream_char__std::char_traits_char_____char_const__int_
mov dword [esp], esi
lea ecx, [ebx + 0x1e0]
call sym.std::__cxx11::basic_string_char__std::char_traits_char___std::allocator_char___::_M_assign_std::__cxx11::basic_string_char__std::char_traits_char___std::allocator_char____const_
sub esp, 4
lea eax, [ebp - 0x90]
mov ecx, esi
mov dword [esp], eax
call sym.std::__cxx11::basic_string_char__std::char_traits_char___std::allocator_char___::_M_assign_std::__cxx11::basic_string_char__std::char_traits_char___std::allocator_char____const_
sub esp, 4
lea edi, [ebp - 0x90]
mov dword [esp], edi
mov ecx, dword [ebp - 0xdc]
call sym.std::__cxx11::basic_string_char__std::char_traits_char___std::allocator_char___::_M_assign_std::__cxx11::basic_string_char__std::char_traits_char___std::allocator_char____const_
mov ecx, dword [ebp - 0x78]
lea edx, [ebp - 0x70]
sub esp, 4
cmp ecx, edx
je 0x47e0bb
mov eax, dword [ebp - 0x70]
mov dword [esp], ecx
add eax, 1
mov dword [esp + 4], eax
call sym.operator_delete_void__unsigned_int_
mov edi, dword [ebp - 0xd8]
lea edx, [ebp - 0xd0]
cmp edi, edx
je 0x47e0e0
mov eax, dword [ebp - 0xd0]
mov dword [esp], edi
add eax, 1
mov dword [esp + 4], eax
call sym.operator_delete_void__unsigned_int_
mov ecx, dword [ebp - 0x90]
lea edi, [ebp - 0x88]
cmp ecx, edi
je 0x47d7d6
mov edx, dword [ebp - 0x88]
mov dword [esp], ecx
add edx, 1
mov dword [esp + 4], edx
call sym.operator_delete_void__unsigned_int_
jmp 0x47d7d6
mov ecx, ebx
call method.AGB_MMU.jukebox_load_karaoke_audio__
mov byte [ebx + 0x15a], al
jmp 0x47d8b4
mov dword [esp + 8], 0x28
mov dword [esp + 4], str.MMU::Jukebox_could_not_load_audio_file:
mov dword [esp], sym.imp.libstdc_6.dll_std::cout
call sym.std::basic_ostream_char__std::char_traits_char____std::__ostream_insert_char__std::char_traits_char____std::basic_ostream_char__std::char_traits_char_____char_const__int_
mov eax, dword [esi + 4]
mov dword [esp + 8], eax
mov edx, dword [esi]
mov dword [esp], sym.imp.libstdc_6.dll_std::cout
mov dword [esp + 4], edx
call sym.std::basic_ostream_char__std::char_traits_char____std::__ostream_insert_char__std::char_traits_char____std::basic_ostream_char__std::char_traits_char_____char_const__int_
mov dword [esp + 8], 4
mov edi, eax
mov dword [esp + 4], 0x605615
mov dword [esp], eax
call sym.std::basic_ostream_char__std::char_traits_char____std::__ostream_insert_char__std::char_traits_char____std::basic_ostream_char__std::char_traits_char_____char_const__int_
call sym._SDL_GetError
mov esi, eax
test eax, eax
je 0x47e1c0
mov dword [esp], eax
call sym._strlen
mov dword [esp + 4], esi
mov dword [esp + 8], eax
mov dword [esp], edi
call sym.std::basic_ostream_char__std::char_traits_char____std::__ostream_insert_char__std::char_traits_char____std::basic_ostream_char__std::char_traits_char_____char_const__int_
mov dword [esp + 8], 1
mov dword [esp + 4], 0x6055aa
mov dword [esp], edi
call sym.std::basic_ostream_char__std::char_traits_char____std::__ostream_insert_char__std::char_traits_char____std::basic_ostream_char__std::char_traits_char_____char_const__int_
xor ebx, ebx
jmp 0x47d8b9
mov ecx, dword [edi]
mov ecx, dword [ecx - 0xc]
add ecx, edi
mov ebx, dword [ecx + 0x14]
or ebx, 1
mov dword [esp], ebx
call sym.std::basic_ios_char__std::char_traits_char___::clear_std::_Ios_Iostate_
sub esp, 4
jmp 0x47e19a
movzx edx, byte [eax]
lea eax, [ebp - 0x88]
mov byte [ebp - 0x88], dl
jmp 0x47da22
test eax, eax
je 0x47e20a
mov dword [esp + 8], eax
mov dword [esp + 4], ecx
mov dword [esp], edx
call sym._memcmp
test eax, eax
jne 0x47dabf
lea eax, [ebp - 0x90]
mov ecx, esi
mov dword [esp], eax
call sym.std::__cxx11::basic_string_char__std::char_traits_char___std::allocator_char___::_M_assign_std::__cxx11::basic_string_char__std::char_traits_char___std::allocator_char____const_
lea ecx, [ebp - 0x90]
sub esp, 4
mov dword [esp], ecx
mov ecx, dword [ebp - 0xdc]
call sym.std::__cxx11::basic_string_char__std::char_traits_char___std::allocator_char___::_M_assign_std::__cxx11::basic_string_char__std::char_traits_char___std::allocator_char____const_
sub esp, 4
jmp 0x47e0bb
movzx eax, byte [edx]
mov byte [ebp - 0xd0], al
lea eax, [ebp - 0xd0]
jmp 0x47da9e
lea ecx, [ebp - 0x30]
mov dword [esp + 4], 0
mov dword [esp], ecx
lea ecx, [ebp - 0x90]
call sym.std::__cxx11::basic_string_char__std::char_traits_char___std::allocator_char___::_M_create_unsigned_int__unsigned_int_
mov edx, dword [ebp - 0x30]
mov dword [ebp - 0x90], eax
sub esp, 8
mov dword [ebp - 0x88], edx
mov dword [esp + 8], edi
mov edi, dword [ebp - 0xe0]
mov dword [esp], eax
mov dword [esp + 4], edi
call sym._memcpy
mov edi, dword [ebp - 0x30]
mov eax, dword [ebp - 0x90]
jmp 0x47da22
lea ecx, [ebp - 0x30]
mov dword [esp + 4], 0
mov dword [esp], ecx
lea ecx, [ebp - 0xd8]
call sym.std::__cxx11::basic_string_char__std::char_traits_char___std::allocator_char___::_M_create_unsigned_int__unsigned_int_
mov edx, dword [ebp - 0x30]
mov dword [ebp - 0xd8], eax
sub esp, 8
mov dword [ebp - 0xd0], edx
mov dword [esp + 8], edi
mov edi, dword [ebp - 0xe0]
mov dword [esp], eax
mov dword [esp + 4], edi
call sym._memcpy
mov edi, dword [ebp - 0x30]
mov eax, dword [ebp - 0xd8]
jmp 0x47da9e
mov dword [esp + 8], 0x19
mov dword [esp + 4], 0x6055c3
mov dword [esp], sym.imp.libstdc_6.dll_std::cout
call sym.std::basic_ostream_char__std::char_traits_char____std::__ostream_insert_char__std::char_traits_char____std::basic_ostream_char__std::char_traits_char_____char_const__int_
mov ebx, dword [esi + 4]
mov dword [esp + 8], ebx
mov esi, dword [esi]
mov dword [esp], sym.imp.libstdc_6.dll_std::cout
mov dword [esp + 4], esi
call sym.std::basic_ostream_char__std::char_traits_char____std::__ostream_insert_char__std::char_traits_char____std::basic_ostream_char__std::char_traits_char_____char_const__int_
mov dword [esp + 8], 9
mov dword [esp + 4], 0x6055dd
mov dword [esp], eax
call sym.std::basic_ostream_char__std::char_traits_char____std::__ostream_insert_char__std::char_traits_char____std::basic_ostream_char__std::char_traits_char_____char_const__int_
mov edi, dword [ebp - 0x78]
lea edx, [ebp - 0x70]
cmp edi, edx
je 0x47e354
mov ecx, dword [ebp - 0x70]
mov dword [esp], edi
lea eax, [ecx + 1]
mov dword [esp + 4], eax
call sym.operator_delete_void__unsigned_int_
mov esi, dword [ebp - 0xd8]
lea ebx, [ebp - 0xd0]
cmp esi, ebx
je 0x47e379
mov edi, dword [ebp - 0xd0]
mov dword [esp], esi
lea edx, [edi + 1]
mov dword [esp + 4], edx
call sym.operator_delete_void__unsigned_int_
mov ecx, dword [ebp - 0x90]
lea eax, [ebp - 0x88]
cmp ecx, eax
je 0x47d974
mov esi, dword [ebp - 0x88]
mov dword [esp], ecx
lea ebx, [esi + 1]
mov dword [esp + 4], ebx
xor ebx, ebx
call sym.operator_delete_void__unsigned_int_
jmp 0x47d8b9
lea eax, [ebp - 0x30]
mov dword [esp + 4], 0
lea ecx, [ebp - 0x60]
mov dword [esp], eax
call sym.std::__cxx11::basic_string_char__std::char_traits_char___std::allocator_char___::_M_create_unsigned_int__unsigned_int_
mov edx, dword [ebp - 0x30]
mov dword [ebp - 0x60], eax
sub esp, 8
mov dword [ebp - 0x58], edx
mov dword [esp + 8], edi
mov edi, dword [ebp - 0xe4]
mov dword [esp], eax
mov dword [esp + 4], edi
call sym._memcpy
mov edi, dword [ebp - 0x30]
mov eax, dword [ebp - 0x60]
jmp 0x47db5a
mov edx, dword [ebp - 0xe4]
lea eax, [ebp - 0x58]
movzx ecx, byte [edx]
mov byte [ebp - 0x58], cl
jmp 0x47db5a
mov eax, dword [ebp - 0xe4]
lea ecx, [ebp - 0x30]
mov dword [ebp - 0xe0], ecx
movzx edx, byte [eax]
lea eax, [ebp - 0x40]
mov byte [ebp - 0x40], dl
jmp 0x47dbb9
lea eax, [ebp - 0x30]
mov dword [esp + 4], 0
lea ecx, [ebp - 0x48]
mov dword [ebp - 0xe0], eax
mov dword [esp], eax
call sym.std::__cxx11::basic_string_char__std::char_traits_char___std::allocator_char___::_M_create_unsigned_int__unsigned_int_
mov edx, dword [ebp - 0x30]
mov dword [ebp - 0x48], eax
sub esp, 8
mov dword [ebp - 0x40], edx
mov dword [esp + 8], edi
mov edi, dword [ebp - 0xe4]
mov dword [esp], eax
mov dword [esp + 4], edi
call sym._memcpy
mov edi, dword [ebp - 0x30]
mov eax, dword [ebp - 0x48]
jmp 0x47dbb9
mov eax, dword [ebp - 0xe4]
lea edx, [ebp - 0x30]
mov dword [ebp - 0xe0], edx
movzx ecx, byte [eax]
lea eax, [ebp - 0x40]
mov byte [ebp - 0x40], cl
jmp 0x47de42
lea eax, [ebp - 0x30]
mov dword [esp + 4], 0
lea ecx, [ebp - 0x48]
mov dword [ebp - 0xe0], eax
mov dword [esp], eax
call sym.std::__cxx11::basic_string_char__std::char_traits_char___std::allocator_char___::_M_create_unsigned_int__unsigned_int_
mov ecx, dword [ebp - 0x30]
mov dword [ebp - 0x48], eax
sub esp, 8
mov dword [ebp - 0x40], ecx
mov dword [esp + 8], edi
mov edi, dword [ebp - 0xe4]
mov dword [esp], eax
mov dword [esp + 4], edi
call sym._memcpy
mov edi, dword [ebp - 0x30]
mov eax, dword [ebp - 0x48]
jmp 0x47de42
mov ecx, dword [ebp - 0xe4]
lea eax, [ebp - 0x58]
movzx edx, byte [ecx]
mov byte [ebp - 0x58], dl
jmp 0x47dde3
lea eax, [ebp - 0x30]
mov dword [esp + 4], 0
lea ecx, [ebp - 0x60]
mov dword [esp], eax
call sym.std::__cxx11::basic_string_char__std::char_traits_char___std::allocator_char___::_M_create_unsigned_int__unsigned_int_
mov ecx, dword [ebp - 0x30]
mov dword [ebp - 0x60], eax
sub esp, 8
mov dword [ebp - 0x58], ecx
mov dword [esp + 8], edi
mov edi, dword [ebp - 0xe4]
mov dword [esp], eax
mov dword [esp + 4], edi
call sym._memcpy
mov edi, dword [ebp - 0x30]
mov eax, dword [ebp - 0x60]
jmp 0x47dde3
add edx, 1
je 0x47dc56
mov dword [esp + 8], edx
mov eax, dword [ebp - 0xe8]
mov dword [esp], ecx
mov dword [esp + 4], eax
mov dword [ebp - 0xe4], ecx
call sym._memcpy
mov ecx, dword [edi + 4]
mov dword [ebp - 0xe0], ecx
mov ecx, dword [ebp - 0xe4]
jmp 0x47dc56
add edx, 1
je 0x47dee6
mov dword [esp + 8], edx
mov eax, dword [ebp - 0xe8]
mov dword [esp], ecx
mov dword [esp + 4], eax
mov dword [ebp - 0xe4], ecx
call sym._memcpy
mov ecx, dword [edi + 4]
mov dword [ebp - 0xe0], ecx
mov ecx, dword [ebp - 0xe4]
jmp 0x47dee6
mov edi, dword [ebp - 0xbc]
test edi, edi
je 0x47e5d0
cmp edi, 1
je 0x47e687
mov dword [esp + 8], edi
mov dword [esp + 4], ecx
mov dword [ebp - 0xe0], ecx
mov dword [esp], edx
call sym._memcpy
mov edx, dword [ebp - 0xd8]
mov edi, dword [ebp - 0xbc]
mov ecx, dword [ebp - 0xe0]
mov dword [ebp - 0xd4], edi
mov byte [edx + edi], 0
mov eax, dword [ebp - 0xc0]
jmp 0x47df59
mov edi, dword [ebp - 0xbc]
test edi, edi
je 0x47e620
cmp edi, 1
je 0x47e6a1
mov dword [esp + 8], edi
mov dword [esp + 4], ecx
mov dword [ebp - 0xe0], ecx
mov dword [esp], edx
call sym._memcpy
mov edx, dword [ebp - 0xd8]
mov edi, dword [ebp - 0xbc]
mov ecx, dword [ebp - 0xe0]
mov dword [ebp - 0xd4], edi
mov byte [edx + edi], 0
mov eax, dword [ebp - 0xc0]
jmp 0x47dcc9
movq xmm2, qword [ebp - 0xbc]
mov dword [ebp - 0xd8], edi
movq qword [ebp - 0xd4], xmm2
mov dword [ebp - 0xc0], ecx
lea ecx, [ebp - 0xb8]
mov eax, ecx
jmp 0x47dcc9
movq xmm3, qword [ebp - 0xbc]
mov dword [ebp - 0xd8], edi
movq qword [ebp - 0xd4], xmm3
mov dword [ebp - 0xc0], ecx
lea ecx, [ebp - 0xb8]
mov eax, ecx
jmp 0x47df59
movzx eax, byte [ebp - 0xb8]
mov byte [edx], al
mov edx, dword [ebp - 0xd8]
mov edi, dword [ebp - 0xbc]
jmp 0x47e5d0
movzx eax, byte [ebp - 0xb8]
mov byte [edx], al
mov edx, dword [ebp - 0xd8]
mov edi, dword [ebp - 0xbc]
jmp 0x47e620
mov dword [esp], 0x605508
call sym.std::__throw_length_error_char_const_
mov dword [esp + 0xc], eax
mov dword [esp + 8], ecx
mov dword [esp + 4], 0x605532
mov dword [esp], 0x605548
call sym.std::__throw_out_of_range_fmt_char_const__..._
mov dword [esp + 0xc], eax
mov dword [esp + 8], edx
mov dword [esp + 4], 0x605532
mov dword [esp], 0x605548
call sym.std::__throw_out_of_range_fmt_char_const__..._
mov dword [esp], 0x605508
call sym.std::__throw_length_error_char_const_
mov dword [esp], 0x605508
call sym.std::__throw_length_error_char_const_
mov ebx, eax
jmp method.AGB_MMU.jukebox_load_audio_std::__cxx11::basic_string_char__std::char_traits_char___std::allocator_char______clone_.cold_