Function at 0x140044610
Capabilities:
Delete file
Encode data using xor

Disassembly:
mov qword [rsp + 8], rbx
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
lea rbp, [rsp - 0xa0]
sub rsp, 0x1a0
mov rax, qword [0x14010b0c0]
xor rax, rsp
mov qword [rbp + 0x98], rax
mov qword [rbp - 0x20], r9
mov qword [rbp - 0x28], r8
mov r15, rdx
mov dword [rsp + 0x24], ecx
xorps xmm0, xmm0
movups xmmword [rbp + 0x78], xmm0
xor r14d, r14d
mov qword [rbp + 0x88], r14
mov qword [rbp + 0x90], reloc.WS2_32.dll_ntohs
mov byte [rbp + 0x78], r14b
mov dword [rbp + 0x70], r14d
lea ecx, [r14 + 3]
call fcn.140050540
call fcn.1400502c0
mov qword [rbp - 0x30], rax
test rax, rax
jne 0x1400446b4
lea rdx, str.Failed_to_initialize_CURL
mov rcx, qword [sym.imp.MSVCP140.dll_class_std::basic_ostream_char__struct_std::char_traits_char___std::cerr]
call fcn.14004e990
lea rdx, [0x14004eb60]
mov rcx, rax
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]
xor bl, bl
jmp 0x140044b79
cmp qword [r15 + 0x18], 0xf
jbe 0x1400446be
mov r15, qword [r15]
mov r8, r15
mov edx, 0x2712
mov rcx, rax
call fcn.1400703d0
mov dword [rbp - 0x10], 0x32009b
lea rcx, [rbp - 0x10]
call fcn.14004dd00
mov ecx, reloc.WS2_32.dll_WSACleanup
call fcn.1400bcb18
mov r9, rax
mov qword [rbp - 0x38], rax
movzx ecx, byte [rbp - 0x10]
lea r8, [rax + 2]
lea r10, [rbp - 0xe]
sub r10, rax
lea r11, [rbp - 0xd]
sub r11, rax
lea r15, [rbp - 0xc]
sub r15, rax
lea r13, [rbp - 0xb]
sub r13, rax
lea rax, [rbp - 0xa]
sub rax, r9
mov qword [rsp + 0x30], rax
lea rax, [rbp - 9]
sub rax, r9
mov qword [rsp + 0x38], rax
lea rax, [rbp - 8]
sub rax, r9
mov qword [rsp + 0x40], rax
lea rax, [rbp - 7]
sub rax, r9
mov qword [rsp + 0x48], rax
lea rax, [rbp - 6]
sub rax, r9
mov qword [rsp + 0x50], rax
lea rax, [rbp - 5]
sub rax, r9
mov qword [rsp + 0x58], rax
lea rax, [rbp - 4]
sub rax, r9
mov qword [rsp + 0x60], rax
lea rax, [rbp - 3]
sub rax, r9
mov qword [rsp + 0x68], rax
lea rax, [rbp - 2]
sub rax, r9
mov qword [rsp + 0x70], rax
lea rax, [rbp - 1]
sub rax, r9
mov qword [rsp + 0x78], rax
lea rax, [rbp]
sub rax, r9
mov qword [rbp - 0x80], rax
lea rax, [rbp + 1]
sub rax, r9
mov qword [rbp - 0x78], rax
lea rax, [rbp + 2]
sub rax, r9
mov qword [rbp - 0x70], rax
lea rax, [rbp + 3]
sub rax, r9
mov qword [rbp - 0x68], rax
lea rax, [rbp + 4]
sub rax, r9
mov qword [rbp - 0x60], rax
lea rax, [rbp + 5]
sub rax, r9
mov qword [rbp - 0x58], rax
lea rax, [rbp + 6]
sub rax, r9
mov qword [rbp - 0x50], rax
lea rax, [rbp + 7]
sub rax, r9
mov qword [rbp - 0x48], rax
lea rax, [rbp + 8]
sub rax, r9
mov qword [rbp - 0x40], rax
mov qword [rsp + 0x28], 5
movzx eax, byte [rbp - 0xe]
mov r12, qword [rsp + 0x30]
mov rbx, qword [rsp + 0x38]
mov rsi, qword [rsp + 0x40]
mov r14, qword [rsp + 0x48]
mov rdi, qword [rsp + 0x50]
mov r9, qword [rsp + 0x58]
nop dword [rax]
xor al, byte [r10 + r8]
xor al, cl
mov byte [r8 - 2], al
movzx eax, byte [r11 + r8]
xor al, byte [r10 + r8]
mov byte [r8 - 1], al
movzx eax, byte [r15 + r8]
xor al, byte [r11 + r8]
mov byte [r8], al
movzx eax, byte [r8 + r13]
xor al, byte [r15 + r8]
mov byte [r8 + 1], al
movzx eax, byte [r12 + r8]
xor al, byte [r8 + r13]
mov byte [r8 + 2], al
movzx eax, byte [rbx + r8]
xor al, byte [r12 + r8]
mov byte [r8 + 3], al
movzx eax, byte [rsi + r8]
xor al, byte [rbx + r8]
mov byte [r8 + 4], al
movzx eax, byte [r14 + r8]
xor al, byte [rsi + r8]
mov byte [r8 + 5], al
movzx eax, byte [rdi + r8]
xor al, byte [r14 + r8]
mov byte [r8 + 6], al
movzx eax, byte [r9 + r8]
xor al, byte [rdi + r8]
mov byte [r8 + 7], al
mov rax, qword [rsp + 0x60]
movzx edx, byte [rax + r8]
movzx eax, dl
xor al, byte [r9 + r8]
mov byte [r8 + 8], al
mov rax, qword [rsp + 0x68]
movzx ecx, byte [rax + r8]
movzx eax, cl
xor al, dl
mov byte [r8 + 9], al
mov rax, qword [rsp + 0x70]
movzx edx, byte [rax + r8]
movzx eax, dl
xor al, cl
mov byte [r8 + 0xa], al
mov rax, qword [rsp + 0x78]
movzx ecx, byte [rax + r8]
movzx eax, cl
xor al, dl
mov byte [r8 + 0xb], al
mov rax, qword [rbp - 0x80]
movzx edx, byte [rax + r8]
movzx eax, dl
xor al, cl
mov byte [r8 + 0xc], al
mov rax, qword [rbp - 0x78]
movzx ecx, byte [rax + r8]
movzx eax, cl
xor al, dl
mov byte [r8 + 0xd], al
mov rax, qword [rbp - 0x70]
movzx edx, byte [rax + r8]
movzx eax, dl
xor al, cl
mov byte [r8 + 0xe], al
mov rax, qword [rbp - 0x68]
movzx ecx, byte [rax + r8]
movzx eax, cl
xor al, dl
mov byte [r8 + 0xf], al
mov rax, qword [rbp - 0x60]
movzx edx, byte [rax + r8]
movzx eax, dl
xor al, cl
mov byte [r8 + 0x10], al
mov rax, qword [rbp - 0x58]
movzx ecx, byte [rax + r8]
movzx eax, cl
xor al, dl
mov byte [r8 + 0x11], al
mov rax, qword [rbp - 0x50]
movzx edx, byte [rax + r8]
movzx eax, dl
xor al, cl
mov byte [r8 + 0x12], al
mov rax, qword [rbp - 0x48]
movzx ecx, byte [rax + r8]
movzx eax, cl
xor al, dl
mov byte [r8 + 0x13], al
mov rax, qword [rbp - 0x40]
movzx edx, byte [rax + r8]
movzx eax, dl
xor al, cl
mov byte [r8 + 0x14], al
movzx eax, byte [rbp - 0xe]
xor dl, al
lea r8, [r8 + 0x17]
sub qword [rsp + 0x28], 1
movzx ecx, dl
jne 0x140044820
mov r9, qword [rbp - 0x38]
mov byte [r9 + 0x73], 0
mov r8, r9
mov edx, 0x2722
mov rdi, qword [rbp - 0x30]
mov rcx, rdi
call fcn.1400703d0
cmp dword [rsp + 0x24], 2
mov rsi, qword [rbp - 0x28]
mov r14d, 0
mov rbx, qword [rbp - 0x20]
jne 0x140044a47
lea ecx, [r14 + 3]
call fcn.1400bcb18
mov word [rax], 0x6277
mov byte [rax + 2], r14b
mov rcx, rsi
cmp qword [rsi + 0x18], 0xf
jbe 0x1400449f8
mov rcx, qword [rsi]
mov rdx, rax
call qword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll_fopen]
mov r14, rax
test rax, rax
jne 0x140044a3b
lea rdx, str.Failed_to_open_file_for_writing
mov rcx, qword [sym.imp.MSVCP140.dll_class_std::basic_ostream_char__struct_std::char_traits_char___std::cerr]
call fcn.14004e990
lea rdx, [0x14004eb60]
mov rcx, rax
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]
mov rcx, rdi
call fcn.140050270
xor bl, bl
jmp 0x140044b79
mov r13, rax
lea r8, [0x140044600]
jmp 0x140044a52
lea r13, [rbp + 0x78]
lea r8, [0x1400445d0]
mov edx, 0x4e2b
mov r15d, 0x2711
mov r12, rdi
mov rcx, rdi
call fcn.1400703d0
mov r8, r13
mov edx, r15d
mov rcx, rdi
call fcn.1400703d0
mov rcx, rdi
call fcn.140050380
mov r13d, eax
lea r8, [rbp + 0x70]
mov edx, 0x200002
mov rcx, rdi
call fcn.140050290
test r13d, r13d
jne 0x140044b0a
cmp dword [rbp + 0x70], 0xc8
jne 0x140044b0a
cmp dword [rsp + 0x24], 2
je 0x140044b06
lea rax, [rbp + 0x78]
cmp rbx, rax
je 0x140044b06
mov r15, qword [rbp + 0x88]
lea r9, [rbp + 0x78]
cmp qword [rbp + 0x90], 0xf
cmova r9, qword [rbp + 0x78]
mov rax, qword [rbx + 0x18]
cmp r15, rax
ja 0x140044af8
mov r12, rbx
cmp rax, 0xf
jbe 0x140044add
mov r12, qword [rbx]
mov qword [rbx + 0x10], r15
mov r8, r15
mov rdx, r9
mov rcx, r12
call sub.VCRUNTIME140.dll_memmove
mov byte [r12 + r15], 0
mov bl, 1
jmp 0x140044b45
xor r8d, r8d
mov rdx, r15
mov rcx, rbx
call fcn.14004f470
mov bl, 1
jmp 0x140044b45
lea rdx, str.curl_easy_perform___failed:
mov rcx, qword [sym.imp.MSVCP140.dll_class_std::basic_ostream_char__struct_std::char_traits_char___std::cerr]
call fcn.14004e990
mov rbx, rax
mov ecx, r13d
call fcn.14006d520
mov rdx, rax
mov rcx, rbx
call fcn.14004e990
lea rdx, [0x14004eb60]
mov rcx, rax
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]
xor bl, bl
test r14, r14
je 0x140044b6b
mov rcx, r14
call qword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll_fclose]
test r13d, r13d
je 0x140044b6b
cmp qword [rsi + 0x18], 0xf
jbe 0x140044b62
mov rsi, qword [rsi]
mov rcx, rsi
call qword [sym.imp.api_ms_win_crt_filesystem_l1_1_0.dll_remove]
mov rcx, rdi
call fcn.140050270
call fcn.140050500
nop
mov rdx, qword [rbp + 0x90]
cmp rdx, 0xf
jbe 0x140044bba
inc rdx
mov rcx, qword [rbp + 0x78]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140044bb5
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x140044bb5
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
call fcn.1400bc740
movzx eax, bl
mov rcx, qword [rbp + 0x98]
xor rcx, rsp
call fcn.1400bc650
mov rbx, qword [rsp + 0x1e0]
add rsp, 0x1a0
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret