Function at 0x140055400
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 [0x140183cc0]
lea rdx, [rbp - 0x10]
movzx eax, byte [0x140183cc2]
movsd xmm0, qword [str.fpftxc]
xor al, 0x3a
movsd qword [rbp - 0x10], xmm0
xor byte [rbp - 0xf], 0x31
xor byte [rbp - 0xe], 0x32
xor byte [rbp - 0xd], 0x33
xor byte [rbp - 0xc], 0x34
xor byte [rbp - 0xb], 0x35
xor byte [rbp - 0xa], 0x36
xor byte [rbp - 9], 0x37
mov word [rbp - 8], cx
xor cl, 0x38
xor byte [rbp - 7], 0x39
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 [0x1401d8550], rax
call fcn.140054dd0
lea rdx, [0x1401d8540]
mov ecx, reloc.WLDAP32.dll_Ordinal_32
call qword [sym.imp.d3d9.dll_Direct3DCreate9Ex]
xor edi, edi
test eax, eax
js 0x140055671
cvttss2si rax, dword [0x1401d8568]
mov rcx, qword [0x1401d8540]
lea rdx, [0x1401d8978]
mov r9, qword [0x1401d8970]
lea r8d, [rdi + 1]
mov qword [rsp + 0x30], rdx
lea rdx, [0x1401d84d0]
mov qword [rsp + 0x28], rdx
xor edx, edx
mov qword [0x1401d84dc], rdi
mov qword [0x1401d84e8], 1
mov qword [0x1401d8504], rdi
mov dword [0x1401d850c], edi
mov dword [0x1401d84d8], 0x15
mov dword [0x1401d84d0], eax
cvttss2si rax, dword [0x1401d8548]
mov dword [0x1401d84e4], edi
mov dword [0x1401d8500], 0x50
mov dword [0x1401d84fc], 1
mov qword [0x1401d84f0], r9
mov dword [0x1401d84f8], 1
mov dword [rsp + reloc.WLDAP32.dll_Ordinal_32], 0x20
mov dword [0x1401d84d4], eax
mov rax, qword [rcx]
call qword [rax + 0x80]
call fcn.1400071b0
mov rbx, qword [0x1401d8970]
lea rcx, [0x1401d8958]
call qword [sym.imp.KERNEL32.dll_QueryPerformanceFrequency]
test eax, eax
je 0x140055641
lea rcx, [0x1401d8950]
call qword [sym.imp.KERNEL32.dll_QueryPerformanceCounter]
test eax, eax
je 0x140055641
mov rcx, qword [0x1401d8410]
lea rax, str.imgui_impl_win32
mov qword [0x1401d8948], 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 0x140055648
mov rcx, qword [0x1401d8410]
mov rax, qword [0x1401d8978]
lea rdx, str.imgui_impl_dx9
mov qword [rcx + 0xe0], rdx
mov rcx, qword [0x1401d8540]
mov qword [0x1401d8938], rax
mov rax, qword [rcx]
call qword [rax + reloc.WS2_32.dll_recv]
call qword [sym.imp.USER32.dll_GetForegroundWindow]
movzx ecx, word [0x140183cc0]
mov rbx, rax
mov word [rbp - 8], cx
movzx ecx, byte [0x140183cc2]
lea rdx, [rbp - 0x10]
movsd xmm0, qword [str.fpftxc]
xor cl, 0x3a
xor byte [rbp - 8], 0x38
xor byte [rbp - 7], 0x39
movsd qword [rbp - 0x10], xmm0
xor byte [rbp - 0xf], 0x31
xor byte [rbp - 0xe], 0x32
xor byte [rbp - 0xd], 0x33
xor byte [rbp - 0xc], 0x34
xor byte [rbp - 0xb], 0x35
xor byte [rbp - 0xa], 0x36
xor byte [rbp - 9], 0x37
mov byte [rbp - 6], cl
xor ecx, ecx
mov byte [rbp - 0x10], 0x56
call qword [sym.imp.USER32.dll_FindWindowA]
cmp rbx, rax
je 0x1400556f9
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 [0x140183cc0]
mov word [rbp - 8], ax
jmp 0x140055685
mov qword [rsp + 0x28], rdi
lea r8, [0x140048660]
xor r9d, r9d
mov dword [rsp + 0x20], edi
xor edx, edx
xor ecx, ecx
call qword [sym.imp.KERNEL32.dll_CreateThread]
call fcn.1400547b0
mov rbx, qword [rsp + 0x60]
mov rdi, qword [rsp + 0x68]
add rsp, 0x50
pop rbp
jmp fcn.140054ad0