Function at 0x140094040
Capabilities:
Capture screenshot

Disassembly:
mov qword [rsp + 0x10], rbx
mov qword [rsp + 0x18], rbp
mov qword [rsp + 0x20], rsi
push rdi
push r12
push r13
push r14
push r15
sub rsp, 0xf0
mov rax, qword [0x140154010]
xor rax, rsp
mov qword [rsp + 0xe8], rax
mov rdi, rcx
mov r15, qword [rcx + 0x28]
test r15, r15
jne 0x140094084
xor al, al
jmp 0x14009430a
mov ebp, dword [rcx + 0x30]
mov r14d, dword [rcx + 0x34]
mov ebx, dword [rcx + 0x38]
mov esi, dword [rcx + 0x3c]
test esi, esi
je 0x140094099
test ebx, ebx
jne 0x1400940ce
mov ecx, 0x4c
call qword [sym.imp.USER32.dll_GetSystemMetrics]
mov ebp, eax
mov ecx, 0x4d
call qword [sym.imp.USER32.dll_GetSystemMetrics]
mov r14d, eax
mov ecx, 0x4e
call qword [sym.imp.USER32.dll_GetSystemMetrics]
mov ebx, eax
mov ecx, 0x4f
call qword [sym.imp.USER32.dll_GetSystemMetrics]
mov esi, eax
mov dword [rdi + 0x110], ebp
mov dword [rdi + 0x114], r14d
cmp ebx, dword [rdi + 0xbc]
jne 0x1400940eb
cmp esi, dword [rdi + 0xb8]
je 0x14009411e
mov r9d, 0x18
mov r8d, ebx
mov edx, esi
lea rcx, [rsp + 0x60]
call qword [sym.imp.opencv_world480.dll_public:_void___cdecl_cv::Mat::constructor_int__int__int____ptr64]
nop
lea rcx, [rdi + 0xb0]
mov rdx, rax
call qword [sym.imp.opencv_world480.dll_public:_class_cv::Mat____ptr64___cdecl_cv::Mat::operator_class_cv::Mat____ptr64____ptr64]
nop
lea rcx, [rsp + 0x60]
call qword [sym.imp.opencv_world480.dll_public:_void___cdecl_cv::Mat::destructor_void____ptr64]
mov rcx, r15
call qword [sym.imp.USER32.dll_GetWindowDC]
mov r13, rax
mov rcx, rax
call qword [sym.imp.GDI32.dll_CreateCompatibleDC]
mov r12, rax
mov r8d, esi
mov edx, ebx
mov rcx, r13
call qword [sym.imp.GDI32.dll_CreateCompatibleBitmap]
mov qword [rsp + 0x50], rax
mov dword [rsp + 0xc0], 0x28
mov dword [rsp + 0xc4], ebx
mov ecx, esi
neg ecx
mov dword [rsp + 0xc8], ecx
mov qword [rsp + 0xcc], 0x200001
xor edx, edx
mov ecx, esi
imul ecx, ebx
shl ecx, 2
mov dword [rsp + 0xd4], ecx
mov qword [rsp + 0xd8], rdx
mov qword [rsp + 0xe0], rdx
mov rdx, rax
mov rcx, r12
call qword [sym.imp.GDI32.dll_SelectObject]
mov qword [rsp + 0x58], rax
mov dword [rsp + 0x40], 0xcc0020
mov dword [rsp + 0x38], r14d
mov dword [rsp + 0x30], ebp
mov qword [rsp + 0x28], r13
mov dword [rsp + 0x20], esi
mov r9d, ebx
xor r8d, r8d
xor edx, edx
mov rcx, r12
call qword [sym.imp.GDI32.dll_BitBlt]
mov dword [rsp + 0x30], 0
lea rax, [rsp + 0xc0]
mov qword [rsp + 0x28], rax
mov rax, qword [rdi + 0xc0]
mov qword [rsp + 0x20], rax
mov r9d, esi
xor r8d, r8d
mov rbp, qword [rsp + 0x50]
mov rdx, rbp
mov rcx, r12
call qword [sym.imp.GDI32.dll_GetDIBits]
movsxd r9, ebx
movsxd r11, esi
test esi, esi
jle 0x1400942dc
xor r10d, r10d
nop dword [rax + rax]
mov rax, qword [rdi + 0xf8]
mov r8, r10
imul r8, qword [rax]
add r8, qword [rdi + 0xc0]
xor eax, eax
test ebx, ebx
jle 0x1400942bb
cmp ebx, 0x10
jb 0x1400942bb
mov edx, ebx
and edx, 0x8000000f
jge 0x140094255
dec edx
or edx, 0xfffffff0
inc edx
mov ecx, ebx
sub ecx, edx
movsxd rdx, ecx
movdqa xmm2, xmmword [0x1401420e0]
lea rcx, [r8 + 0x20]
nop dword [rax + rax]
movdqu xmm0, xmmword [rcx - 0x20]
por xmm0, xmm2
movdqu xmmword [rcx - 0x20], xmm0
movdqu xmm0, xmmword [rcx - 0x10]
movdqa xmm1, xmm2
por xmm1, xmm0
movdqu xmmword [rcx - 0x10], xmm1
movdqu xmm0, xmmword [rcx]
por xmm0, xmm2
movdqu xmmword [rcx], xmm0
movdqu xmm0, xmmword [rcx + 0x10]
movdqa xmm1, xmm2
por xmm1, xmm0
movdqu xmmword [rcx + 0x10], xmm1
add rax, 0x10
lea rcx, [rcx + 0x40]
cmp rax, rdx
jl 0x140094270
cmp rax, r9
jge 0x1400942d0
or dword [r8 + rax*4], 0xff000000
inc rax
cmp rax, r9
jl 0x1400942c0
inc r10
cmp r10, r11
jl 0x140094220
mov rdx, qword [rsp + 0x58]
mov rcx, r12
call qword [sym.imp.GDI32.dll_SelectObject]
mov rcx, rbp
call qword [sym.imp.GDI32.dll_DeleteObject]
mov rcx, r12
call qword [sym.imp.GDI32.dll_DeleteDC]
mov rdx, r13
mov rcx, r15
call qword [sym.imp.USER32.dll_ReleaseDC]
mov al, 1
mov rcx, qword [rsp + 0xe8]
xor rcx, rsp
call fcn.1400c7430
lea r11, [rsp + 0xf0]
mov rbx, qword [r11 + 0x38]
mov rbp, qword [r11 + 0x40]
mov rsi, qword [r11 + 0x48]
mov rsp, r11
pop r15
pop r14
pop r13
pop r12
pop rdi
ret