Function at 0x180090e20
Capabilities:
Capture screenshot

Disassembly:
mov qword [rsp + 8], rbx
mov qword [rsp + 0x10], rbp
mov qword [rsp + 0x18], rsi
push rdi
push r12
push r13
push r14
push r15
sub rsp, 0xd0
mov rax, qword [0x1801b0058]
xor rax, rsp
mov qword [rsp + 0xc8], rax
xor edx, edx
lea rcx, [0x180190984]
call qword [sym.imp.USER32.dll_FindWindowA]
mov rbx, rax
test rax, rax
jne 0x180090e77
movabs rax, 0x100000001
jmp 0x1800910c1
mov rcx, rbx
call qword [sym.imp.USER32.dll_GetWindowDC]
mov r15, rax
mov qword [rsp + 0x60], rax
lea rdx, [rsp + 0xb8]
mov rcx, rbx
call qword [sym.imp.USER32.dll_GetClientRect]
mov ebx, dword [0x1801b48c8]
mov esi, dword [0x1801b48cc]
mov ebp, dword [0x1801b48d0]
mov edi, dword [0x1801b48d4]
mov rcx, r15
call qword [sym.imp.GDI32.dll_CreateCompatibleDC]
mov r14, rax
mov qword [rsp + 0x50], rax
mov r12d, edi
sub r12d, esi
sub ebp, ebx
mov r8d, r12d
mov edx, ebp
mov rcx, r15
call qword [sym.imp.GDI32.dll_CreateCompatibleBitmap]
mov r13, rax
mov qword [rsp + 0x58], rax
mov rdx, rax
mov rcx, r14
call qword [sym.imp.GDI32.dll_SelectObject]
mov dword [rsp + 0x40], 0xcc0020
mov dword [rsp + 0x38], esi
mov dword [rsp + 0x30], ebx
mov qword [rsp + 0x28], r15
mov dword [rsp + 0x20], r12d
mov r9d, ebp
xor r8d, r8d
xor edx, edx
mov rcx, r14
call qword [sym.imp.GDI32.dll_BitBlt]
xorps xmm0, xmm0
movdqu xmmword [rsp + 0x9c], xmm0
xor ecx, ecx
mov qword [rsp + 0xac], rcx
mov dword [rsp + 0x88], 0x28
mov dword [rsp + 0x8c], ebp
sub esi, edi
mov dword [rsp + 0x90], esi
mov qword [rsp + 0x94], 0x200001
mov eax, r12d
imul eax, ebp
shl eax, 2
movsxd rbx, eax
movdqu xmmword [rsp + 0x70], xmm0
mov r15d, ecx
mov qword [rsp + 0x80], rcx
test eax, eax
je 0x180090fa9
mov rdx, rbx
lea rcx, [rsp + 0x70]
call fcn.18001e240
mov r8, rbx
xor edx, edx
mov rdi, qword [rsp + 0x70]
mov rcx, rdi
call fcn.1800ee490
lea rax, [rbx + rdi]
mov qword [rsp + 0x78], rax
mov r15, qword [rsp + 0x80]
xor ecx, ecx
jmp 0x180090fae
mov rdi, qword [rsp + 0x70]
mov dword [rsp + 0x30], ecx
lea rax, [rsp + 0x88]
mov qword [rsp + 0x28], rax
mov qword [rsp + 0x20], rdi
mov r9d, r12d
xor r8d, r8d
mov rdx, r13
mov rcx, r14
call qword [sym.imp.GDI32.dll_GetDIBits]
xor eax, eax
mov qword [rsp + 0x68], rax
mov esi, dword [0x1801b4c00]
cmp esi, r12d
jge 0x180091062
mov r11d, ebp
imul r11d, esi
mov r13d, dword [0x1801b4c04]
mov r9d, dword [0x1801b0cb0]
mov r10, qword [0x1801b0cac]
mov r14d, dword [0x1801b0ca8]
nop dword [rax + rax]
mov rbx, r13
cmp r13d, ebp
jge 0x18009104e
lea ecx, [r11 + r13]
shl ecx, 2
nop
movsxd rax, ecx
movzx edx, byte [rax + rdi]
movzx r8d, byte [rax + rdi + 2]
cmp r8d, r14d
jne 0x180091045
movzx eax, byte [rax + rdi + 1]
cmp eax, r10d
jne 0x180091045
cmp edx, r9d
je 0x1800910f2
inc ebx
add ecx, 4
cmp ebx, ebp
jl 0x180091020
inc esi
add r11d, ebp
cmp esi, r12d
jl 0x180091010
mov r14, qword [rsp + 0x50]
mov r13, qword [rsp + 0x58]
mov rcx, r13
call qword [sym.imp.GDI32.dll_DeleteObject]
mov rcx, r14
call qword [sym.imp.GDI32.dll_DeleteDC]
mov rdx, qword [rsp + 0x60]
xor ecx, ecx
call qword [sym.imp.USER32.dll_ReleaseDC]
mov rbx, qword [rsp + 0x68]
test rdi, rdi
je 0x1800910be
sub r15, rdi
mov rax, rdi
cmp r15, 0x1000
jb 0x1800910b3
add r15, 0x27
mov rdi, qword [rdi - 8]
sub rax, rdi
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x180091144
mov rdx, r15
mov rcx, rdi
call fcn.1800ebddc
mov rax, rbx
mov rcx, qword [rsp + 0xc8]
xor rcx, rsp
call fcn.1800eb930
lea r11, [rsp + 0xd0]
mov rbx, qword [r11 + 0x30]
mov rbp, qword [r11 + 0x38]
mov rsi, qword [r11 + 0x40]
mov rsp, r11
pop r15
pop r14
pop r13
pop r12
pop rdi
ret
sub r8d, r14d
mov eax, r8d
cdq
xor eax, edx
sub eax, edx
mov edx, eax
call fcn.180091970
mov rcx, rax
lea rdx, [0x18015c448]
call fcn.18008ff00
mov rcx, qword [rsp + 0x58]
call qword [sym.imp.GDI32.dll_DeleteObject]
mov rcx, qword [rsp + 0x50]
call qword [sym.imp.GDI32.dll_DeleteDC]
mov rdx, qword [rsp + 0x60]
xor ecx, ecx
call qword [sym.imp.USER32.dll_ReleaseDC]
shl rbx, 0x20
mov eax, esi
or rbx, rax
jmp 0x180091086
call fcn.1800fddb0
int3