Function at 0x422268
Capabilities:
Capture screenshot
Hide graphical window

Disassembly:
push ebx
add esp, 0xfffffff0
cmp byte [0x4dcc10], 0
jne 0x422523
push 0
push 0
push 0
push 0x422528
call sub.gdi32.dll_CreateICA
mov ebx, eax
push 8
push ebx
call sub.gdi32.dll_GetDeviceCaps
mov word [0x5078c6], ax
push 0xa
push ebx
call sub.gdi32.dll_GetDeviceCaps
mov word [0x5078c8], ax
movsx eax, word [0x5078c6]
test eax, eax
jns 0x4222b5
add eax, 7
sar eax, 3
mov dword [0x4dcbe0], eax
movsx eax, word [0x5078c8]
mov ecx, 0xd
cdq
idiv ecx
mov dword [0x4dcbe4], eax
push ebx
call sub.gdi32.dll_DeleteDC
cmp byte [0x4dcc14], 0
jne 0x4222f7
push 0x422530
mov eax, dword [0x4e67f4]
push eax
call sub.user32.dll_LoadMenuA
mov dword [0x5078c0], eax
jmp 0x4222fe
xor eax, eax
mov dword [0x5078c0], eax
mov eax, dword [0x4e2be8]
cmp dword [eax], 0
jne 0x42237c
mov eax, dword [0x4e67f4]
mov dword [0x4dcca8], eax
push 0x422538
mov eax, dword [0x4e67f4]
push eax
call sub.user32.dll_LoadIconA
mov dword [0x4dccac], eax
push 0x7f00
mov eax, dword [0x4e67f4]
push eax
call sub.user32.dll_LoadCursorA
mov dword [0x4dccb0], eax
cmp byte [0x4dcc18], 0
je 0x422353
push 5
call sub.gdi32.dll_GetStockObject
mov dword [0x4dccb4], eax
jmp 0x42235f
push 0
call sub.gdi32.dll_GetStockObject
mov dword [0x4dccb4], eax
cmp byte [0x4dcc30], 0
je 0x422372
mov dword [0x4dcc9c], 0x424554
push 0x4dcc98
call sub.user32.dll_RegisterClassA
mov eax, dword [0x5076d4]
or eax, 0x2000
push eax
push 0
push 0
movsx eax, word [0x5078c6]
push eax
movsx eax, word [0x5078c8]
push eax
call sub.user32.dll_GetDesktopWindow
push eax
mov eax, dword [0x5078c0]
push eax
mov eax, dword [0x4e67f4]
push eax
push 0
mov ecx, 0x5076e0
mov edx, dword [0x4dccbc]
mov eax, dword [0x5076d8]
call fcn.004085ac
mov dword [0x4dcc04], eax
mov eax, dword [0x4dcc04]
mov dword [0x4dcc0c], eax
push 4
mov eax, dword [0x5076cc]
push eax
mov eax, dword [0x5076c8]
push eax
mov eax, dword [0x5076c4]
push eax
mov eax, dword [0x5076c0]
push eax
push 0
mov eax, dword [0x4dcc04]
push eax
call sub.user32.dll_SetWindowPos
push esp
mov eax, dword [0x4dcc04]
push eax
call sub.user32.dll_GetClientRect
mov eax, dword [esp + 8]
test eax, eax
jns 0x422411
add eax, 7
sar eax, 3
mov dword [0x4dcbd8], eax
mov eax, dword [esp + 0xc]
mov ecx, 0xd
cdq
idiv ecx
mov dword [0x4dcbdc], eax
cmp byte [0x4dcc28], 0
jne 0x422442
push 1
mov eax, dword [0x4dcc04]
push eax
call sub.user32.dll_ShowWindow
jmp 0x42244f
push 0
mov eax, dword [0x4dcc04]
push eax
call sub.user32.dll_ShowWindow
mov eax, dword [0x4dcc04]
push eax
call sub.user32.dll_GetDC
mov dword [0x507808], eax
mov eax, dword [0x507808]
mov dword [0x507810], eax
push 3
mov eax, dword [0x507808]
push eax
call sub.gdi32.dll_SetStretchBltMode
mov eax, dword [0x507808]
push eax
call sub.gdi32.dll_CreateCompatibleDC
mov dword [0x50780c], eax
mov eax, dword [0x50780c]
mov dword [0x507814], eax
push 3
mov eax, dword [0x50780c]
push eax
call sub.gdi32.dll_SetStretchBltMode
movsx eax, word [0x5078c8]
push eax
movsx eax, word [0x5078c6]
push eax
mov eax, dword [0x507808]
push eax
call sub.gdi32.dll_CreateCompatibleBitmap
mov dword [0x50781c], eax
mov eax, dword [0x50781c]
push eax
mov eax, dword [0x50780c]
push eax
call sub.gdi32.dll_SelectObject
mov dword [0x507818], eax
push 0xcc0020
push 0
push 0
mov eax, dword [0x507808]
push eax
movsx eax, word [0x5078c8]
push eax
movsx eax, word [0x5078c6]
push eax
push 0
push 0
mov eax, dword [0x50780c]
push eax
call sub.gdi32.dll_BitBlt
push 0x7f00
push 0
call sub.user32.dll_LoadCursorA
mov ebx, eax
push ebx
call sub.user32.dll_SetCursor
push ebx
push 0xfffffffffffffff4
mov eax, dword [0x4dcc04]
push eax
call sub.user32.dll_SetClassLongA
add esp, 0x10
pop ebx
ret