Function at 0x140165bd0
Capabilities:
Delete file
Move file

Disassembly:
mov qword [rsp + 0x18], 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 [0x1403debe8]
xor rax, rsp
mov qword [rbp + 0x90], rax
mov byte [rsp + 0x20], dl
mov rbx, rcx
xor edx, edx
mov r8d, 0x104
lea rcx, [rbp - 0x80]
call sub.api_ms_win_crt_string_l1_1_0.dll_memset
lea rdi, [rbx + 0x28]
mov rdx, rdi
cmp qword [rdi + 0x18], 0x10
jb 0x140165c29
mov rdx, qword [rdi]
lea r8, [0x1402d67b4]
lea rcx, [rsp + 0x28]
call sub.api_ms_win_crt_stdio_l1_1_0.dll_fopen_s
cmp qword [rsp + 0x28], 0
je 0x140165e4b
add rbx, 8
mov r15, qword [rbx + 0x10]
movabs rcx, 0x7fffffffffffffff
mov rax, rcx
sub rax, r15
cmp rax, 0x10
jb 0x140165e7b
mov r13, rbx
cmp qword [rbx + 0x18], 0x10
jb 0x140165c75
mov r13, qword [rbx]
xor eax, eax
mov qword [rsp + 0x60], rax
mov qword [rsp + 0x70], rax
mov qword [rsp + 0x78], rax
lea r12, [r15 + 0x10]
mov esi, SafeArrayGetLBound
lea r14, [rsp + 0x60]
cmp r12, rsi
jbe 0x140165cc7
mov rsi, r12
or rsi, 0xf
cmp rsi, rcx
jbe 0x140165caa
mov rsi, rcx
jmp 0x140165cb6
mov eax, SafeArrayPutElement
cmp rsi, rax
cmovb rsi, rax
lea rcx, [rsi + 1]
call fcn.1400e1b00
mov r14, rax
mov qword [rsp + 0x60], rax
mov qword [rsp + 0x70], r12
mov qword [rsp + 0x78], rsi
movups xmm0, xmmword [str._encryptDBFast_]
movups xmmword [r14], xmm0
lea rcx, [r14 + 0x10]
mov r8, r15
mov rdx, r13
call fcn.140244220
mov byte [r14 + r12], 0
mov r8d, 6
lea rdx, str._exist
lea rcx, [rsp + 0x60]
call fcn.1400f8490
xor ecx, ecx
mov qword [rsp + 0x38], rcx
mov qword [rsp + 0x48], rcx
mov qword [rsp + 0x50], rcx
movups xmm0, xmmword [rax]
movups xmmword [rsp + 0x38], xmm0
movups xmm1, xmmword [rax + 0x10]
movups xmmword [rsp + 0x48], xmm1
mov qword [rax + 0x10], rcx
mov qword [rax + 0x18], SafeArrayLock
mov byte [rax], cl
lea rcx, [rsp + 0x38]
call fcn.140195010
nop
mov rdx, qword [rsp + 0x78]
cmp rdx, 0x10
jb 0x140165d7f
inc rdx
mov rcx, qword [rsp + 0x60]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140165d7a
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140165e75
call fcn.14020be84
mov r8, rdi
cmp qword [rdi + 0x18], 0x10
jb 0x140165d8c
mov r8, qword [rdi]
mov edx, 0x104
lea rcx, [rbp - 0x80]
call sub.api_ms_win_crt_string_l1_1_0.dll_strcpy_s
lea r8, str..temp
mov edx, 0x104
lea rcx, [rbp - 0x80]
call sub.api_ms_win_crt_string_l1_1_0.dll_strcat_s
lea r8, [0x1402d67fc]
lea rdx, [rbp - 0x80]
lea rcx, [rsp + 0x30]
call sub.api_ms_win_crt_stdio_l1_1_0.dll_fopen_s
mov rcx, qword [rsp + 0x28]
call sub.api_ms_win_crt_stdio_l1_1_0.dll_getc
cmp eax, 0xffffffff
je 0x140165dfd
movzx esi, byte [rsp + 0x20]
nop dword [rax + rax]
mov ecx, esi
xor ecx, eax
mov rdx, qword [rsp + 0x30]
call sub.api_ms_win_crt_stdio_l1_1_0.dll_putc
mov rcx, qword [rsp + 0x28]
call sub.api_ms_win_crt_stdio_l1_1_0.dll_getc
cmp eax, 0xffffffff
jne 0x140165de0
mov rcx, qword [rsp + 0x28]
call sub.api_ms_win_crt_stdio_l1_1_0.dll_fclose
mov rcx, qword [rsp + 0x30]
call sub.api_ms_win_crt_stdio_l1_1_0.dll_fclose
cmp qword [rdi + 0x18], 0x10
jb 0x140165e1b
mov rdi, qword [rdi]
mov rcx, rdi
call sub.api_ms_win_crt_filesystem_l1_1_0.dll_remove
mov rcx, rbx
cmp qword [rbx + 0x18], 0x10
jb 0x140165e30
mov rcx, qword [rbx]
call sub.api_ms_win_crt_filesystem_l1_1_0.dll_remove
cmp qword [rbx + 0x18], 0x10
jb 0x140165e3f
mov rbx, qword [rbx]
mov rdx, rbx
lea rcx, [rbp - 0x80]
call sub.api_ms_win_crt_filesystem_l1_1_0.dll_rename
mov rcx, qword [rbp + 0x90]
xor rcx, rsp
call fcn.14020c3e0
mov rbx, qword [rsp + 0x1f0]
add rsp, 0x1a0
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret
call sub.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn
int3
call fcn.1400f83d0
int3