Function at 0x4018e0
Capabilities:
Capture screenshot

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x403348
mov eax, dword fs:[0]
push eax
sub esp, 0x8c
mov eax, dword [section..data]
xor eax, ebp
mov dword [ebp - 0x10], eax
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov edi, dword [ebp + 0x10]
mov esi, dword [ebp + 0x14]
sub edi, dword [ebp + 8]
sub esi, dword [ebp + 0xc]
mov dword [ebp - 4], 0
test edi, edi
jle 0x401e62
test esi, esi
jle 0x401e62
push 0
call dword [sym.imp.USER32.dll_GetDC]
push eax
mov dword [ebp - 0x78], eax
call dword [sym.imp.GDI32.dll_CreateCompatibleDC]
push esi
push edi
push dword [ebp - 0x78]
mov dword [ebp - 0x74], eax
call dword [sym.imp.GDI32.dll_CreateCompatibleBitmap]
push eax
push dword [ebp - 0x74]
mov dword [ebp - 0x94], eax
call dword [sym.imp.GDI32.dll_SelectObject]
push 0xcc0020
push dword [ebp + 0xc]
mov dword [ebp - 0x98], eax
push dword [ebp + 8]
push dword [ebp - 0x78]
push esi
push edi
push 0
push 0
push dword [ebp - 0x74]
call dword [sym.imp.GDI32.dll_BitBlt]
lea eax, [ebp - 0x6c]
mov dword [ebp - 0x6c], 0
push eax
push 0
push dword [ebp - 0x94]
xorps xmm0, xmm0
movups xmmword [ebp - 0x54], xmm0
mov dword [ebp - 0x54], 0x40434c
call dword [sym.imp.gdiplus.dll_GdipCreateBitmapFromHBITMAP]
mov dword [ebp - 0x4c], eax
mov eax, dword [ebp - 0x6c]
mov dword [ebp - 0x50], eax
lea eax, [ebp - 0x68]
mov byte [ebp - 4], 1
push eax
lea eax, [ebp - 0x14]
mov dword [ebp - 0x14], 0
push eax
mov dword [ebp - 0x68], 0
call dword [sym.imp.gdiplus.dll_GdipGetImageEncodersSize]
mov eax, dword [ebp - 0x68]
test eax, eax
je 0x401a55
push eax
call dword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_malloc]
mov edi, eax
add esp, 4
mov dword [ebp - 0x70], edi
test edi, edi
je 0x401a55
push edi
push dword [ebp - 0x68]
push dword [ebp - 0x14]
call dword [sym.imp.gdiplus.dll_GdipGetImageEncoders]
xor esi, esi
cmp dword [ebp - 0x14], esi
jbe 0x401a4b
add edi, 0x30
mov eax, dword [edi]
mov ecx, str.image_png
nop dword [eax + eax]
mov dx, word [eax]
cmp dx, word [ecx]
jne 0x401a36
test dx, dx
je 0x401a32
mov dx, word [eax + 2]
cmp dx, word [ecx + 2]
jne 0x401a36
add eax, 4
add ecx, 4
test dx, dx
jne 0x401a10
xor eax, eax
jmp 0x401a3b
sbb eax, eax
or eax, 1
test eax, eax
je 0x401a6d
inc esi
add edi, 0x4c
cmp esi, dword [ebp - 0x14]
jb 0x401a04
mov edi, dword [ebp - 0x70]
push edi
call dword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_free]
add esp, 4
mov ecx, dword [ebp + 0x28]
mov eax, 0x7fffffff
sub eax, ecx
mov dword [ebp - 0x70], ecx
cmp eax, 0x1c
jb 0x401eb3
jmp 0x401a7e
mov ecx, dword [ebp - 0x70]
imul eax, esi, 0x4c
push ecx
movups xmm0, xmmword [eax + ecx]
movups xmmword [ebp - 0x64], xmm0
jmp 0x401a4c
cmp dword [ebp + 0x2c], 0xf
lea eax, [ebp + 0x18]
lea edx, [ecx + 0x1c]
mov dword [ebp - 0x80], 0
cmova eax, dword [ebp + 0x18]
lea edi, [ebp - 0x90]
mov esi, 0xf
mov dword [ebp - 0x14], eax
mov dword [ebp - 0x7c], 0
xorps xmm0, xmm0
mov dword [ebp - 0x68], edx
movups xmmword [ebp - 0x90], xmm0
cmp edx, esi
jbe 0x401b35
mov esi, edx
or esi, 0xf
cmp esi, 0x7fffffff
jbe 0x401af5
mov ecx, 0x80000000
mov esi, 0x7fffffff
add ecx, 0x23
push ecx
call fcn.00402598
add esp, 4
test eax, eax
je 0x401c29
mov ecx, dword [ebp - 0x70]
lea edi, [eax + 0x23]
mov edx, dword [ebp - 0x68]
and edi, 0xffffffe0
mov dword [edi - 4], eax
jmp 0x401b2f
mov eax, 0x16
cmp esi, eax
cmovb esi, eax
lea eax, [esi + 1]
cmp eax, 0x1000
jb 0x401b16
lea ecx, [eax + 0x23]
cmp ecx, eax
jbe 0x401eb8
jmp 0x401ad3
test eax, eax
je 0x401b2d
push eax
call fcn.00402598
mov ecx, dword [ebp - 0x70]
add esp, 4
mov edx, dword [ebp - 0x68]
mov edi, eax
jmp 0x401b2f
xor edi, edi
mov dword [ebp - 0x90], edi
movups xmm0, xmmword [str.C:UsersDeveloperPictures_]
mov dword [ebp - 0x80], edx
mov dword [ebp - 0x7c], esi
movups xmmword [edi], xmm0
push ecx
movq xmm0, qword [0x404248]
push dword [ebp - 0x14]
movq qword [edi + 0x10], xmm0
mov eax, dword [0x404250]
mov dword [edi + 0x18], eax
lea eax, [edi + 0x1c]
push eax
call sub.VCRUNTIME140.dll_memcpy
mov eax, dword [ebp - 0x68]
add esp, 0xc
mov byte [edi + eax], 0
mov byte [ebp - 4], 2
mov edx, dword [ebp - 0x7c]
mov eax, edx
mov ecx, dword [ebp - 0x80]
sub eax, ecx
cmp eax, 4
jb 0x401bae
lea eax, [ecx + 4]
cmp edx, 0xf
mov dword [ebp - 0x80], eax
lea eax, [ebp - 0x90]
cmova eax, dword [ebp - 0x90]
mov dword [eax + ecx], 0x676e702e
mov byte [eax + ecx + 4], 0
lea eax, [ebp - 0x90]
jmp 0x401bc5
push 4
push ecx
mov byte [ebp - 0x70], 0
lea ecx, [ebp - 0x90]
push dword [ebp - 0x70]
push 4
call fcn.00402430
mov dword [ebp - 0x34], 0
xorps xmm0, xmm0
movups xmmword [ebp - 0x44], xmm0
mov dword [ebp - 0x30], 0
movups xmm0, xmmword [eax]
movups xmmword [ebp - 0x44], xmm0
movq xmm0, qword [eax + 0x10]
movq qword [ebp - 0x34], xmm0
mov dword [eax + 0x10], 0
mov dword [eax + 0x14], 0xf
mov byte [eax], 0
mov byte [ebp - 4], 4
mov ecx, dword [ebp - 0x7c]
cmp ecx, 0xf
jbe 0x401c39
mov edx, dword [ebp - 0x90]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x401c2f
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
jbe 0x401c2f
call dword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
push ecx
push edx
call fcn.004025c8
add esp, 8
cmp dword [ebp - 0x30], 0xf
lea edx, [ebp - 0x44]
lea edi, [ebp - 0x44]
mov dword [ebp - 0x80], 0
cmova edx, dword [ebp - 0x44]
xorps xmm0, xmm0
add edx, dword [ebp - 0x34]
cmp dword [ebp - 0x30], 0xf
mov dword [ebp - 0x7c], 0xf
cmova edi, dword [ebp - 0x44]
mov byte [ebp - 0x90], 0
mov dword [ebp - 0x1c], 0
movups xmmword [ebp - 0x2c], xmm0
cmp edi, edx
jne 0x401c8c
mov ecx, 7
xor eax, eax
mov dword [ebp - 0x18], ecx
mov word [ebp - 0x2c], ax
jmp 0x401d82
sub edx, edi
mov dword [ebp - 0x18], 7
mov dword [ebp - 0x68], edx
cmp edx, 0x7ffffffe
ja 0x401ebd
mov esi, 7
cmp edx, esi
jbe 0x401d41
mov esi, edx
or esi, 7
cmp esi, 0x7ffffffe
jbe 0x401ccc
mov eax, 0x7fffffff
mov esi, 0x7ffffffe
add eax, eax
jmp 0x401ced
mov eax, 0xa
cmp esi, eax
cmovb esi, eax
lea eax, [esi + 1]
cmp eax, 0x7fffffff
ja 0x401eb8
add eax, eax
cmp eax, 0x1000
jb 0x401d1f
lea ecx, [eax + 0x23]
cmp ecx, eax
jbe 0x401eb8
push ecx
call fcn.00402598
mov ecx, eax
add esp, 4
test ecx, ecx
je 0x401e88
mov edx, dword [ebp - 0x68]
lea eax, [ecx + 0x23]
and eax, 0xffffffe0
mov dword [eax - 4], ecx
mov dword [ebp - 0x2c], eax
mov dword [ebp - 0x18], esi
jmp 0x401d44
test eax, eax
je 0x401d37
push eax
call fcn.00402598
mov edx, dword [ebp - 0x68]
add esp, 4
mov dword [ebp - 0x2c], eax
mov dword [ebp - 0x18], esi
jmp 0x401d44
xor eax, eax
mov dword [ebp - 0x18], esi
mov dword [ebp - 0x2c], eax
jmp 0x401d44
mov eax, dword [ebp - 0x2c]
cmp esi, 7
lea ecx, [ebp - 0x2c]
mov esi, dword [ebp - 0x68]
cmova ecx, eax
mov dword [ebp - 0x70], ecx
test esi, esi
je 0x401d73
nop word [eax + eax]
movsx ax, byte [edi]
lea ecx, [ecx + 2]
lea edi, [edi + 1]
mov word [ecx - 2], ax
sub edx, 1
jne 0x401d60
mov eax, dword [ebp - 0x70]
xor ecx, ecx
mov dword [ebp - 0x1c], esi
mov word [eax + esi*2], cx
mov ecx, dword [ebp - 0x18]
mov esi, dword [ebp - 0x6c]
lea eax, [ebp - 0x2c]
cmp ecx, 7
lea ecx, [ebp - 0x64]
push 0
cmova eax, dword [ebp - 0x2c]
push ecx
push eax
push esi
call dword [sym.imp.gdiplus.dll_GdipSaveImageToFile]
push dword [ebp - 0x98]
mov edi, dword [ebp - 0x74]
push edi
call dword [sym.imp.GDI32.dll_SelectObject]
push edi
call dword [sym.imp.GDI32.dll_DeleteDC]
push dword [ebp - 0x78]
push 0
call dword [sym.imp.USER32.dll_ReleaseDC]
push dword [ebp - 0x94]
call dword [sym.imp.GDI32.dll_DeleteObject]
mov ecx, dword [ebp - 0x18]
cmp ecx, 7
jbe 0x401e05
mov edx, dword [ebp - 0x2c]
lea ecx, [ecx*2 + 2]
mov eax, edx
cmp ecx, 0x1000
jb 0x401dfb
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x401e88
push ecx
push edx
call fcn.004025c8
add esp, 8
mov ecx, dword [ebp - 0x30]
xor eax, eax
mov dword [ebp - 0x1c], 0
mov dword [ebp - 0x18], 7
mov word [ebp - 0x2c], ax
cmp ecx, 0xf
jbe 0x401e49
mov edx, dword [ebp - 0x44]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x401e3f
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x401e88
push ecx
push edx
call fcn.004025c8
add esp, 8
push esi
mov dword [ebp - 0x34], 0
mov dword [ebp - 0x30], 0xf
mov byte [ebp - 0x44], 0
call dword [sym.imp.gdiplus.dll_GdipDisposeImage]
mov ecx, dword [ebp + 0x2c]
cmp ecx, 0xf
jbe 0x401e98
mov edx, dword [ebp + 0x18]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x401e8e
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
jbe 0x401e8e
call dword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
push ecx
push edx
call fcn.004025c8
add esp, 8
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
mov ecx, dword [ebp - 0x10]
xor ecx, ebp
call fcn.0040258a
mov esp, ebp
pop ebp
ret
call fcn.004011a0
call fcn.00401100
call fcn.004011a0
int3