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

Disassembly:
push r15
push r14
push r13
push r12
push rbp
push rdi
push rsi
push rbx
sub rsp, 0x378
pxor xmm0, xmm0
mov rax, qword [rcx]
mov r15, qword [rcx + 0x10]
mov r9, qword [rcx + 8]
mov r13, qword [r9 + 0x20]
mov rbx, rcx
mov rcx, qword [rax + 8]
movzx eax, byte [r15 + 0x10]
mov qword [rsp + 0x3d0], r8
mov qword [rsp + 0x3c8], rdx
mov edx, dword [r9 + 0x14]
lea r8, [rax + rax*2]
movups xmmword [rsp + 0xc0], xmm0
lea rax, [rax + r8*4]
movups xmmword [rsp + 0xd0], xmm0
lea r12, [rcx + rax*8 + 8]
movups xmmword [rsp + 0xe0], xmm0
mov eax, dword [r12 + 0x44]
mov qword [rsp + 0xf0], 0
mov dword [rsp + 0x88], eax
test byte [r12 + 0x3c], 0x10
jne 0x1400c5751
movsxd rax, edx
lea rdx, [rax*8]
sub rdx, rax
lea rax, [r13 + rdx*8]
cmp r13, rax
jae 0x1400c5751
mov qword [rsp + 0x20], r9
mov qword [rsp + 0x30], r12
mov r12, rax
test byte [r13 + 0x15], 2
je 0x1400c5748
mov rdx, qword [r13 + 0x20]
mov rax, qword [rdx + 0x1e8]
and rax, qword [r15 + 8]
jne 0x1400c5770
add r13, 0x38
cmp r13, r12
jb 0x1400c5730
xor r10d, r10d
mov eax, r10d
add rsp, 0x378
pop rbx
pop rsi
pop rdi
pop rbp
pop r12
pop r13
pop r14
pop r15
ret
mov rdi, qword [rdx + 0x20]
movsxd rdx, dword [rdx + 0x14]
movdqu xmm1, xmmword [rbx]
movdqu xmm2, xmmword [rbx + 0x10]
lea rax, [rdx*8]
sub rax, rdx
movups xmmword [rsp + 0xa0], xmm2
lea rdx, [rdi + rax*8]
mov rax, qword [rbx + 0x20]
movups xmmword [rsp + 0x90], xmm1
mov qword [rsp + 0xb0], rax
lea rax, [rsp + 0x100]
mov qword [rsp + 0xa8], rax
cmp rdi, rdx
jae 0x1400c5b80
mov qword [rsp + 0x50], r12
mov r14d, 1
xor esi, esi
mov r12, rdx
lea rax, [rsp + 0xc0]
mov qword [rsp + 0x60], r13
mov rbp, rdi
mov r13, qword [rsp + 0x30]
mov qword [rsp + 0x68], rax
lea rax, [rsp + 0xc8]
mov qword [rsp + 0x40], rax
lea rax, [rsp + 0x108]
mov qword [rsp + 0x48], rax
mov qword [rsp + 0x58], r15
jmp 0x1400c58ac
mov rax, qword [rbp + 0x20]
mov qword [rsp + 0x98], rax
mov rax, qword [r13 + 0x20]
xor r11d, r11d
lea rdi, [rsp + 0x90]
mov word [rsp + 0x100], r11w
cmp byte [rax + 0x3f], 1
je 0x1400c5918
mov rdx, qword [rsp + 0x3c8]
mov rcx, rdi
call sym.whereLoopAddBtree
mov esi, eax
test esi, esi
je 0x1400c593a
movzx r9d, word [rsp + 0x100]
test r9w, r9w
je 0x1400c5b60
test r14d, r14d
je 0x1400c5960
movzx r8d, r9w
mov rdx, qword [rsp + 0x48]
mov rcx, qword [rsp + 0x40]
mov word [rsp + 0xc0], r9w
shl r8, 4
call sym.memcpy
xor r14d, r14d
add rbp, 0x38
cmp rbp, r12
jae 0x1400c5ab0
test byte [rbp + 0x15], 4
jne 0x1400c5818
mov eax, dword [rsp + 0x88]
cmp dword [rbp + 0x1c], eax
jne 0x1400c589f
mov rax, qword [rsp + 0x20]
mov rax, qword [rax]
mov byte [rsp + 0x190], 0x2c
mov dword [rsp + 0x194], 1
movq xmm0, rax
mov qword [rsp + 0x28], rax
lea rax, [rsp + 0x180]
movhps xmm0, qword [rsp + 0x20]
mov qword [rsp + 0x1a0], rbp
mov dword [rsp + 0x19c], 1
movups xmmword [rsp + 0x180], xmm0
jmp 0x1400c581c
mov r8, qword [rsp + 0x3d0]
mov rdx, qword [rsp + 0x3c8]
mov rcx, rdi
call sym.whereLoopAddVirtual
mov esi, eax
test esi, esi
jne 0x1400c5860
mov r8, qword [rsp + 0x3d0]
mov rdx, qword [rsp + 0x3c8]
mov rcx, rdi
call sym.whereLoopAddOr
mov esi, eax
jmp 0x1400c5860
movzx r8d, word [rsp + 0xc0]
lea rcx, [rsp + 0x148]
lea rdx, [rsp + 0xc8]
mov dword [rsp + 0x28], r9d
lea rdi, [rsp + 0x140]
mov r14, r8
shl r8, 4
call sym.memcpy
xor r9d, r9d
mov word [rsp + 0xc0], r9w
test r14w, r14w
je 0x1400c589c
lea eax, [r14 - 1]
mov qword [rsp + 0x78], r12
mov r9d, dword [rsp + 0x28]
mov rdx, rdi
shl rax, 4
mov qword [rsp + 0x80], rbp
lea r15, [rsp + 0x112]
lea r14, [rsp + 0x110]
add rax, rdi
mov dword [rsp + 0x8c], esi
lea rdi, [rsp + 0x108]
mov qword [rsp + 0x38], rax
mov qword [rsp + 0x3c0], rbx
mov qword [rsp + 0x70], r13
mov r13, qword [rsp + 0x68]
test r9w, r9w
je 0x1400c5a67
movsx r12d, word [rdx + 0x12]
movsx ebp, word [rdx + 0x10]
mov qword [rsp + 0x28], rdx
xor ebx, ebx
mov rsi, qword [rdx + 8]
mov r11, rbx
mov ecx, r12d
add rbx, 1
shl r11, 4
movsx edx, word [r15 + r11]
call sym.sqlite3LogEstAdd
movsx edx, word [r14 + r11]
mov ecx, ebp
mov r10d, eax
call sym.sqlite3LogEstAdd
mov rdx, qword [rdi + r11]
movsx r9d, r10w
mov rcx, r13
movsx r8d, ax
or rdx, rsi
call sym.whereOrInsert.isra.0
movzx eax, word [rsp + 0x100]
cmp eax, ebx
jg 0x1400c5a18
mov rdx, qword [rsp + 0x28]
cmp qword [rsp + 0x38], rdx
je 0x1400c5a80
movzx r9d, word [rsp + 0x100]
add rdx, 0x10
jmp 0x1400c59fe
mov r13, qword [rsp + 0x70]
mov r12, qword [rsp + 0x78]
mov rbp, qword [rsp + 0x80]
mov esi, dword [rsp + 0x8c]
mov rbx, qword [rsp + 0x3c0]
jmp 0x1400c589c
mov r12, qword [rsp + 0x50]
mov r15, qword [rsp + 0x58]
mov r13, qword [rsp + 0x60]
mov rax, qword [r15 + 0x48]
pxor xmm0, xmm0
mov ecx, 1
xor r8d, r8d
mov word [r15 + 0x3c], cx
mov qword [rax], r13
mov dword [r15 + 0x38], 0x2000
mov word [r15 + 0x12], r8w
mov byte [r15 + 0x11], 0
movups xmmword [r15 + 0x18], xmm0
movups xmmword [r15 + 0x28], xmm0
test esi, esi
jne 0x1400c5bb8
movzx edi, word [rsp + 0xc0]
lea rbp, [rsp + 0xc0]
shl rdi, 4
add rdi, rbp
nop word [rax + rax]
cmp rbp, rdi
je 0x1400c5748
movzx eax, word [rbp + 0x10]
mov rcx, rbx
add rbp, 0x10
lea edx, [rax + 1]
movzx eax, word [rbp + 2]
movzx edx, dx
shl eax, 0x10
or eax, edx
mov rdx, r15
mov dword [r15 + 0x14], eax
mov rax, qword [rbp - 8]
mov qword [r15], rax
call sym.whereLoopInsert
test eax, eax
je 0x1400c5b18
mov r10d, eax
jmp 0x1400c5754
xor r10d, r10d
mov r12, qword [rsp + 0x50]
mov r15, qword [rsp + 0x58]
mov word [rsp + 0xc0], r10w
mov r13, qword [rsp + 0x60]
jmp 0x1400c5abf
mov eax, 1
pxor xmm0, xmm0
xor edx, edx
mov word [r15 + 0x3c], ax
mov rax, qword [r15 + 0x48]
mov qword [rax], r13
mov dword [r15 + 0x38], 0x2000
mov word [r15 + 0x12], dx
mov byte [r15 + 0x11], 0
movups xmmword [r15 + 0x18], xmm0
movups xmmword [r15 + 0x28], xmm0
jmp 0x1400c5afb
mov r10d, esi
jmp 0x1400c5754