Function at 0x41a770
Capabilities:
Capture screenshot
Open clipboard
Write clipboard data

Disassembly:
push ebp
mov ebp, esp
sub esp, 0xe0
mov eax, dword [0x42c080]
xor eax, ebp
mov dword [ebp - 0xcc], eax
mov dword [ebp - 0xe0], ecx
mov eax, dword [ebp - 0xe0]
cmp dword [eax + 0xb4], 0
jne 0x41a7a2
xor eax, eax
jmp 0x41ac15
mov dword [ebp - 0x18], 0
mov ecx, dword [ebp - 0x18]
mov dword [ebp - 0x1c], ecx
mov edx, dword [ebp - 0xe0]
mov eax, dword [ebp - 0xe0]
mov ecx, dword [edx + 0x34]
sub ecx, dword [eax + 0x2c]
mov dword [ebp - 0x14], ecx
mov edx, dword [ebp - 0xe0]
mov eax, dword [ebp - 0xe0]
mov ecx, dword [edx + 0x38]
sub ecx, dword [eax + 0x30]
mov dword [ebp - 0x10], ecx
mov edx, dword [ebp - 0xe0]
add edx, 0x2c
push edx
lea eax, [ebp - 0x1c]
push eax
mov ecx, dword [ebp - 0xe0]
mov edx, dword [ecx + 0xb4]
push edx
mov eax, dword [ebp - 0xe0]
mov ecx, dword [eax + 0xbc]
push ecx
mov ecx, dword [ebp - 0xe0]
call fcn.00417010
mov edx, dword [ebp - 0xe0]
mov eax, dword [edx + 0x2c]
mov dword [ebp - 0xc], eax
mov ecx, dword [ebp - 0xe0]
mov edx, dword [ecx + 0x30]
mov dword [ebp - 8], edx
mov eax, dword [ebp - 0xe0]
mov ecx, dword [ebp - 0xe0]
mov edx, dword [eax + 0x34]
sub edx, dword [ecx + 0x2c]
mov dword [ebp - 0x44], edx
mov eax, dword [ebp - 0xe0]
mov ecx, dword [ebp - 0xe0]
mov edx, dword [eax + 0x38]
sub edx, dword [ecx + 0x30]
mov dword [ebp - 0x40], edx
cmp dword [ebp - 0x44], 0
jle 0x41a85a
cmp dword [ebp - 0x40], 0
jg 0x41a861
xor eax, eax
jmp 0x41ac15
lea eax, [ebp - 0x38]
push eax
push 0x18
mov ecx, dword [ebp - 0xe0]
mov edx, dword [ecx + 0xb4]
push edx
call dword [sym.imp.GDI32.dll_GetObjectW]
cmp dword [ebp - 0x34], 0
jle 0x41a886
cmp dword [ebp - 0x30], 0
jg 0x41a88d
xor eax, eax
jmp 0x41ac15
cmp dword [ebp - 0xc], 0
jge 0x41a89a
mov dword [ebp - 0xc], 0
cmp dword [ebp - 8], 0
jge 0x41a8a7
mov dword [ebp - 8], 0
mov eax, dword [ebp - 0xc]
add eax, dword [ebp - 0x44]
cmp eax, dword [ebp - 0x34]
jle 0x41a8bb
mov ecx, dword [ebp - 0x34]
sub ecx, dword [ebp - 0xc]
mov dword [ebp - 0x44], ecx
mov edx, dword [ebp - 8]
add edx, dword [ebp - 0x40]
cmp edx, dword [ebp - 0x30]
jle 0x41a8cf
mov eax, dword [ebp - 0x30]
sub eax, dword [ebp - 8]
mov dword [ebp - 0x40], eax
push 0
call dword [sym.imp.USER32.dll_GetDC]
mov dword [ebp - 0x20], eax
mov ecx, dword [ebp - 0x20]
push ecx
call dword [sym.imp.GDI32.dll_CreateCompatibleDC]
mov dword [ebp - 0x50], eax
mov edx, dword [ebp - 0xe0]
mov eax, dword [edx + 0xb4]
push eax
mov ecx, dword [ebp - 0x50]
push ecx
call dword [sym.imp.GDI32.dll_SelectObject]
mov dword [ebp - 0x3c], eax
mov edx, dword [ebp - 0x20]
push edx
call dword [sym.imp.GDI32.dll_CreateCompatibleDC]
mov dword [ebp - 0x48], eax
mov eax, dword [ebp - 0x40]
push eax
mov ecx, dword [ebp - 0x44]
push ecx
mov edx, dword [ebp - 0x20]
push edx
call dword [sym.imp.GDI32.dll_CreateCompatibleBitmap]
mov dword [ebp - 4], eax
mov eax, dword [ebp - 4]
push eax
mov ecx, dword [ebp - 0x48]
push ecx
call dword [sym.imp.GDI32.dll_SelectObject]
mov dword [ebp - 0x4c], eax
push 0xcc0020
mov edx, dword [ebp - 8]
push edx
mov eax, dword [ebp - 0xc]
push eax
mov ecx, dword [ebp - 0x50]
push ecx
mov edx, dword [ebp - 0x40]
push edx
mov eax, dword [ebp - 0x44]
push eax
push 0
push 0
mov ecx, dword [ebp - 0x48]
push ecx
call dword [sym.imp.GDI32.dll_BitBlt]
mov edx, dword [ebp - 0x3c]
push edx
mov eax, dword [ebp - 0x50]
push eax
call dword [sym.imp.GDI32.dll_SelectObject]
mov ecx, dword [ebp - 0x50]
push ecx
call dword [sym.imp.GDI32.dll_DeleteDC]
cmp dword [ebp + 8], 0
jne 0x41a9a2
push 0
call dword [sym.imp.USER32.dll_OpenClipboard]
test eax, eax
je 0x41a99d
call dword [sym.imp.USER32.dll_EmptyClipboard]
mov edx, dword [ebp - 4]
push edx
push 2
call dword [sym.imp.USER32.dll_SetClipboardData]
call dword [sym.imp.USER32.dll_CloseClipboard]
jmp 0x41abe2
mov dword [ebp - 0x54], str.PNG__.png_
push 0x58
push 0
lea eax, [ebp - 0xb0]
push eax
call fcn.00409050
add esp, 0xc
mov dword [ebp - 0xb0], 0x58
mov ecx, dword [ebp - 0xe0]
mov edx, dword [ecx + 4]
mov dword [ebp - 0xac], edx
mov eax, dword [ebp + 8]
mov dword [ebp - 0x94], eax
push 0x42e298
call fcn.00408d1c
add esp, 4
test eax, eax
jbe 0x41a9f9
mov dword [ebp - 0x84], 0x42e298
mov dword [ebp - 0x74], 0x42945c
mov dword [ebp - 0x90], 0x208
mov ecx, dword [ebp - 0x54]
mov dword [ebp - 0xa4], ecx
mov dword [ebp - 0x7c], 0x880002
lea edx, [ebp - 0xb0]
push edx
call dword [sym.imp.COMDLG32.dll_GetSaveFileNameW]
cmp eax, 1
jne 0x41abe2
push 0
mov eax, dword [ebp - 4]
push eax
lea ecx, [ebp - 0xc8]
call fcn.00401840
cmp dword [ebp - 0x98], 2
jne 0x41aa98
push 0x429464
mov ecx, dword [ebp + 8]
push ecx
call fcn.00401000
add esp, 8
test eax, eax
jne 0x41aa75
push str..bmp
push 0x208
mov edx, dword [ebp + 8]
push edx
call fcn.00409453
add esp, 0xc
mov dword [0x42e294], 1
lea eax, [ebp - 0xdc]
push eax
push str.image_bmp
call fcn.0041a510
add esp, 8
jmp 0x41ab4a
cmp dword [ebp - 0x98], 3
jne 0x41ab01
push 0x429490
mov ecx, dword [ebp + 8]
push ecx
call fcn.00401000
add esp, 8
test eax, eax
jne 0x41aae1
push str..jpeg
mov edx, dword [ebp + 8]
push edx
call fcn.00401000
add esp, 8
test eax, eax
jne 0x41aae1
push str..jpg
push 0x208
mov eax, dword [ebp + 8]
push eax
call fcn.00409453
add esp, 0xc
mov dword [0x42e294], 2
lea ecx, [ebp - 0xdc]
push ecx
push str.image_jpeg
call fcn.0041a510
add esp, 8
jmp 0x41ab4a
push 0x4294cc
mov edx, dword [ebp + 8]
push edx
call fcn.00401000
add esp, 8
test eax, eax
jne 0x41ab2c
push str..png
push 0x208
mov eax, dword [ebp + 8]
push eax
call fcn.00409453
add esp, 0xc
mov dword [0x42e294], 0
lea ecx, [ebp - 0xdc]
push ecx
push str.image_png
call fcn.0041a510
add esp, 8
mov edx, dword [ebp + 8]
push edx
call fcn.00408d1c
add esp, 4
sub eax, 1
mov dword [ebp - 0xb8], eax
jmp 0x41ab70
mov eax, dword [ebp - 0xb8]
sub eax, 1
mov dword [ebp - 0xb8], eax
cmp dword [ebp - 0xb8], 0
jle 0x41aba1
mov ecx, dword [ebp - 0xb8]
mov edx, dword [ebp + 8]
movzx eax, word [edx + ecx*2]
cmp eax, 0x5c
je 0x41ab9d
mov ecx, dword [ebp - 0xb8]
mov edx, dword [ebp + 8]
movzx eax, word [edx + ecx*2]
cmp eax, 0x2f
jne 0x41ab9f
jmp 0x41aba1
jmp 0x41ab61
mov ecx, dword [ebp - 0xb8]
push ecx
mov edx, dword [ebp + 8]
push edx
push 0x42e298
call fcn.004067c0
add esp, 0xc
push 0
lea eax, [ebp - 0xdc]
push eax
mov ecx, dword [ebp + 8]
push ecx
lea ecx, [ebp - 0xc8]
call fcn.00401740
mov dword [ebp - 0xb4], eax
lea ecx, [ebp - 0xc8]
call fcn.00401820
mov edx, dword [ebp - 0x4c]
push edx
mov eax, dword [ebp - 0x48]
push eax
call dword [sym.imp.GDI32.dll_SelectObject]
mov ecx, dword [ebp - 4]
push ecx
call dword [sym.imp.GDI32.dll_DeleteObject]
mov edx, dword [ebp - 0x48]
push edx
call dword [sym.imp.GDI32.dll_DeleteDC]
mov eax, dword [ebp - 0x20]
push eax
push 0
call dword [sym.imp.USER32.dll_ReleaseDC]
mov eax, 1
mov ecx, dword [ebp - 0xcc]
xor ecx, ebp
call fcn.00407e44
mov esp, ebp
pop ebp
ret 4