Function at 0x1400091d5
Capabilities:
Capture screenshot

Disassembly:
push rbp
push rbx
sub rsp, 0xa8
lea rbp, [rsp + 0xa0]
mov qword [rbp + 0x20], rcx
mov ecx, 0
mov rax, qword [sym.imp.USER32.dll_GetDC]
call rax
mov qword [rbp - 8], rax
mov rax, qword [rbp - 8]
mov rcx, rax
mov rax, qword [sym.imp.GDI32.dll_CreateCompatibleDC]
call rax
mov qword [rbp - 0x10], rax
mov ecx, 0
call sub.api_ms_win_crt_time_l1_1_0.dll__time64
mov ecx, eax
call sym.srand
mov rax, qword [sym.imp.USER32.dll_GetDesktopWindow]
call rax
mov rcx, rax
lea rax, [rbp - 0x30]
mov rdx, rax
mov rax, qword [sym.imp.USER32.dll_GetWindowRect]
call rax
mov ecx, dword [0x14013e0f4]
mov edx, dword [0x14013e0f0]
mov rax, qword [rbp - 8]
mov r8d, ecx
mov rcx, rax
mov rax, qword [sym.imp.GDI32.dll_CreateCompatibleBitmap]
call rax
mov qword [rbp - 0x18], rax
mov rdx, qword [rbp - 0x18]
mov rax, qword [rbp - 0x10]
mov rcx, rax
mov rax, qword [sym.imp.GDI32.dll_SelectObject]
call rax
call sym.rand
movsxd rdx, eax
imul rdx, rdx, 0x1a6d01a7
shr rdx, 0x20
sar edx, 5
mov ecx, eax
sar ecx, 0x1f
sub edx, ecx
mov dword [rbp - 0x1c], edx
mov edx, dword [rbp - 0x1c]
imul edx, edx, 0x136
sub eax, edx
mov dword [rbp - 0x1c], eax
mov ebx, dword [rbp - 0x30]
call sym.rand
movsxd rdx, eax
imul rdx, rdx, 0x1a6d01a7
shr rdx, 0x20
sar edx, 5
mov ecx, eax
sar ecx, 0x1f
sub edx, ecx
imul ecx, edx, 0x136
sub eax, ecx
mov edx, eax
mov eax, ebx
sub eax, edx
add eax, 0x104
mov dword [rbp - 0x50], eax
mov ebx, dword [rbp - 0x2c]
call sym.rand
movsxd rdx, eax
imul rdx, rdx, 0xffffffff80808081
shr rdx, 0x20
add edx, eax
sar edx, 8
mov ecx, eax
sar ecx, 0x1f
sub edx, ecx
imul ecx, edx, 0x1fe
sub eax, ecx
mov edx, eax
mov eax, ebx
sub eax, edx
add eax, 0x136
mov dword [rbp - 0x4c], eax
mov ebx, dword [rbp - 0x28]
call sym.rand
movsxd rdx, eax
imul rdx, rdx, 0xffffffff80808081
shr rdx, 0x20
add edx, eax
sar edx, 8
mov ecx, eax
sar ecx, 0x1f
sub edx, ecx
imul ecx, edx, 0x1fe
sub eax, ecx
mov edx, eax
mov eax, ebx
sub eax, edx
add eax, 0x136
mov dword [rbp - 0x48], eax
mov ebx, dword [rbp - 0x2c]
call sym.rand
movsxd rdx, eax
imul rdx, rdx, 0x1a6d01a7
shr rdx, 0x20
sar edx, 6
mov ecx, eax
sar ecx, 0x1f
sub edx, ecx
imul ecx, edx, 0x26c
sub eax, ecx
mov edx, eax
mov eax, ebx
sub eax, edx
add eax, 0xd2
mov dword [rbp - 0x44], eax
mov eax, dword [rbp - 0x30]
sub eax, dword [rbp - 0x1c]
mov ebx, eax
call sym.rand
movsxd rdx, eax
imul rdx, rdx, 0xffffffff80808081
shr rdx, 0x20
add edx, eax
sar edx, 8
mov ecx, eax
sar ecx, 0x1f
sub edx, ecx
imul ecx, edx, 0x1fe
sub eax, ecx
mov edx, eax
mov eax, ebx
sub eax, edx
add eax, 0x136
mov dword [rbp - 0x40], eax
mov edx, dword [rbp - 0x24]
mov eax, dword [rbp - 0x1c]
lea ebx, [rdx + rax]
call sym.rand
movsxd rdx, eax
imul rdx, rdx, 0xffffffff80808081
shr rdx, 0x20
add edx, eax
sar edx, 8
mov ecx, eax
sar ecx, 0x1f
sub edx, ecx
imul ecx, edx, 0x1fe
sub eax, ecx
mov edx, eax
mov eax, ebx
sub eax, edx
add eax, 0x136
mov dword [rbp - 0x3c], eax
mov edx, dword [rbp - 0x24]
mov eax, dword [rbp - 0x2c]
sub edx, eax
mov r9d, edx
mov edx, dword [rbp - 0x28]
mov eax, dword [rbp - 0x30]
sub edx, eax
mov r8d, edx
mov ecx, dword [rbp - 0x2c]
mov r11d, dword [rbp - 0x30]
mov r10, qword [rbp - 8]
lea rdx, [rbp - 0x50]
mov rax, qword [rbp - 0x10]
mov dword [rsp + 0x48], 0
mov dword [rsp + 0x40], 0
mov qword [rsp + 0x38], 0
mov dword [rsp + 0x30], r9d
mov dword [rsp + 0x28], r8d
mov dword [rsp + 0x20], ecx
mov r9d, r11d
mov r8, r10
mov rcx, rax
mov rax, qword [sym.imp.GDI32.dll_PlgBlt]
call rax
mov ebx, dword [rbp - 0x30]
call sym.rand
movsxd rdx, eax
imul rdx, rdx, 0x1a6d01a7
shr rdx, 0x20
sar edx, 5
mov ecx, eax
sar ecx, 0x1f
sub edx, ecx
imul ecx, edx, 0x136
sub eax, ecx
mov edx, eax
lea eax, [rbx + rdx]
sub eax, 0x104
mov dword [rbp - 0x50], eax
mov ebx, dword [rbp - 0x2c]
call sym.rand
movsxd rdx, eax
imul rdx, rdx, 0xffffffff80808081
shr rdx, 0x20
add edx, eax
sar edx, 8
mov ecx, eax
sar ecx, 0x1f
sub edx, ecx
imul ecx, edx, 0x1fe
sub eax, ecx
mov edx, eax
lea eax, [rbx + rdx]
sub eax, 0x136
mov dword [rbp - 0x4c], eax
mov ebx, dword [rbp - 0x28]
call sym.rand
movsxd rdx, eax
imul rdx, rdx, 0xffffffff80808081
shr rdx, 0x20
add edx, eax
sar edx, 8
mov ecx, eax
sar ecx, 0x1f
sub edx, ecx
imul ecx, edx, 0x1fe
sub eax, ecx
mov edx, eax
lea eax, [rbx + rdx]
mov dword [rbp - 0x48], eax
mov ebx, dword [rbp - 0x2c]
call sym.rand
movsxd rdx, eax
imul rdx, rdx, 0x1a6d01a7
shr rdx, 0x20
sar edx, 6
mov ecx, eax
sar ecx, 0x1f
sub edx, ecx
imul ecx, edx, 0x26c
sub eax, ecx
mov edx, eax
mov eax, ebx
sub eax, edx
sub eax, 0xd2
mov dword [rbp - 0x44], eax
mov edx, dword [rbp - 0x30]
mov eax, dword [rbp - 0x1c]
lea ebx, [rdx + rax]
call sym.rand
movsxd rdx, eax
imul rdx, rdx, 0xffffffff80808081
shr rdx, 0x20
add edx, eax
sar edx, 8
mov ecx, eax
sar ecx, 0x1f
sub edx, ecx
imul ecx, edx, 0x1fe
sub eax, ecx
mov edx, eax
mov eax, ebx
sub eax, edx
add eax, 0x136
mov dword [rbp - 0x40], eax
mov eax, dword [rbp - 0x24]
sub eax, dword [rbp - 0x1c]
mov ebx, eax
call sym.rand
movsxd rdx, eax
imul rdx, rdx, 0xffffffff80808081
shr rdx, 0x20
add edx, eax
sar edx, 8
mov ecx, eax
sar ecx, 0x1f
sub edx, ecx
imul ecx, edx, 0x1fe
sub eax, ecx
mov edx, eax
lea eax, [rbx + rdx]
mov dword [rbp - 0x3c], eax
mov edx, dword [rbp - 0x24]
mov eax, dword [rbp - 0x2c]
sub edx, eax
mov r9d, edx
mov edx, dword [rbp - 0x28]
mov eax, dword [rbp - 0x30]
sub edx, eax
mov r8d, edx
mov ecx, dword [rbp - 0x2c]
mov r11d, dword [rbp - 0x30]
mov r10, qword [rbp - 8]
lea rdx, [rbp - 0x50]
mov rax, qword [rbp - 0x10]
mov dword [rsp + 0x48], 0
mov dword [rsp + 0x40], 0
mov qword [rsp + 0x38], 0
mov dword [rsp + 0x30], r9d
mov dword [rsp + 0x28], r8d
mov dword [rsp + 0x20], ecx
mov r9d, r11d
mov r8, r10
mov rcx, rax
mov rax, qword [sym.imp.GDI32.dll_PlgBlt]
call rax
call sym.rand
and eax, 3
test eax, eax
sete al
test al, al
je 0x1400096cc
call sym.rand
movsxd rdx, eax
imul rdx, rdx, 0xffffffff80808081
shr rdx, 0x20
add edx, eax
mov ecx, edx
sar ecx, 7
cdq
sub ecx, edx
mov edx, ecx
shl edx, 8
sub edx, ecx
sub eax, edx
mov ecx, eax
mov eax, ecx
movzx ebx, al
call sym.rand
movsxd rdx, eax
imul rdx, rdx, 0xffffffff80808081
shr rdx, 0x20
add edx, eax
mov ecx, edx
sar ecx, 7
cdq
sub ecx, edx
mov edx, ecx
shl edx, 8
sub edx, ecx
sub eax, edx
mov ecx, eax
mov eax, ecx
movzx eax, al
shl eax, 8
or eax, ebx
mov ebx, eax
call sym.rand
movsxd rdx, eax
imul rdx, rdx, 0xffffffff80808081
shr rdx, 0x20
add edx, eax
mov ecx, edx
sar ecx, 7
cdq
sub ecx, edx
mov edx, ecx
shl edx, 8
sub edx, ecx
sub eax, edx
mov ecx, eax
mov eax, ecx
movzx eax, al
shl eax, 0x10
or eax, ebx
mov ecx, eax
mov rax, qword [sym.imp.GDI32.dll_CreateSolidBrush]
call rax
mov rdx, rax
mov rax, qword [rbp - 8]
mov rcx, rax
mov rax, qword [sym.imp.GDI32.dll_SelectObject]
call rax
mov edx, dword [0x14013e0f4]
mov r8d, dword [0x14013e0f0]
mov rax, qword [rbp - 8]
mov dword [rsp + 0x40], 0xcc0020
mov dword [rsp + 0x38], 0
mov dword [rsp + 0x30], 0
mov rcx, qword [rbp - 0x10]
mov qword [rsp + 0x28], rcx
mov dword [rsp + 0x20], edx
mov r9d, r8d
mov r8d, 0
mov edx, 0
mov rcx, rax
mov rax, qword [sym.imp.GDI32.dll_BitBlt]
call rax
mov rax, qword [rbp - 0x18]
mov rcx, rax
mov rax, qword [sym.imp.GDI32.dll_DeleteObject]
call rax
mov ecx, 0x1f4
mov rax, qword [sym.imp.KERNEL32.dll_Sleep]
call rax
call sym.rand
mov ecx, eax
movsxd rax, ecx
imul rax, rax, 0x66666667
shr rax, 0x20
mov edx, eax
sar edx, 2
mov eax, ecx
sar eax, 0x1f
sub edx, eax
mov eax, edx
shl eax, 2
add eax, edx
add eax, eax
sub ecx, eax
mov edx, ecx
cmp edx, 5
sete al
test al, al
je 0x14000978b
mov r8d, 0
mov edx, 0
mov ecx, 0
mov rax, qword [sym.imp.USER32.dll_InvalidateRect]
call rax
mov ecx, 0x1f4
mov rax, qword [sym.imp.KERNEL32.dll_Sleep]
call rax
jmp 0x140009221