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

Disassembly:
mov qword [rsp + 0x10], rdx
push rbx
push rbp
push rsi
push rdi
sub rsp, 0x68
mov rdi, qword [rcx]
mov rbx, r8
mov rbp, rdx
mov qword [rsp + 0x38], rdi
mov rsi, rcx
cmp byte [rdi + 0x63], 0
jne 0x140196954
mov r9, qword [rdx + 8]
mov qword [rsp + 0x58], r14
mov qword [rsp + 0x50], r15
xor r15d, r15d
test r9, r9
je 0x1401963e8
mov rdx, qword [rdi + 0x20]
mov ecx, r15d
cmp qword [rdx + 0x18], r9
lea rax, [rdx + 0x18]
je 0x1401963db
nop
inc ecx
lea rax, [rax + 0x20]
cmp qword [rax], r9
jne 0x1401963d0
movsxd rax, ecx
shl rax, 5
mov r9, qword [rax + rdx]
jmp 0x1401963ec
mov r9, qword [rdx + 0x10]
mov r8, qword [rbp + 0x18]
xor edx, edx
mov rcx, rsi
call fcn.1401b89e0
mov r14, rax
test rax, rax
je 0x14019694a
mov rdx, rax
mov rcx, rsi
call fcn.14017fac0
test eax, eax
jne 0x14019694a
cmp qword [r14 + 0x18], r15
lea r9, str.view
cmove r9, r15
cmp dword [r14 + 0x54], r15d
je 0x140196437
lea r9, str.virtual_table
jmp 0x14019643c
test r9, r9
je 0x14019645f
mov rax, qword [r14]
lea r8, str.drop_column_from
lea rdx, str.cannot__s__s___s_
mov qword [rsp + 0x20], rax
mov rcx, rsi
call fcn.1401a59d0
jmp 0x14019694a
mov rdx, rbx
mov qword [rsp + 0x60], r13
mov rcx, rdi
call fcn.1401b9750
mov qword [rsp + 0x40], rax
mov r13, rax
test rax, rax
je 0x140196945
mov rdx, rax
mov qword [rsp + 0xa0], r12
mov rcx, r14
call fcn.14019fea0
movsxd r12, eax
test eax, eax
jns 0x1401964b1
mov r8, r13
lea rdx, str.no_such_column:___s_
mov rcx, rsi
call fcn.1401a59d0
jmp 0x140196932
mov rax, qword [r14 + 8]
mov r15, r12
shl r15, 5
movzx ecx, word [rax + r15 + 0x1c]
test cl, 9
je 0x1401964f3
test cl, 1
lea rax, str.PRIMARY_KEY
lea r8, str.UNIQUE
mov r9, r13
cmovne r8, rax
lea rdx, str.cannot_drop__s_column:___s_
mov rcx, rsi
call fcn.1401a59d0
jmp 0x140196932
cmp word [r14 + 0x46], 1
jg 0x140196512
mov r8, r13
lea rdx, str.cannot_drop_column___s_:_no_other_columns_exist
mov rcx, rsi
call fcn.1401a59d0
jmp 0x140196932
mov rcx, qword [r14 + 0x70]
mov ebp, 0xffff8000
test rcx, rcx
je 0x14019653b
mov rax, qword [rdi + 0x20]
xor ebp, ebp
add rax, 0x18
cmp qword [rax], rcx
je 0x14019653b
nop
inc ebp
lea rax, [rax + 0x20]
cmp qword [rax], rcx
jne 0x140196530
mov rax, qword [rdi + 0x20]
lea r9, [0x140348ec3]
xor ebx, ebx
movsxd rcx, ebp
shl rcx, 5
cmp ebp, 1
mov dword [rsp + 0x20], 0
sete bl
mov rdi, qword [rcx + rax]
mov r8d, ebx
mov rdx, rdi
mov rcx, rsi
call fcn.14018ea10
mov r8d, ebx
mov rdx, rdi
mov rcx, rsi
call fcn.14018df40
mov rax, qword [r14]
lea rdx, str.UPDATE___w_.sqlite_master_SET_sql__sqlite_drop_column__d__sql___d__WHERE__typetable_AND_tbl_name_Q_COLLATE_nocase_
mov qword [rsp + 0x28], rax
mov r9d, ebp
mov r8, rdi
mov dword [rsp + 0x20], r12d
mov rcx, rsi
call fcn.1401b9830
mov r8d, 2
mov edx, ebp
mov rcx, rsi
call fcn.14018e550
lea r9, str.after_drop_column
mov dword [rsp + 0x20], 1
mov r8d, ebx
mov rdx, rdi
mov rcx, rsi
call fcn.14018ea10
cmp dword [rsi + 0x30], 0
jne 0x140196925
mov rax, qword [r14 + 8]
test byte [rax + r15 + 0x1c], 0x20
jne 0x140196925
mov rdi, qword [rsi + 0x10]
xor ebx, ebx
xor r15d, r15d
test rdi, rdi
jne 0x140196615
cmp qword [rsi + 0xa0], rbx
jne 0x14019660a
mov rax, qword [rsi]
test byte [rax + 0x5c], 8
jne 0x14019660a
mov byte [rsi + 0x23], 1
mov rcx, rsi
call fcn.1401d1d70
mov rdi, rax
mov r13d, dword [rsi + 0x34]
mov r9, r14
mov r8d, ebp
mov dword [rsp + 0x20], 0x63
mov edx, r13d
lea ecx, [r13 + 1]
mov dword [rsi + 0x34], ecx
mov rcx, rsi
call fcn.1401b9b90
mov r8d, r13d
mov edx, 0x25
mov rcx, rdi
call fcn.1401d1230
inc dword [rsi + 0x38]
test byte [r14 + 0x40], 0x80
mov edx, dword [rsi + 0x38]
mov dword [rsp + 0x30], eax
mov dword [rsp + 0x90], edx
jne 0x140196681
mov r9d, edx
mov r8d, r13d
mov edx, 0x83
mov rcx, rdi
call fcn.1401d12a0
movsx ecx, word [r14 + 0x46]
add ecx, dword [rsi + 0x38]
jmp 0x140196733
mov rbx, qword [r14 + 0x10]
test rbx, rbx
je 0x1401966a2
nop word [rax + rax]
mov eax, dword [rbx + 0x64]
and al, 3
cmp al, 2
je 0x1401966a2
mov rbx, qword [rbx + 0x28]
test rbx, rbx
jne 0x140196690
movzx ecx, word [rbx + 0x60]
xor r8d, r8d
add ecx, edx
mov ebp, r8d
mov dword [rsi + 0x38], ecx
movzx eax, word [rbx + 0x5e]
cmp r8w, ax
jae 0x14019672f
lea r15d, [rdx + 1]
nop
movsxd rcx, dword [rdi + 0x90]
cmp dword [rdi + 0x94], ecx
jg 0x1401966ef
lea eax, [r15 + rbp]
mov r9d, ebp
mov r8d, r13d
mov dword [rsp + 0x20], eax
mov edx, 0x5b
mov rcx, rdi
call fcn.14017e5d0
xor r8d, r8d
jmp 0x140196722
lea eax, [rcx + 1]
mov dword [rdi + 0x90], eax
lea rcx, [rcx + rcx*2]
mov rax, qword [rdi + 0x88]
mov dword [rax + rcx*8], 0x5b
mov dword [rax + rcx*8 + 4], r13d
mov dword [rax + rcx*8 + 8], ebp
lea rdx, [rax + rcx*8]
lea eax, [r15 + rbp]
mov qword [rdx + 0x10], r8
mov dword [rdx + 0xc], eax
movzx eax, word [rbx + 0x5e]
inc ebp
cmp ebp, eax
jl 0x1401966c0
mov ecx, dword [rsi + 0x38]
movzx r15d, ax
lea ebp, [rcx + 1]
xor r10d, r10d
mov dword [rsi + 0x38], ebp
mov esi, r10d
mov dword [rsp + 0xa8], ebp
cmp r10w, word [r14 + 0x46]
jge 0x140196886
mov ebp, dword [rsp + 0x90]
lea r11d, [r10 - 1]
nop dword [rax]
cmp esi, r12d
je 0x140196870
mov rax, qword [r14 + 8]
movsxd rcx, esi
shl rcx, 5
test byte [rcx + rax + 0x1c], 0x20
jne 0x140196870
test rbx, rbx
je 0x1401967e9
movzx edx, word [rbx + 0x60]
mov ecx, r10d
test edx, edx
je 0x1401967a3
mov r8, qword [rbx + 8]
movsxd rax, ecx
cmp si, word [r8 + rax*2]
je 0x1401967e3
inc ecx
cmp ecx, edx
jl 0x140196793
mov r8d, r11d
test edx, edx
je 0x1401967c1
mov r9, qword [rbx + 8]
mov eax, r10d
movsxd rcx, eax
cmp r12w, word [r9 + rcx*2]
je 0x1401967c5
inc eax
cmp eax, edx
jl 0x1401967b1
movzx eax, r11w
movzx ecx, word [rbx + 0x5e]
cmp r8d, ecx
jl 0x140196870
movsx ecx, ax
mov eax, r10d
cmp r8d, ecx
setg al
sub r8d, eax
jmp 0x1401967ec
movsx r8d, cx
jmp 0x1401967aa
mov r8d, r15d
movsx eax, word [r14 + 0x44]
lea edx, [rbp + 1]
add edx, r8d
cmp esi, eax
jne 0x14019684f
movsxd rcx, dword [rdi + 0x90]
cmp dword [rdi + 0x94], ecx
jg 0x140196823
xor r8d, r8d
mov dword [rsp + 0x20], r10d
mov r9d, edx
mov rcx, rdi
lea edx, [r8 + 0x48]
call fcn.14017e5d0
jmp 0x140196864
lea eax, [rcx + 1]
mov dword [rdi + 0x90], eax
lea rcx, [rcx + rcx*2]
mov rax, qword [rdi + 0x88]
mov qword [rax + rcx*8], 0x48
mov dword [rax + rcx*8 + 8], edx
mov dword [rax + rcx*8 + 0xc], r10d
mov qword [rax + rcx*8 + 0x10], r10
jmp 0x14019686d
mov dword [rsp + 0x20], edx
mov r9d, esi
mov rdx, r14
mov r8d, r13d
mov rcx, rdi
call fcn.1401a71b0
mov r11d, 0xffffffff
xor r10d, r10d
inc r15d
movsx eax, word [r14 + 0x46]
inc esi
cmp esi, eax
jl 0x140196760
mov ebp, dword [rsp + 0xa8]
mov r14d, dword [rsp + 0x90]
mov r9d, r15d
mov edx, 0x5d
mov dword [rsp + 0x20], ebp
mov rcx, rdi
lea esi, [r14 + 1]
mov r8d, esi
call fcn.1401d1310
mov r9d, ebp
mov r8d, r13d
mov rcx, rdi
test rbx, rbx
je 0x1401968cf
movzx eax, word [rbx + 0x5e]
mov edx, 0x86
mov dword [rsp + 0x28], eax
mov dword [rsp + 0x20], esi
call fcn.1401d14b0
jmp 0x1401968de
mov edx, 0x7c
mov dword [rsp + 0x20], r14d
call fcn.1401d1310
movsxd rax, dword [rdi + 0x90]
test eax, eax
jle 0x1401968fe
lea rcx, [rax + rax*2]
mov edx, 2
mov rax, qword [rdi + 0x88]
mov word [rax + rcx*8 - 0x16], dx
mov ebx, dword [rsp + 0x30]
mov r8d, r13d
mov edx, 5
mov rcx, rdi
lea r9d, [rbx + 1]
call fcn.1401d12a0
mov edx, ebx
mov rcx, rdi
call fcn.1401dbf90
mov r13, qword [rsp + 0x40]
mov rdi, qword [rsp + 0x38]
mov rbp, qword [rsp + 0x98]
mov rdx, r13
mov rcx, rdi
call fcn.1401a2e60
mov r12, qword [rsp + 0xa0]
mov r13, qword [rsp + 0x60]
mov r14, qword [rsp + 0x58]
mov r15, qword [rsp + 0x50]
mov rdx, rbp
mov rcx, rdi
add rsp, 0x68
pop rdi
pop rsi
pop rbp
pop rbx
jmp fcn.1401ca480