Function at 0x4437f0
Capabilities:
Enumerate pe sections

Disassembly:
push edi
lea eax, [esp + 8]
and esp, 0xfffffff0
push dword [eax - 4]
push ebp
mov ebp, esp
push eax
push esi
push ebx
sub esp, 0x1ec
mov edx, dword [eax]
cmp byte [0x65333c], 0
mov dword [ebp - 0x1d4], edx
je 0x443880
movzx edx, byte [0x65333e]
mov byte [ebp - 0x1cd], dl
test dl, dl
je 0x443860
mov dword [esp + 8], 0x16
mov dword [esp + 4], 0x601e7e
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_
movzx eax, byte [ebp - 0x1cd]
lea esp, [ebp - 0xc]
pop ebx
pop esi
pop edi
pop ebp
lea esp, [edi - 8]
pop edi
ret 4
mov dword [esp + 8], 0x35
mov dword [esp + 4], 0x601e48
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_
jmp 0x443845
mov edi, ecx
lea ecx, [ebp - 0xa8]
mov ebx, dword [edx]
xor esi, esi
call sym.std::ios_base::ios_base__
mov ecx, dword [sym.imp.libstdc_6.dll_VTT_for_std::basic_ofstream_char__std::char_traits_char___]
pxor xmm0, xmm0
mov word [ebp - 0x34], si
movups xmmword [ebp - 0x30], xmm0
mov edx, dword [sym.imp.libstdc_6.dll_vtable_for___cxxabiv1::__class_type_info]
mov esi, dword [sym.imp.libstdc_6.dll_VTT_for_std::basic_ofstream_char__std::char_traits_char___]
mov eax, dword [ecx - 0xc]
mov dword [ebp - 0x118], ecx
lea ecx, [ebp - 0x118]
mov dword [ebp - 0xa8], sym.imp.libstdc_6.dll_operator_new_unsigned_int_
mov dword [ebp - 0x38], 0
mov dword [ebp + eax - 0x118], edx
mov dword [ebp - 0x114], 0
add ecx, dword [esi - 0xc]
mov dword [esp], 0
call sym.std::basic_ios_char__std::char_traits_char___::init_std::basic_streambuf_char__std::char_traits_char____
sub esp, 4
lea ecx, [ebp - 0x110]
mov dword [ebp - reloc.libstdc_6.dll__ZTVSt9basic_iosIcSt11char_traitsIcEE], sym.imp.libstdc_6.dll_vtable_for_std::basic_ios_char__std::char_traits_char___
mov dword [ebp - 0xa8], sym.imp.libstdc_6.dll___cxa_end_catch
call sym.std::basic_filebuf_char__std::char_traits_char___::basic_filebuf__
lea ecx, [ebp - 0x110]
mov dword [esp], ecx
lea ecx, [ebp - 0xa8]
call sym.std::basic_ios_char__std::char_traits_char___::init_std::basic_streambuf_char__std::char_traits_char____
sub esp, 4
lea ecx, [ebp - 0x110]
mov dword [esp + 4], 0xc
mov dword [esp], ebx
call sym.std::basic_filebuf_char__std::char_traits_char___::open_char_const__std::_Ios_Openmode_
mov ebx, dword [ebp - 0x118]
lea ecx, [ebp - 0x118]
sub esp, 8
add ecx, dword [ebx - 0xc]
test eax, eax
je 0x4450d0
mov dword [esp], 0
call sym.std::basic_ios_char__std::char_traits_char___::clear_std::_Ios_Iostate_
sub esp, 4
lea ecx, [ebp - 0xec]
call sym.std::__basic_file_char_::is_open___const
mov byte [ebp - 0x1cd], al
test al, al
je 0x445070
mov dword [esp + 8], 2
lea ecx, [ebp - 0x118]
mov dword [esp], 0
mov dword [esp + 4], 0
call sym.std::istream::seekg_long_long__std::_Ios_Seekdir_
sub esp, 0xc
lea edx, [ebp - 0x118]
lea ecx, [ebp - 0x130]
mov dword [esp], edx
call sym.std::istream::tellg__
mov esi, dword [ebp - 0x130]
sub esp, 4
lea ecx, [ebp - 0x118]
mov dword [ebp - 0x1dc], esi
mov dword [esp + 8], 0
mov dword [esp], 0
mov dword [esp + 4], 0
call sym.std::istream::seekg_long_long__std::_Ios_Seekdir_
mov ebx, dword [0x653338]
mov ecx, dword [edi + 4]
sub esp, 0xc
cmp ebx, 0xc
je 0x4454fa
cmp ebx, 0xf
jne 0x4451d8
mov ecx, dword [edi + 0x770]
cmp dword [edi + 0x774], ecx
je 0x4459e0
mov dword [edi + 0x774], ecx
test esi, esi
jne 0x4459e8
mov dword [esp], ecx
lea ecx, [ebp - 0x118]
mov dword [esp + 4], esi
call sym.std::istream::read_char__int_
sub esp, 8
mov ecx, edi
call method.AGB_MMU.campho_map_rom_banks__
lea ecx, [ebp - 0x110]
call sym.std::basic_filebuf_char__std::char_traits_char___::close__
test eax, eax
je 0x445c89
mov ecx, dword [edi + 4]
cmp byte [ecx + 0x80000ac], 0x46
je 0x445a2f
mov esi, dword [ebp - 0x1dc]
test esi, esi
je 0x443cc5
movzx ebx, byte [ecx + 0x8000000]
mov byte [ecx + 0xa000000], bl
mov eax, dword [edi + 4]
mov ecx, dword [ebp - 0x1dc]
movzx edx, byte [eax + 0x8000000]
mov byte [eax + 0xc000000], dl
lea edx, [ecx + 0x8000000]
mov eax, 0x8000001
cmp ecx, 1
jbe 0x443cc2
lea esi, [ecx - 1]
and esi, 7
je 0x443bc9
cmp esi, 1
je 0x443ba2
cmp esi, 2
je 0x443b83
cmp esi, 3
je 0x443b64
cmp esi, 4
je 0x443b45
cmp esi, 5
je 0x443b26
cmp esi, 6
je 0x443b07
mov ebx, dword [edi + 4]
movzx eax, byte [ebx + 0x8000001]
mov byte [ebx + 0xa000001], al
mov esi, dword [edi + 4]
mov eax, 0x8000002
movzx ecx, byte [esi + 0x8000001]
mov byte [esi + 0xc000001], cl
mov esi, dword [edi + 4]
movzx ebx, byte [esi + eax]
mov byte [esi + eax + 0x2000000], bl
mov ecx, dword [edi + 4]
movzx ebx, byte [ecx + eax]
mov byte [ecx + eax + 0x4000000], bl
add eax, 1
mov esi, dword [edi + 4]
movzx ecx, byte [esi + eax]
mov byte [esi + eax + 0x2000000], cl
mov esi, dword [edi + 4]
movzx ebx, byte [esi + eax]
mov byte [esi + eax + 0x4000000], bl
add eax, 1
mov ecx, dword [edi + 4]
movzx ebx, byte [ecx + eax]
mov byte [ecx + eax + 0x2000000], bl
mov esi, dword [edi + 4]
movzx ecx, byte [esi + eax]
mov byte [esi + eax + 0x4000000], cl
add eax, 1
mov esi, dword [edi + 4]
movzx ebx, byte [esi + eax]
mov byte [esi + eax + 0x2000000], bl
mov ecx, dword [edi + 4]
movzx ebx, byte [ecx + eax]
mov byte [ecx + eax + 0x4000000], bl
add eax, 1
mov esi, dword [edi + 4]
movzx ecx, byte [esi + eax]
mov byte [esi + eax + 0x2000000], cl
mov esi, dword [edi + 4]
movzx ebx, byte [esi + eax]
mov byte [esi + eax + 0x4000000], bl
add eax, 1
mov ecx, dword [edi + 4]
movzx ebx, byte [ecx + eax]
mov byte [ecx + eax + 0x2000000], bl
mov esi, dword [edi + 4]
movzx ecx, byte [esi + eax]
mov byte [esi + eax + 0x4000000], cl
add eax, 1
cmp eax, edx
je 0x443cc2
mov ebx, dword [edi + 4]
movzx ecx, byte [ebx + eax]
mov byte [ebx + eax + 0x2000000], cl
mov esi, dword [edi + 4]
movzx ebx, byte [esi + eax]
mov byte [esi + eax + 0x4000000], bl
mov esi, dword [edi + 4]
movzx ecx, byte [esi + eax + 1]
mov byte [esi + eax + 0x2000001], cl
mov ebx, dword [edi + 4]
movzx ecx, byte [ebx + eax + 1]
mov byte [ebx + eax + 0x4000001], cl
mov esi, dword [edi + 4]
movzx ebx, byte [esi + eax + 2]
mov byte [esi + eax + 0x2000002], bl
mov esi, dword [edi + 4]
movzx ecx, byte [esi + eax + 2]
mov byte [esi + eax + 0x4000002], cl
mov ebx, dword [edi + 4]
movzx ecx, byte [ebx + eax + 3]
mov byte [ebx + eax + 0x2000003], cl
mov esi, dword [edi + 4]
movzx ebx, byte [esi + eax + 3]
mov byte [esi + eax + 0x4000003], bl
mov esi, dword [edi + 4]
movzx ecx, byte [esi + eax + 4]
mov byte [esi + eax + 0x2000004], cl
mov ebx, dword [edi + 4]
movzx ecx, byte [ebx + eax + 4]
mov byte [ebx + eax + 0x4000004], cl
mov esi, dword [edi + 4]
movzx ebx, byte [esi + eax + 5]
mov byte [esi + eax + 0x2000005], bl
mov esi, dword [edi + 4]
movzx ecx, byte [esi + eax + 5]
mov byte [esi + eax + 0x4000005], cl
mov ebx, dword [edi + 4]
movzx ecx, byte [ebx + eax + 6]
mov byte [ebx + eax + 0x2000006], cl
mov esi, dword [edi + 4]
movzx ebx, byte [esi + eax + 6]
mov byte [esi + eax + 0x4000006], bl
mov ecx, dword [edi + 4]
movzx ebx, byte [ecx + eax + 7]
mov byte [ecx + eax + 0x2000007], bl
mov esi, dword [edi + 4]
movzx ecx, byte [esi + eax + 7]
mov byte [esi + eax + 0x4000007], cl
add eax, 8
cmp eax, edx
jne 0x443bc9
mov ecx, dword [edi + 4]
movzx eax, byte [ecx + 0x80000a0]
movzx ebx, byte [ecx + 0x80000a1]
lea edx, [ebp - 0x1b8]
lea esi, [ebp - 0x1a0]
mov dword [ebp - 0x1c0], edx
movzx edx, byte [ecx + 0x80000a2]
mov byte [ebp - 0x1b8], al
movzx eax, byte [ecx + 0x80000a3]
mov byte [ebp - 0x1b7], bl
movzx ebx, byte [ecx + 0x80000a4]
mov byte [ebp - 0x1b6], dl
movzx edx, byte [ecx + 0x80000a5]
mov byte [ebp - 0x1b5], al
movzx eax, byte [ecx + 0x80000a6]
mov byte [ebp - 0x1b4], bl
movzx ebx, byte [ecx + 0x80000a7]
mov byte [ebp - 0x1b3], dl
movzx edx, byte [ecx + 0x80000a8]
mov byte [ebp - 0x1b2], al
movzx eax, byte [ecx + 0x80000a9]
mov byte [ebp - 0x1b1], bl
movzx ebx, byte [ecx + 0x80000aa]
mov byte [ebp - 0x1b0], dl
movzx edx, byte [ecx + 0x80000ab]
mov byte [ebp - 0x1af], al
movzx eax, byte [ecx + 0x80000ac]
mov byte [ebp - 0x1ae], bl
movzx ebx, byte [ecx + 0x80000ad]
mov dword [ebp - 0x1a8], esi
lea esi, [ebp - 0x188]
mov byte [ebp - 0x1a0], al
mov byte [ebp - 0x19f], bl
mov byte [ebp - 0x1ad], dl
mov dword [ebp - 0x1bc], 0xc
mov byte [ebp - 0x1ac], 0
movzx edx, byte [ecx + 0x80000ae]
movzx eax, byte [ecx + 0x80000af]
movzx ebx, byte [ecx + 0x80000b0]
mov dword [ebp - 0x1a4], 4
movzx ecx, byte [ecx + 0x80000b1]
mov byte [ebp - 0x19e], dl
mov byte [ebp - 0x19d], al
mov byte [ebp - 0x19c], 0
mov dword [ebp - 0x190], esi
mov byte [ebp - 0x188], bl
mov byte [ebp - 0x187], cl
mov dword [ebp - 0x18c], 2
mov byte [ebp - 0x186], 0
mov dword [esp + 8], 0x12
mov dword [esp + 4], 0x601f39
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 [ebp - 0x1bc]
lea edx, [ebp - 0x140]
mov esi, dword [ebp - 0x1c0]
mov dword [ebp - 0x148], edx
mov dword [ebp - 0x130], ebx
cmp ebx, 0xf
ja 0x445450
cmp ebx, 1
je 0x445206
test ebx, ebx
jne 0x445f75
lea esi, [ebp - 0x140]
lea eax, [ebp - 0x148]
lea ecx, [ebp - 0x130]
mov dword [ebp - 0x144], ebx
mov byte [esi + ebx], 0
mov dword [esp + 4], eax
mov dword [esp], ecx
call method.util.make_ascii_printable_std::__cxx11::basic_string_char__std::char_traits_char___std::allocator_char____
mov edx, dword [ebp - 0x12c]
mov dword [esp + 8], edx
mov ebx, dword [ebp - 0x130]
mov dword [esp], sym.imp.libstdc_6.dll_std::cout
mov dword [esp + 4], ebx
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], 0x600bfb
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 eax, dword [ebp - 0x130]
lea esi, [ebp - 0x128]
cmp eax, esi
je 0x443edf
mov ecx, dword [ebp - 0x128]
mov dword [esp], eax
lea edx, [ecx + 1]
mov dword [esp + 4], edx
call sym.operator_delete_void__unsigned_int_
mov ebx, dword [ebp - 0x148]
lea eax, [ebp - 0x140]
cmp ebx, eax
je 0x443f04
mov esi, dword [ebp - 0x140]
mov dword [esp], ebx
lea ecx, [esi + 1]
mov dword [esp + 4], ecx
call sym.operator_delete_void__unsigned_int_
mov dword [esp + 8], 0x11
mov dword [esp + 4], 0x601f4c
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 [ebp - 0x1a4]
lea edx, [ebp - 0x140]
mov esi, dword [ebp - 0x1a8]
mov dword [ebp - 0x148], edx
mov dword [ebp - 0x130], ebx
cmp ebx, 0xf
ja 0x445288
cmp ebx, 1
je 0x4451f8
test ebx, ebx
jne 0x445f6a
lea esi, [ebp - 0x140]
lea eax, [ebp - 0x148]
lea ecx, [ebp - 0x130]
mov dword [ebp - 0x144], ebx
mov byte [esi + ebx], 0
mov dword [esp + 4], eax
mov dword [esp], ecx
call method.util.make_ascii_printable_std::__cxx11::basic_string_char__std::char_traits_char___std::allocator_char____
mov edx, dword [ebp - 0x12c]
mov dword [esp + 8], edx
mov ebx, dword [ebp - 0x130]
mov dword [esp], sym.imp.libstdc_6.dll_std::cout
mov dword [esp + 4], ebx
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], 0x600bfb
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 eax, dword [ebp - 0x130]
lea esi, [ebp - 0x128]
cmp eax, esi
je 0x443fdd
mov ecx, dword [ebp - 0x128]
mov dword [esp], eax
lea edx, [ecx + 1]
mov dword [esp + 4], edx
call sym.operator_delete_void__unsigned_int_
mov ebx, dword [ebp - 0x148]
lea eax, [ebp - 0x140]
cmp ebx, eax
je 0x444002
mov esi, dword [ebp - 0x140]
mov dword [esp], ebx
lea ecx, [esi + 1]
mov dword [esp + 4], ecx
call sym.operator_delete_void__unsigned_int_
mov dword [esp + 8], 0x12
mov dword [esp + 4], 0x601f5e
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 [ebp - 0x18c]
lea edx, [ebp - 0x140]
mov esi, dword [ebp - 0x190]
mov dword [ebp - 0x148], edx
mov dword [ebp - 0x130], ebx
cmp ebx, 0xf
ja 0x445230
cmp ebx, 1
je 0x445214
test ebx, ebx
jne 0x445f5f
lea esi, [ebp - 0x140]
lea eax, [ebp - 0x148]
lea ecx, [ebp - 0x130]
mov dword [ebp - 0x144], ebx
mov byte [esi + ebx], 0
mov dword [esp + 4], eax
mov dword [esp], ecx
call method.util.make_ascii_printable_std::__cxx11::basic_string_char__std::char_traits_char___std::allocator_char____
mov edx, dword [ebp - 0x12c]
mov dword [esp + 8], edx
mov ebx, dword [ebp - 0x130]
mov dword [esp], sym.imp.libstdc_6.dll_std::cout
mov dword [esp + 4], ebx
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], 0x600bfb
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 eax, dword [ebp - 0x130]
lea esi, [ebp - 0x128]
cmp eax, esi
je 0x4440db
mov ecx, dword [ebp - 0x128]
mov dword [esp], eax
lea edx, [ecx + 1]
mov dword [esp + 4], edx
call sym.operator_delete_void__unsigned_int_
mov ebx, dword [ebp - 0x148]
lea eax, [ebp - 0x140]
cmp ebx, eax
je 0x444100
mov esi, dword [ebp - 0x140]
mov dword [esp], ebx
lea ecx, [esi + 1]
mov dword [esp + 4], ecx
call sym.operator_delete_void__unsigned_int_
mov dword [esp + 8], 0xf
mov dword [esp + 4], 0x601f71
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 edx, dword [sym.imp.libstdc_6.dll_std::cout]
mov esi, dword [ebp - 0x1dc]
mov ebx, dword [edx - 0xc]
mov ecx, esi
shr ecx, 0xa
add ebx, sym.imp.libstdc_6.dll_std::cout
mov eax, dword [ebx + 0xc]
and eax, 0xffffffb5
or eax, 2
mov dword [ebx + 0xc], eax
mov dword [esp], ecx
mov ecx, sym.imp.libstdc_6.dll_std::cout
call sym.std::ostream_std::ostream::_M_insert_unsigned_long__unsigned_long_
sub esp, 4
mov dword [esp + 8], 3
mov dword [esp + 4], 0x601f81
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 dword [esp + 8], 0x10
mov dword [esp + 4], 0x601f85
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 edx, dword [sym.imp.libstdc_6.dll_std::cout]
mov ebx, dword [edx - 0xc]
add ebx, sym.imp.libstdc_6.dll_std::cout
mov eax, dword [ebx + 0xc]
and eax, 0xffffffb5
or eax, 8
mov dword [ebx + 0xc], eax
mov dword [esp + 4], esi
mov esi, dword [edi + 4]
add esi, 0x8000000
mov dword [esp], esi
call method.util.get_crc32_unsigned_char__unsigned_int_
mov dword [esp], eax
mov ecx, sym.imp.libstdc_6.dll_std::cout
call sym.std::ostream_std::ostream::_M_insert_unsigned_long__unsigned_long_
sub esp, 4
mov dword [esp + 8], 1
mov dword [esp + 4], 0x600bfb
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 dword [esp + 8], 5
mov dword [esp + 4], 0x601937
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 ecx, dword [ebp - 0x1d4]
mov edx, dword [ecx + 4]
mov dword [esp + 8], edx
mov ebx, dword [ecx]
mov dword [esp], sym.imp.libstdc_6.dll_std::cout
mov dword [esp + 4], ebx
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], 0x17
mov dword [esp + 4], 0x601a78
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_
cmp byte [0x6531da], 0
jne 0x4452e0
mov edx, dword [edi + 4]
pxor xmm1, xmm1
pxor xmm0, xmm0
movdqa xmm4, xmm1
movd xmm5, dword [edx + 0x80000b0]
movd xmm6, dword [edx + 0x80000b4]
movd xmm7, dword [edx + 0x80000b8]
movdqu xmm3, xmmword [edx + 0x80000a0]
paddb xmm5, xmm6
psubb xmm4, xmm3
movdqa xmm2, xmm4
paddb xmm7, xmm5
psrldq xmm2, 8
paddb xmm4, xmm2
psadbw xmm4, xmm1
psubb xmm0, xmm7
movd ebx, xmm4
sub bl, byte [edx + 0x80000bc]
movd esi, xmm0
movd xmm4, esi
psadbw xmm4, xmm1
movd eax, xmm4
lea ebx, [ebx + eax - 0x19]
cmp byte [edx + 0x80000bd], bl
je 0x444350
mov dword [esp + 8], 0x2e
mov dword [esp + 4], 0x601fa4
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 ecx, dword [sym.imp.libstdc_6.dll_std::cout]
mov eax, dword [edi + 4]
mov edx, dword [ecx - 0xc]
add edx, sym.imp.libstdc_6.dll_std::cout
mov esi, dword [edx + 0xc]
and esi, 0xffffffb5
or esi, 8
mov dword [edx + 0xc], esi
movzx ecx, byte [eax + 0x80000bd]
mov dword [esp], ecx
mov ecx, sym.imp.libstdc_6.dll_std::cout
call sym.std::ostream::operator___int_
sub esp, 4
mov esi, eax
mov dword [esp + 8], 0x15
mov dword [esp + 4], 0x601fd3
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_
movzx ebx, bl
mov ecx, esi
mov dword [esp], ebx
call sym.std::ostream::operator___int_
sub esp, 4
mov dword [esp + 8], 1
mov dword [esp + 4], 0x600bfb
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_
lea esi, [esi]
nop
cmp byte [0x65321c], 0
je 0x4447b8
mov edx, dword [0x6531f0]
cmp edx, dword [0x6531f4]
je 0x4447b8
mov dword [ebp - 0x1cc], 0
lea esi, [esi]
mov eax, dword [ebp - 0x1cc]
lea esi, [ebp - 0x170]
mov dword [ebp - 0x178], esi
lea ecx, [eax + eax*2]
lea edx, [edx + ecx*8]
mov ebx, dword [edx + 4]
mov esi, dword [edx]
mov dword [ebp - 0x130], ebx
cmp ebx, 0xf
ja 0x444450
cmp ebx, 1
je 0x444420
test ebx, ebx
jne 0x4451c8
lea esi, [ebp - 0x170]
mov dword [ebp - 0x174], ebx
lea ecx, [ebp - 0x158]
mov byte [esi + ebx], 0
mov eax, dword [ebp - 0x174]
mov dword [ebp - 0x160], ecx
mov edx, dword [ebp - 0x178]
cmp eax, 1
je 0x444430
test eax, eax
jne 0x4444a8
mov dword [ebp - 0x15c], 0
mov byte [ebp - 0x158], 0
mov dword [esp + 0xc], eax
mov dword [esp + 8], 8
mov dword [esp + 4], 0x601fe9
mov dword [esp], 0x602000
call sym.std::__throw_out_of_range_fmt_char_const__..._
nop
movzx eax, byte [esi]
mov byte [ebp - 0x170], al
jmp 0x4443b9
movzx ebx, byte [edx]
mov byte [ebp - 0x157], 0
mov dword [ebp - 0x15c], 1
mov byte [ebp - 0x158], bl
jmp 0x4443ff
lea ecx, [ebp - 0x130]
mov dword [esp + 4], 0
mov dword [esp], ecx
lea ecx, [ebp - 0x178]
call sym.std::__cxx11::basic_string_char__std::char_traits_char___std::allocator_char___::_M_create_unsigned_int__unsigned_int_
mov edx, dword [ebp - 0x130]
mov dword [ebp - 0x178], eax
sub esp, 8
mov dword [ebp - 0x170], edx
mov dword [esp + 8], ebx
mov dword [esp + 4], esi
mov dword [esp], eax
call sym._memcpy
mov ebx, dword [ebp - 0x130]
mov esi, dword [ebp - 0x178]
jmp 0x4443bf
mov ecx, 8
mov dword [ebp - 0x1e0], edx
lea ebx, [ebp - 0x158]
cmp eax, ecx
cmovbe ecx, eax
mov dword [ebp - 0x1d8], ecx
cmp ecx, 4
jae 0x444f10
xor esi, esi
test byte [ebp - 0x1d8], 2
je 0x4444e9
mov esi, dword [ebp - 0x1e0]
movzx esi, word [esi]
mov word [ebx], si
mov esi, 2
test byte [ebp - 0x1d8], 1
je 0x4444ff
mov ecx, dword [ebp - 0x1e0]
movzx ecx, byte [ecx + esi]
mov byte [ebx + esi], cl
mov ebx, dword [ebp - 0x1d8]
mov dword [ebp - 0x15c], ebx
mov byte [ebp + ebx - 0x158], 0
cmp eax, 7
jbe 0x4443ff
sub eax, 8
mov ecx, 8
lea esi, [ebp - 0x140]
cmp eax, ecx
mov dword [ebp - 0x148], esi
cmovbe ecx, eax
cmp eax, 1
je 0x444b30
test eax, eax
je 0x444580
lea eax, [edx + 8]
lea ebx, [ebp - 0x140]
mov dword [ebp - 0x1d8], eax
cmp ecx, 4
jae 0x444dc0
xor edx, edx
test cl, 2
je 0x44456c
movzx esi, word [eax]
mov edx, 2
mov word [ebx], si
test cl, 1
je 0x444580
movzx eax, byte [eax + edx]
mov byte [ebx + edx], al
lea esi, [esi]
nop
mov ebx, dword [ebp - 0x15c]
mov dword [ebp - 0x144], ecx
mov byte [ebp + ecx - 0x140], 0
lea ecx, [ebp - 0x128]
mov esi, dword [ebp - 0x160]
mov dword [ebp - 0x130], ecx
mov dword [ebp - 0x1c4], ebx
cmp ebx, 0xf
ja 0x444b40
cmp ebx, 1
je 0x444b20
test ebx, ebx
jne 0x4451a0
lea esi, [ebp - 0x128]
lea edx, [ebp - 0x1c8]
lea eax, [ebp - 0x130]
mov dword [ebp - 0x12c], ebx
mov byte [esi + ebx], 0
mov dword [esp + 4], edx
mov dword [esp], eax
call method.util.from_hex_str_std::__cxx11::basic_string_char__std::char_traits_char___std::allocator_char_____unsigned_int_
mov ecx, dword [ebp - 0x130]
lea esi, [ebp - 0x128]
mov ebx, eax
cmp ecx, esi
je 0x444615
mov edx, dword [ebp - 0x128]
mov dword [esp], ecx
lea eax, [edx + 1]
mov dword [esp + 4], eax
call sym.operator_delete_void__unsigned_int_
test bl, bl
jne 0x444620
mov byte [0x65321c], 0
lea ebx, [ebp - 0x128]
mov ecx, dword [ebp - 0x148]
mov dword [ebp - 0x130], ebx
mov ebx, dword [ebp - 0x144]
mov dword [ebp - 0x1d8], ecx
mov dword [ebp - 0x1c4], ebx
cmp ebx, 0xf
ja 0x444b98
cmp ebx, 1
je 0x444b08
test ebx, ebx
jne 0x4451b0
lea eax, [ebp - 0x128]
lea esi, [ebp - 0x1c4]
lea edx, [ebp - 0x130]
mov dword [ebp - 0x12c], ebx
mov byte [eax + ebx], 0
mov dword [esp + 4], esi
mov dword [esp], edx
call method.util.from_hex_str_std::__cxx11::basic_string_char__std::char_traits_char___std::allocator_char_____unsigned_int_
mov ebx, eax
mov eax, dword [ebp - 0x130]
lea ecx, [ebp - 0x128]
cmp eax, ecx
je 0x4446ad
mov edx, dword [ebp - 0x128]
mov dword [esp], eax
lea ecx, [edx + 1]
mov dword [esp + 4], ecx
call sym.operator_delete_void__unsigned_int_
test bl, bl
jne 0x4446b8
mov byte [0x65321c], 0
lea ebx, [ebp - 0x1c8]
mov dword [esp + 8], 1
mov ecx, edi
mov dword [esp + 4], esi
mov dword [esp], ebx
call method.AGB_MMU.decrypt_gsa_unsigned_int__unsigned_int__bool_
mov eax, dword [edi + 0x97c]
mov edx, dword [edi + 0x980]
sub esp, 0xc
lea ebx, [edi + 0x978]
cmp eax, edx
je 0x444d70
mov ecx, dword [ebp - 0x1c8]
add eax, 4
mov dword [eax - 4], ecx
mov dword [edi + 0x97c], eax
cmp eax, edx
je 0x444da0
mov esi, dword [ebp - 0x1c4]
add eax, 4
mov dword [eax - 4], esi
mov dword [edi + 0x97c], eax
mov ebx, dword [ebp - 0x148]
lea eax, [ebp - 0x140]
cmp ebx, eax
je 0x444742
mov edx, dword [ebp - 0x140]
mov dword [esp], ebx
lea ecx, [edx + 1]
mov dword [esp + 4], ecx
call sym.operator_delete_void__unsigned_int_
mov ebx, dword [ebp - 0x160]
lea esi, [ebp - 0x158]
cmp ebx, esi
je 0x444767
mov eax, dword [ebp - 0x158]
mov dword [esp], ebx
lea edx, [eax + 1]
mov dword [esp + 4], edx
call sym.operator_delete_void__unsigned_int_
mov ecx, dword [ebp - 0x178]
lea ebx, [ebp - 0x170]
cmp ecx, ebx
je 0x44478c
mov esi, dword [ebp - 0x170]
mov dword [esp], ecx
lea eax, [esi + 1]
mov dword [esp + 4], eax
call sym.operator_delete_void__unsigned_int_
mov edx, dword [0x6531f0]
mov ebx, dword [0x6531f4]
add dword [ebp - 0x1cc], 1
mov ecx, dword [ebp - 0x1cc]
sub ebx, edx
sar ebx, 3
imul esi, ebx, 0xaaaaaaab
cmp ecx, esi
jb 0x444380
mov ebx, dword [0x6535cc]
lea eax, [ebp - 0x140]
mov esi, dword [0x6535c8]
mov dword [ebp - 0x148], eax
mov dword [ebp - 0x130], ebx
cmp ebx, 0xf
ja 0x4454a8
cmp ebx, 1
je 0x445222
test ebx, ebx
jne 0x445f54
lea eax, [ebp - 0x140]
mov dword [ebp - 0x144], ebx
mov byte [eax + ebx], 0
mov esi, dword [0x653338]
cmp esi, 0xd
je 0x445ce8
cmp esi, 0xf
je 0x445ee7
cmp esi, 0xe
je 0x445cae
mov edx, dword [0x653334]
test edx, edx
jne 0x445058
mov ebx, dword [ebp - 0x1dc]
lea esi, [ebx + 0x8000000]
cmp esi, 0x8000000
jbe case.0x445061.0
mov eax, dword [edi + 4]
add eax, 0x8000000
lea ecx, [eax + ebx]
and ebx, 1
je 0x4449fb
movzx edx, byte [eax]
cmp dl, 0x46
je 0x446630
ja 0x445cb9
cmp dl, 0x41
je 0x4465fd
cmp dl, 0x45
jne 0x444881
cmp byte [eax + 1], 0x45
je 0x4468ce
add eax, 1
cmp ecx, eax
jne 0x4449fb
lea esi, [esi]
mov esi, dword [ebp - 0x148]
lea eax, [ebp - 0x140]
cmp esi, eax
je 0x4448b5
mov ecx, dword [ebp - 0x140]
mov dword [esp], esi
lea edi, [ecx + 1]
mov dword [esp + 4], edi
call sym.operator_delete_void__unsigned_int_
mov ebx, dword [ebp - 0x190]
lea edx, [ebp - 0x188]
cmp ebx, edx
je 0x4448da
mov esi, dword [ebp - 0x188]
mov dword [esp], ebx
lea eax, [esi + 1]
mov dword [esp + 4], eax
call sym.operator_delete_void__unsigned_int_
mov ecx, dword [ebp - 0x1a8]
lea edi, [ebp - 0x1a0]
cmp ecx, edi
je 0x4448ff
mov ebx, dword [ebp - 0x1a0]
mov dword [esp], ecx
lea edx, [ebx + 1]
mov dword [esp + 4], edx
call sym.operator_delete_void__unsigned_int_
mov esi, dword [ebp - 0x1c0]
lea eax, [ebp - 0x1b8]
cmp esi, eax
je 0x444924
mov ecx, dword [ebp - 0x1b8]
mov dword [esp], esi
lea edi, [ecx + 1]
mov dword [esp + 4], edi
call sym.operator_delete_void__unsigned_int_
mov dword [ebp - reloc.libstdc_6.dll__ZTVSt9basic_iosIcSt11char_traitsIcEE], sym.imp.libstdc_6.dll_vtable_for_std::basic_ios_char__std::char_traits_char___
lea ecx, [ebp - 0x110]
mov dword [ebp - 0xa8], sym.imp.libstdc_6.dll___cxa_end_catch
mov dword [ebp - reloc.libstdc_6.dll__ZTVSt14basic_ofstreamIcSt11char_traitsIcEE], sym.imp.libstdc_6.dll_vtable_for_std::basic_ofstream_char__std::char_traits_char___
call sym.std::basic_filebuf_char__std::char_traits_char___::close__
lea ecx, [ebp - 0xec]
call sym.std::__basic_file_char_::__basic_file__
lea ecx, [ebp - 0xf4]
mov dword [ebp - reloc.libstdc_6.dll__ZdlPvj], sym.imp.libstdc_6.dll_operator_delete_void__unsigned_int_
call fcn.005bdc98
mov esi, dword [sym.imp.libstdc_6.dll_VTT_for_std::basic_ofstream_char__std::char_traits_char___]
mov edx, dword [sym.imp.libstdc_6.dll_vtable_for___cxxabiv1::__class_type_info]
mov ecx, dword [esi - 0xc]
mov dword [ebp - 0x118], esi
mov dword [ebp + ecx - 0x118], edx
lea ecx, [ebp - 0xa8]
mov dword [ebp - 0x114], 0
mov dword [ebp - 0xa8], sym.imp.libstdc_6.dll_operator_new_unsigned_int_
call fcn.005bdbc8
jmp 0x443845
cmp bl, 0x45
jne 0x4449c0
cmp byte [eax + 1], 0x45
je 0x445118
nop
lea esi, [eax + 1]
movzx eax, byte [eax + 1]
cmp al, 0x46
je 0x444c50
ja 0x444ad8
cmp al, 0x41
je 0x444bf0
cmp al, 0x45
jne 0x4449f0
cmp byte [esi + 1], 0x45
je 0x4450e8
lea esi, [esi]
nop
lea eax, [esi + 1]
cmp ecx, eax
je case.0x445061.0
movzx ebx, byte [eax]
cmp bl, 0x46
je 0x444ca0
ja 0x444a30
cmp bl, 0x41
jne 0x4449b0
cmp byte [eax + 1], 0x47
jne 0x4449c0
cmp byte [eax + 2], 0x42
jne 0x4449c0
cmp byte [eax + 3], 0x38
jne 0x4449c0
cmp byte [eax + 4], 0x4d
jne 0x4449c0
jmp 0x444c18
cmp bl, 0x53
jne 0x4449c0
cmp byte [eax + 1], 0x52
jne 0x4449c0
cmp byte [eax + 2], 0x41
jne 0x4449c0
cmp byte [eax + 3], 0x4d
jne 0x4449c0
mov dword [esp + 8], 0x1d
mov dword [esp + 4], str.MMU::SRAM_save_type_detected_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_
lea ebx, [ebp - 0x128]
mov dword [edi], 4
mov esi, dword [ebp - 0x148]
mov dword [ebp - 0x130], ebx
mov ebx, dword [ebp - 0x144]
mov dword [ebp - 0x160], ebx
cmp ebx, 0xf
ja 0x44692b
cmp ebx, 1
jne 0x446908
movzx eax, byte [esi]
mov byte [ebp - 0x128], al
mov esi, dword [ebp - 0x160]
mov ebx, dword [ebp - 0x130]
lea eax, [ebp - 0x130]
mov ecx, edi
mov dword [ebp - 0x12c], esi
mov byte [ebx + esi], 0
mov dword [esp], eax
call method.AGB_MMU.load_backup_std::__cxx11::basic_string_char__std::char_traits_char___std::allocator_char____
jmp 0x444d39
cmp al, 0x53
jne 0x4449f0
cmp byte [esi + 1], 0x52
jne 0x4449f0
cmp byte [esi + 2], 0x41
jne 0x4449f0
cmp byte [esi + 3], 0x4d
jne 0x4449f0
jmp 0x444a4f
movzx edx, byte [ecx]
mov byte [ebp - 0x128], dl
jmp 0x44465e
movzx edx, byte [esi]
mov byte [ebp - 0x128], dl
jmp 0x4445c6
movzx ebx, byte [edx + 8]
mov byte [ebp - 0x140], bl
jmp 0x444580
lea eax, [ebp - 0x1c4]
mov dword [esp + 4], 0
lea ecx, [ebp - 0x130]
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 - 0x1c4]
mov dword [ebp - 0x130], eax
sub esp, 8
mov dword [ebp - 0x128], ecx
mov dword [esp + 8], ebx
mov dword [esp + 4], esi
mov dword [esp], eax
call sym._memcpy
mov ebx, dword [ebp - 0x1c4]
mov esi, dword [ebp - 0x130]
jmp 0x4445cc
lea esi, [ebp - 0x1c4]
mov dword [esp + 4], 0
lea ecx, [ebp - 0x130]
mov dword [esp], esi
call sym.std::__cxx11::basic_string_char__std::char_traits_char___std::allocator_char___::_M_create_unsigned_int__unsigned_int_
mov ecx, dword [ebp - 0x1c4]
mov dword [ebp - 0x130], eax
sub esp, 8
mov dword [ebp - 0x128], ecx
mov dword [esp + 8], ebx
mov ebx, dword [ebp - 0x1d8]
mov dword [esp], eax
mov dword [esp + 4], ebx
call sym._memcpy
mov ebx, dword [ebp - 0x1c4]
mov eax, dword [ebp - 0x130]
jmp 0x44466a
cmp byte [esi + 1], 0x47
jne 0x4449f0
cmp byte [esi + 2], 0x42
jne 0x4449f0
cmp byte [esi + 3], 0x38
jne 0x4449f0
cmp byte [esi + 4], 0x4d
jne 0x4449f0
mov edx, str.MMU::8M_DACS_FLASH_save_type_detected_n
mov eax, sym.imp.libstdc_6.dll_std::cout
call fcn.00439ad0
mov esi, dword [ebp - 0x1d4]
mov dword [edi], 5
mov ecx, 0x6535c8
mov dword [esp], esi
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 case.0x445061.0
cmp byte [esi + 1], 0x4c
jne 0x4449f0
cmp byte [esi + 2], 0x41
jne 0x4449f0
cmp byte [esi + 3], 0x53
jne 0x4449f0
cmp byte [esi + 4], 0x48
je 0x446719
cmp byte [esi + 4], 0x48
jne 0x4449f0
cmp byte [esi + 5], 0x31
jne 0x4449f0
cmp byte [esi + 6], 0x4d
jne 0x4449f0
jmp 0x444ce6
cmp byte [eax + 1], 0x4c
jne 0x4449c0
cmp byte [eax + 2], 0x41
jne 0x4449c0
cmp byte [eax + 3], 0x53
jne 0x4449c0
cmp byte [eax + 4], 0x48
je 0x4467a0
cmp byte [eax + 4], 0x48
jne 0x4449c0
cmp byte [eax + 5], 0x31
jne 0x4449c0
cmp byte [eax + 6], 0x4d
jne 0x4449c0
mov edx, str.MMU::FLASH_RAM__128KB__save_type_detected_n
mov eax, sym.imp.libstdc_6.dll_std::cout
call fcn.00439ad0
mov ebx, dword [ebp - 0x148]
mov ecx, dword [ebp - 0x144]
lea edx, [ebp - 0x128]
mov dword [edi], 3
mov dword [ebp - 0x130], edx
add ecx, ebx
mov dword [esp], ebx
mov dword [esp + 4], ecx
lea ecx, [ebp - 0x130]
call fcn.00439b20
push ebx
lea esi, [ebp - 0x130]
mov ecx, edi
push ebx
mov dword [esp], esi
call method.AGB_MMU.load_backup_std::__cxx11::basic_string_char__std::char_traits_char___std::allocator_char____
mov edi, dword [ebp - 0x130]
lea esi, [ebp - 0x128]
sub esp, 4
cmp edi, esi
je case.0x445061.0
mov ebx, dword [ebp - 0x128]
mov dword [esp], edi
add ebx, 1
mov dword [esp + 4], ebx
call sym.operator_delete_void__unsigned_int_
jmp case.0x445061.0
lea edx, [ebp - 0x1c8]
mov dword [esp], eax
mov ecx, ebx
mov dword [esp + 4], edx
call method.void_std::vector_unsigned_int__std::allocator_unsigned_int___._M_realloc_insert_unsigned_int_const____gnu_cxx::__normal_iterator_unsigned_int__std::vector_unsigned_int__std::allocator_unsigned_int_______unsigned_int_const_
mov eax, dword [edi + 0x97c]
mov edx, dword [edi + 0x980]
sub esp, 8
cmp eax, edx
jne 0x44470b
lea esi, [esi]
nop
mov dword [esp + 4], esi
mov ecx, ebx
mov dword [esp], eax
call method.void_std::vector_unsigned_int__std::allocator_unsigned_int___._M_realloc_insert_unsigned_int_const____gnu_cxx::__normal_iterator_unsigned_int__std::vector_unsigned_int__std::allocator_unsigned_int_______unsigned_int_const_
sub esp, 8
jmp 0x44471d
mov eax, ecx
and eax, 0xfffffffc
lea ebx, [eax - 1]
mov dword [ebp - 0x1e0], eax
mov esi, eax
mov eax, dword [edx + 8]
shr ebx, 2
mov dword [ebp - 0x140], eax
mov eax, 4
and ebx, 7
cmp eax, esi
jae 0x444ef4
test ebx, ebx
je 0x444e84
cmp ebx, 1
je 0x444e6c
cmp ebx, 2
je 0x444e5e
cmp ebx, 3
je 0x444e50
cmp ebx, 4
je 0x444e42
cmp ebx, 5
je 0x444e34
cmp ebx, 6
je 0x444e26
mov esi, dword [ebp - 0x1d8]
mov eax, 8
mov ebx, dword [esi + 4]
mov dword [ebp - 0x13c], ebx
mov esi, dword [edx + eax + 8]
mov dword [ebp + eax - 0x140], esi
add eax, 4
mov ebx, dword [edx + eax + 8]
mov dword [ebp + eax - 0x140], ebx
add eax, 4
mov esi, dword [edx + eax + 8]
mov dword [ebp + eax - 0x140], esi
add eax, 4
mov ebx, dword [edx + eax + 8]
mov dword [ebp + eax - 0x140], ebx
add eax, 4
mov esi, dword [edx + eax + 8]
mov dword [ebp + eax - 0x140], esi
add eax, 4
mov edx, dword [edx + eax + 8]
mov ebx, dword [ebp - 0x1e0]
mov dword [ebp + eax - 0x140], edx
add eax, 4
cmp eax, ebx
jae 0x444ef4
mov esi, dword [ebp - 0x1d8]
mov edx, dword [esi + eax]
mov dword [ebp + eax - 0x140], edx
mov ebx, dword [esi + eax + 4]
mov dword [ebp + eax - 0x13c], ebx
mov edx, dword [esi + eax + 8]
mov dword [ebp + eax - 0x138], edx
mov ebx, dword [esi + eax + 0xc]
mov dword [ebp + eax - 0x134], ebx
mov edx, dword [esi + eax + 0x10]
mov dword [ebp + eax - 0x130], edx
mov ebx, dword [esi + eax + 0x14]
mov dword [ebp + eax - 0x12c], ebx
mov edx, dword [esi + eax + 0x18]
mov dword [ebp + eax - 0x128], edx
mov ebx, dword [esi + eax + 0x1c]
mov edx, dword [ebp - 0x1e0]
mov dword [ebp + eax - 0x124], ebx
add eax, 0x20
cmp eax, edx
jb 0x444e8a
mov dword [ebp - 0x1d8], esi
mov edx, dword [ebp - 0x1d8]
lea esi, [ebp - 0x140]
lea ebx, [esi + eax]
add eax, edx
jmp 0x44455a
mov esi, dword [edx]
mov ebx, ecx
mov ecx, 4
and ebx, 0xfffffffc
mov dword [ebp - 0x1e0], ebx
sub ebx, 1
mov dword [ebp - 0x158], esi
mov esi, dword [ebp - 0x1e0]
shr ebx, 2
and ebx, 7
cmp ecx, esi
jae 0x44503b
test ebx, ebx
je 0x444fcb
cmp ebx, 1
je 0x444fb4
cmp ebx, 2
je 0x444fa7
cmp ebx, 3
je 0x444f9a
cmp ebx, 4
je 0x444f8d
cmp ebx, 5
je 0x444f80
cmp ebx, 6
je 0x444f73
mov ecx, dword [edx + 4]
mov dword [ebp - 0x154], ecx
mov ecx, 8
mov ebx, dword [edx + ecx]
mov dword [ebp + ecx - 0x158], ebx
add ecx, 4
mov esi, dword [edx + ecx]
mov dword [ebp + ecx - 0x158], esi
add ecx, 4
mov ebx, dword [edx + ecx]
mov dword [ebp + ecx - 0x158], ebx
add ecx, 4
mov esi, dword [edx + ecx]
mov dword [ebp + ecx - 0x158], esi
add ecx, 4
mov ebx, dword [edx + ecx]
mov dword [ebp + ecx - 0x158], ebx
add ecx, 4
mov esi, dword [edx + ecx]
mov ebx, dword [ebp - 0x1e0]
mov dword [ebp + ecx - 0x158], esi
add ecx, 4
cmp ecx, ebx
jae 0x44503b
mov ebx, dword [ebp - 0x1d8]
mov esi, dword [edx + ecx]
mov dword [ebp + ecx - 0x158], esi
mov esi, dword [edx + ecx + 4]
mov dword [ebp + ecx - 0x154], esi
mov esi, dword [edx + ecx + 8]
mov dword [ebp + ecx - 0x150], esi
mov esi, dword [edx + ecx + 0xc]
mov dword [ebp + ecx - 0x14c], esi
mov esi, dword [edx + ecx + 0x10]
mov dword [ebp + ecx - 0x148], esi
mov esi, dword [edx + ecx + 0x14]
mov dword [ebp + ecx - 0x144], esi
mov esi, dword [edx + ecx + 0x18]
mov dword [ebp + ecx - 0x140], esi
mov esi, dword [edx + ecx + 0x1c]
mov dword [ebp + ecx - 0x13c], esi
mov esi, dword [ebp - 0x1e0]
add ecx, 0x20
cmp ecx, esi
jb 0x444fd1
mov dword [ebp - 0x1d8], ebx
lea ebx, [ebp - 0x158]
add ebx, ecx
lea ecx, [ecx + edx]
mov dword [ebp - 0x1e0], ecx
jmp 0x4444cd
cmp edx, 6
ja case.0x445061.0
jmp dword [edx*4 + 0x6021e4]
mov dword [esp + 8], 5
mov dword [esp + 4], 0x601937
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 [ebp - 0x1d4]
mov eax, dword [ebx + 4]
mov dword [esp + 8], eax
mov edi, dword [ebx]
mov dword [esp], sym.imp.libstdc_6.dll_std::cout
mov dword [esp + 4], 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], 0x37
mov dword [esp + 4], 0x6019f8
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 byte [ebp - 0x1cd], 0
jmp 0x444924
mov eax, dword [ecx + 0x14]
or eax, 4
mov dword [esp], eax
call sym.std::basic_ios_char__std::char_traits_char___::clear_std::_Ios_Iostate_
jmp 0x443964
cmp byte [esi + 2], 0x50
jne 0x4449f0
cmp byte [esi + 3], 0x52
jne 0x4449f0
cmp byte [esi + 4], 0x4f
jne 0x4449f0
cmp byte [esi + 5], 0x4d
jne 0x4449f0
jmp 0x445140
cmp byte [eax + 2], 0x50
jne 0x4449c0
cmp byte [eax + 3], 0x52
jne 0x4449c0
cmp byte [eax + 4], 0x4f
jne 0x4449c0
cmp byte [eax + 5], 0x4d
jne 0x4449c0
mov edx, str.MMU::EEPROM_save_type_detected_n
mov eax, sym.imp.libstdc_6.dll_std::cout
call fcn.00439ad0
mov eax, dword [ebp - 0x148]
mov ecx, dword [ebp - 0x144]
lea ebx, [ebp - 0x128]
mov dword [edi], 1
mov dword [ebp - 0x130], ebx
add ecx, eax
mov dword [esp], eax
mov dword [esp + 4], ecx
lea ecx, [ebp - 0x130]
call fcn.00439b20
push eax
lea edx, [ebp - 0x130]
mov ecx, edi
push eax
mov dword [esp], edx
call method.AGB_MMU.load_backup_std::__cxx11::basic_string_char__std::char_traits_char___std::allocator_char____
jmp 0x444d39
lea eax, [ebp - 0x128]
jmp 0x444b71
lea eax, [ebp - 0x128]
lea esi, [ebp - 0x1c4]
jmp 0x444bc9
lea eax, [ebp - 0x170]
jmp 0x444481
add ecx, 0x8000000
mov dword [esp + 4], esi
mov dword [esp], ecx
lea ecx, [ebp - 0x118]
call sym.std::istream::read_char__int_
sub esp, 8
jmp 0x443a44
movzx eax, byte [esi]
mov byte [ebp - 0x140], al
jmp 0x443f58
movzx eax, byte [esi]
mov byte [ebp - 0x140], al
jmp 0x443e5a
movzx eax, byte [esi]
mov byte [ebp - 0x140], al
jmp 0x444056
movzx ecx, byte [esi]
mov byte [ebp - 0x140], cl
jmp 0x4447f0
lea ecx, [ebp - 0x130]
mov dword [esp + 4], 0
mov dword [esp], ecx
lea ecx, [ebp - 0x148]
call sym.std::__cxx11::basic_string_char__std::char_traits_char___std::allocator_char___::_M_create_unsigned_int__unsigned_int_
mov edx, dword [ebp - 0x130]
mov dword [ebp - 0x148], eax
sub esp, 8
mov dword [ebp - 0x140], edx
mov dword [esp + 8], ebx
mov dword [esp + 4], esi
mov dword [esp], eax
call sym._memcpy
mov ebx, dword [ebp - 0x130]
mov esi, dword [ebp - 0x148]
jmp 0x44405c
lea ecx, [ebp - 0x130]
mov dword [esp + 4], 0
mov dword [esp], ecx
lea ecx, [ebp - 0x148]
call sym.std::__cxx11::basic_string_char__std::char_traits_char___std::allocator_char___::_M_create_unsigned_int__unsigned_int_
mov edx, dword [ebp - 0x130]
mov dword [ebp - 0x148], eax
sub esp, 8
mov dword [ebp - 0x140], edx
mov dword [esp + 8], ebx
mov dword [esp + 4], esi
mov dword [esp], eax
call sym._memcpy
mov ebx, dword [ebp - 0x130]
mov esi, dword [ebp - 0x148]
jmp 0x443f5e
mov dword [esp + 8], 1
mov dword [esp + 4], 0xffffffff
mov dword [esp], 0x601f96
mov esi, dword [ebp - 0x1d4]
mov ecx, esi
call sym.std::__cxx11::basic_string_char__std::char_traits_char___std::allocator_char___::find_last_of_char_const__unsigned_int__unsigned_int__const
sub esp, 0xc
cmp eax, 0xffffffff
je 0x4459d2
mov ebx, dword [esi + 4]
cmp eax, ebx
cmovbe ebx, eax
mov edx, dword [ebp - 0x1d4]
lea ecx, [ebp - 0x140]
mov dword [ebp - 0x130], ebx
mov dword [ebp - 0x148], ecx
mov esi, dword [edx]
cmp ebx, 0xf
ja 0x445e95
cmp ebx, 1
je 0x445d7f
test ebx, ebx
jne 0x446680
lea esi, [ebp - 0x140]
mov dword [ebp - 0x144], ebx
lea eax, [ebp - 0x128]
mov byte [esi + ebx], 0
mov ebx, dword [ebp - 0x144]
mov dword [ebp - 0x130], eax
mov esi, dword [ebp - 0x148]
mov dword [ebp - 0x160], ebx
cmp ebx, 0xf
ja 0x445d8d
cmp ebx, 1
je 0x445d71
test ebx, ebx
jne 0x44668b
lea eax, [ebp - 0x128]
mov dword [ebp - 0x12c], ebx
mov esi, 0x3fffffff
mov byte [eax + ebx], 0
sub esi, dword [ebp - 0x12c]
cmp esi, 3
jbe 0x4469f2
mov dword [esp + 4], 4
lea ecx, [ebp - 0x130]
mov dword [esp], 0x601f98
call sym.std::__cxx11::basic_string_char__std::char_traits_char___std::allocator_char___::_M_append_char_const__unsigned_int_
sub esp, 8
lea edx, [ebp - 0x130]
mov ecx, edi
mov dword [esp], edx
call method.AGB_MMU.patch_ips_std::__cxx11::basic_string_char__std::char_traits_char___std::allocator_char____
mov ebx, dword [ebp - 0x130]
lea ecx, [ebp - 0x128]
sub esp, 4
mov esi, eax
cmp ebx, ecx
je 0x44540f
mov eax, dword [ebp - 0x128]
mov dword [esp], ebx
lea edx, [eax + 1]
mov dword [esp + 4], edx
call sym.operator_delete_void__unsigned_int_
mov ecx, esi
mov ebx, dword [ebp - 0x148]
test cl, cl
je 0x445ddf
lea eax, [ebp - 0x140]
cmp ebx, eax
je 0x44423e
mov ecx, dword [ebp - 0x140]
mov dword [esp], ebx
add ecx, 1
mov dword [esp + 4], ecx
call sym.operator_delete_void__unsigned_int_
jmp 0x44423e
lea ecx, [ebp - 0x130]
mov dword [esp + 4], 0
mov dword [esp], ecx
lea ecx, [ebp - 0x148]
call sym.std::__cxx11::basic_string_char__std::char_traits_char___std::allocator_char___::_M_create_unsigned_int__unsigned_int_
mov edx, dword [ebp - 0x130]
mov dword [ebp - 0x148], eax
sub esp, 8
mov dword [ebp - 0x140], edx
mov dword [esp + 8], ebx
mov dword [esp + 4], esi
mov dword [esp], eax
call sym._memcpy
mov ebx, dword [ebp - 0x130]
mov esi, dword [ebp - 0x148]
jmp 0x443e60
lea edx, [ebp - 0x130]
mov dword [esp + 4], 0
lea ecx, [ebp - 0x148]
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 - 0x130]
mov dword [ebp - 0x148], eax
sub esp, 8
mov dword [ebp - 0x140], ecx
mov dword [esp + 8], ebx
mov dword [esp + 4], esi
mov dword [esp], eax
call sym._memcpy
mov ebx, dword [ebp - 0x130]
mov eax, dword [ebp - 0x148]
jmp 0x4447f6
mov edx, dword [0x653490]
mov ebx, dword [0x653494]
lea ecx, [ebp - 0x158]
mov dword [ebp - 0x160], ecx
mov dword [ebp - 0x1cc], edx
mov dword [ebp - 0x130], ebx
cmp ebx, 0xf
ja 0x446004
cmp ebx, 1
jne 0x445fcf
movzx eax, byte [edx]
mov byte [ebp - 0x158], al
lea eax, [ebp - 0x158]
mov dword [ebp - 0x15c], ebx
mov ecx, 0x3fffffff
mov byte [eax + ebx], 0
sub ecx, dword [ebp - 0x15c]
cmp ecx, 0x1c
jbe 0x446aa3
mov dword [esp + 4], 0x1d
lea ecx, [ebp - 0x160]
mov dword [esp], str.bin_firmware_am3_firmware.bin
call sym.std::__cxx11::basic_string_char__std::char_traits_char___std::allocator_char___::_M_append_char_const__unsigned_int_
mov eax, dword [ebp - 0x160]
mov ebx, dword [ebp - 0x15c]
lea edx, [ebp - 0x128]
sub esp, 8
mov dword [ebp - 0x130], edx
mov dword [ebp - 0x1cc], eax
mov dword [ebp - 0x148], ebx
cmp ebx, 0xf
ja 0x446037
cmp ebx, 1
je 0x445fc1
test ebx, ebx
jne 0x4466a8
lea eax, [ebp - 0x128]
lea edx, [ebp - 0x130]
mov dword [ebp - 0x12c], ebx
mov ecx, edi
mov byte [eax + ebx], 0
mov dword [esp], edx
call method.AGB_MMU.read_am3_firmware_std::__cxx11::basic_string_char__std::char_traits_char___std::allocator_char____
mov ebx, eax
mov eax, dword [ebp - 0x130]
lea ecx, [ebp - 0x128]
sub esp, 4
cmp eax, ecx
je 0x445602
mov edx, dword [ebp - 0x128]
mov dword [esp], eax
lea ecx, [edx + 1]
mov dword [esp + 4], ecx
call sym.operator_delete_void__unsigned_int_
test bl, bl
je 0x445f80
mov eax, dword [ebp - 0x1d4]
lea ebx, [ebp - 0x140]
mov dword [ebp - 0x148], ebx
mov edx, dword [eax]
mov ebx, dword [eax + 4]
mov dword [ebp - 0x1cc], edx
mov dword [ebp - 0x130], ebx
cmp ebx, 0xf
ja 0x446195
cmp ebx, 1
je 0x446187
test ebx, ebx
jne 0x446850
lea eax, [ebp - 0x140]
mov dword [ebp - 0x144], ebx
mov edx, 0x3fffffff
mov byte [eax + ebx], 0
sub edx, dword [ebp - 0x144]
cmp edx, 4
jbe 0x446a0a
mov dword [esp + 4], 5
lea ecx, [ebp - 0x148]
mov dword [esp], 0x601ec8
call sym.std::__cxx11::basic_string_char__std::char_traits_char___std::allocator_char___::_M_append_char_const__unsigned_int_
sub esp, 8
cmp byte [0x6530e4], 0
je 0x44608f
mov eax, dword [ebp - 0x1d4]
lea esi, [ebp - 0x128]
mov dword [ebp - 0x130], esi
mov ebx, dword [eax + 4]
mov esi, dword [eax]
mov dword [ebp - 0x178], ebx
cmp ebx, 0xf
ja 0x44685b
cmp ebx, 1
je 0x4467f5
test ebx, ebx
jne 0x44695b
lea eax, [ebp - 0x128]
lea esi, [ebp - 0x130]
mov dword [ebp - 0x12c], ebx
mov ecx, edi
mov byte [eax + ebx], 0
mov dword [esp], esi
call method.AGB_MMU.am3_load_folder_std::__cxx11::basic_string_char__std::char_traits_char___std::allocator_char____
mov ecx, dword [ebp - 0x130]
lea edx, [ebp - 0x128]
sub esp, 4
mov ebx, eax
cmp ecx, edx
je 0x445716
mov eax, dword [ebp - 0x128]
mov dword [esp], ecx
add eax, 1
mov dword [esp + 4], eax
call sym.operator_delete_void__unsigned_int_
test bl, bl
je 0x446159
mov ebx, dword [ebp - 0x148]
lea esi, [ebp - 0x140]
mov dword [0x653334], 1
cmp ebx, esi
je 0x44574d
mov ecx, dword [ebp - 0x140]
mov dword [esp], ebx
lea edx, [ecx + 1]
mov dword [esp + 4], edx
call sym.operator_delete_void__unsigned_int_
mov eax, dword [ebp - 0x160]
lea ebx, [ebp - 0x158]
cmp eax, ebx
je 0x445772
mov esi, dword [ebp - 0x158]
mov dword [esp], eax
lea ecx, [esi + 1]
mov dword [esp + 4], ecx
call sym.operator_delete_void__unsigned_int_
mov dword [ebp - 0x1dc], 0x400
jmp 0x443a44
mov dword [esp + 8], 0x28
mov dword [esp + 4], str.MMU::Forcing_FLASH_RAM__64KB__save_type_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_
lea ebx, [ebp - 0x128]
mov dword [edi], 2
mov esi, dword [ebp - 0x148]
mov dword [ebp - 0x130], ebx
mov ebx, dword [ebp - 0x144]
mov dword [ebp - 0x160], ebx
cmp ebx, 0xf
ja 0x4465ca
cmp ebx, 1
jne 0x44659b
movzx eax, byte [esi]
mov byte [ebp - 0x128], al
lea esi, [ebp - 0x128]
lea eax, [ebp - 0x130]
mov dword [ebp - 0x12c], ebx
mov ecx, edi
mov byte [esi + ebx], 0
mov dword [esp], eax
call method.AGB_MMU.load_backup_std::__cxx11::basic_string_char__std::char_traits_char___std::allocator_char____
lea esi, [esi]
mov ecx, dword [ebp - 0x130]
lea edi, [ebp - 0x128]
sub esp, 4
cmp ecx, edi
je case.0x445061.0
mov edx, dword [ebp - 0x128]
mov dword [esp], ecx
lea ebx, [edx + 1]
mov dword [esp + 4], ebx
call sym.operator_delete_void__unsigned_int_
jmp case.0x445061.0
mov dword [esp + 8], 0x1e
mov dword [esp + 4], str.MMU::Forcing_EEPROM_save_type_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_
lea ebx, [ebp - 0x128]
mov dword [edi], 1
mov esi, dword [ebp - 0x148]
mov dword [ebp - 0x130], ebx
mov ebx, dword [ebp - 0x144]
mov dword [ebp - 0x160], ebx
cmp ebx, 0xf
ja 0x446506
cmp ebx, 1
jne 0x4464d7
movzx eax, byte [esi]
mov byte [ebp - 0x128], al
lea esi, [ebp - 0x128]
lea eax, [ebp - 0x130]
mov dword [ebp - 0x12c], ebx
mov ecx, edi
mov byte [esi + ebx], 0
mov dword [esp], eax
call method.AGB_MMU.load_backup_std::__cxx11::basic_string_char__std::char_traits_char___std::allocator_char____
jmp 0x445800
mov dword [esp + 8], 0x1c
mov dword [esp + 4], str.MMU::Forcing_SRAM_save_type_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_
lea ebx, [ebp - 0x128]
mov dword [edi], 4
mov esi, dword [ebp - 0x148]
mov dword [ebp - 0x130], ebx
mov ebx, dword [ebp - 0x144]
mov dword [ebp - 0x160], ebx
cmp ebx, 0xf
ja 0x446568
cmp ebx, 1
jne 0x446539
movzx eax, byte [esi]
mov byte [ebp - 0x128], al
lea esi, [ebp - 0x128]
lea eax, [ebp - 0x130]
mov dword [ebp - 0x12c], ebx
mov ecx, edi
mov byte [esi + ebx], 0
mov dword [esp], eax
call method.AGB_MMU.load_backup_std::__cxx11::basic_string_char__std::char_traits_char___std::allocator_char____
jmp 0x445800
mov dword [esp + 8], 0x25
mov dword [esp + 4], str.MMU::Forcing_8M_DACS_FLASH_save_type_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_
jmp 0x444c27
mov dword [esp + 8], 0x29
mov dword [esp + 4], str.MMU::Forcing_FLASH_RAM__128KB__save_type_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_
mov ebx, dword [ebp - 0x144]
lea ecx, [ebp - 0x128]
mov dword [edi], 3
mov dword [ebp - 0x130], ecx
mov esi, dword [ebp - 0x148]
mov dword [ebp - 0x160], ebx
cmp ebx, 0xf
ja 0x4464a4
cmp ebx, 1
jne 0x446475
movzx eax, byte [esi]
mov byte [ebp - 0x128], al
lea esi, [ebp - 0x128]
lea eax, [ebp - 0x130]
mov dword [ebp - 0x12c], ebx
mov ecx, edi
mov byte [esi + ebx], 0
mov dword [esp], eax
call method.AGB_MMU.load_backup_std::__cxx11::basic_string_char__std::char_traits_char___std::allocator_char____
jmp 0x445800
mov eax, dword [ebp - 0x1d4]
mov ebx, dword [eax + 4]
jmp 0x445318
test esi, esi
je 0x443a28
mov eax, dword [edi + 0x778]
sub eax, ecx
cmp eax, esi
jb 0x446332
mov edx, esi
mov byte [ecx], 0
lea eax, [ecx + 1]
sub edx, 1
je 0x445a1e
mov dword [esp + 8], edx
lea ebx, [ecx + esi]
mov dword [esp + 4], 0
mov dword [esp], eax
call sym._memset
mov eax, ebx
mov dword [edi + 0x774], eax
mov ecx, dword [edi + 0x770]
jmp 0x443a28
mov dword [esp + 8], 0x20
mov dword [esp + 4], str.MMU::Classic_NES_Title_Detected_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_
mov esi, dword [ebp - 0x1dc]
mov ecx, dword [edi + 4]
lea ebx, [esi + 0x8000000]
cmp ebx, 0x9ffffff
ja 0x443a75
mov eax, esi
mov ebx, esi
not eax
and eax, 7
je 0x445c5b
movzx edx, byte [ecx + 0x8000000]
mov byte [ecx + esi + 0x8000000], dl
lea esi, [esi + 1]
mov ecx, dword [edi + 4]
cmp eax, 1
je 0x445c5b
cmp eax, 2
je 0x445b5c
cmp eax, 3
je 0x445b39
cmp eax, 4
je 0x445b16
cmp eax, 5
je 0x445af3
cmp eax, 6
je 0x445ad0
mov eax, esi
xor edx, edx
sub eax, ebx
div ebx
movzx eax, byte [ecx + edx + 0x8000000]
mov byte [ecx + esi + 0x8000000], al
mov ecx, dword [edi + 4]
lea esi, [ebx + 2]
mov ebx, dword [ebp - 0x1dc]
mov eax, esi
xor edx, edx
sub eax, ebx
div ebx
movzx eax, byte [ecx + edx + 0x8000000]
mov byte [ecx + esi + 0x8000000], al
mov ecx, dword [edi + 4]
add esi, 1
mov ebx, dword [ebp - 0x1dc]
mov eax, esi
xor edx, edx
sub eax, ebx
div ebx
movzx eax, byte [ecx + edx + 0x8000000]
mov byte [ecx + esi + 0x8000000], al
mov ecx, dword [edi + 4]
add esi, 1
mov ebx, dword [ebp - 0x1dc]
mov eax, esi
xor edx, edx
sub eax, ebx
div ebx
movzx eax, byte [ecx + edx + 0x8000000]
mov byte [ecx + esi + 0x8000000], al
mov ecx, dword [edi + 4]
add esi, 1
mov ebx, dword [ebp - 0x1dc]
mov eax, esi
xor edx, edx
sub eax, ebx
div ebx
movzx eax, byte [ecx + edx + 0x8000000]
mov byte [ecx + esi + 0x8000000], al
mov ecx, dword [edi + 4]
add esi, 1
mov ebx, dword [ebp - 0x1dc]
mov eax, esi
xor edx, edx
sub eax, ebx
div ebx
movzx eax, byte [ecx + edx + 0x8000000]
mov byte [ecx + esi + 0x8000000], al
add esi, 1
mov ecx, dword [edi + 4]
jmp 0x445c5b
mov eax, ecx
xor edx, edx
mov ecx, dword [edi + 4]
sub eax, ebx
div ebx
movzx eax, byte [ecx + edx + 0x8000000]
mov edx, dword [edi + 4]
mov byte [edx + esi + 0x8000001], al
lea eax, [esi + 2]
xor edx, edx
mov ecx, dword [edi + 4]
sub eax, ebx
div ebx
movzx eax, byte [ecx + edx + 0x8000000]
mov edx, dword [edi + 4]
mov byte [edx + esi + 0x8000002], al
lea eax, [esi + 3]
xor edx, edx
mov ecx, dword [edi + 4]
sub eax, ebx
div ebx
movzx eax, byte [ecx + edx + 0x8000000]
mov edx, dword [edi + 4]
mov byte [edx + esi + 0x8000003], al
lea eax, [esi + 4]
xor edx, edx
mov ecx, dword [edi + 4]
sub eax, ebx
div ebx
movzx eax, byte [ecx + edx + 0x8000000]
mov edx, dword [edi + 4]
mov byte [edx + esi + 0x8000004], al
lea eax, [esi + 5]
xor edx, edx
mov ecx, dword [edi + 4]
sub eax, ebx
div ebx
movzx eax, byte [ecx + edx + 0x8000000]
mov edx, dword [edi + 4]
mov byte [edx + esi + 0x8000005], al
lea eax, [esi + 6]
xor edx, edx
mov ecx, dword [edi + 4]
sub eax, ebx
div ebx
movzx eax, byte [ecx + edx + 0x8000000]
mov edx, dword [edi + 4]
mov byte [edx + esi + 0x8000006], al
lea eax, [esi + 7]
xor edx, edx
mov ecx, dword [edi + 4]
sub eax, ebx
div ebx
movzx eax, byte [ecx + edx + 0x8000000]
mov edx, dword [edi + 4]
mov byte [edx + esi + 0x8000007], al
mov ecx, dword [edi + 4]
add esi, 8
mov eax, esi
xor edx, edx
sub eax, ebx
div ebx
movzx eax, byte [ecx + edx + 0x8000000]
mov byte [ecx + esi + 0x8000000], al
lea ecx, [esi + 1]
cmp esi, 0x1ffffff
jne 0x445b84
mov ecx, dword [edi + 4]
jmp 0x443a67
mov edx, dword [ebp - 0x118]
lea ecx, [ebp - 0x118]
add ecx, dword [edx - 0xc]
mov eax, dword [ecx + 0x14]
or eax, 4
mov dword [esp], eax
call sym.std::basic_ios_char__std::char_traits_char___::clear_std::_Ios_Iostate_
sub esp, 4
jmp 0x443a57
mov dword [edi], 0
jmp case.0x445061.0
cmp dl, 0x53
jne 0x444881
cmp byte [eax + 1], 0x52
jne 0x444881
cmp byte [eax + 2], 0x41
jne 0x444881
cmp byte [eax + 3], 0x4d
jne 0x444881
jmp 0x444a4f
mov dword [esp + 8], 0x2c
mov dword [esp + 4], str.MMU::Jukebox_Config_Data_save_type_detected_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_
lea ebx, [ebp - 0x128]
mov esi, dword [ebp - 0x148]
mov dword [0x653334], 7
mov dword [ebp - 0x130], ebx
mov ebx, dword [ebp - 0x144]
mov dword [edi], 6
mov dword [ebp - 0x160], ebx
cmp ebx, 0xf
ja 0x4462e0
cmp ebx, 1
je 0x4462d2
test ebx, ebx
jne 0x4468c3
lea esi, [ebp - 0x128]
lea eax, [ebp - 0x130]
mov dword [ebp - 0x12c], ebx
mov ecx, edi
mov byte [esi + ebx], 0
mov dword [esp], eax
call method.AGB_MMU.load_backup_std::__cxx11::basic_string_char__std::char_traits_char___std::allocator_char____
jmp 0x445800
movzx ecx, byte [esi]
mov byte [ebp - 0x128], cl
jmp 0x445394
movzx eax, byte [esi]
mov byte [ebp - 0x140], al
jmp 0x44534c
lea edx, [ebp - 0x160]
mov dword [esp + 4], 0
lea ecx, [ebp - 0x130]
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 - 0x160]
mov dword [ebp - 0x130], eax
sub esp, 8
mov dword [ebp - 0x128], ecx
mov dword [esp + 8], ebx
mov dword [esp + 4], esi
mov dword [esp], eax
call sym._memcpy
mov ebx, dword [ebp - 0x160]
mov eax, dword [ebp - 0x130]
jmp 0x44539a
lea esi, [ebp - 0x128]
mov dword [ebp - 0x130], esi
mov esi, dword [ebp - 0x144]
mov dword [ebp - 0x160], esi
cmp esi, 0xf
ja 0x4463c3
cmp esi, 1
je 0x4463b5
test esi, esi
jne 0x4468ad
lea ecx, [ebp - 0x128]
mov dword [ebp - 0x12c], esi
mov ebx, 0x3fffffff
mov byte [ecx + esi], 0
sub ebx, dword [ebp - 0x12c]
cmp ebx, 3
jbe 0x4469fe
mov dword [esp + 4], 4
lea ecx, [ebp - 0x130]
mov dword [esp], 0x601f9d
call sym.std::__cxx11::basic_string_char__std::char_traits_char___std::allocator_char___::_M_append_char_const__unsigned_int_
sub esp, 8
lea eax, [ebp - 0x130]
mov ecx, edi
mov dword [esp], eax
call method.AGB_MMU.patch_ups_std::__cxx11::basic_string_char__std::char_traits_char___std::allocator_char____
mov ecx, dword [ebp - 0x130]
lea edx, [ebp - 0x128]
sub esp, 4
cmp ecx, edx
je 0x445e8a
mov esi, dword [ebp - 0x128]
mov dword [esp], ecx
lea ebx, [esi + 1]
mov dword [esp + 4], ebx
call sym.operator_delete_void__unsigned_int_
mov ebx, dword [ebp - 0x148]
jmp 0x44541f
lea ecx, [ebp - 0x130]
mov dword [esp + 4], 0
mov dword [esp], ecx
lea ecx, [ebp - 0x148]
call sym.std::__cxx11::basic_string_char__std::char_traits_char___std::allocator_char___::_M_create_unsigned_int__unsigned_int_
mov edx, dword [ebp - 0x130]
mov dword [ebp - 0x148], eax
sub esp, 8
mov dword [ebp - 0x140], edx
mov dword [esp + 8], ebx
mov dword [esp + 4], esi
mov dword [esp], eax
call sym._memcpy
mov ebx, dword [ebp - 0x130]
mov esi, dword [ebp - 0x148]
jmp 0x445352
mov ebx, dword [ebp - 0x144]
lea esi, [ebp - 0x128]
mov dword [0x653334], 8
mov dword [ebp - 0x130], esi
mov esi, dword [ebp - 0x148]
mov dword [edi], 7
mov dword [ebp - 0x160], ebx
cmp ebx, 0xf
ja 0x446423
cmp ebx, 1
je 0x446415
test ebx, ebx
jne 0x4468b8
lea eax, [ebp - 0x128]
lea esi, [ebp - 0x130]
mov dword [ebp - 0x12c], ebx
mov ecx, edi
mov byte [eax + ebx], 0
mov dword [esp], esi
call method.AGB_MMU.load_backup_std::__cxx11::basic_string_char__std::char_traits_char___std::allocator_char____
jmp 0x445800
lea eax, [ebp - 0x140]
jmp 0x4454d9
lea eax, [ebp - 0x140]
jmp 0x445261
lea eax, [ebp - 0x140]
jmp 0x4452b9
lea eax, [ebp - 0x140]
jmp 0x445481
lea ecx, [ebp - 0x110]
call sym.std::basic_filebuf_char__std::char_traits_char___::close__
test eax, eax
je 0x4467d0
mov esi, dword [ebp - 0x160]
lea ecx, [ebp - 0x158]
cmp esi, ecx
je 0x4450c3
mov eax, dword [ebp - 0x158]
mov dword [esp], esi
lea edx, [eax + 1]
mov dword [esp + 4], edx
call sym.operator_delete_void__unsigned_int_
jmp 0x4450c3
movzx ecx, byte [eax]
mov byte [ebp - 0x128], cl
jmp 0x4455b8
test ebx, ebx
je 0x445539
lea eax, [ebp - 0x158]
mov dword [esp + 8], ebx
mov ebx, dword [ebp - 0x1cc]
mov dword [esp], eax
mov dword [esp + 4], ebx
call sym._memcpy
mov ebx, dword [ebp - 0x130]
mov eax, dword [ebp - 0x160]
jmp 0x44553f
lea ecx, [ebp - 0x130]
mov dword [esp + 4], 0
mov dword [esp], ecx
lea ecx, [ebp - 0x160]
call sym.std::__cxx11::basic_string_char__std::char_traits_char___std::allocator_char___::_M_create_unsigned_int__unsigned_int_
mov edx, dword [ebp - 0x130]
mov dword [ebp - 0x160], eax
sub esp, 8
mov dword [ebp - 0x158], edx
jmp 0x445fdd
lea edx, [ebp - 0x148]
mov dword [esp + 4], 0
lea ecx, [ebp - 0x130]
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 - 0x148]
mov dword [ebp - 0x130], eax
sub esp, 8
mov dword [ebp - 0x128], ecx
mov dword [esp + 8], ebx
mov ebx, dword [ebp - 0x1cc]
mov dword [esp], eax
mov dword [esp + 4], ebx
call sym._memcpy
mov ebx, dword [ebp - 0x148]
mov eax, dword [ebp - 0x130]
jmp 0x4455be
mov eax, dword [ebp - 0x148]
mov ebx, dword [ebp - 0x144]
lea ecx, [ebp - 0x128]
mov dword [ebp - 0x130], ecx
mov dword [ebp - 0x1cc], eax
mov dword [ebp - 0x178], ebx
cmp ebx, 0xf
ja 0x4466c1
cmp ebx, 1
je 0x4466b3
test ebx, ebx
jne 0x4469e7
lea eax, [ebp - 0x128]
lea ecx, [ebp - 0x130]
mov dword [ebp - 0x12c], ebx
mov byte [eax + ebx], 0
mov dword [esp], ecx
mov ecx, edi
call method.AGB_MMU.read_smid_std::__cxx11::basic_string_char__std::char_traits_char___std::allocator_char____
mov ebx, dword [ebp - 0x130]
sub esp, 4
test al, al
jne 0x4461ed
cmp byte [0x6530e5], 0
jne 0x4461ed
lea eax, [ebp - 0x128]
cmp ebx, eax
je 0x44612a
mov edx, dword [ebp - 0x128]
mov dword [esp], ebx
lea edi, [edx + 1]
mov dword [esp + 4], edi
call sym.operator_delete_void__unsigned_int_
lea ecx, [ebp - 0x110]
call sym.std::basic_filebuf_char__std::char_traits_char___::close__
test eax, eax
jne 0x446159
mov ebx, dword [ebp - 0x118]
lea ecx, [ebp - 0x118]
add ecx, dword [ebx - 0xc]
mov esi, dword [ecx + 0x14]
or esi, 4
mov dword [esp], esi
call sym.std::basic_ios_char__std::char_traits_char___::clear_std::_Ios_Iostate_
sub esp, 4
mov ecx, dword [ebp - 0x148]
lea eax, [ebp - 0x140]
cmp ecx, eax
je 0x445f93
mov edx, dword [ebp - 0x140]
mov dword [esp], ecx
lea edi, [edx + 1]
mov dword [esp + 4], edi
call sym.operator_delete_void__unsigned_int_
jmp 0x445f93
movzx eax, byte [edx]
mov byte [ebp - 0x140], al
jmp 0x445647
lea edx, [ebp - 0x130]
mov dword [esp + 4], 0
lea ecx, [ebp - 0x148]
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 - 0x130]
mov dword [ebp - 0x148], eax
sub esp, 8
mov dword [ebp - 0x140], ecx
mov dword [esp + 8], ebx
mov ebx, dword [ebp - 0x1cc]
mov dword [esp], eax
mov dword [esp + 4], ebx
call sym._memcpy
mov ebx, dword [ebp - 0x130]
mov eax, dword [ebp - 0x148]
jmp 0x44564d
lea eax, [ebp - 0x128]
cmp ebx, eax
je 0x44620c
mov ecx, dword [ebp - 0x128]
mov dword [esp], ebx
lea edx, [ecx + 1]
mov dword [esp + 4], edx
call sym.operator_delete_void__unsigned_int_
cmp byte [0x6530e4], 0
jne 0x445695
mov ebx, dword [edi + 0x124]
cmp dword [edi + 0x128], ebx
je 0x446696
mov dword [edi + 0x128], ebx
test esi, esi
je 0x446268
mov eax, dword [edi + 0x12c]
sub eax, ebx
cmp eax, esi
jb 0x446966
mov dword [esp], ebx
mov dword [esp + 8], esi
mov dword [esp + 4], 0
call sym._memset
lea ecx, [ebx + esi]
mov ebx, dword [edi + 0x124]
mov dword [edi + 0x128], ecx
mov dword [esp + 4], esi
lea ecx, [ebp - 0x118]
mov dword [esp], ebx
call sym.std::istream::read_char__int_
sub esp, 8
lea ecx, [ebp - 0x118]
mov dword [esp + 8], 0
mov dword [esp], 0
mov dword [esp + 4], 0
call sym.std::istream::seekg_long_long__std::_Ios_Seekdir_
sub esp, 0xc
mov ecx, edi
call method.AGB_MMU.check_am3_fat__
test al, al
jne 0x44571e
mov dword [esp + 8], 0x44
mov dword [esp + 4], str.MMU::Error___AM3_SmartMedia_card_data_has_bad_File_Allocation_Table_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_
jmp 0x44612a
movzx eax, byte [esi]
mov byte [ebp - 0x128], al
jmp 0x445d4c
lea edx, [ebp - 0x160]
mov dword [esp + 4], 0
lea ecx, [ebp - 0x130]
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 - 0x160]
mov dword [ebp - 0x130], eax
sub esp, 8
mov dword [ebp - 0x128], ecx
mov dword [esp + 8], ebx
mov dword [esp + 4], esi
mov dword [esp], eax
call sym._memcpy
mov ebx, dword [ebp - 0x160]
mov esi, dword [ebp - 0x130]
jmp 0x445d52
test esi, esi
js 0x446a97
mov ebx, 0x7fffffff
cmp esi, ebx
cmovbe ebx, esi
mov dword [esp], ebx
call sym.operator_new_unsigned_int_
mov edx, esi
mov byte [eax], 0
mov ecx, eax
sub edx, 1
je 0x44637b
lea eax, [eax + 1]
mov dword [ebp - 0x1cc], ecx
mov dword [esp + 8], edx
mov dword [esp + 4], 0
mov dword [esp], eax
call sym._memset
mov ecx, dword [ebp - 0x1cc]
mov edx, dword [edi + 0x770]
mov eax, dword [edi + 0x774]
sub eax, edx
test eax, eax
jg 0x446803
test edx, edx
jne 0x4468fb
lea edx, [ecx + esi]
add ebx, ecx
mov dword [edi + 0x770], ecx
mov dword [edi + 0x774], edx
mov dword [edi + 0x778], ebx
jmp 0x443a28
movzx ebx, byte [ebx]
mov byte [ebp - 0x128], bl
jmp 0x445e11
lea eax, [ebp - 0x160]
mov dword [esp + 4], 0
lea ecx, [ebp - 0x130]
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 - 0x160]
mov dword [ebp - 0x130], eax
sub esp, 8
mov dword [ebp - 0x128], edx
mov dword [esp + 8], esi
mov dword [esp + 4], ebx
mov dword [esp], eax
call sym._memcpy
mov esi, dword [ebp - 0x160]
mov ecx, dword [ebp - 0x130]
jmp 0x445e17
movzx ecx, byte [esi]
mov byte [ebp - 0x128], cl
jmp 0x445f2f
lea edx, [ebp - 0x160]
mov dword [esp + 4], 0
lea ecx, [ebp - 0x130]
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 - 0x160]
mov dword [ebp - 0x130], eax
sub esp, 8
mov dword [ebp - 0x128], ecx
mov dword [esp + 8], ebx
mov dword [esp + 4], esi
mov dword [esp], eax
call sym._memcpy
mov ebx, dword [ebp - 0x160]
mov eax, dword [ebp - 0x130]
jmp 0x445f35
test ebx, ebx
je 0x4459ad
lea eax, [ebp - 0x128]
mov dword [esp + 8], ebx
mov dword [esp + 4], esi
mov dword [esp], eax
call sym._memcpy
mov ebx, dword [ebp - 0x160]
mov esi, dword [ebp - 0x130]
jmp 0x4459b3
lea edx, [ebp - 0x160]
mov dword [esp + 4], 0
lea ecx, [ebp - 0x130]
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 - 0x160]
mov dword [ebp - 0x130], eax
sub esp, 8
mov dword [ebp - 0x128], ecx
jmp 0x446483
test ebx, ebx
je 0x44588c
lea eax, [ebp - 0x128]
mov dword [esp + 8], ebx
mov dword [esp + 4], esi
mov dword [esp], eax
call sym._memcpy
mov ebx, dword [ebp - 0x160]
mov esi, dword [ebp - 0x130]
jmp 0x445892
lea edx, [ebp - 0x160]
mov dword [esp + 4], 0
lea ecx, [ebp - 0x130]
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 - 0x160]
mov dword [ebp - 0x130], eax
sub esp, 8
mov dword [ebp - 0x128], ecx
jmp 0x4464e5
test ebx, ebx
je 0x44590c
lea eax, [ebp - 0x128]
mov dword [esp + 8], ebx
mov dword [esp + 4], esi
mov dword [esp], eax
call sym._memcpy
mov ebx, dword [ebp - 0x160]
mov esi, dword [ebp - 0x130]
jmp 0x445912
lea edx, [ebp - 0x160]
mov dword [esp + 4], 0
lea ecx, [ebp - 0x130]
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 - 0x160]
mov dword [ebp - 0x130], eax
sub esp, 8
mov dword [ebp - 0x128], ecx
jmp 0x446547
test ebx, ebx
je 0x4457dc
lea eax, [ebp - 0x128]
mov dword [esp + 8], ebx
mov dword [esp + 4], esi
mov dword [esp], eax
call sym._memcpy
mov ebx, dword [ebp - 0x160]
mov esi, dword [ebp - 0x130]
jmp 0x4457e2
lea edx, [ebp - 0x160]
mov dword [esp + 4], 0
lea ecx, [ebp - 0x130]
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 - 0x160]
mov dword [ebp - 0x130], eax
sub esp, 8
mov dword [ebp - 0x128], ecx
jmp 0x4465a9
cmp byte [eax + 1], 0x47
jne 0x444881
cmp byte [eax + 2], 0x42
jne 0x444881
cmp byte [eax + 3], 0x38
jne 0x444881
cmp byte [eax + 4], 0x4d
jne 0x444881
jmp 0x444c18
cmp byte [eax + 1], 0x4c
jne 0x444881
cmp byte [eax + 2], 0x41
jne 0x444881
cmp byte [eax + 3], 0x53
jne 0x444881
cmp byte [eax + 4], 0x48
je 0x446a16
cmp byte [eax + 4], 0x48
jne 0x444881
cmp byte [eax + 5], 0x31
jne 0x444881
cmp byte [eax + 6], 0x4d
jne 0x444881
jmp 0x444ce6
lea eax, [ebp - 0x140]
jmp 0x445ec6
lea eax, [ebp - 0x128]
jmp 0x445dbe
test esi, esi
je 0x446268
jmp 0x446235
lea eax, [ebp - 0x128]
jmp 0x446068
movzx edx, byte [eax]
mov byte [ebp - 0x128], dl
jmp 0x4460cd
lea ecx, [ebp - 0x178]
mov dword [esp + 4], 0
mov dword [esp], ecx
lea ecx, [ebp - 0x130]
call sym.std::__cxx11::basic_string_char__std::char_traits_char___std::allocator_char___::_M_create_unsigned_int__unsigned_int_
mov edx, dword [ebp - 0x178]
mov dword [ebp - 0x130], eax
sub esp, 8
mov dword [ebp - 0x128], edx
mov dword [esp + 8], ebx
mov ebx, dword [ebp - 0x1cc]
mov dword [esp], eax
mov dword [esp + 4], ebx
call sym._memcpy
mov ebx, dword [ebp - 0x178]
mov eax, dword [ebp - 0x130]
jmp 0x4460d3
cmp byte [esi + 5], 0x5f
je 0x446a3f
cmp byte [esi + 5], 0x35
jne 0x444c78
cmp byte [esi + 6], 0x31
jne 0x444c78
cmp byte [esi + 7], 0x32
jne 0x444c78
mov edx, str.MMU::FLASH_RAM__64KB__save_type_detected_n
mov eax, sym.imp.libstdc_6.dll_std::cout
call fcn.00439ad0
mov ecx, dword [ebp - 0x148]
mov esi, dword [ebp - 0x144]
lea ebx, [ebp - 0x128]
mov dword [edi], 2
mov dword [ebp - 0x130], ebx
add esi, ecx
mov dword [esp], ecx
lea ecx, [ebp - 0x130]
mov dword [esp + 4], esi
call fcn.00439b20
push esi
lea eax, [ebp - 0x130]
mov ecx, edi
push esi
mov dword [esp], eax
call method.AGB_MMU.load_backup_std::__cxx11::basic_string_char__std::char_traits_char___std::allocator_char____
jmp 0x444d39
cmp byte [eax + 5], 0x5f
je 0x446a3f
cmp byte [eax + 5], 0x35
jne 0x444cc8
cmp byte [eax + 6], 0x31
jne 0x444cc8
cmp byte [eax + 7], 0x32
jne 0x444cc8
jmp 0x446741
mov ebx, dword [ebp - 0x118]
lea ecx, [ebp - 0x118]
add ecx, dword [ebx - 0xc]
mov edi, dword [ecx + 0x14]
or edi, 4
mov dword [esp], edi
call sym.std::basic_ios_char__std::char_traits_char___::clear_std::_Ios_Iostate_
sub esp, 4
jmp 0x445f93
movzx edx, byte [esi]
mov byte [ebp - 0x128], dl
jmp 0x4456cc
mov dword [esp + 4], edx
mov dword [esp + 8], eax
mov dword [ebp - 0x1d8], edx
mov dword [esp], ecx
mov dword [ebp - 0x1cc], ecx
call sym._memmove
mov eax, dword [edi + 0x778]
mov edx, dword [ebp - 0x1d8]
mov ecx, dword [ebp - 0x1cc]
sub eax, edx
mov dword [ebp - 0x1cc], ecx
mov dword [esp + 4], eax
mov dword [esp], edx
call sym.operator_delete_void__unsigned_int_
mov ecx, dword [ebp - 0x1cc]
jmp 0x446399
lea eax, [ebp - 0x140]
jmp 0x4461c6
lea ecx, [ebp - 0x178]
mov dword [esp + 4], 0
mov dword [esp], ecx
lea ecx, [ebp - 0x130]
call sym.std::__cxx11::basic_string_char__std::char_traits_char___std::allocator_char___::_M_create_unsigned_int__unsigned_int_
mov edx, dword [ebp - 0x178]
mov dword [ebp - 0x130], eax
sub esp, 8
mov dword [ebp - 0x128], edx
mov dword [esp + 8], ebx
mov dword [esp + 4], esi
mov dword [esp], eax
call sym._memcpy
mov ebx, dword [ebp - 0x178]
mov eax, dword [ebp - 0x130]
jmp 0x4456d2
lea eax, [ebp - 0x128]
jmp 0x4463f4
lea eax, [ebp - 0x128]
jmp 0x446454
lea eax, [ebp - 0x128]
jmp 0x446311
cmp byte [eax + 2], 0x50
jne 0x444881
cmp byte [eax + 3], 0x52
jne 0x444881
cmp byte [eax + 4], 0x4f
jne 0x444881
cmp byte [eax + 5], 0x4d
jne 0x444881
jmp 0x445140
mov eax, dword [edi + 0x778]
sub eax, edx
jmp 0x446833
test ebx, ebx
je 0x444aaa
lea eax, [ebp - 0x128]
mov dword [esp + 8], ebx
mov dword [esp + 4], esi
mov dword [esp], eax
call sym._memcpy
jmp 0x444aaa
lea ecx, [ebp - 0x160]
xor edx, edx
mov dword [esp], ecx
lea ecx, [ebp - 0x130]
mov dword [esp + 4], edx
call sym.std::__cxx11::basic_string_char__std::char_traits_char___std::allocator_char___::_M_create_unsigned_int__unsigned_int_
push edx
push edx
mov edx, dword [ebp - 0x160]
mov dword [ebp - 0x130], eax
mov dword [ebp - 0x128], edx
jmp 0x446916
lea eax, [ebp - 0x128]
jmp 0x44688c
test esi, esi
js 0x446ba2
mov dword [esp], esi
call sym.operator_new_unsigned_int_
xor ecx, ecx
mov dword [ebp - 0x1cc], eax
mov dword [esp + 8], esi
mov dword [esp + 4], ecx
mov dword [esp], eax
call sym._memset
mov edx, dword [edi + 0x124]
mov eax, ebx
mov dword [ebp - 0x1d8], edx
sub eax, edx
jne 0x446b4c
mov ecx, dword [ebp - 0x1cc]
mov edx, dword [edi + 0x128]
lea ecx, [ecx + esi]
sub edx, ebx
jne 0x446b1f
add edx, ecx
cmp dword [ebp - 0x1d8], 0
jne 0x446ae2
mov ebx, dword [ebp - 0x1cc]
mov dword [edi + 0x128], edx
mov dword [edi + 0x12c], ecx
mov dword [edi + 0x124], ebx
jmp 0x446268
lea eax, [ebp - 0x128]
jmp 0x4466f2
mov dword [esp], 0x601e95
call sym.std::__throw_length_error_char_const_
mov dword [esp], 0x601e95
call sym.std::__throw_length_error_char_const_
mov dword [esp], 0x601e95
call sym.std::__throw_length_error_char_const_
cmp byte [eax + 5], 0x5f
je 0x446a3f
cmp byte [eax + 5], 0x35
jne 0x446658
cmp byte [eax + 6], 0x31
jne 0x446658
cmp byte [eax + 7], 0x32
jne 0x446658
jmp 0x446741
mov edx, str.MMU::FLASH_RAM__64KB__save_type_detected_n
mov eax, sym.imp.libstdc_6.dll_std::cout
call fcn.00439ad0
mov esi, dword [ebp - 0x148]
mov eax, dword [ebp - 0x144]
lea ebx, [ebp - 0x128]
mov dword [edi], 2
mov dword [ebp - 0x130], ebx
lea ecx, [ebp - 0x130]
add eax, esi
mov dword [esp], esi
mov dword [esp + 4], eax
call fcn.00439b20
push eax
lea edx, [ebp - 0x130]
mov ecx, edi
push eax
mov dword [esp], edx
call method.AGB_MMU.load_backup_std::__cxx11::basic_string_char__std::char_traits_char___std::allocator_char____
jmp 0x444d39
mov dword [esp], 0x60190b
call sym.std::__throw_length_error_char_const_
mov dword [esp], 0x601e95
call sym.std::__throw_length_error_char_const_
mov dword [esp + 8], ecx
mov dword [ebp - 0x1e0], ecx
mov dword [esp + 4], ebx
mov dword [esp], edx
mov dword [ebp - 0x1dc], edx
call sym._memmove
mov edx, dword [ebp - 0x1dc]
mov eax, dword [ebp - 0x1e0]
mov ebx, dword [ebp - 0x1cc]
add edx, eax
lea ecx, [ebx + esi]
mov eax, dword [edi + 0x12c]
mov ebx, dword [ebp - 0x1d8]
sub eax, ebx
mov dword [ebp - 0x1e0], ecx
mov dword [ebp - 0x1dc], edx
mov dword [esp + 4], eax
mov edx, dword [ebp - 0x1d8]
mov dword [esp], edx
call sym.operator_delete_void__unsigned_int_
mov ecx, dword [ebp - 0x1e0]
mov edx, dword [ebp - 0x1dc]
jmp 0x4469ca
mov dword [esp + 8], edx
mov dword [ebp - 0x1e0], edx
mov dword [esp], ecx
mov dword [esp + 4], ebx
mov dword [ebp - 0x1dc], ecx
call sym._memmove
mov edx, dword [ebp - 0x1e0]
mov ecx, dword [ebp - 0x1dc]
jmp 0x4469bb
mov dword [esp + 8], eax
mov dword [ebp - 0x1dc], eax
mov dword [esp + 4], edx
mov edx, dword [ebp - 0x1cc]
mov dword [esp], edx
call sym._memmove
mov ecx, dword [ebp - 0x1dc]
mov eax, dword [ebp - 0x1cc]
add ecx, esi
lea edx, [eax + ecx]
mov ecx, dword [edi + 0x128]
sub ecx, ebx
jne 0x446aaf
mov eax, dword [edi + 0x12c]
mov ebx, dword [ebp - 0x1d8]
mov ecx, dword [ebp - 0x1cc]
sub eax, ebx
add ecx, esi
jmp 0x446af0
mov dword [esp], 0x6018f4
call sym.std::__throw_length_error_char_const_
mov ebx, eax
jmp 0x5d65ea
lea ecx, [ebp - 0x118]
call sym.std::basic_ifstream_char__std::char_traits_char___::basic_ifstream__
mov dword [esp], ebx
call sym.__Unwind_Resume
mov esi, dword [ebp - 0x130]
lea ecx, [ebp - 0x128]
cmp esi, ecx
je 0x5d659b
mov eax, dword [ebp - 0x128]
mov dword [esp], esi
add eax, 1
mov dword [esp + 4], eax
call sym.operator_delete_void__unsigned_int_
mov edx, dword [ebp - 0x148]
lea edi, [ebp - 0x140]
cmp edx, edi
je 0x5d65c0
mov esi, dword [ebp - 0x140]
mov dword [esp], edx
add esi, 1
mov dword [esp + 4], esi
call sym.operator_delete_void__unsigned_int_
mov edx, dword [ebp - 0x160]
lea eax, [ebp - 0x158]
cmp edx, eax
je 0x5d6563
mov edi, dword [ebp - 0x158]
mov dword [esp], edx
add edi, 1
mov dword [esp + 4], edi
call sym.operator_delete_void__unsigned_int_
jmp 0x5d6563
mov esi, dword [ebp - 0x160]
lea ecx, [ebp - 0x158]
cmp esi, ecx
je 0x5d6563
mov edx, dword [ebp - 0x158]
mov dword [esp], esi
add edx, 1
mov dword [esp + 4], edx
call sym.operator_delete_void__unsigned_int_
jmp 0x5d6563