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

Disassembly:
push rbp
push rbx
push rsi
push r12
push r13
push r14
push r15
lea rbp, [rsp - 0x160]
sub rsp, 0x260
mov rax, qword [0x14034be80]
xor rax, rsp
mov qword [rbp + 0x140], rax
mov rax, qword [rbp + 0x1d0]
xor r12d, r12d
mov qword [rsp + 0x50], r9
mov r15, r8
mov qword [rsp + 0x70], r8
mov rbx, rdx
mov qword [rsp + 0x78], rdx
mov r13, rcx
mov qword [rbp - 0x80], rax
mov r14d, r12d
mov dword [rsp + 0x38], r12d
mov esi, r12d
mov dword [rsp + 0x30], r12d
mov qword [rsp + 0x40], r12
test rax, rax
jne 0x14014e0c4
mov r9d, 0x183c6
jmp 0x14014e0ea
mov qword [rax], r12
test r13, r13
jne 0x14014e135
lea r8, str.NULL
lea rdx, str.API_call_with__s_database_connection_pointer
mov ecx, 0x15
call fcn.140153280
mov r9d, 0x183cc
lea rax, [0x1402a8d34]
mov ecx, 0x15
lea r8, str.misuse
mov qword [rsp + 0x20], rax
lea rdx, str._s_at_line__d_of___.10s_
call fcn.140153280
mov eax, 0x15
mov rcx, qword [rbp + 0x140]
xor rcx, rsp
call fcn.140285090
add rsp, 0x260
pop r15
pop r14
pop r13
pop r12
pop rsi
pop rbx
pop rbp
ret
movzx eax, byte [rcx + 0x71]
cmp al, 0x76
je 0x14014e15a
cmp al, 0xba
je 0x14014e14e
cmp al, 0x6d
je 0x14014e14e
lea r8, str.invalid
jmp 0x14014e0d3
lea r8, str.unopened
jmp 0x14014e0d3
test r8, r8
je 0x14014e0e4
cmp dword [rbp + 0x1c8], r12d
mov eax, r12d
mov rcx, qword [rcx + 0x18]
setne al
mov qword [rsp + 0x258], rdi
mov dword [rsp + 0x34], eax
test rcx, rcx
je 0x14014e187
call qword [0x1403430d0]
mov edx, 0x38
mov rcx, r13
call fcn.140203150
mov qword [rsp + 0x60], rax
mov rdi, rax
test rax, rax
je 0x14014e1c0
xorps xmm0, xmm0
xor eax, eax
movups xmmword [rdi], xmm0
movups xmmword [rdi + 0x10], xmm0
movups xmmword [rdi + 0x20], xmm0
mov qword [rdi + 0x30], rax
nop word [rax + rax]
xor edx, edx
lea rcx, [rbp - 0x68]
mov r8d, 0xdc
call sub.VCRUNTIME140.dll_memset
xorps xmm0, xmm0
mov qword [rbp - 0x70], r13
xor eax, eax
mov qword [rbp + 0x130], rax
mov rax, qword [r13 + 0x160]
mov qword [rbp + 0x98], rax
lea rax, [rbp - 0x70]
mov qword [r13 + 0x160], rax
movups xmmword [rbp + 0xb0], xmm0
movups xmmword [rbp + 0xc0], xmm0
movups xmmword [rbp + 0xd0], xmm0
movups xmmword [rbp + 0xe0], xmm0
movups xmmword [rbp + 0xf0], xmm0
movups xmmword [rbp + 0x100], xmm0
movups xmmword [rbp + 0x110], xmm0
movups xmmword [rbp + 0x120], xmm0
cmp byte [r13 + 0x67], r12b
je 0x14014e248
lea rdx, str.out_of_memory
lea rcx, [rbp - 0x70]
call fcn.140205cd0
test rdi, rdi
je 0x14014e744
test rsi, rsi
je 0x14014e261
mov rdx, rsi
mov rcx, r13
call fcn.140202fc0
mov qword [rsp + 0x40], r12
mov qword [rsp + 0x48], r12
cmp byte [r13 + 0x6f], r12b
jne 0x14014e279
mov rcx, r13
call fcn.14017db20
mov r9, rbx
lea rcx, [rbp - 0x70]
mov r8, r15
xor edx, edx
call fcn.14022a0e0
mov qword [rsp + 0x58], rax
mov rbx, rax
test rax, rax
je 0x14014e72e
movzx eax, byte [rax + 0x3f]
cmp al, 1
je 0x14014e71b
test byte [rbx + 0x30], 0x80
jne 0x14014e712
cmp al, 2
je 0x14014e709
mov qword [rdi + 0x30], rbx
mov rcx, 0xffffffffffff8000
mov rdx, qword [rbx + 0x60]
test rdx, rdx
je 0x14014e2ec
mov rax, qword [r13 + 0x20]
mov rcx, r12
add rax, 0x18
cmp qword [rax], rdx
je 0x14014e2ec
nop dword [rax]
inc rcx
lea rax, [rax + 0x20]
cmp qword [rax], rdx
jne 0x14014e2e0
mov rax, qword [r13 + 0x20]
mov r15d, r12d
mov rsi, qword [rsp + 0x50]
shl rcx, 5
mov rcx, qword [rcx + rax]
mov qword [rdi + 0x28], rcx
movsx r10d, word [rbx + 0x36]
test r10d, r10d
jle 0x14014e363
mov r11, qword [rbx + 8]
movsxd rax, r15d
mov r9, rsi
lea rcx, [rax + rax*2]
mov r8, qword [r11 + rcx*8]
sub r9, r8
movzx eax, byte [r8]
movzx ecx, byte [r9 + r8]
cmp eax, ecx
jne 0x14014e339
test eax, eax
je 0x14014e363
inc r8
jmp 0x14014e323
lea rdx, [0x14029c680]
movzx edx, byte [rcx + rdx]
mov rcx, rax
lea rax, [0x14029c680]
movzx eax, byte [rcx + rax]
cmp eax, edx
jne 0x14014e35b
inc r8
jmp 0x14014e323
inc r15d
cmp r15d, r10d
jl 0x14014e312
cmp r15d, r10d
je 0x14014e6fd
cmp dword [rbp + 0x1c8], r12d
je 0x14014e413
mov eax, dword [r13 + 0x30]
mov r9, r12
bt rax, 0xe
jae 0x14014e3c4
mov r8, qword [rbx + 0x48]
test r8, r8
je 0x14014e3c4
movsxd rdx, dword [r8 + 0x28]
test rdx, rdx
jle 0x14014e3bb
lea rcx, [r8 + 0x40]
nop dword [rax]
cmp dword [rcx], r15d
lea rax, str.foreign_key
lea rcx, [rcx + 0x10]
cmovne rax, r9
mov r9, rax
sub rdx, 1
jne 0x14014e3a0
mov r8, qword [r8 + 8]
test r8, r8
jne 0x14014e390
mov r10, qword [rbx + 0x10]
test r10, r10
je 0x14014e40a
nop dword [rax]
movzx eax, word [r10 + 0x5e]
cmp r12w, ax
jae 0x14014e401
mov rdx, qword [r10 + 8]
mov r8d, eax
movsx ecx, word [rdx]
cmp ecx, r15d
je 0x14014e3f0
cmp cx, 0xfffe
jne 0x14014e3f7
lea r9, str.indexed
add rdx, 2
sub r8, 1
jne 0x14014e3e2
mov r10, qword [r10 + 0x28]
test r10, r10
jne 0x14014e3d0
test r9, r9
jne 0x14014e6cb
lea rcx, [rbp - 0x70]
call fcn.1402440b0
mov rdi, rax
mov rax, qword [rsp + 0x60]
mov qword [rax + 0x18], rdi
test rdi, rdi
je 0x14014e654
mov rcx, qword [rbx + 0x60]
mov esi, 0xffff8000
mov r14, 0xffffffffffff8000
test rcx, rcx
je 0x14014e46e
mov rax, qword [r13 + 0x20]
mov esi, r12d
add rax, 0x18
mov r14, r12
cmp qword [rax], rcx
je 0x14014e46e
nop dword [rax]
inc esi
lea rax, [rax + 0x20]
inc r14
cmp qword [rax], rcx
jne 0x14014e460
mov eax, dword [rcx + 4]
mov r8d, esi
mov r9d, dword [rsp + 0x34]
mov edx, 2
mov dword [rsp + 0x28], eax
mov eax, dword [rcx]
mov rcx, rdi
mov dword [rsp + 0x20], eax
call fcn.140243940
movsxd rax, dword [rdi + 0x90]
test eax, eax
jle 0x14014e4ad
lea rcx, [rax + rax*2]
mov rax, qword [rdi + 0x88]
mov word [rax + rcx*8 - 0x16], 1
mov eax, dword [rdi + 0x90]
add eax, 6
cmp eax, dword [rdi + 0x94]
jle 0x14014e4d7
mov edx, 6
mov rcx, rdi
call fcn.1401d2520
test eax, eax
je 0x14014e4d7
mov rbx, r12
jmp 0x14014e582
movsxd rax, dword [rdi + 0x90]
lea rcx, [rax + rax*2]
mov rax, qword [rdi + 0x88]
mov qword [rax + rcx*8], 0xa9
mov qword [rax + rcx*8 + 8], r12
mov qword [rax + rcx*8 + 0x10], r12
lea rbx, [rax + rcx*8]
mov qword [rbx + 0x18], 0x70
mov qword [rbx + 0x20], r12
mov qword [rbx + 0x28], r12
mov byte [rbx + 0x30], 0x1f
mov dword [rbx + 0x34], r12d
mov dword [rbx + 0x38], 5
mov eax, dword [rdi + 0x90]
add eax, 5
mov dword [rbx + 0x38], eax
mov eax, 1
mov dword [rbx + 0x3c], eax
mov byte [rbx + 0x31], r12b
mov qword [rbx + 0x40], r12
mov word [rbx + 0x32], r12w
mov qword [rbx + 0x48], 0x5e
mov dword [rbx + 0x50], r12d
mov dword [rbx + 0x54], eax
mov qword [rbx + 0x58], r12
mov dword [rbx + 0x60], 0x54
mov qword [rbx + 0x64], rax
mov dword [rbx + 0x6c], r12d
mov qword [rbx + 0x70], r12
mov qword [rbx + 0x78], 0x46
mov qword [rbx + 0x80], r12
mov qword [rbx + 0x88], r12
add dword [rdi + 0x90], 6
mov eax, dword [rdi + 0xcc]
bts eax, esi
mov dword [rdi + 0xcc], eax
cmp esi, 1
je 0x14014e5bb
mov rax, qword [rdi]
shl r14, 5
mov rax, qword [rax + 0x20]
mov rcx, qword [rax + r14 + 8]
cmp byte [rcx + 0x11], r12b
je 0x14014e5bb
mov eax, dword [rdi + 0xd0]
bts eax, esi
mov dword [rdi + 0xd0], eax
mov r14, qword [rsp + 0x58]
cmp byte [r13 + 0x67], r12b
jne 0x14014e64f
mov dword [rbx + 4], esi
mov eax, dword [r14 + 0x28]
mov dword [rbx + 8], eax
mov eax, dword [rsp + 0x34]
mov dword [rbx + 0xc], eax
mov rax, qword [rdi]
cmp byte [rax + 0x67], r12b
jne 0x14014e5fd
mov rdx, qword [rdi + 0x88]
xor r9d, r9d
mov r8, qword [r14]
add rdx, 0x30
mov rcx, rdi
call fcn.1402649b0
cmp byte [r13 + 0x67], r12b
jne 0x14014e64f
cmp dword [rbp + 0x1c8], r12d
je 0x14014e610
mov byte [rbx + 0x18], 0x71
mov eax, dword [r14 + 0x28]
lea rdx, [rbp - 0x70]
mov dword [rbx + 0x20], eax
mov rcx, rdi
mov dword [rbx + 0x24], esi
mov byte [rbx + 0x19], 0xfd
movsx eax, word [r14 + 0x36]
inc eax
mov dword [rbx + 0x28], eax
movsx eax, word [r14 + 0x36]
mov dword [rbx + 0x50], eax
mov eax, 1
mov dword [rbp - 0x38], eax
mov dword [rbp - 0x3c], eax
mov word [rbp + 0xc0], r12w
call fcn.14024e920
mov r14d, dword [rsp + 0x30]
mov rdi, qword [rsp + 0x60]
mov word [rdi + 8], r15w
mov qword [rdi + 0x20], r13
cmp byte [r13 + 0x6f], r12b
jne 0x14014e670
mov rcx, r13
call fcn.14017ded0
cmp byte [r13 + 0x67], r12b
jne 0x14014e744
mov rdx, qword [rbp + 0x1c0]
lea r8, [rsp + 0x48]
mov rcx, rdi
call fcn.14017cd10
mov ebx, dword [rsp + 0x38]
mov r14d, eax
inc ebx
mov dword [rsp + 0x30], eax
mov dword [rsp + 0x38], ebx
cmp ebx, 0x32
jge 0x14014e6f6
cmp eax, 0x11
jne 0x14014e6f6
lea rcx, [rbp - 0x70]
call fcn.14022dd30
mov rsi, qword [rsp + 0x48]
mov r15, qword [rsp + 0x70]
mov rbx, qword [rsp + 0x78]
mov qword [rsp + 0x40], rsi
jmp 0x14014e1c0
mov r8, r9
lea rdx, str.cannot_open__s_column_for_writing
mov rcx, r13
call fcn.14022a7d0
mov rbx, rax
mov r14d, 1
cmp byte [r13 + 0x6f], r12b
jne 0x14014e762
mov rcx, r13
call fcn.14017ded0
jmp 0x14014e762
mov rbx, qword [rsp + 0x48]
jmp 0x14014e749
mov r8, rsi
lea rdx, str.no_such_column:___s_
jmp 0x14014e6d5
lea rdx, str.cannot_open_view:__s
jmp 0x14014e722
lea rdx, str.cannot_open_table_without_rowid:__s
jmp 0x14014e722
lea rdx, str.cannot_open_virtual_table:__s
mov r8, r15
lea rcx, [rbp - 0x70]
call fcn.140205cd0
mov rax, qword [rbp - 0x68]
test rax, rax
je 0x14014e73d
mov qword [rbp - 0x68], r12
jmp 0x14014e6dd
mov rbx, qword [rsp + 0x40]
jmp 0x14014e6e0
mov rbx, qword [rsp + 0x40]
test r14d, r14d
jne 0x14014e75d
cmp byte [r13 + 0x67], r12b
jne 0x14014e75d
mov rax, qword [rbp - 0x80]
mov qword [rax], rdi
jmp 0x14014e77b
test rdi, rdi
je 0x14014e77b
mov rcx, qword [rdi + 0x18]
test rcx, rcx
je 0x14014e770
call fcn.14024dae0
mov rdx, rdi
mov rcx, r13
call fcn.140202fc0
lea rax, [0x1402a1008]
test rbx, rbx
mov r8, r12
mov r9, rbx
cmovne r8, rax
mov edx, r14d
mov rcx, r13
call fcn.140205d80
mov rdi, qword [rsp + 0x258]
test rbx, rbx
je 0x14014e7b2
mov rdx, rbx
mov rcx, r13
call fcn.140202fc0
lea rcx, [rbp - 0x70]
call fcn.14022dd30
cmp byte [r13 + 0x67], r12b
jne 0x14014e7c6
test r14d, r14d
je 0x14014e7d4
mov edx, r14d
mov rcx, r13
call fcn.140179e40
mov r12d, eax
mov rcx, qword [r13 + 0x18]
test rcx, rcx
je 0x14014e7e3
call qword [0x1403430e0]
mov eax, r12d
jmp 0x14014e113