Function at 0x14003ff60
Capabilities:
Create process on windows
Delete file
Download url
Receive data

Disassembly:
mov rax, rsp
push rdi
push r14
push r15
sub rsp, 0x3e0
mov qword [rax - 0x180], 0xfffffffffffffffe
mov qword [rax + 0x10], rbx
mov qword [rax + 0x18], rsi
mov rax, qword [0x1400dc010]
xor rax, rsp
mov qword [rsp + 0x3d0], rax
mov dword [rsp + 0x38], ecx
call fcn.14000db70
mov rcx, rax
test rax, rax
je 0x14004081d
mov rax, qword [rax]
call qword [rax + 0x18]
add rax, 0x18
mov qword [rsp + 0x58], rax
xor r15d, r15d
mov qword [rsp + 0x3c0], r15
mov qword [rsp + 0x3c8], r15
mov qword [rsp + 0x3c0], r15
mov qword [rsp + 0x3c8], 0xf
mov byte [rsp + 0x3b0], r15b
lea rdx, str.AnakageAnakageCoursesSoftwares_softwareURL.ll
lea rcx, [rsp + 0x68]
call fcn.14000c8e0
nop
lea rcx, [rsp + 0xe8]
call fcn.14005c370
nop
lea r8, [rsp + 0x68]
mov rdx, rax
lea rcx, [rsp + 0x50]
call fcn.14000bc20
nop
mov rcx, qword [rsp + 0xe8]
add rcx, 0xffffffffffffffe8
mov qword [rsp + 0xf0], rcx
mov r14d, 0xffffffff
mov eax, r14d
lock xadd dword [rcx + 0x10], eax
sub eax, 1
jg 0x140040053
mov rdx, qword [rsp + 0xf0]
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + 8]
nop
mov rcx, qword [rsp + 0x68]
add rcx, 0xffffffffffffffe8
mov qword [rsp + 0xf8], rcx
mov eax, r14d
lock xadd dword [rcx + 0x10], eax
sub eax, 1
jg 0x140040082
mov rdx, qword [rsp + 0xf8]
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + 8]
mov rdx, qword [rsp + 0x50]
lea rcx, [rsp + 0x2a0]
call fcn.14000ac90
nop
cmp qword [rsp + 0x330], 0
je 0x140040126
mov rax, qword [rsp + 0x2a0]
movsxd rcx, dword [rax + 4]
mov eax, dword [rsp + rcx + 0x2b0]
mov dword [rsp + 0x1c8], eax
test eax, eax
jne 0x1400400f0
lea rax, [rsp + 0x2a0]
add rcx, rax
mov dl, 0xa
call qword [sym.imp.MSVCP140.dll_public:_char___cdecl_std::basic_ios_char__struct_std::char_traits_char__::widen_char_const___ptr64]
movzx r8d, al
lea rdx, [rsp + 0x3b0]
lea rcx, [rsp + 0x2a0]
call fcn.14005ac90
jmp 0x1400400a4
lea rcx, [rsp + 0x2b0]
call fcn.14000cca0
test rax, rax
jne 0x140040126
mov rax, qword [rsp + 0x2a0]
movsxd rcx, dword [rax + 4]
lea rax, [rsp + 0x2a0]
add rcx, rax
xor r8d, r8d
lea edx, [r8 + 2]
call qword [sym.imp.MSVCP140.dll_public:_void___cdecl_std::basic_ios_char__struct_std::char_traits_char__::setstate_int__bool____ptr64]
lea rax, [rsp + 0x100]
mov qword [rsp + 0x280], rax
lea rax, [rsp + 0x108]
mov qword [rsp + 0x290], rax
lea rdx, [rsp + 0x3b0]
cmp qword [rsp + 0x3c8], 0x10
cmovae rdx, qword [rsp + 0x3b0]
mov qword [rsp + 0x1d8], rdx
lea rcx, [rsp + 0x100]
call fcn.14000c8e0
mov rbx, rax
lea rdx, str.Start_of_utils::downloadSoftwares_from
lea rcx, [rsp + 0x108]
call fcn.14000c8e0
nop
mov r8d, r14d
mov rdx, rbx
mov rcx, rax
call fcn.14005c860
lea rdx, str.AnakageAnakageCoursesSoftwares_sol.exe
lea rcx, [rsp + 0x70]
call fcn.14000c8e0
nop
lea rcx, [rsp + 0x110]
call fcn.14005c370
nop
lea r8, [rsp + 0x70]
mov rdx, rax
lea rcx, [rsp + 0x30]
call fcn.14000bc20
nop
mov rcx, qword [rsp + 0x110]
add rcx, 0xffffffffffffffe8
mov qword [rsp + 0x118], rcx
mov eax, r14d
lock xadd dword [rcx + 0x10], eax
sub eax, 1
jg 0x140040201
mov rdx, qword [rsp + 0x118]
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + 8]
nop
mov rcx, qword [rsp + 0x70]
add rcx, 0xffffffffffffffe8
mov qword [rsp + 0x120], rcx
mov eax, r14d
lock xadd dword [rcx + 0x10], eax
sub eax, 1
jg 0x140040230
mov rdx, qword [rsp + 0x120]
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + 8]
mov rbx, qword [rsp + 0x30]
mov rsi, rbx
mov qword [rsp + 0x128], rbx
mov rdi, r15
mov qword [rsp + 0x88], r15
nop dword [rax + rax]
movzx ecx, word [rsi]
test cx, cx
je 0x140040297
mov word [rsp + 0x40], cx
call qword [sym.imp.api_ms_win_crt_string_l1_1_0.dll_iswspace]
test eax, eax
je 0x140040279
test rdi, rdi
jne 0x140040284
mov rdi, rsi
mov qword [rsp + 0x88], rsi
jmp 0x140040284
mov rdi, r15
mov qword [rsp + 0x88], r15
add rsi, 2
mov qword [rsp + 0x128], rsi
mov rbx, qword [rsp + 0x30]
jmp 0x140040250
test rdi, rdi
je 0x14004030f
sub rdi, rbx
sar rdi, 1
mov dword [rsp + 0x1cc], edi
test edi, edi
js 0x140040828
lea rax, [rbx - 0x18]
mov qword [rsp + 0x1e0], rax
mov esi, 1
mov ecx, esi
sub ecx, dword [rax + 0x10]
mov dword [rsp + 0x1d0], ecx
mov eax, dword [rax + 0xc]
sub eax, edi
mov dword [rsp + 0xc0], eax
or eax, ecx
jge 0x1400402ef
mov edx, edi
lea rcx, [rsp + 0x30]
call fcn.14000d2f0
mov rbx, qword [rsp + 0x30]
cmp edi, dword [rbx - 0xc]
jg 0x140040832
mov dword [rbx - 0x10], edi
movsxd rcx, edi
mov rax, qword [rsp + 0x30]
mov word [rax + rcx*2], r15w
mov rbx, qword [rsp + 0x30]
jmp 0x140040314
mov esi, 1
lea rdi, [rsp + 0x30]
mov qword [rsp + 0x1e8], rdi
mov qword [rsp + 0x80], rbx
nop dword [rax]
movzx ecx, word [rbx]
mov word [rsp + 0x48], cx
call qword [sym.imp.api_ms_win_crt_string_l1_1_0.dll_iswspace]
test eax, eax
je 0x140040350
add rbx, 2
mov qword [rsp + 0x80], rbx
jmp 0x140040330
mov rax, qword [rsp + 0x30]
cmp rbx, rax
je 0x140040444
sub rbx, rax
sar rbx, 1
mov dword [rsp + 0xc4], ebx
mov edx, dword [rax - 0x10]
mov dword [rsp + 0xc8], edx
test edx, edx
js 0x14004083c
sub esi, dword [rax - 8]
mov dword [rsp + 0xcc], esi
mov r8d, dword [rax - 0xc]
sub r8d, edx
mov dword [rsp + 0xe0], r8d
or r8d, esi
jge 0x1400403a8
mov rcx, rdi
call fcn.14000d2f0
mov rax, qword [rsp + 0x30]
movsxd rcx, ebx
lea r9, [rax + rcx*2]
mov qword [rsp + 0x80], r9
mov edx, dword [rax - 0x10]
mov dword [rsp + 0xd0], edx
mov edi, edx
sub edi, ebx
mov dword [rsp + 0xd4], edi
mov dword [rsp + 0xd8], edx
lea ecx, [rdi + 1]
movsxd r8, ecx
add r8, r8
mov qword [rsp + 0x1f0], r8
je 0x14004041e
test r9, r9
jne 0x1400403fc
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__errno]
mov dword [rax], 0x16
jmp 0x140040852
lea ecx, [rdx + 1]
movsxd rdx, ecx
add rdx, rdx
cmp rdx, r8
jb 0x140040846
mov rdx, r9
mov rcx, rax
call sub.VCRUNTIME140.dll_memmove
mov rax, qword [rsp + 0x30]
test edi, edi
js 0x140040862
cmp edi, dword [rax - 0xc]
jg 0x140040862
mov dword [rax - 0x10], edi
movsxd rcx, edi
mov rax, qword [rsp + 0x30]
mov word [rax + rcx*2], r15w
mov rax, qword [rsp + 0x30]
lea rcx, [rsp + 0x90]
mov qword [rsp + 0x1f8], rcx
lea rcx, [rax - 0x18]
mov qword [rsp + 0x200], rcx
call fcn.14000d260
mov qword [rsp + 0x208], rax
add rax, 0x18
mov qword [rsp + 0x90], rax
lea rcx, [rsp + 0x90]
call fcn.140061c40
cmp al, 1
jne 0x1400404ef
lea rax, [rsp + 0x130]
mov qword [rsp + 0x210], rax
lea rax, [rsp + 0x138]
mov qword [rsp + 0x218], rax
lea rdx, [0x140099090]
lea rcx, [rsp + 0x130]
call fcn.14000c8e0
mov rbx, rax
lea rdx, str.Start_of_utils::downloadSoftwares_deleting_old_sol.exe
lea rcx, [rsp + 0x138]
call fcn.14000c8e0
nop
mov r8d, r14d
mov rdx, rbx
mov rcx, rax
call fcn.14005c860
mov rcx, qword [rsp + 0x30]
call qword [sym.imp.KERNEL32.dll_DeleteFileW]
lea rdx, [rsp + 0x3b0]
cmp qword [rsp + 0x3c8], 0x10
cmovae rdx, qword [rsp + 0x3b0]
mov qword [rsp + 0x220], rdx
mov qword [rsp + 0x20], r15
xor r9d, r9d
mov r8, qword [rsp + 0x30]
xor ecx, ecx
call qword [sym.imp.urlmon.dll_URLDownloadToFileW]
movsxd rbx, eax
mov dword [rsp + 0xdc], ebx
lea rax, [rsp + 0x140]
mov qword [rsp + 0x228], rax
lea rax, [rsp + 0x148]
mov qword [rsp + 0x230], rax
lea rdx, [0x140099090]
lea rcx, [rsp + 0x140]
call fcn.14000c8e0
mov rdi, rax
lea rdx, str.End_Downlod_with_result.
add rdx, rbx
lea rcx, [rsp + 0x148]
call fcn.14000c8e0
nop
mov r8d, r14d
mov rdx, rdi
mov rcx, rax
call fcn.14005c860
mov rcx, qword [rsp + 0x50]
call qword [sym.imp.KERNEL32.dll_DeleteFileW]
mov ecx, 0xc8
call qword [sym.imp.KERNEL32.dll_Sleep]
lea rax, [rsp + 0x98]
mov qword [rsp + 0x238], rax
mov rcx, qword [rsp + 0x30]
add rcx, 0xffffffffffffffe8
mov qword [rsp + 0x240], rcx
call fcn.14000d260
mov qword [rsp + 0x248], rax
add rax, 0x18
mov qword [rsp + 0x98], rax
lea rcx, [rsp + 0x98]
call fcn.140061c40
cmp al, 1
jne 0x1400406ba
lea rdx, [0x1400a2fd4]
lea rcx, [rsp + 0xa0]
call fcn.14000c8e0
nop
lea r8, [rsp + 0x30]
lea rdx, [rsp + 0xa0]
lea rcx, [rsp + 0x150]
call fcn.14000bc20
mov qword [rsp + 0x250], rax
mov r9, qword [rax]
mov qword [rsp + 0x258], r9
mov dword [rsp + 0x28], r15d
mov qword [rsp + 0x20], r15
lea r8, [0x1400a2fd8]
lea rdx, str.open
xor ecx, ecx
call qword [sym.imp.SHELL32.dll_ShellExecuteW]
nop
mov rcx, qword [rsp + 0x150]
add rcx, 0xffffffffffffffe8
mov qword [rsp + 0x158], rcx
mov eax, r14d
lock xadd dword [rcx + 0x10], eax
sub eax, 1
jg 0x140040688
mov rdx, qword [rsp + 0x158]
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + 8]
nop
mov rcx, qword [rsp + 0xa0]
add rcx, 0xffffffffffffffe8
mov qword [rsp + 0x160], rcx
mov eax, r14d
lock xadd dword [rcx + 0x10], eax
sub eax, 1
jg 0x1400406ba
mov rdx, qword [rsp + 0x160]
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + 8]
mov ecx, 0x12c
call qword [sym.imp.KERNEL32.dll_Sleep]
nop
mov rcx, qword [rsp + 0x30]
add rcx, 0xffffffffffffffe8
mov qword [rsp + 0x168], rcx
mov eax, r14d
lock xadd dword [rcx + 0x10], eax
sub eax, 1
jg 0x1400406f6
mov rdx, qword [rsp + 0x168]
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + 8]
nop
lea rcx, [rsp + 0x2a0]
call fcn.140006aa0
nop
mov rcx, qword [rsp + 0x50]
add rcx, 0xffffffffffffffe8
mov qword [rsp + 0x170], rcx
mov eax, r14d
lock xadd dword [rcx + 0x10], eax
sub eax, 1
jg 0x140040734
mov rdx, qword [rsp + 0x170]
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + 8]
nop
mov rdx, qword [rsp + 0x3c8]
cmp rdx, 0x10
jb 0x1400407ab
inc rdx
mov qword [rsp + 0x260], rdx
mov qword [rsp + 0x178], rdx
mov rcx, qword [rsp + 0x3b0]
mov qword [rsp + 0x180], rcx
mov rax, rcx
cmp rdx, 0x1000
jb 0x1400407a6
add rdx, 0x27
mov qword [rsp + 0x178], rdx
mov rcx, qword [rcx - 8]
mov qword [rsp + 0x268], rcx
sub rax, rcx
mov qword [rsp + 0x270], rax
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1400407c9
mov qword [rsp + 0x180], rcx
call fcn.140069404
mov qword [rsp + 0x3c0], r15
mov qword [rsp + 0x3c8], 0xf
mov byte [rsp + 0x3b0], 0
jmp 0x1400407d6
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
nop
mov r14d, 0xffffffff
mov rdx, qword [rsp + 0x58]
add rdx, 0xffffffffffffffe8
lock xadd dword [rdx + 0x10], r14d
sub r14d, 1
jg 0x1400407f4
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + 8]
mov rcx, qword [rsp + 0x3d0]
xor rcx, rsp
call fcn.1400693e0
lea r11, [rsp + 0x3e0]
mov rbx, qword [r11 + 0x28]
mov rsi, qword [r11 + 0x30]
mov rsp, r11
pop r15
pop r14
pop rdi
ret
mov ecx, 0x80004005
call fcn.14000df80
nop
mov ecx, 0x80070057
call fcn.14000df80
mov ecx, 0x80070057
call fcn.14000df80
mov ecx, 0x80070057
call fcn.14000df80
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__errno]
mov dword [rax], 0x22
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo]
mov ecx, 0x80070057
call fcn.14000df80
mov ecx, 0x80070057
call fcn.14000df80
int3