Function at 0x140023b10
Capabilities:
Create thread

Disassembly:
mov qword [rsp + 0x10], rbx
mov qword [rsp + 0x18], rbp
mov qword [rsp + 0x20], rsi
mov qword [rsp + 8], rcx
push rdi
sub rsp, 0x40
movzx esi, r9b
movzx ebp, r8b
movzx edi, dl
mov rax, qword [0x140227bc8]
test rax, rax
jne 0x140023b5d
lea ecx, [rax + 0x30]
call fcn.140147b18
mov qword [rsp + 0x50], rax
mov rcx, rax
call fcn.14007e8d0
nop
mov qword [0x140227bc8], rax
mov rbx, rax
cmp byte [rax + 9], 0
jne 0x140023b95
test rax, rax
jne 0x140023b8c
lea ecx, [rax + 0x30]
call fcn.140147b18
mov qword [rsp + 0x50], rax
mov rcx, rax
call fcn.14007e8d0
mov rbx, rax
mov qword [0x140227bc8], rax
jmp 0x140023b8f
mov rax, rbx
cmp byte [rax + 8], 0
jne 0x140023bc5
test rbx, rbx
jne 0x140023bbc
lea ecx, [rbx + 0x30]
call fcn.140147b18
mov qword [rsp + 0x50], rax
mov rcx, rax
call fcn.14007e8d0
nop
mov qword [0x140227bc8], rax
mov rbx, rax
jmp 0x140023bbf
mov rax, rbx
cmp byte [rax + 0xa], 0
je 0x140023bcc
xor al, al
jmp 0x140023d5c
test bpl, bpl
je 0x140023d58
test dil, dil
je 0x140023cc6
test rbx, rbx
jne 0x140023c05
lea ecx, [rbx + 0x30]
call fcn.140147b18
mov qword [rsp + 0x50], rax
mov rcx, rax
call fcn.14007e8d0
nop
mov qword [0x140227bc8], rax
mov rbx, rax
jmp 0x140023c08
mov rax, rbx
xor edi, edi
cmp byte [rax + 0xf], dil
je 0x140023c8e
test rbx, rbx
jne 0x140023c34
lea ecx, [rdi + 0x30]
call fcn.140147b18
mov qword [rsp + 0x50], rax
mov rcx, rax
call fcn.14007e8d0
mov rbx, rax
mov qword [0x140227bc8], rax
mov dword [rsp + 0x50], edi
lea rcx, [rsp + 0x50]
call qword [sym.imp.dwmapi.dll_DwmIsCompositionEnabled]
test eax, eax
js 0x140023c8e
cmp dword [rsp + 0x50], 0
je 0x140023c8e
xor ecx, ecx
call qword [sym.imp.dwmapi.dll_Ordinal_102]
test eax, eax
js 0x140023c65
cmp dword [rsp + 0x50], 0
setne al
mov byte [rbx + 0x14], al
mov dword [rsp + 0x50], edi
mov rax, qword [rbx + 0x20]
test rax, rax
je 0x140023c8a
lea rcx, [rsp + 0x50]
call rax
test eax, eax
js 0x140023c8a
cmp dword [rsp + 0x50], 0
setne al
mov byte [rbx + 0xf], al
jmp 0x140023c8e
mov byte [rbx + 0xf], 0
lea rax, [rsp + 0x30]
mov qword [rsp + 0x28], rax
mov dword [rsp + 0x20], edi
xor r9d, r9d
lea r8, [0x1400234b0]
xor edx, edx
xor ecx, ecx
call qword [sym.imp.KERNEL32.dll_CreateThread]
test rax, rax
je 0x140023cbe
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_CloseHandle]
mov sil, 1
jmp 0x140023d58
xor edx, edx
lea rcx, str.blackscreen
call qword [sym.imp.USER32.dll_FindWindowA]
test rax, rax
je 0x140023ced
xor r9d, r9d
xor r8d, r8d
lea edx, [r9 + 0x10]
mov rcx, rax
call qword [sym.imp.USER32.dll_PostMessageA]
xor sil, sil
mov rbx, qword [0x140227bc8]
test rbx, rbx
jne 0x140023d1b
lea ecx, [rbx + 0x30]
call fcn.140147b18
mov qword [rsp + 0x50], rax
mov rcx, rax
call fcn.14007e8d0
mov rbx, rax
mov qword [0x140227bc8], rax
mov rax, qword [rbx + 0x28]
test rax, rax
je 0x140023d2e
movzx ecx, byte [rbx + 0x14]
test cl, cl
je 0x140023d2e
call rax
xor edi, edi
mov dword [rsp + 0x50], edi
mov rax, qword [rbx + 0x20]
test rax, rax
je 0x140023d54
lea rcx, [rsp + 0x50]
call rax
test eax, eax
js 0x140023d54
cmp dword [rsp + 0x50], edi
setne al
mov byte [rbx + 0xf], al
jmp 0x140023d58
mov byte [rbx + 0xf], dil
movzx eax, sil
mov rbx, qword [rsp + 0x58]
mov rbp, qword [rsp + 0x60]
mov rsi, qword [rsp + 0x68]
add rsp, 0x40
pop rdi
ret