Function at 0x1400f41e0
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 [0x14035cb78]
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], SafeArrayGetLBound
mov byte [rsp + 0x48], r13b
mov rbx, 0xffffffffffffffff
mov r8, rbx
inc r8
cmp byte [rdx + r8], r13b
jne 0x1400f4244
lea rcx, [rsp + 0x48]
call fcn.1400d0690
nop
mov r8d, 1
lea rdx, [0x140275e28]
lea rcx, [rsp + 0x48]
call fcn.1400d02e0
lea rdx, [rsp + 0x28]
mov rcx, r15
call fcn.1400ecc10
nop
mov rdx, rax
cmp qword [rax + 0x18], 0x10
jb 0x1400f428a
mov rdx, qword [rax]
mov r8, qword [rax + 0x10]
lea rcx, [rsp + 0x48]
call fcn.1400d02e0
nop
mov rdx, qword [rsp + 0x40]
cmp rdx, 0x10
jb 0x1400f42d6
inc rdx
mov rcx, qword [rsp + 0x28]
mov rax, rcx
cmp rdx, 0x1000
jb 0x1400f42d1
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1400f4bbb
call fcn.1401c72f8
mov r8d, 3
lea rdx, [0x140275d60]
lea rcx, [rsp + 0x48]
call fcn.1400d02e0
mov rcx, qword [r15 + 8]
call fcn.1401c7a6c
mov eax, dword [rsp + 0x58]
inc eax
movsxd rcx, eax
call fcn.1401c7aec
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], SafeArrayGetLBound
mov byte [rsp + 0x28], 0
inc rbx
cmp byte [rdx + rbx], 0
jne 0x1400f4345
mov r8, rbx
lea rcx, [rsp + 0x28]
call fcn.1400d0690
nop
lea r8, [rsp + 0x28]
lea rdx, str.dbName:
lea rcx, [rsp + 0x68]
call fcn.1400b9790
mov rcx, rax
call fcn.1401630b0
nop
mov rdx, qword [rsp + 0x40]
cmp rdx, 0x10
jb 0x1400f43b8
inc rdx
mov rcx, qword [rsp + 0x28]
mov rax, rcx
cmp rdx, 0x1000
jb 0x1400f43b3
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1400f4bc1
call fcn.1401c72f8
mov rsi, qword [rsp + 0x58]
movabs rcx, 0x7fffffffffffffff
mov rax, rcx
sub rax, rsi
cmp rax, 0x4a
jb 0x1400f4bc7
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 0x1400f4431
mov rbx, r14
or rbx, 0xf
cmp rbx, rcx
jbe 0x1400f441a
mov rbx, rcx
jmp 0x1400f4421
cmp rbx, rax
cmovb rbx, rax
lea rcx, [rbx + 1]
call fcn.1400b9950
mov rdi, rax
mov qword [rbp - 0x78], rax
mov qword [rbp - 0x68], r14
mov qword [rbp - 0x60], rbx
movaps xmm0, xmmword [0x140275cf0]
movups xmmword [rdi], xmm0
movaps xmm1, xmmword [0x140275d00]
movups xmmword [rdi + 0x10], xmm1
movaps xmm0, xmmword [0x140275d10]
movups xmmword [rdi + 0x20], xmm0
movaps xmm1, xmmword [0x140275d20]
movups xmmword [rdi + 0x30], xmm1
movsd xmm0, qword [0x140275d30]
movsd qword [rdi + 0x40], xmm0
movzx eax, word [0x140275d38]
mov word [rdi + 0x48], ax
lea rcx, [rdi + 0x4a]
mov r8, rsi
mov rdx, r12
call fcn.1401ff6b0
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 0x1400f44cf
movups xmm0, xmmword [rsi]
movups xmmword [rsp + 0x68], xmm0
mov ebx, SafeArrayGetLBound
jmp 0x1400f44fa
mov rbx, rdi
or rbx, 0xf
cmp rbx, r12
cmova rbx, r12
lea rcx, [rbx + 1]
call fcn.1400b9950
mov qword [rsp + 0x68], rax
lea r8, [rdi + 1]
mov rdx, rsi
mov rcx, rax
call fcn.1401ff6b0
mov qword [rsp + 0x78], rdi
mov qword [rbp - 0x80], rbx
lea rcx, [rsp + 0x68]
call fcn.1401b5a10
mov qword [rsp + 0x28], r13
mov qword [rsp + 0x38], r13
mov qword [rsp + 0x40], SafeArrayGetLBound
mov ecx, 0x20
test al, al
je 0x1400f4869
call fcn.1400b9950
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 [0x140275e50]
mov dword [rax + 0x10], ecx
movzx ecx, word [0x140275e54]
mov word [rax + 0x14], cx
mov byte [rax + 0x16], 0
mov qword [rsp + 0x28], rax
lea rcx, [rsp + 0x28]
call fcn.1401630b0
lea rax, [rsp + 0x48]
cmp qword [rsp + 0x60], 0x10
cmovae rax, qword [rsp + 0x48]
cmp byte [rax], 0x55
jne 0x1400f4afb
mov rsi, qword [rsp + 0x58]
mov rax, r12
sub rax, rsi
cmp rax, 0xe
jb 0x1400f4bcd
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 0x1400f4606
mov rbx, r14
or rbx, 0xf
cmp rbx, r12
jbe 0x1400f45e8
mov rbx, r12
jmp 0x1400f45f5
cmp rbx, 0x16
mov eax, SafeArrayPutElement
cmovb rbx, rax
lea rcx, [rbx + 1]
call fcn.1400b9950
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 [0x140275e60]
mov dword [rdi + 8], ecx
movzx ecx, word [0x140275e64]
mov word [rdi + 0xc], cx
lea rcx, [rdi + 0xe]
mov r8, rsi
mov rdx, r15
call fcn.1401ff6b0
mov byte [rdi + r14], 0
lea rcx, [rsp + 0x28]
call fcn.1401630b0
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 0x1400f4bd3
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 0x1400f46d3
mov rbx, rsi
or rbx, 0xf
cmp rbx, r12
jbe 0x1400f46b5
mov rbx, r12
jmp 0x1400f46c2
cmp rbx, 0x16
mov eax, SafeArrayPutElement
cmovb rbx, rax
lea rcx, [rbx + 1]
call fcn.1400b9950
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.1401ff6b0
mov ecx, dword [str..cached]
mov dword [rdi + r15], ecx
movzx ecx, word [0x140275e6c]
mov word [rdi + r15 + 4], cx
movzx eax, byte [0x140275e6e]
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 0x1400f4bd9
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 0x1400f4794
mov rbx, rsi
or rbx, 0xf
cmp rbx, r12
jbe 0x1400f4777
mov rbx, r12
jmp 0x1400f4784
cmp rbx, 0x16
mov eax, SafeArrayPutElement
cmovb rbx, rax
lea rcx, [rbx + 1]
call fcn.1400b9950
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.1401ff6b0
movsd xmm0, qword [str..cached.temp]
movsd qword [rdi + r15], xmm0
mov ecx, dword [0x140275e78]
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 0x1400f4815
inc rdx
mov rcx, qword [rbp - 0x58]
mov rax, rcx
cmp rdx, 0x1000
jb 0x1400f4810
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1400f4bdf
call fcn.1401c72f8
mov qword [rbp - 0x48], r13
mov qword [rbp - 0x40], SafeArrayGetLBound
mov byte [rbp - 0x58], 0
mov rdx, qword [rbp - 0x80]
cmp rdx, 0x10
jb 0x1400f4afb
inc rdx
mov rcx, qword [rsp + 0x68]
mov rax, rcx
cmp rdx, 0x1000
jb 0x1400f4af5
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1400f4bb5
jmp 0x1400f4af5
call fcn.1400b9950
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 [0x140275e90]
mov dword [rax + 0x10], ecx
movzx ecx, byte [0x140275e94]
mov byte [rax + 0x14], cl
mov byte [rax + 0x15], 0
mov qword [rsp + 0x28], rax
lea rcx, [rsp + 0x28]
call fcn.1401630b0
lea rax, [rsp + 0x48]
cmp qword [rsp + 0x60], 0x10
cmovae rax, qword [rsp + 0x48]
cmp byte [rax], 0x55
je 0x1400f4afb
mov r14d, dword [r15 + 0x1c]
lea rdx, [rsp + 0x68]
mov rcx, r15
call fcn.1400ed320
nop
lea rcx, [rbp - 0x30]
call fcn.14016e180
nop
mov qword [rsp + 0x28], r13
mov qword [rsp + 0x40], SafeArrayGetLBound
mov qword [rsp + 0x38], 7
mov eax, dword [str.BGFS.db]
mov dword [rsp + 0x28], eax
movzx eax, word [0x140275e9c]
mov word [rsp + 0x2c], ax
movzx eax, byte [0x140275e9e]
mov byte [rsp + 0x2e], al
mov byte [rsp + 0x2f], 0
lea rdx, [rsp + 0x28]
lea rcx, [rbp - 0x30]
call fcn.14017b9d0
mov qword [rsp + 0x28], r13
mov qword [rsp + 0x38], r13
test al, al
jne 0x1400f49a6
mov qword [rsp + 0x40], SafeArrayGetLBound
mov ecx, 0x30
call fcn.1400b9950
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 [0x140275eb0]
movups xmmword [rax + 0x10], xmm1
movzx ecx, word [0x140275ec0]
mov word [rax + 0x20], cx
movzx ecx, byte [0x140275ec2]
mov byte [rax + 0x22], cl
mov byte [rax + 0x23], 0
mov qword [rsp + 0x28], rax
lea rcx, [rsp + 0x28]
call fcn.1401630b0
jmp 0x1400f4ab4
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 0x1400f49d6
movups xmm0, xmmword [rdi]
movups xmmword [rsp + 0x28], xmm0
mov ebx, SafeArrayGetLBound
jmp 0x1400f4a01
mov rbx, rsi
or rbx, 0xf
cmp rbx, r12
cmova rbx, r12
lea rcx, [rbx + 1]
call fcn.1400b9950
mov qword [rsp + 0x28], rax
lea r8, [rsi + 1]
mov rdx, rdi
mov rcx, rax
call fcn.1401ff6b0
mov qword [rsp + 0x38], rsi
mov qword [rsp + 0x40], rbx
lea rdx, [rsp + 0x28]
lea rcx, [rbp - 0x30]
call fcn.140183620
mov edx, r14d
lea rcx, [rbp - 0x30]
call fcn.1401836e0
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 0x1400f4a5e
movups xmm0, xmmword [rdi]
movups xmmword [rsp + 0x28], xmm0
mov ebx, SafeArrayGetLBound
jmp 0x1400f4a89
mov rbx, rsi
or rbx, 0xf
cmp rbx, r12
cmova rbx, r12
lea rcx, [rbx + 1]
call fcn.1400b9950
mov qword [rsp + 0x28], rax
lea r8, [rsi + 1]
mov rdx, rdi
mov rcx, rax
call fcn.1401ff6b0
mov qword [rsp + 0x38], rsi
mov qword [rsp + 0x40], rbx
lea rdx, [rsp + 0x28]
lea rcx, [rbp - 0x30]
call fcn.140183580
lea rcx, [rbp - 0x30]
call fcn.140177ef0
lea rcx, [rbp - 0x30]
call fcn.1401791d0
nop
lea rcx, [rbp - 0x30]
call fcn.14016ea10
nop
mov rdx, qword [rbp - 0x80]
cmp rdx, 0x10
jb 0x1400f4afb
inc rdx
mov rcx, qword [rsp + 0x68]
mov rax, rcx
cmp rdx, 0x1000
jb 0x1400f4af5
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1400f4be5
call fcn.1401c72f8
nop
mov rdx, qword [rbp - 0x60]
cmp rdx, 0x10
jb 0x1400f4b36
inc rdx
mov rcx, qword [rbp - 0x78]
mov rax, rcx
cmp rdx, 0x1000
jb 0x1400f4b31
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1400f4beb
call fcn.1401c72f8
mov qword [rbp - 0x68], r13
mov qword [rbp - 0x60], SafeArrayGetLBound
mov byte [rbp - 0x78], 0
mov rdx, qword [rsp + 0x60]
cmp rdx, 0x10
jb 0x1400f4b7f
inc rdx
mov rcx, qword [rsp + 0x48]
mov rax, rcx
cmp rdx, 0x1000
jb 0x1400f4b7a
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1400f4baf
call fcn.1401c72f8
mov rcx, qword [rbp + 0x150]
xor rcx, rsp
call fcn.1401c7850
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.1400d0220
nop
call fcn.1400d0220
int3
call fcn.1400d0220
nop
call fcn.1400d0220
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