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

Disassembly:
mov qword [rsp + 0x10], rbx
mov qword [rsp + 0x18], rbp
push rsi
push rdi
push r12
push r14
push r15
sub rsp, 0x30
mov rdi, qword [rcx]
mov r14d, r9d
mov rsi, r8
mov r12, rdx
mov rbx, rcx
test r8, r8
je 0x14023eed9
cmp dword [r8 + 8], 0
jbe 0x14023eed9
cmp byte [rdi + 0x99], 0
je 0x14023eeae
lea rdx, str.corrupt_database
call fcn.140204930
inc dword [rbx + 0x50]
jmp 0x14023f04d
mov rcx, rdi
mov r15, r8
call fcn.14023ec90
mov ebp, eax
test eax, eax
jns 0x14023eee3
lea rdx, str.unknown_database__T
mov r8, r12
mov rcx, rbx
call fcn.140204930
inc dword [rbx + 0x50]
jmp 0x14023f04d
movzx ebp, byte [rdi + 0x98]
mov r15, rdx
test ebp, ebp
js 0x14023f04d
mov r12d, 1
test r14d, r14d
je 0x14023ef18
cmp dword [rsi + 8], 0
jbe 0x14023ef15
cmp ebp, r12d
je 0x14023ef15
lea rdx, str.temporary_table_name_must_be_unqualified
mov rcx, rbx
call fcn.140204930
jmp 0x14023f04d
mov ebp, r12d
movups xmm0, xmmword [r15]
mov rcx, rdi
movups xmmword [rbx + 0x238], xmm0
mov r8d, dword [r15 + 8]
mov rdx, qword [r15]
call fcn.140202200
mov rcx, rax
mov rsi, rax
call fcn.1402049a0
test rsi, rsi
je 0x14023f04d
mov rdx, rsi
mov rcx, rbx
call fcn.14023ed80
test eax, eax
jne 0x14023f042
cmp byte [rdi + 0x98], r12b
mov rax, qword [rdi + 0x20]
lea rcx, str.sqlite_master
cmove r14d, r12d
movsxd r12, ebp
lea r8, str.sqlite_temp_master
shl r12, 5
cmp r14d, 1
mov rax, qword [r12 + rax]
cmovne r8, rcx
xor r9d, r9d
lea edx, [r9 + 0x12]
mov rcx, rbx
mov qword [rsp + 0x60], rax
mov qword [rsp + 0x20], rax
call fcn.14023d910
test eax, eax
jne 0x14023f042
cmp dword [rsp + 0x80], 0
mov eax, 4
je 0x14023efc1
lea edx, [rax + 4]
lea eax, [rdx - 2]
jmp 0x14023efc6
mov edx, 2
test r14d, r14d
cmovne edx, eax
cmp dword [rsp + 0x88], 0
jne 0x14023eff2
mov rax, qword [rsp + 0x60]
xor r9d, r9d
mov r8, rsi
mov rcx, rbx
mov qword [rsp + 0x20], rax
call fcn.14023d910
test eax, eax
jne 0x14023f042
cmp byte [rbx + 0x1f3], 0
jne 0x14023f08f
mov rax, qword [rdi + 0x20]
mov rcx, rbx
mov r14, qword [r12 + rax]
call fcn.140258130
test eax, eax
jne 0x14023f042
mov r8, r14
mov rdx, rsi
mov rcx, rdi
call fcn.14023e120
test rax, rax
je 0x14023f06d
cmp dword [rsp + 0x90], 0
mov rcx, rbx
jne 0x14023f064
mov r8, r15
lea rdx, str.table__T_already_exists
call fcn.140204930
mov rdx, rsi
mov rcx, rdi
call fcn.140201d40
mov rbx, qword [rsp + 0x68]
mov rbp, qword [rsp + 0x70]
add rsp, 0x30
pop r15
pop r14
pop r12
pop rdi
pop rsi
ret
mov edx, ebp
call fcn.1402441e0
jmp 0x14023f042
mov r8, r14
mov rdx, rsi
mov rcx, rdi
call fcn.14023e390
test rax, rax
je 0x14023f08f
mov r8, rsi
lea rdx, str.there_is_already_an_index_named__s
mov rcx, rbx
jmp 0x14023f03d
mov edx, 0x80
mov rcx, rdi
call fcn.140201fd0
mov r14, rax
test rax, rax
jne 0x14023f0b4
mov byte [rdi + 0x50], 1
inc dword [rbx + 0x50]
mov dword [rbx + 0x18], 7
jmp 0x14023f042
mov qword [rax], rsi
or eax, 0xffffffff
mov word [r14 + 0x40], ax
mov rax, qword [rdi + 0x20]
mov rcx, qword [r12 + rax + 0x18]
mov dword [r14 + 0x38], 0x100000
mov eax, 1
mov qword [r14 + 0x70], rcx
mov word [r14 + 0x44], ax
cmp byte [rbx + 0x1e], 0
mov qword [rbx + 0x220], r14
jne 0x14023f106
lea rdx, str.sqlite_sequence
mov rcx, rsi
call fcn.1402a2650
test eax, eax
jne 0x14023f106
mov rax, qword [r14 + 0x70]
mov qword [rax + 0x68], r14
cmp byte [rdi + 0x99], 0
jne 0x14023f04d
mov rcx, rbx
call fcn.14025c060
mov rsi, rax
test rax, rax
je 0x14023f04d
mov r8d, ebp
xor edx, edx
mov rcx, rbx
call fcn.140244380
cmp dword [rsp + 0x88], 0
je 0x14023f159
xor r9d, r9d
xor r8d, r8d
mov edx, 0x8c
mov rcx, rsi
mov dword [rsp + 0x20], 0
call fcn.140221790
mov r12d, dword [rbx + 0x58]
mov r8d, ebp
mov edx, 0x32
inc r12d
mov rcx, rsi
mov dword [rsp + 0x20], 2
lea r14d, [r12 + 1]
mov dword [rbx + 0x1a0], r12d
lea r15d, [r14 + 1]
mov dword [rbx + 0x1a4], r14d
mov r9d, r15d
mov dword [rbx + 0x58], r15d
call fcn.140221790
mov edx, ebp
mov rcx, rsi
call fcn.140222520
xor r9d, r9d
mov r8d, r15d
lea edx, [r9 + 0x2c]
mov rcx, rsi
mov dword [rsp + 0x20], 0
call fcn.140221790
test dword [rdi + 0x2c], 0x8000
mov ecx, 1
mov r8d, 4
lea edx, [rcx + 0x18]
mov r9d, r15d
cmovne r8d, ecx
mov rcx, rsi
mov dword [rsp + 0x60], eax
mov dword [rsp + 0x20], 0
call fcn.140221790
mov r9d, 2
lea edx, [r9 + 0x31]
mov r8d, ebp
mov rcx, rsi
mov dword [rsp + 0x20], r15d
call fcn.140221790
mov rax, qword [rdi + 0x20]
mov rcx, qword [rax + 0x18]
xor edi, edi
mov r9d, r15d
movzx r8d, byte [rcx + 0x71]
lea edx, [rdi + 0x19]
mov rcx, rsi
mov dword [rsp + 0x20], edi
call fcn.140221790
lea r9d, [rdi + 5]
lea edx, [rdi + 0x33]
mov r8d, ebp
mov rcx, rsi
mov dword [rsp + 0x20], r15d
call fcn.140221790
mov edx, dword [rsi + 0x3c]
mov eax, dword [rsp + 0x60]
cmp edx, eax
jbe 0x14023f253
lea rcx, [rax + rax*2]
mov rax, qword [rsi + 8]
mov dword [rax + rcx*8 + 8], edx
mov ecx, dword [rsi + 0x3c]
mov rax, qword [rsi + 0x30]
dec ecx
mov dword [rax + 0x68], ecx
cmp dword [rsp + 0x80], edi
jne 0x14023f290
cmp dword [rsp + 0x88], edi
jne 0x14023f290
mov r9d, r14d
mov r8d, ebp
mov edx, 0x75
mov rcx, rsi
mov dword [rsp + 0x20], edi
call fcn.140221790
mov dword [rbx + 0x1d0], eax
jmp 0x14023f2a6
xor r8d, r8d
mov r9d, r14d
mov rcx, rsi
lea edx, [r8 + 0x19]
mov dword [rsp + 0x20], edi
call fcn.140221790
mov edx, ebp
mov rcx, rbx
call fcn.14023eb30
xor r8d, r8d
mov r9d, r12d
lea edx, [r8 + 0x45]
mov rcx, rsi
mov dword [rsp + 0x20], edi
call fcn.140221790
xor r8d, r8d
mov r9d, r15d
lea edx, [r8 + 0x1c]
mov rcx, rsi
mov dword [rsp + 0x20], edi
call fcn.140221790
xor r8d, r8d
mov r9d, r15d
lea edx, [r8 + 0x46]
mov rcx, rsi
mov dword [rsp + 0x20], r12d
call fcn.140221790
mov rdx, qword [rsi + 8]
test rdx, rdx
je 0x14023f309
movsxd rax, dword [rsi + 0x3c]
lea rcx, [rax + rax*2]
mov byte [rdx + rcx*8 - 0x15], 8
xor r9d, r9d
xor r8d, r8d
mov rcx, rsi
lea edx, [r9 + 0x3a]
mov dword [rsp + 0x20], edi
call fcn.140221790
jmp 0x14023f04d