Function at 0x401386
Capabilities:
Hide graphical window

Disassembly:
push ebp
mov ebp, esp
sub esp, 0xa8
mov eax, dword [ebp + 8]
mov dword [ebp - 0x54], eax
mov dword [ebp - 0x40], str.digital
mov dword [ebp - 0x60], sym.__Z15WindowProcedureP6HWND__jjl_16
mov dword [ebp - 0x64], 8
mov dword [ebp - 0x68], 0x30
mov dword [esp], 0
call sub.USER32.dll_GetSystemMetrics
sub esp, 4
mov edx, eax
mov eax, edx
sar eax, 0x1f
shr eax, 0x1f
lea eax, [edx + eax]
sar eax, 1
sub eax, 0x15e
mov dword [ebp - 0x6c], eax
mov dword [esp], 1
call sub.USER32.dll_GetSystemMetrics
sub esp, 4
mov edx, eax
mov eax, edx
sar eax, 0x1f
shr eax, 0x1f
lea eax, [edx + eax]
sar eax, 1
sub eax, 0xfa
mov dword [ebp - 0x70], eax
mov dword [esp + 4], 0x7f00
mov dword [esp], 0
call sub.USER32.dll_LoadIconA
sub esp, 8
mov dword [ebp - 0x50], eax
mov dword [esp + 4], 0x7f00
mov dword [esp], 0
call sub.USER32.dll_LoadIconA
sub esp, 8
mov dword [ebp - 0x3c], eax
mov dword [esp + 4], 0x7f00
mov dword [esp], 0
call sub.USER32.dll_LoadCursorA
sub esp, 8
mov dword [ebp - 0x4c], eax
mov dword [ebp - 0x44], 0
mov dword [ebp - 0x5c], 0
mov dword [ebp - 0x58], 0
mov dword [ebp - 0x48], 1
lea eax, [ebp - 0x68]
mov dword [esp], eax
call sub.USER32.dll_RegisterClassExA
sub esp, 4
test ax, ax
jne 0x401486
mov dword [ebp - 0x74], 0
jmp 0x401be3
mov dword [esp + 0x2c], 0
mov eax, dword [ebp + 8]
mov dword [esp + 0x28], eax
mov dword [esp + 0x24], 0
mov dword [esp + 0x20], 0
mov dword [esp + 0x1c], 0x1f4
mov dword [esp + 0x18], 0x2e1
mov eax, dword [ebp - 0x70]
mov dword [esp + 0x14], eax
mov eax, dword [ebp - 0x6c]
mov dword [esp + 0x10], eax
mov dword [esp + 0xc], 0x800a0000
mov dword [esp + 8], 0x407008
mov dword [esp + 4], str.digital
mov dword [esp], 0
call sub.USER32.dll_CreateWindowExA
sub esp, 0x30
mov dword [ebp - 0xc], eax
mov eax, dword [ebp - 0xc]
mov dword [0x409214], eax
mov eax, dword [ebp - 0xc]
mov dword [esp], eax
call sub.USER32.dll_GetDC
sub esp, 4
mov dword [esp], eax
call sub.GDI32.dll_CreateCompatibleDC
sub esp, 4
mov dword [0x409218], eax
mov dword [esp + 4], 0x3e9
mov eax, dword [ebp + 8]
mov dword [esp], eax
call sub.USER32.dll_LoadBitmapA
sub esp, 8
mov dword [esp + 4], eax
mov eax, dword [0x409218]
mov dword [esp], eax
call sub.GDI32.dll_SelectObject
sub esp, 8
mov eax, dword [ebp - 0xc]
mov dword [esp], eax
call sub.USER32.dll_GetDC
sub esp, 4
mov dword [esp], eax
call sub.GDI32.dll_CreateCompatibleDC
sub esp, 4
mov dword [0x40921c], eax
mov dword [esp + 4], 0x3ea
mov eax, dword [ebp + 8]
mov dword [esp], eax
call sub.USER32.dll_LoadBitmapA
sub esp, 8
mov dword [esp + 4], eax
mov eax, dword [0x40921c]
mov dword [esp], eax
call sub.GDI32.dll_SelectObject
sub esp, 8
mov eax, dword [ebp - 0xc]
mov dword [esp], eax
call sub.USER32.dll_GetDC
sub esp, 4
mov dword [esp], eax
call sub.GDI32.dll_CreateCompatibleDC
sub esp, 4
mov dword [0x409220], eax
mov dword [esp + 4], 0x3eb
mov eax, dword [ebp + 8]
mov dword [esp], eax
call sub.USER32.dll_LoadBitmapA
sub esp, 8
mov dword [esp + 4], eax
mov eax, dword [0x409220]
mov dword [esp], eax
call sub.GDI32.dll_SelectObject
sub esp, 8
mov eax, dword [ebp - 0xc]
mov dword [esp], eax
call sub.USER32.dll_GetDC
sub esp, 4
mov dword [esp], eax
call sub.GDI32.dll_CreateCompatibleDC
sub esp, 4
mov dword [0x409224], eax
mov dword [esp + 4], 0x3ec
mov eax, dword [ebp + 8]
mov dword [esp], eax
call sub.USER32.dll_LoadBitmapA
sub esp, 8
mov dword [esp + 4], eax
mov eax, dword [0x409224]
mov dword [esp], eax
call sub.GDI32.dll_SelectObject
sub esp, 8
mov eax, dword [ebp - 0xc]
mov dword [esp], eax
call sub.USER32.dll_GetDC
sub esp, 4
mov dword [esp], eax
call sub.GDI32.dll_CreateCompatibleDC
sub esp, 4
mov dword [0x409228], eax
mov dword [esp + 4], 0x3ed
mov eax, dword [ebp + 8]
mov dword [esp], eax
call sub.USER32.dll_LoadBitmapA
sub esp, 8
mov dword [esp + 4], eax
mov eax, dword [0x409228]
mov dword [esp], eax
call sub.GDI32.dll_SelectObject
sub esp, 8
mov eax, dword [ebp - 0xc]
mov dword [esp], eax
call sub.USER32.dll_GetDC
sub esp, 4
mov dword [esp], eax
call sub.GDI32.dll_CreateCompatibleDC
sub esp, 4
mov dword [0x40922c], eax
mov dword [esp + 4], 0x3ee
mov eax, dword [ebp + 8]
mov dword [esp], eax
call sub.USER32.dll_LoadBitmapA
sub esp, 8
mov dword [esp + 4], eax
mov eax, dword [0x40922c]
mov dword [esp], eax
call sub.GDI32.dll_SelectObject
sub esp, 8
mov eax, dword [ebp - 0xc]
mov dword [esp], eax
call sub.USER32.dll_GetDC
sub esp, 4
mov dword [esp], eax
call sub.GDI32.dll_CreateCompatibleDC
sub esp, 4
mov dword [0x409230], eax
mov dword [esp + 4], 0x3ef
mov eax, dword [ebp + 8]
mov dword [esp], eax
call sub.USER32.dll_LoadBitmapA
sub esp, 8
mov dword [esp + 4], eax
mov eax, dword [0x409230]
mov dword [esp], eax
call sub.GDI32.dll_SelectObject
sub esp, 8
mov eax, dword [ebp - 0xc]
mov dword [esp], eax
call sub.USER32.dll_GetDC
sub esp, 4
mov dword [esp], eax
call sub.GDI32.dll_CreateCompatibleDC
sub esp, 4
mov dword [0x409234], eax
mov dword [esp + 4], 0x3f0
mov eax, dword [ebp + 8]
mov dword [esp], eax
call sub.USER32.dll_LoadBitmapA
sub esp, 8
mov dword [esp + 4], eax
mov eax, dword [0x409234]
mov dword [esp], eax
call sub.GDI32.dll_SelectObject
sub esp, 8
mov eax, dword [ebp - 0xc]
mov dword [esp], eax
call sub.USER32.dll_GetDC
sub esp, 4
mov dword [esp], eax
call sub.GDI32.dll_CreateCompatibleDC
sub esp, 4
mov dword [0x409238], eax
mov dword [esp + 4], 0x3f1
mov eax, dword [ebp + 8]
mov dword [esp], eax
call sub.USER32.dll_LoadBitmapA
sub esp, 8
mov dword [esp + 4], eax
mov eax, dword [0x409238]
mov dword [esp], eax
call sub.GDI32.dll_SelectObject
sub esp, 8
mov eax, dword [ebp - 0xc]
mov dword [esp], eax
call sub.USER32.dll_GetDC
sub esp, 4
mov dword [esp], eax
call sub.GDI32.dll_CreateCompatibleDC
sub esp, 4
mov dword [0x40923c], eax
mov dword [esp + 4], 0x3f2
mov eax, dword [ebp + 8]
mov dword [esp], eax
call sub.USER32.dll_LoadBitmapA
sub esp, 8
mov dword [esp + 4], eax
mov eax, dword [0x40923c]
mov dword [esp], eax
call sub.GDI32.dll_SelectObject
sub esp, 8
mov eax, dword [ebp - 0xc]
mov dword [esp], eax
call sub.USER32.dll_GetDC
sub esp, 4
mov dword [esp], eax
call sub.GDI32.dll_CreateCompatibleDC
sub esp, 4
mov dword [0x409240], eax
mov dword [esp + 4], 0x3f3
mov eax, dword [ebp + 8]
mov dword [esp], eax
call sub.USER32.dll_LoadBitmapA
sub esp, 8
mov dword [esp + 4], eax
mov eax, dword [0x409240]
mov dword [esp], eax
call sub.GDI32.dll_SelectObject
sub esp, 8
mov eax, dword [ebp - 0xc]
mov dword [esp], eax
call sub.USER32.dll_GetDC
sub esp, 4
mov dword [esp], eax
call sub.GDI32.dll_CreateCompatibleDC
sub esp, 4
mov dword [0x409244], eax
mov dword [esp + 4], 0x3f4
mov eax, dword [ebp + 8]
mov dword [esp], eax
call sub.USER32.dll_LoadBitmapA
sub esp, 8
mov dword [esp + 4], eax
mov eax, dword [0x409244]
mov dword [esp], eax
call sub.GDI32.dll_SelectObject
sub esp, 8
mov eax, dword [ebp - 0xc]
mov dword [esp], eax
call sub.USER32.dll_GetDC
sub esp, 4
mov dword [esp], eax
call sub.GDI32.dll_CreateCompatibleDC
sub esp, 4
mov dword [0x409248], eax
mov dword [esp + 4], 0x3f5
mov eax, dword [ebp + 8]
mov dword [esp], eax
call sub.USER32.dll_LoadBitmapA
sub esp, 8
mov dword [esp + 4], eax
mov eax, dword [0x409248]
mov dword [esp], eax
call sub.GDI32.dll_SelectObject
sub esp, 8
mov eax, dword [ebp - 0xc]
mov dword [esp], eax
call sub.USER32.dll_GetDC
sub esp, 4
mov dword [esp], eax
call sub.GDI32.dll_CreateCompatibleDC
sub esp, 4
mov dword [0x40924c], eax
mov dword [esp + 4], 0x3f6
mov eax, dword [ebp + 8]
mov dword [esp], eax
call sub.USER32.dll_LoadBitmapA
sub esp, 8
mov dword [esp + 4], eax
mov eax, dword [0x40924c]
mov dword [esp], eax
call sub.GDI32.dll_SelectObject
sub esp, 8
mov eax, dword [ebp - 0xc]
mov dword [esp], eax
call sub.USER32.dll_GetDC
sub esp, 4
mov dword [esp], eax
call sub.GDI32.dll_CreateCompatibleDC
sub esp, 4
mov dword [0x409250], eax
mov dword [esp + 4], 0x3f7
mov eax, dword [ebp + 8]
mov dword [esp], eax
call sub.USER32.dll_LoadBitmapA
sub esp, 8
mov dword [esp + 4], eax
mov eax, dword [0x409250]
mov dword [esp], eax
call sub.GDI32.dll_SelectObject
sub esp, 8
mov eax, dword [ebp - 0xc]
mov dword [esp], eax
call sub.USER32.dll_GetDC
sub esp, 4
mov dword [esp], eax
call sub.GDI32.dll_CreateCompatibleDC
sub esp, 4
mov dword [0x409254], eax
mov dword [esp + 4], 0x3f9
mov eax, dword [ebp + 8]
mov dword [esp], eax
call sub.USER32.dll_LoadBitmapA
sub esp, 8
mov dword [esp + 4], eax
mov eax, dword [0x409254]
mov dword [esp], eax
call sub.GDI32.dll_SelectObject
sub esp, 8
mov eax, dword [ebp - 0xc]
mov dword [esp], eax
call sub.USER32.dll_GetDC
sub esp, 4
mov dword [esp], eax
call sub.GDI32.dll_CreateCompatibleDC
sub esp, 4
mov dword [0x409258], eax
mov dword [esp + 4], 0x3fa
mov eax, dword [ebp + 8]
mov dword [esp], eax
call sub.USER32.dll_LoadBitmapA
sub esp, 8
mov dword [esp + 4], eax
mov eax, dword [0x409258]
mov dword [esp], eax
call sub.GDI32.dll_SelectObject
sub esp, 8
mov eax, dword [ebp - 0xc]
mov dword [esp], eax
call sub.USER32.dll_GetDC
sub esp, 4
mov dword [esp], eax
call sub.GDI32.dll_CreateCompatibleDC
sub esp, 4
mov dword [0x40925c], eax
mov dword [esp + 4], 0x3fb
mov eax, dword [ebp + 8]
mov dword [esp], eax
call sub.USER32.dll_LoadBitmapA
sub esp, 8
mov dword [esp + 4], eax
mov eax, dword [0x40925c]
mov dword [esp], eax
call sub.GDI32.dll_SelectObject
sub esp, 8
mov eax, dword [ebp - 0xc]
mov dword [esp], eax
call sub.USER32.dll_GetDC
sub esp, 4
mov dword [esp], eax
call sub.GDI32.dll_CreateCompatibleDC
sub esp, 4
mov dword [0x409260], eax
mov dword [esp + 4], 0x3fc
mov eax, dword [ebp + 8]
mov dword [esp], eax
call sub.USER32.dll_LoadBitmapA
sub esp, 8
mov dword [esp + 4], eax
mov eax, dword [0x409260]
mov dword [esp], eax
call sub.GDI32.dll_SelectObject
sub esp, 8
mov eax, dword [ebp - 0xc]
mov dword [esp], eax
call sub.USER32.dll_GetDC
sub esp, 4
mov dword [esp], eax
call sub.GDI32.dll_CreateCompatibleDC
sub esp, 4
mov dword [0x409264], eax
mov dword [esp + 4], 0x3fd
mov eax, dword [ebp + 8]
mov dword [esp], eax
call sub.USER32.dll_LoadBitmapA
sub esp, 8
mov dword [esp + 4], eax
mov eax, dword [0x409264]
mov dword [esp], eax
call sub.GDI32.dll_SelectObject
sub esp, 8
mov eax, dword [ebp - 0xc]
mov dword [esp], eax
call sub.USER32.dll_GetDC
sub esp, 4
mov dword [esp], eax
call sub.GDI32.dll_CreateCompatibleDC
sub esp, 4
mov dword [0x409268], eax
mov dword [esp + 4], 0x3fe
mov eax, dword [ebp + 8]
mov dword [esp], eax
call sub.USER32.dll_LoadBitmapA
sub esp, 8
mov dword [esp + 4], eax
mov eax, dword [0x409268]
mov dword [esp], eax
call sub.GDI32.dll_SelectObject
sub esp, 8
mov eax, dword [ebp - 0xc]
mov dword [esp], eax
call sub.USER32.dll_GetDC
sub esp, 4
mov dword [esp], eax
call sub.GDI32.dll_CreateCompatibleDC
sub esp, 4
mov dword [0x40926c], eax
mov dword [esp + 4], 0x3f8
mov eax, dword [ebp + 8]
mov dword [esp], eax
call sub.USER32.dll_LoadBitmapA
sub esp, 8
mov dword [esp + 4], eax
mov eax, dword [0x40926c]
mov dword [esp], eax
call sub.GDI32.dll_SelectObject
sub esp, 8
mov eax, dword [ebp - 0xc]
mov dword [esp], eax
call sub.USER32.dll_GetDC
sub esp, 4
mov dword [esp], eax
call sub.GDI32.dll_CreateCompatibleDC
sub esp, 4
mov dword [0x409270], eax
mov eax, dword [ebp - 0xc]
mov dword [esp], eax
call sub.USER32.dll_GetDC
sub esp, 4
mov dword [esp + 8], 0x1f4
mov dword [esp + 4], 0x2e1
mov dword [esp], eax
call sub.GDI32.dll_CreateCompatibleBitmap
sub esp, 0xc
mov dword [esp + 4], eax
mov eax, dword [0x409270]
mov dword [esp], eax
call sub.GDI32.dll_SelectObject
sub esp, 8
mov eax, dword [ebp + 0x14]
mov dword [esp + 4], eax
mov eax, dword [ebp - 0xc]
mov dword [esp], eax
call sub.USER32.dll_ShowWindow
sub esp, 8
mov dword [esp + 0xc], 0
mov dword [esp + 8], 0
mov dword [esp + 4], 0
lea eax, [ebp - 0x38]
mov dword [esp], eax
call sub.USER32.dll_GetMessageA
sub esp, 0x10
test eax, eax
je 0x401bdd
lea eax, [ebp - 0x38]
mov dword [esp], eax
call sub.USER32.dll_TranslateMessage
sub esp, 4
lea eax, [ebp - 0x38]
mov dword [esp], eax
call sub.USER32.dll_DispatchMessageA
sub esp, 4
jmp 0x401b95
mov eax, dword [ebp - 0x30]
mov dword [ebp - 0x74], eax
mov eax, dword [ebp - 0x74]
leave
ret 0x10