Function at 0x4cc280
Capabilities:
Enumerate pe sections

Disassembly:
push ebp
mov edx, ecx
push edi
push esi
push ebx
sub esp, 0x2c
mov ecx, dword [ecx + 0x18]
mov eax, dword [edx + 0x1c]
sub eax, ecx
mov dword [esp + 0x14], ecx
cmp eax, 0x2f4
jbe 0x4cc70f
mov ebx, dword [ecx + 0x3c]
movzx edi, byte [edx + 0x93]
movzx esi, byte [ebx + 3]
mov eax, edi
cmp al, byte [ebx]
je 0x4cc3fc
movzx eax, byte [ebx + 0x200]
mov ecx, edi
movzx esi, byte [ebx + 0x203]
cmp cl, al
je 0x4cc733
cmp al, 7
je 0x4cc2de
mov eax, esi
cmp al, 0xff
jne 0x4cc755
mov dword [esp + 0x10], 0
movzx eax, byte [ebx + 0x400]
mov ecx, edi
movzx esi, byte [ebx + 0x403]
cmp cl, al
je 0x4cc764
cmp al, 7
je 0x4cc30d
mov ecx, esi
cmp cl, 0xff
jne 0x4cc79a
movzx ebp, byte [ebx + 0x600]
mov eax, edi
movzx esi, byte [ebx + 0x603]
mov ecx, ebp
cmp al, cl
je 0x4cc748
mov eax, esi
cmp al, 0xff
je 0x4cc33c
cmp cl, 7
je 0x4cc33c
movzx esi, al
shl esi, 0x11
add dword [esp + 0x10], esi
movzx ebp, byte [ebx + 0x800]
mov eax, edi
movzx esi, byte [ebx + 0x803]
mov ecx, ebp
cmp al, cl
je 0x4cc771
mov eax, esi
cmp al, 0xff
je 0x4cc365
cmp cl, 7
jne 0x4cc78b
movzx ebp, byte [ebx + 0xa00]
mov eax, edi
movzx esi, byte [ebx + 0xa03]
mov ecx, ebp
cmp al, cl
je 0x4cc7a9
mov eax, esi
cmp al, 0xff
je 0x4cc394
cmp cl, 7
je 0x4cc394
movzx esi, al
shl esi, 0x11
add dword [esp + 0x10], esi
movzx ebp, byte [ebx + 0xc00]
mov eax, edi
movzx esi, byte [ebx + 0xc03]
mov ecx, ebp
cmp al, cl
je 0x4cc77e
mov eax, esi
cmp al, 0xff
je 0x4cc3c3
cmp cl, 7
je 0x4cc3c3
movzx ebp, al
shl ebp, 0x11
add dword [esp + 0x10], ebp
movzx esi, byte [ebx + 0xe03]
mov ecx, edi
cmp byte [ebx + 0xe00], cl
je 0x4cc7b6
mov dword [esp + 8], 0x3d
mov dword [esp + 4], str.MMU::Error___No_index_found_in_GB_Memory_Cartridge_menu_data_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_
add esp, 0x2c
pop ebx
pop esi
pop edi
pop ebp
ret
mov dword [esp + 0x10], 0
mov dword [esp + 0x1c], 0
mov ebx, dword [esp + 0x10]
mov edi, dword [esp + 0x14]
shr ebx, 0xe
lea ebp, [ebx + ebx*2 + 0x12]
mov ebx, dword [edx]
shl ebp, 2
mov eax, dword [edi + ebp]
movzx ecx, byte [eax]
mov byte [ebx], cl
mov edi, dword [edx + 0x18]
mov ebx, dword [edx]
mov eax, dword [edi + ebp]
movzx ecx, byte [eax + 1]
mov byte [ebx + 1], cl
mov edi, dword [edx + 0x18]
mov ebx, dword [edx]
mov eax, dword [edi + ebp]
movzx ecx, byte [eax + 2]
mov byte [ebx + 2], cl
mov edi, dword [edx + 0x18]
mov ebx, dword [edx]
mov eax, dword [edi + ebp]
movzx ecx, byte [eax + 3]
mov eax, 4
mov byte [ebx + 3], cl
mov edi, dword [edx + 0x18]
mov ecx, dword [edi + ebp]
mov edi, dword [edx]
movzx ebx, byte [ecx + eax]
mov byte [edi + eax], bl
mov ecx, dword [edx + 0x18]
mov edi, dword [edx]
mov ebx, dword [ecx + ebp]
movzx ecx, byte [ebx + eax + 1]
mov byte [edi + eax + 1], cl
mov ebx, dword [edx + 0x18]
mov edi, dword [edx]
mov ecx, dword [ebx + ebp]
movzx ebx, byte [ecx + eax + 2]
mov byte [edi + eax + 2], bl
mov ecx, dword [edx + 0x18]
mov edi, dword [edx]
mov ebx, dword [ecx + ebp]
movzx ecx, byte [ebx + eax + 3]
mov byte [edi + eax + 3], cl
mov ebx, dword [edx + 0x18]
mov edi, dword [edx]
mov ecx, dword [ebx + ebp]
movzx ebx, byte [ecx + eax + 4]
mov byte [edi + eax + 4], bl
mov ecx, dword [edx + 0x18]
mov edi, dword [edx]
mov ebx, dword [ecx + ebp]
movzx ecx, byte [ebx + eax + 5]
mov byte [edi + eax + 5], cl
mov ebx, dword [edx + 0x18]
mov ecx, dword [ebx + ebp]
movzx ebx, byte [ecx + eax + 6]
mov edi, dword [edx]
mov byte [edi + eax + 6], bl
mov ecx, dword [edx + 0x18]
mov edi, dword [edx]
mov ebx, dword [ecx + ebp]
movzx ecx, byte [ebx + eax + 7]
mov byte [edi + eax + 7], cl
mov ebx, dword [edx + 0x18]
mov edi, dword [edx]
mov ecx, dword [ebx + ebp]
movzx ebx, byte [ecx + eax + 8]
mov byte [edi + eax + 8], bl
add eax, 9
cmp eax, 0x4000
jne 0x4cc45a
lea ecx, [ebp + 0xc]
xor eax, eax
lea esi, [esi]
mov ebx, dword [edx + 0x18]
mov edi, dword [ebx + ecx]
movzx ebx, byte [edi + eax]
mov edi, dword [edx]
mov byte [edi + eax + 0x4000], bl
mov ebx, dword [edx + 0x18]
mov edi, dword [ebx + ecx]
movzx ebx, byte [edi + eax + 1]
mov edi, dword [edx]
mov byte [edi + eax + 0x4001], bl
mov ebx, dword [edx + 0x18]
mov edi, dword [ebx + ecx]
movzx ebx, byte [edi + eax + 2]
mov edi, dword [edx]
mov byte [edi + eax + 0x4002], bl
mov ebx, dword [edx + 0x18]
mov edi, dword [ebx + ecx]
movzx ebx, byte [edi + eax + 3]
mov edi, dword [edx]
mov byte [edi + eax + 0x4003], bl
mov ebx, dword [edx + 0x18]
mov edi, dword [ebx + ecx]
movzx ebx, byte [edi + eax + 4]
mov edi, dword [edx]
mov byte [edi + eax + 0x4004], bl
mov ebx, dword [edx + 0x18]
mov edi, dword [ebx + ecx]
movzx ebx, byte [edi + eax + 5]
mov edi, dword [edx]
mov byte [edi + eax + 0x4005], bl
mov ebx, dword [edx + 0x18]
mov edi, dword [ebx + ecx]
movzx ebx, byte [edi + eax + 6]
mov edi, dword [edx]
mov byte [edi + eax + 0x4006], bl
mov ebx, dword [edx + 0x18]
mov edi, dword [ebx + ecx]
movzx ebx, byte [edi + eax + 7]
mov edi, dword [edx]
mov byte [edi + eax + 0x4007], bl
add eax, 8
cmp eax, 0x4000
jne 0x4cc508
mov ecx, esi
xor edi, edi
lea ebp, [ebp + 0x18]
movzx esi, cl
xor ecx, ecx
lea eax, [esi*8 - 2]
mov dword [esp + 0x18], eax
lea esi, [esi]
lea ebx, [ebp + ecx]
mov dword [esp + 0x14], edi
xor eax, eax
mov dword [esp + 0x10], ebx
nop
mov esi, dword [edx + 0x18]
mov edi, dword [esp + 0x10]
mov ebx, dword [esi + edi]
mov esi, dword [esi + ecx]
mov edi, dword [esp + 0x10]
movzx ebx, byte [ebx + eax]
mov byte [esi + eax], bl
mov esi, dword [edx + 0x18]
mov ebx, dword [esi + edi]
mov esi, dword [esi + ecx]
mov edi, dword [esp + 0x10]
movzx ebx, byte [ebx + eax + 1]
mov byte [esi + eax + 1], bl
mov esi, dword [edx + 0x18]
mov ebx, dword [esi + edi]
mov esi, dword [esi + ecx]
mov edi, dword [esp + 0x10]
movzx ebx, byte [ebx + eax + 2]
mov byte [esi + eax + 2], bl
mov esi, dword [edx + 0x18]
mov ebx, dword [esi + edi]
mov esi, dword [esi + ecx]
mov edi, dword [esp + 0x10]
movzx ebx, byte [ebx + eax + 3]
mov byte [esi + eax + 3], bl
mov esi, dword [edx + 0x18]
mov ebx, dword [esi + edi]
mov esi, dword [esi + ecx]
mov edi, dword [esp + 0x10]
movzx ebx, byte [ebx + eax + 4]
mov byte [esi + eax + 4], bl
mov esi, dword [edx + 0x18]
mov ebx, dword [esi + edi]
mov esi, dword [esi + ecx]
mov edi, dword [esp + 0x10]
movzx ebx, byte [ebx + eax + 5]
mov byte [esi + eax + 5], bl
mov esi, dword [edx + 0x18]
mov ebx, dword [esi + edi]
mov esi, dword [esi + ecx]
mov edi, dword [esp + 0x10]
movzx ebx, byte [ebx + eax + 6]
mov byte [esi + eax + 6], bl
mov esi, dword [edx + 0x18]
mov ebx, dword [esi + edi]
mov esi, dword [esi + ecx]
movzx ebx, byte [ebx + eax + 7]
mov byte [esi + eax + 7], bl
add eax, 8
cmp eax, 0x4000
jne 0x4cc5e0
mov edi, dword [esp + 0x14]
mov eax, dword [esp + 0x18]
add ecx, 0xc
add edi, 1
cmp edi, eax
jne 0x4cc5d0
mov byte [edx + 0x92], 0x40
mov dword [esp + 8], 0x23
mov dword [esp + 4], str.MMU::Launching_entry_ROM_entry___0x
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 [esp + 0x1c]
mov ecx, sym.imp.libstdc_6.dll_std::cout
add edx, 0x1c000
mov dword [esp], edx
call sym.std::ostream_std::ostream::_M_insert_unsigned_long__unsigned_long_
sub esp, 4
mov dword [esp + 8], 1
mov dword [esp + 4], 0x60895c
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_
add esp, 0x2c
pop ebx
pop esi
pop edi
pop ebp
ret
mov dword [esp + 8], 0x3e
mov dword [esp + 4], str.MMU::Error___GB_Memory_Cartridge_ROM_file_is_less_than_1024KB_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_
add esp, 0x2c
pop ebx
pop esi
pop edi
pop ebp
ret
mov dword [esp + 0x10], 0
mov dword [esp + 0x1c], 0x200
jmp 0x4cc40c
mov dword [esp + 0x1c], 0x600
jmp 0x4cc40c
movzx esi, al
shl esi, 0x11
mov dword [esp + 0x10], esi
jmp 0x4cc2e6
mov dword [esp + 0x1c], 0x400
jmp 0x4cc40c
mov dword [esp + 0x1c], 0x800
jmp 0x4cc40c
mov dword [esp + 0x1c], 0xc00
jmp 0x4cc40c
movzx esi, al
shl esi, 0x11
add dword [esp + 0x10], esi
jmp 0x4cc365
movzx ebp, cl
shl ebp, 0x11
add dword [esp + 0x10], ebp
jmp 0x4cc30d
mov dword [esp + 0x1c], 0xa00
jmp 0x4cc40c
mov dword [esp + 0x1c], 0xe00
jmp 0x4cc40c