Function at 0x14001ae10
Capabilities:
Check if file exists
Create directory
Delete file
Get file attributes
Move file

Disassembly:
push rbp
push rbx
push rsi
push rdi
push r12
push r14
push r15
lea rbp, [rsp - 0x27]
sub rsp, 0xd0
mov rax, qword [0x140177090]
xor rax, rsp
mov qword [rbp + 0x17], rax
mov r15, r8
mov rdi, rdx
mov rsi, rcx
xor r12d, r12d
mov dword [rbp - 0x79], r12d
xor ecx, ecx
call fcn.140027840
mov dword [rsp + 0x20], 1
lea r9, str.Logger
xor r8d, r8d
lea rdx, [0x14001ba40]
mov rcx, rax
call fcn.140027a90
mov rbx, rax
mov qword [rbp - 0x41], r12
mov qword [rbp - 0x39], reloc.WS2_32.dll_ntohs
mov byte [rbp - 0x51], r12b
mov dword [rbp - 0x79], 1
lea rdx, [rbp - 0x51]
mov rcx, r15
call fcn.14001a4c0
lea rcx, [rbp - 0x51]
cmp qword [rbp - 0x39], 0x10
cmovae rcx, qword [rbp - 0x51]
mov r9, rdi
cmp qword [rdi + 0x18], 0x10
jb 0x14001aeae
mov r9, qword [rdi]
mov qword [rsp + 0x20], rcx
lea r8, str.CurlDownloader::Download:_Downloading_file...:_URL_s_nfile_s
mov edx, 4
mov rcx, rbx
call fcn.14001de90
nop
lea rcx, [rbp - 0x51]
call fcn.140008a50
lea r8, str..downloading
lea rdx, [rbp - 0x29]
mov rcx, r15
call fcn.140025500
nop
lea rdx, [rbp - 0x29]
cmp qword [rbp - 0x11], 8
cmovae rdx, qword [rbp - 0x29]
movdqa xmm0, xmmword [0x1401562c0]
movdqu xmmword [rbp + 7], xmm0
mov word [rbp - 9], r12w
mov r8, 0xffffffffffffffff
nop dword [rax]
inc r8
cmp word [rdx + r8*2], 0
jne 0x14001af10
lea rcx, [rbp - 9]
call fcn.1400088b0
nop
mov qword [rsi + 0x18], r12
lea rdx, [rbp - 0x71]
lea rcx, [rbp - 0x29]
call fcn.140024f90
nop
mov rcx, rax
call fcn.1400250c0
nop
lea rcx, [rbp - 0x71]
call fcn.140008840
mov ebx, r12d
nop dword [rax]
mov qword [rbp - 0x31], r12
lea rdx, [rbp - 0x29]
cmp qword [rbp - 0x11], 8
cmovae rdx, qword [rbp - 0x29]
lea r8, [0x14014c7d4]
lea rcx, [rbp - 0x31]
call fcn.1400f74e0
cmp qword [rbp - 0x31], 0
je 0x14001b407
mov r8, rdi
cmp qword [rdi + 0x18], 0x10
jb 0x14001af8a
mov r8, qword [rdi]
mov edx, 0x2712
mov rcx, qword [rsi + 8]
call fcn.14009b9f0
lea r8, [0x14001adb0]
mov edx, 0x4e2b
mov rcx, qword [rsi + 8]
call fcn.14009b9f0
mov r8, qword [rbp - 0x31]
mov edx, 0x2711
mov rcx, qword [rsi + 8]
call fcn.14009b9f0
mov rcx, qword [rsi + 8]
call fcn.14009bb30
mov dword [rsi + 0x18], eax
mov rcx, qword [rbp - 0x31]
call fcn.1400f75d0
cmp dword [rsi + 0x18], 0
jne 0x14001b000
lea r8, [rsi + 0x1c]
mov edx, 0x200002
mov rcx, qword [rsi + 8]
call fcn.14009ba40
mov eax, dword [rsi + 0x1c]
cmp eax, 0xc8
je 0x14001b00b
add eax, 0xfffffe70
cmp eax, 0x64
jb 0x14001b00b
inc ebx
cmp ebx, 3
jl 0x14001af50
xor ecx, ecx
call fcn.140027840
mov dword [rsp + 0x20], 1
lea r9, str.Logger
xor r8d, r8d
lea rdx, [0x14001ba40]
mov rcx, rax
call fcn.140027a90
mov rbx, rax
mov ecx, dword [rsi + 0x18]
call fcn.14009ca20
mov qword [rsp + 0x20], rax
mov r9d, dword [rsi + 0x18]
lea r8, str.Performed_curl_downloading_with_return_code:__d____s
mov edx, 4
mov rcx, rbx
call fcn.14001de90
xor ecx, ecx
call fcn.140027840
mov dword [rsp + 0x20], 1
lea r9, str.Logger
xor r8d, r8d
lea rdx, [0x14001ba40]
mov rcx, rax
call fcn.140027a90
mov r9d, dword [rsi + 0x1c]
lea r8, str.http_response_code:__d
mov edx, 4
mov rcx, rax
call fcn.14001de90
cmp dword [rsi + 0x18], 0
jne 0x14001b38f
cmp dword [rsi + 0x1c], 0xc8
jne 0x14001b38f
mov sil, 1
xor edx, edx
mov rcx, r15
call fcn.140022800
test eax, eax
je 0x14001b13d
xor ecx, ecx
call fcn.140027840
mov dword [rsp + 0x20], 1
lea r9, str.Logger
xor r8d, r8d
lea rdx, [0x14001ba40]
mov rcx, rax
call fcn.140027a90
mov rbx, rax
mov qword [rbp - 0x41], r12
mov qword [rbp - 0x39], reloc.WS2_32.dll_ntohs
mov byte [rbp - 0x51], 0
mov dword [rbp - 0x79], 4
lea rdx, [rbp - 0x51]
mov rcx, r15
call fcn.14001a4c0
lea r9, [rbp - 0x51]
cmp qword [rbp - 0x39], 0x10
cmovae r9, qword [rbp - 0x51]
lea r8, str.CurlDownloader::Download:_deleted_existing_file__s
mov edx, 5
mov rcx, rbx
call fcn.14001de90
nop
lea rcx, [rbp - 0x51]
call fcn.140008a50
mov rdx, r15
lea rcx, [rbp - 0x29]
call fcn.140022bf0
test eax, eax
je 0x14001b1f2
lea rdx, [rbp - 0x71]
mov rcx, r15
call fcn.140024f90
mov rbx, rax
mov rcx, rax
cmp qword [rax + 0x18], 8
jb 0x14001b16d
mov rcx, qword [rax]
call qword [sym.imp.SHLWAPI.dll_PathFileExistsW]
mov rcx, qword [rbx + 0x18]
cmp eax, 1
jne 0x14001b190
cmp rcx, 8
jb 0x14001b185
mov rbx, qword [rbx]
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_GetFileAttributesW]
jmp 0x14001b1ba
mov rdx, rbx
cmp rcx, 8
jb 0x14001b19c
mov rdx, qword [rbx]
xor r8d, r8d
xor ecx, ecx
call qword [sym.imp.SHELL32.dll_SHCreateDirectoryExW]
test eax, eax
jne 0x14001b1ba
mov edx, dword [0x140177b90]
mov rcx, rbx
call fcn.1400262d0
nop
lea rcx, [rbp - 0x71]
call fcn.140008840
mov rdx, r15
cmp qword [r15 + 0x18], 8
jb 0x14001b1d0
mov rdx, qword [r15]
lea rcx, [rbp - 0x29]
cmp qword [rbp - 0x11], 8
cmovae rcx, qword [rbp - 0x29]
mov r8d, 2
call qword [sym.imp.KERNEL32.dll_MoveFileExW]
test eax, eax
je 0x14001b2ad
xor ecx, ecx
call fcn.140027840
mov dword [rsp + 0x20], 1
lea r9, str.Logger
xor r8d, r8d
lea rdx, [0x14001ba40]
mov rcx, rax
call fcn.140027a90
mov rdi, rax
mov qword [rbp - 0x61], r12
mov qword [rbp - 0x59], reloc.WS2_32.dll_ntohs
mov byte [rbp - 0x71], 0
mov dword [rbp - 0x79], 8
lea rdx, [rbp - 0x71]
mov rcx, r15
call fcn.14001a4c0
lea rbx, [rbp - 0x71]
cmp qword [rbp - 0x59], 0x10
cmovae rbx, qword [rbp - 0x71]
mov qword [rbp - 0x41], r12
mov qword [rbp - 0x39], reloc.WS2_32.dll_ntohs
mov byte [rbp - 0x51], 0
mov dword [rbp - 0x79], 0x18
lea rdx, [rbp - 0x51]
lea rcx, [rbp - 0x29]
call fcn.14001a4c0
lea r9, [rbp - 0x51]
cmp qword [rbp - 0x39], 0x10
cmovae r9, qword [rbp - 0x51]
mov qword [rsp + 0x20], rbx
lea r8, str.CurlDownloader::Download:_renamed_temporary_file__s_as__s
mov edx, 5
mov rcx, rdi
call fcn.14001de90
nop
lea rcx, [rbp - 0x51]
call fcn.140008a50
nop
lea rcx, [rbp - 0x71]
call fcn.140008a50
xor ecx, ecx
call fcn.140027840
mov dword [rsp + 0x20], 1
lea r9, str.Logger
xor r8d, r8d
lea rdx, [0x14001ba40]
mov rcx, rax
call fcn.140027a90
mov rbx, rax
mov qword [rbp - 0x61], r12
mov qword [rbp - 0x59], reloc.WS2_32.dll_ntohs
mov byte [rbp - 0x71], 0
mov dword [rbp - 0x79], 0x20
lea rdx, [rbp - 0x71]
mov rcx, r15
call fcn.14001a4c0
lea r9, [rbp - 0x71]
cmp qword [rbp - 0x59], 0x10
cmovae r9, qword [rbp - 0x71]
lea r8, str.CurlDownloader::Download:_successfully_downloaded_file_as__s:
mov edx, 4
mov rcx, rbx
call fcn.14001de90
nop
lea rcx, [rbp - 0x71]
call fcn.140008a50
xor ecx, ecx
call fcn.140027840
mov dword [rsp + 0x20], 1
lea r9, str.Logger
xor r8d, r8d
lea rdx, [0x14001ba40]
mov rcx, rax
call fcn.140027a90
mov rbx, rax
lea rdx, [rbp - 0x71]
mov rcx, r15
call fcn.1400236d0
nop
cmp qword [rax + 0x18], 0x10
jb 0x14001b369
mov rax, qword [rax]
mov r9, rax
lea r8, str.CurlDownloader::Download:_file_content:__s
mov edx, 5
mov rcx, rbx
call fcn.14001de90
nop
lea rcx, [rbp - 0x71]
call fcn.140008a50
jmp 0x14001b485
xor sil, sil
xor ecx, ecx
call fcn.140027840
mov dword [rsp + 0x20], 1
lea r9, str.Logger
xor r8d, r8d
lea rdx, [0x14001ba40]
mov rcx, rax
call fcn.140027a90
mov rbx, rax
lea rdx, [rbp - 0x71]
lea rcx, [rbp - 0x29]
call fcn.1400236d0
nop
cmp qword [rax + 0x18], 0x10
jb 0x14001b3d5
mov rax, qword [rax]
cmp qword [rdi + 0x18], 0x10
jb 0x14001b3df
mov rdi, qword [rdi]
mov qword [rsp + 0x20], rax
mov r9, rdi
lea r8, str.CurlDownloader::Download:_Failed_to_download__s._r_n_s
mov edx, 2
mov rcx, rbx
call fcn.14001de90
nop
lea rcx, [rbp - 0x71]
call fcn.140008a50
jmp 0x14001b485
xor ecx, ecx
call fcn.140027840
mov dword [rsp + 0x20], 1
lea r9, str.Logger
xor r8d, r8d
lea rdx, [0x14001ba40]
mov rcx, rax
call fcn.140027a90
mov rbx, rax
mov qword [rbp - 0x61], r12
mov qword [rbp - 0x59], reloc.WS2_32.dll_ntohs
mov byte [rbp - 0x71], 0
mov dword [rbp - 0x79], 2
lea rdx, [rbp - 0x71]
lea rcx, [rbp - 0x29]
call fcn.14001a4c0
lea r9, [rbp - 0x71]
cmp qword [rbp - 0x59], 0x10
cmovae r9, qword [rbp - 0x71]
lea r8, str.CurlDownloader::Download:_failed_to_open_the_temporary_file_for_writing:__s
mov edx, 2
mov rcx, rbx
call fcn.14001de90
nop
lea rcx, [rbp - 0x71]
call fcn.140008a50
xor sil, sil
lea rcx, [rbp - 9]
cmp qword [rbp + 0xf], 8
cmovae rcx, qword [rbp - 9]
call qword [sym.imp.KERNEL32.dll_DeleteFileW]
test eax, eax
jne 0x14001b4bf
mov edx, 0x80
lea rcx, [rbp - 9]
call fcn.1400262d0
lea rcx, [rbp - 9]
cmp qword [rbp + 0xf], 8
cmovae rcx, qword [rbp - 9]
call qword [sym.imp.KERNEL32.dll_DeleteFileW]
lea rcx, [rbp - 9]
call fcn.140008840
nop
lea rcx, [rbp - 0x29]
call fcn.140008840
movzx eax, sil
mov rcx, qword [rbp + 0x17]
xor rcx, rsp
call fcn.1400e9d60
add rsp, 0xd0
pop r15
pop r14
pop r12
pop rdi
pop rsi
pop rbx
pop rbp
ret