Function at 0x140023370
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 [0x1401fc428]
test rax, rax
jne 0x1400233bd
lea ecx, [rax + 0x30]
call fcn.140131f18
mov qword [rsp + 0x50], rax
mov rcx, rax
call fcn.14007c180
nop
mov qword [0x1401fc428], rax
mov rbx, rax
cmp byte [rax + 9], 0
jne 0x1400233f5
test rax, rax
jne 0x1400233ec
lea ecx, [rax + 0x30]
call fcn.140131f18
mov qword [rsp + 0x50], rax
mov rcx, rax
call fcn.14007c180
mov rbx, rax
mov qword [0x1401fc428], rax
jmp 0x1400233ef
mov rax, rbx
cmp byte [rax + 8], 0
jne 0x140023425
test rbx, rbx
jne 0x14002341c
lea ecx, [rbx + 0x30]
call fcn.140131f18
mov qword [rsp + 0x50], rax
mov rcx, rax
call fcn.14007c180
nop
mov qword [0x1401fc428], rax
mov rbx, rax
jmp 0x14002341f
mov rax, rbx
cmp byte [rax + 0xa], 0
je 0x14002342c
xor al, al
jmp 0x1400235bc
test bpl, bpl
je 0x1400235b8
test dil, dil
je 0x140023526
test rbx, rbx
jne 0x140023465
lea ecx, [rbx + 0x30]
call fcn.140131f18
mov qword [rsp + 0x50], rax
mov rcx, rax
call fcn.14007c180
nop
mov qword [0x1401fc428], rax
mov rbx, rax
jmp 0x140023468
mov rax, rbx
xor edi, edi
cmp byte [rax + 0xf], dil
je 0x1400234ee
test rbx, rbx
jne 0x140023494
lea ecx, [rdi + 0x30]
call fcn.140131f18
mov qword [rsp + 0x50], rax
mov rcx, rax
call fcn.14007c180
mov rbx, rax
mov qword [0x1401fc428], rax
mov dword [rsp + 0x50], edi
lea rcx, [rsp + 0x50]
call qword [sym.imp.dwmapi.dll_DwmIsCompositionEnabled]
test eax, eax
js 0x1400234ee
cmp dword [rsp + 0x50], 0
je 0x1400234ee
xor ecx, ecx
call qword [sym.imp.dwmapi.dll_Ordinal_102]
test eax, eax
js 0x1400234c5
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 0x1400234ea
lea rcx, [rsp + 0x50]
call rax
test eax, eax
js 0x1400234ea
cmp dword [rsp + 0x50], 0
setne al
mov byte [rbx + 0xf], al
jmp 0x1400234ee
mov byte [rbx + 0xf], 0
lea rax, [rsp + 0x30]
mov qword [rsp + 0x28], rax
mov dword [rsp + 0x20], edi
xor r9d, r9d
lea r8, [0x140022d10]
xor edx, edx
xor ecx, ecx
call qword [sym.imp.KERNEL32.dll_CreateThread]
test rax, rax
je 0x14002351e
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_CloseHandle]
mov sil, 1
jmp 0x1400235b8
xor edx, edx
lea rcx, str.blackscreen
call qword [sym.imp.USER32.dll_FindWindowA]
test rax, rax
je 0x14002354d
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 [0x1401fc428]
test rbx, rbx
jne 0x14002357b
lea ecx, [rbx + 0x30]
call fcn.140131f18
mov qword [rsp + 0x50], rax
mov rcx, rax
call fcn.14007c180
mov rbx, rax
mov qword [0x1401fc428], rax
mov rax, qword [rbx + 0x28]
test rax, rax
je 0x14002358e
movzx ecx, byte [rbx + 0x14]
test cl, cl
je 0x14002358e
call rax
xor edi, edi
mov dword [rsp + 0x50], edi
mov rax, qword [rbx + 0x20]
test rax, rax
je 0x1400235b4
lea rcx, [rsp + 0x50]
call rax
test eax, eax
js 0x1400235b4
cmp dword [rsp + 0x50], edi
setne al
mov byte [rbx + 0xf], al
jmp 0x1400235b8
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