Function at 0x140054ca0
Capabilities:
Check for foreground window switch
Create thread
Encode data using xor

Disassembly:
mov qword [rsp + 8], rbx
mov qword [rsp + 0x10], rdi
push rbp
mov rbp, rsp
sub rsp, 0x50
movzx ecx, word [0x140183960]
lea rdx, [rbp - 0x10]
movzx eax, byte [0x140183962]
movsd xmm0, qword [str._vtvhzri]
xor al, 0x40
movsd qword [rbp - 0x10], xmm0
xor byte [rbp - 0xf], 0x37
xor byte [rbp - 0xe], 0x38
xor byte [rbp - 0xd], 0x39
xor byte [rbp - 0xc], 0x3a
xor byte [rbp - 0xb], 0x3b
xor byte [rbp - 0xa], 0x3c
xor byte [rbp - 9], 0x3d
mov word [rbp - 8], cx
xor cl, 0x3e
xor byte [rbp - 7], 0x3f
mov byte [rbp - 8], cl
xor ecx, ecx
mov byte [rbp - 0x10], 0x56
mov byte [rbp - 6], al
call qword [sym.imp.USER32.dll_FindWindowA]
mov qword [0x1401d7550], rax
call fcn.1400546b0
lea rdx, [0x1401d7540]
mov ecx, reloc.WLDAP32.dll_Ordinal_32
call qword [sym.imp.d3d9.dll_Direct3DCreate9Ex]
xor edi, edi
test eax, eax
js 0x140054f11
cvttss2si rax, dword [0x1401d7568]
mov rcx, qword [0x1401d7540]
lea rdx, [0x1401d7978]
mov r9, qword [0x1401d7970]
lea r8d, [rdi + 1]
mov qword [rsp + 0x30], rdx
lea rdx, [0x1401d74d0]
mov qword [rsp + 0x28], rdx
xor edx, edx
mov qword [0x1401d74dc], rdi
mov qword [0x1401d74e8], 1
mov qword [0x1401d7504], rdi
mov dword [0x1401d750c], edi
mov dword [0x1401d74d8], 0x15
mov dword [0x1401d74d0], eax
cvttss2si rax, dword [0x1401d7548]
mov dword [0x1401d74e4], edi
mov dword [0x1401d7500], 0x50
mov dword [0x1401d74fc], 1
mov qword [0x1401d74f0], r9
mov dword [0x1401d74f8], 1
mov dword [rsp + reloc.WLDAP32.dll_Ordinal_32], 0x20
mov dword [0x1401d74d4], eax
mov rax, qword [rcx]
call qword [rax + 0x80]
call fcn.140007010
mov rbx, qword [0x1401d7970]
lea rcx, [0x1401d7958]
call qword [sym.imp.KERNEL32.dll_QueryPerformanceFrequency]
test eax, eax
je 0x140054ee1
lea rcx, [0x1401d7950]
call qword [sym.imp.KERNEL32.dll_QueryPerformanceCounter]
test eax, eax
je 0x140054ee1
mov rcx, qword [0x1401d7410]
lea rax, str.imgui_impl_win32
mov qword [0x1401d7948], rbx
or dword [rcx + 0xc], 6
mov qword [rcx + 0xd8], rax
mov qword [rcx + 0x108], rbx
mov dword [rcx + 0x3c], 9
mov dword [rcx + 0x40], Ordinal_41
mov dword [rcx + 0x44], Ordinal_45
mov dword [rcx + 0x48], Ordinal_41
mov dword [rcx + 0x4c], Ordinal_45
mov dword [rcx + 0x50], reloc.WLDAP32.dll_Ordinal_33
mov dword [rcx + 0x54], Ordinal_35
mov dword [rcx + 0x58], Ordinal_41
mov dword [rcx + 0x5c], reloc.WLDAP32.dll_Ordinal_35
mov dword [rcx + 0x60], reloc.WLDAP32.dll_Ordinal_45
mov dword [rcx + 0x64], reloc.WLDAP32.dll_Ordinal_46
mov dword [rcx + 0x68], 8
mov dword [rcx + 0x6c], reloc.WLDAP32.dll_Ordinal_32
mov dword [rcx + 0x70], reloc.WS2_32.dll_listen
mov dword [rcx + 0x74], reloc.WLDAP32.dll_Ordinal_27
mov dword [rcx + 0x78], 0x41
mov dword [rcx + 0x7c], 0x43
mov dword [rcx + 0x80], 0x56
mov dword [rcx + 0x84], 0x58
mov dword [rcx + 0x88], 0x59
mov dword [rcx + 0x8c], 0x5a
jmp 0x140054ee8
mov rcx, qword [0x1401d7410]
mov rax, qword [0x1401d7978]
lea rdx, str.imgui_impl_dx9
mov qword [rcx + 0xe0], rdx
mov rcx, qword [0x1401d7540]
mov qword [0x1401d7938], rax
mov rax, qword [rcx]
call qword [rax + reloc.WS2_32.dll_recv]
call qword [sym.imp.USER32.dll_GetForegroundWindow]
movzx ecx, word [0x140183960]
mov rbx, rax
mov word [rbp - 8], cx
movzx ecx, byte [0x140183962]
lea rdx, [rbp - 0x10]
movsd xmm0, qword [str._vtvhzri]
xor cl, 0x40
xor byte [rbp - 8], 0x3e
xor byte [rbp - 7], 0x3f
movsd qword [rbp - 0x10], xmm0
xor byte [rbp - 0xf], 0x37
xor byte [rbp - 0xe], 0x38
xor byte [rbp - 0xd], 0x39
xor byte [rbp - 0xc], 0x3a
xor byte [rbp - 0xb], 0x3b
xor byte [rbp - 0xa], 0x3c
xor byte [rbp - 9], 0x3d
mov byte [rbp - 6], cl
xor ecx, ecx
mov byte [rbp - 0x10], 0x56
call qword [sym.imp.USER32.dll_FindWindowA]
cmp rbx, rax
je 0x140054f99
mov ecx, reloc.WLDAP32.dll_Ordinal_200
call qword [sym.imp.KERNEL32.dll_Sleep]
call qword [sym.imp.USER32.dll_GetForegroundWindow]
mov rbx, rax
movzx eax, word [0x140183960]
mov word [rbp - 8], ax
jmp 0x140054f25
mov qword [rsp + 0x28], rdi
lea r8, [0x1400481d0]
xor r9d, r9d
mov dword [rsp + 0x20], edi
xor edx, edx
xor ecx, ecx
call qword [sym.imp.KERNEL32.dll_CreateThread]
call fcn.1400540a0
mov rbx, qword [rsp + 0x60]
mov rdi, qword [rsp + 0x68]
add rsp, 0x50
pop rbp
jmp fcn.1400543c0