Function at 0x415a80
Capabilities:
Hide graphical window

Disassembly:
sub esp, 0x78
push ebx
push esi
push edi
mov edi, ecx
mov eax, dword [edi + 0x610]
test eax, eax
je 0x415b6e
cmp byte [eax], 0
je 0x415b6e
push 0x2c
lea eax, [esp + 0x18]
push 0
push eax
call fcn.0048e820
mov eax, dword [0x4ad120]
add esp, 0xc
mov edx, 0xffffff61
mov dword [esp + 0x10], 0x30
xor ecx, ecx
mov dword [esp + 0x38], str.AutoHotkey
mov dword [esp + 0x24], eax
push 0
push 0
push 0
mov dword [esp + 0x24], 0x437560
call fcn.00473350
add esp, 0xc
mov dword [0x4ad220], eax
push 0
push 0
push 0x31
call dword [sym.imp.USER32.dll_GetSystemMetrics]
push eax
mov edx, 0xffffff61
xor ecx, ecx
call fcn.00473350
mov ecx, dword [0x4ad220]
add esp, 0xc
mov dword [0x4ad224], eax
mov dword [esp + 0x28], ecx
mov dword [esp + 0x3c], eax
push 0x7f00
push 0
call dword [sym.imp.USER32.dll_LoadCursorA]
mov esi, dword [sym.imp.USER32.dll_RegisterClassExA]
mov dword [esp + 0x2c], eax
lea eax, [esp + 0x10]
push eax
mov dword [esp + 0x34], 0x10
mov dword [esp + 0x38], 0xd3
call esi
test ax, ax
jne 0x415b77
sub esp, 8
xorps xmm0, xmm0
mov edx, 0x10000
mov ecx, str.RegClass
movsd qword [esp], xmm0
push 0
push 0
call fcn.00476030
add esp, 0x10
xor eax, eax
pop edi
pop esi
pop ebx
add esp, 0x78
ret
lea eax, [esp + 0x10]
mov dword [esp + 0x38], str.AutoHotkey2
push eax
mov dword [esp + 0x38], 0
call esi
test ax, ax
je 0x415b4d
call dword [sym.imp.USER32.dll_GetForegroundWindow]
test eax, eax
je 0x415bc9
push 0x40
lea ecx, [esp + 0x44]
push ecx
push eax
call dword [sym.imp.USER32.dll_GetClassNameA]
test eax, eax
je 0x415bc5
lea eax, [esp + 0x40]
push str.Shell_TrayWnd
push eax
call fcn.00484212
add esp, 8
test eax, eax
je 0x415bc9
xor bl, bl
jmp 0x415bcb
mov bl, 1
push 0
push dword [0x4ad120]
xor eax, eax
mov ecx, 0x80
push 0
push 0
push SysReAllocString
push SysReAllocString
push SysReAllocString
push SysReAllocString
push 0xcf0000
push dword [edi + 0x610]
test bl, bl
push str.AutoHotkey
cmovne eax, ecx
push eax
call dword [sym.imp.USER32.dll_CreateWindowExA]
mov dword [0x4ad0e0], eax
test eax, eax
jne 0x415c41
sub esp, 8
xorps xmm0, xmm0
mov edx, 0x10000
mov ecx, str.CreateWindow
movsd qword [esp], xmm0
push 0
push 0
call fcn.00476030
add esp, 0x10
xor eax, eax
pop edi
pop esi
pop ebx
add esp, 0x78
ret
push eax
call dword [sym.imp.USER32.dll_GetMenu]
push 3
mov esi, eax
push 0xff79
push esi
call dword [sym.imp.USER32.dll_EnableMenuItem]
push 3
push esi
call fcn.00415e70
push 0
push dword [0x4ad120]
push 1
push dword [0x4ad0e0]
push 0
push 0
push 0
push 0
push 0x50a00804
push 0
push str.edit
push 0
call dword [sym.imp.USER32.dll_CreateWindowExA]
mov dword [0x4acfbc], eax
test eax, eax
je 0x415c17
push eax
call dword [sym.imp.USER32.dll_GetDC]
cmp byte [0x4af183], 0
mov esi, eax
jne 0x415cae
push str.Lucida_Console
jmp 0x415cb3
push str.Consolas
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0x48
push 0x5a
push esi
call dword [sym.imp.GDI32.dll_GetDeviceCaps]
push eax
push 0xa
call dword [sym.imp.KERNEL32.dll_MulDiv]
neg eax
push eax
call dword [sym.imp.GDI32.dll_CreateFontA]
push esi
push dword [0x4acfbc]
mov dword [0x4adb04], eax
call dword [sym.imp.USER32.dll_ReleaseDC]
mov esi, dword [sym.imp.USER32.dll_SendMessageA]
push 0
push dword [0x4adb04]
push 0x30
push dword [0x4acfbc]
call esi
push 0
push 0
push 0xc5
push dword [0x4acfbc]
call esi
mov esi, dword [sym.imp.USER32.dll_ShowWindow]
push 0
push dword [0x4ad0e0]
call esi
push 0
push dword [0x4ad0e0]
call esi
test bl, bl
je 0x415d5b
push 6
push dword [0x4ad0e0]
call esi
push 0
push 0xffffffffffffffec
push dword [0x4ad0e0]
call dword [sym.imp.USER32.dll_SetWindowLongA]
push 0xd4
push dword [0x4ad120]
call dword [sym.imp.USER32.dll_LoadAcceleratorsA]
cmp byte [0x4ad9cf], 0
mov dword [0x4acfb8], eax
je 0x415d86
mov dword [edi + 0x17a], 0
jmp 0x415d8d
mov ecx, edi
call fcn.00415eb0
cmp dword [edi + 0x5c0], 0
je 0x415d9f
push 1
mov ecx, edi
call fcn.00415db0
pop edi
pop esi
mov eax, 1
pop ebx
add esp, 0x78
ret