Function at 0x1400239e0
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 [0x1401fb448]
test rax, rax
jne 0x140023a2d
lea ecx, [rax + 0x30]
call fcn.140132648
mov qword [rsp + 0x50], rax
mov rcx, rax
call fcn.14007c970
nop
mov qword [0x1401fb448], rax
mov rbx, rax
cmp byte [rax + 9], 0
jne 0x140023a65
test rax, rax
jne 0x140023a5c
lea ecx, [rax + 0x30]
call fcn.140132648
mov qword [rsp + 0x50], rax
mov rcx, rax
call fcn.14007c970
mov rbx, rax
mov qword [0x1401fb448], rax
jmp 0x140023a5f
mov rax, rbx
cmp byte [rax + 8], 0
jne 0x140023a95
test rbx, rbx
jne 0x140023a8c
lea ecx, [rbx + 0x30]
call fcn.140132648
mov qword [rsp + 0x50], rax
mov rcx, rax
call fcn.14007c970
nop
mov qword [0x1401fb448], rax
mov rbx, rax
jmp 0x140023a8f
mov rax, rbx
cmp byte [rax + 0xa], 0
je 0x140023a9c
xor al, al
jmp 0x140023c2c
test bpl, bpl
je 0x140023c28
test dil, dil
je 0x140023b96
test rbx, rbx
jne 0x140023ad5
lea ecx, [rbx + 0x30]
call fcn.140132648
mov qword [rsp + 0x50], rax
mov rcx, rax
call fcn.14007c970
nop
mov qword [0x1401fb448], rax
mov rbx, rax
jmp 0x140023ad8
mov rax, rbx
xor edi, edi
cmp byte [rax + 0xf], dil
je 0x140023b5e
test rbx, rbx
jne 0x140023b04
lea ecx, [rdi + 0x30]
call fcn.140132648
mov qword [rsp + 0x50], rax
mov rcx, rax
call fcn.14007c970
mov rbx, rax
mov qword [0x1401fb448], rax
mov dword [rsp + 0x50], edi
lea rcx, [rsp + 0x50]
call qword [sym.imp.dwmapi.dll_DwmIsCompositionEnabled]
test eax, eax
js 0x140023b5e
cmp dword [rsp + 0x50], 0
je 0x140023b5e
xor ecx, ecx
call qword [sym.imp.dwmapi.dll_Ordinal_102]
test eax, eax
js 0x140023b35
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 0x140023b5a
lea rcx, [rsp + 0x50]
call rax
test eax, eax
js 0x140023b5a
cmp dword [rsp + 0x50], 0
setne al
mov byte [rbx + 0xf], al
jmp 0x140023b5e
mov byte [rbx + 0xf], 0
lea rax, [rsp + 0x30]
mov qword [rsp + 0x28], rax
mov dword [rsp + 0x20], edi
xor r9d, r9d
lea r8, [0x140023380]
xor edx, edx
xor ecx, ecx
call qword [sym.imp.KERNEL32.dll_CreateThread]
test rax, rax
je 0x140023b8e
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_CloseHandle]
mov sil, 1
jmp 0x140023c28
xor edx, edx
lea rcx, str.blackscreen
call qword [sym.imp.USER32.dll_FindWindowA]
test rax, rax
je 0x140023bbd
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 [0x1401fb448]
test rbx, rbx
jne 0x140023beb
lea ecx, [rbx + 0x30]
call fcn.140132648
mov qword [rsp + 0x50], rax
mov rcx, rax
call fcn.14007c970
mov rbx, rax
mov qword [0x1401fb448], rax
mov rax, qword [rbx + 0x28]
test rax, rax
je 0x140023bfe
movzx ecx, byte [rbx + 0x14]
test cl, cl
je 0x140023bfe
call rax
xor edi, edi
mov dword [rsp + 0x50], edi
mov rax, qword [rbx + 0x20]
test rax, rax
je 0x140023c24
lea rcx, [rsp + 0x50]
call rax
test eax, eax
js 0x140023c24
cmp dword [rsp + 0x50], edi
setne al
mov byte [rbx + 0xf], al
jmp 0x140023c28
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