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

Disassembly:
mov rax, rsp
mov dword [rax + 0x20], r9d
mov qword [rax + 0x18], r8
mov qword [rax + 0x10], rdx
mov qword [rax + 8], rcx
push rbx
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
sub rsp, 0xa8
mov rbx, qword [rcx]
mov r15, rcx
mov r12d, dword [rsp + 0x110]
mov ecx, 1
mov r13b, cl
mov dword [rsp + 0x58], r12d
add r12d, ecx
mov qword [rsp + 0x90], rbx
mov eax, dword [r15 + 0x54]
mov r14, rdx
mov dword [rsp + 0x110], r12d
lea esi, [r12 + 1]
mov dword [rsp + 0x48], esi
add esi, ecx
mov dword [rsp + 0x44], esi
add esi, ecx
mov dword [rsp + 0x54], esi
add esi, ecx
mov dword [rsp + 0x64], esi
add esi, ecx
mov dword [rsp + 0x60], esi
add esi, ecx
cmp eax, esi
mov rcx, r15
cmovle eax, esi
mov dword [r15 + 0x54], eax
call fcn.140041370
mov rdi, rax
test rax, rax
je 0x14001905a
test r14, r14
je 0x14001905a
cmp dword [r14 + 0x3c], 0
je 0x14001905a
mov rcx, qword [r14]
lea rdx, str.sqlite_
mov r8d, 7
call fcn.140017164
test eax, eax
je 0x14001905a
mov rdx, qword [r14 + 0x70]
mov rcx, rbx
call fcn.14004c498
mov rcx, qword [rbx + 0x20]
xor r9d, r9d
mov r8, qword [r14]
movsxd rbp, eax
mov rdx, rbp
mov dword [rsp + 0x68], ebp
shl rdx, 5
mov rdx, qword [rdx + rcx]
mov rcx, r15
mov qword [rsp + 0x20], rdx
lea edx, [r9 + 0x1c]
call fcn.1400332cc
test eax, eax
jne 0x14001905a
mov rax, qword [r14]
xor r9d, r9d
mov r8d, dword [r14 + 0x3c]
mov edx, ebp
mov rcx, r15
mov qword [rsp + 0x20], rax
call fcn.14004eee4
mov eax, dword [rsp + 0x118]
mov r9, r14
mov edx, eax
mov dword [rsp + 0x70], eax
inc eax
mov dword [rsp + 0x20], 0x36
mov dword [rsp + 0x118], eax
mov r8d, ebp
lea ecx, [rax + 1]
mov eax, dword [r15 + 0x50]
cmp eax, ecx
cmovle eax, ecx
mov rcx, r15
mov dword [r15 + 0x50], eax
call fcn.1400449cc
mov rax, qword [r14]
xor r8d, r8d
and dword [rsp + 0x30], 0
mov rcx, rdi
mov r9d, dword [rsp + 0x54]
mov qword [rsp + 0x28], rax
and dword [rsp + 0x20], 0
lea edx, [r8 + 0x61]
call fcn.140051bf4
mov rbp, qword [r14 + 0x10]
mov qword [rsp + 0x98], rbp
test rbp, rbp
je 0x140018f85
mov rax, qword [rsp + 0x100]
test rax, rax
je 0x140018b27
cmp rax, rbp
jne 0x140018f70
mov rax, qword [rbp + 0x48]
neg rax
sbb cl, cl
and cl, r13b
test byte [r14 + 0x48], 0x20
mov byte [rsp + 0x40], cl
je 0x140018b53
mov eax, dword [rbp + 0x64]
and al, 3
cmp al, 2
jne 0x140018b53
movzx ebx, word [rbp + 0x5e]
mov rax, r14
mov r13d, ebx
jmp 0x140018b68
test byte [rbp + 0x64], 8
mov rax, rbp
movzx ebx, word [rbp + 0x60]
mov r13d, ebx
je 0x140018b68
movzx r13d, word [rbp + 0x5e]
mov rax, qword [rax]
lea ecx, [r13 - 1]
and dword [rsp + 0x30], 0
xor r8d, r8d
mov r9d, dword [rsp + 0x64]
mov dword [rsp + 0x5c], ecx
mov rcx, rdi
mov qword [rsp + 0x28], rax
and dword [rsp + 0x20], 0
lea edx, [r8 + 0x61]
call fcn.140051bf4
mov eax, dword [r15 + 0x54]
lea ecx, [rsi - 1]
mov r8d, dword [rsp + 0x118]
add ecx, r13d
cmp eax, ecx
mov edx, 0x36
cmovle eax, ecx
mov rcx, rdi
mov dword [r15 + 0x54], eax
mov eax, dword [rsp + 0x68]
mov r9d, dword [rbp + 0x58]
mov dword [rsp + 0x20], eax
call fcn.140051b5c
mov rdx, rbp
mov rcx, r15
call fcn.140059d94
mov r8d, ebx
lea r9d, [r12 + 1]
mov ebx, 0x19
mov rcx, rdi
mov edx, ebx
call fcn.140051b48
movzx r8d, word [rbp + 0x5e]
lea r9d, [r12 + 2]
mov edx, ebx
mov rcx, rdi
call fcn.140051b48
lea r9d, [r12 + 1]
mov dword [rsp + 0x20], r12d
xor r8d, r8d
lea edx, [rbx - 0x18]
mov rcx, rdi
call fcn.140051b5c
lea r9d, [rbx - 0x1e]
or edx, 0xffffffff
lea r8, [0x140098a90]
mov rcx, rdi
call fcn.140051e70
mov dl, 2
mov rcx, rdi
call fcn.140051f78
mov r8d, dword [rsp + 0x118]
lea edx, [rbx + 0x53]
mov rcx, rdi
call fcn.140051b30
mov r9d, dword [rsp + 0x48]
xor r8d, r8d
mov edx, ebx
mov dword [rsp + 0x6c], eax
mov rcx, rdi
call fcn.140051b48
mov rcx, rdi
call fcn.14001b704
mov dword [rsp + 0x50], eax
lea eax, [r13 - 1]
test eax, eax
jle 0x140018e7b
call fcn.1400583fc
mov rcx, qword [rsp + 0x90]
mov edx, r13d
mov dword [rsp + 0x4c], eax
lea rdx, [rdx*4 - 4]
call fcn.1400391d0
mov qword [rsp + 0x88], rax
mov rbx, rax
test rax, rax
je 0x140018f63
mov edx, 0x10
mov rcx, rdi
call fcn.140051b14
mov rcx, rdi
call fcn.14001b704
mov dword [rsp + 0x50], eax
mov ecx, 1
lea eax, [r13 - 1]
cmp eax, ecx
jne 0x140018cf3
cmp word [rbp + 0x5e], cx
jne 0x140018cf3
cmp byte [rbp + 0x62], 0
je 0x140018cf3
mov r9d, dword [rsp + 0x4c]
lea edx, [rcx + 0x4c]
mov rcx, rdi
mov r8d, esi
call fcn.140051b48
mov r12d, dword [rsp + 0x118]
xor ecx, ecx
mov qword [rsp + 0x78], rcx
xor r13d, r13d
mov qword [rsp + 0x80], rbx
mov rdx, qword [rbp + 0x40]
mov rdx, qword [rcx + rdx]
mov rcx, r15
call fcn.140043b6c
mov r9d, dword [rsp + 0x48]
mov r8d, r13d
mov edx, 0x19
mov rcx, rdi
mov rbx, rax
call fcn.140051b48
mov eax, dword [rsp + 0x44]
mov r9d, r13d
mov r8d, r12d
mov dword [rsp + 0x20], eax
mov edx, 0x2f
mov rcx, rdi
call fcn.140051b5c
mov r8d, dword [rsp + 0x44]
lea ecx, [rsi + r13]
xor r9d, r9d
mov dword [rsp + 0x30], 0xfffffffc
mov qword [rsp + 0x28], rbx
mov dword [rsp + 0x20], ecx
mov rcx, rdi
lea edx, [r9 + 0x4e]
call fcn.140051bf4
mov r9, qword [rsp + 0x80]
mov dl, 0x80
mov rcx, rdi
mov dword [r9], eax
call fcn.140051f78
mov rcx, qword [rsp + 0x78]
add r9, 4
mov eax, dword [rsp + 0x5c]
add rcx, 8
inc r13d
mov qword [rsp + 0x78], rcx
mov qword [rsp + 0x80], r9
cmp r13d, eax
jl 0x140018d0d
mov r9d, dword [rsp + 0x48]
mov r8d, eax
mov edx, 0x19
mov rcx, rdi
call fcn.140051b48
mov r9d, dword [rsp + 0x4c]
xor r8d, r8d
mov rcx, rdi
lea edx, [r8 + 0x10]
call fcn.140051b48
mov edx, dword [rsp + 0x50]
mov rcx, rdi
dec edx
call fcn.140057fec
mov r13, qword [rsp + 0x88]
xor ebx, ebx
mov r12d, dword [rsp + 0x110]
mov r14d, dword [rsp + 0x118]
mov r15d, dword [rsp + 0x5c]
lea ebp, [rbx + 1]
mov edx, dword [r13]
mov rcx, rdi
call fcn.140057fec
lea ecx, [rbx + rsi]
mov r9d, ebx
mov dword [rsp + 0x20], ecx
mov r8d, r14d
mov rcx, rdi
mov edx, 0x2f
call fcn.140051b5c
add ebx, ebp
lea r13, [r13 + 4]
cmp ebx, r15d
jl 0x140018e11
mov edx, dword [rsp + 0x4c]
mov rcx, rdi
call fcn.140059970
mov rdx, qword [rsp + 0x88]
mov rcx, qword [rsp + 0x90]
call fcn.14003917c
mov rbp, qword [rsp + 0x98]
mov r14, qword [rsp + 0xf8]
mov r15, qword [rsp + 0xf0]
mov ebx, dword [rsp + 0x44]
mov eax, 1
mov r8d, eax
mov dword [rsp + 0x20], ebx
mov edx, eax
mov r9d, r12d
mov rcx, rdi
call fcn.140051b5c
mov r9d, 0xfffffffb
lea r8, [0x140098ae0]
or edx, 0xffffffff
mov rcx, rdi
call fcn.140051e70
mov dl, 2
mov rcx, rdi
call fcn.140051f78
mov r8d, dword [rsp + 0x118]
mov rcx, rdi
mov r9d, dword [rsp + 0x50]
mov edx, 9
call fcn.140051b48
mov r9d, dword [rsp + 0x60]
xor r8d, r8d
mov edx, r12d
mov rcx, rdi
call fcn.14001bc5c
and dword [rsp + 0x30], 0
lea rax, [0x14009e658]
mov r8d, dword [rsp + 0x54]
mov r9d, 3
mov qword [rsp + 0x28], rax
mov rcx, rdi
mov dword [rsp + 0x20], ebx
lea edx, [r9 + 0x2e]
call fcn.140051bf4
mov r9d, dword [rsp + 0x58]
mov edx, 0x4a
mov r8d, dword [rsp + 0x108]
mov rcx, rdi
call fcn.140051b48
mov eax, dword [rsp + 0x58]
mov r9d, ebx
mov r8d, dword [rsp + 0x108]
mov edx, 0x4b
mov rcx, rdi
mov dword [rsp + 0x20], eax
call fcn.140051b5c
mov dl, 8
mov rcx, rdi
call fcn.140051f78
mov edx, dword [rsp + 0x6c]
mov rcx, rdi
call fcn.140057fec
mov rax, qword [rsp + 0x100]
mov r13b, byte [rsp + 0x40]
mov rbp, qword [rbp + 0x28]
mov qword [rsp + 0x98], rbp
test rbp, rbp
jne 0x140018b19
cmp qword [rsp + 0x100], 0
jne 0x14001905a
test r13b, r13b
je 0x14001905a
mov r9d, dword [rsp + 0x60]
mov edx, 0x32
mov r8d, dword [rsp + 0x70]
mov rcx, rdi
call fcn.140051b48
mov r8d, dword [rsp + 0x60]
mov edx, 0x2e
mov rcx, rdi
call fcn.140051b30
mov r9d, dword [rsp + 0x64]
xor r8d, r8d
mov rcx, rdi
mov ebx, eax
lea edx, [r8 + 0x1c]
call fcn.140051b48
and dword [rsp + 0x30], 0
lea rax, [0x14009e658]
mov esi, dword [rsp + 0x44]
mov r9d, 3
mov r8d, dword [rsp + 0x54]
mov rcx, rdi
mov qword [rsp + 0x28], rax
mov dword [rsp + 0x20], esi
lea edx, [r9 + 0x2e]
call fcn.140051bf4
mov r14d, dword [rsp + 0x58]
mov edx, 0x4a
mov r8d, dword [rsp + 0x108]
mov r9d, r14d
mov rcx, rdi
call fcn.140051b48
mov r8d, dword [rsp + 0x108]
mov r9d, esi
mov edx, 0x4b
mov dword [rsp + 0x20], r14d
mov rcx, rdi
call fcn.140051b5c
mov dl, 8
mov rcx, rdi
call fcn.140051f78
mov rcx, rdi
mov edx, ebx
call fcn.140057fec
add rsp, 0xa8
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
pop rbx
ret