Function at 0x401000
Capabilities:
Hide graphical window
Terminate process

Disassembly:
push 0
call dword [sym.imp.KERNEL32.DLL_GetModuleHandleA]
mov dword [0x44a010], eax
push 0x11
push dword [0x44a010]
call dword [sym.imp.USER32.DLL_LoadIconA]
mov dword [0x44a014], eax
push 0x7f00
push 0
call dword [sym.imp.USER32.DLL_LoadCursorA]
mov dword [0x44a018], eax
push section..bss
call dword [sym.imp.USER32.DLL_RegisterClassA]
push 0
call dword [sym.imp.USER32.DLL_GetSystemMetrics]
mov dword [0x44a168], eax
sub eax, 0x280
shr eax, 1
mov dword [0x44a150], eax
push 1
call dword [sym.imp.USER32.DLL_GetSystemMetrics]
mov dword [0x44a16c], eax
sub eax, 0x1e0
shr eax, 1
mov dword [0x44a154], eax
push 0
push dword [0x44a010]
push 0
push 0
push 0
push 0
push 0
push 0
push 0x90000000
push str._AsmGges_Win32Asm_Fasm_DirectX
push str.AsmGges
push 0
call dword [sym.imp.USER32.DLL_CreateWindowExA]
mov dword [0x402078], eax
push 0xa
push dword [0x402078]
call dword [sym.imp.USER32.DLL_ShowWindow]
push dword [0x402078]
call dword [sym.imp.USER32.DLL_UpdateWindow]
push 0
push 0x40209c
push 0
call dword [sym.imp.DDRAW.DLL_DirectDrawCreate]
or eax, eax
jne 0x4012e2
push 0x11
push dword [0x402078]
mov eax, dword [0x40209c]
push eax
mov eax, dword [eax]
call dword [eax + 0x50]
or eax, eax
jne 0x4012e2
push 8
push 0x1e0
push 0x280
mov eax, dword [0x40209c]
push eax
mov eax, dword [eax]
call dword [eax + 0x54]
or eax, eax
jne 0x4012e2
push 0x6c
push 0x44a044
call fcn.00401710
mov dword [0x44a044], 0x6c
mov dword [0x44a048], 0x21
mov dword [0x44a0ac], 0x218
mov dword [0x44a058], 1
push 0
push 0x4020a4
push 0x44a044
mov eax, dword [0x40209c]
push eax
mov eax, dword [eax]
call dword [eax + 0x18]
or eax, eax
jne 0x4012e2
push 4
push 0x44a0b0
call fcn.00401710
mov dword [0x44a0b0], 4
push 0x4020a8
push 0x44a0b0
mov eax, dword [0x4020a4]
push eax
mov eax, dword [eax]
call dword [eax + 0x30]
or eax, eax
jne 0x4012e2
push 0x1e0
push 0x280
push 0x4020a0
call fcn.0040141d
or eax, eax
jne 0x4012e2
push dword [0x4020a0]
push str.res_fasm.gif
call fcn.00401473
or eax, eax
jne 0x4012e9
push str.res_fasm.gif
call fcn.00401650
or eax, eax
jne 0x4012e9
push dword [0x4020ac]
mov eax, dword [0x4020a4]
push eax
mov eax, dword [eax]
call dword [eax + 0x7c]
push 1
call dword [sym.imp.WINMM.DLL_timeBeginPeriod]
mov dword [0x402080], 0x3c
jmp 0x401241
mov dword [0x44a140], 0
mov dword [0x44a144], 0
mov dword [0x44a148], 0x280
mov dword [0x44a14c], 0x1e0
push 0x10
push 0x44a140
push dword [0x4020a0]
push 0
push 0
mov eax, dword [0x4020a8]
push eax
mov eax, dword [eax]
call dword [eax + 0x1c]
jmp 0x401241
push 0
push 0
push 0
push 0
push 0x44a028
call dword [sym.imp.USER32.DLL_PeekMessageA]
cmp eax, 0
je 0x40128c
push 0
push 0
push 0
push 0x44a028
call dword [sym.imp.USER32.DLL_GetMessageA]
cmp eax, 0
jne 0x401274
jmp 0x401320
push 0x44a028
call dword [sym.imp.USER32.DLL_TranslateMessage]
push 0x44a028
call dword [sym.imp.USER32.DLL_DispatchMessageA]
jmp 0x401241
cmp byte [0x40207c], 0
jne 0x40129d
call dword [sym.imp.USER32.DLL_WaitMessage]
jmp 0x401241
mov eax, dword [0x4020a4]
push eax
mov eax, dword [eax]
call dword [eax + 0x60]
cmp eax, 0
je 0x4012c3
cmp eax, 0x887601c2
jne 0x4012c1
mov eax, dword [0x4020a4]
push eax
mov eax, dword [eax]
call dword [eax + 0x6c]
jmp 0x4012c3
jmp 0x401320
push dword [0x402080]
call fcn.00401728
push 1
push 0
mov eax, dword [0x4020a4]
push eax
mov eax, dword [eax]
call dword [eax + 0x2c]
jmp 0x4011fb
mov eax, str.Direct_Draw:_failed
jmp 0x4012ee
mov eax, str.Opening_data_file:_failed
push 0
push str._AsmGges_Win32Asm_Fasm_DirectX
push eax
push dword [0x402078]
call dword [sym.imp.USER32.DLL_MessageBoxA]
call fcn.00401394
push dword [0x402078]
call dword [sym.imp.USER32.DLL_DestroyWindow]
push 1
call dword [sym.imp.USER32.DLL_PostQuitMessage]
jmp 0x401241
push dword [0x44a030]
call dword [sym.imp.KERNEL32.DLL_ExitProcess]