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 0x401cbb
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], 0x1ea
mov dword [esp + 0x18], 0x348
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], 0x408008
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 [0x40a214], 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 [0x40a218], 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 [0x40a218]
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 [0x40a21c], 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 [0x40a21c]
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 [0x40a220], 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 [0x40a220]
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 [0x40a224], 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 [0x40a224]
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 [0x40a228], 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 [0x40a228]
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 [0x40a22c], 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 [0x40a22c]
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 [0x40a230], 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 [0x40a230]
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 [0x40a234], 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 [0x40a234]
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 [0x40a238], 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 [0x40a238]
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 [0x40a23c], 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 [0x40a23c]
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 [0x40a240], 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 [0x40a240]
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 [0x40a244], 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 [0x40a244]
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 [0x40a248], 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 [0x40a248]
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 [0x40a24c], 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 [0x40a24c]
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 [0x40a250], 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 [0x40a250]
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 [0x40a254], 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 [0x40a254]
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 [0x40a258], 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 [0x40a258]
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 [0x40a25c], 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 [0x40a25c]
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 [0x40a260], eax
mov dword [esp + 4], 0x3ff
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 [0x40a260]
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 [0x40a264], eax
mov dword [esp + 4], 0x400
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 [0x40a264]
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 [0x40a268], eax
mov dword [esp + 4], 0x401
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 [0x40a268]
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 [0x40a26c], 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 [0x40a26c]
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 [0x40a270], 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 [0x40a270]
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 [0x40a274], 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 [0x40a274]
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 [0x40a278], 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 [0x40a278]
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 [0x40a27c], eax
mov eax, dword [ebp - 0xc]
mov dword [esp], eax
call sub.USER32.dll_GetDC
sub esp, 4
mov dword [esp + 8], 0x1ea
mov dword [esp + 4], 0x348
mov dword [esp], eax
call sub.GDI32.dll_CreateCompatibleBitmap
sub esp, 0xc
mov dword [esp + 4], eax
mov eax, dword [0x40a27c]
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 0x401cb5
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 0x401c6d
mov eax, dword [ebp - 0x30]
mov dword [ebp - 0x74], eax
mov eax, dword [ebp - 0x74]
leave
ret 0x10