Function at 0x140048c90
Capabilities:
Check if file exists
Delete file
Get file attributes
Move file

Disassembly:
push rbx
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
sub rsp, 0x48
lea rcx, str.br.dll.enc
xor r12d, r12d
call fcn.1400494b0
or rbp, 0xffffffffffffffff
mov r15, rax
mov rdx, rbp
nop word [rax + rax]
inc rdx
cmp byte [rax + rdx], r12b
jne 0x140048cc0
add rdx, 3
mov r14d, 1
cmovb rdx, rbp
mov ecx, r14d
call fcn.1400cbdb0
lea r9, [0x1401348ec]
lea rdx, [0x1401348f0]
mov rcx, rax
mov r8, r15
mov rdi, rax
mov qword [rsp + 0x30], rax
call fcn.1400cbcd0
lea rcx, str.logo.png
call fcn.1400494b0
mov rdx, rbp
mov r13, rax
inc rdx
cmp byte [rax + rdx], r12b
jne 0x140048d12
add rdx, 3
mov rcx, r14
cmovb rdx, rbp
call fcn.1400cbdb0
lea r9, [0x1401348ec]
lea rdx, [0x1401348f0]
mov rcx, rax
mov r8, r13
mov rsi, rax
mov qword [rsp + 0x98], rax
call fcn.1400cbcd0
mov rcx, rdi
call qword [sym.imp.KERNEL32.dll_GetFileAttributesA]
mov rcx, rsi
mov ebx, eax
call qword [sym.imp.KERNEL32.dll_GetFileAttributesA]
cmp ebx, 0xffffffff
jne 0x140048d7b
cmp eax, ebx
jne 0x140048f6c
call qword [sym.imp.KERNEL32.dll_GetLastError]
jmp 0x140048f6c
mov ecx, r12d
cmp eax, 0xffffffff
setne cl
mov dword [rsp + 0x90], ecx
test ecx, ecx
mov rcx, rsi
jne 0x140048d95
mov rcx, r13
call fcn.1400495b0
lea r8, [rsp + 0xa8]
lea rdx, [rsp + 0xa0]
mov rcx, rax
call fcn.140049180
mov ecx, 0x40
mov rdx, r14
add ecx, r14d
cmovb rcx, rbp
call fcn.1400cbdb0
mov rdx, r14
mov ecx, 3
mov rbp, rax
call fcn.1400cbdb0
mov rdi, qword [rsp + 0xa0]
mov r14d, 0x20
mov rbx, rax
mov esi, r14d
nop word [rax + rax]
movzx r8d, byte [rdi]
lea rdx, str._02x
mov rcx, rbx
call fcn.1400cbcd0
lea rcx, [rbp - 1]
nop word [rax + rax]
cmp byte [rcx + 1], r12b
lea rcx, [rcx + 1]
jne 0x140048e10
xor edx, edx
nop dword [rax]
movzx eax, byte [rbx + rdx]
lea rdx, [rdx + 1]
mov byte [rcx + rdx - 1], al
test al, al
jne 0x140048e20
inc rdi
dec rsi
jne 0x140048df0
mov rcx, rbx
call fcn.1400cbd70
lea rcx, str.handle_update___key:__s_n
mov rdx, rbp
call fcn.1400494a0
add r14d, 1
mov rax, 0xffffffffffffffff
mov ecx, r14d
lea edx, [rsi + 1]
cmovb rcx, rax
call fcn.1400cbdb0
lea edx, [rsi + 1]
lea ecx, [rsi + 3]
mov rbp, rax
call fcn.1400cbdb0
mov r14, qword [rsp + 0xa8]
mov rdi, r14
mov rbx, rax
mov esi, 0x10
nop word [rax + rax]
movzx r8d, byte [rdi]
lea rdx, str._02x
mov rcx, rbx
call fcn.1400cbcd0
lea rcx, [rbp - 1]
nop word [rax + rax]
cmp byte [rcx + 1], r12b
lea rcx, [rcx + 1]
jne 0x140048eb0
xor edx, edx
nop dword [rax]
movzx eax, byte [rbx + rdx]
lea rdx, [rdx + 1]
mov byte [rcx + rdx - 1], al
test al, al
jne 0x140048ec0
inc rdi
dec rsi
jne 0x140048e90
mov rcx, rbx
call fcn.1400cbd70
lea rcx, str.handle_update___iv:__s_n
mov rdx, rbp
call fcn.1400494a0
mov rbx, qword [rsp + 0xa0]
mov rdi, qword [rsp + 0x30]
mov rdx, rbx
mov rcx, rdi
mov r8, r14
call fcn.1400492f0
test rax, rax
jne 0x140048f9c
cmp dword [rsp + 0x90], r12d
lea rax, [0x140134958]
lea rdx, [0x14013495c]
lea rcx, str.handle_update:_Unable_to_map_new_dll_with__s_enc_key
cmovne rdx, rax
call fcn.1400494a0
lea r12d, [rsi + 1]
mov rsi, qword [rsp + 0x98]
mov rcx, rbx
call fcn.1400cbd70
mov rcx, r14
call fcn.1400cbd70
test r12d, r12d
je 0x140048f6c
mov rcx, rdi
call qword [sym.imp.KERNEL32.dll_DeleteFileA]
mov rcx, rsi
call qword [sym.imp.KERNEL32.dll_DeleteFileA]
mov rcx, r15
call fcn.1400cbd70
mov rcx, rdi
call fcn.1400cbd70
mov rcx, r13
call fcn.1400cbd70
mov rcx, rsi
add rsp, 0x48
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
pop rbx
jmp fcn.1400cbd70
mov rcx, rax
call fcn.14004a1b0
mov ebp, 1
mov rdx, r15
mov r8d, ebp
mov rcx, rdi
call qword [sym.imp.KERNEL32.dll_MoveFileExA]
test eax, eax
jne 0x140048fdf
call qword [sym.imp.KERNEL32.dll_GetLastError]
lea rcx, str.do_move:_err_moving__s_____s___u_
mov r8, r15
mov r9d, eax
mov rdx, rdi
call fcn.1400494a0
mov r12d, ebp
jmp 0x140048f3d
cmp dword [rsp + 0x90], r12d
je 0x140048f3d
mov rsi, qword [rsp + 0x98]
mov rdx, r13
mov rcx, rsi
call fcn.140048c30
test eax, eax
cmovne r12d, ebp
jmp 0x140048f45