Function at 0x140148bc0
Capabilities:
Capture screenshot

Disassembly:
mov rax, rsp
push rbx
push rdi
sub rsp, 0x78
movups xmm0, xmmword [rcx + 0x10]
mov qword [rax + 0x10], rbp
mov rdi, rcx
mov rcx, qword [rcx + 0x38]
mov qword [rax + 0x18], rsi
mov qword [rax + 0x20], r12
mov qword [rax - 0x18], r13
mov qword [rax - 0x20], r14
mov qword [rax - 0x28], r15
movups xmmword [rax - 0x38], xmm0
call qword [sym.imp.GDI32.dll_DeleteObject]
xor ecx, ecx
call qword [sym.imp.USER32.dll_GetDC]
mov r12, qword [rsp + 0x58]
mov rsi, rax
mov r13, qword [rsp + 0x50]
test rax, rax
je 0x140148cc7
mov r14d, dword [rsp + 0x5c]
mov ebp, r12d
sub r14d, dword [rsp + 0x54]
mov rcx, rax
sub ebp, r13d
call qword [sym.imp.GDI32.dll_CreateCompatibleDC]
mov qword [rsp + 0x90], rax
mov rbx, rax
test rax, rax
je 0x140148cbc
mov r8d, r14d
mov edx, ebp
mov rcx, rsi
call qword [sym.imp.GDI32.dll_CreateCompatibleBitmap]
mov r15, rax
test rax, rax
je 0x140148cbc
mov rdx, rax
mov rcx, rbx
call qword [sym.imp.GDI32.dll_SelectObject]
mov dword [rsp + 0x40], 0x40cc0020
mov r9d, ebp
mov rbp, qword [rsp + 0x90]
mov rbx, rax
mov eax, dword [rsp + 0x54]
xor r8d, r8d
mov dword [rsp + 0x38], eax
xor edx, edx
mov dword [rsp + 0x30], r13d
mov rcx, rbp
mov qword [rsp + 0x28], rsi
mov dword [rsp + 0x20], r14d
call qword [sym.imp.GDI32.dll_BitBlt]
mov rdx, rbx
mov rcx, rbp
call qword [sym.imp.GDI32.dll_SelectObject]
mov rcx, rbp
call qword [sym.imp.GDI32.dll_DeleteDC]
mov rdx, rsi
xor ecx, ecx
call qword [sym.imp.USER32.dll_ReleaseDC]
jmp 0x140148cca
mov rdx, rsi
xor ecx, ecx
call qword [sym.imp.USER32.dll_ReleaseDC]
xor r15d, r15d
mov r14, qword [rsp + 0x68]
mov eax, r12d
mov rsi, qword [rsp + 0xa0]
sub eax, r13d
mov rbp, qword [rsp + 0x98]
mov rcx, r13
shr rcx, 0x20
shr r12, 0x20
sub r12d, ecx
movd xmm3, r13d
mov r13, qword [rsp + 0x70]
cvtdq2ps xmm3, xmm3
mov qword [rdi + 0x38], r15
mov r15, qword [rsp + 0x60]
movd xmm0, ecx
mov rcx, qword [rdi + 0x40]
shufps xmm3, xmm3, 0xe1
movd xmm2, r12d
mov r12, qword [rsp + 0xa8]
movd xmm1, eax
cvtdq2ps xmm0, xmm0
cvtdq2ps xmm1, xmm1
movss xmm3, xmm0
shufps xmm3, xmm3, 0xc6
movss xmm3, xmm1
shufps xmm3, xmm3, 0x27
cvtdq2ps xmm2, xmm2
movss xmm3, xmm2
shufps xmm3, xmm3, 0x39
movups xmmword [rdi + 0x20], xmm3
test rcx, rcx
je 0x140148d5a
mov rax, qword [rcx]
mov edx, 1
call qword [rax]
mov ecx, SafeArrayPutElement
call qword [sym.imp.gdiplus.dll_GdipAlloc]
mov rbx, rax
test rax, rax
je 0x140148da8
mov rcx, qword [rdi + 0x38]
lea rax, vtable.Gdiplus::Bitmap.0
lea r8, [rsp + 0x90]
mov qword [rbx], rax
xor edx, edx
mov qword [rsp + 0x90], 0
call qword [sym.imp.gdiplus.dll_GdipCreateBitmapFromHBITMAP]
mov rcx, qword [rsp + 0x90]
mov qword [rbx + 8], rcx
mov dword [rbx + 0x10], eax
jmp 0x140148daa
xor ebx, ebx
mov rcx, qword [rdi + 8]
mov qword [rdi + 0x40], rbx
call qword [sym.imp.USER32.dll_GetDC]
mov rcx, rax
mov rbx, rax
call qword [sym.imp.GDI32.dll_CreateCompatibleDC]
cvttss2si r8d, dword [rdi + 0x2c]
mov rcx, rbx
mov qword [rdi + 0x48], rax
cvttss2si edx, dword [rdi + 0x28]
call qword [sym.imp.GDI32.dll_CreateCompatibleBitmap]
mov rcx, qword [rdi + 0x48]
mov rdx, rax
mov qword [rdi + 0x50], rax
call qword [sym.imp.GDI32.dll_SelectObject]
mov rcx, qword [rdi + 8]
mov rdx, rbx
add rsp, 0x78
pop rdi
pop rbx
jmp qword [sym.imp.USER32.dll_ReleaseDC]