Function at 0x14033c410
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 0x14033c471
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 0x14033c4b4
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 0x14033c693
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 0x14033c930
test ax, ax
je 0x14033c539
mov rcx, qword [rbx + 0x98]
test rcx, rcx
je 0x14033c539
lea edx, [rax + rax*4]
call sym.releaseMemArray.part.0
mov rdx, qword [rbx + 0x98]
test rdx, rdx
je 0x14033c539
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 0x14033c587
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 0x14033c568
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, [0x14047c758]
mov rdi, qword [rax + r13*8]
mov rax, qword [rsi]
cmp byte [rax + 0x67], 0
jne 0x14033c678
mov r12, qword [rsi + 0x98]
add r12, rbx
movzx ebp, word [r12 + 0x14]
and bp, 0x9000
test rdi, rdi
je 0x14033c890
mov r14, qword [r12 + 0x18]
mov r15d, 0x3b9aca00
test r14, r14
je 0x14033c60a
movsxd r15, dword [r14 + 0x88]
mov rcx, rdi
call sym.strlen
cmp rax, r15
jg 0x14033c8b0
test bp, bp
jne 0x14033c62a
mov r11d, dword [r12 + 0x20]
test r11d, r11d
je 0x14033c63c
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 0x14033c678
add r13, 1
add rbx, 0x38
jmp 0x14033c5bd
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 0x14033c920
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 0x14033c910
sub rsi, r8
lea rcx, [r14 + rsi]
movsxd r13, dword [rsp + 0x6c]
mov qword [rbx + 0x80], rcx
shl r13, 3
cmp r13, rsi
jg 0x14033c900
sub rsi, r13
lea r10, [r14 + rsi]
movsxd r12, r15d
mov qword [rbx + 0x70], r10
shl r12, 3
cmp r12, rsi
jg 0x14033c8f0
sub rsi, r12
add rsi, r14
test rdx, rdx
mov qword [rbx + 0x78], rsi
jne 0x14033c780
cmp byte [rdi + 0x67], 0
je 0x14033c804
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 0x14033c71e
mov rax, qword [rbx + 0x68]
test rax, rax
je 0x14033ca48
mov rcx, qword [rbx + 0x80]
mov qword [rbx + 0x68], rax
test rcx, rcx
je 0x14033ca30
mov r8, qword [rbx + 0x70]
mov qword [rbx + 0x80], rcx
test r8, r8
je 0x14033ca18
mov rsi, qword [rbx + 0x78]
mov qword [rbx + 0x70], r8
test rsi, rsi
je 0x14033ca00
mov qword [rbx + 0x78], rsi
movzx edx, word [rsp + 0x2e]
mov dword [rbx + 0x28], r15d
test dx, dx
mov word [rbx + 0x20], dx
jle 0x14033c847
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 0x14033c828
test ebp, ebp
mov dword [rbx + 0x24], ebp
jle 0x14033c87a
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 0x14033c860
mov r8, r12
xor edx, edx
mov rcx, rsi
call sub.msvcrt.dll_memset
jmp 0x14033c72e
test bp, bp
jne 0x14033c9b0
mov ebp, 1
mov word [r12 + 0x14], bp
jmp 0x14033c661
test bp, bp
jne 0x14033c9c0
mov edi, 1
mov word [r12 + 0x14], di
test r14, r14
je 0x14033c661
mov rax, qword [r14 + 0x160]
test rax, rax
je 0x14033c661
add dword [rax + 0x30], 1
mov dword [rax + 0x18], 0x12
jmp 0x14033c661
add rdx, r12
xor esi, esi
jmp 0x14033c70b
add rdx, r13
xor r10d, r10d
jmp 0x14033c6f1
add rdx, r8
xor ecx, ecx
jmp 0x14033c6d1
mov rdx, r9
xor eax, eax
jmp 0x14033c6b3
test ax, ax
je 0x14033c945
mov rcx, qword [rbx + 0x98]
test rcx, rcx
jne 0x14033c9d2
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 0x14033c995
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 0x14033c978
mov dword [rsp + 0x38], 0xc
mov r12d, 8
jmp 0x14033c592
mov rcx, r12
call sym.vdbeMemClearExternAndSetNull
jmp 0x14033c661
mov rcx, r12
call sym.vdbeMemClearExternAndSetNull
mov r14, qword [r12 + 0x18]
jmp 0x14033c8c4
lea edx, [rax + rax*4]
call sym.releaseMemArray.part.0
mov rdx, qword [rbx + 0x98]
test rdx, rdx
je 0x14033c945
mov rcx, r12
call sym.sqlite3DbFreeNN
jmp 0x14033c945
mov r8, rdx
sub r8, r12
add r10, r8
cmp r12, rdx
cmovle rsi, r10
jmp 0x14033c800
cmp r13, rdx
jg 0x14033c7ef
sub rdx, r13
lea r8, [r10 + rdx]
jmp 0x14033c7ef
cmp r8, rdx
jg 0x14033c7db
sub rdx, r8
lea rcx, [r10 + rdx]
jmp 0x14033c7db
cmp r9, rdx
jg 0x14033c7c7
sub rdx, r9
lea rax, [r10 + rdx]
jmp 0x14033c7c7