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

Disassembly:
push rbp
push rbx
push rsi
push rdi
push r12
push r13
push r14
push r15
lea rbp, [rsp - 0xb8]
sub rsp, 0x1b8
mov rax, qword [0x1401a5100]
xor rax, rsp
mov qword [rbp + 0xa0], rax
mov eax, dword [rbp + 0x128]
mov rbx, r8
mov rsi, qword [rbp + 0x120]
mov rdi, rdx
mov r14, qword [rcx]
mov r12, rcx
mov dword [rbp - 0x78], eax
mov rax, qword [rbp + 0x138]
mov qword [rbp - 0x50], rax
xor eax, eax
mov r15d, eax
mov qword [rsp + 0x40], r9
mov r13d, eax
mov qword [rsp + 0x78], rcx
mov qword [rsp + 0x50], rsi
mov qword [rsp + 0x70], rax
mov qword [rsp + 0x48], r14
mov qword [rbp - 0x58], rax
mov qword [rbp - 0x80], rax
mov dword [rsp + 0x6c], eax
mov qword [rbp - 0x70], rax
mov qword [rbp - 0x68], rax
cmp dword [rcx + 0x34], eax
jne 0x14009e78b
cmp byte [rcx + 0x134], 1
jne 0x14009d388
cmp byte [rbp + 0x150], 2
jne 0x14009e78b
call fcn.1400bed90
test eax, eax
jne 0x14009d55a
xor r9d, r9d
test rsi, rsi
je 0x14009d3c7
movsxd r8, dword [rsi]
mov edx, r9d
test r8, r8
jle 0x14009d3c7
mov ecx, r9d
lea rax, [rsi + 0x1c]
nop
test byte [rax], 0x20
jne 0x14009d528
inc edx
inc rcx
add rax, 0x20
cmp rcx, r8
jl 0x14009d3b0
mov r11, qword [rsp + 0x40]
test r11, r11
je 0x14009d6cd
lea r9, [rbp - 0x80]
mov r8, rbx
mov rdx, rdi
mov rcx, r12
call fcn.140097240
mov rdi, qword [rsp + 0x40]
mov esi, eax
mov dword [rsp + 0x58], eax
test eax, eax
js 0x14009e77f
cmp byte [r14 + 0xc5], r13b
jne 0x14009d434
mov rdx, rdi
mov rcx, r12
call fcn.1400a1740
mov rcx, rax
cmp dword [rbx + 8], r13d
jne 0x14009d434
test rax, rax
je 0x14009d434
mov rax, qword [r14 + 0x20]
mov rax, qword [rax + 0x38]
cmp qword [rcx + 0x60], rax
mov eax, 1
cmove esi, eax
mov dword [rsp + 0x58], esi
mov rdx, qword [r12]
xorps xmm0, xmm0
mov qword [rbp + 0x40], r12
movsxd rbx, esi
shl rbx, 5
mov rax, qword [rdx + 0x20]
cmp esi, 1
movups xmmword [rbp - 0x20], xmm0
mov qword [rbp - 0x18], rdi
movups xmmword [rbp - 0x40], xmm0
mov rcx, qword [rbx + rax]
mov qword [rbp + 0x88], rcx
mov rax, qword [rdx + 0x20]
mov rdx, qword [rbp - 0x80]
mov qword [rbp - 0x58], rdx
movups xmmword [rbp - 0x30], xmm0
mov rcx, qword [rbx + rax + 0x18]
lea rax, str.index
mov qword [rbp + 0x90], rax
sete byte [rbp + 0x80]
lea rax, [0x140094f30]
mov qword [rbp + 0x78], rcx
mov qword [rbp + 0x50], rax
lea rcx, [rbp + 0x48]
lea rax, [0x140094f80]
mov qword [rbp + 0x98], rdx
mov qword [rbp + 0x58], rax
lea rdx, [rbp - 0x40]
lea rax, [fcn.140005390]
mov qword [rbp + 0x48], r12
mov qword [rbp + 0x60], rax
xor eax, eax
mov dword [rbp + 0x68], eax
mov word [rbp + 0x6c], ax
lea rax, [rbp + 0x40]
mov qword [rbp + 0x70], rax
movups xmmword [rbp - 0x10], xmm0
movups xmmword [rbp], xmm0
movups xmmword [rbp + 0x10], xmm0
movups xmmword [rbp + 0x20], xmm0
movups xmmword [rbp + 0x30], xmm0
call fcn.14007acb0
mov rdx, qword [rdi + 8]
test rdx, rdx
je 0x14009d564
mov rax, qword [r12]
xor ecx, ecx
mov r9, qword [rax + 0x20]
cmp qword [r9 + 0x18], rdx
lea rax, [r9 + 0x18]
je 0x14009d51b
nop dword [rax]
inc ecx
lea rax, [rax + 0x20]
cmp qword [rax], rdx
jne 0x14009d510
movsxd rax, ecx
shl rax, 5
mov r9, qword [rax + r9]
jmp 0x14009d568
movsxd rax, edx
shl rax, 5
movzx ecx, byte [rax + rsi + 0x18]
test cl, cl
je 0x14009d544
lea r8, str.LAST
cmp cl, 3
jne 0x14009d54b
lea r8, str.FIRST
lea rdx, str.unsupported_use_of_NULLS__s
mov rcx, r12
call fcn.14003b590
mov rdi, qword [rsp + 0x40]
jmp 0x14009e78e
mov r9, qword [rdi + 0x10]
mov r8, qword [rdi + 0x18]
xor edx, edx
mov rcx, r12
call fcn.1400963d0
mov qword [rsp + 0x60], rax
mov rdi, rax
test rax, rax
je 0x14009e773
cmp esi, 1
jne 0x14009d5b2
mov rcx, qword [r14 + 0x20]
mov rax, qword [rax + 0x60]
cmp qword [rcx + rbx + 0x18], rax
je 0x14009d5b2
mov r8, qword [rdi]
lea rdx, str.cannot_create_a_TEMP_index_on_non_TEMP_table___s_
mov rcx, r12
call fcn.14003b590
jmp 0x14009d692
test byte [rdi + 0x30], 0x80
je 0x14009d5dc
mov r13, qword [rdi + 0x10]
mov qword [rbp - 0x68], r13
test r13, r13
je 0x14009d5dc
mov eax, dword [r13 + 0x64]
and al, 3
cmp al, 2
je 0x14009d5d8
mov r13, qword [r13 + 0x28]
test r13, r13
jne 0x14009d5c5
mov qword [rbp - 0x68], r13
mov r11, qword [rsp + 0x40]
mov r10, qword [rsp + 0x48]
lea rbx, [0x140000000]
mov r8, qword [rdi]
mov edx, 7
movsxd r14, esi
shl r14, 5
add r14, qword [r10 + 0x20]
mov qword [rbp - 0x80], r14
test r8, r8
je 0x14009d726
lea r9, str.sqlite_
movzx eax, byte [r8]
dec edx
test al, al
je 0x14009d641
mov ecx, eax
movzx eax, byte [r9]
movzx eax, byte [rax + rbx + 0x17c790]
cmp byte [rcx + rbx + 0x17c790], al
jne 0x14009d641
inc r8
inc r9
test edx, edx
jg 0x14009d614
dec edx
test edx, edx
js 0x14009d665
movzx eax, byte [r8]
movzx ecx, byte [rax + rbx + 0x17c790]
movzx eax, byte [r9]
movzx eax, byte [rax + rbx + 0x17c790]
cmp ecx, eax
jne 0x14009d726
cmp byte [r10 + 0xc5], r15b
jne 0x14009d726
test r11, r11
je 0x14009d726
mov r8, qword [rdi]
lea rdx, str.table__s_may_not_be_indexed
mov rcx, r12
call fcn.14003b590
mov r14, qword [rsp + 0x48]
mov rsi, qword [rsp + 0x50]
mov rdi, qword [rsp + 0x40]
mov rcx, qword [rsp + 0x60]
add rcx, 0x10
mov rdx, qword [rcx]
test rdx, rdx
je 0x14009e78e
cmp byte [rdx + 0x62], 5
je 0x14009e740
lea rcx, [rdx + 0x28]
mov rdx, qword [rdx + 0x28]
test rdx, rdx
jne 0x14009d6b1
jmp 0x14009e78e
mov rdi, qword [r12 + 0x160]
mov qword [rsp + 0x60], rdi
test rdi, rdi
je 0x14009e786
mov rcx, qword [rdi + 0x60]
mov esi, 0xffff8000
mov dword [rsp + 0x58], esi
test rcx, rcx
je 0x14009d5e1
mov rax, qword [r14 + 0x20]
mov esi, r9d
add rax, 0x18
mov dword [rsp + 0x58], r9d
cmp qword [rax], rcx
je 0x14009d5e1
inc esi
lea rax, [rax + 0x20]
cmp qword [rax], rcx
jne 0x14009d712
mov dword [rsp + 0x58], esi
jmp 0x14009d5e1
movzx eax, byte [rdi + 0x3f]
cmp al, 2
jne 0x14009d742
lea rdx, str.views_may_not_be_indexed
mov rcx, r12
call fcn.14003b590
jmp 0x14009d68d
cmp al, 1
jne 0x14009d75a
lea rdx, str.virtual_tables_may_not_be_indexed
mov rcx, r12
call fcn.14003b590
jmp 0x14009d68d
mov rax, qword [rbp - 0x58]
test rax, rax
je 0x14009d957
mov rsi, qword [rax]
mov ebx, dword [rax + 8]
test rsi, rsi
je 0x14009d94a
lea rdx, [rbx + 1]
mov rcx, r10
call fcn.1400379d0
mov qword [rsp + 0x70], rax
mov rdi, rax
test rax, rax
je 0x14009d7fd
mov rdx, rsi
mov r8d, ebx
mov rcx, rax
mov rsi, rax
call fcn.1401653e0
mov byte [rbx + rsi], r15b
lea r8, [0x140000000]
movzx ecx, byte [rsi]
cmp byte [rcx + r8 + 0x17b610], r15b
jge 0x14009d7fd
cmp cl, 0x5b
mov edx, ecx
mov eax, 0x5d
lea rcx, [rsi + 1]
cmove edx, eax
xor ebx, ebx
mov r9d, ebx
mov r8d, ebx
movzx eax, byte [rcx]
cmp al, dl
jne 0x14009d7e6
lea rax, [rcx + 1]
mov rcx, rax
cmp byte [rax], dl
jne 0x14009d7f5
movzx eax, dl
inc rcx
mov byte [r8 + rsi], al
inc r9d
inc r8
jmp 0x14009d7d1
movsxd rax, r9d
mov byte [rax + rsi], bl
jmp 0x14009d80d
mov qword [rsp + 0x70], rdi
test rdi, rdi
je 0x14009d68d
xor ebx, ebx
mov rax, qword [rsp + 0x60]
lea r8, str.index
mov rdx, rdi
mov rcx, r12
mov r9, qword [rax]
call fcn.140097320
test eax, eax
jne 0x14009d68d
cmp byte [r12 + 0x134], 2
jae 0x14009d9b4
mov r9, qword [rsp + 0x48]
cmp byte [r9 + 0xc5], r15b
jne 0x14009d873
mov r8, qword [r14]
mov rdx, rdi
mov rcx, r9
call fcn.140095fe0
test rax, rax
je 0x14009d86e
mov r8, rdi
lea rdx, str.there_is_already_a_table_named__s
jmp 0x14009d685
mov r9, qword [rsp + 0x48]
mov rsi, rbx
mov r14, qword [r14]
cmp dword [r9 + 0x28], r15d
jle 0x14009d9b0
nop dword [rax]
nop word [rax + rax]
mov rax, qword [r9 + 0x20]
mov edx, ebx
xor edx, 1
cmp ebx, 2
cmovge edx, ebx
movsxd rcx, edx
shl rcx, 5
mov r15, qword [rcx + rax + 0x18]
test r14, r14
je 0x14009d8bf
mov r8, r14
mov rcx, r9
call fcn.1400940d0
test eax, eax
je 0x14009d8d7
lea rcx, [r15 + 0x20]
xor r8d, r8d
mov rdx, rdi
call fcn.14003e250
mov rsi, qword [rax + 0x10]
test rsi, rsi
jne 0x14009d8ed
mov r9, qword [rsp + 0x48]
inc ebx
cmp ebx, dword [r9 + 0x28]
jl 0x14009d890
test rsi, rsi
je 0x14009d9ab
cmp dword [rbp + 0x148], 0
mov rcx, r12
jne 0x14009d908
mov r8, rdi
lea rdx, str.index__s_already_exists
jmp 0x14009d688
mov rax, qword [r12 + 0xb0]
mov r15d, dword [rsp + 0x58]
test rax, rax
cmovne rcx, rax
mov eax, dword [rcx + 0x84]
bt eax, r15d
jb 0x14009d93d
bts eax, r15d
mov dword [rcx + 0x84], eax
cmp r15d, 1
jne 0x14009d93d
call fcn.14009fc70
mov rcx, r12
call fcn.1400975c0
jmp 0x14009d68d
mov qword [rsp + 0x70], r15
mov r14, r10
jmp 0x14009d692
mov rax, qword [rdi + 0x10]
mov r9d, 1
test rax, rax
je 0x14009d97c
nop word [rax + rax]
mov rax, qword [rax + 0x28]
inc r9d
test rax, rax
jne 0x14009d970
mov r8, qword [rdi]
lea rdx, str.sqlite_autoindex__s__d
mov rcx, r10
call fcn.14003a130
mov qword [rsp + 0x70], rax
test rax, rax
je 0x14009d68d
cmp byte [r12 + 0x134], r15b
je 0x14009d9bd
inc byte [rax + 7]
jmp 0x14009d9bd
mov r15d, dword [rsp + 0x6c]
mov r14, qword [rbp - 0x80]
mov rdi, qword [rsp + 0x60]
mov esi, dword [rsp + 0x58]
cmp byte [r12 + 0x134], 2
jae 0x14009da2a
mov rbx, qword [r14]
lea rax, str.sqlite_master
cmp esi, 1
mov qword [rsp + 0x20], rbx
lea r8, str.sqlite_temp_master
mov edx, 0x12
cmovne r8, rax
mov rcx, r12
xor r9d, r9d
call fcn.140095460
test eax, eax
jne 0x14009d68d
mov r9, qword [rdi]
mov edx, 3
mov r8, qword [rsp + 0x70]
mov eax, 1
cmp esi, 1
mov qword [rsp + 0x20], rbx
mov rcx, r12
cmovne edx, eax
call fcn.140095460
test eax, eax
jne 0x14009d68d
mov rsi, qword [rsp + 0x50]
mov rbx, 0xffffffffffffffff
test rsi, rsi
jne 0x14009db17
movsx rax, word [rdi + 0x36]
lea rcx, [rax + rax*2]
mov rax, qword [rdi + 8]
or word [rax + rcx*8 - 6], 8
mov rsi, qword [rax + rcx*8 - 0x18]
test rsi, rsi
jne 0x14009da60
xor ebx, ebx
jmp 0x14009da6f
inc rbx
cmp byte [rsi + rbx], 0
jne 0x14009da60
and ebx, 0x3fffffff
mov r14, qword [rsp + 0x48]
lea edx, [rbx + 1]
add rdx, 0x48
mov rcx, r14
call fcn.1400379d0
mov rdi, rax
test rax, rax
je 0x14009dad2
xorps xmm0, xmm0
lea rcx, [rdi + 0x48]
movups xmmword [rdi], xmm0
xor eax, eax
movups xmmword [rdi + 0x10], xmm0
movups xmmword [rdi + 0x20], xmm0
movups xmmword [rdi + 0x30], xmm0
mov qword [rdi + 0x40], rax
mov byte [rdi], 0x3c
mov word [rdi + 0x32], 0xffff
mov qword [rdi + 8], rcx
test ebx, ebx
je 0x14009dac3
mov r8d, ebx
mov rdx, rsi
call fcn.1401653e0
mov rax, qword [rdi + 8]
mov byte [rbx + rax], 0
mov dword [rdi + 0x28], 1
mov rcx, qword [r12]
mov rdx, rdi
call fcn.140081cc0
mov qword [rsp + 0x50], rax
mov rsi, rax
test rax, rax
je 0x14009d697
mov ecx, dword [rbp + 0x140]
xor r8d, r8d
cmp ecx, 0xffffffff
movzx edx, cl
movsxd rcx, dword [rax]
mov rbx, 0xffffffffffffffff
cmovne r8d, edx
shl rcx, 5
mov byte [rcx + rax - 8], r8b
jmp 0x14009db47
mov rax, qword [r12]
mov ecx, dword [rax + 0x90]
cmp dword [rsi], ecx
jle 0x14009db3b
lea r8, str.index
mov rcx, r12
lea rdx, str.too_many_columns_in__s
call fcn.14003b590
cmp dword [r12 + 0x34], 0
jne 0x14009e736
movsxd r8, dword [rsi]
test r8, r8
jle 0x14009db92
lea rdx, [rsi + 8]
xor r13d, r13d
mov rcx, qword [rdx]
cmp byte [rcx], 0x72
jne 0x14009db84
mov rcx, qword [rcx + 8]
test rcx, rcx
jne 0x14009db6c
mov eax, r13d
jmp 0x14009db7e
mov rax, rbx
nop
inc rax
cmp byte [rcx + rax], r13b
jne 0x14009db70
and eax, 0x3fffffff
inc r15d
add r15d, eax
add rdx, 0x20
sub r8, 1
jne 0x14009db56
mov r13, qword [rbp - 0x68]
mov rax, qword [rsp + 0x70]
inc rbx
cmp byte [rax + rbx], 0
jne 0x14009db97
and ebx, 0x3fffffff
test r13, r13
je 0x14009dbb2
movzx edi, word [r13 + 0x5e]
jmp 0x14009dbb7
mov edi, 1
add di, word [rsi]
movsx r14d, di
movsx r12, di
lea eax, [r14*4 + 9]
add eax, r14d
and eax, 0xfffffff8
lea r13d, [rax + r14*8]
lea ecx, [r13 + 0x70]
add ecx, ebx
add ecx, r15d
movsxd r15, ecx
mov rcx, qword [rsp + 0x48]
lea rdx, [r15 + 1]
call fcn.1400379d0
mov rsi, rax
test rax, rax
je 0x14009dc42
lea r8, [r15 + 1]
xor edx, edx
mov rcx, rax
call fcn.140165b60
lea rax, [rsi + 0x70]
mov word [rsi + 0x60], di
lea rdx, [rax + r12*8]
mov qword [rsi + 0x40], rax
lea eax, [r14 + 1]
mov qword [rsi + 0x10], rdx
movsxd rcx, eax
dec di
movsxd r14, r13d
add r14, 0x70
mov word [rsi + 0x5e], di
add r14, rsi
lea rax, [rdx + rcx*2]
mov qword [rsi + 8], rax
lea rax, [rax + r12*2]
mov qword [rsi + 0x38], rax
jmp 0x14009dc46
mov r14, qword [rbp - 0x70]
mov rdi, qword [rsp + 0x48]
cmp byte [rdi + 0x67], 0
jne 0x14009e6cb
mov rdx, qword [rsp + 0x70]
lea r8d, [rbx + 1]
mov rcx, r14
mov qword [rsi], r14
add r14, r8
mov qword [rbp - 0x70], r14
call fcn.1401653e0
mov rax, qword [rsp + 0x60]
mov r12, qword [rsp + 0x50]
mov r13, qword [rbp - 0x50]
mov rbx, qword [rsp + 0x78]
mov qword [rsi + 0x18], rax
mov eax, dword [rbp - 0x78]
mov byte [rsi + 0x62], al
neg eax
mov eax, dword [rsi + 0x64]
sbb ecx, ecx
and eax, 0xfffffff7
and ecx, 8
or ecx, eax
movzx eax, byte [rbp + 0x150]
xor eax, ecx
and eax, 3
xor eax, ecx
movsxd rcx, dword [rsp + 0x58]
mov dword [rsi + 0x64], eax
mov rax, qword [rdi + 0x20]
mov rdi, qword [rsp + 0x60]
shl rcx, 5
mov rcx, qword [rcx + rax + 0x18]
mov qword [rsi + 0x30], rcx
movzx ecx, word [r12]
mov word [rsi + 0x5e], cx
test r13, r13
je 0x14009dd04
mov r9, r13
mov qword [rsp + 0x20], 0
mov r8d, 2
mov rdx, rdi
mov rcx, rbx
call fcn.14007e900
movzx ecx, word [rsi + 0x5e]
xor r8d, r8d
mov qword [rbp - 0x50], r8
mov qword [rsi + 0x48], r13
jmp 0x14009dd07
xor r8d, r8d
cmp byte [rbx + 0x134], 2
lea r15, [r12 + 8]
mov rax, qword [rbp - 0x80]
mov rax, qword [rax + 0x18]
movzx eax, byte [rax + 0x70]
mov byte [rsp + 0x68], al
jb 0x14009dd2e
mov qword [rsi + 0x50], r12
mov qword [rsp + 0x50], r8
mov dword [rsp + 0x6c], r8d
mov r13d, r8d
lea rdx, [0x14017bc48]
cmp r8w, cx
jae 0x14009df9c
mov r12, r8
nop word [rax + rax]
mov rax, qword [r15]
movzx ecx, byte [rax]
cmp cl, 0x76
jne 0x14009dd60
mov byte [rax], 0x3c
jmp 0x14009dd71
cmp cl, 0x72
jne 0x14009dd71
mov rcx, qword [rax + 0x10]
cmp byte [rcx], 0x76
jne 0x14009dd71
mov byte [rcx], 0x3c
mov r9, qword [r15]
mov rdx, rdi
mov qword [rsp + 0x20], r8
mov rcx, rbx
mov r8d, 0x20
call fcn.14007e900
cmp dword [rbx + 0x34], 0
jne 0x14009df8b
mov rax, qword [r15]
test rax, rax
je 0x14009ddb2
nop dword [rax]
test dword [rax + 4], 0x2000
je 0x14009ddb2
mov rax, qword [rax + 0x10]
test rax, rax
jne 0x14009dda0
cmp byte [rax], 0xa8
je 0x14009ddf8
cmp rdi, qword [rbx + 0x160]
je 0x14009df7c
cmp qword [rsi + 0x50], 0
jne 0x14009dddb
mov rax, qword [rsp + 0x50]
mov qword [rsi + 0x50], rax
xor eax, eax
mov qword [rsp + 0x50], rax
mov rax, qword [rsi + 8]
mov ecx, 0xfffffffe
mov edx, ecx
mov word [rax + r12*2], cx
and dword [rsi + 0x64], 0xfffffff7
or dword [rsi + 0x64], 0x1000
jmp 0x14009de35
movsx rdx, word [rax + 0x30]
test edx, edx
jns 0x14009de07
movsx edx, word [rdi + 0x34]
jmp 0x14009de2c
mov rax, qword [rdi + 8]
lea rcx, [rdx + rdx*2]
test byte [rax + rcx*8 + 8], 0xf
jne 0x14009de1a
and dword [rsi + 0x64], 0xfffffff7
mov rax, qword [rdi + 8]
test byte [rax + rcx*8 + 0x12], 0x20
je 0x14009de2c
or dword [rsi + 0x64], 0x1800
mov rax, qword [rsi + 8]
mov word [rax + r12*2], dx
mov rax, qword [r15]
cmp byte [rax], 0x72
jne 0x14009de81
mov rdx, qword [rax + 8]
test rdx, rdx
jne 0x14009de4c
xor eax, eax
mov ebx, eax
jmp 0x14009de62
mov rbx, 0xffffffffffffffff
inc rbx
cmp byte [rdx + rbx], 0
jne 0x14009de53
and ebx, 0x3fffffff
inc rbx
mov rcx, r14
mov r8, rbx
call fcn.1401653e0
mov rdi, r14
add r14, rbx
mov rbx, qword [rsp + 0x78]
mov qword [rbp - 0x70], r14
jmp 0x14009decc
test edx, edx
js 0x14009ded1
movsxd rax, edx
lea rcx, [rax + rax*2]
mov rax, qword [rdi + 8]
lea rdx, [rax + rcx*8]
mov eax, 0x200
test word [rdx + 0x12], ax
jne 0x14009dea5
xor eax, eax
mov edi, eax
jmp 0x14009decc
mov rax, qword [rdx]
cmp byte [rax], 0
je 0x14009deb8
nop dword [rax]
inc rax
cmp byte [rax], 0
jne 0x14009deb0
test byte [rdx + 0x12], 4
je 0x14009dec8
nop
inc rax
cmp byte [rax], 0
jne 0x14009dec0
lea rdi, [rax + 1]
test rdi, rdi
jne 0x14009ded8
lea rdi, [0x14017bc48]
mov rax, qword [rsp + 0x48]
cmp byte [rax + 0xc5], 0
jne 0x14009df31
mov rcx, qword [rbx]
mov r8, rdi
movzx r14d, byte [rcx + 0x64]
movzx ebx, byte [rcx + 0xc5]
movzx edx, r14b
mov r9d, ebx
call fcn.1400a0ab0
test bl, bl
jne 0x14009df28
test rax, rax
je 0x14009df14
cmp qword [rax + 0x18], 0
jne 0x14009df2d
mov rcx, qword [rsp + 0x78]
mov r9, rdi
mov r8, rax
movzx edx, r14b
call fcn.1400a0c80
test rax, rax
je 0x14009df8b
mov r14, qword [rbp - 0x70]
mov rax, qword [rsi + 0x40]
mov r8d, 0
cmp byte [rsp + 0x68], 4
mov qword [rax + r12*8], rdi
movzx ecx, byte [r15 + 0x10]
mov rax, qword [rsi + 0x38]
cmovb ecx, r8d
inc r13d
add r15, 0x20
mov dword [rsp + 0x6c], r13d
mov byte [r12 + rax], cl
inc r12
movzx eax, word [rsi + 0x5e]
cmp r13d, eax
jge 0x14009df95
mov rbx, qword [rsp + 0x78]
mov rdi, qword [rsp + 0x60]
jmp 0x14009dd50
lea rdx, str.expressions_prohibited_in_PRIMARY_KEY_and_UNIQUE_constraints
mov rcx, rbx
call fcn.14003b590
mov r14, qword [rsp + 0x48]
jmp 0x14009e6ce
lea rdx, [0x14017bc48]
mov r13, qword [rbp - 0x68]
xor r15d, r15d
test r13, r13
je 0x14009e035
mov ebx, r15d
cmp r15w, word [r13 + 0x5e]
jae 0x14009e04c
movsxd rdi, dword [rsp + 0x6c]
mov r12d, 0xffff
nop word [rax + rax]
mov rax, qword [r13 + 8]
mov r9d, ebx
movzx edx, word [rsi + 0x5e]
mov r8, r13
movsxd r14, ebx
mov rcx, rsi
movzx r15d, word [rax + r14*2]
call fcn.140099d40
test eax, eax
je 0x14009dff9
add word [rsi + 0x60], r12w
jmp 0x14009e025
mov rax, qword [rsi + 8]
mov word [rax + rdi*2], r15w
mov rax, qword [r13 + 0x40]
mov rcx, qword [rsi + 0x40]
mov rax, qword [rax + r14*8]
mov qword [rcx + rdi*8], rax
mov rax, qword [r13 + 0x38]
mov rcx, qword [rsi + 0x38]
movzx eax, byte [r14 + rax]
mov byte [rdi + rcx], al
inc rdi
movzx eax, word [r13 + 0x5e]
inc ebx
cmp ebx, eax
jl 0x14009dfd0
xor r15d, r15d
jmp 0x14009e04c
mov rax, qword [rsi + 8]
movsxd rcx, dword [rsp + 0x6c]
mov word [rax + rcx*2], 0xffff
mov rax, qword [rsi + 0x40]
mov qword [rax + rcx*8], rdx
mov rcx, rsi
call fcn.14009e800
mov r13, qword [rsp + 0x78]
cmp qword [r13 + 0x160], 0
jne 0x14009e0bf
mov rax, qword [rsi + 0x18]
mov r8d, r15d
mov r10, qword [rax + 8]
movzx eax, word [rsi + 0x60]
cmp r15w, ax
jae 0x14009e0ae
mov rdx, qword [rsi + 8]
mov r9d, eax
mov r13d, 1
movsx rax, word [rdx]
test ax, ax
jns 0x14009e093
mov eax, r13d
jmp 0x14009e09d
lea rcx, [rax + rax*2]
movzx eax, byte [r10 + rcx*8 + 0xd]
add r8d, eax
add rdx, 2
sub r9, r13
jne 0x14009e085
mov r13, qword [rsp + 0x78]
lea ecx, [r8*4]
call fcn.14003de20
mov word [rsi + 0x5c], ax
mov rcx, rsi
call fcn.140099df0
mov rbx, qword [rsp + 0x40]
mov rdi, qword [rsp + 0x60]
test rbx, rbx
je 0x14009e139
movzx r9d, word [rsi + 0x60]
movsx eax, word [rdi + 0x36]
cmp r9d, eax
jl 0x14009e139
or dword [rsi + 0x64], 0x20
mov edx, r15d
movsx r10d, word [rdi + 0x36]
cmp r15w, r10w
jge 0x14009e139
movsx r11d, word [rdi + 0x34]
nop dword [rax + rax]
cmp edx, r11d
je 0x14009e279
mov ecx, r15d
cmp r15w, r9w
jae 0x14009e135
mov r8, qword [rsi + 8]
nop word [rax + rax]
movsxd rax, ecx
cmp dx, word [r8 + rax*2]
je 0x14009e270
inc ecx
cmp ecx, r9d
jl 0x14009e120
and dword [rsi + 0x64], 0xffffffdf
cmp rdi, qword [r13 + 0x160]
jne 0x14009e1f0
mov rdi, qword [rdi + 0x10]
test rdi, rdi
je 0x14009e1eb
movzx r12d, word [rsi + 0x5e]
nop dword [rax + rax]
movzx r14d, word [rdi + 0x5e]
cmp r14w, r12w
jne 0x14009e1d9
mov ebx, r15d
cmp r15w, r14w
jae 0x14009e1cd
mov r10, qword [rsi + 8]
mov r11, r15
mov r15, qword [rdi + 8]
sub r15, r10
movzx eax, word [r10]
cmp word [r15 + r10], ax
jne 0x14009e1ca
mov rax, qword [rdi + 0x40]
mov rcx, qword [rsi + 0x40]
mov rax, qword [r11 + rax]
mov r9, qword [r11 + rcx]
sub r9, rax
movzx r8d, byte [rax]
movzx ecx, byte [r9 + rax]
cmp r8d, ecx
jne 0x14009e289
test r8d, r8d
jne 0x14009e2b3
inc ebx
add r10, 2
add r11, 8
cmp ebx, r14d
jl 0x14009e182
xor r15d, r15d
movzx eax, word [rdi + 0x5e]
cmp ebx, eax
je 0x14009e2bb
mov rdi, qword [rdi + 0x28]
test rdi, rdi
jne 0x14009e160
mov rbx, qword [rsp + 0x40]
mov rdi, qword [rsp + 0x60]
cmp byte [r13 + 0x134], 2
mov r14, qword [rsp + 0x48]
jae 0x14009e383
cmp byte [r14 + 0xc5], 0
je 0x14009e3c3
test rbx, rbx
je 0x14009e247
mov rax, qword [rsi + 0x18]
mov edx, dword [r14 + 0xc0]
mov dword [rsi + 0x58], edx
mov rcx, qword [rax + 0x10]
test rcx, rcx
je 0x14009e247
nop dword [rax]
cmp dword [rcx + 0x58], edx
jne 0x14009e23e
cmp rcx, rsi
jne 0x14009e338
mov rcx, qword [rcx + 0x28]
test rcx, rcx
jne 0x14009e230
mov rcx, qword [rsi + 0x30]
mov r8, rsi
mov rdx, qword [rsi]
add rcx, 0x20
call fcn.14003e330
test rax, rax
je 0x14009e37e
mov rcx, r14
call fcn.140037ce0
jmp 0x14009e6ce
test cx, cx
js 0x14009e135
inc edx
cmp edx, r10d
jl 0x14009e100
jmp 0x14009e139
lea rdx, [0x140000000]
movzx edx, byte [rcx + rdx + 0x17c790]
mov rcx, r8
lea r8, [0x140000000]
movzx ecx, byte [rcx + r8 + 0x17c790]
cmp ecx, edx
jne 0x14009e1ca
inc rax
jmp 0x14009e1a0
movzx eax, byte [rdi + 0x62]
movzx ecx, byte [rsi + 0x62]
cmp al, cl
je 0x14009e2ef
cmp al, 0xb
je 0x14009e2e2
cmp cl, 0xb
je 0x14009e2e2
xor r8d, r8d
lea rdx, str.conflicting_ON_CONFLICT_clauses_specified
mov rcx, r13
call fcn.14003b590
cmp byte [rdi + 0x62], 0xb
jne 0x14009e2ef
movzx eax, byte [rsi + 0x62]
mov byte [rdi + 0x62], al
cmp byte [rbp + 0x150], 2
jne 0x14009e304
mov eax, dword [rdi + 0x64]
and eax, 0xfffffffc
xor eax, 2
mov dword [rdi + 0x64], eax
cmp byte [r13 + 0x134], 2
mov r14, qword [rsp + 0x48]
mov rdi, qword [rsp + 0x40]
jb 0x14009e6d3
mov rax, qword [r13 + 0x168]
mov qword [rsi + 0x28], rax
mov qword [r13 + 0x168], rsi
mov rsi, qword [rsp + 0x50]
jmp 0x14009d69c
lea rdx, str.invalid_rootpage
mov rcx, r13
call fcn.14003b590
lea rax, [0x140189594]
mov r9d, 0x1ec13
lea r8, str.database_corruption
mov qword [rsp + 0x20], rax
lea rdx, str._s_at_line__d_of___.10s_
mov ecx, 0xb
call fcn.14003a420
mov dword [r13 + 0x18], 0xb
jmp 0x14009e6ce
or dword [r14 + 0x2c], 1
mov r12, qword [rsp + 0x60]
mov rdi, qword [rsp + 0x40]
cmp byte [r14 + 0xc5], 0
jne 0x14009e6b3
test rdi, rdi
je 0x14009e6b3
cmp byte [r13 + 0x134], 2
jb 0x14009e6d3
mov qword [r13 + 0x168], rsi
mov rsi, qword [rsp + 0x50]
jmp 0x14009d69c
test byte [rdi + 0x30], 0x80
je 0x14009e3ce
test rbx, rbx
je 0x14009e383
inc dword [r13 + 0x3c]
mov rbx, qword [r13 + 0x10]
mov r14d, dword [r13 + 0x3c]
test rbx, rbx
jne 0x14009e40b
cmp qword [r13 + 0xb0], rbx
jne 0x14009e3f7
mov rax, qword [r13]
test byte [rax + 0x60], 8
jne 0x14009e3f7
mov byte [r13 + 0x23], 1
mov rcx, r13
call fcn.1400650c0
mov rbx, rax
test rax, rax
je 0x14009df8b
mov rcx, qword [r13 + 0xb0]
mov rdi, r13
movsxd r12, dword [rsp + 0x58]
test rcx, rcx
cmovne rdi, rcx
mov eax, dword [rdi + 0x84]
bt eax, r12d
jb 0x14009e445
bts eax, r12d
mov dword [rdi + 0x84], eax
cmp r12d, 1
jne 0x14009e445
mov rcx, rdi
call fcn.14009fc70
mov eax, dword [rdi + 0x80]
or byte [rdi + 0x20], 1
bts eax, r12d
mov dword [rdi + 0x80], eax
movsxd rdx, dword [rbx + 0x90]
cmp dword [rbx + 0x94], edx
jg 0x14009e484
xor r9d, r9d
mov dword [rsp + 0x20], r15d
xor r8d, r8d
mov edx, 0xbb
mov rcx, rbx
call fcn.1400653b0
mov edx, eax
jmp 0x14009e4ae
lea rcx, [rdx + rdx*2]
lea eax, [rdx + 1]
mov dword [rbx + 0x90], eax
mov rax, qword [rbx + 0x88]
mov qword [rax + rcx*8], 0xbb
mov qword [rax + rcx*8 + 8], 0
mov qword [rax + rcx*8 + 0x10], r15
mov dword [rsi + 0x58], edx
movsxd rcx, dword [rbx + 0x90]
cmp dword [rbx + 0x94], ecx
jg 0x14009e4dd
mov r9d, r14d
mov dword [rsp + 0x20], 2
mov r8d, r12d
mov edx, 0x93
mov rcx, rbx
call fcn.1400653b0
jmp 0x14009e50f
lea eax, [rcx + 1]
mov dword [rbx + 0x90], eax
lea rcx, [rcx + rcx*2]
mov rax, qword [rbx + 0x88]
mov dword [rax + rcx*8], 0x93
mov dword [rax + rcx*8 + 4], r12d
mov dword [rax + rcx*8 + 8], r14d
mov dword [rax + rcx*8 + 0xc], 2
mov qword [rax + rcx*8 + 0x10], r15
cmp qword [rbp + 0x130], 0
je 0x14009e574
mov ecx, dword [r13 + 0x128]
lea r8, str._UNIQUE
add ecx, dword [r13 + 0x120]
mov rdx, qword [rbp - 0x58]
mov r15, qword [rsp + 0x48]
sub ecx, dword [rdx]
mov rdx, qword [rdx]
movsxd rax, ecx
mov qword [rsp + 0x20], rdx
lea r9d, [rcx - 1]
cmp byte [rax + rdx - 1], 0x3b
lea rdx, str.CREATE_s_INDEX__.s
cmovne r9d, ecx
cmp dword [rbp - 0x78], 0
lea rcx, [0x14017827d]
cmove r8, rcx
mov rcx, r15
call fcn.14003a130
mov rdi, rax
jmp 0x14009e57c
mov rdi, r15
mov r15, qword [rsp + 0x48]
mov r8, qword [r15 + 0x20]
lea rdx, str.INSERT_INTO__Q.sqlite_master_VALUES_index__Q__Q__d__Q__
mov r9, qword [rsi]
mov rcx, r12
mov r12, qword [rsp + 0x60]
shl rcx, 5
mov qword [rsp + 0x30], rdi
mov dword [rsp + 0x28], r14d
mov rax, qword [r12]
mov r8, qword [rcx + r8]
mov rcx, r13
mov qword [rsp + 0x20], rax
call fcn.140095e10
test rdi, rdi
je 0x14009e5c5
mov rdx, rdi
mov rcx, r15
call fcn.140037500
mov rdi, qword [rsp + 0x40]
test rdi, rdi
je 0x14009e674
mov r8d, r14d
mov rdx, rsi
mov rcx, r13
call fcn.14009c9b0
mov edx, dword [rsp + 0x58]
mov rcx, r13
call fcn.140099820
mov r14, qword [rsp + 0x48]
lea rdx, str.name_q_AND_typeindex
mov r8, qword [rsi]
mov rcx, r14
call fcn.14003a130
mov edx, dword [rsp + 0x58]
mov r8, rax
xor eax, eax
mov rcx, rbx
movzx r9d, ax
call fcn.140065b40
movsxd rcx, dword [rbx + 0x90]
cmp dword [rbx + 0x94], ecx
jg 0x14009e646
xor eax, eax
mov r9d, 1
xor r8d, r8d
mov dword [rsp + 0x20], eax
mov edx, 0xa6
mov rcx, rbx
call fcn.1400653b0
jmp 0x14009e679
lea eax, [rcx + 1]
xor edx, edx
mov dword [rbx + 0x90], eax
lea rcx, [rcx + rcx*2]
mov rax, qword [rbx + 0x88]
mov qword [rax + rcx*8], 0xa6
mov qword [rax + rcx*8 + 8], 1
mov qword [rax + rcx*8 + 0x10], rdx
jmp 0x14009e679
mov r14, qword [rsp + 0x48]
mov rax, qword [rbx]
mov edx, dword [rbx + 0x90]
cmp byte [rax + 0x67], 0
je 0x14009e697
lea rax, [0x1401acba0]
mov dword [rax + 8], edx
jmp 0x14009e38d
movsxd rax, dword [rsi + 0x58]
lea rcx, [rax + rax*2]
mov rax, qword [rbx + 0x88]
mov dword [rax + rcx*8 + 8], edx
lea rax, [rax + rcx*8]
jmp 0x14009e38d
mov rax, qword [r12 + 0x10]
mov qword [rsi + 0x28], rax
mov qword [r12 + 0x10], rsi
mov rsi, qword [rsp + 0x50]
jmp 0x14009d69c
mov r14, rdi
mov rdi, qword [rsp + 0x40]
test rsi, rsi
je 0x14009e32e
mov rdx, qword [rsi + 0x48]
mov rcx, r14
call fcn.140080a20
mov rdx, qword [rsi + 0x50]
test rdx, rdx
je 0x14009e6f9
mov rcx, r14
call fcn.1400822f0
mov rdx, qword [rsi + 0x20]
test rdx, rdx
je 0x14009e70a
mov rcx, r14
call fcn.140037500
test byte [rsi + 0x64], 0x10
je 0x14009e721
mov rdx, qword [rsi + 0x40]
test rdx, rdx
je 0x14009e721
mov rcx, r14
call fcn.140037500
mov rdx, rsi
mov rcx, r14
call fcn.140037500
mov rsi, qword [rsp + 0x50]
jmp 0x14009d69c
mov r14, qword [rsp + 0x48]
jmp 0x14009d697
mov rax, qword [rdx + 0x28]
test rax, rax
je 0x14009e78e
nop dword [rax]
cmp byte [rax + 0x62], 5
je 0x14009e78e
mov qword [rcx], rax
lea rcx, [rax + 0x28]
mov rax, qword [rax + 0x28]
mov qword [rdx + 0x28], rax
mov qword [rcx], rdx
mov rax, qword [rdx + 0x28]
test rax, rax
jne 0x14009e750
jmp 0x14009e78e
mov rsi, qword [rsp + 0x50]
mov rdi, qword [rsp + 0x40]
jmp 0x14009e78e
mov rsi, qword [rsp + 0x50]
jmp 0x14009e78e
mov rdi, r11
jmp 0x14009e78e
mov rdi, r9
mov rdx, qword [rbp - 0x50]
test rdx, rdx
je 0x14009e79f
mov rcx, r14
call fcn.140080920
test rsi, rsi
je 0x14009e7af
mov rdx, rsi
mov rcx, r14
call fcn.1400822f0
mov rdx, rdi
mov rcx, r14
call fcn.14009f200
mov rax, qword [rsp + 0x70]
test rax, rax
je 0x14009e7cf
mov rdx, rax
mov rcx, r14
call fcn.140037500
mov rcx, qword [rbp + 0xa0]
xor rcx, rsp
call fcn.1401391d0
add rsp, 0x1b8
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbx
pop rbp
ret