Function at 0x14009615c
Capabilities:
Capture screenshot

Disassembly:
mov qword [rsp + 0x10], rbx
mov qword [rsp + 0x20], r9
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
lea rbp, [rsp - 0x27]
sub rsp, 0xc0
mov r12d, dword [r8]
lea rdi, [r8 + 8]
mov r15d, dword [rdi]
mov rbx, r8
mov esi, dword [r8 + 0xc]
mov r14d, dword [r8 + 4]
cmp r15d, r12d
jge 0x14009619d
mov dword [r8], r15d
mov dword [rdi], r12d
cmp esi, r14d
jge 0x1400961aa
mov dword [r8 + 4], esi
mov dword [r8 + 0xc], r14d
mov r9, rdx
lea r8, [rbp - 0x31]
mov edx, dword [rcx + 0x1d8]
call fcn.14009157c
mov rax, qword [rbp - 0x31]
add dword [rbx], eax
add dword [rdi], eax
mov ecx, dword [rbp - 0x2d]
add dword [rbx + 0xc], ecx
add dword [rbx + 4], ecx
xor ecx, ecx
mov r13d, dword [rdi]
mov eax, dword [rbx + 0xc]
sub r13d, dword [rbx]
sub eax, dword [rbx + 4]
inc r13d
inc eax
mov dword [rbp + 0x77], r13d
mov dword [rbp + 0x67], eax
call qword [sym.imp.USER32.dll_GetDC]
mov r8d, dword [rbp + 0x67]
mov edx, r13d
mov rcx, rax
mov qword [rbp - 0x29], rax
call qword [sym.imp.GDI32.dll_CreateCompatibleBitmap]
mov rcx, qword [rbp - 0x29]
mov qword [rbp - 0x21], rax
call qword [sym.imp.GDI32.dll_CreateCompatibleDC]
mov rdx, qword [rbp - 0x21]
mov rcx, rax
mov r13, rax
call qword [sym.imp.GDI32.dll_SelectObject]
mov edx, dword [rbp + 0x67]
mov ecx, dword [rbp + 0x77]
mov r8d, ecx
mov qword [rbp - 0x19], rax
mov eax, edx
neg eax
cmp esi, r14d
mov dword [rbp - 0x39], eax
mov r9d, eax
cmovge r9d, edx
neg r8d
cmp r15d, r12d
cmovge r8d, ecx
cmp esi, r14d
jge 0x140096251
mov eax, dword [rbx + 0xc]
jmp 0x140096254
mov eax, dword [rbx + 4]
mov r14, qword [rbp - 0x29]
cmp r15d, r12d
mov dword [rsp + 0x50], 0xcc0020
mov dword [rsp + 0x48], r9d
cmovge rdi, rbx
mov dword [rsp + 0x40], r8d
mov r9d, ecx
mov dword [rsp + 0x38], eax
xor r8d, r8d
mov rcx, r13
mov eax, dword [rdi]
mov dword [rsp + 0x30], eax
mov qword [rsp + 0x28], r14
mov dword [rsp + 0x20], edx
xor edx, edx
call qword [sym.imp.GDI32.dll_StretchBlt]
mov eax, dword [rbp + 0x77]
xor r15d, r15d
mov rsi, qword [rbp - 0x21]
xor r9d, r9d
mov dword [rbp - 0xd], eax
xor r8d, r8d
mov eax, dword [rbp - 0x39]
mov rdx, rsi
mov dword [rbp - 9], eax
mov rcx, r13
lea rax, [rbp - 0x11]
mov dword [rsp + 0x30], r15d
mov qword [rsp + 0x28], rax
mov qword [rsp + 0x20], r15
mov dword [rbp - 0x11], SafeArrayCreateEx
mov qword [rbp - 5], 0x200001
call qword [sym.imp.GDI32.dll_GetDIBits]
mov eax, dword [rbp + 3]
mov rcx, qword [rbp + 0x7f]
mov dword [rcx], eax
mov ecx, eax
call fcn.1400251f8
mov r9d, dword [rbp + 0x67]
mov rdi, rax
lea rax, [rbp - 0x11]
mov dword [rsp + 0x30], r15d
mov qword [rsp + 0x28], rax
xor r8d, r8d
mov rdx, rsi
mov qword [rsp + 0x20], rdi
mov rcx, r13
call qword [sym.imp.GDI32.dll_GetDIBits]
mov rdx, qword [rbp - 0x19]
mov rcx, r13
mov ebx, eax
call qword [sym.imp.GDI32.dll_SelectObject]
mov rcx, rsi
call qword [sym.imp.GDI32.dll_DeleteObject]
mov rcx, r13
call qword [sym.imp.GDI32.dll_DeleteDC]
mov rdx, r14
xor ecx, ecx
call qword [sym.imp.USER32.dll_ReleaseDC]
test ebx, ebx
je 0x14009634a
mov rax, rdi
jmp 0x140096354
mov rcx, rdi
call fcn.1400251b4
xor eax, eax
mov rbx, qword [rsp + 0x108]
add rsp, 0xc0
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret