Function at 0x14020c200
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, 0x148
movaps xmmword [rsp + 0x100], xmm6
movaps xmmword [rsp + 0x110], xmm7
movaps xmmword [rsp + 0x120], xmm8
movaps xmmword [rsp + 0x130], xmm9
mov qword [rsp + 0x40], r8
mov rbx, rcx
mov rbp, rdx
mov dword [rsp + 0x4c], r9d
test r9d, r9d
jle 0x14020c270
mov rdx, qword [r8]
call sym.nodeHashLookup
mov rsi, rax
test rax, rax
je 0x14020c270
mov rdx, qword [rax]
mov rcx, rbx
call sym.nodeRelease
test rbp, rbp
je 0x14020c26d
inc dword [rbp + 0x10]
mov qword [rsi], rbp
mov r8, qword [rsp + 0x40]
mov rdx, rbp
mov rcx, rbx
call sym.nodeInsertCell
test eax, eax
je 0x14020c99a
mov rax, qword [rbp + 0x18]
mov ax, word [rax + 2]
xchg al, ah
movzx eax, ax
mov dword [rsp + 0x58], eax
inc eax
movsxd r14, eax
mov dword [rsp + 0x5c], eax
imul rcx, r14, 0x34
call sym.sqlite3_malloc64
mov qword [rsp + 0x30], rax
test rax, rax
je 0x14020c969
imul r11, r14, 0x30
lea rax, [r14*4]
xor esi, esi
mov qword [rsp + 0x68], rax
mov rax, qword [rsp + 0x30]
mov rcx, qword [rsp + 0x68]
lea rdx, [rax + r11]
xor eax, eax
mov rdi, rdx
rep stosb byte [rdi], al
mov rdi, qword [rsp + 0x30]
mov r8, qword [rbp + 0x18]
cmp dword [rsp + 0x58], esi
jle 0x14020c30b
mov dl, byte [rbx + 0x27]
mov cl, byte [rbx + 0x25]
mov qword [rsp + 0x20], rdi
mov r9d, esi
add rdi, 0x30
inc esi
call sym.nodeGetCell.isra.0
jmp 0x14020c2e6
mov eax, dword [rbx + 0x20]
add r8, 2
mov rsi, qword [rsp + 0x40]
mov rdi, r8
lea ecx, [rax - 2]
xor eax, eax
movsxd rcx, ecx
rep stosb byte [rdi], al
mov rax, qword [rsp + 0x30]
mov dword [rbp + 0x14], 1
mov ecx, 0xc
lea rax, [rax + r11 - 0x30]
mov rdi, rax
rep movsd dword [rdi], dword [rsi]
cmp qword [rbp + 8], 1
jne 0x14020c37c
mov rdx, rbp
mov rcx, rbx
call sym.nodeNew
mov rdx, rbp
mov rcx, rbx
mov r13, rax
call sym.nodeNew
mov rdx, qword [rbp + 0x18]
mov r12, rax
mov eax, dword [rbx + 0x2c]
inc eax
mov dword [rbx + 0x2c], eax
xchg al, ah
mov dword [rbp + 0x14], 1
mov word [rdx], ax
jmp 0x14020c391
mov rdx, qword [rbp]
mov rcx, rbx
mov r12, rbp
call sym.nodeNew
inc dword [rbp + 0x10]
mov r13, rax
test r12, r12
je 0x14020c96f
test r13, r13
sete byte [rsp + 0x50]
je 0x14020c96f
mov al, byte [rsp + 0x50]
movsxd rcx, dword [rbx + 0x20]
mov rdi, qword [r12 + 0x18]
rep stosb byte [rdi], al
movsxd rcx, dword [rbx + 0x20]
mov rdi, qword [r13 + 0x18]
rep stosb byte [rdi], al
movzx eax, byte [rbx + 0x24]
lea rsi, [rax + 1]
lea rax, [r14 + 2]
imul rsi, rax
shl rsi, 2
mov rcx, rsi
call sym.sqlite3_malloc64
mov qword [rsp + 0x38], rax
test rax, rax
je 0x14020c96f
movzx edx, byte [rbx + 0x24]
mov edi, dword [rsp + 0x5c]
mov rcx, rsi
xor esi, esi
mov rax, rdx
add rdx, rdx
imul eax, edi
cdqe
add rdx, rax
mov rax, qword [rsp + 0x38]
mov rdi, rax
lea r15, [rax + rdx*4]
mov al, byte [rsp + 0x50]
rep stosb byte [rdi], al
xor edi, edi
movzx eax, byte [rbx + 0x24]
mov r9d, esi
mov byte [rsp + 0x63], al
mov dword [rsp + 0x74], eax
cmp eax, esi
jle 0x14020c47a
movzx eax, byte [rsp + 0x63]
mov rcx, qword [rsp + 0x38]
add rax, rax
add rax, rdi
lea rdx, [rcx + rax*4]
xor eax, eax
mov qword [rcx + rsi*8], rdx
mov dword [rdx + rax*4], eax
inc rax
lea ecx, [rax - 1]
cmp dword [rsp + 0x58], ecx
jg 0x14020c447
mov rax, qword [rsp + 0x30]
mov qword [rsp + 0x28], r15
mov rcx, rbx
inc rsi
mov r8d, dword [rsp + 0x5c]
add rdi, r14
mov qword [rsp + 0x20], rax
call sym.SortByDimension
jmp 0x14020c41a
xor eax, eax
xor r14d, r14d
xorps xmm8, xmm8
mov dword [rsp + 0x70], eax
mov dword [rsp + 0x80], eax
lea rax, [rsp + 0xd0]
mov qword [rsp + 0x50], rax
cmp dword [rsp + 0x74], r14d
jle 0x14020c6d1
mov eax, dword [rbx + 0x20]
movzx ecx, byte [rbx + 0x27]
mov edi, 3
xorps xmm7, xmm7
xor r15d, r15d
movaps xmm6, xmm7
movaps xmm9, xmm7
sub eax, 4
cdq
idiv ecx
cdq
idiv edi
mov r11d, eax
mov dword [rsp + 0x64], eax
mov eax, dword [rsp + 0x5c]
sub eax, r11d
mov dword [rsp + 0x84], eax
mov eax, dword [rsp + 0x84]
cmp r11d, eax
jg 0x14020c6ac
mov rax, qword [rsp + 0x38]
lea rdi, [rsp + 0xa0]
mov ecx, 0xc
mov qword [rsp + 0x78], rdi
mov rdi, qword [rsp + 0x30]
mov rax, qword [rax + r14*8]
movsxd rsi, dword [rax]
imul rsi, rsi, 0x30
add rsi, rdi
mov rdi, qword [rsp + 0x78]
rep movsd dword [rdi], dword [rsi]
mov rdi, qword [rsp + 0x68]
mov ecx, 0xc
movsxd rsi, dword [rax + rdi - 4]
mov rdi, qword [rsp + 0x30]
imul rsi, rsi, 0x30
add rsi, rdi
mov rdi, qword [rsp + 0x50]
rep movsd dword [rdi], dword [rsi]
mov esi, 1
cmp dword [rsp + 0x58], esi
jle 0x14020c589
movsxd r8, dword [rax + rsi*4]
mov rdi, qword [rsp + 0x30]
mov qword [rsp + 0x88], rax
imul r8, r8, 0x30
add r8, rdi
cmp r11d, esi
jle 0x14020c56f
mov rdx, qword [rsp + 0x78]
jmp 0x14020c574
mov rdx, qword [rsp + 0x50]
mov rcx, rbx
inc rsi
call sym.cellUnion
mov rax, qword [rsp + 0x88]
jmp 0x14020c545
movzx esi, byte [rbx + 0x25]
mov r10b, byte [rbx + 0x26]
lea rdi, [rsp + 0xa0]
mov r8, rdi
mov edx, r10d
mov ecx, esi
call sym.cellMargin.isra.0
mov r8, qword [rsp + 0x50]
mov ecx, esi
addsd xmm9, xmm0
call sym.cellMargin.isra.0
mov rcx, qword [rsp + 0x50]
mov r8, rdi
xor r9d, r9d
movsd xmm2, qword [0x140363e50]
addsd xmm9, xmm0
cmp r9d, esi
jge 0x14020c640
mov edx, dword [rcx + 8]
mov eax, dword [r8 + 8]
test r10b, r10b
je 0x14020c619
cmp edx, eax
jl 0x14020c5ea
cvtsi2sd xmm1, edx
jmp 0x14020c5ee
cvtsi2sd xmm1, eax
cvtsi2sd xmm0, dword [r8 + 0xc]
cvtsi2sd xmm3, dword [rcx + 0xc]
minsd xmm0, xmm3
add r8, 8
add rcx, 8
comisd xmm1, xmm0
ja 0x14020c63d
subsd xmm0, xmm1
add r9d, 2
mulsd xmm2, xmm0
jmp 0x14020c5cf
movd xmm1, eax
movd xmm0, edx
comiss xmm1, xmm0
ja 0x14020c637
cvtss2sd xmm1, xmm0
cvtss2sd xmm0, dword [r8 + 0xc]
cvtss2sd xmm3, dword [rcx + 0xc]
jmp 0x14020c5f9
cvtss2sd xmm1, xmm1
jmp 0x14020c62a
xorps xmm2, xmm2
mov cl, byte [rsp + 0x63]
xorps xmm0, xmm0
lea r8, [rsp + 0xa0]
mov edx, r10d
addsd xmm2, xmm0
call sym.cellArea.isra.0
mov r8, qword [rsp + 0x50]
mov edx, r10d
movaps xmm3, xmm0
call sym.cellArea.isra.0
addsd xmm0, xmm3
cmp dword [rsp + 0x64], r11d
je 0x14020c68c
comisd xmm6, xmm2
ja 0x14020c69b
ucomisd xmm6, xmm2
jp 0x14020c693
jne 0x14020c693
comisd xmm7, xmm0
ja 0x14020c69b
jmp 0x14020c693
mov r15d, dword [rsp + 0x64]
jmp 0x14020c69e
movaps xmm0, xmm7
movaps xmm2, xmm6
jmp 0x14020c69e
mov r15d, r11d
inc r11d
movaps xmm7, xmm0
movaps xmm6, xmm2
jmp 0x14020c4dd
test r14, r14
je 0x14020c6b8
comisd xmm8, xmm9
jbe 0x14020c6c9
mov dword [rsp + 0x80], r14d
movaps xmm8, xmm9
mov dword [rsp + 0x70], r15d
inc r14
jmp 0x14020c49b
movsxd rax, dword [rsp + 0x80]
mov rdi, qword [rsp + 0x38]
mov ecx, 0xc
lea r14, [rsp + 0xd0]
lea r15, [rdi + rax*8]
mov rdi, qword [rsp + 0x30]
lea rax, [rsp + 0xa0]
mov rdx, qword [r15]
movsxd rsi, dword [rdx]
imul rsi, rsi, 0x30
add rsi, rdi
mov rdi, rax
movsxd rax, dword [rsp + 0x70]
rep movsd dword [rdi], dword [rsi]
mov ecx, 0xc
mov rdi, r14
mov rdx, qword [r15]
movsxd rsi, dword [rdx + rax*4]
mov rax, qword [rsp + 0x30]
imul rsi, rsi, 0x30
add rsi, rax
rep movsd dword [rdi], dword [rsi]
xor esi, esi
cmp dword [rsp + 0x70], esi
jle 0x14020c745
mov rdx, r12
lea rdi, [rsp + 0xa0]
jmp 0x14020c74b
mov rdx, r13
mov rdi, r14
mov rax, qword [r15]
mov rcx, rbx
movsxd r8, dword [rax + rsi*4]
mov rax, qword [rsp + 0x30]
inc rsi
imul r8, r8, 0x30
add r8, rax
call sym.nodeInsertCell
mov rdx, rdi
call sym.cellUnion
lea eax, [rsi - 1]
cmp dword [rsp + 0x58], eax
jg 0x14020c732
mov rcx, qword [rsp + 0x38]
call sym.sqlite3_free
mov rdx, r13
mov rcx, rbx
call sym.nodeWrite
mov r14d, eax
test eax, eax
jne 0x14020c975
cmp qword [r12 + 8], 0
je 0x14020c7e3
mov rax, qword [r13 + 8]
cmp qword [rbp + 8], 1
mov rsi, qword [r12]
mov qword [rsp + 0xd0], rax
mov rax, qword [r12 + 8]
mov qword [rsp + 0xa0], rax
jne 0x14020c7fa
mov eax, dword [rsp + 0x4c]
lea r8, [rsp + 0xa0]
mov rdx, rsi
mov rcx, rbx
lea r9d, [rax + 1]
call sym.rtreeInsertCell
jmp 0x14020c838
mov rdx, r12
mov rcx, rbx
call sym.nodeWrite
mov r14d, eax
test eax, eax
je 0x14020c7a2
jmp 0x14020c975
lea r8, [rsp + 0x9c]
mov rdx, r12
mov rcx, rbx
call sym.nodeParentIndex
mov r14d, eax
test eax, eax
jne 0x14020c975
mov r9d, dword [rsp + 0x9c]
lea r8, [rsp + 0xa0]
mov rdx, rsi
mov rcx, rbx
call sym.nodeOverwriteCell
call sym.AdjustTree
mov r14d, eax
test eax, eax
jne 0x14020c975
mov eax, dword [rsp + 0x4c]
mov rdx, qword [r13]
lea r8, [rsp + 0xd0]
mov rcx, rbx
lea r9d, [rax + 1]
call sym.rtreeInsertCell
mov esi, eax
mov r14d, eax
test eax, eax
jne 0x14020c975
xor edi, edi
xor r15d, r15d
mov rdx, qword [r13 + 0x18]
mov ax, word [rdx + 2]
xchg al, ah
movzx eax, ax
cmp r15d, eax
jge 0x14020c8d2
movzx eax, byte [rbx + 0x27]
mov r9d, dword [rsp + 0x4c]
mov r8, r13
mov rcx, rbx
imul eax, r15d
add eax, 4
cdqe
mov rdx, qword [rdx + rax]
bswap rdx
mov qword [rsp + 0x38], rdx
call sym.updateMapping
mov rdx, qword [rsp + 0x38]
mov r14d, eax
mov rax, qword [rsp + 0x40]
cmp qword [rax], rdx
mov eax, 1
cmove edi, eax
test r14d, r14d
jne 0x14020c975
inc r15d
jmp 0x14020c871
cmp qword [rbp + 8], 1
jne 0x14020c919
mov rdx, qword [r12 + 0x18]
mov ax, word [rdx + 2]
xchg al, ah
movzx eax, ax
cmp esi, eax
jge 0x14020c91d
movzx eax, byte [rbx + 0x27]
mov r9d, dword [rsp + 0x4c]
mov r8, r12
mov rcx, rbx
imul eax, esi
add eax, 4
cdqe
mov rdx, qword [rdx + rax]
bswap rdx
call sym.updateMapping
mov r14d, eax
test eax, eax
jne 0x14020c975
inc esi
jmp 0x14020c8d9
test edi, edi
je 0x14020c948
mov rdx, r13
mov rcx, rbx
xor r13d, r13d
call sym.nodeRelease
mov r14d, eax
test eax, eax
jne 0x14020c975
mov rdx, r12
mov rcx, rbx
xor r13d, r13d
xor r12d, r12d
call sym.nodeRelease
mov r14d, eax
jmp 0x14020c975
mov rax, qword [rsp + 0x40]
mov r9d, dword [rsp + 0x4c]
mov r8, r12
mov rcx, rbx
mov rdx, qword [rax]
call sym.updateMapping
mov r14d, eax
test eax, eax
jne 0x14020c975
jmp 0x14020c91d
xor r13d, r13d
xor r12d, r12d
mov r14d, 7
mov rdx, r13
mov rcx, rbx
call sym.nodeRelease
mov rcx, rbx
mov rdx, r12
call sym.nodeRelease
mov rcx, qword [rsp + 0x30]
call sym.sqlite3_free
jmp 0x14020ca3c
mov r8, qword [rsp + 0x40]
mov rdx, rbp
call sym.AdjustTree
mov r14d, eax
test eax, eax
jne 0x14020ca3c
mov rax, qword [rsp + 0x40]
cmp dword [rsp + 0x4c], 0
mov rcx, rbx
mov r8, qword [rbp + 8]
mov rdx, qword [rax]
jne 0x14020ca02
movaps xmm6, xmmword [rsp + 0x100]
movaps xmm7, xmmword [rsp + 0x110]
movaps xmm8, xmmword [rsp + 0x120]
movaps xmm9, xmmword [rsp + 0x130]
add rsp, 0x148
pop rbx
pop rsi
pop rdi
pop rbp
pop r12
pop r13
pop r14
pop r15
jmp sym.rowidWrite
movaps xmm6, xmmword [rsp + 0x100]
movaps xmm7, xmmword [rsp + 0x110]
movaps xmm8, xmmword [rsp + 0x120]
movaps xmm9, xmmword [rsp + 0x130]
add rsp, 0x148
pop rbx
pop rsi
pop rdi
pop rbp
pop r12
pop r13
pop r14
pop r15
jmp sym.parentWrite
movaps xmm6, xmmword [rsp + 0x100]
mov eax, r14d
movaps xmm7, xmmword [rsp + 0x110]
movaps xmm8, xmmword [rsp + 0x120]
movaps xmm9, xmmword [rsp + 0x130]
add rsp, 0x148
pop rbx
pop rsi
pop rdi
pop rbp
pop r12
pop r13
pop r14
pop r15
ret