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

Disassembly:
push rbp
push rbx
push rsi
push r12
push r13
push r14
push r15
lea rbp, [rsp - 0x160]
sub rsp, 0x260
mov rax, qword [0x14043f000]
xor rax, rsp
mov qword [rbp + 0x140], rax
mov rax, qword [rbp + 0x1d0]
xor r12d, r12d
mov qword [rsp + 0x50], r9
mov r15, r8
mov qword [rsp + 0x70], r8
mov rbx, rdx
mov qword [rsp + 0x78], rdx
mov r13, rcx
mov qword [rbp - 0x80], rax
mov r14d, r12d
mov dword [rsp + 0x38], r12d
mov esi, r12d
mov dword [rsp + 0x30], r12d
mov qword [rsp + 0x40], r12
test rax, rax
jne 0x1401fb2f4
mov r9d, 0x183c6
jmp 0x1401fb31a
mov qword [rax], r12
test r13, r13
jne 0x1401fb365
lea r8, str.NULL
lea rdx, str.API_call_with__s_database_connection_pointer
mov ecx, 0x15
call fcn.140200de0
mov r9d, 0x183cc
lea rax, [0x14041fce4]
mov ecx, 0x15
lea r8, str.misuse
mov qword [rsp + 0x20], rax
lea rdx, str._s_at_line__d_of___.10s_
call fcn.140200de0
mov eax, 0x15
mov rcx, qword [rbp + 0x140]
xor rcx, rsp
call fcn.14032a2c0
add rsp, 0x260
pop r15
pop r14
pop r13
pop r12
pop rsi
pop rbx
pop rbp
ret
movzx eax, byte [rcx + 0x71]
cmp al, 0x76
je 0x1401fb38a
cmp al, 0xba
je 0x1401fb37e
cmp al, 0x6d
je 0x1401fb37e
lea r8, str.invalid
jmp 0x1401fb303
lea r8, str.unopened
jmp 0x1401fb303
test r8, r8
je 0x1401fb314
cmp dword [rbp + 0x1c8], r12d
mov eax, r12d
mov rcx, qword [rcx + 0x18]
setne al
mov qword [rsp + 0x258], rdi
mov dword [rsp + 0x34], eax
test rcx, rcx
je 0x1401fb3b7
call qword [0x140439d90]
mov edx, 0x38
mov rcx, r13
call fcn.1402afcd0
mov qword [rsp + 0x60], rax
mov rdi, rax
test rax, rax
je 0x1401fb3f0
xorps xmm0, xmm0
xor eax, eax
movups xmmword [rdi], xmm0
movups xmmword [rdi + 0x10], xmm0
movups xmmword [rdi + 0x20], xmm0
mov qword [rdi + 0x30], rax
nop word [rax + rax]
xor edx, edx
lea rcx, [rbp - 0x68]
mov r8d, 0xdc
call sub.VCRUNTIME140.dll_memset
xorps xmm0, xmm0
mov qword [rbp - 0x70], r13
xor eax, eax
mov qword [rbp + 0x130], rax
mov rax, qword [r13 + 0x160]
mov qword [rbp + 0x98], rax
lea rax, [rbp - 0x70]
mov qword [r13 + 0x160], rax
movups xmmword [rbp + 0xb0], xmm0
movups xmmword [rbp + 0xc0], xmm0
movups xmmword [rbp + 0xd0], xmm0
movups xmmword [rbp + 0xe0], xmm0
movups xmmword [rbp + 0xf0], xmm0
movups xmmword [rbp + 0x100], xmm0
movups xmmword [rbp + 0x110], xmm0
movups xmmword [rbp + 0x120], xmm0
cmp byte [r13 + 0x67], r12b
je 0x1401fb478
lea rdx, str.out_of_memory
lea rcx, [rbp - 0x70]
call fcn.1402b2840
test rdi, rdi
je 0x1401fb974
test rsi, rsi
je 0x1401fb491
mov rdx, rsi
mov rcx, r13
call fcn.1402afb40
mov qword [rsp + 0x40], r12
mov qword [rsp + 0x48], r12
cmp byte [r13 + 0x6f], r12b
jne 0x1401fb4a9
mov rcx, r13
call fcn.14022a6e0
mov r9, rbx
lea rcx, [rbp - 0x70]
mov r8, r15
xor edx, edx
call fcn.1402d6c40
mov qword [rsp + 0x58], rax
mov rbx, rax
test rax, rax
je 0x1401fb95e
movzx eax, byte [rax + 0x3f]
cmp al, 1
je 0x1401fb94b
test byte [rbx + 0x30], 0x80
jne 0x1401fb942
cmp al, 2
je 0x1401fb939
mov qword [rdi + 0x30], rbx
mov rcx, 0xffffffffffff8000
mov rdx, qword [rbx + 0x60]
test rdx, rdx
je 0x1401fb51c
mov rax, qword [r13 + 0x20]
mov rcx, r12
add rax, 0x18
cmp qword [rax], rdx
je 0x1401fb51c
nop dword [rax]
inc rcx
lea rax, [rax + 0x20]
cmp qword [rax], rdx
jne 0x1401fb510
mov rax, qword [r13 + 0x20]
mov r15d, r12d
mov rsi, qword [rsp + 0x50]
shl rcx, 5
mov rcx, qword [rcx + rax]
mov qword [rdi + 0x28], rcx
movsx r10d, word [rbx + 0x36]
test r10d, r10d
jle 0x1401fb593
mov r11, qword [rbx + 8]
movsxd rax, r15d
mov r9, rsi
lea rcx, [rax + rax*2]
mov r8, qword [r11 + rcx*8]
sub r9, r8
movzx eax, byte [r8]
movzx ecx, byte [r9 + r8]
cmp eax, ecx
jne 0x1401fb569
test eax, eax
je 0x1401fb593
inc r8
jmp 0x1401fb553
lea rdx, [0x140412f30]
movzx edx, byte [rcx + rdx]
mov rcx, rax
lea rax, [0x140412f30]
movzx eax, byte [rcx + rax]
cmp eax, edx
jne 0x1401fb58b
inc r8
jmp 0x1401fb553
inc r15d
cmp r15d, r10d
jl 0x1401fb542
cmp r15d, r10d
je 0x1401fb92d
cmp dword [rbp + 0x1c8], r12d
je 0x1401fb643
mov eax, dword [r13 + 0x30]
mov r9, r12
bt rax, 0xe
jae 0x1401fb5f4
mov r8, qword [rbx + 0x48]
test r8, r8
je 0x1401fb5f4
movsxd rdx, dword [r8 + 0x28]
test rdx, rdx
jle 0x1401fb5eb
lea rcx, [r8 + 0x40]
nop dword [rax]
cmp dword [rcx], r15d
lea rax, str.foreign_key
lea rcx, [rcx + 0x10]
cmovne rax, r9
mov r9, rax
sub rdx, 1
jne 0x1401fb5d0
mov r8, qword [r8 + 8]
test r8, r8
jne 0x1401fb5c0
mov r10, qword [rbx + 0x10]
test r10, r10
je 0x1401fb63a
nop dword [rax]
movzx eax, word [r10 + 0x5e]
cmp r12w, ax
jae 0x1401fb631
mov rdx, qword [r10 + 8]
mov r8d, eax
movsx ecx, word [rdx]
cmp ecx, r15d
je 0x1401fb620
cmp cx, 0xfffe
jne 0x1401fb627
lea r9, str.indexed
add rdx, 2
sub r8, 1
jne 0x1401fb612
mov r10, qword [r10 + 0x28]
test r10, r10
jne 0x1401fb600
test r9, r9
jne 0x1401fb8fb
lea rcx, [rbp - 0x70]
call fcn.1402f0b90
mov rdi, rax
mov rax, qword [rsp + 0x60]
mov qword [rax + 0x18], rdi
test rdi, rdi
je 0x1401fb884
mov rcx, qword [rbx + 0x60]
mov esi, 0xffff8000
mov r14, 0xffffffffffff8000
test rcx, rcx
je 0x1401fb69e
mov rax, qword [r13 + 0x20]
mov esi, r12d
add rax, 0x18
mov r14, r12
cmp qword [rax], rcx
je 0x1401fb69e
nop dword [rax]
inc esi
lea rax, [rax + 0x20]
inc r14
cmp qword [rax], rcx
jne 0x1401fb690
mov eax, dword [rcx + 4]
mov r8d, esi
mov r9d, dword [rsp + 0x34]
mov edx, 2
mov dword [rsp + 0x28], eax
mov eax, dword [rcx]
mov rcx, rdi
mov dword [rsp + 0x20], eax
call fcn.1402f0420
movsxd rax, dword [rdi + 0x90]
test eax, eax
jle 0x1401fb6dd
lea rcx, [rax + rax*2]
mov rax, qword [rdi + 0x88]
mov word [rax + rcx*8 - 0x16], 1
mov eax, dword [rdi + 0x90]
add eax, 6
cmp eax, dword [rdi + 0x94]
jle 0x1401fb707
mov edx, 6
mov rcx, rdi
call fcn.14027f130
test eax, eax
je 0x1401fb707
mov rbx, r12
jmp 0x1401fb7b2
movsxd rax, dword [rdi + 0x90]
lea rcx, [rax + rax*2]
mov rax, qword [rdi + 0x88]
mov qword [rax + rcx*8], 0xa9
mov qword [rax + rcx*8 + 8], r12
mov qword [rax + rcx*8 + 0x10], r12
lea rbx, [rax + rcx*8]
mov qword [rbx + 0x18], 0x70
mov qword [rbx + 0x20], r12
mov qword [rbx + 0x28], r12
mov byte [rbx + 0x30], 0x1f
mov dword [rbx + 0x34], r12d
mov dword [rbx + 0x38], 5
mov eax, dword [rdi + 0x90]
add eax, 5
mov dword [rbx + 0x38], eax
mov eax, 1
mov dword [rbx + 0x3c], eax
mov byte [rbx + 0x31], r12b
mov qword [rbx + 0x40], r12
mov word [rbx + 0x32], r12w
mov qword [rbx + 0x48], 0x5e
mov dword [rbx + 0x50], r12d
mov dword [rbx + 0x54], eax
mov qword [rbx + 0x58], r12
mov dword [rbx + 0x60], 0x54
mov qword [rbx + 0x64], rax
mov dword [rbx + 0x6c], r12d
mov qword [rbx + 0x70], r12
mov qword [rbx + 0x78], 0x46
mov qword [rbx + 0x80], r12
mov qword [rbx + 0x88], r12
add dword [rdi + 0x90], 6
mov eax, dword [rdi + 0xcc]
bts eax, esi
mov dword [rdi + 0xcc], eax
cmp esi, 1
je 0x1401fb7eb
mov rax, qword [rdi]
shl r14, 5
mov rax, qword [rax + 0x20]
mov rcx, qword [rax + r14 + 8]
cmp byte [rcx + 0x11], r12b
je 0x1401fb7eb
mov eax, dword [rdi + 0xd0]
bts eax, esi
mov dword [rdi + 0xd0], eax
mov r14, qword [rsp + 0x58]
cmp byte [r13 + 0x67], r12b
jne 0x1401fb87f
mov dword [rbx + 4], esi
mov eax, dword [r14 + 0x28]
mov dword [rbx + 8], eax
mov eax, dword [rsp + 0x34]
mov dword [rbx + 0xc], eax
mov rax, qword [rdi]
cmp byte [rax + 0x67], r12b
jne 0x1401fb82d
mov rdx, qword [rdi + 0x88]
xor r9d, r9d
mov r8, qword [r14]
add rdx, 0x30
mov rcx, rdi
call fcn.140311470
cmp byte [r13 + 0x67], r12b
jne 0x1401fb87f
cmp dword [rbp + 0x1c8], r12d
je 0x1401fb840
mov byte [rbx + 0x18], 0x71
mov eax, dword [r14 + 0x28]
lea rdx, [rbp - 0x70]
mov dword [rbx + 0x20], eax
mov rcx, rdi
mov dword [rbx + 0x24], esi
mov byte [rbx + 0x19], 0xfd
movsx eax, word [r14 + 0x36]
inc eax
mov dword [rbx + 0x28], eax
movsx eax, word [r14 + 0x36]
mov dword [rbx + 0x50], eax
mov eax, 1
mov dword [rbp - 0x38], eax
mov dword [rbp - 0x3c], eax
mov word [rbp + 0xc0], r12w
call fcn.1402fb400
mov r14d, dword [rsp + 0x30]
mov rdi, qword [rsp + 0x60]
mov word [rdi + 8], r15w
mov qword [rdi + 0x20], r13
cmp byte [r13 + 0x6f], r12b
jne 0x1401fb8a0
mov rcx, r13
call fcn.14022aa90
cmp byte [r13 + 0x67], r12b
jne 0x1401fb974
mov rdx, qword [rbp + 0x1c0]
lea r8, [rsp + 0x48]
mov rcx, rdi
call fcn.1402298d0
mov ebx, dword [rsp + 0x38]
mov r14d, eax
inc ebx
mov dword [rsp + 0x30], eax
mov dword [rsp + 0x38], ebx
cmp ebx, 0x32
jge 0x1401fb926
cmp eax, 0x11
jne 0x1401fb926
lea rcx, [rbp - 0x70]
call fcn.1402da8a0
mov rsi, qword [rsp + 0x48]
mov r15, qword [rsp + 0x70]
mov rbx, qword [rsp + 0x78]
mov qword [rsp + 0x40], rsi
jmp 0x1401fb3f0
mov r8, r9
lea rdx, str.cannot_open__s_column_for_writing
mov rcx, r13
call fcn.1402d7330
mov rbx, rax
mov r14d, 1
cmp byte [r13 + 0x6f], r12b
jne 0x1401fb992
mov rcx, r13
call fcn.14022aa90
jmp 0x1401fb992
mov rbx, qword [rsp + 0x48]
jmp 0x1401fb979
mov r8, rsi
lea rdx, str.no_such_column:___s_
jmp 0x1401fb905
lea rdx, str.cannot_open_view:__s
jmp 0x1401fb952
lea rdx, str.cannot_open_table_without_rowid:__s
jmp 0x1401fb952
lea rdx, str.cannot_open_virtual_table:__s
mov r8, r15
lea rcx, [rbp - 0x70]
call fcn.1402b2840
mov rax, qword [rbp - 0x68]
test rax, rax
je 0x1401fb96d
mov qword [rbp - 0x68], r12
jmp 0x1401fb90d
mov rbx, qword [rsp + 0x40]
jmp 0x1401fb910
mov rbx, qword [rsp + 0x40]
test r14d, r14d
jne 0x1401fb98d
cmp byte [r13 + 0x67], r12b
jne 0x1401fb98d
mov rax, qword [rbp - 0x80]
mov qword [rax], rdi
jmp 0x1401fb9ab
test rdi, rdi
je 0x1401fb9ab
mov rcx, qword [rdi + 0x18]
test rcx, rcx
je 0x1401fb9a0
call fcn.1402fa5c0
mov rdx, rdi
mov rcx, r13
call fcn.1402afb40
lea rax, [0x140417fb8]
test rbx, rbx
mov r8, r12
mov r9, rbx
cmovne r8, rax
mov edx, r14d
mov rcx, r13
call fcn.1402b28f0
mov rdi, qword [rsp + 0x258]
test rbx, rbx
je 0x1401fb9e2
mov rdx, rbx
mov rcx, r13
call fcn.1402afb40
lea rcx, [rbp - 0x70]
call fcn.1402da8a0
cmp byte [r13 + 0x67], r12b
jne 0x1401fb9f6
test r14d, r14d
je 0x1401fba04
mov edx, r14d
mov rcx, r13
call fcn.1402269e0
mov r12d, eax
mov rcx, qword [r13 + 0x18]
test rcx, rcx
je 0x1401fba13
call qword [0x140439da0]
mov eax, r12d
jmp 0x1401fb343