Function at 0x140255380
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 0x1402553f9
cmp dword [r8 + 8], 0
jbe 0x1402553f9
cmp byte [rdi + 0x99], 0
je 0x1402553ce
lea rdx, str.corrupt_database
call fcn.14021ae50
inc dword [rbx + 0x50]
jmp 0x14025556d
mov rcx, rdi
mov r15, r8
call fcn.1402551b0
mov ebp, eax
test eax, eax
jns 0x140255403
lea rdx, str.unknown_database__T
mov r8, r12
mov rcx, rbx
call fcn.14021ae50
inc dword [rbx + 0x50]
jmp 0x14025556d
movzx ebp, byte [rdi + 0x98]
mov r15, rdx
test ebp, ebp
js 0x14025556d
mov r12d, 1
test r14d, r14d
je 0x140255438
cmp dword [rsi + 8], 0
jbe 0x140255435
cmp ebp, r12d
je 0x140255435
lea rdx, str.temporary_table_name_must_be_unqualified
mov rcx, rbx
call fcn.14021ae50
jmp 0x14025556d
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.140218720
mov rcx, rax
mov rsi, rax
call fcn.14021aec0
test rsi, rsi
je 0x14025556d
mov rdx, rsi
mov rcx, rbx
call fcn.1402552a0
test eax, eax
jne 0x140255562
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.140253e30
test eax, eax
jne 0x140255562
cmp dword [rsp + 0x80], 0
mov eax, 4
je 0x1402554e1
lea edx, [rax + 4]
lea eax, [rdx - 2]
jmp 0x1402554e6
mov edx, 2
test r14d, r14d
cmovne edx, eax
cmp dword [rsp + 0x88], 0
jne 0x140255512
mov rax, qword [rsp + 0x60]
xor r9d, r9d
mov r8, rsi
mov rcx, rbx
mov qword [rsp + 0x20], rax
call fcn.140253e30
test eax, eax
jne 0x140255562
cmp byte [rbx + 0x1f3], 0
jne 0x1402555af
mov rax, qword [rdi + 0x20]
mov rcx, rbx
mov r14, qword [r12 + rax]
call fcn.14026e650
test eax, eax
jne 0x140255562
mov r8, r14
mov rdx, rsi
mov rcx, rdi
call fcn.140254640
test rax, rax
je 0x14025558d
cmp dword [rsp + 0x90], 0
mov rcx, rbx
jne 0x140255584
mov r8, r15
lea rdx, str.table__T_already_exists
call fcn.14021ae50
mov rdx, rsi
mov rcx, rdi
call fcn.140218260
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.14025a700
jmp 0x140255562
mov r8, r14
mov rdx, rsi
mov rcx, rdi
call fcn.1402548b0
test rax, rax
je 0x1402555af
mov r8, rsi
lea rdx, str.there_is_already_an_index_named__s
mov rcx, rbx
jmp 0x14025555d
mov edx, 0x80
mov rcx, rdi
call fcn.1402184f0
mov r14, rax
test rax, rax
jne 0x1402555d4
mov byte [rdi + 0x50], 1
inc dword [rbx + 0x50]
mov dword [rbx + 0x18], 7
jmp 0x140255562
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 0x140255626
lea rdx, str.sqlite_sequence
mov rcx, rsi
call fcn.1402c43d0
test eax, eax
jne 0x140255626
mov rax, qword [r14 + 0x70]
mov qword [rax + 0x68], r14
cmp byte [rdi + 0x99], 0
jne 0x14025556d
mov rcx, rbx
call fcn.140272580
mov rsi, rax
test rax, rax
je 0x14025556d
mov r8d, ebp
xor edx, edx
mov rcx, rbx
call fcn.14025a8a0
cmp dword [rsp + 0x88], 0
je 0x140255679
xor r9d, r9d
xor r8d, r8d
mov edx, 0x8c
mov rcx, rsi
mov dword [rsp + 0x20], 0
call fcn.140237cb0
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.140237cb0
mov edx, ebp
mov rcx, rsi
call fcn.140238a40
xor r9d, r9d
mov r8d, r15d
lea edx, [r9 + 0x2c]
mov rcx, rsi
mov dword [rsp + 0x20], 0
call fcn.140237cb0
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.140237cb0
mov r9d, 2
lea edx, [r9 + 0x31]
mov r8d, ebp
mov rcx, rsi
mov dword [rsp + 0x20], r15d
call fcn.140237cb0
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.140237cb0
lea r9d, [rdi + 5]
lea edx, [rdi + 0x33]
mov r8d, ebp
mov rcx, rsi
mov dword [rsp + 0x20], r15d
call fcn.140237cb0
mov edx, dword [rsi + 0x3c]
mov eax, dword [rsp + 0x60]
cmp edx, eax
jbe 0x140255773
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 0x1402557b0
cmp dword [rsp + 0x88], edi
jne 0x1402557b0
mov r9d, r14d
mov r8d, ebp
mov edx, 0x75
mov rcx, rsi
mov dword [rsp + 0x20], edi
call fcn.140237cb0
mov dword [rbx + 0x1d0], eax
jmp 0x1402557c6
xor r8d, r8d
mov r9d, r14d
mov rcx, rsi
lea edx, [r8 + 0x19]
mov dword [rsp + 0x20], edi
call fcn.140237cb0
mov edx, ebp
mov rcx, rbx
call fcn.140255050
xor r8d, r8d
mov r9d, r12d
lea edx, [r8 + 0x45]
mov rcx, rsi
mov dword [rsp + 0x20], edi
call fcn.140237cb0
xor r8d, r8d
mov r9d, r15d
lea edx, [r8 + 0x1c]
mov rcx, rsi
mov dword [rsp + 0x20], edi
call fcn.140237cb0
xor r8d, r8d
mov r9d, r15d
lea edx, [r8 + 0x46]
mov rcx, rsi
mov dword [rsp + 0x20], r12d
call fcn.140237cb0
mov rdx, qword [rsi + 8]
test rdx, rdx
je 0x140255829
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.140237cb0
jmp 0x14025556d