Function at 0x140002190
Capabilities:
Capture screenshot

Disassembly:
push rbp
sub rsp, 0xa0
mov rax, qword [0x140008040]
xor rax, rsp
mov qword [rsp + 0x80], rax
xor ecx, ecx
call qword [sym.imp.USER32.dll_GetDC]
mov rbp, rax
test rax, rax
je 0x140002464
mov rcx, rbp
mov qword [rsp + 0xb8], rsi
call qword [sym.imp.GDI32.dll_CreateCompatibleDC]
mov rsi, rax
test rax, rax
jne 0x1400021ea
mov rdx, rbp
xor ecx, ecx
call qword [sym.imp.USER32.dll_ReleaseDC]
xor al, al
jmp 0x14000245c
mov edx, 0x3ca
mov qword [rsp + 0x90], r15
mov r8d, 0x1fe
mov rcx, rbp
call qword [sym.imp.GDI32.dll_CreateCompatibleBitmap]
mov r15, rax
mov rcx, rsi
test rax, rax
jne 0x140002229
call qword [sym.imp.GDI32.dll_DeleteDC]
mov rdx, rbp
xor ecx, ecx
call qword [sym.imp.USER32.dll_ReleaseDC]
xor al, al
jmp 0x140002454
mov rdx, r15
mov qword [rsp + 0xc8], r12
call qword [sym.imp.GDI32.dll_SelectObject]
mov dword [rsp + 0x40], 0xcc0020
mov r9d, 0x3ca
mov dword [rsp + 0x38], 0x1dc
xor r8d, r8d
mov dword [rsp + 0x30], 0x3c2
xor edx, edx
mov qword [rsp + 0x28], rbp
mov rcx, rsi
mov dword [rsp + 0x20], 0x1fe
mov r12, rax
call qword [sym.imp.GDI32.dll_BitBlt]
test eax, eax
jne 0x1400022aa
mov rdx, r12
mov rcx, rsi
call qword [sym.imp.GDI32.dll_SelectObject]
mov rcx, r15
call qword [sym.imp.GDI32.dll_DeleteObject]
mov rcx, rsi
call qword [sym.imp.GDI32.dll_DeleteDC]
mov rdx, rbp
xor ecx, ecx
call qword [sym.imp.USER32.dll_ReleaseDC]
xor al, al
jmp 0x14000244c
mov qword [rsp + 0xb0], rbx
xorps xmm0, xmm0
mov qword [rsp + 0xc0], rdi
mov ecx, 0x16a544
mov qword [rsp + 0x98], r14
mov edi, 1
movdqu xmmword [rsp + 0x64], xmm0
mov qword [rsp + 0x74], 0
mov dword [rsp + 0x50], 0x28
mov dword [rsp + 0x54], 0x3ca
mov dword [rsp + 0x58], 0xfffffe02
mov qword [rsp + 0x5c], 0x180001
call fcn.14000409c
mov rbx, rax
mov dword [rsp + 0x30], 0
lea rax, [rsp + 0x50]
mov r9d, 0x1fe
mov qword [rsp + 0x28], rax
xor r8d, r8d
mov rdx, r15
mov qword [rsp + 0x20], rbx
mov rcx, rsi
call qword [sym.imp.GDI32.dll_GetDIBits]
test eax, eax
jne 0x140002368
mov rdx, r12
mov rcx, rsi
call qword [sym.imp.GDI32.dll_SelectObject]
mov rcx, r15
call qword [sym.imp.GDI32.dll_DeleteObject]
mov rcx, rsi
call qword [sym.imp.GDI32.dll_DeleteDC]
mov rdx, rbp
xor ecx, ecx
call qword [sym.imp.USER32.dll_ReleaseDC]
xor r14b, r14b
jmp 0x140002428
xor r14b, r14b
nop dword [rax + rax]
test r14b, r14b
jne 0x1400023ff
xor r9d, r9d
mov eax, edi
nop
movsxd rcx, eax
mov r8d, 0x7e
movzx edx, byte [rcx + rbx + 1]
sub r8d, edx
mov ecx, r8d
neg ecx
cmovs ecx, r8d
test ecx, ecx
jg 0x1400023d9
movsxd rcx, eax
mov r8d, 0xd3
movzx edx, byte [rcx + rbx]
sub r8d, edx
mov ecx, r8d
neg ecx
cmovs ecx, r8d
test ecx, ecx
jg 0x1400023d9
movsxd rcx, eax
mov r8d, 0x21
movzx edx, byte [rcx + rbx - 1]
sub r8d, edx
mov ecx, r8d
neg ecx
cmovs ecx, r8d
test ecx, ecx
jle 0x1400023ea
inc r9d
add eax, 3
cmp r9d, 0x3ca
jl 0x140002380
jmp 0x1400023ed
mov r14b, 1
add edi, 0xb5e
cmp edi, 0x16a545
jl 0x140002370
mov rdx, r12
mov rcx, rsi
call qword [sym.imp.GDI32.dll_SelectObject]
mov rcx, r15
call qword [sym.imp.GDI32.dll_DeleteObject]
mov rcx, rsi
call qword [sym.imp.GDI32.dll_DeleteDC]
mov rdx, rbp
xor ecx, ecx
call qword [sym.imp.USER32.dll_ReleaseDC]
mov rcx, rbx
call fcn.140003e10
mov rdi, qword [rsp + 0xc0]
movzx eax, r14b
mov r14, qword [rsp + 0x98]
mov rbx, qword [rsp + 0xb0]
mov r12, qword [rsp + 0xc8]
mov r15, qword [rsp + 0x90]
mov rsi, qword [rsp + 0xb8]
mov rcx, qword [rsp + 0x80]
xor rcx, rsp
call fcn.140003df0
add rsp, 0xa0
pop rbp
ret