Function at 0x140083250
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 [0x140213480]
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 0x1400832c4
mov r9d, 0x183c6
jmp 0x1400832ea
mov qword [rax], r12
test r13, r13
jne 0x140083335
lea r8, str.NULL
lea rdx, str.API_call_with__s_database_connection_pointer
mov ecx, 0x15
call fcn.140088f10
mov r9d, 0x183cc
lea rax, [0x1401dc4f4]
mov ecx, 0x15
lea r8, str.misuse
mov qword [rsp + 0x20], rax
lea rdx, str._s_at_line__d_of___.10s_
call fcn.140088f10
mov eax, 0x15
mov rcx, qword [rbp + 0x140]
xor rcx, rsp
call fcn.1401b39d0
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 0x14008335a
cmp al, 0xba
je 0x14008334e
cmp al, 0x6d
je 0x14008334e
lea r8, str.invalid
jmp 0x1400832d3
lea r8, str.unopened
jmp 0x1400832d3
test r8, r8
je 0x1400832e4
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 0x140083387
call qword [0x14020e130]
mov edx, 0x38
mov rcx, r13
call fcn.140138f10
mov qword [rsp + 0x60], rax
mov rdi, rax
test rax, rax
je 0x1400833c0
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 0x140083448
lea rdx, str.out_of_memory
lea rcx, [rbp - 0x70]
call fcn.14013ba50
test rdi, rdi
je 0x140083952
test rsi, rsi
je 0x140083461
mov rdx, rsi
mov rcx, r13
call fcn.140138d80
mov qword [rsp + 0x40], r12
mov qword [rsp + 0x48], r12
cmp byte [r13 + 0x6f], r12b
jne 0x140083479
mov rcx, r13
call fcn.1400b3eb0
mov r9, rbx
lea rcx, [rbp - 0x70]
mov r8, r15
xor edx, edx
call fcn.1401602f0
mov qword [rsp + 0x58], rax
mov rbx, rax
test rax, rax
je 0x140083925
movzx eax, byte [rax + 0x3f]
cmp al, 1
je 0x140083912
test byte [rbx + 0x30], 0x80
jne 0x140083909
cmp al, 2
je 0x140083900
mov qword [rdi + 0x30], rbx
mov rcx, 0xffffffffffff8000
mov rdx, qword [rbx + 0x60]
test rdx, rdx
je 0x1400834ec
mov rax, qword [r13 + 0x20]
mov rcx, r12
add rax, 0x18
cmp qword [rax], rdx
je 0x1400834ec
nop dword [rax]
inc rcx
lea rax, [rax + 0x20]
cmp qword [rax], rdx
jne 0x1400834e0
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 0x140083563
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 0x140083539
test eax, eax
je 0x140083563
inc r8
jmp 0x140083523
lea rdx, [0x1401cf710]
movzx edx, byte [rcx + rdx]
mov rcx, rax
lea rax, [0x1401cf710]
movzx eax, byte [rcx + rax]
cmp eax, edx
jne 0x14008355b
inc r8
jmp 0x140083523
inc r15d
cmp r15d, r10d
jl 0x140083512
cmp r15d, r10d
je 0x1400838e9
cmp dword [rbp + 0x1c8], r12d
je 0x140083613
mov eax, dword [r13 + 0x30]
mov r9, r12
bt rax, 0xe
jae 0x1400835c4
mov r8, qword [rbx + 0x48]
test r8, r8
je 0x1400835c4
movsxd rdx, dword [r8 + 0x28]
test rdx, rdx
jle 0x1400835bb
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 0x1400835a0
mov r8, qword [r8 + 8]
test r8, r8
jne 0x140083590
mov r10, qword [rbx + 0x10]
test r10, r10
je 0x14008360a
nop dword [rax]
movzx eax, word [r10 + 0x5e]
cmp r12w, ax
jae 0x140083601
mov rdx, qword [r10 + 8]
mov r8d, eax
movsx ecx, word [rdx]
cmp ecx, r15d
je 0x1400835f0
cmp cx, 0xfffe
jne 0x1400835f7
lea r9, str.indexed
add rdx, 2
sub r8, 1
jne 0x1400835e2
mov r10, qword [r10 + 0x28]
test r10, r10
jne 0x1400835d0
test r9, r9
jne 0x1400838cb
lea rcx, [rbp - 0x70]
call fcn.14017a830
mov rdi, rax
mov rax, qword [rsp + 0x60]
mov qword [rax + 0x18], rdi
test rdi, rdi
je 0x140083854
mov rcx, qword [rbx + 0x60]
mov esi, 0xffff8000
mov r14, 0xffffffffffff8000
test rcx, rcx
je 0x14008366e
mov rax, qword [r13 + 0x20]
mov esi, r12d
add rax, 0x18
mov r14, r12
cmp qword [rax], rcx
je 0x14008366e
nop dword [rax]
inc esi
lea rax, [rax + 0x20]
inc r14
cmp qword [rax], rcx
jne 0x140083660
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.14017a0c0
movsxd rax, dword [rdi + 0x90]
test eax, eax
jle 0x1400836ad
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 0x1400836d7
mov edx, 6
mov rcx, rdi
call fcn.1401084f0
test eax, eax
je 0x1400836d7
mov rbx, r12
jmp 0x140083782
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 0x1400837bb
mov rax, qword [rdi]
shl r14, 5
mov rax, qword [rax + 0x20]
mov rcx, qword [rax + r14 + 8]
cmp byte [rcx + 0x11], r12b
je 0x1400837bb
mov eax, dword [rdi + 0xd0]
bts eax, esi
mov dword [rdi + 0xd0], eax
mov r14, qword [rsp + 0x58]
cmp byte [r13 + 0x67], r12b
jne 0x14008384f
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 0x1400837fd
mov rdx, qword [rdi + 0x88]
xor r9d, r9d
mov r8, qword [r14]
add rdx, 0x30
mov rcx, rdi
call fcn.14019b070
cmp byte [r13 + 0x67], r12b
jne 0x14008384f
cmp dword [rbp + 0x1c8], r12d
je 0x140083810
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.1401850c0
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 0x140083870
mov rcx, r13
call fcn.1400b4260
cmp byte [r13 + 0x67], r12b
jne 0x140083952
mov rdx, qword [rbp + 0x1c0]
lea r8, [rsp + 0x48]
mov rcx, rdi
call fcn.1400b30b0
mov ebx, dword [rsp + 0x38]
mov r14d, eax
inc ebx
mov dword [rsp + 0x30], eax
mov dword [rsp + 0x38], ebx
cmp ebx, 0x32
jge 0x1400838e2
cmp eax, 0x11
jne 0x1400838e2
lea rcx, [rbp - 0x70]
call fcn.140163fb0
mov rsi, qword [rsp + 0x48]
mov r15, qword [rsp + 0x70]
mov rbx, qword [rsp + 0x78]
mov qword [rsp + 0x40], rsi
jmp 0x1400833c0
mov r8, r9
lea rdx, str.cannot_open__s_column_for_writing
mov rcx, r13
call fcn.140160a90
mov rbx, rax
jmp 0x14008393c
mov rbx, qword [rsp + 0x48]
jmp 0x140083957
mov r8, rsi
lea rdx, str.no_such_column:___s_
mov rcx, r13
call fcn.140160a90
mov rbx, rax
jmp 0x14008393c
lea rdx, str.cannot_open_view:__s
jmp 0x140083919
lea rdx, str.cannot_open_table_without_rowid:__s
jmp 0x140083919
lea rdx, str.cannot_open_virtual_table:__s
mov r8, r15
lea rcx, [rbp - 0x70]
call fcn.14013ba50
mov rax, qword [rbp - 0x68]
test rax, rax
je 0x140083937
mov rbx, rax
mov qword [rbp - 0x68], r12
jmp 0x14008393c
mov rbx, qword [rsp + 0x40]
mov r14d, 1
cmp byte [r13 + 0x6f], r12b
jne 0x140083970
mov rcx, r13
call fcn.1400b4260
jmp 0x140083970
mov rbx, qword [rsp + 0x40]
test r14d, r14d
jne 0x14008396b
cmp byte [r13 + 0x67], r12b
jne 0x14008396b
mov rax, qword [rbp - 0x80]
mov qword [rax], rdi
jmp 0x140083989
test rdi, rdi
je 0x140083989
mov rcx, qword [rdi + 0x18]
test rcx, rcx
je 0x14008397e
call fcn.140184280
mov rdx, rdi
mov rcx, r13
call fcn.140138d80
lea rax, [0x1401d47c0]
test rbx, rbx
mov r8, r12
mov r9, rbx
cmovne r8, rax
mov edx, r14d
mov rcx, r13
call fcn.14013bb00
mov rdi, qword [rsp + 0x258]
test rbx, rbx
je 0x1400839c0
mov rdx, rbx
mov rcx, r13
call fcn.140138d80
lea rcx, [rbp - 0x70]
call fcn.140163fb0
cmp byte [r13 + 0x67], r12b
jne 0x1400839d4
test r14d, r14d
je 0x1400839e2
mov edx, r14d
mov rcx, r13
call fcn.1400b0200
mov r12d, eax
mov rcx, qword [r13 + 0x18]
test rcx, rcx
je 0x1400839f1
call qword [0x14020e140]
mov eax, r12d
jmp 0x140083313