Function at 0x1800319b0
Capabilities:
Capture screenshot

Disassembly:
mov qword [rsp + 8], rbx
mov qword [rsp + 0x20], r9
mov qword [rsp + 0x10], rdx
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
sub rsp, 0xa0
mov r13d, dword [rsp + 0x108]
mov r14, r8
mov rbx, qword [rsp + 0x70]
mov r12, rdx
mov r15, rcx
lea eax, [r13 + 0x809]
mov dword [rsp + 0x58], eax
cmp r13d, eax
jae 0x180031d3b
mov rbp, qword [rsp + 0x70]
xor edi, edi
mov rsi, qword [rsp + 0x50]
mov edx, 0x25c
mov r8d, 0xfa5
cmp r13d, 0x156
ja 0x180031bfa
je 0x180031bde
mov eax, r13d
sub eax, 0x6c
je 0x180031b9b
sub eax, 0xe
je 0x180031b57
sub eax, 0x21
je 0x180031b26
sub eax, 0x47
je 0x180031b0b
cmp eax, 0x45
jne 0x180031d29
mov rdx, qword [r9]
mov rcx, rbp
call qword [sym.imp.GDI32.dll_SelectObject]
mov rdx, qword [rsp + 0x60]
mov rcx, qword [r14]
call qword [sym.imp.GDI32.dll_SelectObject]
cmp qword [r12], 0
mov rsi, rdi
mov qword [rsp + 0x50], rax
jle 0x180031d13
mov rcx, qword [r15]
mov edx, dword [rsp + 0x7c]
nop dword [rax]
test rcx, rcx
jle 0x180031aeb
xor r12d, r12d
nop dword [rax + rax]
mov eax, dword [rsp + 0x80]
mov r9d, edx
mov rcx, qword [r14]
mov r8d, esi
mov dword [rsp + 0x40], 0xcc0020
mov edx, edi
mov dword [rsp + 0x38], r12d
mov dword [rsp + 0x30], r12d
mov qword [rsp + 0x28], rbp
mov dword [rsp + 0x20], eax
call qword [sym.imp.GDI32.dll_BitBlt]
movsxd rdx, dword [rsp + 0x7c]
mov rcx, qword [r15]
add rdi, rdx
cmp rdi, rcx
jl 0x180031aa0
mov r12, qword [rsp + 0xe8]
movsxd rax, dword [rsp + 0x80]
mov edi, 0
add rsi, rax
cmp rsi, qword [r12]
jl 0x180031a90
mov rsi, qword [rsp + 0x50]
jmp 0x180031d16
mov rax, qword [rsp + 0x100]
mov rax, qword [rax]
mov rcx, qword [rax]
mov rax, qword [rcx]
mov qword [rsp + 0x70], rax
jmp 0x180031d29
mov rcx, qword [0x1800c56b0]
mov edx, 0xfffffff0
call qword [sym.imp.USER32.dll_GetWindowLongW]
or eax, 0x80000000
mov rcx, qword [0x1800c56b0]
mov r8d, eax
mov edx, 0xfffffff0
call qword [sym.imp.USER32.dll_SetWindowLongW]
jmp 0x180031d16
mov rdi, qword [rsp + 0x100]
lea r9, [rsp + 0x108]
mov eax, dword [r14]
lea r8, [rsp + 0x50]
mov edx, 0xe1
mov dword [rsp + 0x50], 1
mov dword [rsp + 0x108], eax
lea rcx, [rdi + 0x1b0]
mov qword [rsp + 0x20], rdi
call fcn.180051710
xor edi, edi
jmp 0x180031d16
mov rcx, qword [r9]
lea r8, [rsp + 0x78]
mov edx, 0x20
call qword [sym.imp.GDI32.dll_GetObjectW]
mov rdi, qword [rsp + 0x100]
mov rcx, qword [rdi]
call qword [sym.imp.GDI32.dll_CreateCompatibleDC]
mov r8d, dword [r12]
mov rbp, rax
mov edx, dword [r15]
mov rcx, qword [rdi]
call qword [sym.imp.GDI32.dll_CreateCompatibleBitmap]
mov qword [rsp + 0x60], rax
xor edi, edi
jmp 0x180031d16
mov rcx, qword [0x1800c56b0]
mov edx, 0xfffffff0
call qword [sym.imp.USER32.dll_GetWindowLongW]
and eax, 0xff3fffff
jmp 0x180031b3d
mov eax, r13d
sub eax, 0x19d
je 0x180031cec
sub eax, 0x45
je 0x180031cde
sub eax, 0x2f
je 0x180031c72
sub eax, 0x8c
je 0x180031d3b
cmp eax, 0x2f
jne 0x180031d29
call qword [sym.imp.USER32.dll_GetDesktopWindow]
mov rcx, rax
call qword [sym.imp.USER32.dll_UpdateWindow]
mov rax, qword [rsp + 0x68]
lea rdx, [rsp + 0x108]
mov dword [rsp + 0x108], eax
lea rcx, [rsp + 0x50]
mov rax, qword [rsp + 0x100]
mov r8d, 0x92
mov rax, qword [rax]
mov qword [rsp + 0x50], rax
call fcn.18004ff10
jmp 0x180031d16
mov rcx, qword [0x1800c56b0]
mov edx, 0xfffffff0
call qword [sym.imp.USER32.dll_GetWindowLongW]
mov rcx, qword [0x1800c56b0]
mov edx, 0xfffffff0
btr eax, 0x13
mov r8d, eax
call qword [sym.imp.USER32.dll_SetWindowLongW]
mov rcx, qword [0x1800c56b0]
xor r9d, r9d
mov dword [rsp + 0x30], 0x27
xor r8d, r8d
mov dword [rsp + 0x28], edi
xor edx, edx
mov dword [rsp + 0x20], edi
call qword [sym.imp.USER32.dll_SetWindowPos]
mov rcx, qword [0x1800c56b0]
xor edx, edx
cdqe
mov qword [rsp + 0x68], rax
lea r8d, [rdx + 1]
call qword [sym.imp.USER32.dll_InvalidateRect]
jmp 0x180031d16
mov rcx, rbp
call qword [sym.imp.GDI32.dll_DeleteDC]
mov rbx, rsi
jmp 0x180031d16
mov rcx, qword [rsp + 0x70]
cmp word [rcx], dx
jne 0x180031d09
mov word [0x1800d5918], di
mov dword [rcx + 2], edx
movsx eax, word [r14]
mov dword [rcx + 6], eax
jmp 0x180031d29
mov word [0x1800d5918], r8w
jmp 0x180031d29
mov rsi, rax
mov r9, qword [rsp + 0xf8]
mov edx, 0x25c
mov r8d, 0xfa5
add r13d, 0xbb
cmp r13d, dword [rsp + 0x58]
jb 0x180031a12
mov rax, rbx
mov rbx, qword [rsp + 0xe0]
add rsp, 0xa0
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret