Function at 0x14001591c
Capabilities:
Capture screenshot

Disassembly:
mov rax, rsp
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
lea rbp, [rax - 0x5f]
sub rsp, 0xc0
mov qword [rbp + 7], 0xfffffffffffffffe
mov qword [rax + 0x18], rbx
mov rax, qword [0x1402bb8e8]
xor rax, rsp
mov qword [rbp + 0x1f], rax
mov rbx, rdx
mov r14, rcx
lea r15, [rcx + 0x1c0]
xor esi, esi
test r15, r15
je 0x140015971
cmp qword [r15 + 8], rsi
je 0x140015971
mov rcx, r15
call fcn.140038fc8
mov rcx, r14
call fcn.140015744
mov r13, rax
test rax, rax
je 0x140015b83
test rbx, rbx
je 0x140015b77
cmp rbx, r14
je 0x140015b77
xorps xmm0, xmm0
movdqu xmmword [rbp + 0xf], xmm0
lea rdx, [rbp + 0xf]
mov rcx, qword [rbx + 0x40]
call qword [sym.imp.USER32.dll_GetClientRect]
test r14, r14
mov rdx, rsi
je 0x1400159b9
mov rdx, qword [r14 + 0x40]
mov r9d, 2
lea r8, [rbp + 0xf]
mov rcx, qword [rbx + 0x40]
call qword [sym.imp.USER32.dll_MapWindowPoints]
lea rcx, [rbp - 0x19]
call fcn.140038224
nop
lea rcx, [rbp - 0x39]
call fcn.140038224
nop
mov rcx, qword [r14 + 0x40]
call qword [sym.imp.USER32.dll_GetDC]
mov rcx, rax
call fcn.14003915c
test rax, rax
mov rcx, rsi
je 0x1400159ff
mov rcx, qword [rax + 8]
call qword [sym.imp.GDI32.dll_CreateCompatibleDC]
mov rdx, rax
lea rcx, [rbp - 0x19]
call fcn.140038e10
test eax, eax
je 0x140015b62
mov rcx, qword [r14 + 0x40]
call qword [sym.imp.USER32.dll_GetDC]
mov rcx, rax
call fcn.14003915c
test rax, rax
mov rcx, rsi
je 0x140015a37
mov rcx, qword [rax + 8]
call qword [sym.imp.GDI32.dll_CreateCompatibleDC]
mov rdx, rax
lea rcx, [rbp - 0x39]
call fcn.140038e10
test eax, eax
je 0x140015b62
mov qword [rbp - 0x41], rsi
lea r12, vtable.CBitmap.0
mov qword [rbp - 0x49], r12
mov edi, dword [rbp + 0x1b]
sub edi, dword [rbp + 0x13]
mov ebx, dword [rbp + 0x17]
sub ebx, dword [rbp + 0xf]
mov rcx, qword [r14 + 0x40]
call qword [sym.imp.USER32.dll_GetDC]
mov rcx, rax
call fcn.14003915c
mov r8d, edi
mov edx, ebx
mov rcx, qword [rax + 8]
call qword [sym.imp.GDI32.dll_CreateCompatibleBitmap]
mov rdx, rax
lea rcx, [rbp - 0x49]
call fcn.140038e6c
test eax, eax
je 0x140015b41
mov rdx, qword [r13 + 8]
mov rcx, qword [rbp - 0x11]
call fcn.14003975c
mov rdi, rax
mov rdx, qword [rbp - 0x41]
mov rcx, qword [rbp - 0x31]
call fcn.14003975c
mov rbx, rax
mov r8d, dword [rbp + 0x1b]
mov edx, dword [rbp + 0x13]
sub r8d, edx
mov r9d, dword [rbp + 0x17]
mov ecx, dword [rbp + 0xf]
sub r9d, ecx
mov dword [rsp + 0x40], 0xcc0020
mov dword [rsp + 0x38], edx
mov dword [rsp + 0x30], ecx
mov rcx, qword [rbp - 0x11]
mov qword [rsp + 0x28], rcx
mov dword [rsp + 0x20], r8d
xor r8d, r8d
xor edx, edx
mov rcx, qword [rbp - 0x31]
call qword [sym.imp.GDI32.dll_BitBlt]
test rdi, rdi
mov rdx, rsi
je 0x140015b0e
mov rdx, qword [rdi + 8]
mov rcx, qword [rbp - 0x11]
call fcn.14003975c
test rbx, rbx
mov rdx, rsi
je 0x140015b23
mov rdx, qword [rbx + 8]
mov rcx, qword [rbp - 0x31]
call fcn.14003975c
mov rcx, qword [rbp - 0x41]
call qword [sym.imp.GDI32.dll_CreatePatternBrush]
mov rdx, rax
mov rcx, r15
call fcn.140038e6c
lea rcx, [rbp - 0x19]
call fcn.140038fa0
lea rcx, [rbp - 0x39]
call fcn.140038fa0
nop
mov qword [rbp - 0x49], r12
lea rcx, [rbp - 0x49]
call fcn.1400153fc
nop
lea rcx, [rbp - 0x39]
call fcn.14003839c
nop
lea rcx, [rbp - 0x19]
call fcn.14003839c
jmp 0x140015b9b
mov rcx, qword [rax + 8]
call qword [sym.imp.GDI32.dll_CreatePatternBrush]
jmp 0x140015b90
mov ecx, dword [r14 + 0x1a4]
call qword [sym.imp.GDI32.dll_CreateSolidBrush]
mov rdx, rax
mov rcx, r15
call fcn.140038e6c
test r15, r15
je 0x140015ba4
mov rsi, qword [r15 + 8]
mov rax, rsi
mov rcx, qword [rbp + 0x1f]
xor rcx, rsp
call fcn.1401c44c0
mov rbx, qword [rsp + 0x110]
add rsp, 0xc0
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret