Function at 0x402000
Capabilities:
Hide graphical window
Terminate process

Disassembly:
push 0
call dword [sym.imp.KERNEL32.DLL_GetModuleHandleW]
mov dword [section..data], eax
mov dword [0x401925], 0x30
mov dword [0x401939], eax
push 0x7f00
push 0
call dword [sym.imp.USER32.DLL_LoadCursorW]
mov dword [0x401941], eax
mov dword [0x401929], 8
mov dword [0x40192d], 0x4035c2
mov dword [0x401931], 0
mov dword [0x401935], 0
mov dword [0x401945], 6
mov dword [0x401949], 0x40103c
mov dword [0x40194d], 0x40103c
push 0x401925
call dword [sym.imp.USER32.DLL_RegisterClassExW]
call dword [sym.imp.USER32.DLL_CreateMenu]
mov dword [0x401149], eax
call dword [sym.imp.USER32.DLL_CreateMenu]
mov dword [0x40114d], eax
call dword [sym.imp.USER32.DLL_CreateMenu]
mov dword [0x401151], eax
call dword [sym.imp.USER32.DLL_CreateMenu]
mov dword [0x401155], eax
call dword [sym.imp.USER32.DLL_CreateMenu]
mov dword [0x401159], eax
call dword [sym.imp.USER32.DLL_CreateMenu]
mov dword [0x40115d], eax
push str.____Exit
push dword [0x40114d]
push 0x10
push dword [0x401149]
call dword [sym.imp.USER32.DLL_AppendMenuA]
push str.End_program
push 0x1f4
push 0
push dword [0x40114d]
call dword [sym.imp.USER32.DLL_AppendMenuA]
push str._Save
push dword [0x401155]
push 0x10
push dword [0x401149]
call dword [sym.imp.USER32.DLL_AppendMenuA]
push str.
push 0x1f6
push 0
push dword [0x401155]
call dword [sym.imp.USER32.DLL_AppendMenuA]
push str._Save_as_Jpeg
push 0x1f9
push 0
push dword [0x401155]
call dword [sym.imp.USER32.DLL_AppendMenuA]
push str.
push 0x1f6
push 0
push dword [0x401155]
call dword [sym.imp.USER32.DLL_AppendMenuA]
push str._Save_as_Png___S
push 0x1fb
push 0
push dword [0x401155]
call dword [sym.imp.USER32.DLL_AppendMenuA]
push str.____________Load_Picture___L
push dword [0x401151]
push 0x10
push dword [0x401149]
call dword [sym.imp.USER32.DLL_AppendMenuA]
push str.
push 0x1f6
push 0
push dword [0x401151]
call dword [sym.imp.USER32.DLL_AppendMenuA]
push str._Load_a_Png_or_Jpeg_Picture
push 0x1f8
push 0
push dword [0x401151]
call dword [sym.imp.USER32.DLL_AppendMenuA]
push str.
push 0x1f6
push 0
push dword [0x401151]
call dword [sym.imp.USER32.DLL_AppendMenuA]
push str._Keys
push dword [0x401159]
push 0x10
push dword [0x401149]
call dword [sym.imp.USER32.DLL_AppendMenuA]
push str.__F11_border__
push 0x1f6
push 0
push dword [0x401159]
call dword [sym.imp.USER32.DLL_AppendMenuA]
push str.
push 0x1f6
push 0
push dword [0x401159]
call dword [sym.imp.USER32.DLL_AppendMenuA]
push str.___L_Loads__S_saves__
push 0x1f6
push 0
push dword [0x401159]
call dword [sym.imp.USER32.DLL_AppendMenuA]
push str.___C___V___B__distorts__
push 0x1f6
push 0
push dword [0x401159]
call dword [sym.imp.USER32.DLL_AppendMenuA]
push str.__Z_X__Zoom__
push 0x1f6
push 0
push dword [0x401159]
call dword [sym.imp.USER32.DLL_AppendMenuA]
push str.__D___K_turning_speeds__
push 0x1f6
push 0
push dword [0x401159]
call dword [sym.imp.USER32.DLL_AppendMenuA]
push str._Keys_2
push dword [0x40115d]
push 0x10
push dword [0x401149]
call dword [sym.imp.USER32.DLL_AppendMenuA]
push str.__left_right_arrows__sine_wave_width__
push 0x1f6
push 0
push dword [0x40115d]
call dword [sym.imp.USER32.DLL_AppendMenuA]
push str.
push 0x1f6
push 0
push dword [0x40115d]
call dword [sym.imp.USER32.DLL_AppendMenuA]
push str.___up_down_arrows__sine_wave_speed__
push 0x1f6
push 0
push dword [0x40115d]
call dword [sym.imp.USER32.DLL_AppendMenuA]
push str.__pgUp_pgDn__sine_wave_amplitude__
push 0x1f6
push 0
push dword [0x40115d]
call dword [sym.imp.USER32.DLL_AppendMenuA]
push str.__F9__test_gridlines__erases___
push 0x1f6
push 0
push dword [0x40115d]
call dword [sym.imp.USER32.DLL_AppendMenuA]
push 0
push 0
push dword [0x401149]
push 0
push 0x2e4
push 0x492
push 1
push 1
push 0xcf0000
push str.Daniel_Rosenthal__turning
push str.window
push 8
call dword [sym.imp.USER32.DLL_CreateWindowExW]
mov dword [0x401166], eax
call dword [sym.imp.KERNEL32.DLL_FreeConsole]
mov dword [0x401145], 0
mov dword [0x401141], 0
push 0
call dword [sym.imp.USER32.DLL_GetDC]
mov dword [0x401004], eax
push 1
push dword [0x401166]
call dword [sym.imp.USER32.DLL_ShowWindow]
push dword [0x401166]
call dword [sym.imp.USER32.DLL_UpdateWindow]
push dword [0x401166]
call dword [sym.imp.USER32.DLL_SetForegroundWindow]
push 0x1cb4a20
push 2
call dword [sym.imp.KERNEL32.DLL_GlobalAlloc]
mov dword [0x40136a], eax
push eax
call dword [sym.imp.KERNEL32.DLL_GlobalLock]
mov dword [0x401366], eax
mov dword [0x4013d0], 0
push 0x20000000
push 0
call dword [sym.imp.KERNEL32.DLL_GlobalAlloc]
mov dword [0x40112d], eax
push 0x1000000
push 0
call dword [sym.imp.KERNEL32.DLL_GlobalAlloc]
mov dword [0x4019b5], eax
call fcn.004037b6
push 0
push 0x10
push 0x12c
push dword [0x401166]
call dword [sym.imp.USER32.DLL_SetTimer]
push str.Verdana
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0x28
push 0
push 0
push 0x10
push 0x1e
call dword [sym.imp.GDI32.DLL_CreateFontW]
mov dword [0x40118a], eax
push eax
push dword [0x40116a]
call dword [sym.imp.GDI32.DLL_SelectObject]
push 0
push dword [0x40116a]
call dword [sym.imp.GDI32.DLL_SetBkColor]
push 0xffffff
push dword [0x40116a]
call dword [sym.imp.GDI32.DLL_SetTextColor]
call fcn.00402cf0
push dword [0x401166]
call dword [sym.imp.USER32.DLL_SetForegroundWindow]
push 0xffffffffffffffff
call dword [sym.imp.USER32.DLL_SetWindowPos]
mov eax, dword [0x401366]
mov dword [eax], 0
push 0
push 0
push 0
push 0x401955
call dword [sym.imp.USER32.DLL_GetMessageW]
cmp eax, 1
jb 0x40370d
jne 0x402469
push 0x401955
call dword [sym.imp.USER32.DLL_TranslateMessage]
push 0x401955
call dword [sym.imp.USER32.DLL_DispatchMessageW]
cmp dword [0x401959], 0x102
je 0x402757
mov eax, dword [0x40195d]
cmp eax, 0x25
jne 0x40251d
fld1
fidiv dword [0x4010d1]
fdiv qword [0x401125]
fadd qword [0x40108d]
fst qword [0x40108d]
fimul dword [0x4010d1]
fmul qword [0x401125]
fistp dword [0x40136e]
mov eax, dword [0x40136e]
call fcn.00402bea
mov byte [0x401080], 2
push 0x42
push 0
push 0
push dword [0x40116a]
push 0x4b0
push 0x4b0
push 0
push 0
push dword [0x40116a]
call dword [sym.imp.GDI32.DLL_BitBlt]
jmp 0x402469
cmp eax, 0x27
jne 0x402590
fldz
fsub qword [0x4010dd]
fidiv dword [0x4010d1]
fdiv qword [0x401125]
fadd qword [0x40108d]
fst qword [0x40108d]
fimul dword [0x4010d1]
fmul qword [0x401125]
fistp dword [0x40136e]
mov eax, dword [0x40136e]
call fcn.00402bea
mov byte [0x401080], 2
push 0x42
push 0
push 0
push dword [0x40116a]
push 0x4b0
push 0x4b0
push 0
push 0
push dword [0x40116a]
call dword [sym.imp.GDI32.DLL_BitBlt]
jmp 0x402469
cmp eax, 0x26
jne 0x4025f1
fld1
fdiv qword [0x4010ed]
fadd qword [0x401085]
fst qword [0x401085]
fmul qword [0x4010ed]
fistp dword [0x40136e]
mov eax, dword [0x40136e]
call fcn.00402bea
mov byte [0x401080], 2
push 0x42
push 0
push 0
push dword [0x40116a]
push 0x4b0
push 0x4b0
push 0
push 0
push dword [0x40116a]
call dword [sym.imp.GDI32.DLL_BitBlt]
jmp 0x402469
cmp eax, 0x28
jne 0x402658
fldz
fsub qword [0x4010dd]
fdiv qword [0x4010ed]
fadd qword [0x401085]
fst qword [0x401085]
fmul qword [0x4010ed]
fistp dword [0x40136e]
mov eax, dword [0x40136e]
call fcn.00402bea
mov byte [0x401080], 2
push 0x42
push 0
push 0
push dword [0x40116a]
push 0x4b0
push 0x4b0
push 0
push 0
push dword [0x40116a]
call dword [sym.imp.GDI32.DLL_BitBlt]
jmp 0x402469
cmp eax, 0x21
jne 0x4026ad
mov eax, dword [0x4010b1]
add eax, 6
mov dword [0x4010b1], eax
fild dword [0x4010b1]
fstp qword [0x401095]
call fcn.00402bea
mov byte [0x401080], 2
push 0x42
push 0
push 0
push dword [0x40116a]
push 0x4b0
push 0x4b0
push 0
push 0
push dword [0x40116a]
call dword [sym.imp.GDI32.DLL_BitBlt]
jmp 0x402469
cmp eax, 0x22
jne 0x402702
mov eax, dword [0x4010b1]
sub eax, 6
mov dword [0x4010b1], eax
fild dword [0x4010b1]
fstp qword [0x401095]
call fcn.00402bea
mov byte [0x401080], 2
push 0x42
push 0
push 0
push dword [0x40116a]
push 0x4b0
push 0x4b0
push 0
push 0
push dword [0x40116a]
call dword [sym.imp.GDI32.DLL_BitBlt]
jmp 0x402469
cmp eax, 0x78
jne 0x402737
call fcn.00402c40
push 0x42
push 0
push 0
push dword [0x40116a]
push 0x4b0
push 0x4b0
push 0
push 0
push dword [0x40116a]
call dword [sym.imp.GDI32.DLL_BitBlt]
jmp 0x402469
cmp eax, 0x70
jne 0x402747
inc byte [0x401043]
jmp 0x402469
cmp dword [0x401959], 0x102
jne 0x402a92
mov eax, dword [0x40195d]
cmp al, 0x20
jne 0x402787
mov dword [0x401390], 0
mov word [0x4010f5], 0x100
fldz
fstp qword [0x401085]
mov byte [0x401080], 0
jmp 0x402469
mov eax, dword [0x40195d]
cmp al, 0x63
jne 0x4027e4
mov byte [0x401080], 2
mov eax, pe_nt_image_headers32
mov dword [0x401081], eax
fild dword [0x401081]
fstp qword [0x401095]
fld1
fadd st(0)
fdiv qword [0x4010ed]
fstp qword [0x401085]
fld1
fdiv qword [0x4010ed]
fstp qword [0x40108d]
mov dword [0x4013c4], 0
mov dword [0x401390], 0
jmp 0x402469
mov eax, dword [0x40195d]
cmp al, 0x76
jne 0x402837
mov byte [0x401080], 2
mov eax, 0xc8
mov dword [0x401081], eax
fild dword [0x401081]
fstp qword [0x401095]
fld1
fdiv qword [0x401115]
fdiv qword [0x4010ed]
fstp qword [0x40108d]
mov dword [0x4013c4], 0
mov dword [0x401390], 0
jmp 0x402469
mov eax, dword [0x40195d]
cmp al, 0x62
jne 0x402894
mov byte [0x401080], 2
mov eax, 0x78
mov dword [0x401081], eax
fild dword [0x401081]
fstp qword [0x401095]
fld1
fadd st(0)
fdiv qword [0x4010ed]
fstp qword [0x401085]
fld1
fdiv qword [0x4010ed]
fstp qword [0x40108d]
mov dword [0x4013c4], 0
mov dword [0x401390], 0
jmp 0x402469
mov eax, dword [0x40195d]
cmp al, 0x6e
jne 0x4028f7
mov byte [0x401080], 2
fld1
fadd st(0)
fdiv qword [0x4010ed]
fstp qword [0x401085]
mov eax, 0xc8
mov dword [0x401081], eax
fild dword [0x401081]
fstp qword [0x401095]
fld1
fdiv qword [0x401115]
fdiv qword [0x4010ed]
fstp qword [0x40108d]
mov dword [0x4013c4], 0
mov dword [0x401390], 0
jmp 0x402469
mov eax, dword [0x40195d]
cmp al, 0x7a
jne 0x40294b
mov dx, word [0x4010f5]
add dx, 0x14
and edx, 0x7ff
mov word [0x4010f5], dx
mov ax, dx
call fcn.00402bea
push 0x42
push 0
push 0
push dword [0x40116a]
push 0x4b0
push 0x4b0
push 0
push 0
push dword [0x40116a]
call dword [sym.imp.GDI32.DLL_BitBlt]
jmp 0x402469
mov eax, dword [0x40195d]
cmp al, 0x78
jne 0x40299e
mov dx, word [0x4010f5]
sub edx, 9
and edx, 0x7ff
mov word [0x4010f5], dx
mov ax, dx
call fcn.00402bea
push 0x42
push 0
push 0
push dword [0x40116a]
push 0x4b0
push 0x4b0
push 0
push 0
push dword [0x40116a]
call dword [sym.imp.GDI32.DLL_BitBlt]
jmp 0x402469
cmp dword [0x40195d], 0x61
jne 0x4029b6
mov dword [0x401390], 1
jmp 0x402469
cmp dword [0x40195d], 0x73
jne 0x4029c4
jmp 0x402469
cmp dword [0x40195d], 0x64
jne 0x4029dc
mov dword [0x401390], 0x10
jmp 0x402469
cmp dword [0x40195d], 0x66
jne 0x4029f4
mov dword [0x401390], 0xfffffff9
jmp 0x402469
cmp dword [0x40195d], 0x67
jne 0x402a0c
mov dword [0x401390], 0xffffffef
jmp 0x402469
cmp dword [0x40195d], 0x68
jne 0x402a24
mov dword [0x401390], 0x28
jmp 0x402469
cmp dword [0x40195d], 0x6a
jne 0x402a3c
mov dword [0x401390], 0xffffffe2
jmp 0x402469
cmp dword [0x40195d], 0x6b
jne 0x402a54
mov dword [0x401390], 0xfffffff4
jmp 0x402469
cmp dword [0x40195d], 0x23
jne 0x402a73
mov dword [0x401390], 0
add dword [0x4013c4], 0xf
jmp 0x402469
cmp dword [0x40195d], 0x3b
jne 0x402a92
mov dword [0x401390], 0
sub dword [0x4013c4], 0x10
jmp 0x402469
cmp dword [0x401959], 0x113
jne 0x402469
mov dword [0x401959], 0
cmp dword [0x40195d], 0x12c
jne 0x402469
call fcn.00402f0c
test byte [0x401043], 2
jne 0x402acf
call fcn.00402bcf
test dword [0x401078], 1
jne 0x402ba1
test dword [0x40107c], 1
je 0x402b73
mov dword [0x40107c], 0
push 0x42
push 0
push 0
push dword [0x401004]
push 0x3e8
push 0x514
push 0
push 0
push dword [0x401004]
call dword [sym.imp.GDI32.DLL_BitBlt]
push 0x20
push 0x2ee
push 0x514
push 1
push 1
push 1
push dword [0x401166]
call dword [sym.imp.USER32.DLL_SetWindowPos]
push 0x20
push 0x2ee
push 0x514
push 1
push 1
push 0
push dword [0x401166]
call dword [sym.imp.USER32.DLL_SetWindowPos]
push dword [0x401166]
call dword [sym.imp.USER32.DLL_BringWindowToTop]
push dword [0x401166]
call dword [sym.imp.USER32.DLL_UpdateWindow]
push 0xcc0020
push 0
push 0
push dword [0x40116a]
push 0x320
push 0x4b0
push 0
push 0
push dword [0x401162]
call dword [sym.imp.GDI32.DLL_BitBlt]
jmp 0x402469
push 0xcc0020
push 0
push 0
push dword [0x40116a]
push 0x384
push 0x4b0
push 0
push 0
push dword [0x401004]
call dword [sym.imp.GDI32.DLL_BitBlt]
jmp 0x402469
push dword [0x401176]
call dword [sym.imp.GDI32.DLL_DeleteObject]
push dword [0x401064]
call dword [sym.imp.GDI32.DLL_DeleteObject]
push dword [0x401366]
call dword [sym.imp.KERNEL32.DLL_GlobalUnlock]
push dword [0x40136a]
call dword [sym.imp.KERNEL32.DLL_GlobalFree]
push dword [0x40112d]
call dword [sym.imp.KERNEL32.DLL_GlobalFree]
push dword [0x4019b5]
call dword [sym.imp.KERNEL32.DLL_GlobalFree]
push 0x12c
push dword [0x401166]
call dword [sym.imp.USER32.DLL_KillTimer]
push dword [0x401162]
push dword [0x401166]
call dword [sym.imp.USER32.DLL_ReleaseDC]
push dword [0x401172]
call dword [sym.imp.GDI32.DLL_DeleteObject]
push dword [0x40116a]
call dword [sym.imp.GDI32.DLL_DeleteDC]
push dword [0x401004]
call dword [sym.imp.GDI32.DLL_DeleteDC]
call dword [sym.imp.KERNEL32.DLL_FreeConsole]
push dword [0x401166]
call dword [sym.imp.USER32.DLL_DestroyWindow]
push 0
call dword [sym.imp.KERNEL32.DLL_ExitProcess]