Function at 0x4b547b
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, 0x88
mov eax, 0x206
cmp dword [rcx + 0x54], 0
mov rbx, rcx
mov esi, edx
mov rdi, r8
mov qword [rsp + 0xe8], r9
mov dword [rsp + 0x44], 0
jne 0x4b57f4
inc dword [rcx + 0x40]
lea rdx, [0x004ed140]
xor r12d, r12d
mov rcx, qword [r8]
mov r15, rdx
mov eax, dword [rcx + 0x14]
and eax, 0x3f
movzx r13d, byte [rdx + rax]
cmp r13d, 5
je 0x4b54e1
call sym.sqlite3VdbeIntValue
mov r12, rax
cmp esi, 1
jle 0x4b5506
mov rcx, qword [rdi + 8]
mov eax, dword [rcx + 0x14]
and eax, 0x3f
cmp byte [r15 + rax], 5
je 0x4b5506
call sym.sqlite3VdbeIntValue
mov ebp, 1
mov r14, rax
jmp 0x4b550b
xor ebp, ebp
xor r14d, r14d
cmp esi, 1
mov qword [rsp + 0x50], r14
jle 0x4b55ff
cmp r13d, 5
mov rdx, qword [rdi + 0x10]
je 0x4b5539
mov eax, dword [rdx + 0x14]
and ax, 0x401
cmp ax, 0x401
jne 0x4b5539
cmp r12, r14
je 0x4b55ff
lea r9, [rsp + 0x44]
xor ecx, ecx
lea r8, [rsp + 0x58]
call sym.geopolyBBox
mov eax, dword [rsp + 0x44]
test eax, eax
je 0x4b556f
dec eax
jne 0x4b57e8
lea rcx, str._shape_does_not_contain_a_valid_polygon
call sym.sqlite3_mprintf
mov qword [rbx + 0x10], rax
jmp 0x4b57e8
test ebp, ebp
jne 0x4b557e
mov r8d, 1
jmp 0x4b5602
cmp r13d, 5
je 0x4b5589
cmp r12, r14
je 0x4b5573
mov r8, qword [rsp + 0x50]
mov edx, 1
mov rcx, qword [rbx + 0x88]
call sym.sqlite3_bind_int64
mov rcx, qword [rbx + 0x88]
call sym.sqlite3_step
mov rcx, qword [rbx + 0x88]
mov r14d, eax
call sym.sqlite3_reset
cmp r14d, 0x64
mov dword [rsp + 0x44], eax
jne 0x4b5573
mov rax, qword [rbx + 0x18]
lea rdx, [0x004eb040]
movzx eax, byte [rax + 0x6c]
dec eax
cdqe
cmp byte [rdx + rax], 5
jne 0x4b55ec
mov rdx, qword [rsp + 0x50]
mov rcx, rbx
call sym.rtreeDeleteRowid
jmp 0x4b55f6
xor edx, edx
mov rcx, rbx
call sym.rtreeConstraintError
mov dword [rsp + 0x44], eax
mov r8d, ebp
jmp 0x4b5602
xor r8d, r8d
mov r14d, dword [rsp + 0x44]
test r14d, r14d
jne 0x4b57e8
cmp esi, 1
je 0x4b563c
cmp r13d, 5
je 0x4b5621
test r8b, 1
jne 0x4b563c
cmp esi, 1
setg r12b
and r8b, 1
je 0x4b56e9
test r12b, r12b
jne 0x4b565e
jmp 0x4b56e9
mov rdx, r12
mov rcx, rbx
mov dword [rsp + 0x3c], r8d
call sym.rtreeDeleteRowid
mov r8d, dword [rsp + 0x3c]
test eax, eax
mov dword [rsp + 0x44], eax
je 0x4b5621
jmp 0x4b57e8
mov qword [rsp + 0x48], 0
test ebp, ebp
jne 0x4b567c
lea rdx, [rsp + 0x50]
mov rcx, rbx
call sym.rtreeNewRowid
mov dword [rsp + 0x44], eax
mov rax, qword [rsp + 0x50]
mov rdx, qword [rsp + 0xe8]
cmp dword [rsp + 0x44], 0
mov qword [rdx], rax
jne 0x4b56e9
lea rbp, [rsp + 0x50]
xor r8d, r8d
mov rcx, rbx
lea r9, [rsp + 0x48]
mov rdx, rbp
call sym.ChooseLeaf
test eax, eax
mov dword [rsp + 0x44], eax
jne 0x4b56e9
mov rdx, qword [rsp + 0x48]
xor r9d, r9d
mov r8, rbp
mov rcx, rbx
mov dword [rbx + 0x68], 0xffffffff
call sym.rtreeInsertCell
mov rdx, qword [rsp + 0x48]
mov rcx, rbx
mov dword [rsp + 0x44], eax
call sym.nodeRelease
cmp dword [rsp + 0x44], 0
jne 0x4b56e9
mov dword [rsp + 0x44], eax
cmp dword [rsp + 0x44], 0
jne 0x4b57e8
test r12b, r12b
je 0x4b57e8
mov rbp, qword [rbx + 0xb8]
mov edx, 1
mov r8, qword [rsp + 0x50]
mov rcx, rbp
call sym.sqlite3_bind_int64
mov rdx, qword [rdi + 0x10]
mov eax, dword [rdx + 0x14]
mov ecx, eax
and cx, 0x401
cmp cx, 0x401
jne 0x4b5740
mov edx, 2
mov rcx, rbp
call sym.sqlite3_bind_null
xor r12d, r12d
sub esi, 2
jmp 0x4b57b0
and eax, 0x3f
cmp byte [r15 + rax], 3
jne 0x4b578c
lea r8, [rsp + 0x44]
xor ecx, ecx
call sym.geopolyFuncParam
test rax, rax
mov r12, rax
je 0x4b578c
cmp dword [rsp + 0x44], 0
jne 0x4b578f
mov eax, dword [rax]
lea r8, [r12 + 4]
mov edx, 2
mov rcx, rbp
mov qword [rsp + 0x20], 0xffffffffffffffff
lea r9d, [rax*8 + 4]
call sym.sqlite3_bind_blob
jmp 0x4b57a0
xor r12d, r12d
mov r8, qword [rdi + 0x10]
mov edx, 2
mov rcx, rbp
call sym.sqlite3_bind_value
mov rcx, r12
mov r14d, 1
call sym.sqlite3_free
jmp 0x4b5738
lea eax, [r14 + r12]
inc r12
cmp esi, r12d
jle 0x4b57d0
mov r8, qword [rdi + r12*8 + 0x10]
lea edx, [r12 + 2]
mov rcx, rbp
call sym.sqlite3_bind_value
jmp 0x4b57b0
test eax, eax
je 0x4b57e8
mov rcx, rbp
call sym.sqlite3_step
mov rcx, rbp
call sym.sqlite3_reset
mov dword [rsp + 0x44], eax
mov rcx, rbx
call sym.rtreeRelease
mov eax, dword [rsp + 0x44]
add rsp, 0x88
pop rbx
pop rsi
pop rdi
pop rbp
pop r12
pop r13
pop r14
pop r15
ret