Function at 0x14008871e
Capabilities:
Capture screenshot

Disassembly:
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbp
push rbx
sub rsp, 0x1e8
mov qword [rsp + 0x68], rcx
mov rax, qword [0x1401c6840]
xor rax, rsp
mov qword [rsp + 0x1e0], rax
mov rsi, qword [sym.imp.USER32.dll_GetSystemMetrics]
mov ecx, 0x4c
call rsi
mov dword [rsp + 0x54], eax
mov ecx, 0x4d
call rsi
mov r12d, eax
mov ecx, 0x4e
call rsi
mov ebp, eax
mov ecx, 0x4f
call rsi
mov esi, eax
xor ebx, ebx
xor ecx, ecx
call qword [sym.imp.USER32.dll_GetDC]
mov rdi, rax
mov r15, qword [sym.imp.GDI32.dll_GetDeviceCaps]
mov rcx, rax
mov edx, 8
call r15
mov r14d, eax
mov rcx, rdi
mov edx, 0xa
call r15
mov r13d, eax
mov rcx, rdi
call qword [sym.imp.GDI32.dll_CreateCompatibleDC]
mov r15, rax
mov rcx, rdi
mov edx, r14d
mov r8d, r13d
call qword [sym.imp.GDI32.dll_CreateCompatibleBitmap]
mov qword [rsp + 0x58], rax
mov rcx, r15
mov rdx, rax
call qword [sym.imp.GDI32.dll_SelectObject]
mov qword [rsp + 0x60], rax
mov dword [rsp + 0x38], r12d
mov eax, dword [rsp + 0x54]
mov dword [rsp + 0x30], eax
mov qword [rsp + 0x28], rdi
mov dword [rsp + 0x20], esi
mov dword [rsp + 0x40], 0x40cc0020
mov rcx, r15
xor edx, edx
xor r8d, r8d
mov r9d, ebp
call qword [sym.imp.GDI32.dll_BitBlt]
lea r14, [rsp + 0xd0]
mov qword [r14 + 0x10], rbx
vxorps xmm0, xmm0, xmm0
vmovaps xmmword [r14], xmm0
lea rbp, [rsp + 0xc8]
mov qword [rbp], rbx
xor ecx, ecx
mov edx, 1
mov r8, rbp
call qword [sym.imp.ole32.dll_CreateStreamOnHGlobal]
lea rax, vtable.ATL::CImage.0
lea r12, [rsp + 0x78]
mov qword [r12], rax
vxorps xmm0, xmm0, xmm0
vmovups ymmword [r12 + 8], ymm0
mov word [r12 + 0x28], 0
mov qword [r12 + 0x2c], 0xffffffffffffffff
mov qword [r12 + 0x38], rbx
mov dword [r12 + 0x40], 0
mov qword [r12 + 0x48], rbx
vzeroupper
call fcn.14000a5ba
mov rsi, rax
lea r13, [rax + 8]
mov rcx, r13
call qword [sym.imp.KERNEL32.dll_EnterCriticalSection]
inc dword [rsi + 0x30]
mov rcx, r13
call qword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
mov rcx, r12
mov r13, qword [rsp + 0x58]
mov rdx, r13
xor r8d, r8d
call fcn.1400889ec
mov rdx, qword [rbp]
lea r8, [0x140120948]
mov rcx, r12
call fcn.140088a06
mov rcx, qword [rbp]
lea rsi, [rsp + 0x70]
mov rdx, rsi
call qword [sym.imp.SHLWAPI.dll_IStream_Size]
mov esi, dword [rsi]
mov rcx, qword [rbp]
call qword [sym.imp.SHLWAPI.dll_IStream_Reset]
lea r8, [rsp + 0xe8]
mov rcx, r14
mov rdx, rsi
call fcn.14008dcda
mov rdx, qword [r14]
mov rcx, qword [rbp]
mov r8d, esi
call qword [sym.imp.SHLWAPI.dll_IStream_Read]
mov rcx, qword [rbp]
mov rax, qword [rcx]
call qword [rax + 0x10]
lea rcx, [rsp + 0xe8]
mov edx, 0x22
mov r8d, 1
call fcn.140089236
lea rcx, [rsp + 0xf8]
mov rdx, qword [r14]
mov r8, qword [r14 + 8]
sub r8, rdx
call fcn.1400893c8
mov rcx, r15
mov rdx, qword [rsp + 0x60]
call qword [sym.imp.GDI32.dll_SelectObject]
mov rcx, r15
call qword [sym.imp.GDI32.dll_DeleteDC]
xor ecx, ecx
mov rdx, rdi
call qword [sym.imp.USER32.dll_ReleaseDC]
mov rcx, r13
call qword [sym.imp.GDI32.dll_DeleteObject]
lea rcx, [rsp + 0x100]
mov rdi, qword [rsp + 0x68]
mov rdx, rdi
call fcn.14008f740
lea rsi, [rsp + 0x180]
mov rcx, rsi
call fcn.14008e2ec
lea rax, vtable.std::ios_base.0
mov qword [rsi], rax
mov rcx, rsi
call fcn.1400e4e5c
lea rax, vtable.ATL::CImage.0
mov qword [r12], rax
mov rcx, r12
call fcn.14008e3fe
call fcn.14000a5ba
mov rcx, rax
call fcn.14008e480
mov rcx, r14
call fcn.140016d62
mov rcx, qword [rsp + 0x1e0]
xor rcx, rsp
call fcn.1400b84b0
mov rax, rdi
add rsp, 0x1e8
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
ret