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

Disassembly:
lea r12, [rsp - 0x70]
cmp r12, qword [r14 + 0x10]
jbe 0x69253c
push rbp
mov rbp, rsp
sub rsp, 0xe8
movq qword [rsp + 0xe0], xmm15
mov qword [rsp + 0xf8], rax
mov qword [rsp + 0x100], rbx
mov qword [rsp + 0x108], rcx
mov dword [rsp + 0x110], edi
mov qword [rsp + 0x118], rsi
mov qword [rsp + 0x120], r8
mov qword [rsp + 0x128], r9
mov qword [rsp + 0x130], r10
mov byte [rsp + 0x33], 0
mov dword [rsp + 0x34], 0
mov ebx, 0x60
call sym.modernc.org_libc._TLS_.Alloc
mov qword [rsp + 0x80], rax
lea rcx, [sym.modernc.org_sqlite_lib._splitNodeStartree.deferwrap1]
mov qword [rsp + 0xd0], rcx
mov rcx, qword [rsp + 0xf8]
mov qword [rsp + 0xd8], rcx
lea rdx, [rsp + 0xd0]
mov qword [rsp + 0xe0], rdx
mov byte [rsp + 0x33], 1
mov rdx, qword [rsp + 0x100]
movzx edx, byte [rdx + 0x24]
inc edx
movsxd rbx, edx
mov edx, dword [rsp + 0x110]
movsxd rdi, edx
shl rdi, 2
add rdi, 8
imul rbx, rdi
mov qword [rsp + 0xc8], rbx
mov rax, rcx
call sym.modernc.org_sqlite_lib.Xsqlite3_malloc64
test rax, rax
je 0x691cbb
mov qword [rsp + 0x88], rax
mov rdx, qword [rsp + 0x100]
movzx edx, byte [rdx + 0x24]
mov byte [rsp + 0x32], dl
mov rbx, rax
xor ecx, ecx
mov rdi, qword [rsp + 0xc8]
mov rax, qword [rsp + 0xf8]
nop
call sym.modernc.org_libc.Xmemset
movzx edx, byte [rsp + 0x32]
mov rbx, qword [rsp + 0x88]
lea rsi, [rbx + rdx*8]
mov edi, dword [rsp + 0x110]
imul edx, edi
movsxd rdx, edx
lea r9, [rsi + rdx*4]
mov qword [rsp + 0x90], r9
mov rdx, qword [rsp + 0x100]
xor eax, eax
jmp 0x691d35
mov dword [rsp + 0x34], 7
mov byte [rsp + 0x33], 0
mov rdx, qword [rsp + 0xe0]
mov rax, qword [rdx]
call rax
mov eax, dword [rsp + 0x34]
add rsp, 0xe8
pop rbp
ret
mov dword [rsp + 0x54], esi
mov rcx, qword [r12]
mov rax, qword [rsp + 0xf8]
mov rbx, r10
mov r8, qword [rsp + 0x108]
nop dword [rax]
call sym.modernc.org_sqlite_lib._SortByDimension
mov eax, dword [rsp + 0x54]
inc eax
mov rdx, qword [rsp + 0x88]
mov rbx, qword [rsp + 0x100]
mov edi, dword [rsp + 0x110]
mov rdx, rbx
mov rbx, qword [rsp + 0x88]
mov r9, qword [rsp + 0x90]
mov r10, rdx
movzx edx, byte [rdx + 0x24]
nop dword [rax]
cmp eax, edx
jge 0x691d68
movsxd r11, eax
lea r11, [rbx + r11*8]
mov r12, r11
lea rdx, [rbx + rdx*8]
mov esi, eax
imul eax, edi
movsxd r13, eax
lea rdx, [rdx + r13*4]
mov qword [r11], rdx
xor eax, eax
jmp 0x692521
mov rcx, qword [rsp + 0x80]
mov rdx, qword [rsp + 0x108]
xor eax, eax
xorps xmm0, xmm0
xor esi, esi
xor r8d, r8d
jmp 0x691d9c
inc eax
mov rdx, r10
mov edi, dword [rsp + 0x110]
mov r10, r9
movups xmm0, xmm3
mov esi, r12d
mov r8d, r15d
mov dword [rsp + 0x40], r8d
mov r9, r10
movzx r11d, byte [r10 + 0x24]
cmp eax, r11d
jge 0x691e49
movzx r11d, byte [r10 + 0x27]
nop word [rax + rax]
test r11d, r11d
je 0x69250a
movsd qword [rsp + 0x68], xmm0
mov dword [rsp + 0x48], esi
mov dword [rsp + 0x54], eax
mov r10d, dword [r10 + 0x20]
add r10d, 0xfffffffc
mov r12d, eax
mov eax, r10d
mov r10, rdx
cmp r11d, 0xffffffff
jne 0x691df4
neg eax
xor edx, edx
jmp 0x691df8
cdq
idiv r11d
movsxd rdx, eax
mov r11d, 0xaaaaaaab
imul r11, rdx
sar r11, 0x21
sar rdx, 0x3f
sub r11d, edx
xorps xmm1, xmm1
xorps xmm2, xmm2
xorps xmm3, xmm3
xor eax, eax
nop dword [rax + rax]
jmp 0x6920b1
test r12d, r12d
je 0x691e30
ucomisd xmm0, xmm3
jbe 0x691e38
mov eax, r12d
jmp 0x691d84
mov eax, r12d
movups xmm3, xmm0
mov r12d, esi
mov r15d, r8d
jmp 0x691d84
movsxd rsi, esi
lea rsi, [rbx + rsi*8]
mov qword [rsp + 0xc0], rsi
mov r10, rsi
mov rsi, qword [rsi]
movsxd rsi, dword [rsi]
lea rsi, [rsi + rsi*2]
shl rsi, 4
add rsi, rdx
mov rax, qword [rsp + 0x128]
mov r11, rax
test byte [r11], al
test byte [rsi], al
nop dword [rax]
cmp rsi, r11
je 0x691ec9
mov rax, r11
mov rbx, rsi
mov ecx, 0x30
call sym.runtime.memmove
mov rax, qword [rsp + 0x128]
mov rdx, qword [rsp + 0x108]
mov rbx, qword [rsp + 0x88]
mov edi, dword [rsp + 0x110]
mov r8d, dword [rsp + 0x40]
mov r9, qword [rsp + 0x100]
mov r10, qword [rsp + 0xc0]
mov rsi, r10
movsxd r11, r8d
shl r11, 2
add r11, qword [r10]
movsxd r10, dword [r11]
lea r10, [r10 + r10*2]
shl r10, 4
add r10, rdx
mov r11, qword [rsp + 0x130]
mov r12, r11
test byte [r11], al
test byte [r10], al
cmp r10, r11
je 0x691f46
mov rax, r11
mov rbx, r10
mov ecx, 0x30
call sym.runtime.memmove
mov rax, qword [rsp + 0x128]
mov rdx, qword [rsp + 0x108]
mov rbx, qword [rsp + 0x88]
mov rsi, qword [rsp + 0xc0]
mov edi, dword [rsp + 0x110]
mov r8d, dword [rsp + 0x40]
mov r9, qword [rsp + 0x100]
mov r12, qword [rsp + 0x130]
xor ecx, ecx
jmp 0x692025
mov dword [rsp + 0x3c], ecx
movsxd r11, ecx
shl r11, 2
add r11, qword [rsi]
movsxd rsi, dword [r11]
lea rsi, [rsi + rsi*2]
shl rsi, 4
lea rdi, [rsi + rdx]
mov qword [rsp + 0x58], rdi
lea esi, [rcx + 1]
mov dword [rsp + 0x54], esi
cmp ecx, r8d
mov r11, qword [rsp + 0x120]
mov r12, qword [rsp + 0x118]
cmovl r11, r12
mov rax, qword [rsp + 0xf8]
mov rbx, r9
mov rcx, r11
nop dword [rax + rax]
call sym.modernc.org_sqlite_lib._nodeInsertCell
mov edx, dword [rsp + 0x3c]
mov esi, dword [rsp + 0x40]
cmp edx, esi
mov rcx, qword [rsp + 0x130]
mov rdx, qword [rsp + 0x128]
mov r8, rcx
cmovl r8, rdx
mov rax, qword [rsp + 0xf8]
mov rbx, qword [rsp + 0x100]
mov rdi, qword [rsp + 0x58]
mov rcx, r8
nop
call sym.modernc.org_sqlite_lib._cellUnion
mov rax, qword [rsp + 0x128]
mov rdx, qword [rsp + 0x108]
mov rbx, qword [rsp + 0x88]
mov rsi, qword [rsp + 0xc0]
mov edi, dword [rsp + 0x110]
mov r8d, dword [rsp + 0x40]
mov r9, qword [rsp + 0x100]
mov r12, qword [rsp + 0x130]
mov ecx, dword [rsp + 0x54]
cmp edi, ecx
jg 0x691f4d
mov rax, qword [rsp + 0xf8]
call sym.modernc.org_sqlite_lib.Xsqlite3_free
mov dword [rsp + 0x34], 0
mov byte [rsp + 0x33], 0
mov rdx, qword [rsp + 0xe0]
mov rcx, qword [rdx]
call rcx
mov eax, dword [rsp + 0x34]
add rsp, 0xe8
pop rbp
ret
lea r11d, [rax + 1]
mov edi, dword [rsp + 0x110]
mov rcx, qword [rsp + 0x80]
mov r10, qword [rsp + 0x108]
mov r13, qword [rsp + 0x88]
mov r12d, dword [rsp + 0x54]
mov rbx, r13
mov esi, dword [rsp + 0x48]
mov r8d, dword [rsp + 0x40]
mov r9, qword [rsp + 0x100]
movups xmm2, xmm0
mov eax, edx
movsd xmm0, qword [rsp + 0x68]
movups xmm4, xmm1
movups xmm1, xmm3
movups xmm3, xmm4
mov rdx, r9
movzx r13d, byte [r9 + 0x27]
nop dword [rax]
test r13d, r13d
je 0x692505
mov r9d, dword [r9 + 0x20]
add r9d, 0xfffffffc
mov r15d, eax
mov eax, r9d
mov r9, rdx
nop word [rax + rax]
cmp r13d, 0xffffffff
jne 0x6920ec
neg eax
xor edx, edx
jmp 0x6920f0
cdq
idiv r13d
movsxd rdx, eax
mov r13d, 0xaaaaaaab
imul r13, rdx
sar r13, 0x21
sar rdx, 0x3f
sub r13d, edx
mov edx, edi
sub edi, r13d
cmp r11d, edi
jg 0x691e25
mov dword [rsp + 0x50], r15d
movsd qword [rsp + 0xb8], xmm3
movsd qword [rsp + 0x70], xmm2
movsd qword [rsp + 0x60], xmm1
mov dword [rsp + 0x44], r11d
movsxd r13, r12d
lea r13, [rbx + r13*8]
mov qword [rsp + 0xc0], r13
mov rax, r13
mov r13, qword [r13]
movsxd r13, dword [r13]
lea r13, [r13 + r13*2]
shl r13, 4
add r13, r10
mov rdi, rcx
test byte [rdi], al
test byte [r13], al
cmp r13, rdi
je 0x6921db
mov rax, rdi
mov rbx, r13
mov ecx, 0x30
call sym.runtime.memmove
mov rax, qword [rsp + 0xc0]
mov rcx, qword [rsp + 0x80]
mov edx, dword [rsp + 0x110]
mov rbx, qword [rsp + 0x88]
mov esi, dword [rsp + 0x48]
mov r8d, dword [rsp + 0x40]
mov r9, qword [rsp + 0x100]
mov r10, qword [rsp + 0x108]
mov r11d, dword [rsp + 0x44]
mov r12d, dword [rsp + 0x54]
mov r15d, dword [rsp + 0x50]
movsd xmm0, qword [rsp + 0x68]
movsd xmm1, qword [rsp + 0x60]
movsd xmm2, qword [rsp + 0x70]
movsd xmm3, qword [rsp + 0xb8]
lea r13, [rcx + 0x30]
mov qword [rsp + 0x78], r13
mov rdi, rax
lea esi, [rdx - 1]
mov dword [rsp + 0x4c], esi
movsxd r8, esi
shl r8, 2
add r8, qword [rax]
movsxd r8, dword [r8]
lea r8, [r8 + r8*2]
shl r8, 4
add r8, r10
mov rax, r13
test byte [rax], al
test byte [r8], al
cmp r8, rax
je 0x692287
mov rbx, r8
mov ecx, 0x30
nop dword [rax + rax]
call sym.runtime.memmove
mov rcx, qword [rsp + 0x80]
mov edx, dword [rsp + 0x110]
mov rbx, qword [rsp + 0x88]
mov esi, dword [rsp + 0x4c]
mov rdi, qword [rsp + 0xc0]
mov r9, qword [rsp + 0x100]
mov r10, qword [rsp + 0x108]
mov r11d, dword [rsp + 0x44]
mov r12d, dword [rsp + 0x54]
mov r13, qword [rsp + 0x78]
mov r15d, dword [rsp + 0x50]
movsd xmm0, qword [rsp + 0x68]
movsd xmm1, qword [rsp + 0x60]
movsd xmm2, qword [rsp + 0x70]
movsd xmm3, qword [rsp + 0xb8]
mov eax, 1
jmp 0x692486
mov rax, qword [rsp + 0xf8]
mov rbx, r9
nop dword [rax]
call sym.modernc.org_sqlite_lib._cellMargin
movsd qword [rsp + 0xb0], xmm0
mov rax, qword [rsp + 0xf8]
mov rbx, qword [rsp + 0x100]
mov rcx, qword [rsp + 0x78]
call sym.modernc.org_sqlite_lib._cellMargin
movsd qword [rsp + 0xa8], xmm0
mov rax, qword [rsp + 0xf8]
mov rbx, qword [rsp + 0x100]
mov rcx, qword [rsp + 0x80]
mov rdi, qword [rsp + 0x78]
mov esi, 1
call sym.modernc.org_sqlite_lib._cellOverlap
movsd qword [rsp + 0xa0], xmm0
mov rax, qword [rsp + 0xf8]
mov rbx, qword [rsp + 0x100]
mov rcx, qword [rsp + 0x80]
call sym.modernc.org_sqlite_lib._cellArea
movsd qword [rsp + 0x98], xmm0
mov rax, qword [rsp + 0xf8]
mov rbx, qword [rsp + 0x100]
mov rcx, qword [rsp + 0x78]
nop dword [rax]
call sym.modernc.org_sqlite_lib._cellArea
movsd xmm1, qword [rsp + 0xb8]
movsd xmm2, qword [rsp + 0xb0]
addsd xmm1, xmm2
mov rbx, qword [rsp + 0x100]
mov rdx, rbx
movzx esi, byte [rdx + 0x27]
movsd xmm2, qword [rsp + 0xa8]
addsd xmm1, xmm2
movsd xmm2, qword [rsp + 0x98]
addsd xmm0, xmm2
test esi, esi
je 0x6924fb
mov eax, dword [rdx + 0x20]
add eax, 0xfffffffc
cmp esi, 0xffffffff
jne 0x69239d
neg eax
xor edx, edx
jmp 0x6923a0
cdq
idiv esi
movsxd rdx, eax
mov esi, 0xaaaaaaab
imul rsi, rdx
sar rsi, 0x21
sar rdx, 0x3f
sub esi, edx
mov edx, dword [rsp + 0x44]
cmp edx, esi
jne 0x6923c9
movsd xmm3, qword [rsp + 0xa0]
jmp 0x6923f2
movsd xmm2, qword [rsp + 0x60]
movsd xmm3, qword [rsp + 0xa0]
ucomisd xmm2, xmm3
ja 0x6923f2
ucomisd xmm3, xmm2
jne 0x69240a
jp 0x69240a
movsd xmm4, qword [rsp + 0x70]
ucomisd xmm4, xmm0
jbe 0x6923f9
mov eax, edx
jmp 0x692061
mov eax, edx
movups xmm3, xmm2
movups xmm0, xmm4
mov edx, dword [rsp + 0x50]
jmp 0x692061
mov eax, edx
movups xmm3, xmm2
movsd xmm0, qword [rsp + 0x70]
mov edx, dword [rsp + 0x50]
jmp 0x692061
mov eax, dword [rsp + 0x38]
inc eax
mov rcx, qword [rsp + 0x80]
mov edx, dword [rsp + 0x110]
mov rbx, qword [rsp + 0x88]
mov esi, dword [rsp + 0x4c]
mov rdi, qword [rsp + 0xc0]
mov r9, qword [rsp + 0x100]
mov r10, qword [rsp + 0x108]
mov r11d, dword [rsp + 0x44]
mov r12d, dword [rsp + 0x54]
mov r13, qword [rsp + 0x78]
mov r15d, dword [rsp + 0x50]
movsd xmm0, qword [rsp + 0x68]
movsd xmm1, qword [rsp + 0x60]
movsd xmm2, qword [rsp + 0x70]
movsd xmm3, qword [rsp + 0xb8]
cmp eax, esi
jge 0x692291
mov dword [rsp + 0x38], eax
cmp eax, r11d
jge 0x6924ca
movsxd rsi, eax
shl rsi, 2
add rsi, qword [rdi]
movsxd rsi, dword [rsi]
lea rsi, [rsi + rsi*2]
shl rsi, 4
lea rdi, [r10 + rsi]
mov rbx, r9
mov rax, qword [rsp + 0xf8]
nop dword [rax + rax]
call sym.modernc.org_sqlite_lib._cellUnion
jmp 0x69241e
movsxd rsi, eax
shl rsi, 2
add rsi, qword [rdi]
movsxd rsi, dword [rsi]
lea rsi, [rsi + rsi*2]
shl rsi, 4
lea rdi, [r10 + rsi]
mov rbx, r9
mov rcx, r13
mov rax, qword [rsp + 0xf8]
call sym.modernc.org_sqlite_lib._cellUnion
jmp 0x69241e
nop dword [rax + rax]
call sym.runtime.panicdivide
call sym.runtime.panicdivide
call sym.runtime.panicdivide
mov rdx, r12
movsxd r11, eax
shl r11, 2
add r11, qword [rdx]
mov dword [r11], eax
inc eax
cmp edi, eax
jg 0x69250f
jmp 0x691ce2
mov qword [rsp + 8], rax
mov qword [rsp + 0x10], rbx
mov qword [rsp + 0x18], rcx
mov dword [rsp + 0x20], edi
mov qword [rsp + 0x28], rsi
mov qword [rsp + 0x30], r8
mov qword [rsp + 0x38], r9
mov qword [rsp + 0x40], r10
call sym.runtime.morestack_noctxt.abi0
mov rax, qword [rsp + 8]
mov rbx, qword [rsp + 0x10]
mov rcx, qword [rsp + 0x18]
mov edi, dword [rsp + 0x20]
mov rsi, qword [rsp + 0x28]
mov r8, qword [rsp + 0x30]
mov r9, qword [rsp + 0x38]
mov r10, qword [rsp + 0x40]
jmp sym.modernc.org_sqlite_lib._splitNodeStartree