Function at 0x1400f3160
Capabilities:
Delete file

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 - 0x160]
sub rsp, 0x260
mov rax, qword [0x140351248]
xor rax, rsp
mov qword [rbp + 0x150], rax
mov r15, rcx
mov rdx, qword [rcx + 8]
xor r13d, r13d
mov qword [rsp + 0x48], r13
mov qword [rsp + 0x58], r13
mov qword [rsp + 0x60], SafeArrayLock
mov byte [rsp + 0x48], r13b
mov rbx, 0xffffffffffffffff
mov r8, rbx
inc r8
cmp byte [rdx + r8], r13b
jne 0x1400f31c4
lea rcx, [rsp + 0x48]
call fcn.1400cf610
nop
mov r8d, 1
lea rdx, [0x14026cc98]
lea rcx, [rsp + 0x48]
call fcn.1400cf260
lea rdx, [rsp + 0x28]
mov rcx, r15
call fcn.1400ebb90
nop
mov rdx, rax
cmp qword [rax + 0x18], 0x10
jb 0x1400f320a
mov rdx, qword [rax]
mov r8, qword [rax + 0x10]
lea rcx, [rsp + 0x48]
call fcn.1400cf260
nop
mov rdx, qword [rsp + 0x40]
cmp rdx, 0x10
jb 0x1400f3256
inc rdx
mov rcx, qword [rsp + 0x28]
mov rax, rcx
cmp rdx, 0x1000
jb 0x1400f3251
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1400f3b3b
call fcn.1401bfb10
mov r8d, 3
lea rdx, [0x14026cbd0]
lea rcx, [rsp + 0x48]
call fcn.1400cf260
mov rcx, qword [r15 + 8]
call fcn.1401c028c
mov eax, dword [rsp + 0x58]
inc eax
movsxd rcx, eax
call fcn.1401c030c
mov qword [r15 + 8], rax
lea r8, [rsp + 0x48]
cmp qword [rsp + 0x60], 0x10
cmovae r8, qword [rsp + 0x48]
mov rdx, qword [rsp + 0x58]
inc rdx
mov rcx, rax
call sub.api_ms_win_crt_string_l1_1_0.dll_strcpy_s
mov rdx, qword [r15 + 8]
mov qword [rsp + 0x28], r13
mov qword [rsp + 0x38], r13
mov qword [rsp + 0x40], SafeArrayLock
mov byte [rsp + 0x28], 0
inc rbx
cmp byte [rdx + rbx], 0
jne 0x1400f32c5
mov r8, rbx
lea rcx, [rsp + 0x28]
call fcn.1400cf610
nop
lea r8, [rsp + 0x28]
lea rdx, str.dbName:
lea rcx, [rsp + 0x68]
call fcn.1400b8710
mov rcx, rax
call fcn.140162100
nop
mov rdx, qword [rsp + 0x40]
cmp rdx, 0x10
jb 0x1400f3338
inc rdx
mov rcx, qword [rsp + 0x28]
mov rax, rcx
cmp rdx, 0x1000
jb 0x1400f3333
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1400f3b41
call fcn.1401bfb10
mov rsi, qword [rsp + 0x58]
movabs rcx, 0x7fffffffffffffff
mov rax, rcx
sub rax, rsi
cmp rax, 0x4a
jb 0x1400f3b47
lea r12, [rsp + 0x48]
cmp qword [rsp + 0x60], 0x10
cmovae r12, qword [rsp + 0x48]
mov qword [rbp - 0x78], r13
mov qword [rbp - 0x68], r13
mov qword [rbp - 0x60], r13
lea r14, [rsi + 0x4a]
mov ebx, SafeArrayGetLBound
lea rdi, [rbp - 0x78]
lea eax, [rbx + 7]
cmp r14, rbx
jbe 0x1400f33b1
mov rbx, r14
or rbx, 0xf
cmp rbx, rcx
jbe 0x1400f339a
mov rbx, rcx
jmp 0x1400f33a1
cmp rbx, rax
cmovb rbx, rax
lea rcx, [rbx + 1]
call fcn.1400b88d0
mov rdi, rax
mov qword [rbp - 0x78], rax
mov qword [rbp - 0x68], r14
mov qword [rbp - 0x60], rbx
movaps xmm0, xmmword [str.C:ProgramDataASUSASUS_System_Control_InterfaceAsusSystemAnalysisdata_]
movups xmmword [rdi], xmm0
movaps xmm1, xmmword [0x14026cb70]
movups xmmword [rdi + 0x10], xmm1
movaps xmm0, xmmword [0x14026cb80]
movups xmmword [rdi + 0x20], xmm0
movaps xmm1, xmmword [0x14026cb90]
movups xmmword [rdi + 0x30], xmm1
movsd xmm0, qword [0x14026cba0]
movsd qword [rdi + 0x40], xmm0
movzx eax, word [0x14026cba8]
mov word [rdi + 0x48], ax
lea rcx, [rdi + 0x4a]
mov r8, rsi
mov rdx, r12
call fcn.1401f7750
mov byte [rdi + r14], 0
mov qword [rsp + 0x68], r13
mov qword [rsp + 0x78], r13
mov qword [rbp - 0x80], r13
mov rdi, qword [rbp - 0x68]
lea rsi, [rbp - 0x78]
cmp qword [rbp - 0x60], 0x10
cmovae rsi, qword [rbp - 0x78]
movabs r12, 0x7fffffffffffffff
cmp rdi, 0x10
jae 0x1400f344f
movups xmm0, xmmword [rsi]
movups xmmword [rsp + 0x68], xmm0
mov ebx, SafeArrayGetLBound
jmp 0x1400f347a
mov rbx, rdi
or rbx, 0xf
cmp rbx, r12
cmova rbx, r12
lea rcx, [rbx + 1]
call fcn.1400b88d0
mov qword [rsp + 0x68], rax
lea r8, [rdi + 1]
mov rdx, rsi
mov rcx, rax
call fcn.1401f7750
mov qword [rsp + 0x78], rdi
mov qword [rbp - 0x80], rbx
lea rcx, [rsp + 0x68]
call fcn.1401ae250
mov qword [rsp + 0x28], r13
mov qword [rsp + 0x38], r13
mov qword [rsp + 0x40], SafeArrayLock
mov ecx, 0x20
test al, al
je 0x1400f37e9
call fcn.1400b88d0
mov qword [rsp + 0x38], SafeArrayPutElement
mov qword [rsp + 0x40], 0x1f
movups xmm0, xmmword [str.db_file_already_exists]
movups xmmword [rax], xmm0
mov ecx, dword [0x14026ccc0]
mov dword [rax + 0x10], ecx
movzx ecx, word [0x14026ccc4]
mov word [rax + 0x14], cx
mov byte [rax + 0x16], 0
mov qword [rsp + 0x28], rax
lea rcx, [rsp + 0x28]
call fcn.140162100
lea rax, [rsp + 0x48]
cmp qword [rsp + 0x60], 0x10
cmovae rax, qword [rsp + 0x48]
cmp byte [rax], 0x55
jne 0x1400f3a7b
mov rsi, qword [rsp + 0x58]
mov rax, r12
sub rax, rsi
cmp rax, 0xe
jb 0x1400f3b4d
lea r15, [rsp + 0x48]
cmp qword [rsp + 0x60], 0x10
cmovae r15, qword [rsp + 0x48]
mov qword [rsp + 0x28], r13
mov qword [rsp + 0x38], r13
mov qword [rsp + 0x40], r13
lea r14, [rsi + 0xe]
mov ebx, SafeArrayGetLBound
lea rdi, [rsp + 0x28]
cmp r14, rbx
jbe 0x1400f3586
mov rbx, r14
or rbx, 0xf
cmp rbx, r12
jbe 0x1400f3568
mov rbx, r12
jmp 0x1400f3575
cmp rbx, 0x16
mov eax, SafeArrayPutElement
cmovb rbx, rax
lea rcx, [rbx + 1]
call fcn.1400b88d0
mov rdi, rax
mov qword [rsp + 0x28], rax
mov qword [rsp + 0x38], r14
mov qword [rsp + 0x40], rbx
movsd xmm0, qword [str._startDelete_]
movsd qword [rdi], xmm0
mov ecx, dword [0x14026ccd0]
mov dword [rdi + 8], ecx
movzx ecx, word [0x14026ccd4]
mov word [rdi + 0xc], cx
lea rcx, [rdi + 0xe]
mov r8, rsi
mov rdx, r15
call fcn.1401f7750
mov byte [rdi + r14], 0
lea rcx, [rsp + 0x28]
call fcn.140162100
lea rcx, [rbp - 0x78]
cmp qword [rbp - 0x60], 0x10
cmovae rcx, qword [rbp - 0x78]
call sub.api_ms_win_crt_filesystem_l1_1_0.dll_remove
mov r15, qword [rbp - 0x68]
mov rax, r12
sub rax, r15
cmp rax, 7
jb 0x1400f3b53
lea r14, [rbp - 0x78]
cmp qword [rbp - 0x60], 0x10
cmovae r14, qword [rbp - 0x78]
mov qword [rsp + 0x68], r13
mov qword [rsp + 0x78], r13
mov qword [rbp - 0x80], r13
lea rsi, [r15 + 7]
mov ebx, SafeArrayGetLBound
lea rdi, [rsp + 0x68]
cmp rsi, rbx
jbe 0x1400f3653
mov rbx, rsi
or rbx, 0xf
cmp rbx, r12
jbe 0x1400f3635
mov rbx, r12
jmp 0x1400f3642
cmp rbx, 0x16
mov eax, SafeArrayPutElement
cmovb rbx, rax
lea rcx, [rbx + 1]
call fcn.1400b88d0
mov rdi, rax
mov qword [rsp + 0x68], rax
mov qword [rsp + 0x78], rsi
mov qword [rbp - 0x80], rbx
mov r8, r15
mov rdx, r14
mov rcx, rdi
call fcn.1401f7750
mov ecx, dword [str..cached]
mov dword [rdi + r15], ecx
movzx ecx, word [0x14026ccdc]
mov word [rdi + r15 + 4], cx
movzx eax, byte [0x14026ccde]
mov byte [rdi + r15 + 6], al
mov byte [rdi + rsi], 0
lea rcx, [rsp + 0x68]
cmp qword [rbp - 0x80], 0x10
cmovae rcx, qword [rsp + 0x68]
call sub.api_ms_win_crt_filesystem_l1_1_0.dll_remove
mov r15, qword [rbp - 0x68]
mov rax, r12
sub rax, r15
cmp rax, 0xc
jb 0x1400f3b59
lea r14, [rbp - 0x78]
cmp qword [rbp - 0x60], 0x10
cmovae r14, qword [rbp - 0x78]
mov qword [rbp - 0x58], r13
mov qword [rbp - 0x48], r13
mov qword [rbp - 0x40], r13
lea rsi, [r15 + 0xc]
mov ebx, SafeArrayGetLBound
lea rdi, [rbp - 0x58]
cmp rsi, rbx
jbe 0x1400f3714
mov rbx, rsi
or rbx, 0xf
cmp rbx, r12
jbe 0x1400f36f7
mov rbx, r12
jmp 0x1400f3704
cmp rbx, 0x16
mov eax, SafeArrayPutElement
cmovb rbx, rax
lea rcx, [rbx + 1]
call fcn.1400b88d0
mov rdi, rax
mov qword [rbp - 0x58], rax
mov qword [rbp - 0x48], rsi
mov qword [rbp - 0x40], rbx
mov r8, r15
mov rdx, r14
mov rcx, rdi
call fcn.1401f7750
movsd xmm0, qword [str..cached.temp]
movsd qword [rdi + r15], xmm0
mov ecx, dword [0x14026cce8]
mov dword [rdi + r15 + 8], ecx
mov byte [rdi + rsi], 0
lea rcx, [rbp - 0x58]
cmp qword [rbp - 0x40], 0x10
cmovae rcx, qword [rbp - 0x58]
call sub.api_ms_win_crt_filesystem_l1_1_0.dll_remove
mov rdx, qword [rbp - 0x40]
cmp rdx, 0x10
jb 0x1400f3795
inc rdx
mov rcx, qword [rbp - 0x58]
mov rax, rcx
cmp rdx, 0x1000
jb 0x1400f3790
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1400f3b5f
call fcn.1401bfb10
mov qword [rbp - 0x48], r13
mov qword [rbp - 0x40], SafeArrayLock
mov byte [rbp - 0x58], 0
mov rdx, qword [rbp - 0x80]
cmp rdx, 0x10
jb 0x1400f3a7b
inc rdx
mov rcx, qword [rsp + 0x68]
mov rax, rcx
cmp rdx, 0x1000
jb 0x1400f3a75
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1400f3b35
jmp 0x1400f3a75
call fcn.1400b88d0
mov qword [rsp + 0x38], SafeArrayPutElement
mov qword [rsp + 0x40], 0x1f
movups xmm0, xmmword [str.db_file_doesnt_exist]
movups xmmword [rax], xmm0
mov ecx, dword [0x14026cd00]
mov dword [rax + 0x10], ecx
movzx ecx, byte [0x14026cd04]
mov byte [rax + 0x14], cl
mov byte [rax + 0x15], 0
mov qword [rsp + 0x28], rax
lea rcx, [rsp + 0x28]
call fcn.140162100
lea rax, [rsp + 0x48]
cmp qword [rsp + 0x60], 0x10
cmovae rax, qword [rsp + 0x48]
cmp byte [rax], 0x55
je 0x1400f3a7b
mov r14d, dword [r15 + 0x1c]
lea rdx, [rsp + 0x68]
mov rcx, r15
call fcn.1400ec2a0
nop
lea rcx, [rbp - 0x30]
call fcn.14016d040
nop
mov qword [rsp + 0x28], r13
mov qword [rsp + 0x40], SafeArrayLock
mov qword [rsp + 0x38], 7
mov eax, dword [str.BGFS.db]
mov dword [rsp + 0x28], eax
movzx eax, word [0x14026cd0c]
mov word [rsp + 0x2c], ax
movzx eax, byte [0x14026cd0e]
mov byte [rsp + 0x2e], al
mov byte [rsp + 0x2f], 0
lea rdx, [rsp + 0x28]
lea rcx, [rbp - 0x30]
call fcn.140179b30
mov qword [rsp + 0x28], r13
mov qword [rsp + 0x38], r13
test al, al
jne 0x1400f3926
mov qword [rsp + 0x40], SafeArrayLock
mov ecx, 0x30
call fcn.1400b88d0
mov qword [rsp + 0x38], 0x23
mov qword [rsp + 0x40], 0x2f
movups xmm0, xmmword [str._DataCollector__genDB:_fopenDB_fail]
movups xmmword [rax], xmm0
movups xmm1, xmmword [0x14026cd20]
movups xmmword [rax + 0x10], xmm1
movzx ecx, word [0x14026cd30]
mov word [rax + 0x20], cx
movzx ecx, byte [0x14026cd32]
mov byte [rax + 0x22], cl
mov byte [rax + 0x23], 0
mov qword [rsp + 0x28], rax
lea rcx, [rsp + 0x28]
call fcn.140162100
jmp 0x1400f3a34
mov qword [rsp + 0x40], r13
mov rsi, qword [rsp + 0x58]
lea rdi, [rsp + 0x48]
cmp qword [rsp + 0x60], 0x10
cmovae rdi, qword [rsp + 0x48]
cmp rsi, 0x10
jae 0x1400f3956
movups xmm0, xmmword [rdi]
movups xmmword [rsp + 0x28], xmm0
mov ebx, SafeArrayGetLBound
jmp 0x1400f3981
mov rbx, rsi
or rbx, 0xf
cmp rbx, r12
cmova rbx, r12
lea rcx, [rbx + 1]
call fcn.1400b88d0
mov qword [rsp + 0x28], rax
lea r8, [rsi + 1]
mov rdx, rdi
mov rcx, rax
call fcn.1401f7750
mov qword [rsp + 0x38], rsi
mov qword [rsp + 0x40], rbx
lea rdx, [rsp + 0x28]
lea rcx, [rbp - 0x30]
call fcn.140181780
mov edx, r14d
lea rcx, [rbp - 0x30]
call fcn.140181840
mov qword [rsp + 0x28], r13
mov qword [rsp + 0x38], r13
mov qword [rsp + 0x40], r13
mov rsi, qword [rsp + 0x78]
lea rdi, [rsp + 0x68]
cmp qword [rbp - 0x80], 0x10
cmovae rdi, qword [rsp + 0x68]
cmp rsi, 0x10
jae 0x1400f39de
movups xmm0, xmmword [rdi]
movups xmmword [rsp + 0x28], xmm0
mov ebx, SafeArrayGetLBound
jmp 0x1400f3a09
mov rbx, rsi
or rbx, 0xf
cmp rbx, r12
cmova rbx, r12
lea rcx, [rbx + 1]
call fcn.1400b88d0
mov qword [rsp + 0x28], rax
lea r8, [rsi + 1]
mov rdx, rdi
mov rcx, rax
call fcn.1401f7750
mov qword [rsp + 0x38], rsi
mov qword [rsp + 0x40], rbx
lea rdx, [rsp + 0x28]
lea rcx, [rbp - 0x30]
call fcn.1401816e0
lea rcx, [rbp - 0x30]
call fcn.140176050
lea rcx, [rbp - 0x30]
call fcn.140177330
nop
lea rcx, [rbp - 0x30]
call fcn.14016d8d0
nop
mov rdx, qword [rbp - 0x80]
cmp rdx, 0x10
jb 0x1400f3a7b
inc rdx
mov rcx, qword [rsp + 0x68]
mov rax, rcx
cmp rdx, 0x1000
jb 0x1400f3a75
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1400f3b65
call fcn.1401bfb10
nop
mov rdx, qword [rbp - 0x60]
cmp rdx, 0x10
jb 0x1400f3ab6
inc rdx
mov rcx, qword [rbp - 0x78]
mov rax, rcx
cmp rdx, 0x1000
jb 0x1400f3ab1
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1400f3b6b
call fcn.1401bfb10
mov qword [rbp - 0x68], r13
mov qword [rbp - 0x60], SafeArrayLock
mov byte [rbp - 0x78], 0
mov rdx, qword [rsp + 0x60]
cmp rdx, 0x10
jb 0x1400f3aff
inc rdx
mov rcx, qword [rsp + 0x48]
mov rax, rcx
cmp rdx, 0x1000
jb 0x1400f3afa
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1400f3b2f
call fcn.1401bfb10
mov rcx, qword [rbp + 0x150]
xor rcx, rsp
call fcn.1401c0070
lea r11, [rsp + 0x260]
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 sub.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn
nop
call sub.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn
nop
call sub.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn
int3
call sub.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn
int3
call fcn.1400cf1a0
nop
call fcn.1400cf1a0
int3
call fcn.1400cf1a0
nop
call fcn.1400cf1a0
int3
call sub.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn
nop
call sub.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn
nop
call sub.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn
int3