Function at 0x1402f5190
Capabilities:
Resolve function by parsing pe exports

Disassembly:
mov qword [rsp + 8], rcx
push rbx
push rbp
push rsi
push rdi
push r15
sub rsp, 0x40
mov r11, qword [rcx + 0x18]
xor r15d, r15d
mov dword [rsp + 0x88], r15d
mov rsi, r8
mov rbx, rdx
mov rdi, rcx
test rdx, rdx
je 0x1402f5726
lea r9, str.delete_all
mov r10, rdx
sub r10, r9
lea rbp, [0x1403e0460]
nop dword [rax]
nop dword [rax + rax]
movzx edx, byte [r9]
movzx eax, byte [r10 + r9]
cmp edx, eax
jne 0x1402f51f6
test edx, edx
je 0x1402f520b
inc r9
jmp 0x1402f51e0
movzx ecx, byte [rax + rbp]
movzx edx, byte [rdx + rbp]
sub edx, ecx
jne 0x1402f5207
inc r9
jmp 0x1402f51e0
test edx, edx
jne 0x1402f5240
mov ebp, 1
cmp dword [r11 + 0x40], r15d
jne 0x1402f522f
lea rdx, str.delete_all_may_only_be_used_with_a_contentless_or_external_content_fts5_table
mov rcx, rdi
call fcn.1402f22b0
mov eax, ebp
mov r15d, ebp
jmp 0x1402f5786
mov rcx, qword [rdi + 0x28]
call fcn.14035fef0
mov r15d, ebp
jmp 0x1402f5786
lea r8, str.rebuild
mov r9, rbx
sub r9, r8
nop dword [rax]
movzx edx, byte [r8]
movzx eax, byte [r9 + r8]
cmp edx, eax
jne 0x1402f5266
test edx, edx
je 0x1402f527b
inc r8
jmp 0x1402f5250
movzx ecx, byte [rax + rbp]
movzx edx, byte [rdx + rbp]
sub edx, ecx
jne 0x1402f5277
inc r8
jmp 0x1402f5250
test edx, edx
jne 0x1402f52b0
mov ebp, 1
cmp dword [r11 + 0x40], ebp
jne 0x1402f529f
lea rdx, str.rebuild_may_not_be_used_with_a_contentless_fts5_table
mov rcx, rdi
call fcn.1402f22b0
mov eax, ebp
mov r15d, ebp
jmp 0x1402f5786
mov rcx, qword [rdi + 0x28]
call fcn.140360ca0
mov r15d, ebp
jmp 0x1402f5786
lea r8, str.optimize
mov r9, rbx
sub r9, r8
nop dword [rax]
movzx edx, byte [r8]
movzx eax, byte [r9 + r8]
cmp edx, eax
jne 0x1402f52d6
test edx, edx
je 0x1402f52ef
inc r8
jmp 0x1402f52c0
movzx ecx, byte [rax + rbp]
movzx edx, byte [rdx + rbp]
sub edx, ecx
jne 0x1402f52e7
inc r8
jmp 0x1402f52c0
test edx, edx
jne 0x1402f53fe
mov rax, qword [rdi + 0x28]
mov rdi, r15
mov qword [rsp + 0x20], r15
mov rbx, qword [rax + 8]
mov rcx, rbx
call fcn.1402e5090
cmp qword [rbx + 0xa0], r15
jne 0x1402f5334
mov rcx, rbx
call fcn.1402e4bc0
mov qword [rbx + 0x98], rax
cmp dword [rbx + 0x3c], r15d
jne 0x1402f533a
mov rcx, rbx
call fcn.1402f7f30
mov qword [rbx + 0xa0], rax
cmp dword [rbx + 0x3c], r15d
je 0x1402f533f
mov rsi, r15
jmp 0x1402f534f
mov rax, qword [rbx + 0xa0]
inc dword [rax]
mov rsi, qword [rbx + 0xa0]
mov rcx, qword [rbx + 0xa0]
test rcx, rcx
je 0x1402f5367
call fcn.1402f8130
mov qword [rbx + 0xa0], r15
test rsi, rsi
je 0x1402f537f
mov rdx, rsi
mov rcx, rbx
call fcn.1402e8180
mov rdi, rax
mov qword [rsp + 0x20], rax
mov rcx, rsi
call fcn.1402f8130
test rdi, rdi
je 0x1402f5678
mov esi, r15d
cmp dword [rdi + 0x24], r15d
jne 0x1402f53ab
lea rax, [rdi + 0x24]
nop dword [rax]
inc esi
lea rax, [rax + 0x10]
cmp dword [rax], r15d
je 0x1402f53a0
cmp dword [rbx + 0x3c], r15d
jne 0x1402f5665
movsxd rbp, esi
add rbp, rbp
nop dword [rax + rax]
cmp dword [rdi + rbp*8 + 0x24], r15d
jle 0x1402f5665
lea r9, [rsp + 0x88]
mov dword [rsp + 0x88], 0x3e8
mov r8d, esi
lea rdx, [rsp + 0x20]
mov rcx, rbx
call fcn.1402e6de0
mov rdi, qword [rsp + 0x20]
cmp dword [rbx + 0x3c], r15d
je 0x1402f53c0
jmp 0x1402f5665
lea r8, [0x1403ea434]
mov r9, rbx
sub r9, r8
nop dword [rax + rax]
movzx edx, byte [r8]
movzx eax, byte [r9 + r8]
cmp edx, eax
jne 0x1402f5426
test edx, edx
je 0x1402f543f
inc r8
jmp 0x1402f5410
movzx ecx, byte [rax + rbp]
movzx edx, byte [rdx + rbp]
sub edx, ecx
jne 0x1402f5437
inc r8
jmp 0x1402f5410
test edx, edx
jne 0x1402f5689
mov rcx, rsi
call fcn.14028c300
mov rcx, qword [rdi + 0x28]
mov esi, eax
mov dword [rsp + 0x88], eax
mov rbx, qword [rcx + 8]
mov ecx, dword [rbx + 0x40]
test ecx, ecx
je 0x1402f5464
mov dword [rbx + 0x3c], ecx
jmp 0x1402f54a1
cmp dword [rbx + 0x20], r15d
jne 0x1402f5470
cmp dword [rbx + 0x34], r15d
je 0x1402f54a1
mov rcx, rbx
call fcn.1402e2ef0
mov eax, dword [rbx + 0x3c]
test eax, eax
jne 0x1402f5492
mov rcx, qword [rbx + 0x18]
call fcn.14035a910
mov dword [rbx + 0x20], r15d
mov qword [rbx + 0x34], r15
jmp 0x1402f54a1
cmp dword [rbx + 0x20], r15d
jne 0x1402f549e
cmp dword [rbx + 0x34], r15d
je 0x1402f54a1
mov dword [rbx + 0x40], eax
cmp qword [rbx + 0xa0], r15
jne 0x1402f54d2
mov rcx, rbx
call fcn.1402e4bc0
mov qword [rbx + 0x98], rax
cmp dword [rbx + 0x3c], r15d
jne 0x1402f5678
mov rcx, rbx
call fcn.1402f7f30
mov qword [rbx + 0xa0], rax
cmp dword [rbx + 0x3c], r15d
jne 0x1402f5678
mov rax, qword [rbx + 0xa0]
inc dword [rax]
mov rdi, qword [rbx + 0xa0]
mov qword [rsp + 0x20], rdi
test rdi, rdi
je 0x1402f5678
mov rax, qword [rbx]
mov qword [rsp + 0x38], r13
mov r13, rdi
mov qword [rsp + 0x30], r14
mov ebp, dword [rax + 0x9c]
dec dword [rdi]
cmp dword [rdi], r15d
jg 0x1402f5607
mov rcx, qword [0x1404b8660]
mov qword [rsp + 0x78], r12
mov r12d, r15d
cmp dword [rdi + 0x1c], r15d
jle 0x1402f55ae
lea r15, [rdi + 0x28]
mov rsi, qword [r15]
test rsi, rsi
je 0x1402f5597
cmp dword [reloc.SinoSPE.dll_Ordinal_1], 0
je 0x1402f5587
test rcx, rcx
je 0x1402f5550
call qword [0x1404a5bd0]
mov rcx, rsi
call qword [0x1404a5b88]
dec qword [0x1404b85e8]
mov rcx, rsi
movsxd rdx, eax
sub qword [0x1404b85a0], rdx
call qword [0x1404a5b78]
mov rcx, qword [0x1404b8660]
test rcx, rcx
je 0x1402f5597
call qword [0x1404a5be0]
jmp 0x1402f5590
mov rcx, rsi
call qword [0x1404a5b78]
mov rcx, qword [0x1404b8660]
inc r12d
add r15, 0x10
cmp r12d, dword [rdi + 0x1c]
jl 0x1402f5534
mov esi, dword [rsp + 0x88]
xor r15d, r15d
cmp dword [reloc.SinoSPE.dll_Ordinal_1], 0
mov r12, qword [rsp + 0x78]
je 0x1402f55fe
test rcx, rcx
je 0x1402f55c7
call qword [0x1404a5bd0]
mov rcx, rdi
call qword [0x1404a5b88]
dec qword [0x1404b85e8]
mov rcx, rdi
movsxd rdx, eax
sub qword [0x1404b85a0], rdx
call qword [0x1404a5b78]
mov rcx, qword [0x1404b8660]
test rcx, rcx
je 0x1402f5607
call qword [0x1404a5be0]
jmp 0x1402f5607
mov rcx, rdi
call qword [0x1404a5b78]
mov r14, qword [rsp + 0x30]
mov qword [rbx + 0xa0], r15
test esi, esi
jns 0x1402f5639
mov rdx, r13
mov rcx, rbx
call fcn.1402e8180
mov rcx, r13
mov rdi, rax
call fcn.1402f8130
neg esi
mov qword [rsp + 0x20], rdi
mov ebp, 1
mov r13, qword [rsp + 0x38]
test rdi, rdi
je 0x1402f5670
cmp dword [rdi + 0x1c], 0
je 0x1402f5670
mov r9d, ebp
lea rdx, [rsp + 0x20]
mov r8d, esi
mov rcx, rbx
call fcn.1402e6ca0
mov rdi, qword [rsp + 0x20]
test eax, eax
je 0x1402f5670
mov rdx, rdi
mov rcx, rbx
call fcn.1402f8260
mov rcx, rdi
call fcn.1402f8130
mov eax, dword [rbx + 0x3c]
mov rdi, qword [rsp + 0x70]
mov dword [rbx + 0x3c], r15d
jmp 0x1402f5786
lea r8, [0x1403ec6c8]
mov r9, rbx
sub r9, r8
nop word [rax + rax]
movzx edx, byte [r8]
movzx eax, byte [r9 + r8]
cmp edx, eax
jne 0x1402f56b6
test edx, edx
je 0x1402f56cb
inc r8
jmp 0x1402f56a0
movzx ecx, byte [rax + rbp]
movzx edx, byte [rdx + rbp]
sub edx, ecx
jne 0x1402f56c7
inc r8
jmp 0x1402f56a0
test edx, edx
jne 0x1402f56e3
mov rcx, rsi
call fcn.14028c300
mov rcx, qword [rdi + 0x28]
mov edx, eax
call fcn.140360520
jmp 0x1402f5786
lea rdx, str.flush
mov r9, rbx
sub r9, rdx
movzx ecx, byte [rdx]
movzx r8d, byte [rdx + r9]
cmp ecx, r8d
jne 0x1402f5706
test ecx, ecx
je 0x1402f571c
inc rdx
jmp 0x1402f56f0
movzx ecx, byte [rcx + rbp]
movzx eax, byte [r8 + rbp]
sub ecx, eax
jne 0x1402f5718
inc rdx
jmp 0x1402f56f0
test ecx, ecx
jne 0x1402f5726
mov rcx, rdi
call fcn.14035a500
jmp 0x1402f5786
mov rcx, rdi
call fcn.14035a500
test eax, eax
jne 0x1402f57a2
mov rcx, qword [rdi + 0x20]
call fcn.14035c7a0
test eax, eax
jne 0x1402f57a2
mov rcx, qword [rdi + 0x18]
lea r9, [rsp + 0x88]
mov r8, rsi
mov rdx, rbx
call fcn.140359330
test eax, eax
jne 0x1402f57a2
cmp dword [rsp + 0x88], r15d
je 0x1402f5774
mov eax, 1
add rsp, 0x40
pop r15
pop rdi
pop rsi
pop rbp
pop rbx
ret
mov rcx, qword [rdi + 0x28]
xor r9d, r9d
mov r8, rsi
mov rdx, rbx
call fcn.14035f650
test eax, eax
jne 0x1402f57a2
test r15d, r15d
je 0x1402f57a2
mov rax, qword [rdi + 0x18]
dec dword [rax + 0x8c]
mov rcx, qword [rdi + 0x20]
call fcn.14035c7a0
add rsp, 0x40
pop r15
pop rdi
pop rsi
pop rbp
pop rbx
ret