Function at 0x1400012b0
Capabilities:
Capture screenshot

Disassembly:
push rbx
push rbp
push r12
push r14
push r15
sub rsp, 0xb0
mov rax, qword [section..data]
xor rax, rsp
mov qword [rsp + 0xa8], rax
xor ecx, ecx
mov r14d, r8d
mov ebp, edx
call qword [sym.imp.USER32.dll_GetSystemMetrics]
mov ecx, 1
mov r15d, eax
call qword [sym.imp.USER32.dll_GetSystemMetrics]
xor ecx, ecx
mov r12d, eax
call qword [sym.imp.USER32.dll_GetDC]
xorps xmm0, xmm0
mov dword [rsp + 0x76], 0
mov rbx, rax
movups xmmword [rsp + 0x50], xmm0
movups xmmword [rsp + 0x60], xmm0
test rax, rax
jne 0x140001328
lea rcx, str.ERROR:_GetDC___failed_
call fcn.140001020
xor eax, eax
jmp 0x140001586
mov rcx, rbx
mov qword [rsp + 0xf8], rdi
call qword [sym.imp.GDI32.dll_CreateCompatibleDC]
mov rdi, rax
test rax, rax
jne 0x14000135f
lea rcx, str.ERROR:_CreateCompatibleDC___failed_
call fcn.140001020
mov rdx, rbx
xor ecx, ecx
call qword [sym.imp.USER32.dll_ReleaseDC]
xor eax, eax
jmp 0x14000157e
mov r8d, r14d
mov qword [rsp + 0xe0], rsi
mov edx, ebp
mov rcx, rbx
call qword [sym.imp.GDI32.dll_CreateCompatibleBitmap]
mov rsi, rax
test rax, rax
jne 0x1400013a4
lea rcx, str.ERROR:_CreateCompatibleBitmap___failed.
call fcn.140001020
mov rdx, rbx
xor ecx, ecx
call qword [sym.imp.USER32.dll_ReleaseDC]
mov rcx, rdi
call qword [sym.imp.GDI32.dll_DeleteDC]
xor eax, eax
jmp 0x140001576
mov rdx, rsi
mov rcx, rdi
call qword [sym.imp.GDI32.dll_SelectObject]
mov dword [rsp + 0x40], 0xcc0020
sub r12d, r14d
mov eax, r12d
sub r15d, ebp
cdq
mov r9d, ebp
sub eax, edx
xor r8d, r8d
sar eax, 1
mov ecx, eax
mov eax, r15d
mov dword [rsp + 0x38], ecx
cdq
sub eax, edx
mov rcx, rdi
sar eax, 1
xor edx, edx
mov dword [rsp + 0x30], eax
mov qword [rsp + 0x28], rbx
mov dword [rsp + 0x20], r14d
call qword [sym.imp.GDI32.dll_BitBlt]
test eax, eax
jne 0x140001427
lea rcx, str.ERROR:_BitBlt___failed_
call fcn.140001020
mov rdx, rbx
xor ecx, ecx
call qword [sym.imp.USER32.dll_ReleaseDC]
mov rcx, rdi
call qword [sym.imp.GDI32.dll_DeleteDC]
mov rcx, rsi
call qword [sym.imp.GDI32.dll_DeleteObject]
xor eax, eax
jmp 0x140001576
lea r8, [rsp + 0x50]
mov edx, 0x20
mov rcx, rsi
call qword [sym.imp.GDI32.dll_GetObjectA]
mov ecx, dword [rsp + 0x5c]
mov eax, 0x4d42
mov word [rsp + 0x70], ax
xorps xmm0, xmm0
mov eax, r14d
mov dword [rsp + 0x7a], 0x36
imul eax, ecx
movdqu xmmword [rsp + 0x98], xmm0
mov dword [rsp + 0x80], 0x28
mov qword [rsp + 0x8c], 0x200001
add eax, 0x36
mov dword [rsp + 0x72], eax
mov eax, dword [rsp + 0x54]
mov dword [rsp + 0x84], eax
mov eax, dword [rsp + 0x58]
mov dword [rsp + 0x88], eax
imul eax, ecx
imul ecx, r14d
mov dword [rsp + 0x94], eax
mov rax, 0xffffffffffffffff
movsxd rcx, ecx
cmovo rcx, rax
call qword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_malloc]
mov rbp, rax
test rax, rax
jne 0x1400014f0
lea rcx, str.ERROR:_malloc___failed_
call fcn.140001020
mov rdx, rbx
xor ecx, ecx
call qword [sym.imp.USER32.dll_ReleaseDC]
mov rcx, rdi
call qword [sym.imp.GDI32.dll_DeleteDC]
mov rcx, rsi
call qword [sym.imp.GDI32.dll_DeleteObject]
xor eax, eax
jmp 0x140001576
lea rax, [rsp + 0x80]
mov dword [rsp + 0x30], 0
mov qword [rsp + 0x28], rax
mov r9d, r14d
xor r8d, r8d
mov qword [rsp + 0x20], rbp
mov rdx, rsi
mov rcx, rdi
call qword [sym.imp.GDI32.dll_GetDIBits]
test eax, eax
jne 0x140001556
lea rcx, str.ERROR:_GetDIBits___failed_
call fcn.140001020
mov rdx, rbx
xor ecx, ecx
call qword [sym.imp.USER32.dll_ReleaseDC]
mov rcx, rdi
call qword [sym.imp.GDI32.dll_DeleteDC]
mov rcx, rsi
call qword [sym.imp.GDI32.dll_DeleteObject]
mov rcx, rbp
call qword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_free]
xor eax, eax
jmp 0x140001576
mov rdx, rbx
xor ecx, ecx
call qword [sym.imp.USER32.dll_ReleaseDC]
mov rcx, rdi
call qword [sym.imp.GDI32.dll_DeleteDC]
mov rcx, rsi
call qword [sym.imp.GDI32.dll_DeleteObject]
mov rax, rbp
mov rsi, qword [rsp + 0xe0]
mov rdi, qword [rsp + 0xf8]
mov rcx, qword [rsp + 0xa8]
xor rcx, rsp
call fcn.1400029e0
add rsp, 0xb0
pop r15
pop r14
pop r12
pop rbp
pop rbx
ret