Function at 0x1401c3c30
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 0x1401c3d01
movsxd rax, edx
lea rdx, [rax*8]
sub rdx, rax
lea rax, [r13 + rdx*8]
cmp r13, rax
jae 0x1401c3d01
mov qword [rsp + 0x20], r9
mov qword [rsp + 0x30], r12
mov r12, rax
test byte [r13 + 0x15], 2
je 0x1401c3cf8
mov rdx, qword [r13 + 0x20]
mov rax, qword [rdx + 0x1e8]
and rax, qword [r15 + 8]
jne 0x1401c3d20
add r13, 0x38
cmp r13, r12
jb 0x1401c3ce0
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 0x1401c4130
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 0x1401c3e5c
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 0x1401c3ec8
mov rdx, qword [rsp + 0x3c8]
mov rcx, rdi
call dbg.whereLoopAddBtree
mov esi, eax
test esi, esi
je 0x1401c3eea
movzx r9d, word [rsp + 0x100]
test r9w, r9w
je 0x1401c4110
test r14d, r14d
je 0x1401c3f10
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 0x1401c4060
test byte [rbp + 0x15], 4
jne 0x1401c3dc8
mov eax, dword [rsp + 0x88]
cmp dword [rbp + 0x1c], eax
jne 0x1401c3e4f
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 0x1401c3dcc
mov r8, qword [rsp + 0x3d0]
mov rdx, qword [rsp + 0x3c8]
mov rcx, rdi
call dbg.whereLoopAddVirtual
mov esi, eax
test esi, esi
jne 0x1401c3e10
mov r8, qword [rsp + 0x3d0]
mov rdx, qword [rsp + 0x3c8]
mov rcx, rdi
call dbg.whereLoopAddOr
mov esi, eax
jmp 0x1401c3e10
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 0x1401c3e4c
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 0x1401c4017
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 0x1401c3fc8
mov rdx, qword [rsp + 0x28]
mov rax, qword [rsp + 0x38]
cmp rdx, rax
je 0x1401c4038
movzx r9d, word [rsp + 0x100]
add rdx, 0x10
jmp 0x1401c3fae
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 0x1401c3e4c
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 0x1401c4168
movzx edi, word [rsp + 0xc0]
lea rbp, [rsp + 0xc0]
shl rdi, 4
add rdi, rbp
nop word [rax + rax]
cmp rbp, rdi
je 0x1401c3cf8
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 dbg.whereLoopInsert
test eax, eax
je 0x1401c40c8
mov r10d, eax
jmp 0x1401c3d04
xor r10d, r10d
mov r12, qword [rsp + 0x50]
mov r15, qword [rsp + 0x58]
mov word [rsp + 0xc0], r10w
mov r13, qword [rsp + 0x60]
jmp 0x1401c406f
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 0x1401c40ab
mov r10d, esi
jmp 0x1401c3d04