Function at 0x140203dc0
Capabilities:
Check if file exists
Delete file
Move file
Write file on windows

Disassembly:
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
lea rbp, [rsp - 0x520]
sub rsp, 0x620
mov qword [rbp - 0x60], 0xfffffffffffffffe
mov qword [rsp + 0x670], rbx
mov rax, qword [0x1403ddfb8]
xor rax, rsp
mov qword [rbp + 0x510], rax
movzx edi, dl
mov rsi, rcx
xor r13d, r13d
mov dword [rsp + 0x40], r13d
xor eax, eax
mov qword [rbp + 0x50], rax
mov qword [rbp + 0x58], rax
mov qword [rbp + 0x60], rax
lea rcx, [rbp + 0x50]
call fcn.1402252a0
nop
mov r8, qword [rsi]
mov byte [rsp + 0x20], dil
xor r9d, r9d
mov r8, qword [r8]
lea rdx, [0x140305098]
lea rcx, [rbp + 0x50]
call fcn.140225490
test al, al
jne 0x140203e72
lea rax, str.Unable_to_open_HTTP_transaction
mov qword [rsp + 0x20], rax
mov r9d, 0xcb
lea r8, str.XMLUpdater::v2::NHttp::NDownloadFile::StoreOnDisk::_lambda_01ca7b18571becf958f1d0696a8663eb_::operator___
lea rdx, str.HttpsDownloadFile.cpp
lea ecx, [r13 + 1]
call fcn.1401fc9c0
jmp 0x1402041eb
mov r8, qword [rsi + 0x18]
mov rdx, qword [rsi + 0x10]
mov rcx, qword [rsi + 8]
call fcn.140203ca0
xor edx, edx
lea r8d, [rdx + 0x60]
lea rcx, [rbp - 0x28]
call fcn.14028e7e0
mov dword [rbp - 0x30], 0x68
xor edx, edx
mov r8d, 0x200
lea rcx, [rbp + 0x110]
call fcn.14028e7e0
xor edx, edx
mov r8d, 0x200
lea rcx, [rbp + 0x310]
call fcn.14028e7e0
lea rax, [rbp + 0x110]
mov qword [rbp - 0x18], rax
mov dword [rbp - 0x10], 0x100
lea rax, [rbp + 0x310]
mov qword [rbp + 0x18], rax
mov dword [rbp + 0x20], 0x100
mov rcx, qword [rsi + 0x20]
lea r9, [rbp - 0x30]
xor r8d, r8d
xor edx, edx
mov rcx, qword [rcx]
call qword [sym.imp.WINHTTP.dll_WinHttpCrackUrl]
test eax, eax
jne 0x140203f2f
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov ebx, eax
mov r9d, eax
mov r8d, 7
mov rdx, qword [rsi + 0x10]
mov rcx, qword [rsi + 8]
call fcn.140203b50
lea rax, str.WinHttpCrackUrl_failed___d___url:__s
mov r9d, 0xde
jmp 0x1402041be
movzx eax, word [rbp - 0xc]
test ax, ax
jne 0x140203f4e
mov eax, 0x50
mov ecx, 0x1bb
cmp dword [rbp - 0x1c], 2
cmove ax, cx
mov word [rbp - 0xc], ax
mov r9, qword [rsi]
mov r9, qword [r9]
movzx r8d, ax
lea rdx, [rbp + 0x110]
lea rcx, [rbp + 0x50]
call fcn.140225350
test al, al
jne 0x140203f9c
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov ebx, eax
mov r9d, eax
mov r8d, 7
mov rdx, qword [rsi + 0x10]
mov rcx, qword [rsi + 8]
call fcn.140203b50
lea rax, str.HTTP_connection_failed___d___url:__s
mov r9d, 0xec
jmp 0x1402041be
mov eax, r13d
mov ecx, 0x800000
cmp dword [rbp - 0x1c], 2
cmove eax, ecx
mov dword [rsp + 0x30], eax
mov qword [rsp + 0x28], r13
mov qword [rsp + 0x20], r13
xor r9d, r9d
lea r8, [rbp + 0x310]
lea rdx, [0x14034b9c8]
lea rcx, [rbp + 0x50]
call fcn.140225500
test al, al
jne 0x140204007
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov ebx, eax
mov r9d, eax
mov r8d, 7
mov rdx, qword [rsi + 0x10]
mov rcx, qword [rsi + 8]
call fcn.140203b50
lea rax, str.HTTP_GET_request_failed___d___url:__s
mov r9d, 0xf5
jmp 0x1402041be
mov r9d, 0x40000000
or r8d, 0xffffffff
lea rdx, str.Cache_Control:_no_cache
lea rcx, [rbp + 0x50]
call fcn.140225320
test al, al
jne 0x140204065
mov rbx, qword [rsi + 0x20]
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov rcx, qword [rbx]
mov qword [rsp + 0x30], rcx
mov dword [rsp + 0x28], eax
lea rax, str.HTTP_add_request_headers_failed___d___url:__s
mov qword [rsp + 0x20], rax
mov r9d, 0xfb
lea r8, str.XMLUpdater::v2::NHttp::NDownloadFile::StoreOnDisk::_lambda_01ca7b18571becf958f1d0696a8663eb_::operator___
lea rdx, str.HttpsDownloadFile.cpp
mov ecx, 3
call fcn.1401fc9c0
xor r8d, r8d
xor edx, edx
lea rcx, [rbp + 0x50]
call fcn.140225710
test al, al
jne 0x1402040d1
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov ebx, eax
mov r9d, eax
mov r8d, 7
mov rdx, qword [rsi + 0x10]
mov rcx, qword [rsi + 8]
call fcn.140203b50
lea rax, str.true
lea rdx, str.false
test dil, dil
cmovne rdx, rax
mov rcx, qword [rsi + 0x20]
mov qword [rsp + 0x38], rdx
mov rcx, qword [rcx]
mov qword [rsp + 0x30], rcx
mov dword [rsp + 0x28], ebx
lea rax, str.HTTP_send_request_failed___d___url:__s__ignore_proxy_flag__s
mov r9d, 0x103
jmp 0x14020415f
lea rcx, [rbp + 0x50]
call fcn.1402256e0
test al, al
jne 0x14020410e
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov ebx, eax
mov r9d, eax
mov r8d, 7
mov rdx, qword [rsi + 0x10]
mov rcx, qword [rsi + 8]
call fcn.140203b50
lea rax, str.HTTP_receive_response_failed___d___url:__s
mov r9d, 0x10b
jmp 0x1402041be
lea rcx, [rbp + 0x50]
call fcn.140225610
mov edi, eax
cmp eax, 0xc8
je 0x14020417e
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov ebx, eax
mov r9d, eax
mov r8d, 7
mov rdx, qword [rsi + 0x10]
mov rcx, qword [rsi + 8]
call fcn.140203b50
mov rcx, qword [rsi + 0x20]
mov rdx, qword [rcx]
mov qword [rsp + 0x38], rdx
mov dword [rsp + 0x30], ebx
mov dword [rsp + 0x28], edi
lea rax, str.HTTP_status___d__error___d___url:__s
mov r9d, 0x114
mov qword [rsp + 0x20], rax
lea r8, str.XMLUpdater::v2::NHttp::NDownloadFile::StoreOnDisk::_lambda_01ca7b18571becf958f1d0696a8663eb_::operator___
lea rdx, str.HttpsDownloadFile.cpp
mov ecx, 1
call fcn.1401fc9c0
jmp 0x1402041eb
mov dword [rbp + 0x44], r13d
lea rdx, [rbp + 0x44]
lea rcx, [rbp + 0x50]
call fcn.140225560
test al, al
jne 0x1402041f3
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov ebx, eax
mov r9d, eax
mov r8d, 7
mov rdx, qword [rsi + 0x10]
mov rcx, qword [rsi + 8]
call fcn.140203b50
lea rax, str.HTTP_query_content_length___d___url:__s
mov r9d, 0x11d
mov rcx, qword [rsi + 0x20]
mov rdx, qword [rcx]
mov qword [rsp + 0x30], rdx
mov dword [rsp + 0x28], ebx
mov qword [rsp + 0x20], rax
lea r8, str.XMLUpdater::v2::NHttp::NDownloadFile::StoreOnDisk::_lambda_01ca7b18571becf958f1d0696a8663eb_::operator___
lea rdx, str.HttpsDownloadFile.cpp
mov ecx, 1
call fcn.1401fc9c0
xor dil, dil
jmp 0x140204886
mov dword [rsp + 0x68], 0x100000
lea rax, [rsp + 0x68]
lea rcx, [rbp + 0x44]
cmp dword [rbp + 0x44], 0x100000
cmovbe rax, rcx
mov r12d, dword [rax]
mov ecx, r12d
call fcn.14029de2c
mov rbx, rax
mov qword [rsp + 0x78], rax
test rax, rax
jne 0x140204270
xor r9d, r9d
lea r8d, [rax + 2]
mov rdx, qword [rsi + 0x10]
mov rcx, qword [rsi + 8]
call fcn.140203b50
mov dword [rsp + 0x28], r12d
lea rax, str.Unable_to_allocate__d_bytes
mov qword [rsp + 0x20], rax
mov r9d, 0x126
lea r8, str.XMLUpdater::v2::NHttp::NDownloadFile::StoreOnDisk::_lambda_01ca7b18571becf958f1d0696a8663eb_::operator___
lea rdx, str.HttpsDownloadFile.cpp
lea ecx, [rbx + 1]
call fcn.1401fc9c0
xor dil, dil
jmp 0x14020487d
mov rax, qword [rsi + 0x28]
mov rdx, qword [rax]
or r15, 0xffffffffffffffff
test rdx, rdx
je 0x1402042c4
mov qword [rsp + 0x60], 7
mov qword [rsp + 0x58], r13
mov word [rsp + 0x48], r13w
cmp word [rdx], 0
jne 0x14020429f
mov r8, r13
jmp 0x1402042ad
mov r8, r15
inc r8
cmp word [rdx + r8*2], 0
jne 0x1402042a2
lea rcx, [rsp + 0x48]
call fcn.14002c3d0
lea rdi, [rsp + 0x48]
mov r14d, 1
jmp 0x1402042e0
mov r8d, 0x2f
mov rdx, qword [rbp + 0x18]
lea rcx, [rbp - 0x80]
call fcn.140205de0
mov rdi, rax
mov r14d, 2
mov dword [rsp + 0x40], r14d
mov qword [rbp + 0x80], 7
mov qword [rbp + 0x78], r13
mov word [rbp + 0x68], r13w
cmp qword [rdi + 0x18], 8
jae 0x14020431b
mov r8, qword [rdi + 0x10]
add r8, 1
je 0x140204325
add r8, r8
mov rdx, rdi
lea rcx, [rbp + 0x68]
call fcn.14028db80
jmp 0x140204325
mov rax, qword [rdi]
mov qword [rbp + 0x68], rax
mov qword [rdi], r13
mov rax, qword [rdi + 0x10]
mov qword [rbp + 0x78], rax
mov rax, qword [rdi + 0x18]
mov qword [rbp + 0x80], rax
mov qword [rdi + 0x18], 7
mov qword [rdi + 0x10], r13
cmp qword [rdi + 0x18], 8
jb 0x14020434e
mov rdi, qword [rdi]
mov word [rdi], r13w
test r14b, 2
je 0x14020438c
and r14d, 0xfffffffd
mov dword [rsp + 0x40], r14d
mov r8, qword [rbp - 0x68]
cmp r8, 8
jb 0x14020437b
inc r8
mov rdx, qword [rbp - 0x80]
lea rcx, [rbp - 0x80]
call fcn.14002e610
mov qword [rbp - 0x68], 7
mov qword [rbp - 0x70], r13
mov word [rbp - 0x80], r13w
test r14b, 1
je 0x1402043c3
mov r8, qword [rsp + 0x60]
cmp r8, 8
jb 0x1402043af
inc r8
mov rdx, qword [rsp + 0x48]
lea rcx, [rsp + 0x48]
call fcn.14002e610
mov qword [rsp + 0x60], 7
mov qword [rsp + 0x58], r13
mov word [rsp + 0x48], r13w
cmp qword [rbp + 0x78], 0
jne 0x14020443c
mov rax, qword [rsi + 0x28]
lea r8, str.XMLUpdater::v2::NHttp::NDownloadFile::StoreOnDisk::_lambda_01ca7b18571becf958f1d0696a8663eb_::operator___
lea rdx, str.HttpsDownloadFile.cpp
mov ecx, 1
cmp qword [rax], 0
je 0x140204400
lea rax, str.empty_filename
mov qword [rsp + 0x20], rax
mov r9d, 0x12f
call fcn.1401fc9c0
jmp 0x140204420
mov rax, qword [rbp + 0x18]
mov qword [rsp + 0x28], rax
lea rax, str.Unable_to_extract_the_filename_from_url___s_
mov qword [rsp + 0x20], rax
mov r9d, 0x133
call fcn.1401fc9c0
xor r9d, r9d
lea r8d, [r9 + 3]
mov rdx, qword [rsi + 0x10]
mov rcx, qword [rsi + 8]
call fcn.140203b50
xor dil, dil
jmp 0x14020484c
lea r8, [rbp + 0x68]
cmp qword [rbp + 0x80], 8
cmovae r8, qword [rbp + 0x68]
mov r9d, 0x5c
mov rdx, qword [rsi + 0x38]
mov rdx, qword [rdx]
lea rcx, [rbp - 0x58]
call fcn.1402056c0
nop
mov rdx, rax
mov rcx, qword [rsi + 0x30]
call fcn.140050350
nop
mov r8, qword [rbp - 0x40]
cmp r8, 8
jb 0x14020448b
inc r8
mov rdx, qword [rbp - 0x58]
lea rcx, [rbp - 0x58]
call fcn.14002e610
mov rcx, qword [rsi + 0x30]
cmp qword [rcx + 0x18], 8
jb 0x140204499
mov rcx, qword [rcx]
call qword [sym.imp.SHLWAPI.dll_PathFileExistsW]
test eax, eax
je 0x140204623
mov rax, qword [rsi + 0x40]
cmp byte [rax], 0
je 0x1402045ca
lea r8, str..bak
mov rdx, qword [rsi + 0x30]
lea rcx, [rbp + 0x90]
call fcn.140032440
nop
lea rcx, [rbp + 0x90]
cmp qword [rbp + 0xa8], 8
cmovae rcx, qword [rbp + 0x90]
call qword [sym.imp.KERNEL32.dll_DeleteFileW]
lea rdx, [rbp + 0x90]
cmp qword [rbp + 0xa8], 8
cmovae rdx, qword [rbp + 0x90]
mov rcx, qword [rsi + 0x30]
cmp qword [rcx + 0x18], 8
jb 0x14020450e
mov rcx, qword [rcx]
call fcn.1402aa964
test eax, eax
je 0x1402045a5
call fcn.1402946c4
mov edi, dword [rax]
mov r9d, edi
mov r8d, 4
mov rdx, qword [rsi + 0x10]
mov rcx, qword [rsi + 8]
call fcn.140203b50
mov rax, qword [rsi + 0x30]
cmp qword [rax + 0x18], 8
jb 0x140204546
mov rax, qword [rax]
mov qword [rsp + 0x30], rax
mov dword [rsp + 0x28], edi
lea rax, str.Unable_to_rename_the_old_file___d_:__s
mov qword [rsp + 0x20], rax
mov r9d, GetAltMonthNames
lea r8, str.XMLUpdater::v2::NHttp::NDownloadFile::StoreOnDisk::_lambda_01ca7b18571becf958f1d0696a8663eb_::operator___
lea rdx, str.HttpsDownloadFile.cpp
mov ecx, 1
call fcn.1401fc9c0
nop
mov r8, qword [rbp + 0xa8]
cmp r8, 8
jb 0x14020459d
inc r8
mov rdx, qword [rbp + 0x90]
lea rcx, [rbp + 0x90]
call fcn.14002e610
xor dil, dil
jmp 0x14020484c
mov r8, qword [rbp + 0xa8]
cmp r8, 8
jb 0x140204623
inc r8
mov rdx, qword [rbp + 0x90]
lea rcx, [rbp + 0x90]
call fcn.14002e610
jmp 0x140204623
mov rax, qword [rsi + 0x30]
cmp qword [rax + 0x18], 8
jb 0x1402045d8
mov rax, qword [rax]
mov qword [rsp + 0x28], rax
lea rax, str.File_already_exists:__s
mov qword [rsp + 0x20], rax
mov r9d, 0x14e
lea r8, str.XMLUpdater::v2::NHttp::NDownloadFile::StoreOnDisk::_lambda_01ca7b18571becf958f1d0696a8663eb_::operator___
lea rdx, str.HttpsDownloadFile.cpp
mov ecx, 3
call fcn.1401fc9c0
xor r9d, r9d
lea r8d, [r9 + 1]
mov rdx, qword [rsi + 0x10]
mov rcx, qword [rsi + 8]
call fcn.140203b50
mov dil, 1
jmp 0x14020484c
mov rcx, qword [rsi + 0x30]
cmp qword [rcx + 0x18], 8
jb 0x140204631
mov rcx, qword [rcx]
mov qword [rsp + 0x30], r13
mov dword [rsp + 0x28], 0x80
mov dword [rsp + 0x20], 2
xor r9d, r9d
xor r8d, r8d
mov edx, 0x40000000
call qword [sym.imp.KERNEL32.dll_CreateFileW]
mov r14, rax
cmp rax, 0xffffffffffffffff
jne 0x1402046b1
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov edi, eax
mov r9d, eax
lea r8d, [r14 + 6]
mov rdx, qword [rsi + 0x10]
mov rcx, qword [rsi + 8]
call fcn.140203b50
mov dword [rsp + 0x28], edi
lea rax, str.CreateFile_failed___d_
mov qword [rsp + 0x20], rax
mov r9d, 0x159
lea r8, str.XMLUpdater::v2::NHttp::NDownloadFile::StoreOnDisk::_lambda_01ca7b18571becf958f1d0696a8663eb_::operator___
lea rdx, str.HttpsDownloadFile.cpp
lea ecx, [r14 + 2]
call fcn.1401fc9c0
xor dil, dil
jmp 0x14020484c
lea rcx, [rbp + 0xb0]
call fcn.1402244d0
nop
mov dword [rbp + 0x40], r13d
mov dword [rbp + 0x88], r13d
mov edi, r13d
lea r9, [rbp + 0x40]
mov r8d, r12d
mov rdx, rbx
lea rcx, [rbp + 0x50]
call fcn.1402256b0
test al, al
je 0x1402047c4
nop word [rax + rax]
mov r8d, dword [rbp + 0x40]
test r8d, r8d
je 0x1402047c4
mov qword [rsp + 0x20], r13
lea r9, [rbp + 0x88]
mov rdx, rbx
mov rcx, r14
call qword [sym.imp.KERNEL32.dll_WriteFile]
test eax, eax
je 0x140204767
mov eax, dword [rbp + 0x40]
add edi, eax
mov dword [rsp + 0x28], eax
mov dword [rsp + 0x20], edi
mov r9d, dword [rbp + 0x44]
mov r8, qword [rsi + 0x18]
mov rdx, qword [rsi + 0x10]
mov rcx, qword [rsi + 8]
call fcn.140203b10
mov r8d, dword [rbp + 0x40]
mov rdx, rbx
lea rcx, [rbp + 0xb0]
call fcn.1402251d0
lea r9, [rbp + 0x40]
mov r8d, r12d
mov rdx, rbx
lea rcx, [rbp + 0x50]
call fcn.1402256b0
test al, al
jne 0x1402046f0
jmp 0x1402047c4
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov edi, eax
mov r9d, eax
mov r8d, 6
mov rdx, qword [rsi + 0x10]
mov rcx, qword [rsi + 8]
call fcn.140203b50
mov dword [rsp + 0x28], edi
lea rax, str.WriteFile_failed___d_
mov qword [rsp + 0x20], rax
mov r9d, 0x167
lea r8, str.XMLUpdater::v2::NHttp::NDownloadFile::StoreOnDisk::_lambda_01ca7b18571becf958f1d0696a8663eb_::operator___
lea rdx, str.HttpsDownloadFile.cpp
mov ecx, 1
call fcn.1401fc9c0
mov rcx, r14
call qword [sym.imp.KERNEL32.dll_CloseHandle]
xor dil, dil
jmp 0x14020483e
mov rcx, r14
call qword [sym.imp.KERNEL32.dll_CloseHandle]
lea rdx, [rsp + 0x70]
lea rcx, [rbp + 0xb0]
call fcn.140224520
nop
mov rdx, qword [rax]
cmp word [rdx], 0
jne 0x1402047ed
mov r8, r13
jmp 0x1402047fb
mov r8, r15
inc r8
cmp word [rdx + r8*2], 0
jne 0x1402047f0
mov rcx, qword [rsi + 0x48]
call fcn.14002c3d0
nop
mov rdx, qword [rsp + 0x70]
add rdx, 0xffffffffffffffe8
lock xadd dword [rdx + 0x10], r15d
sub r15d, 1
jg 0x140204823
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
xor r9d, r9d
xor r8d, r8d
mov rdx, qword [rsi + 0x10]
mov rcx, qword [rsi + 8]
call fcn.140203b50
mov dil, 1
mov rbx, qword [rsp + 0x78]
lea rax, vtable.XMLUpdater::v2::CMD5Checksum.0
mov qword [rbp + 0xb0], rax
mov r8, qword [rbp + 0x80]
cmp r8, 8
jb 0x140204869
inc r8
mov rdx, qword [rbp + 0x68]
lea rcx, [rbp + 0x68]
call fcn.14002e610
mov qword [rbp + 0x80], 7
mov qword [rbp + 0x78], r13
mov word [rbp + 0x68], r13w
mov rcx, rbx
call fcn.140290594
nop
lea rcx, [rbp + 0x50]
call fcn.1402252c0
movzx eax, dil
mov rcx, qword [rbp + 0x510]
xor rcx, rsp
call fcn.14026d870
mov rbx, qword [rsp + 0x670]
add rsp, 0x620
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret