Function at 0x1400018a0
Capabilities:
Capture screenshot

Disassembly:
mov qword [rsp + 8], rbx
mov qword [rsp + 0x10], rsi
mov qword [rsp + 0x18], rdi
mov qword [rsp + 0x20], r12
push rbp
push r14
push r15
lea rbp, [rsp - 0x2f]
sub rsp, 0xf0
mov rax, qword [0x140006040]
xor rax, rsp
mov qword [rbp + 0x27], rax
mov r15, rdx
mov dword [rbp - 9], 1
xor r12d, r12d
mov qword [rbp - 1], r12
mov qword [rbp + 7], r12
xor r8d, r8d
lea rdx, [rbp - 9]
lea rcx, [rbp - 0x21]
call qword [sym.imp.gdiplus.dll_GdiplusStartup]
xor ecx, ecx
call qword [sym.imp.USER32.dll_GetDC]
mov rsi, rax
mov rcx, rax
call qword [sym.imp.GDI32.dll_CreateCompatibleDC]
mov rdi, rax
mov edx, 0x62c
mov r8d, 0x21c
mov rcx, rsi
call qword [sym.imp.GDI32.dll_CreateCompatibleBitmap]
mov rbx, rax
mov rdx, rax
mov rcx, rdi
call qword [sym.imp.GDI32.dll_SelectObject]
mov dword [rsp + 0x40], 0xcc0020
mov dword [rsp + 0x38], 0x104
mov dword [rsp + 0x30], 0xb4
mov qword [rsp + 0x28], rsi
mov dword [rsp + 0x20], 0x21c
mov r9d, 0x62c
xor r8d, r8d
xor edx, edx
mov rcx, rdi
call qword [sym.imp.GDI32.dll_BitBlt]
xorps xmm0, xmm0
xor eax, eax
movups xmmword [rbp + 0xf], xmm0
mov qword [rbp + 0x1f], rax
lea rax, vtable.Gdiplus::Bitmap.0
mov qword [rbp + 0xf], rax
mov qword [rbp - 0x71], r12
lea r8, [rbp - 0x71]
xor edx, edx
mov rcx, rbx
call qword [sym.imp.gdiplus.dll_GdipCreateBitmapFromHBITMAP]
mov ebx, eax
mov r14, qword [rbp - 0x71]
mov qword [rbp + 0x17], r14
mov rcx, rdi
call qword [sym.imp.GDI32.dll_DeleteDC]
mov rdx, rsi
xor ecx, ecx
call qword [sym.imp.USER32.dll_ReleaseDC]
mov dword [rbp - 0x3d], r12d
lea rdx, [rbp - 0x3d]
mov rcx, r14
call qword [sym.imp.gdiplus.dll_GdipGetImageHeight]
test eax, eax
cmovne ebx, eax
mov dword [rbp - 0x41], r12d
lea rdx, [rbp - 0x41]
mov rcx, r14
call qword [sym.imp.gdiplus.dll_GdipGetImageWidth]
test eax, eax
cmovne ebx, eax
mov qword [rbp - 0x19], r12
mov eax, dword [rbp - 0x41]
mov dword [rbp - 0x11], eax
mov eax, dword [rbp - 0x3d]
mov dword [rbp - 0xd], eax
lea rax, [rbp - 0x61]
mov qword [rsp + 0x20], rax
mov r9d, 0x26200a
lea r8d, [r12 + 1]
lea rdx, [rbp - 0x19]
mov rcx, r14
call qword [sym.imp.gdiplus.dll_GdipBitmapLockBits]
test eax, eax
cmovne ebx, eax
mov dword [rbp - 0x3d], r12d
lea rdx, [rbp - 0x3d]
mov rcx, r14
call qword [sym.imp.gdiplus.dll_GdipGetImageHeight]
test eax, eax
cmovne ebx, eax
mov dword [rbp + 0x1f], ebx
mov ecx, dword [rbp - 0x59]
neg ecx
cmovs ecx, dword [rbp - 0x59]
imul ecx, dword [rbp - 0x3d]
movsxd rbx, ecx
mov ecx, r12d
mov qword [rbp - 0x39], rcx
mov qword [rbp - 0x29], r12
test rbx, rbx
je 0x140001abd
movabs rax, 0x7fffffffffffffff
cmp rbx, rax
ja 0x140001c67
cmp rbx, 0x1000
jb 0x140001a98
lea rcx, [rbx + 0x27]
cmp rcx, rbx
jbe 0x140001c61
call fcn.140002000
mov rcx, rax
test rax, rax
je 0x140001c02
add rax, 0x27
and rax, 0xffffffffffffffe0
mov qword [rax - 8], rcx
jmp 0x140001aa0
mov rcx, rbx
call fcn.140002000
mov qword [rbp - 0x39], rax
lea rcx, [rax + rbx]
mov qword [rbp - 0x29], rcx
mov r8, rbx
xor edx, edx
mov rcx, rax
call sub.VCRUNTIME140.dll_memset
mov rcx, qword [rbp - 0x39]
mov r8, rbx
mov rdx, qword [rbp - 0x51]
call sub.VCRUNTIME140.dll_memcpy
lea rdx, [rbp - 0x61]
mov rcx, r14
call qword [sym.imp.gdiplus.dll_GdipBitmapUnlockBits]
mov esi, r12d
mov dword [rbp - 0x41], r12d
lea rdx, [rbp - 0x41]
mov rcx, r14
call qword [sym.imp.gdiplus.dll_GdipGetImageWidth]
cmp dword [rbp - 0x41], r12d
jbe 0x140001bc5
mov edi, r12d
nop word [rax + rax]
mov ebx, r12d
mov dword [rbp - 0x41], r12d
lea rdx, [rbp - 0x41]
mov rcx, r14
call qword [sym.imp.gdiplus.dll_GdipGetImageHeight]
cmp dword [rbp - 0x41], r12d
jbe 0x140001ba6
nop
mov eax, ebx
imul eax, dword [rbp - 0x59]
add eax, edi
movsxd r9, eax
movsd xmm0, qword [r15]
movsd qword [rbp - 0x71], xmm0
mov r10d, dword [r15 + 8]
mov rdx, qword [rbp - 0x39]
movzx eax, byte [rdx + r9 + 2]
mov ecx, dword [rbp - 0x71]
sub ecx, eax
mov r8d, ecx
neg r8d
cmovs r8d, ecx
movzx eax, byte [r9 + rdx + 1]
mov rcx, qword [rbp - 0x71]
shr rcx, 0x20
sub ecx, eax
mov eax, ecx
neg eax
cmovs eax, ecx
movzx ecx, byte [r9 + rdx]
sub r10d, ecx
mov ecx, r10d
neg ecx
cmovs ecx, r10d
cmp r8d, 5
jg 0x140001b8a
cmp eax, 5
jg 0x140001b8a
cmp ecx, 5
jle 0x140001c09
inc ebx
mov dword [rbp - 0x41], r12d
lea rdx, [rbp - 0x41]
mov rcx, r14
call qword [sym.imp.gdiplus.dll_GdipGetImageHeight]
cmp ebx, dword [rbp - 0x41]
jb 0x140001b20
inc esi
add edi, 4
mov dword [rbp - 0x41], r12d
lea rdx, [rbp - 0x41]
mov rcx, r14
call qword [sym.imp.gdiplus.dll_GdipGetImageWidth]
cmp esi, dword [rbp - 0x41]
jb 0x140001b00
mov rcx, qword [rbp - 0x21]
call qword [sym.imp.gdiplus.dll_GdiplusShutdown]
xor bl, bl
mov rcx, qword [rbp - 0x39]
test rcx, rcx
je 0x140001c28
mov rdx, qword [rbp - 0x29]
sub rdx, rcx
mov rax, rcx
cmp rdx, 0x1000
jb 0x140001c17
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x140001c17
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
mov rcx, qword [rbp - 0x21]
call qword [sym.imp.gdiplus.dll_GdiplusShutdown]
mov bl, 1
jmp 0x140001bd1
call fcn.140002284
xorps xmm0, xmm0
movdqu xmmword [rbp - 0x39], xmm0
mov qword [rbp - 0x29], r12
mov rcx, r14
call qword [sym.imp.gdiplus.dll_GdipDisposeImage]
movzx eax, bl
mov rcx, qword [rbp + 0x27]
xor rcx, rsp
call fcn.140001fe0
lea r11, [rsp + 0xf0]
mov rbx, qword [r11 + 0x20]
mov rsi, qword [r11 + 0x28]
mov rdi, qword [r11 + 0x30]
mov r12, qword [r11 + 0x38]
mov rsp, r11
pop r15
pop r14
pop rbp
ret
call fcn.1400014c0
nop
call fcn.140001f00
int3