Function at 0x41c8b0
Capabilities:
Create thread

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
sub esp, 8
cmp dword [0x4b0ee8], 0
push ebx
push ebp
push esi
push edi
mov edi, ecx
je 0x41c90f
mov ecx, 0x4b1550
mov dword [0x4b1658], 1
sub ecx, edi
nop dword [eax]
mov al, byte [edi]
lea edi, [edi + 1]
mov byte [ecx + edi - 1], al
test al, al
jne 0x41c8e0
push 0x24b19fc
push 0
push 0
push 0x41cc80
push 0
push 0
call dword [sym.imp.KERNEL32.dll_CreateThread]
xor eax, eax
pop edi
pop esi
pop ebp
pop ebx
mov esp, ebp
pop ebp
ret
push 0xfffffffffffffff0
push dword [0x4b09c4]
call dword [sym.imp.USER32.dll_GetWindowLongA]
and eax, 0xfffbffff
push eax
push 0xfffffffffffffff0
push dword [0x4b09c4]
call dword [sym.imp.USER32.dll_SetWindowLongA]
push 0x23
push 0
push 0
push 0
push 0
push 0xfffffffffffffffe
push dword [0x4b09c4]
call dword [sym.imp.USER32.dll_SetWindowPos]
mov esi, dword [0x24b1808]
mov edx, 0x4b0bc8
mov ecx, esi
call fcn.0041adf0
test eax, eax
jne 0x41c97e
push eax
push str.Info
push str.Choose_graphics_plugin_in_Configuration_Dialog.
push eax
call dword [sym.imp.USER32.dll_MessageBoxA]
mov eax, 1
pop edi
pop esi
pop ebp
pop ebx
mov esp, ebp
pop ebp
ret
mov edx, 0x4b0cc8
mov ecx, esi
call fcn.0041adf0
test eax, eax
jne 0x41c9ad
push eax
push str.Info
push str.Choose_input_plugin_in_Configuration_Dialog.
push eax
call dword [sym.imp.USER32.dll_MessageBoxA]
mov eax, 1
pop edi
pop esi
pop ebp
pop ebx
mov esp, ebp
pop ebp
ret
mov edx, 0x4b09c8
mov ecx, esi
call fcn.0041adf0
test eax, eax
jne 0x41c9dc
push eax
push str.Info
push str.Choose_audio_plugin_in_Configuration_Dialog.
push eax
call dword [sym.imp.USER32.dll_MessageBoxA]
mov eax, 1
pop edi
pop esi
pop ebp
pop ebx
mov esp, ebp
pop ebp
ret
mov edx, 0x4b0ac8
mov ecx, esi
call fcn.0041adf0
test eax, eax
jne 0x41ca0b
push eax
push str.Info
push str.Choose_RSP_plugin_in_Configuration_Dialog.
push eax
call dword [sym.imp.USER32.dll_MessageBoxA]
mov eax, 1
pop edi
pop esi
pop ebp
pop ebx
mov esp, ebp
pop ebp
ret
mov ecx, 1
call fcn.0041ed00
push str.Loading_ROM...
call fcn.00428fc0
add esp, 4
push edi
push 2
push 0x401
push dword [0x4b09c0]
call dword [sym.imp.USER32.dll_SendMessageA]
mov ecx, edi
call fcn.0040e720
test eax, eax
je 0x41ca76
mov ecx, 0x4af264
mov dword [0x4b0ee8], 0
call fcn.004285b0
xor ecx, ecx
call fcn.0041ed00
push str.Failed_to_open_rom
call fcn.00428fc0
add esp, 4
mov eax, 1
pop edi
pop esi
pop ebp
pop ebx
mov esp, ebp
pop ebp
ret
push edi
push 0x4b1550
call fcn.0040e260
add esp, 8
mov ecx, 0x4af264
call fcn.004285b0
cmp dword [0x4b01b8], 0
mov eax, dword [0x4b09c4]
mov dword [esp + 0x14], eax
jne 0x41cb6d
xor ebp, ebp
mov ebx, 0x4af790
nop dword [eax + eax]
mov ecx, edi
mov eax, ebx
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x41cad4
test dl, dl
je 0x41cad0
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x41cad4
add eax, 2
add ecx, 2
test dl, dl
jne 0x41cab4
xor eax, eax
jmp 0x41cad9
sbb eax, eax
or eax, 1
test eax, eax
jne 0x41cb04
cmp ebp, 9
jge 0x41cafd
mov eax, ebx
lea esi, [eax + 0x104]
push esi
push eax
call fcn.0040e260
mov eax, esi
add esp, 8
cmp eax, 0x4b00b4
jl 0x41cae4
mov byte [0x4b00b4], 0
add ebx, 0x104
inc ebp
cmp ebx, 0x4b00b4
jl 0x41cab0
mov eax, 0x4b00b4
lea esi, [eax - 0x104]
push esi
push eax
call fcn.0040e260
mov eax, esi
add esp, 8
cmp eax, 0x4af790
jg 0x41cb18
push edi
push 0x4af790
call fcn.0040e260
mov ebp, dword [esp + 0x1c]
add esp, 8
push ebp
call dword [sym.imp.USER32.dll_GetMenu]
mov ebx, dword [sym.imp.USER32.dll_DeleteMenu]
mov edi, eax
xor esi, esi
push 0
lea edx, [esi + 0x1772]
push edx
push edi
call ebx
inc esi
cmp esi, 0xa
jl 0x41cb54
mov ecx, ebp
call fcn.00428680
call fcn.00428970
mov ecx, 1
call fcn.0041f040
xor edx, edx
xor ecx, ecx
call fcn.00428050
push 0x4b0bc8
push 0x27927c0
call fcn.0040e260
push 0x4b0cc8
push 0x2792890
call fcn.0040e260
push 0x4b09c8
push 0x2792828
call fcn.0040e260
push 0x4b0ac8
push 0x2792758
call fcn.0040e260
push 0x49b421
call fcn.00419590
add esp, 0x24
push 0x4af160
push str.Starting_ROM:__s
call fcn.00419620
mov ecx, 2
call fcn.0041ed00
push str.Creating_emulation_thread...
call fcn.00419590
add esp, 0xc
push 0x24b19fc
push 0
push 0
push 0x41f380
push 0
push 0
call dword [sym.imp.KERNEL32.dll_CreateThread]
mov dword [0x4b0dd4], eax
mov eax, dword [0x4af15c]
add eax, 0x20
push eax
push 0x4a1000
push str._s____s
push 0x4b0ef0
call fcn.0040e260
add esp, 0x10
push 1
push 0x428
push 0x402
push dword [0x4b1654]
call dword [sym.imp.USER32.dll_SendMessageA]
push 0x4b0ef0
push dword [0x4b09c4]
call dword [sym.imp.USER32.dll_SetWindowTextA]
push str.Emulation_started
call fcn.00428fc0
add esp, 4
xor eax, eax
pop edi
pop esi
pop ebp
pop ebx
mov esp, ebp
pop ebp
ret