Function at 0x42e5f0
Capabilities:
Resolve function by parsing pe exports

Disassembly:
push ebp
push edi
push esi
push ebx
mov ebx, ecx
sub esp, 0x8c
mov eax, dword [esp + 0xa0]
mov ebp, dword [esp + 0xa4]
mov eax, dword [eax]
cmp eax, 1
mov dword [esp + 0x3c], eax
jle 0x42e684
mov edx, eax
mov dword [esp + 0x38], ecx
mov eax, 1
jmp 0x42e629
add eax, 1
cmp eax, edx
je 0x42e680
mov esi, dword [ebp + eax*4]
mov ecx, 8
mov edi, str._vDebug
repe cmpsb byte [esi], byte es:[edi]
jne 0x42e622
lea ecx, [eax + 1]
and byte [0x4ad8c9], 0xc0
mov byte [0x4ad8c8], 0
mov ebx, dword [esp + 0x38]
mov esi, dword [ebp + ecx*4]
movzx edx, byte [esi]
test dl, dl
je 0x42e95e
nop
sub edx, 0x31
cmp dl, 0x46
ja case.0x42e66f.3
movzx edx, dl
jmp dword [edx*4 + 0x4835d8]
mov ebx, dword [esp + 0x38]
mov ecx, dword [esp + 0xac]
mov eax, dword [esp + 0xa8]
test ecx, ecx
mov dword [ebx + 8], eax
je 0x42eaad
mov esi, dword [sym.imp.USER32.dll_CreateMenu]
call esi
mov dword [ebx + 0x54], eax
call esi
mov esi, dword [sym.imp.USER32.dll_AppendMenuA]
mov dword [ebx + 0x58], eax
mov dword [esp + 0xc], str.New
mov dword [esp + 8], 0x7daa
mov dword [esp + 4], 0
mov dword [esp], eax
call esi
sub esp, 0x10
mov dword [esp + 0xc], str.Open
mov dword [esp + 8], 0x7dab
mov dword [esp + 4], 0
mov eax, dword [ebx + 0x58]
mov dword [esp], eax
call esi
sub esp, 0x10
mov dword [esp + 0xc], 0
mov dword [esp + 8], 0
mov dword [esp + 4], 0x800
mov eax, dword [ebx + 0x58]
mov dword [esp], eax
call esi
sub esp, 0x10
mov dword [esp + 0xc], str.Exit
mov dword [esp + 8], 0x7dac
mov dword [esp + 4], 0
mov eax, dword [ebx + 0x58]
mov dword [esp], eax
call esi
sub esp, 0x10
mov dword [esp + 0xc], str.File
mov eax, dword [ebx + 0x58]
mov dword [esp + 4], 0x10
mov dword [esp + 8], eax
mov eax, dword [ebx + 0x54]
mov dword [esp], eax
call esi
mov edx, dword [ebx + 0x3c]
mov eax, dword [ebx + 0x38]
sub esp, 0x10
mov esi, dword [ebx + 0x54]
mov ecx, 0x80000000
mov edi, dword [esp + 0xa8]
mov dword [ebx + 0x64], 0
mov dword [ebx + 0x50], 0
test edx, edx
mov dword [esp + 0x2c], 0
mov dword [esp + 0x20], 0
cmove edx, ecx
test eax, eax
mov dword [esp + 0x28], edi
cmove eax, ecx
mov dword [esp + 0x1c], edx
mov dword [esp + 0x24], esi
mov dword [esp + 0x18], eax
mov dword [esp + 0x14], 0x80000000
mov dword [esp + 0x10], 0x80000000
mov dword [esp + 0xc], 0x13cf0000
mov eax, dword [ebx + 4]
mov dword [esp + 4], str.MdiFrameClass
mov dword [esp], 0
mov dword [esp + 8], eax
call dword [sym.imp.USER32.dll_CreateWindowExA]
sub esp, 0x30
mov dword [ebx + 0x5c], eax
lea edx, [esp + 0x48]
mov dword [esp], eax
mov dword [esp + 4], edx
call dword [sym.imp.USER32.dll_GetWindowRect]
mov edx, dword [ebx + 0x30]
sub esp, 8
test edx, edx
jle 0x42ea80
mov eax, dword [ebx + 0x34]
test eax, eax
jle 0x42ea60
mov dword [esp + 4], 5
mov eax, dword [ebx + 0x5c]
mov dword [esp], eax
call dword [sym.imp.USER32.dll_GetWindow]
sub esp, 8
mov dword [ebx + 0x60], eax
mov edi, dword [sym.imp.GDI32.dll_CreatePen]
mov dword [esp + 8], 0xffffff
mov dword [esp + 4], 1
mov dword [esp], 0
call edi
sub esp, 0xc
mov dword [ebx + 0x10], eax
mov dword [esp + 8], 0x808080
mov dword [esp + 4], 1
mov dword [esp], 0
call edi
sub esp, 0xc
mov esi, dword [sym.imp.USER32.dll_GetSysColor]
mov dword [ebx + 0x14], eax
mov dword [esp], 0x10
call esi
sub esp, 4
mov dword [esp + 8], eax
mov dword [esp + 4], 1
mov dword [esp], 6
call edi
sub esp, 0xc
mov dword [ebx + 0x1c], eax
mov dword [esp], 0x14
call esi
sub esp, 4
mov ebp, eax
mov dword [esp], 0xf
call esi
sub esp, 4
cmp ebp, eax
je 0x42eaa0
mov dword [esp], 0x14
call esi
sub esp, 4
mov dword [esp + 8], eax
mov dword [esp + 4], 1
mov dword [esp], 6
call edi
sub esp, 0xc
mov dword [ebx + 0x18], eax
mov dword [esp], 0xf
call esi
sub esp, 4
mov dword [esp], eax
call dword [sym.imp.GDI32.dll_CreateSolidBrush]
sub esp, 4
mov dword [ebx + 0x20], eax
mov eax, dword [esp + 0xb0]
mov dword [esp + 4], eax
mov eax, dword [ebx + 0x5c]
mov dword [esp], eax
call dword [sym.imp.USER32.dll_ShowWindow]
mov eax, dword [ebx + 0x5c]
sub esp, 8
mov dword [esp], eax
call dword [sym.imp.USER32.dll_UpdateWindow]
sub esp, 4
mov dword [ebx + 0x2c], 1
add esp, 0x8c
pop ebx
pop esi
pop edi
pop ebp
ret 0x14
or byte [0x4ad8c8], 8
mov esi, esi
lea edi, [edi]
add esi, 1
movzx edx, byte [esi]
test dl, dl
jne 0x42e660
mov esi, dword [esp + 0x3c]
jmp 0x42e967
add ecx, 1
mov edx, dword [ebp + eax*4 + 8]
cmp ecx, esi
mov dword [ebp + eax*4], edx
mov eax, ecx
jl 0x42e964
mov edi, dword [esp + 0xa0]
mov eax, esi
mov dword [ebp + ecx*4], 0
sub eax, 2
mov dword [edi], eax
jmp 0x42e684
or byte [0x4ad8c9], 8
jmp case.0x42e66f.3
or byte [0x4ad8c8], 0x20
jmp case.0x42e66f.3
or byte [0x4ad8c8], 0x80
jmp case.0x42e66f.3
or byte [0x4ad8c8], 0x40
jmp case.0x42e66f.3
or byte [0x4ad8c8], 4
jmp case.0x42e66f.3
or byte [0x4ad8c8], 2
jmp case.0x42e66f.3
or byte [0x4ad8c8], 0x10
jmp case.0x42e66f.3
or byte [0x4ad8c9], 4
jmp case.0x42e66f.3
or byte [0x4ad8c8], 1
jmp case.0x42e66f.3
or byte [0x4ad8c9], 2
jmp case.0x42e66f.3
or byte [0x4ad8c9], 1
jmp case.0x42e66f.3
or byte [0x4ad8c9], 0x20
jmp case.0x42e66f.3
or byte [0x4ad8c9], 0x10
jmp case.0x42e66f.3
mov eax, dword [esp + 0x50]
sub eax, dword [esp + 0x48]
mov edx, 0x32
sub eax, 0x32
cmp eax, 0x32
cmovl eax, edx
mov dword [ebx + 0x34], eax
jmp 0x42e80f
mov eax, dword [esp + 0x54]
sub eax, dword [esp + 0x4c]
mov edx, 0x32
sub eax, 0xc8
cmp eax, 0x32
cmovl eax, edx
mov dword [ebx + 0x30], eax
jmp 0x42e804
mov dword [esp + 8], 0xffffff
jmp 0x42e8cc
mov dword [esp + 4], str.vAppIcon
mov dword [esp], eax
mov esi, dword [sym.imp.USER32.dll_LoadIconA]
call esi
sub esp, 8
test eax, eax
mov dword [ebx + 0x6c], eax
je 0x42ebd3
mov eax, dword [esp + 0xa8]
mov dword [esp + 4], str.vWindowIcon
mov dword [esp], eax
call esi
sub esp, 8
test eax, eax
mov dword [ebx + 0x70], eax
je 0x42ebef
mov eax, dword [esp + 0xa8]
mov dword [esp + 0x58], 3
mov dword [esp + 0x5c], 0x42ff40
mov dword [esp + 0x60], 0
mov dword [esp + 0x64], 0
mov dword [esp + 0x68], eax
mov eax, dword [ebx + 0x6c]
mov dword [esp + 4], 0x7f00
mov dword [esp], 0
mov dword [esp + 0x6c], eax
call dword [sym.imp.USER32.dll_LoadCursorA]
sub esp, 8
mov esi, dword [sym.imp.USER32.dll_RegisterClassA]
lea edi, [esp + 0x58]
mov dword [esp + 0x70], eax
mov dword [esp + 0x74], 0xd
mov dword [esp + 0x78], 0
mov dword [esp + 0x7c], str.MdiFrameClass
mov dword [esp], edi
call esi
sub esp, 4
mov eax, dword [esp + 0xa8]
mov dword [esp + 0x58], 3
mov dword [esp + 0x5c], 0x42e2f0
mov dword [esp + 0x60], 0
mov dword [esp + 0x64], 4
mov dword [esp + 0x70], 0
mov dword [esp + 0x68], eax
mov eax, dword [ebx + 0x70]
mov dword [esp], 0
mov dword [esp + 0x6c], eax
call dword [sym.imp.GDI32.dll_GetStockObject]
sub esp, 4
mov dword [esp + 0x74], eax
mov dword [esp + 0x78], 0
mov dword [esp + 0x7c], 0x478500
mov dword [esp], edi
call esi
sub esp, 4
jmp 0x42e69d
mov dword [esp + 4], 0x7f00
mov dword [esp], 0
call esi
sub esp, 8
mov dword [ebx + 0x6c], eax
jmp 0x42eace
mov dword [esp + 4], 0x7f00
mov dword [esp], 0
call esi
sub esp, 8
mov dword [ebx + 0x70], eax
jmp 0x42eaf0