Function at 0x418e44
Capabilities:
Capture screenshot
Resolve function by parsing pe exports

Disassembly:
push ebx
sub esp, 0xa8
mov eax, dword [esp + 0xb4]
mov byte [esp + 0x3c], al
mov eax, dword [esp + 0xb0]
mov dword [eax], 0
mov dword [esp + 0x80], 0
mov dword [esp + 0x9c], 0
mov dword [esp], 0
call sub.USER32.dll_GetSystemMetrics
sub esp, 4
mov dword [esp + 0x98], eax
mov dword [esp], 1
call sub.USER32.dll_GetSystemMetrics
sub esp, 4
mov dword [esp + 0x94], eax
call sub.USER32.dll_GetDesktopWindow
mov dword [esp + 0x90], eax
cmp dword [esp + 0x90], 0
je 0x418ecf
cmp dword [esp + 0x98], 0
je 0x418ecf
cmp dword [esp + 0x94], 0
jne 0x418ed9
mov eax, 0
jmp 0x419296
mov eax, dword [esp + 0x90]
mov dword [esp], eax
call sub.USER32.dll_GetDC
sub esp, 4
mov dword [esp + 0x8c], eax
mov eax, dword [esp + 0x8c]
mov dword [esp], eax
call sub.GDI32.dll_CreateCompatibleDC
sub esp, 4
mov dword [esp + 0x88], eax
mov edx, dword [esp + 0x94]
mov eax, dword [esp + 0x98]
mov dword [esp + 8], edx
mov dword [esp + 4], eax
mov eax, dword [esp + 0x8c]
mov dword [esp], eax
call sub.GDI32.dll_CreateCompatibleBitmap
sub esp, 0xc
mov dword [esp + 0x84], eax
cmp dword [esp + 0x8c], 0
je 0x4191df
cmp dword [esp + 0x88], 0
je 0x4191df
cmp dword [esp + 0x84], 0
je 0x4191df
mov eax, dword [esp + 0x84]
mov dword [esp + 4], eax
mov eax, dword [esp + 0x88]
mov dword [esp], eax
call sub.GDI32.dll_SelectObject
sub esp, 8
mov edx, dword [esp + 0x94]
mov eax, dword [esp + 0x98]
mov dword [esp + 0x20], 0x40cc0020
mov dword [esp + 0x1c], 0
mov dword [esp + 0x18], 0
mov ecx, dword [esp + 0x8c]
mov dword [esp + 0x14], ecx
mov dword [esp + 0x10], edx
mov dword [esp + 0xc], eax
mov dword [esp + 8], 0
mov dword [esp + 4], 0
mov eax, dword [esp + 0x88]
mov dword [esp], eax
call sub.GDI32.dll_BitBlt
sub esp, 0x24
test eax, eax
je 0x4191df
mov dword [esp + 8], 0xe
mov dword [esp + 4], 0
lea eax, [esp + 0x72]
mov dword [esp], eax
call fcn.0041a59f
mov dword [esp + 8], 0x2c
mov dword [esp + 4], 0
lea eax, [esp + 0x44]
mov dword [esp], eax
call fcn.0041a59f
mov dword [esp + 0x44], 0x28
mov word [esp + 0x52], 0
mov dword [esp + 0x18], 0
lea eax, [esp + 0x44]
mov dword [esp + 0x14], eax
mov dword [esp + 0x10], 0
mov dword [esp + 0xc], 0
mov dword [esp + 8], 0
mov eax, dword [esp + 0x84]
mov dword [esp + 4], eax
mov eax, dword [esp + 0x8c]
mov dword [esp], eax
call sub.GDI32.dll_GetDIBits
sub esp, 0x1c
test eax, eax
je 0x4191db
mov word [esp + 0x72], 0x4d42
mov eax, dword [esp + 0x48]
lea edx, [eax + 1]
mov eax, edx
add eax, eax
add eax, edx
and eax, 0xfffffffc
mov edx, eax
mov eax, dword [esp + 0x4c]
imul eax, edx
add eax, 0x36
mov dword [esp + 0x74], eax
mov word [esp + 0x7a], 0
movzx eax, word [esp + 0x7a]
mov word [esp + 0x78], ax
mov dword [esp + 0x7c], 0x36
mov dword [esp + 0x54], 0
mov dword [esp + 0x44], 0x28
mov eax, dword [esp + 0x98]
mov dword [esp + 0x48], eax
mov eax, dword [esp + 0x94]
mov dword [esp + 0x4c], eax
mov word [esp + 0x50], 1
mov word [esp + 0x52], 0x18
mov eax, dword [esp + 0x58]
lea edx, [eax + 0x36]
mov eax, dword [esp + 0xb0]
mov dword [eax], edx
mov eax, dword [esp + 0xb0]
mov eax, dword [eax]
mov dword [esp + 4], 4
mov dword [esp], eax
call sub.msvcrt.dll_calloc
mov dword [esp + 0x80], eax
mov eax, dword [esp + 0x80]
test eax, eax
je 0x4191de
mov eax, dword [esp + 0x80]
lea ecx, [eax + 0x36]
mov eax, dword [esp + 0x4c]
mov dword [esp + 0x18], 0
lea edx, [esp + 0x44]
mov dword [esp + 0x14], edx
mov dword [esp + 0x10], ecx
mov dword [esp + 0xc], eax
mov dword [esp + 8], 0
mov eax, dword [esp + 0x84]
mov dword [esp + 4], eax
mov eax, dword [esp + 0x8c]
mov dword [esp], eax
call sub.GDI32.dll_GetDIBits
sub esp, 0x1c
test eax, eax
je 0x4191bd
mov eax, dword [esp + 0x80]
mov dword [esp + 8], 0xe
lea edx, [esp + 0x72]
mov dword [esp + 4], edx
mov dword [esp], eax
call fcn.0041a5e1
mov eax, dword [esp + 0x80]
lea edx, [eax + 0xe]
mov dword [esp + 8], 0x28
lea eax, [esp + 0x44]
mov dword [esp + 4], eax
mov dword [esp], edx
call fcn.0041a5e1
jmp 0x4191df
lea eax, [esp + 0x80]
mov dword [esp], eax
call fcn.0040b4bf
mov eax, dword [esp + 0xb0]
mov dword [eax], 0
jmp 0x4191df
nop
jmp 0x4191df
nop
mov eax, dword [esp + 0x8c]
mov dword [esp + 4], eax
mov eax, dword [esp + 0x90]
mov dword [esp], eax
call sub.USER32.dll_ReleaseDC
sub esp, 8
mov eax, dword [esp + 0x88]
mov dword [esp], eax
call sub.GDI32.dll_DeleteDC
sub esp, 4
mov eax, dword [esp + 0x84]
mov dword [esp], eax
call sub.GDI32.dll_DeleteObject
sub esp, 4
mov eax, dword [esp + 0x80]
test eax, eax
je 0x41928f
mov eax, dword [esp + 0xb0]
mov eax, dword [eax]
test eax, eax
jle 0x41928f
movzx ebx, byte [esp + 0x3c]
mov ecx, dword [esp + 0x94]
mov edx, dword [esp + 0x98]
mov eax, dword [esp + 0x80]
mov dword [esp + 0x14], 1
mov dword [esp + 0x10], ebx
mov dword [esp + 0xc], ecx
mov dword [esp + 8], edx
mov edx, dword [esp + 0xb0]
mov dword [esp + 4], edx
mov dword [esp], eax
call fcn.00407085
mov dword [esp + 0x9c], eax
lea eax, [esp + 0x80]
mov dword [esp], eax
call fcn.0040b4bf
mov eax, dword [esp + 0x9c]
add esp, 0xa8
pop ebx
ret