Function at 0x409180
Capabilities:
Print debug messages

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x5ac560
mov eax, dword fs:[0]
push eax
sub esp, 0x2e0
mov eax, dword [0x5f8800]
xor eax, ebp
mov dword [ebp - 0x14], eax
push ebx
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov dword [ebp - 0x10], esp
mov eax, dword [ebp + 8]
mov esi, dword [ebp + 0xc]
mov dword [ebp - 0x2c4], eax
mov dword [ebp - 0x2c8], esi
test eax, eax
je 0x4094f4
test esi, esi
je 0x4094f4
push 0x78
lea eax, [ebp - 0x11c]
mov byte [ebp - 0x2b1], 0
push 0
push eax
mov dword [ebp - 0x2b8], 0
mov dword [ebp - 0x2bc], 0
mov dword [ebp - 0x2c0], 0
mov dword [ebp - 0x2cc], 0
mov dword [ebp - 4], 0
call sub.VCRUNTIME140.dll_memset
mov eax, dword [esi]
lea ecx, [ebp - 0x120]
add esp, 0xc
mov dword [ebp - 0x120], 0x7c
push ecx
push esi
call dword [eax + 0x58]
test eax, eax
js 0x409514
mov eax, dword [esi]
lea ecx, [ebp - 0x2b8]
push ecx
push esi
call dword [eax + 0x44]
test eax, eax
js 0x40952f
cmp byte [ebp + 0x10], 0
je 0x40927c
movsx eax, word [0x5fd398]
push eax
movsx eax, word [0x5fd394]
push eax
push dword [ebp - 0x2b8]
call dword [sym.imp.GDI32.dll_CreateCompatibleBitmap]
mov edi, eax
mov dword [ebp - 0x2bc], edi
jmp 0x4092a0
movsx eax, word [0x5fd390]
push eax
movsx eax, word [0x5fd38c]
push eax
push dword [ebp - 0x2b8]
call dword [sym.imp.GDI32.dll_CreateCompatibleBitmap]
mov edi, eax
mov dword [ebp - 0x2bc], eax
test edi, edi
je 0x40954a
push dword [ebp - 0x2b8]
call dword [sym.imp.GDI32.dll_CreateCompatibleDC]
mov ebx, eax
mov dword [ebp - 0x2c0], ebx
test ebx, ebx
je 0x409565
push edi
push ebx
call dword [sym.imp.GDI32.dll_SelectObject]
cmp byte [ebp + 0x10], 0
push 0xcc0020
je 0x4092fe
movsx eax, word [0x5fd3b0]
push eax
movsx eax, word [0x5fd3ac]
push eax
push dword [ebp - 0x2b8]
movsx eax, word [0x5fd398]
push eax
movsx eax, word [0x5fd394]
jmp 0x409317
movsx eax, word [0x5fd390]
push 0
push 0
push dword [ebp - 0x2b8]
push eax
movsx eax, word [0x5fd38c]
push eax
push 0
push 0
push ebx
call dword [sym.imp.GDI32.dll_BitBlt]
push dword [ebp - 0x2b8]
mov eax, dword [esi]
push esi
call dword [eax + 0x68]
mov eax, dword [ebp - 0x114]
lea ecx, [ebp - 0xa4]
push 0
push ecx
push 0
mov dword [ebp - 0xa0], eax
xorps xmm0, xmm0
mov eax, dword [ebp - 0x118]
push eax
push 0
push edi
push ebx
mov dword [ebp - 0x2b8], 0
movlpd qword [ebp - 0x8c], xmm0
movlpd qword [ebp - 0x84], xmm0
mov dword [ebp - 0x7c], 0
mov dword [ebp - 0xa4], 0x28
mov dword [ebp - 0x9c], eax
mov dword [ebp - 0x98], 0x180001
mov dword [ebp - 0x94], 0
mov dword [ebp - 0x90], 0
call dword [sym.imp.GDI32.dll_GetDIBits]
test eax, eax
je 0x409580
push dword [ebp - 0x90]
call sub.api_ms_win_crt_heap_l1_1_0.dll_malloc
add esp, 4
mov dword [ebp - 0x2cc], eax
test eax, eax
je 0x40959b
push 0
lea ecx, [ebp - 0xa4]
push ecx
push eax
push dword [ebp - 0x118]
push 0
push edi
push ebx
call dword [sym.imp.GDI32.dll_GetDIBits]
test eax, eax
je 0x4095b6
push 0
lea ecx, [ebp - 0x2b0]
call sub.cximage.dll_public:_void___thiscall_CxImage::constructor_unsigned_long_int_
push edi
lea ecx, [ebp - 0x2b0]
mov byte [ebp - 4], 1
call sub.cximage.dll_public:_void___thiscall_CxImage::CreateFromHBITMAP_struct_HBITMAP____
cmp byte [ebp + 0x14], 0
lea ecx, [ebp - 0x2b0]
je 0x40941c
push 1
jmp 0x40941e
push 3
push dword [ebp - 0x2c4]
call sub.cximage.dll_public:_bool___thiscall_CxImage::Save_char_const___unsigned_long_int_
lea ecx, [ebp - 0x2b0]
call sub.cximage.dll_public:_void___thiscall_CxImage::Destroy_void_
push str.Screenshot_Success_r_n
call dword [sym.imp.KERNEL32.dll_OutputDebugStringA]
lea ecx, [ebp - 0x2b0]
mov byte [ebp - 0x2b1], 1
call sub.cximage.dll_public_virtual:_void___thiscall_CxImage::destructor_void_
jmp 0x40949a
mov ecx, dword [ebp - 0x2b8]
mov dword [ebp - 4], 0xffffffff
test ecx, ecx
je 0x4094b2
mov eax, dword [esi]
push ecx
push esi
call dword [eax + 0x68]
test ebx, ebx
je 0x4094bd
push ebx
call dword [sym.imp.GDI32.dll_DeleteDC]
test edi, edi
je 0x4094c8
push edi
call dword [sym.imp.GDI32.dll_DeleteObject]
mov eax, dword [ebp - 0x2cc]
test eax, eax
je 0x4094db
push eax
call fcn.005ac157
add esp, 4
mov al, byte [ebp - 0x2b1]
jmp 0x4094f6
xor al, al
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 0x14]
xor ecx, ebp
call fcn.005aa550
mov esp, ebp
pop ebp
ret 0x10
push 0x5e4478
lea eax, [ebp - 0x2d0]
mov dword [ebp - 0x2d0], 0
push eax
call sub.VCRUNTIME140.dll__CxxThrowException
push 0x5e4478
lea eax, [ebp - 0x2d4]
mov dword [ebp - 0x2d4], 1
push eax
call sub.VCRUNTIME140.dll__CxxThrowException
push 0x5e4478
lea eax, [ebp - 0x2d8]
mov dword [ebp - 0x2d8], 2
push eax
call sub.VCRUNTIME140.dll__CxxThrowException
push 0x5e4478
lea eax, [ebp - 0x2dc]
mov dword [ebp - 0x2dc], 3
push eax
call sub.VCRUNTIME140.dll__CxxThrowException
push 0x5e4478
lea eax, [ebp - 0x2e0]
mov dword [ebp - 0x2e0], 5
push eax
call sub.VCRUNTIME140.dll__CxxThrowException
push 0x5e4478
lea eax, [ebp - 0x2e4]
mov dword [ebp - 0x2e4], 6
push eax
call sub.VCRUNTIME140.dll__CxxThrowException
push 0x5e4478
lea eax, [ebp - 0x2e8]
mov dword [ebp - 0x2e8], 7
push eax
call sub.VCRUNTIME140.dll__CxxThrowException
int3