Function at 0x18000a3a0
Capabilities:
Capture screenshot

Disassembly:
mov qword [rsp + 0x20], rbx
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
lea rbp, [rsp - 0x27]
sub rsp, 0xd0
movaps xmmword [rsp + 0xc0], xmm6
mov rax, qword [0x180034800]
xor rax, rsp
mov qword [rbp + 0xf], rax
mov qword [rbp - 0x21], r8
mov qword [rbp - 0x29], rdx
mov r13, rcx
call qword [sym.imp.USER32.dll_GetDesktopWindow]
mov rcx, rax
call qword [sym.imp.USER32.dll_GetDC]
mov rcx, rax
mov r15, rax
call qword [sym.imp.GDI32.dll_CreateCompatibleDC]
xor ecx, ecx
mov r14, rax
call qword [sym.imp.USER32.dll_GetDC]
mov edx, 8
mov rcx, rax
mov rdi, rax
call qword [sym.imp.GDI32.dll_GetDeviceCaps]
mov edx, 0x76
mov rcx, rdi
mov ebx, eax
call qword [sym.imp.GDI32.dll_GetDeviceCaps]
mov rdx, rdi
movd xmm0, ebx
xor ecx, ecx
movd xmm6, eax
cvtdq2ps xmm0, xmm0
cvtdq2ps xmm6, xmm6
divss xmm6, xmm0
call qword [sym.imp.USER32.dll_ReleaseDC]
mov ecx, 0x4e
call qword [sym.imp.USER32.dll_GetSystemMetrics]
mov ecx, 0x4f
movd xmm0, eax
cvtdq2ps xmm0, xmm0
mulss xmm0, xmm6
cvttss2si r12d, xmm0
mov dword [rbp - 0x45], r12d
call qword [sym.imp.USER32.dll_GetSystemMetrics]
mov ecx, 0x4c
movd xmm0, eax
cvtdq2ps xmm0, xmm0
mulss xmm0, xmm6
cvttss2si ebx, xmm0
mov dword [rbp - 0x49], ebx
call qword [sym.imp.USER32.dll_GetSystemMetrics]
mov ecx, 0x4d
movd xmm0, eax
cvtdq2ps xmm0, xmm0
mulss xmm0, xmm6
cvttss2si esi, xmm0
call qword [sym.imp.USER32.dll_GetSystemMetrics]
mov r8d, ebx
mov edx, r12d
mov rcx, r15
movd xmm0, eax
cvtdq2ps xmm0, xmm0
mulss xmm0, xmm6
cvttss2si edi, xmm0
call qword [sym.imp.GDI32.dll_CreateCompatibleBitmap]
mov rcx, r14
mov rdx, rax
mov r12, rax
mov qword [rbp - 0x31], rax
call qword [sym.imp.GDI32.dll_SelectObject]
mov edx, 3
mov rcx, r14
call qword [sym.imp.GDI32.dll_SetStretchBltMode]
mov ecx, 0x4f
call qword [sym.imp.USER32.dll_GetSystemMetrics]
mov ecx, 0x4e
movd xmm0, eax
cvtdq2ps xmm0, xmm0
mulss xmm0, xmm6
cvttss2si ebx, xmm0
call qword [sym.imp.USER32.dll_GetSystemMetrics]
mov dword [rsp + 0x50], 0xcc0020
mov dword [rsp + 0x48], ebx
movd xmm0, eax
cvtdq2ps xmm0, xmm0
mulss xmm0, xmm6
cvttss2si eax, xmm0
mov dword [rsp + 0x40], eax
mov ebx, dword [rbp - 0x49]
mov dword [rsp + 0x38], edi
mov edi, dword [rbp - 0x45]
mov dword [rsp + 0x30], esi
mov r9d, edi
xor r8d, r8d
xor edx, edx
mov rcx, r14
mov qword [rsp + 0x28], r15
mov dword [rsp + 0x20], ebx
call qword [sym.imp.GDI32.dll_StretchBlt]
xor r8d, r8d
mov eax, 1
mov dword [rbp - 0x15], edi
mov dword [rbp - 0x19], 0x28
mov word [rbp - 0xd], ax
mov eax, 0x20
mov dword [rbp - 0x11], ebx
mov word [rbp - 0xb], ax
mov eax, edi
mov qword [rbp - 9], r8
shl eax, 5
mov qword [rbp + 7], r8
mov qword [rbp - 1], r8
add eax, 0x1f
mov dword [rbp - 0x37], 0x36
mov dword [rbp - 0x3b], r8d
cdq
and edx, 0x1f
add eax, edx
sar eax, 5
imul eax, ebx
shl eax, 2
mov edi, eax
lea ecx, [rax + 0x36]
mov dword [rbp - 0x3f], ecx
mov ecx, 0x4d42
mov word [rbp - 0x41], cx
mov ecx, eax
call fcn.18000fa64
mov r8d, edi
xor edx, edx
mov rcx, rax
mov rsi, rax
call fcn.180018270
lea rax, [rbp - 0x19]
mov dword [rsp + 0x30], 0
mov qword [rsp + 0x28], rax
mov r9d, ebx
xor r8d, r8d
mov rdx, r12
mov rcx, r14
mov qword [rsp + 0x20], rsi
call qword [sym.imp.GDI32.dll_GetDIBits]
mov ebx, dword [rbp - 0x3f]
mov ecx, ebx
call fcn.18000fa64
mov r8d, ebx
xor edx, edx
mov rcx, rax
mov r12, rax
call fcn.180018270
mov rcx, qword [rbp - 0x41]
mov r8d, edi
mov qword [r12], rcx
mov ecx, dword [rbp - 0x39]
mov rdx, rsi
mov dword [r12 + 8], ecx
movzx ecx, word [rbp - 0x35]
mov word [r12 + 0xc], cx
mov rax, qword [rbp - 0x19]
lea rcx, [r12 + 0x36]
mov qword [r12 + 0xe], rax
mov rax, qword [rbp - 0x11]
mov qword [r12 + 0x16], rax
mov rax, qword [rbp - 9]
mov qword [r12 + 0x1e], rax
mov rax, qword [rbp - 1]
mov qword [r12 + 0x26], rax
mov rax, qword [rbp + 7]
mov qword [r12 + 0x2e], rax
call fcn.1800106e0
mov ecx, 0x28
call fcn.180010d58
mov rbx, rax
test rax, rax
je 0x18000a685
mov qword [rax + 0x18], select
mov qword [rax + 0x10], 0
mov byte [rax], 0
jmp 0x18000a687
xor ebx, ebx
mov edx, dword [rbp - 0x3f]
mov r8, rbx
mov rcx, r12
call fcn.18000a050
test eax, eax
jne 0x18000a702
mov rcx, qword [rbp - 0x31]
call qword [sym.imp.GDI32.dll_DeleteObject]
mov rcx, r14
call qword [sym.imp.GDI32.dll_DeleteObject]
mov rdx, r15
xor ecx, ecx
call qword [sym.imp.USER32.dll_ReleaseDC]
mov rcx, r12
call fcn.18001121c
test rsi, rsi
je 0x18000a6cc
mov rcx, rsi
call fcn.18001121c
test rbx, rbx
je 0x18000a6fb
cmp qword [rbx + 0x18], 0x10
jb 0x18000a6e0
mov rcx, qword [rbx]
call fcn.180010690
mov qword [rbx + 0x18], select
mov qword [rbx + 0x10], 0
mov rcx, rbx
mov byte [rbx], 0
call fcn.180010690
xor eax, eax
jmp 0x18000a7a2
mov eax, dword [rbx + 0x10]
mov rcx, qword [rbp - 0x29]
mov dword [r13], eax
mov eax, dword [rbp - 0x45]
mov dword [rcx], eax
mov rcx, qword [rbp - 0x21]
mov eax, dword [rbp - 0x49]
mov dword [rcx], eax
movsxd rcx, dword [r13]
call fcn.18000fa64
cmp qword [rbx + 0x18], 0x10
mov rdi, rax
jb 0x18000a733
mov rdx, qword [rbx]
jmp 0x18000a736
mov rdx, rbx
movsxd r8, dword [r13]
mov rcx, rax
call fcn.1800106e0
mov rcx, qword [rbp - 0x31]
call qword [sym.imp.GDI32.dll_DeleteObject]
mov rcx, r14
call qword [sym.imp.GDI32.dll_DeleteObject]
mov rdx, r15
xor ecx, ecx
call qword [sym.imp.USER32.dll_ReleaseDC]
mov rcx, r12
call fcn.18001121c
test rsi, rsi
je 0x18000a775
mov rcx, rsi
call fcn.18001121c
cmp qword [rbx + 0x18], 0x10
jb 0x18000a784
mov rcx, qword [rbx]
call fcn.180010690
mov qword [rbx + 0x18], select
mov qword [rbx + 0x10], 0
mov rcx, rbx
mov byte [rbx], 0
call fcn.180010690
mov rax, rdi
mov rcx, qword [rbp + 0xf]
xor rcx, rsp
call fcn.1800106b0
mov rbx, qword [rsp + 0x128]
movaps xmm6, xmmword [rsp + 0xc0]
add rsp, 0xd0
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret