Function at 0x14010bf10
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 [0x14039a678]
xor rax, rsp
mov qword [rbp + 0x150], rax
movzx r13d, dl
mov r15, rcx
mov rdx, qword [rcx + 8]
xor edi, edi
mov qword [rsp + 0x48], rdi
mov qword [rsp + 0x58], rdi
mov qword [rsp + 0x60], SafeArrayGetLBound
mov byte [rsp + 0x48], dil
mov rbx, 0xffffffffffffffff
mov r8, rbx
inc r8
cmp byte [rdx + r8], dil
jne 0x14010bf77
lea rcx, [rsp + 0x48]
call fcn.1400e82b0
nop
mov r8d, 1
lea rdx, [0x14029b078]
lea rcx, [rsp + 0x48]
call fcn.1400e7f00
lea rdx, [rsp + 0x28]
mov rcx, r15
call fcn.140104990
nop
mov rdx, rax
cmp qword [rax + 0x18], 0x10
jb 0x14010bfbd
mov rdx, qword [rax]
mov r8, qword [rax + 0x10]
lea rcx, [rsp + 0x48]
call fcn.1400e7f00
nop
mov rdx, qword [rsp + 0x40]
cmp rdx, 0x10
jb 0x14010c009
inc rdx
mov rcx, qword [rsp + 0x28]
mov rax, rcx
cmp rdx, 0x1000
jb 0x14010c004
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x14010c915
call fcn.1401e3784
mov r8d, 3
lea rdx, [0x14029afb0]
lea rcx, [rsp + 0x48]
call fcn.1400e7f00
mov rcx, qword [r15 + 8]
call fcn.1401e3efc
mov eax, dword [rsp + 0x58]
inc eax
movsxd rcx, eax
call fcn.1401e3f7c
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], rdi
mov qword [rsp + 0x38], rdi
mov qword [rsp + 0x40], SafeArrayGetLBound
mov byte [rsp + 0x28], 0
nop dword [rax + rax]
inc rbx
cmp byte [rdx + rbx], 0
jne 0x14010c080
mov r8, rbx
lea rcx, [rsp + 0x28]
call fcn.1400e82b0
nop
lea r8, [rsp + 0x28]
lea rdx, str.dbName:
lea rcx, [rsp + 0x68]
call fcn.1400d13b0
mov rcx, rax
call fcn.14017eab0
nop
mov rdx, qword [rsp + 0x40]
cmp rdx, 0x10
jb 0x14010c0f3
inc rdx
mov rcx, qword [rsp + 0x28]
mov rax, rcx
cmp rdx, 0x1000
jb 0x14010c0ee
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x14010c91b
call fcn.1401e3784
mov rsi, qword [rsp + 0x58]
movabs rcx, 0x7fffffffffffffff
mov rax, rcx
sub rax, rsi
cmp rax, 0x4a
jb 0x14010c921
lea r12, [rsp + 0x48]
cmp qword [rsp + 0x60], 0x10
cmovae r12, qword [rsp + 0x48]
mov qword [rbp - 0x78], rdi
mov qword [rbp - 0x68], rdi
mov qword [rbp - 0x60], rdi
lea r14, [rsi + 0x4a]
mov ebx, SafeArrayGetLBound
lea rdi, [rbp - 0x78]
lea eax, [rbx + 7]
cmp r14, rbx
jbe 0x14010c16c
mov rbx, r14
or rbx, 0xf
cmp rbx, rcx
jbe 0x14010c155
mov rbx, rcx
jmp 0x14010c15c
cmp rbx, rax
cmovb rbx, rax
lea rcx, [rbx + 1]
call fcn.1400d1570
mov rdi, rax
mov qword [rbp - 0x78], rax
mov qword [rbp - 0x68], r14
mov qword [rbp - 0x60], rbx
movaps xmm0, xmmword [0x14029af40]
movups xmmword [rdi], xmm0
movaps xmm1, xmmword [0x14029af50]
movups xmmword [rdi + 0x10], xmm1
movaps xmm0, xmmword [0x14029af60]
movups xmmword [rdi + 0x20], xmm0
movaps xmm1, xmmword [0x14029af70]
movups xmmword [rdi + 0x30], xmm1
movsd xmm0, qword [0x14029af80]
movsd qword [rdi + 0x40], xmm0
movzx eax, word [0x14029af88]
mov word [rdi + 0x48], ax
lea rcx, [rdi + 0x4a]
mov r8, rsi
mov rdx, r12
call fcn.14021bb20
mov byte [rdi + r14], 0
xor r12d, r12d
mov qword [rsp + 0x68], r12
mov qword [rsp + 0x78], r12
mov qword [rbp - 0x80], r12
mov rdi, qword [rbp - 0x68]
lea rsi, [rbp - 0x78]
cmp qword [rbp - 0x60], 0x10
cmovae rsi, qword [rbp - 0x78]
cmp rdi, 0x10
jae 0x14010c203
movups xmm0, xmmword [rsi]
movups xmmword [rsp + 0x68], xmm0
lea ebx, [r12 + 0xf]
jmp 0x14010c238
mov rbx, rdi
or rbx, 0xf
movabs rax, 0x7fffffffffffffff
cmp rbx, rax
cmova rbx, rax
lea rcx, [rbx + 1]
call fcn.1400d1570
mov qword [rsp + 0x68], rax
lea r8, [rdi + 1]
mov rdx, rsi
mov rcx, rax
call fcn.14021bb20
mov qword [rsp + 0x78], rdi
mov qword [rbp - 0x80], rbx
lea rcx, [rsp + 0x68]
call fcn.1401d1e80
mov qword [rsp + 0x28], r12
mov qword [rsp + 0x38], r12
mov qword [rsp + 0x40], SafeArrayGetLBound
mov ecx, 0x20
test al, al
je 0x14010c5b9
call fcn.1400d1570
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 [0x14029b0a0]
mov dword [rax + 0x10], ecx
movzx ecx, word [0x14029b0a4]
mov word [rax + 0x14], cx
mov byte [rax + 0x16], r12b
mov qword [rsp + 0x28], rax
lea rcx, [rsp + 0x28]
call fcn.14017eab0
lea rax, [rsp + 0x48]
cmp qword [rsp + 0x60], 0x10
cmovae rax, qword [rsp + 0x48]
cmp byte [rax], 0x55
jne 0x14010c855
test r13b, r13b
je 0x14010c855
mov rsi, qword [rsp + 0x58]
movabs r13, 0x7fffffffffffffff
mov rax, r13
sub rax, rsi
cmp rax, 0xe
jb 0x14010c927
lea r15, [rsp + 0x48]
cmp qword [rsp + 0x60], 0x10
cmovae r15, qword [rsp + 0x48]
mov qword [rsp + 0x28], r12
mov qword [rsp + 0x38], r12
mov qword [rsp + 0x40], r12
lea r14, [rsi + 0xe]
mov ebx, SafeArrayGetLBound
lea rdi, [rsp + 0x28]
cmp r14, rbx
jbe 0x14010c357
mov rbx, r14
or rbx, 0xf
cmp rbx, r13
jbe 0x14010c339
mov rbx, r13
jmp 0x14010c346
cmp rbx, 0x16
mov eax, SafeArrayPutElement
cmovb rbx, rax
lea rcx, [rbx + 1]
call fcn.1400d1570
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 [0x14029b0b0]
mov dword [rdi + 8], ecx
movzx ecx, word [0x14029b0b4]
mov word [rdi + 0xc], cx
lea rcx, [rdi + 0xe]
mov r8, rsi
mov rdx, r15
call fcn.14021bb20
mov byte [rdi + r14], r12b
lea rcx, [rsp + 0x28]
call fcn.14017eab0
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, r13
sub rax, r15
cmp rax, 7
jb 0x14010c92d
lea r14, [rbp - 0x78]
cmp qword [rbp - 0x60], 0x10
cmovae r14, qword [rbp - 0x78]
mov qword [rsp + 0x68], r12
mov qword [rsp + 0x78], r12
mov qword [rbp - 0x80], r12
lea rsi, [r15 + 7]
mov ebx, SafeArrayGetLBound
lea rdi, [rsp + 0x68]
cmp rsi, rbx
jbe 0x14010c423
mov rbx, rsi
or rbx, 0xf
cmp rbx, r13
jbe 0x14010c405
mov rbx, r13
jmp 0x14010c412
cmp rbx, 0x16
mov eax, SafeArrayPutElement
cmovb rbx, rax
lea rcx, [rbx + 1]
call fcn.1400d1570
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.14021bb20
mov ecx, dword [str..cached]
mov dword [rdi + r15], ecx
movzx ecx, word [0x14029b0bc]
mov word [rdi + r15 + 4], cx
movzx eax, byte [0x14029b0be]
mov byte [rdi + r15 + 6], al
mov byte [rdi + rsi], r12b
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, r13
sub rax, r15
cmp rax, 0xc
jb 0x14010c933
lea r14, [rbp - 0x78]
cmp qword [rbp - 0x60], 0x10
cmovae r14, qword [rbp - 0x78]
mov qword [rbp - 0x58], r12
mov qword [rbp - 0x48], r12
mov qword [rbp - 0x40], r12
lea rsi, [r15 + 0xc]
mov ebx, SafeArrayGetLBound
lea rdi, [rbp - 0x58]
cmp rsi, rbx
jbe 0x14010c4e4
mov rbx, rsi
or rbx, 0xf
cmp rbx, r13
jbe 0x14010c4c7
mov rbx, r13
jmp 0x14010c4d4
cmp rbx, 0x16
mov eax, SafeArrayPutElement
cmovb rbx, rax
lea rcx, [rbx + 1]
call fcn.1400d1570
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.14021bb20
movsd xmm0, qword [str..cached.temp]
movsd qword [rdi + r15], xmm0
mov ecx, dword [0x14029b0c8]
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 0x14010c565
inc rdx
mov rcx, qword [rbp - 0x58]
mov rax, rcx
cmp rdx, 0x1000
jb 0x14010c560
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x14010c939
call fcn.1401e3784
mov qword [rbp - 0x48], r12
mov qword [rbp - 0x40], SafeArrayGetLBound
mov byte [rbp - 0x58], 0
mov rdx, qword [rbp - 0x80]
cmp rdx, 0x10
jb 0x14010c855
inc rdx
mov rcx, qword [rsp + 0x68]
mov rax, rcx
cmp rdx, 0x1000
jb 0x14010c84f
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x14010c90f
jmp 0x14010c84f
call fcn.1400d1570
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 [0x14029b0e0]
mov dword [rax + 0x10], ecx
movzx ecx, byte [0x14029b0e4]
mov byte [rax + 0x14], cl
mov byte [rax + 0x15], r12b
mov qword [rsp + 0x28], rax
lea rcx, [rsp + 0x28]
call fcn.14017eab0
lea rax, [rsp + 0x48]
cmp qword [rsp + 0x60], 0x10
cmovae rax, qword [rsp + 0x48]
cmp byte [rax], 0x55
je 0x14010c855
mov r14d, dword [r15 + 0x1c]
lea rdx, [rsp + 0x68]
mov rcx, r15
call fcn.1401050a0
nop
lea rcx, [rbp - 0x30]
call fcn.14018a2c0
nop
mov qword [rsp + 0x28], r12
mov qword [rsp + 0x40], SafeArrayGetLBound
mov qword [rsp + 0x38], 7
mov eax, dword [str.BGFS.db]
mov dword [rsp + 0x28], eax
movzx eax, word [0x14029b0ec]
mov word [rsp + 0x2c], ax
movzx eax, byte [0x14029b0ee]
mov byte [rsp + 0x2e], al
mov byte [rsp + 0x2f], 0
lea rdx, [rsp + 0x28]
lea rcx, [rbp - 0x30]
call fcn.140197b10
mov qword [rsp + 0x28], r12
mov qword [rsp + 0x38], r12
test al, al
jne 0x14010c6f6
mov qword [rsp + 0x40], SafeArrayGetLBound
mov ecx, 0x30
call fcn.1400d1570
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 [0x14029b100]
movups xmmword [rax + 0x10], xmm1
movzx ecx, word [0x14029b110]
mov word [rax + 0x20], cx
movzx ecx, byte [0x14029b112]
mov byte [rax + 0x22], cl
mov byte [rax + 0x23], 0
mov qword [rsp + 0x28], rax
lea rcx, [rsp + 0x28]
call fcn.14017eab0
jmp 0x14010c80e
mov qword [rsp + 0x40], r12
mov rsi, qword [rsp + 0x58]
lea rdi, [rsp + 0x48]
cmp qword [rsp + 0x60], 0x10
cmovae rdi, qword [rsp + 0x48]
movabs r15, 0x7fffffffffffffff
cmp rsi, 0x10
jae 0x14010c730
movups xmm0, xmmword [rdi]
movups xmmword [rsp + 0x28], xmm0
mov ebx, SafeArrayGetLBound
jmp 0x14010c75b
mov rbx, rsi
or rbx, 0xf
cmp rbx, r15
cmova rbx, r15
lea rcx, [rbx + 1]
call fcn.1400d1570
mov qword [rsp + 0x28], rax
lea r8, [rsi + 1]
mov rdx, rdi
mov rcx, rax
call fcn.14021bb20
mov qword [rsp + 0x38], rsi
mov qword [rsp + 0x40], rbx
lea rdx, [rsp + 0x28]
lea rcx, [rbp - 0x30]
call fcn.14019f700
mov edx, r14d
lea rcx, [rbp - 0x30]
call fcn.14019f7c0
mov qword [rsp + 0x28], r12
mov qword [rsp + 0x38], r12
mov qword [rsp + 0x40], r12
mov rsi, qword [rsp + 0x78]
lea rdi, [rsp + 0x68]
cmp qword [rbp - 0x80], 0x10
cmovae rdi, qword [rsp + 0x68]
cmp rsi, 0x10
jae 0x14010c7b8
movups xmm0, xmmword [rdi]
movups xmmword [rsp + 0x28], xmm0
mov ebx, SafeArrayGetLBound
jmp 0x14010c7e3
mov rbx, rsi
or rbx, 0xf
cmp rbx, r15
cmova rbx, r15
lea rcx, [rbx + 1]
call fcn.1400d1570
mov qword [rsp + 0x28], rax
lea r8, [rsi + 1]
mov rdx, rdi
mov rcx, rax
call fcn.14021bb20
mov qword [rsp + 0x38], rsi
mov qword [rsp + 0x40], rbx
lea rdx, [rsp + 0x28]
lea rcx, [rbp - 0x30]
call fcn.14019f660
lea rcx, [rbp - 0x30]
call fcn.140194030
lea rcx, [rbp - 0x30]
call fcn.140195310
nop
lea rcx, [rbp - 0x30]
call fcn.14018ab50
nop
mov rdx, qword [rbp - 0x80]
cmp rdx, 0x10
jb 0x14010c855
inc rdx
mov rcx, qword [rsp + 0x68]
mov rax, rcx
cmp rdx, 0x1000
jb 0x14010c84f
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x14010c93f
call fcn.1401e3784
nop
mov rdx, qword [rbp - 0x60]
cmp rdx, 0x10
jb 0x14010c890
inc rdx
mov rcx, qword [rbp - 0x78]
mov rax, rcx
cmp rdx, 0x1000
jb 0x14010c88b
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x14010c945
call fcn.1401e3784
mov qword [rbp - 0x68], r12
mov qword [rbp - 0x60], SafeArrayGetLBound
mov byte [rbp - 0x78], 0
mov rdx, qword [rsp + 0x60]
cmp rdx, 0x10
jb 0x14010c8d9
inc rdx
mov rcx, qword [rsp + 0x48]
mov rax, rcx
cmp rdx, 0x1000
jb 0x14010c8d4
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x14010c909
call fcn.1401e3784
mov rcx, qword [rbp + 0x150]
xor rcx, rsp
call fcn.1401e3ce0
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.1400e7e40
nop
call fcn.1400e7e40
int3
call fcn.1400e7e40
nop
call fcn.1400e7e40
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