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

Disassembly:
mov byte [rsp + 0x20], r9b
mov qword [rsp + 0x18], r8
mov qword [rsp + 0x10], rdx
push rsi
push r14
push r15
sub rsp, 0xb0
mov rsi, qword [rcx]
mov r14, rcx
mov r15, qword [rsp + 0xf0]
test r8, r8
jne 0x1401820b7
test r15, r15
je 0x140182898
mov qword [rsp + 0xa8], rbx
mov rbx, qword [rcx + 0x140]
test rbx, rbx
je 0x140182890
test r15, r15
jne 0x1401820f3
mov rdx, qword [rbx]
mov rcx, rsi
call fcn.1401a7fe0
movzx r9d, byte [rsp + 0xe8]
test eax, eax
je 0x1401820f3
or dword [rbx + 0x40], 0x1000
cmp byte [rsi + 0xbd], 0
je 0x140182126
test r15, r15
je 0x140182115
lea rdx, [0x1402f7cc0]
mov rcx, r14
call fcn.140182940
jmp 0x140182890
mov eax, dword [rsi + 0xb8]
mov dword [rbx + 0x38], eax
cmp eax, 1
jne 0x140182126
or dword [rbx + 0x40], eax
test r9b, r9b
jns 0x14018216e
mov eax, dword [rbx + 0x40]
mov rcx, r14
test al, 8
je 0x140182146
lea rdx, str.AUTOINCREMENT_not_allowed_on_WITHOUT_ROWID_tables
call fcn.140182940
jmp 0x140182890
test al, 4
jne 0x14018215e
mov r8, qword [rbx]
lea rdx, str.PRIMARY_KEY_missing_on_table__s
call fcn.140182940
jmp 0x140182890
or eax, 0x280
mov rdx, rbx
mov dword [rbx + 0x40], eax
call fcn.14014c490
mov rcx, qword [rbx + 0x70]
mov qword [rsp + 0x90], r12
mov r12d, 0xffff8000
mov qword [rsp + 0x88], r13
xor r13d, r13d
mov dword [rsp + 0xd0], r12d
test rcx, rcx
je 0x1401821c4
mov rax, qword [rsi + 0x20]
mov r12d, r13d
add rax, 0x18
mov dword [rsp + 0xd0], r13d
cmp qword [rax], rcx
je 0x1401821c4
inc r12d
lea rax, [rax + 0x20]
cmp qword [rax], rcx
jne 0x1401821b0
mov dword [rsp + 0xd0], r12d
mov rax, qword [rbx + 0x30]
test rax, rax
je 0x1401821ff
xor r9d, r9d
mov qword [rsp + 0x20], rax
mov rdx, rbx
mov rcx, r14
lea r8d, [r9 + 4]
call fcn.1401a1e50
cmp dword [r14 + 0x30], r13d
je 0x1401821ff
mov rdx, qword [rbx + 0x30]
test rdx, rdx
je 0x1401821fb
mov rcx, rsi
call fcn.140152be0
mov qword [rbx + 0x30], r13
test byte [rbx + 0x40], 0x60
mov qword [rsp + 0xa0], rbp
mov qword [rsp + 0x98], rdi
je 0x1401822fb
xor eax, eax
mov r15d, eax
cmp ax, word [rbx + 0x46]
jge 0x1401822dc
xor r12d, r12d
mov edi, r12d
nop
mov rax, qword [rbx + 8]
test byte [rdi + rax + 0x1c], 0x60
je 0x1401822b8
mov rbp, qword [rdi + rax + 8]
mov r8d, 8
mov r9, rbp
mov qword [rsp + 0x20], r12
mov rdx, rbx
mov rcx, r14
call fcn.1401a1e50
test eax, eax
je 0x1401822bb
test rbp, rbp
je 0x14018226d
mov rdx, rbp
mov rcx, rsi
call fcn.1401874e0
mov edx, 0x48
mov rcx, rsi
call fcn.14017f9f0
mov rcx, rax
test rax, rax
je 0x1401822ad
xorps xmm0, xmm0
xor eax, eax
movups xmmword [rcx], xmm0
movups xmmword [rcx + 0x10], xmm0
movups xmmword [rcx + 0x20], xmm0
movups xmmword [rcx + 0x30], xmm0
mov qword [rcx + 0x40], rax
mov eax, 0xffffffff
mov word [rcx + 0x32], ax
mov byte [rcx], 0x78
mov dword [rcx + 0x28], 1
mov rax, qword [rbx + 8]
mov qword [rdi + rax + 8], rcx
jmp 0x1401822bb
inc r13d
movsx eax, word [rbx + 0x46]
inc r15d
add rdi, 0x20
cmp r15d, eax
jl 0x140182230
mov r12d, dword [rsp + 0xd0]
test r13d, r13d
jne 0x1401822f0
lea rdx, str.must_have_at_least_one_non_generated_column
mov rcx, r14
call fcn.140182940
jmp 0x140182870
mov r15, qword [rsp + 0xf0]
xor r13d, r13d
movsx r10d, word [rbx + 0x46]
mov edx, r13d
mov rcx, qword [rbx + 8]
mov r8d, r13d
mov r11d, r13d
cmp r10d, 2
jl 0x140182347
lea eax, [r10 - 2]
shr eax, 1
inc eax
mov r9d, eax
neg eax
lea r10d, [r10 + rax*2]
nop dword [rax]
nop dword [rax + rax]
movzx eax, byte [rcx + 0x1a]
add edx, eax
movzx eax, byte [rcx + 0x3a]
add r8d, eax
add rcx, 0x40
sub r9, 1
jne 0x140182330
test r10d, r10d
jle 0x140182351
movzx r11d, byte [rcx + 0x1a]
lea ecx, [r11 + rdx]
add ecx, r8d
cmp word [rbx + 0x44], 0
lea eax, [rcx + 1]
cmovge eax, ecx
shl eax, 2
mov ecx, eax
call fcn.140196550
mov rdi, qword [rbx + 0x10]
mov word [rbx + 0x4c], ax
test rdi, rdi
je 0x140182391
nop word [rax + rax]
mov rcx, rdi
call fcn.14014eed0
mov rdi, qword [rdi + 0x28]
test rdi, rdi
jne 0x140182380
movzx eax, byte [rsi + 0xbd]
test al, al
jne 0x1401827ab
mov rbp, qword [r14 + 0x10]
test rbp, rbp
jne 0x1401823d4
cmp qword [r14 + 0xa0], rbp
jne 0x1401823c0
mov rax, qword [r14]
test byte [rax + 0x5c], 8
jne 0x1401823c0
mov byte [r14 + 0x23], 1
mov rcx, r14
call fcn.1401afd20
mov rbp, rax
test rax, rax
je 0x140182870
movsxd rcx, dword [rbp + 0x90]
cmp dword [rbp + 0x94], ecx
jg 0x1401823fc
xor r9d, r9d
mov dword [rsp + 0x20], r13d
xor r8d, r8d
mov rcx, rbp
lea edx, [r9 + 0x76]
call fcn.14015ae20
jmp 0x140182426
lea eax, [rcx + 1]
mov dword [rbp + 0x90], eax
lea rcx, [rcx + rcx*2]
mov rax, qword [rbp + 0x88]
mov qword [rax + rcx*8], 0x76
mov qword [rax + rcx*8 + 8], 0
mov qword [rax + rcx*8 + 0x10], r13
mov rax, qword [rbx + 0x18]
lea rcx, str.VIEW
test rax, rax
lea r8, str.TABLE
lea r13, str.table
cmovne r8, rcx
lea rcx, str.view
cmovne r13, rcx
test r15, r15
je 0x140182642
mov edi, dword [r14 + 0x38]
mov edx, 0x63
inc edi
mov dword [rsp + 0x20], r12d
mov rcx, r14
lea r8d, [rdx - 0x62]
lea eax, [rdi + 1]
mov dword [rsp + 0xd0], eax
inc eax
mov dword [r14 + 0x38], eax
mov rax, qword [r14 + 0xa0]
test rax, rax
cmovne rcx, rax
mov byte [rcx + 0x21], 1
mov rcx, rbp
mov r9d, dword [r14 + 0x7c]
call fcn.1401af140
movsxd rax, dword [rbp + 0x90]
test eax, eax
jle 0x1401824bf
lea rcx, [rax + rax*2]
mov edx, reloc.WS2_32.dll_recv
mov rax, qword [rbp + 0x88]
mov word [rax + rcx*8 - 0x16], dx
mov dword [r14 + 0x34], 2
xor r9d, r9d
mov r15d, dword [rbp + 0x90]
mov r8d, edi
mov rcx, rbp
lea edx, [r9 + 0xd]
lea eax, [r15 + 1]
mov dword [rsp + 0x20], eax
call fcn.1401af140
cmp dword [r14 + 0x30], 0
jne 0x140182870
mov rdx, qword [rsp + 0xf0]
mov r8b, 0x41
mov rcx, r14
call fcn.1401a1f50
test rax, rax
je 0x140182870
movzx ecx, word [rax + 0x46]
mov word [rbx + 0x48], cx
mov word [rbx + 0x46], cx
mov rcx, qword [rax + 8]
mov qword [rbx + 8], rcx
xor ecx, ecx
mov word [rax + 0x46], cx
mov qword [rax + 8], rcx
cmp qword [rsi + 0x2e0], rcx
jne 0x14018253c
add dword [rax + 0x3c], 0xffffffff
jne 0x140182549
mov rdx, rax
mov rcx, rsi
call fcn.14014de50
xor ecx, ecx
mov rdx, qword [rsp + 0xf0]
lea r8, [rsp + 0x50]
mov qword [rsp + 0x68], rcx
mov dword [rsp + 0x60], ecx
mov rcx, r14
mov byte [rsp + 0x50], reloc.WS2_32.dll_listen
mov dword [rsp + 0x54], edi
mov qword [rsp + 0x58], 0
call fcn.1401a39d0
cmp dword [r14 + 0x30], 0
jne 0x140182870
mov edx, edi
mov rcx, rbp
call fcn.1401b0500
mov edx, r15d
mov rcx, rbp
call fcn.1401ba2c0
mov r8d, dword [rsp + 0x54]
mov edx, select
mov rcx, rbp
call fcn.1401af060
mov r9d, dword [rsp + 0x60]
mov edx, 0x5d
mov r8d, dword [rsp + 0x5c]
mov rcx, rbp
mov r15d, dword [rsp + 0xd0]
mov edi, eax
mov dword [rsp + 0x20], r15d
call fcn.1401af140
xor r8d, r8d
mov rdx, rbx
mov rcx, rbp
call fcn.1401a9950
mov edx, 0x7b
lea r9d, [r15 + 1]
mov rcx, rbp
lea r8d, [rdx - 0x7a]
call fcn.1401af0d0
mov edx, 0x7c
lea eax, [r15 + 1]
mov r9d, r15d
mov dword [rsp + 0x20], eax
mov rcx, rbp
lea r8d, [rdx - 0x7b]
call fcn.1401af140
mov edx, edi
mov rcx, rbp
call fcn.1401b9c00
mov edx, edi
mov rcx, rbp
call fcn.1401ba2c0
mov edx, 0x76
mov rcx, rbp
lea r8d, [rdx - 0x75]
call fcn.1401af060
mov rdx, rbx
mov rcx, rsi
call fcn.14014d250
jmp 0x14018268c
cmp byte [rsp + 0xe8], 0
lea rcx, [r14 + 0x100]
jne 0x14018265b
mov rcx, qword [rsp + 0xe0]
mov rax, qword [rcx]
mov r9d, dword [rcx]
sub r9d, dword [r14 + 0xf0]
cmp byte [rax], 0x3b
je 0x140182671
add r9d, dword [rcx + 8]
mov rax, qword [r14 + 0xf0]
lea rdx, str.CREATE__s__.s
mov rcx, rsi
mov qword [rsp + 0x20], rax
call fcn.140196720
mov rcx, qword [rbx]
lea rdx, str.UPDATE__Q.sqlite_master_SET_type_s__name_Q__tbl_name_Q__rootpage_d__sql_Q_WHERE_rowid_d
mov r8, qword [rsi + 0x20]
mov rdi, rax
mov eax, dword [r14 + 0x78]
mov r9, r13
mov dword [rsp + 0x40], eax
mov eax, dword [r14 + 0x7c]
mov qword [rsp + 0x38], rdi
mov dword [rsp + 0x30], eax
mov qword [rsp + 0x28], rcx
mov qword [rsp + 0x20], rcx
mov rcx, r14
movsxd r15, r12d
shl r15, 5
mov r8, qword [r15 + r8]
call fcn.140197050
test rdi, rdi
je 0x140182737
cmp qword [rsi + 0x2e0], 0
je 0x1401826ee
mov rdx, rdi
mov rcx, rsi
call fcn.14015eb90
jmp 0x140182737
cmp rdi, qword [rsi + 0x1d0]
jae 0x14018272f
cmp rdi, qword [rsi + 0x1c0]
jb 0x140182713
mov rax, qword [rsi + 0x1b8]
mov qword [rdi], rax
mov qword [rsi + 0x1b8], rdi
jmp 0x140182737
cmp rdi, qword [rsi + 0x1c8]
jb 0x14018272f
mov rax, qword [rsi + 0x1a8]
mov qword [rdi], rax
mov qword [rsi + 0x1a8], rdi
jmp 0x140182737
mov rcx, rdi
call fcn.14012f320
mov edx, r12d
mov rcx, r14
call fcn.14017a5e0
test byte [rbx + 0x40], 8
je 0x140182775
cmp byte [r14 + 0x114], 0
jne 0x140182775
mov r8, qword [rsi + 0x20]
mov rax, qword [r8 + r15 + 0x18]
cmp qword [rax + 0x68], 0
jne 0x140182775
mov r8, qword [r8 + r15]
lea rdx, str.CREATE_TABLE__Q.sqlite_sequence_name_seq_
mov rcx, r14
call fcn.140197050
mov r8, qword [rbx]
lea rdx, str.tbl_name_q_AND_type_trigger
mov rcx, rsi
call fcn.140196720
xor r13d, r13d
mov r8, rax
movzx r9d, r13w
mov edx, r12d
mov rcx, rbp
call fcn.1401af480
movzx eax, byte [rsi + 0xbd]
test al, al
je 0x140182837
mov rcx, qword [rbx + 0x70]
mov r8, rbx
mov rdx, qword [rbx]
add rcx, 8
call fcn.140191630
test rax, rax
je 0x140182811
cmp byte [rsi + 0x63], 0
jne 0x140182870
cmp byte [rsi + 0x64], 0
jne 0x140182870
cmp dword [rsi + 0xdc], 0
mov byte [rsi + 0x63], 1
jle 0x1401827ee
mov dword [rsi + 0x178], 1
inc dword [rsi + 0x180]
mov rax, qword [rsi + 0x140]
mov word [rsi + 0x184], r13w
test rax, rax
je 0x140182870
mov dword [rax + 0x18], 7
jmp 0x140182870
mov qword [r14 + 0x140], r13
lea rdx, str.sqlite_sequence
or dword [rsi + 0x2c], 1
mov rcx, qword [rbx]
call fcn.140289920
test eax, eax
jne 0x140182837
mov rax, qword [rbx + 0x70]
mov qword [rax + 0x68], rbx
cmp qword [rsp + 0xf0], 0
jne 0x140182870
cmp qword [rbx + 0x18], 0
jne 0x140182870
mov rax, qword [rsp + 0xd8]
mov rax, qword [rax]
test rax, rax
jne 0x140182863
mov rax, qword [rsp + 0xe0]
mov eax, dword [rax]
sub eax, dword [r14 + 0xf0]
add eax, 0xd
mov dword [rbx + 0x50], eax
mov rdi, qword [rsp + 0x98]
mov rbp, qword [rsp + 0xa0]
mov r12, qword [rsp + 0x90]
mov r13, qword [rsp + 0x88]
mov rbx, qword [rsp + 0xa8]
add rsp, 0xb0
pop r15
pop r14
pop rsi
ret