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

Disassembly:
push r15
push r14
push r13
push r12
push rbp
push rdi
push rsi
push rbx
sub rsp, 0x78
mov rax, qword [rdx + 0x148]
mov r15d, dword [rdx + 0x34]
mov ebp, dword [rdx + 0x38]
mov rdi, qword [rcx]
mov qword [rcx + 0xb0], rax
mov rbx, rcx
mov r12, rdx
movzx eax, word [rdx + 0x130]
mov qword [rdx + 0x148], 0
add ebp, r15d
test r15d, r15d
mov word [rsp + 0x2e], ax
mov eax, dword [rdx + 0x88]
mov dword [rsp + 0x6c], eax
jne 0x140259bd1
test ebp, ebp
setg al
cmp al, 1
sbb ebp, 0xffffffff
mov eax, dword [rbx + 0x90]
lea rdx, [rsp + 0x6c]
mov rcx, rbx
mov esi, dword [r12 + 0x3c]
lea eax, [rax + rax*2]
shl eax, 3
sub esi, eax
movsxd r14, eax
add r14, qword [rbx + 0x88]
call sym.resolveP2Values
and esi, 0xfffffff8
xor eax, eax
cmp byte [r12 + 0x20], 0
movsxd rsi, esi
je 0x140259c14
cmp byte [r12 + 0x21], 0
setne al
shl eax, 5
mov edx, eax
movzx eax, byte [rbx + 0xc8]
and eax, 0xffffffdf
or eax, edx
mov byte [rbx + 0xc8], al
movzx edx, byte [r12 + 0x133]
test dl, dl
je 0x140259df3
mov ecx, 0xa
mov r12, qword [rbx]
cmp ebp, ecx
cmovl ebp, ecx
mov ecx, edx
and eax, 0xfffffff3
and ecx, 3
shl ecx, 2
or eax, ecx
cmp dl, 2
mov byte [rbx + 0xc8], al
movzx eax, word [rbx + 0xc0]
je 0x14025a090
test ax, ax
je 0x140259c99
mov rcx, qword [rbx + 0x98]
test rcx, rcx
je 0x140259c99
lea edx, [rax + rax*4]
call sym.releaseMemArray.part.0
mov rdx, qword [rbx + 0x98]
test rdx, rdx
je 0x140259c99
mov rcx, r12
call sym.sqlite3DbFreeNN
mov eax, 8
mov edx, 0x8c0
mov rcx, r12
mov word [rbx + 0xc0], ax
call sym.sqlite3DbMallocRawNN
test rax, rax
mov qword [rbx + 0x98], rax
je 0x140259ce7
lea rdx, [rax + 0x8c0]
nop dword [rax]
mov r13d, 1
mov qword [rax + 0x18], r12
add rax, 0x38
mov word [rax - 0x24], r13w
mov dword [rax - 0x18], 0
cmp rdx, rax
jne 0x140259cc8
mov dword [rsp + 0x38], 8
xor r12d, r12d
add r12d, 1
xor r13d, r13d
mov qword [rsp + 0x48], rsi
mov rsi, rbx
movsxd r12, r12d
mov rbx, r13
mov qword [rsp + 0x40], r14
mov dword [rsp + 0x58], ebp
mov r13, r12
mov qword [rsp + 0x50], rdi
mov dword [rsp + 0x5c], r15d
lea rax, [0x14033a358]
mov rdi, qword [rax + r13*8]
mov rax, qword [rsi]
cmp byte [rax + 0x67], 0
jne 0x140259dd8
mov r12, qword [rsi + 0x98]
add r12, rbx
movzx ebp, word [r12 + 0x14]
and bp, 0x9000
test rdi, rdi
je 0x140259ff0
mov r14, qword [r12 + 0x18]
mov r15d, 0x3b9aca00
test r14, r14
je 0x140259d6a
movsxd r15, dword [r14 + 0x88]
mov rcx, rdi
call sym.strlen
cmp rax, r15
jg 0x14025a010
test bp, bp
jne 0x140259d8a
mov r11d, dword [r12 + 0x20]
test r11d, r11d
je 0x140259d9c
mov rcx, r12
mov qword [rsp + 0x30], rax
call sym.vdbeMemClear
mov rax, qword [rsp + 0x30]
mov r10d, 0x2202
mov qword [r12 + 8], rdi
mov qword [r12 + 0x30], 0
mov dword [r12 + 0x10], eax
mov word [r12 + 0x14], r10w
mov byte [r12 + 0x16], 1
cmp dword [rsp + 0x38], r13d
jle 0x140259dd8
add r13, 1
add rbx, 0x38
jmp 0x140259d1d
mov rbx, rsi
mov r14, qword [rsp + 0x40]
mov ebp, dword [rsp + 0x58]
mov rdi, qword [rsp + 0x50]
mov r15d, dword [rsp + 0x5c]
mov rsi, qword [rsp + 0x48]
and byte [rbx + 0xc8], 0xfc
movsxd r9, ebp
imul r9, r9, 0x38
cmp rsi, r9
jl 0x14025a080
sub rsi, r9
xor edx, edx
lea rax, [r14 + rsi]
movsx r8, word [rsp + 0x2e]
mov qword [rbx + 0x68], rax
imul r8, r8, 0x38
cmp r8, rsi
jg 0x14025a070
sub rsi, r8
lea rcx, [r14 + rsi]
movsxd r13, dword [rsp + 0x6c]
mov qword [rbx + 0x80], rcx
shl r13, 3
cmp r13, rsi
jg 0x14025a060
sub rsi, r13
lea r10, [r14 + rsi]
movsxd r12, r15d
mov qword [rbx + 0x70], r10
shl r12, 3
cmp r12, rsi
jg 0x14025a050
sub rsi, r12
add rsi, r14
test rdx, rdx
mov qword [rbx + 0x78], rsi
jne 0x140259ee0
cmp byte [rdi + 0x67], 0
je 0x140259f64
xor r9d, r9d
mov qword [rbx + 0x24], 0
mov word [rbx + 0x20], r9w
mov eax, 0xffffff02
mov byte [rbx + 0xc5], 1
mov word [rbx + 0xc2], ax
movabs rax, 0xffffffff00000001
mov qword [rbx + 0x2c], rax
mov qword [rbx + 0x34], 0
mov qword [rbx + 0x3c], 0
mov qword [rbx + 0x50], 0
add rsp, 0x78
pop rbx
pop rsi
pop rdi
pop rbp
pop r12
pop r13
pop r14
pop r15
ret
mov rcx, rdi
mov qword [rsp + 0x40], r8
mov qword [rsp + 0x38], r9
mov qword [rsp + 0x30], rdx
call sym.sqlite3DbMallocRawNN
mov rdx, qword [rsp + 0x30]
mov qword [rbx + 0x100], rax
cmp byte [rdi + 0x67], 0
mov r10, rax
mov r9, qword [rsp + 0x38]
mov r8, qword [rsp + 0x40]
jne 0x140259e7e
mov rax, qword [rbx + 0x68]
test rax, rax
je 0x14025a1a8
mov rcx, qword [rbx + 0x80]
mov qword [rbx + 0x68], rax
test rcx, rcx
je 0x14025a190
mov r8, qword [rbx + 0x70]
mov qword [rbx + 0x80], rcx
test r8, r8
je 0x14025a178
mov rsi, qword [rbx + 0x78]
mov qword [rbx + 0x70], r8
test rsi, rsi
je 0x14025a160
mov qword [rbx + 0x78], rsi
movzx edx, word [rsp + 0x2e]
mov dword [rbx + 0x28], r15d
test dx, dx
mov word [rbx + 0x20], dx
jle 0x140259fa7
movsx edx, word [rsp + 0x2e]
imul rdx, rdx, 0x38
add rdx, rcx
nop word [rax + rax]
mov r8d, 1
mov qword [rcx + 0x18], rdi
add rcx, 0x38
mov word [rcx - 0x24], r8w
mov dword [rcx - 0x18], 0
cmp rdx, rcx
jne 0x140259f88
test ebp, ebp
mov dword [rbx + 0x24], ebp
jle 0x140259fda
mov ebp, ebp
imul rbp, rbp, 0x38
add rbp, rax
nop word [rax + rax]
xor edx, edx
mov qword [rax + 0x18], rdi
add rax, 0x38
mov word [rax - 0x24], dx
mov dword [rax - 0x18], 0
cmp rbp, rax
jne 0x140259fc0
mov r8, r12
xor edx, edx
mov rcx, rsi
call sub.msvcrt.dll_memset
jmp 0x140259e8e
test bp, bp
jne 0x14025a110
mov ebp, 1
mov word [r12 + 0x14], bp
jmp 0x140259dc1
test bp, bp
jne 0x14025a120
mov edi, 1
mov word [r12 + 0x14], di
test r14, r14
je 0x140259dc1
mov rax, qword [r14 + 0x160]
test rax, rax
je 0x140259dc1
add dword [rax + 0x30], 1
mov dword [rax + 0x18], 0x12
jmp 0x140259dc1
add rdx, r12
xor esi, esi
jmp 0x140259e6b
add rdx, r13
xor r10d, r10d
jmp 0x140259e51
add rdx, r8
xor ecx, ecx
jmp 0x140259e31
mov rdx, r9
xor eax, eax
jmp 0x140259e13
test ax, ax
je 0x14025a0a5
mov rcx, qword [rbx + 0x98]
test rcx, rcx
jne 0x14025a132
mov r8d, 4
mov edx, 0x460
mov rcx, r12
mov word [rbx + 0xc0], r8w
call sym.sqlite3DbMallocRawNN
test rax, rax
mov qword [rbx + 0x98], rax
je 0x14025a0f5
lea rdx, [rax + 0x460]
nop dword [rax + rax]
mov ecx, 1
mov qword [rax + 0x18], r12
add rax, 0x38
mov word [rax - 0x24], cx
mov dword [rax - 0x18], 0
cmp rdx, rax
jne 0x14025a0d8
mov dword [rsp + 0x38], 0xc
mov r12d, 8
jmp 0x140259cf2
mov rcx, r12
call sym.vdbeMemClearExternAndSetNull
jmp 0x140259dc1
mov rcx, r12
call sym.vdbeMemClearExternAndSetNull
mov r14, qword [r12 + 0x18]
jmp 0x14025a024
lea edx, [rax + rax*4]
call sym.releaseMemArray.part.0
mov rdx, qword [rbx + 0x98]
test rdx, rdx
je 0x14025a0a5
mov rcx, r12
call sym.sqlite3DbFreeNN
jmp 0x14025a0a5
mov r8, rdx
sub r8, r12
add r10, r8
cmp r12, rdx
cmovle rsi, r10
jmp 0x140259f60
cmp r13, rdx
jg 0x140259f4f
sub rdx, r13
lea r8, [r10 + rdx]
jmp 0x140259f4f
cmp r8, rdx
jg 0x140259f3b
sub rdx, r8
lea rcx, [r10 + rdx]
jmp 0x140259f3b
cmp r9, rdx
jg 0x140259f27
sub rdx, r9
lea rax, [r10 + rdx]
jmp 0x140259f27