Function at 0x4090a0
Capabilities:
Hide graphical window
Inspect load icon resource
Resolve function by parsing pe exports

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
sub esp, 0x84
mov eax, dword [0x429004]
xor eax, esp
mov dword [esp + 0x80], eax
mov eax, dword [ebp + 8]
xorps xmm0, xmm0
push ebx
push esi
push edi
movlpd qword [esp + 0x50], xmm0
mov dword [esp + 0x68], 0
mov dword [0x42ee98], eax
call dword [sym.imp.COMCTL32.dll_InitCommonControls]
mov esi, dword [0x42ee98]
xorps xmm0, xmm0
mov edi, dword [sym.imp.USER32.dll_LoadCursorW]
push 0x7f00
push 0
mov dword [esp + 0x30], 0
mov dword [esp + 0x3c], 0
movlpd qword [esp + 0x44], xmm0
mov dword [esp + 0x38], esi
mov dword [esp + 0x2c], 0x4082f0
mov dword [esp + 0x34], 4
call edi
mov ebx, dword [sym.imp.USER32.dll_RegisterClassW]
mov dword [esp + 0x38], eax
lea eax, [esp + 0x20]
push eax
mov dword [esp + 0x48], str.CustomControl
mov dword [esp + 0x24], 1
call ebx
push 0x65
push esi
call dword [sym.imp.USER32.dll_LoadBitmapW]
push 0x42eea0
mov dword [0x42f3c4], eax
call dword [sym.imp.KERNEL32.dll_InitializeCriticalSection]
push 0x200000
call fcn.0040f92d
add esp, 4
mov dword [0x42f398], eax
mov eax, dword [0x42ee98]
mov dword [esp + 0x48], 3
mov dword [esp + 0x4c], 0x408f10
push 0x7f00
push 0
mov dword [esp + 0x60], eax
call edi
push 0x69
push 0
mov dword [esp + 0x68], eax
mov dword [esp + 0x6c], 0x10
mov dword [esp + 0x74], str.apf_main_win
call dword [sym.imp.USER32.dll_LoadIconW]
mov dword [esp + 0x5c], eax
lea eax, [esp + 0x48]
push eax
call ebx
lea eax, [esp + 0x10]
push eax
call dword [sym.imp.USER32.dll_GetDesktopWindow]
push eax
call dword [sym.imp.USER32.dll_GetClientRect]
mov eax, dword [esp + 0x18]
cdq
sub eax, edx
mov esi, eax
mov eax, dword [esp + 0x1c]
push 0
push dword [0x42ee98]
cdq
sub eax, edx
sar esi, 1
push 0
sar eax, 1
sub esi, 0x1ea
push 0
push 0x208
push 0x3d4
lea ecx, [eax - 0xc3]
mov dword [esp + 0x28], esi
add eax, 0xfffffe75
mov dword [esp + 0x2c], ecx
push eax
push esi
push 0xcf0000
push str.APF_01_Rewritable_Ram_Card_for_the_Atari_Portfolio_v1.0
push str.apf_main_win
push 0
call dword [sym.imp.USER32.dll_CreateWindowExW]
push 0
push 1
push 0x681
push eax
mov dword [0x42ee9c], eax
call dword [sym.imp.USER32.dll_SetTimer]
push 0
push dword [0x42ee9c]
call dword [sym.imp.USER32.dll_GetSystemMenu]
mov edi, eax
test edi, edi
je 0x4092c4
mov esi, dword [sym.imp.USER32.dll_InsertMenuW]
push str.Show_help...
push 0x8005
push 0x400
push 0
push edi
call esi
push str.Show_manual...
push 0x8006
push 0x400
push 1
push edi
call esi
push 0x427374
push 0
push 0xc00
push 2
push edi
call esi
push str.About_apfRAM_Utility
push 0x8003
push 0x400
push 0
push edi
call esi
push str.Go_to_aprRAM.com
push 0x8004
push 0x400
push 1
push edi
call esi
push 0x427374
push 0
push 0xc00
push 2
push edi
call esi
push dword [ebp + 0x14]
push dword [0x42ee9c]
call dword [sym.imp.USER32.dll_ShowWindow]
push 0xfffffffffffffff0
push dword [0x42ee9c]
call dword [sym.imp.USER32.dll_GetWindowLongW]
and eax, 0xfffaffff
push eax
push 0xfffffffffffffff0
push dword [0x42ee9c]
call dword [sym.imp.USER32.dll_SetWindowLongW]
push 0x69
push dword [0x42ee98]
call dword [sym.imp.USER32.dll_LoadIconW]
mov edi, dword [sym.imp.USER32.dll_SendMessageW]
mov esi, eax
push esi
push 0
push 0x80
push dword [0x42ee9c]
call edi
push esi
push 1
push 0x80
push dword [0x42ee9c]
call edi
mov esi, dword [sym.imp.USER32.dll_GetMessageW]
lea eax, [esp + 0x70]
push 0
push 0
push 0
push eax
mov dword [0x42f3cc], 0
mov dword [0x42f3a0], 0
mov dword [0x42f394], 0
call esi
test eax, eax
je 0x4093b6
mov ebx, dword [sym.imp.USER32.dll_TranslateMessage]
nop word [eax + eax]
mov eax, dword [esp + 0x74]
cmp eax, 0x102
je 0x409382
cmp eax, 0x100
jne 0x409393
push dword [esp + 0x7c]
push dword [esp + 0x7c]
push eax
push dword [0x42eecc]
call edi
lea eax, [esp + 0x70]
push eax
call ebx
lea eax, [esp + 0x70]
push eax
call dword [sym.imp.USER32.dll_DispatchMessageW]
push 0
push 0
push 0
lea eax, [esp + 0x7c]
push eax
call esi
test eax, eax
jne 0x409370
push 0
push str.CustomControl
call dword [sym.imp.USER32.dll_UnregisterClassW]
push 0x42eea0
call dword [sym.imp.KERNEL32.dll_DeleteCriticalSection]
push dword [0x42f398]
call fcn.0040f5f1
mov ecx, dword [esp + 0x90]
add esp, 4
mov eax, dword [esp + 0x78]
pop edi
pop esi
pop ebx
xor ecx, esp
call fcn.00409c39
mov esp, ebp
pop ebp
ret 0x10