Function at 0x140007a00
Capabilities:
Capture screenshot

Disassembly:
push rbp
push rbx
push rsi
push rdi
push r12
push r13
push r14
push r15
lea rbp, [rsp - 0x58]
sub rsp, 0x158
mov rax, qword [0x14007c030]
xor rax, rsp
mov qword [rbp + 0x40], rax
mov dword [rsp + 0x50], r9d
mov r14d, r8d
mov r12d, edx
mov rsi, rcx
mov ecx, 0x19000
call fcn.1400362b0
mov qword [rbp - 0x78], 0
mov qword [rbp - 0x70], rax
mov eax, dword [rbp + 0xd8]
mov edi, dword [rbp + 0xc8]
sub eax, edi
test r12d, r12d
cmove r12d, eax
mov eax, dword [rbp + 0xe0]
mov ebx, dword [rbp + 0xd0]
sub eax, ebx
test r14d, r14d
cmove r14d, eax
xor ecx, ecx
call qword [sym.imp.USER32.dll_GetDC]
mov r13, rax
mov qword [rsp + 0x68], rax
mov rcx, rax
call qword [sym.imp.GDI32.dll_CreateCompatibleDC]
mov r15, rax
mov r8d, r14d
mov edx, r12d
mov rcx, r13
call qword [sym.imp.GDI32.dll_CreateCompatibleBitmap]
mov qword [rsp + 0x58], rax
mov rdx, rax
mov rcx, r15
call qword [sym.imp.GDI32.dll_SelectObject]
mov qword [rsp + 0x60], rax
mov dword [rsp + 0x40], 0xcc0020
mov dword [rsp + 0x38], ebx
mov dword [rsp + 0x30], edi
mov qword [rsp + 0x28], r13
mov dword [rsp + 0x20], r14d
mov r9d, r12d
xor r8d, r8d
xor edx, edx
mov rcx, r15
call qword [sym.imp.GDI32.dll_BitBlt]
xorps xmm0, xmm0
mov eax, r14d
imul eax, r12d
lea eax, [rax + rax*2]
movsxd r13, eax
movdqu xmmword [rbp - 0x68], xmm0
xor ecx, ecx
mov ebx, ecx
mov qword [rbp - 0x58], rcx
test eax, eax
je 0x140007b32
mov rdx, r13
lea rcx, [rbp - 0x68]
call fcn.14000ce30
mov rdi, qword [rbp - 0x68]
lea rbx, [rdi + r13]
mov r8, rbx
sub r8, rdi
xor edx, edx
mov rcx, rdi
call fcn.1400383c0
mov qword [rbp - 0x60], rbx
mov rbx, qword [rbp - 0x58]
xor ecx, ecx
jmp 0x140007b36
mov rdi, qword [rbp - 0x68]
xorps xmm0, xmm0
movdqu xmmword [rbp - 0x3c], xmm0
mov dword [rbp - 0x2c], ecx
mov dword [rbp - 0x50], 0x28
mov dword [rbp - 0x4c], r12d
mov eax, r14d
neg eax
mov dword [rbp - 0x48], eax
mov qword [rbp - 0x44], 0x180001
mov dword [rsp + 0x30], ecx
lea rax, [rbp - 0x50]
mov qword [rsp + 0x28], rax
mov qword [rsp + 0x20], rdi
mov r9d, r14d
xor r8d, r8d
mov r13, qword [rsp + 0x58]
mov rdx, r13
mov rcx, r15
call qword [sym.imp.GDI32.dll_GetDIBits]
test eax, eax
jne 0x140007bdb
mov rcx, qword [rbp - 0x70]
call fcn.140035d80
mov qword [rbp - 0x70], 0
movups xmm0, xmmword [rbp - 0x78]
movups xmmword [rsi], xmm0
test rdi, rdi
je 0x140007d74
sub rbx, rdi
mov rax, rdi
cmp rbx, 0x1000
jb 0x140007d69
add rbx, 0x27
mov rdi, qword [rdi - 8]
sub rax, rdi
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140007d9d
jmp 0x140007d69
xorps xmm0, xmm0
xor eax, eax
movups xmmword [rbp - 0x10], xmm0
movups xmmword [rbp], xmm0
movups xmmword [rbp + 0x10], xmm0
movups xmmword [rbp + 0x20], xmm0
mov qword [rbp + 0x30], rax
lea rax, [0x140007de0]
mov qword [rbp - 0x20], rax
lea rax, [rbp - 0x78]
mov qword [rbp - 0x18], rax
mov eax, dword [rsp + 0x50]
mov dword [rsp + 0x28], eax
mov qword [rsp + 0x20], rdi
mov r9d, 3
mov r8d, r14d
mov edx, r12d
lea rcx, [rbp - 0x20]
call fcn.140004aa0
mov rdx, qword [rbp - 0x78]
cmp rdx, 0x19000
jae 0x140007c52
mov rcx, qword [rbp - 0x70]
call fcn.140040120
test rax, rax
je 0x140007da9
mov qword [rbp - 0x70], rax
mov rdx, qword [rbp - 0x78]
jmp 0x140007c56
mov rax, qword [rbp - 0x70]
cmp byte [rbp + 0xc0], 0
je 0x140007d0c
add rdx, 8
mov rcx, 0xffffffffffffffff
cmovb rdx, rcx
mov rcx, rax
call fcn.140040120
mov rcx, rax
test rax, rax
jne 0x140007cd2
mov rcx, qword [rbp - 0x70]
call fcn.140046a84
xor eax, eax
mov qword [rbp - 0x70], rax
mov qword [rsi], rax
mov qword [rsi + 8], rax
test rdi, rdi
je 0x140007d74
sub rbx, rdi
mov rax, rdi
cmp rbx, 0x1000
jb 0x140007d69
add rbx, 0x27
mov rdi, qword [rdi - 8]
sub rax, rdi
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140007da3
jmp 0x140007d69
mov qword [rbp - 0x70], rcx
add rcx, qword [rbp - 0x78]
mov rax, qword [str._BLOCK_]
mov dword [rcx], eax
movzx eax, word [0x14007117c]
mov word [rcx + 4], ax
movzx eax, byte [0x14007117e]
mov byte [rcx + 6], al
mov rcx, qword [rbp - 0x78]
add rcx, 7
mov qword [rbp - 0x78], rcx
mov rax, qword [rbp - 0x70]
mov byte [rcx + rax], 0
mov rdx, qword [rsp + 0x60]
mov rcx, r15
call qword [sym.imp.GDI32.dll_SelectObject]
mov rcx, r13
call qword [sym.imp.GDI32.dll_DeleteObject]
mov rcx, r15
call qword [sym.imp.GDI32.dll_DeleteDC]
mov rdx, qword [rsp + 0x68]
xor ecx, ecx
call qword [sym.imp.USER32.dll_ReleaseDC]
movups xmm0, xmmword [rbp - 0x78]
movups xmmword [rsi], xmm0
test rdi, rdi
je 0x140007d74
sub rbx, rdi
mov rax, rdi
cmp rbx, 0x1000
jb 0x140007d69
add rbx, 0x27
mov rdi, qword [rdi - 8]
sub rax, rdi
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140007d97
mov rdx, rbx
mov rcx, rdi
call fcn.140035d80
mov rax, rsi
mov rcx, qword [rbp + 0x40]
xor rcx, rsp
call fcn.140035d60
add rsp, 0x158
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbx
pop rbp
ret
call fcn.140047b50
int3
call fcn.140047b50
int3
call fcn.140047b50
nop
mov rcx, qword [rbp - 0x70]
call fcn.140046a84
lea rdx, str.failed_jpg
lea rcx, [rsp + 0x70]
call fcn.140002fa0
lea rdx, [0x14007a4b0]
lea rcx, [rsp + 0x70]
call fcn.140037c24
int3