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.langdian
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], 0x405009
mov dword [esp + 4], str.langdian
mov dword [esp], 0
call sub.USER32.dll_CreateWindowExA
sub esp, 0x30
mov dword [ebp - 0xc], eax
mov eax, dword [ebp - 0xc]
mov dword [0x407214], 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 [0x407218], 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 [0x407218]
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 [0x40721c], 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 [0x40721c]
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 [0x407220], 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 [0x407220]
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 [0x407224], 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 [0x407224]
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 [0x407228], 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 [0x407228]
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 [0x40722c], 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 [0x40722c]
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 [0x407230], 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 [0x407230]
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 [0x407234], 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 [0x407234]
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 [0x407238], 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 [0x407238]
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 [0x40723c], 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 [0x40723c]
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 [0x407240], 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 [0x407240]
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 [0x407244], 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 [0x407244]
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 [0x407248], 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 [0x407248]
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 [0x40724c], 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 [0x40724c]
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 [0x407250], 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 [0x407250]
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 [0x407254], 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 [0x407254]
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 [0x407258], 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 [0x407258]
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 [0x40725c], 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 [0x40725c]
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 [0x407260], 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 [0x407260]
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 [0x407264], 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 [0x407264]
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 [0x407268], 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 [0x407268]
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 [0x40726c], 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 [0x40726c]
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 [0x407270], 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 [0x407270]
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