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

Disassembly:
mov qword [rsp + 0x10], rdx
push rbx
push rsi
push rdi
push r13
sub rsp, 0x68
mov r13, qword [rcx]
mov rbx, r8
mov rdi, rdx
mov qword [rsp + 0x40], r13
mov rsi, rcx
cmp byte [r13 + 0x63], 0
jne 0x140173124
mov r9, qword [rdx + 8]
mov qword [rsp + 0xa0], rbp
xor ebp, ebp
mov qword [rsp + 0x58], r14
test r9, r9
je 0x140172b3a
mov rdx, qword [r13 + 0x20]
mov ecx, ebp
cmp qword [rdx + 0x18], r9
lea rax, [rdx + 0x18]
je 0x140172b2d
inc ecx
lea rax, [rax + 0x20]
cmp qword [rax], r9
jne 0x140172b22
movsxd rax, ecx
shl rax, 5
mov r9, qword [rax + rdx]
jmp 0x140172b3e
mov r9, qword [rdx + 0x10]
mov r8, qword [rdi + 0x18]
xor edx, edx
mov rcx, rsi
call fcn.1401961a0
mov r14, rax
test rax, rax
je 0x140173117
mov rdx, rax
mov rcx, rsi
call fcn.14015c340
test eax, eax
jne 0x140173117
cmp qword [r14 + 0x18], rbp
lea r9, str.view
cmove r9, rbp
cmp dword [r14 + 0x54], ebp
je 0x140172b89
lea r9, str.virtual_table
jmp 0x140172b8e
test r9, r9
je 0x140172bb1
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.140182940
jmp 0x140173117
mov rdx, rbx
mov qword [rsp + 0x60], r12
mov rcx, r13
call fcn.140196f70
mov qword [rsp + 0x38], rax
mov r12, rax
test rax, rax
je 0x140173112
mov rdx, rax
mov rcx, r14
call fcn.14017c720
mov dword [rsp + 0x90], eax
test eax, eax
jns 0x140172bff
mov r8, r12
lea rdx, str.no_such_column:___s_
mov rcx, rsi
call fcn.140182940
jmp 0x1401730b0
mov qword [rsp + 0x50], r15
movsxd r15, eax
mov rax, qword [r14 + 8]
shl r15, 5
movzx ecx, word [rax + r15 + 0x1c]
test cl, 9
je 0x140172c46
test cl, 1
lea rax, str.PRIMARY_KEY
lea r8, str.UNIQUE
mov r9, r12
cmovne r8, rax
lea rdx, str.cannot_drop__s_column:___s_
mov rcx, rsi
call fcn.140182940
jmp 0x1401730ab
cmp word [r14 + 0x46], 1
jg 0x140172c65
mov r8, r12
lea rdx, str.cannot_drop_column___s_:_no_other_columns_exist
mov rcx, rsi
call fcn.140182940
jmp 0x1401730ab
mov rcx, qword [r14 + 0x70]
xor edx, edx
mov ebp, 0xffff8000
test rcx, rcx
je 0x140172c8f
mov rax, qword [r13 + 0x20]
mov ebp, edx
add rax, 0x18
cmp qword [rax], rcx
je 0x140172c8f
inc ebp
lea rax, [rax + 0x20]
cmp qword [rax], rcx
jne 0x140172c84
mov rax, qword [r13 + 0x20]
lea r9, [0x1402f7cc0]
mov ebx, edx
mov dword [rsp + 0x20], edx
movsxd rcx, ebp
shl rcx, 5
cmp ebp, 1
sete bl
mov rdi, qword [rcx + rax]
mov r8d, ebx
mov rdx, rdi
mov rcx, rsi
call fcn.14016af80
mov r8d, ebx
mov rdx, rdi
mov rcx, rsi
call fcn.14016a800
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 eax, dword [rsp + 0x90]
mov r8, rdi
mov rcx, rsi
mov dword [rsp + 0x20], eax
call fcn.140197050
mov r8d, 2
mov edx, ebp
mov rcx, rsi
call fcn.14016aac0
lea r9, str.after_drop_column
mov dword [rsp + 0x20], 1
mov r8d, ebx
mov rdx, rdi
mov rcx, rsi
call fcn.14016af80
cmp dword [rsi + 0x30], 0
jne 0x1401730a3
mov rax, qword [r14 + 8]
test byte [rax + r15 + 0x1c], 0x20
jne 0x1401730a3
mov rdi, qword [rsi + 0x10]
xor eax, eax
mov ebx, eax
mov r15d, eax
test rdi, rdi
jne 0x140172d6d
cmp qword [rsi + 0xa0], rax
jne 0x140172d62
mov rax, qword [rsi]
test byte [rax + 0x5c], 8
jne 0x140172d62
mov byte [rsi + 0x23], 1
mov rcx, rsi
call fcn.1401afd20
mov rdi, rax
mov eax, dword [rsi + 0x34]
mov r8d, ebp
mov r9, r14
mov dword [rsp + 0xa8], eax
mov edx, eax
mov dword [rsp + 0x20], 0x63
mov ebp, eax
lea ecx, [rax + 1]
mov dword [rsi + 0x34], ecx
mov rcx, rsi
call fcn.140197400
mov r8d, ebp
mov edx, 0x25
mov rcx, rdi
call fcn.1401af060
inc dword [rsi + 0x38]
test byte [r14 + 0x40], 0x80
mov edx, dword [rsi + 0x38]
mov dword [rsp + 0x34], eax
mov dword [rsp + 0x30], edx
jne 0x140172ddc
mov r9d, edx
mov r8d, ebp
mov edx, 0x83
mov rcx, rdi
call fcn.1401af0d0
movsx ecx, word [r14 + 0x46]
add ecx, dword [rsi + 0x38]
jmp 0x140172e9f
mov rbx, qword [r14 + 0x10]
test rbx, rbx
je 0x140172df7
mov eax, dword [rbx + 0x64]
and al, 3
cmp al, 2
je 0x140172df7
mov rbx, qword [rbx + 0x28]
test rbx, rbx
jne 0x140172de5
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 0x140172e94
mov r12d, dword [rsp + 0xa8]
lea r15d, [rdx + 1]
movsxd rcx, dword [rdi + 0x90]
cmp dword [rdi + 0x94], ecx
jg 0x140172e4f
lea eax, [r15 + rbp]
mov r9d, ebp
mov r8d, r12d
mov dword [rsp + 0x20], eax
mov edx, 0x5b
mov rcx, rdi
call fcn.14015ae20
xor r8d, r8d
jmp 0x140172e82
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], r12d
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 0x140172e20
mov ecx, dword [rsi + 0x38]
mov r12, qword [rsp + 0x38]
mov ebp, dword [rsp + 0xa8]
movzx r15d, ax
lea eax, [rcx + 1]
xor edx, edx
mov dword [rsi + 0x38], eax
mov esi, edx
mov dword [rsp + 0xa8], eax
cmp dx, word [r14 + 0x46]
jge 0x140173007
mov r10d, dword [rsp + 0x90]
lea r11d, [rdx - 1]
mov r12d, dword [rsp + 0x30]
xor r13d, r13d
nop
cmp esi, r10d
je 0x140172fe7
mov rax, qword [r14 + 8]
movsxd rcx, esi
shl rcx, 5
test byte [rcx + rax + 0x1c], 0x20
jne 0x140172fe7
test rbx, rbx
je 0x140172f59
movzx edx, word [rbx + 0x60]
mov ecx, r13d
test edx, edx
je 0x140172f13
mov r8, qword [rbx + 8]
movsxd rax, ecx
cmp si, word [r8 + rax*2]
je 0x140172f53
inc ecx
cmp ecx, edx
jl 0x140172f03
mov r8d, r11d
test edx, edx
je 0x140172f31
mov r9, qword [rbx + 8]
mov ecx, r13d
movsxd rax, ecx
cmp r10w, word [r9 + rax*2]
je 0x140172f35
inc ecx
cmp ecx, edx
jl 0x140172f21
movzx ecx, r11w
movzx eax, word [rbx + 0x5e]
cmp r8d, eax
jl 0x140172fe7
movsx eax, cx
mov ecx, r13d
cmp r8d, eax
setg cl
sub r8d, ecx
jmp 0x140172f5c
movsx r8d, cx
jmp 0x140172f1a
mov r8d, r15d
movsx eax, word [r14 + 0x44]
lea edx, [r12 + 1]
add edx, r8d
cmp esi, eax
jne 0x140172fc1
movsxd rcx, dword [rdi + 0x90]
cmp dword [rdi + 0x94], ecx
jg 0x140172f95
xor r8d, r8d
mov dword [rsp + 0x20], r13d
mov r9d, edx
mov rcx, rdi
lea edx, [r8 + 0x48]
call fcn.14015ae20
jmp 0x140172fd6
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], r13d
mov qword [rax + rcx*8 + 0x10], r13
jmp 0x140172fe4
mov dword [rsp + 0x20], edx
mov r9d, esi
mov rdx, r14
mov r8d, ebp
mov rcx, rdi
call fcn.1401841f0
mov r10d, dword [rsp + 0x90]
mov r11d, 0xffffffff
inc r15d
movsx eax, word [r14 + 0x46]
inc esi
cmp esi, eax
jl 0x140172ed0
mov r12, qword [rsp + 0x38]
mov r13, qword [rsp + 0x40]
mov eax, dword [rsp + 0xa8]
mov r14d, dword [rsp + 0x30]
mov r9d, r15d
mov edx, 0x5d
mov dword [rsp + 0x20], eax
mov rcx, rdi
lea esi, [r14 + 1]
mov r8d, esi
call fcn.1401af140
mov r9d, dword [rsp + 0xa8]
mov r8d, ebp
mov rcx, rdi
test rbx, rbx
je 0x140173052
movzx eax, word [rbx + 0x5e]
mov edx, 0x86
mov dword [rsp + 0x28], eax
mov dword [rsp + 0x20], esi
call fcn.1401af2e0
jmp 0x140173061
mov edx, 0x7c
mov dword [rsp + 0x20], r14d
call fcn.1401af140
movsxd rax, dword [rdi + 0x90]
test eax, eax
jle 0x140173081
lea rcx, [rax + rax*2]
mov edx, 2
mov rax, qword [rdi + 0x88]
mov word [rax + rcx*8 - 0x16], dx
mov ebx, dword [rsp + 0x34]
mov r8d, ebp
mov edx, 5
mov rcx, rdi
lea r9d, [rbx + 1]
call fcn.1401af0d0
mov edx, ebx
mov rcx, rdi
call fcn.1401ba2c0
mov rdi, qword [rsp + 0x98]
mov r15, qword [rsp + 0x50]
cmp qword [r13 + 0x2e0], 0
je 0x1401730c7
mov rdx, r12
mov rcx, r13
call fcn.14015eb90
jmp 0x140173112
cmp r12, qword [r13 + 0x1d0]
jae 0x14017310a
cmp r12, qword [r13 + 0x1c0]
jb 0x1401730ed
mov rax, qword [r13 + 0x1b8]
mov qword [r12], rax
mov qword [r13 + 0x1b8], r12
jmp 0x140173112
cmp r12, qword [r13 + 0x1c8]
jb 0x14017310a
mov rax, qword [r13 + 0x1a8]
mov qword [r12], rax
mov qword [r13 + 0x1a8], r12
jmp 0x140173112
mov rcx, r12
call fcn.14012f320
mov r12, qword [rsp + 0x60]
mov rbp, qword [rsp + 0xa0]
mov r14, qword [rsp + 0x58]
mov rdx, rdi
mov rcx, r13
add rsp, 0x68
pop r13
pop rdi
pop rsi
pop rbx
jmp fcn.1401a8420