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

Disassembly:
mov byte [rsp + 0x20], r9b
mov qword [rsp + 0x18], r8
mov qword [rsp + 0x10], rdx
push rbx
push rbp
push rsi
push r15
sub rsp, 0x98
mov rbp, qword [rcx]
movzx r15d, r9b
mov rbx, qword [rsp + 0xe0]
mov rsi, rcx
test r8, r8
jne 0x1400e7e9b
test rbx, rbx
je 0x1400e8640
mov qword [rsp + 0x90], rdi
mov rdi, qword [rcx + 0x140]
test rdi, rdi
je 0x1400e8638
test rbx, rbx
jne 0x1400e7ece
mov rdx, qword [rdi]
mov rcx, rbp
call fcn.1400e7d20
test eax, eax
je 0x1400e7ece
or dword [rdi + 0x40], 0x1000
cmp byte [rbp + 0xb5], 0
je 0x1400e7f01
test rbx, rbx
je 0x1400e7ef0
lea rdx, [0x1401d62ea]
mov rcx, rsi
call fcn.14009d890
jmp 0x1400e8638
mov eax, dword [rbp + 0xb0]
mov dword [rdi + 0x38], eax
cmp eax, 1
jne 0x1400e7f01
or dword [rdi + 0x40], eax
test r15b, r15b
jns 0x1400e7f49
mov eax, dword [rdi + 0x40]
mov rcx, rsi
test al, 8
je 0x1400e7f21
lea rdx, str.AUTOINCREMENT_not_allowed_on_WITHOUT_ROWID_tables
call fcn.14009d890
jmp 0x1400e8638
test al, 4
jne 0x1400e7f39
mov r8, qword [rdi]
lea rdx, str.PRIMARY_KEY_missing_on_table__s
call fcn.14009d890
jmp 0x1400e8638
or eax, 0x280
mov rdx, rdi
mov dword [rdi + 0x40], eax
call fcn.1400e7740
mov rcx, qword [rdi + 0x70]
mov qword [rsp + 0x88], r12
xor r12d, r12d
mov qword [rsp + 0x80], r13
mov r13d, 0xfff0bdc0
mov dword [rsp + 0xc0], r13d
test rcx, rcx
je 0x1400e7fa4
mov rax, qword [rbp + 0x20]
mov r13d, r12d
add rax, 0x18
mov dword [rsp + 0xc0], r12d
cmp qword [rax], rcx
je 0x1400e7fa4
nop dword [rax + rax]
inc r13d
lea rax, [rax + 0x20]
cmp qword [rax], rcx
jne 0x1400e7f90
mov dword [rsp + 0xc0], r13d
mov rax, qword [rdi + 0x30]
test rax, rax
je 0x1400e7fdf
xor r9d, r9d
mov qword [rsp + 0x20], rax
mov rdx, rdi
mov rcx, rsi
lea r8d, [r9 + 4]
call fcn.1400d4730
cmp dword [rsi + 0x30], r12d
je 0x1400e7fdf
mov rdx, qword [rdi + 0x30]
test rdx, rdx
je 0x1400e7fdb
mov rcx, rbp
call fcn.1400d7100
mov qword [rdi + 0x30], r12
test byte [rdi + 0x40], 0x60
mov qword [rsp + 0x78], r14
je 0x1400e80f2
xor eax, eax
mov r15d, eax
cmp ax, word [rdi + 0x46]
jge 0x1400e80ca
xor r13d, r13d
mov ebx, r13d
nop dword [rax]
nop word [rax + rax]
mov rax, qword [rdi + 8]
test byte [rbx + rax + 0x1c], 0x60
je 0x1400e80a6
mov r14, qword [rbx + rax + 8]
mov r8d, 8
mov r9, r14
mov qword [rsp + 0x20], r13
mov rdx, rdi
mov rcx, rsi
call fcn.1400d4730
test eax, eax
je 0x1400e80a9
test r14, r14
je 0x1400e8051
mov rdx, r14
mov rcx, rbp
call fcn.1400d6020
mov edx, 0x48
mov rcx, rbp
call fcn.14009a640
test rax, rax
je 0x1400e809b
xor ecx, ecx
mov qword [rax], rcx
mov qword [rax + 8], rcx
mov qword [rax + 0x10], rcx
mov qword [rax + 0x18], rcx
mov qword [rax + 0x20], rcx
mov qword [rax + 0x28], rcx
mov qword [rax + 0x30], rcx
mov qword [rax + 0x38], rcx
mov qword [rax + 0x40], rcx
mov ecx, 0xffffffff
mov word [rax + 0x32], cx
mov byte [rax], 0x77
mov dword [rax + 0x28], 1
mov rcx, qword [rdi + 8]
mov qword [rbx + rcx + 8], rax
jmp 0x1400e80a9
inc r12d
movsx eax, word [rdi + 0x46]
inc r15d
add rbx, 0x20
cmp r15d, eax
jl 0x1400e8010
mov r13d, dword [rsp + 0xc0]
test r12d, r12d
jne 0x1400e80de
lea rdx, str.must_have_at_least_one_non_generated_column
mov rcx, rsi
call fcn.14009d890
jmp 0x1400e8623
mov rbx, qword [rsp + 0xe0]
xor r12d, r12d
movzx r15d, byte [rsp + 0xd8]
movsx r10d, word [rdi + 0x46]
mov r8d, r12d
mov rcx, qword [rdi + 8]
mov r9d, r12d
mov r11d, r12d
cmp r10d, 2
jl 0x1400e8138
lea eax, [r10 - 2]
shr eax, 1
inc eax
mov edx, eax
neg eax
lea r10d, [r10 + rax*2]
nop word [rax + rax]
movzx eax, byte [rcx + 0x1a]
add r8d, eax
movzx eax, byte [rcx + 0x3a]
add r9d, eax
add rcx, 0x40
sub rdx, 1
jne 0x1400e8120
test r10d, r10d
jle 0x1400e8142
movzx r11d, byte [rcx + 0x1a]
lea ecx, [r9 + r8]
add ecx, r11d
cmp word [rdi + 0x44], 0
lea eax, [rcx + 1]
cmovge eax, ecx
shl eax, 2
mov ecx, eax
call fcn.14009e9e0
mov r9, qword [rdi + 0x10]
mov word [rdi + 0x4c], ax
test r9, r9
je 0x1400e81d3
nop dword [rax + rax]
mov rax, qword [r9 + 0x18]
mov edx, r12d
mov r10, qword [rax + 8]
movzx eax, word [r9 + 0x60]
cmp r12w, ax
jae 0x1400e81b9
mov rcx, qword [r9 + 8]
movzx r8d, ax
nop
movzx eax, word [rcx]
test ax, ax
jns 0x1400e819f
mov eax, 1
jmp 0x1400e81ad
movsx rax, ax
shl rax, 5
movzx eax, byte [rax + r10 + 0x1a]
add edx, eax
add rcx, 2
sub r8, 1
jne 0x1400e8190
lea ecx, [rdx*4]
call fcn.14009e9e0
mov word [r9 + 0x5c], ax
mov r9, qword [r9 + 0x28]
test r9, r9
jne 0x1400e8170
movzx eax, byte [rbp + 0xb5]
test al, al
jne 0x1400e857f
mov r14, qword [rsi + 0x10]
test r14, r14
jne 0x1400e8215
cmp qword [rsi + 0xa0], r14
jne 0x1400e8201
mov rax, qword [rsi]
test byte [rax + 0x5c], 8
jne 0x1400e8201
mov byte [rsi + 0x23], 1
mov rcx, rsi
call fcn.1400be3f0
mov r14, rax
test rax, rax
je 0x1400e8623
movsxd rcx, dword [r14 + 0x90]
cmp dword [r14 + 0x94], ecx
jg 0x1400e823e
xor r9d, r9d
mov dword [rsp + 0x20], r12d
xor r8d, r8d
mov rcx, r14
lea edx, [r9 + 0x74]
call fcn.1400be790
jmp 0x1400e8269
lea eax, [rcx + 1]
mov dword [r14 + 0x90], eax
lea rcx, [rcx + rcx*2]
mov rax, qword [r14 + 0x88]
mov qword [rax + rcx*8], 0x74
mov qword [rax + rcx*8 + 8], 0
mov qword [rax + rcx*8 + 0x10], r12
mov rax, qword [rdi + 0x18]
lea rcx, str.VIEW
test rax, rax
lea r8, str.TABLE
lea r12, str.table
cmovne r8, rcx
lea rcx, str.view
cmovne r12, rcx
test rbx, rbx
je 0x1400e847c
mov ebx, dword [rsi + 0x38]
mov edx, 0x61
inc ebx
mov dword [rsp + 0x20], r13d
mov rcx, rsi
lea r8d, [rdx - 0x60]
lea eax, [rbx + 1]
mov dword [rsp + 0xc0], eax
inc eax
mov dword [rsi + 0x38], eax
mov rax, qword [rsi + 0xa0]
test rax, rax
cmovne rcx, rax
mov byte [rcx + 0x21], 1
mov rcx, r14
mov r9d, dword [rsi + 0x7c]
call fcn.1400be7f0
movsxd rax, dword [r14 + 0x90]
test eax, eax
jle 0x1400e8300
lea rcx, [rax + rax*2]
mov edx, 0x10
mov rax, qword [r14 + 0x88]
mov word [rax + rcx*8 - 0x16], dx
mov dword [rsi + 0x34], 2
xor r9d, r9d
mov r15d, dword [r14 + 0x90]
mov r8d, ebx
mov rcx, r14
lea edx, [r9 + 0xd]
lea eax, [r15 + 1]
mov dword [rsp + 0x20], eax
call fcn.1400be7f0
cmp dword [rsi + 0x30], 0
jne 0x1400e8623
mov rdx, qword [rsp + 0xe0]
mov r8b, 0x41
mov rcx, rsi
call fcn.140106220
test rax, rax
je 0x1400e8623
movzx ecx, word [rax + 0x46]
mov word [rdi + 0x48], cx
mov word [rdi + 0x46], cx
mov rcx, qword [rax + 8]
mov qword [rdi + 8], rcx
xor ecx, ecx
mov word [rax + 0x46], cx
mov qword [rax + 8], rcx
cmp qword [rbp + 0x2d8], rcx
jne 0x1400e837b
add dword [rax + 0x3c], 0xffffffff
jne 0x1400e8388
mov rdx, rax
mov rcx, rbp
call fcn.1400e54c0
xor ecx, ecx
mov rdx, qword [rsp + 0xe0]
lea r8, [rsp + 0x50]
mov qword [rsp + 0x60], rcx
mov rcx, rsi
mov byte [rsp + 0x50], 0xd
mov dword [rsp + 0x54], ebx
mov qword [rsp + 0x58], 0
call fcn.14010ba30
cmp dword [rsi + 0x30], 0
jne 0x1400e8623
mov edx, ebx
mov rcx, r14
call fcn.1400bf080
mov edx, r15d
mov rcx, r14
call fcn.1400bf4d0
mov r8d, dword [rsp + 0x54]
mov edx, 0xe
mov rcx, r14
call fcn.1400be8d0
mov r9d, dword [rsp + 0x5c]
mov edx, 0x5b
mov r8d, dword [rsp + 0x58]
mov rcx, r14
mov r15d, dword [rsp + 0xc0]
mov ebx, eax
mov dword [rsp + 0x20], r15d
call fcn.1400be7f0
xor r8d, r8d
mov rdx, rdi
mov rcx, r14
call fcn.1400f6dc0
mov edx, 0x78
lea r9d, [r15 + 1]
mov rcx, r14
lea r8d, [rdx - 0x77]
call fcn.1400be940
mov edx, 0x79
lea eax, [r15 + 1]
mov r9d, r15d
mov dword [rsp + 0x20], eax
mov rcx, r14
lea r8d, [rdx - 0x78]
call fcn.1400be7f0
mov edx, ebx
mov rcx, r14
call fcn.1400be9b0
mov edx, ebx
mov rcx, r14
call fcn.1400bf4d0
mov edx, 0x74
mov rcx, r14
lea r8d, [rdx - 0x73]
call fcn.1400be8d0
mov rdx, rdi
mov rcx, rbp
call fcn.1400e7230
jmp 0x1400e84c1
lea rcx, [rsi + 0x100]
test r15b, r15b
jne 0x1400e8490
mov rcx, qword [rsp + 0xd0]
mov rax, qword [rcx]
mov r9d, dword [rcx]
sub r9d, dword [rsi + 0xf0]
cmp byte [rax], 0x3b
je 0x1400e84a6
add r9d, dword [rcx + 8]
mov rax, qword [rsi + 0xf0]
lea rdx, str.CREATE__s__.s
mov rcx, rbp
mov qword [rsp + 0x20], rax
call fcn.14009c9f0
mov rcx, qword [rdi]
lea r9, str.sqlite_master
mov r8, qword [rbp + 0x20]
lea rdx, str.UPDATE__Q._s_SET_type_s__name_Q__tbl_name_Q__rootpage_d__sql_Q_WHERE_rowid_d
mov r15, rax
movsxd rbx, r13d
mov eax, dword [rsi + 0x78]
mov dword [rsp + 0x48], eax
mov eax, dword [rsi + 0x7c]
mov qword [rsp + 0x40], r15
mov dword [rsp + 0x38], eax
mov qword [rsp + 0x30], rcx
mov qword [rsp + 0x28], rcx
mov rcx, rsi
shl rbx, 5
mov qword [rsp + 0x20], r12
mov r8, qword [rbx + r8]
call fcn.1400e4680
mov rdx, r15
mov rcx, rbp
call fcn.14009a2f0
mov edx, r13d
mov rcx, rsi
call fcn.1400e70a0
test byte [rdi + 0x40], 8
je 0x1400e854d
mov r8, qword [rbp + 0x20]
mov rax, qword [r8 + rbx + 0x18]
cmp qword [rax + 0x68], 0
jne 0x1400e854d
mov r8, qword [r8 + rbx]
lea rdx, str.CREATE_TABLE__Q.sqlite_sequence_name_seq_
mov rcx, rsi
call fcn.1400e4680
mov r8, qword [rdi]
lea rdx, str.tbl_name_q_AND_type_trigger
mov rcx, rbp
call fcn.14009c9f0
mov r8, rax
mov edx, r13d
mov rcx, r14
call fcn.1400beef0
movzx eax, byte [rbp + 0xb5]
xor r12d, r12d
test al, al
je 0x1400e8623
mov rcx, qword [rdi + 0x70]
mov r8, rdi
mov rdx, qword [rdi]
add rcx, 8
call fcn.14009eee0
test rax, rax
je 0x1400e85e1
cmp byte [rbp + 0x61], 0
jne 0x1400e8623
cmp byte [rbp + 0x62], 0
jne 0x1400e8623
cmp dword [rbp + 0xd4], 0
mov byte [rbp + 0x61], 1
jle 0x1400e85be
mov dword [rbp + 0x170], 1
inc dword [rbp + 0x178]
mov rax, qword [rbp + 0x138]
mov word [rbp + 0x17c], r12w
test rax, rax
je 0x1400e8623
mov dword [rax + 0x18], 7
jmp 0x1400e8623
mov qword [rsi + 0x140], r12
or dword [rbp + 0x2c], 1
cmp qword [rdi + 0x18], 0
jne 0x1400e8623
mov rax, qword [rsp + 0xc8]
mov rcx, qword [rsi + 0xf0]
mov rax, qword [rax]
test rax, rax
jne 0x1400e8614
mov rax, qword [rsp + 0xd0]
mov eax, dword [rax]
sub eax, ecx
mov edx, eax
call fcn.14009d5b0
add eax, 0xd
mov dword [rdi + 0x50], eax
mov r14, qword [rsp + 0x78]
mov r12, qword [rsp + 0x88]
mov r13, qword [rsp + 0x80]
mov rdi, qword [rsp + 0x90]
add rsp, 0x98
pop r15
pop rsi
pop rbp
pop rbx
ret