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

Disassembly:
mov qword [rsp + 0x10], rbx
mov qword [rsp + 0x18], rbp
push rsi
push rdi
push r12
push r14
push r15
sub rsp, 0x30
mov rdi, qword [rcx]
mov r14d, r9d
mov rsi, r8
mov r12, rdx
mov rbx, rcx
test r8, r8
je 0x140258a39
cmp dword [r8 + 8], 0
jbe 0x140258a39
cmp byte [rdi + 0x99], 0
je 0x140258a0e
lea rdx, str.corrupt_database
call fcn.14021e490
inc dword [rbx + 0x50]
jmp 0x140258bad
mov rcx, rdi
mov r15, r8
call fcn.1402587f0
mov ebp, eax
test eax, eax
jns 0x140258a43
lea rdx, str.unknown_database__T
mov r8, r12
mov rcx, rbx
call fcn.14021e490
inc dword [rbx + 0x50]
jmp 0x140258bad
movzx ebp, byte [rdi + 0x98]
mov r15, rdx
test ebp, ebp
js 0x140258bad
mov r12d, 1
test r14d, r14d
je 0x140258a78
cmp dword [rsi + 8], 0
jbe 0x140258a75
cmp ebp, r12d
je 0x140258a75
lea rdx, str.temporary_table_name_must_be_unqualified
mov rcx, rbx
call fcn.14021e490
jmp 0x140258bad
mov ebp, r12d
movups xmm0, xmmword [r15]
mov rcx, rdi
movups xmmword [rbx + 0x238], xmm0
mov r8d, dword [r15 + 8]
mov rdx, qword [r15]
call fcn.14021bd60
mov rcx, rax
mov rsi, rax
call fcn.14021e500
test rsi, rsi
je 0x140258bad
mov rdx, rsi
mov rcx, rbx
call fcn.1402588e0
test eax, eax
jne 0x140258ba2
cmp byte [rdi + 0x98], r12b
mov rax, qword [rdi + 0x20]
lea rcx, str.sqlite_master
cmove r14d, r12d
movsxd r12, ebp
lea r8, str.sqlite_temp_master
shl r12, 5
cmp r14d, 1
mov rax, qword [r12 + rax]
cmovne r8, rcx
xor r9d, r9d
lea edx, [r9 + 0x12]
mov rcx, rbx
mov qword [rsp + 0x60], rax
mov qword [rsp + 0x20], rax
call fcn.140257470
test eax, eax
jne 0x140258ba2
cmp dword [rsp + 0x80], 0
mov eax, 4
je 0x140258b21
lea edx, [rax + 4]
lea eax, [rdx - 2]
jmp 0x140258b26
mov edx, 2
test r14d, r14d
cmovne edx, eax
cmp dword [rsp + 0x88], 0
jne 0x140258b52
mov rax, qword [rsp + 0x60]
xor r9d, r9d
mov r8, rsi
mov rcx, rbx
mov qword [rsp + 0x20], rax
call fcn.140257470
test eax, eax
jne 0x140258ba2
cmp byte [rbx + 0x1f3], 0
jne 0x140258bef
mov rax, qword [rdi + 0x20]
mov rcx, rbx
mov r14, qword [r12 + rax]
call fcn.140271c90
test eax, eax
jne 0x140258ba2
mov r8, r14
mov rdx, rsi
mov rcx, rdi
call fcn.140257c80
test rax, rax
je 0x140258bcd
cmp dword [rsp + 0x90], 0
mov rcx, rbx
jne 0x140258bc4
mov r8, r15
lea rdx, str.table__T_already_exists
call fcn.14021e490
mov rdx, rsi
mov rcx, rdi
call fcn.14021b8a0
mov rbx, qword [rsp + 0x68]
mov rbp, qword [rsp + 0x70]
add rsp, 0x30
pop r15
pop r14
pop r12
pop rdi
pop rsi
ret
mov edx, ebp
call fcn.14025dd40
jmp 0x140258ba2
mov r8, r14
mov rdx, rsi
mov rcx, rdi
call fcn.140257ef0
test rax, rax
je 0x140258bef
mov r8, rsi
lea rdx, str.there_is_already_an_index_named__s
mov rcx, rbx
jmp 0x140258b9d
mov edx, 0x80
mov rcx, rdi
call fcn.14021bb30
mov r14, rax
test rax, rax
jne 0x140258c14
mov byte [rdi + 0x50], 1
inc dword [rbx + 0x50]
mov dword [rbx + 0x18], 7
jmp 0x140258ba2
mov qword [rax], rsi
or eax, 0xffffffff
mov word [r14 + 0x40], ax
mov rax, qword [rdi + 0x20]
mov rcx, qword [r12 + rax + 0x18]
mov dword [r14 + 0x38], 0x100000
mov eax, 1
mov qword [r14 + 0x70], rcx
mov word [r14 + 0x44], ax
cmp byte [rbx + 0x1e], 0
mov qword [rbx + 0x220], r14
jne 0x140258c66
lea rdx, str.sqlite_sequence
mov rcx, rsi
call fcn.1402c7890
test eax, eax
jne 0x140258c66
mov rax, qword [r14 + 0x70]
mov qword [rax + 0x68], r14
cmp byte [rdi + 0x99], 0
jne 0x140258bad
mov rcx, rbx
call fcn.140275bc0
mov rsi, rax
test rax, rax
je 0x140258bad
mov r8d, ebp
xor edx, edx
mov rcx, rbx
call fcn.14025dee0
cmp dword [rsp + 0x88], 0
je 0x140258cb9
xor r9d, r9d
xor r8d, r8d
mov edx, 0x8c
mov rcx, rsi
mov dword [rsp + 0x20], 0
call fcn.14023b2f0
mov r12d, dword [rbx + 0x58]
mov r8d, ebp
mov edx, 0x32
inc r12d
mov rcx, rsi
mov dword [rsp + 0x20], 2
lea r14d, [r12 + 1]
mov dword [rbx + 0x1a0], r12d
lea r15d, [r14 + 1]
mov dword [rbx + 0x1a4], r14d
mov r9d, r15d
mov dword [rbx + 0x58], r15d
call fcn.14023b2f0
mov edx, ebp
mov rcx, rsi
call fcn.14023c080
xor r9d, r9d
mov r8d, r15d
lea edx, [r9 + 0x2c]
mov rcx, rsi
mov dword [rsp + 0x20], 0
call fcn.14023b2f0
test dword [rdi + 0x2c], 0x8000
mov ecx, 1
mov r8d, 4
lea edx, [rcx + 0x18]
mov r9d, r15d
cmovne r8d, ecx
mov rcx, rsi
mov dword [rsp + 0x60], eax
mov dword [rsp + 0x20], 0
call fcn.14023b2f0
mov r9d, 2
lea edx, [r9 + 0x31]
mov r8d, ebp
mov rcx, rsi
mov dword [rsp + 0x20], r15d
call fcn.14023b2f0
mov rax, qword [rdi + 0x20]
mov rcx, qword [rax + 0x18]
xor edi, edi
mov r9d, r15d
movzx r8d, byte [rcx + 0x71]
lea edx, [rdi + 0x19]
mov rcx, rsi
mov dword [rsp + 0x20], edi
call fcn.14023b2f0
lea r9d, [rdi + 5]
lea edx, [rdi + 0x33]
mov r8d, ebp
mov rcx, rsi
mov dword [rsp + 0x20], r15d
call fcn.14023b2f0
mov edx, dword [rsi + 0x3c]
mov eax, dword [rsp + 0x60]
cmp edx, eax
jbe 0x140258db3
lea rcx, [rax + rax*2]
mov rax, qword [rsi + 8]
mov dword [rax + rcx*8 + 8], edx
mov ecx, dword [rsi + 0x3c]
mov rax, qword [rsi + 0x30]
dec ecx
mov dword [rax + 0x68], ecx
cmp dword [rsp + 0x80], edi
jne 0x140258df0
cmp dword [rsp + 0x88], edi
jne 0x140258df0
mov r9d, r14d
mov r8d, ebp
mov edx, 0x75
mov rcx, rsi
mov dword [rsp + 0x20], edi
call fcn.14023b2f0
mov dword [rbx + 0x1d0], eax
jmp 0x140258e06
xor r8d, r8d
mov r9d, r14d
mov rcx, rsi
lea edx, [r8 + 0x19]
mov dword [rsp + 0x20], edi
call fcn.14023b2f0
mov edx, ebp
mov rcx, rbx
call fcn.140258690
xor r8d, r8d
mov r9d, r12d
lea edx, [r8 + 0x45]
mov rcx, rsi
mov dword [rsp + 0x20], edi
call fcn.14023b2f0
xor r8d, r8d
mov r9d, r15d
lea edx, [r8 + 0x1c]
mov rcx, rsi
mov dword [rsp + 0x20], edi
call fcn.14023b2f0
xor r8d, r8d
mov r9d, r15d
lea edx, [r8 + 0x46]
mov rcx, rsi
mov dword [rsp + 0x20], r12d
call fcn.14023b2f0
mov rdx, qword [rsi + 8]
test rdx, rdx
je 0x140258e69
movsxd rax, dword [rsi + 0x3c]
lea rcx, [rax + rax*2]
mov byte [rdx + rcx*8 - 0x15], 8
xor r9d, r9d
xor r8d, r8d
mov rcx, rsi
lea edx, [r9 + 0x3a]
mov dword [rsp + 0x20], edi
call fcn.14023b2f0
jmp 0x140258bad