Function at 0x85de50
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, 0xc8
movaps xmmword [rsp + 0xa0], xmm6
movaps xmmword [rsp + 0xb0], xmm7
pxor xmm7, xmm7
mov rax, qword [rcx]
mov ebx, dword [rcx + 0x10]
mov qword [rsp + 0x30], rax
movzx r13d, byte [rax + 0x26]
mov r15, rcx
lea eax, [rbx - 1]
mov dword [rsp + 0x48], 0
lea r12, [rax + rax*2 + 3]
mov dword [rsp + 0x3c], ebx
shl r12, 3
cmp byte [r15 + 9], 0
lea rbp, [r15 + 0x40]
jne 0x85dec6
mov eax, dword [r15 + 0x24]
test eax, eax
je 0x85e55b
mov rbp, qword [r15 + 0x30]
test rbp, rbp
je 0x85e55b
cmp byte [rbp + 0x10], 0
je 0x85e58c
lea rdx, [rsp + 0x48]
mov rcx, r15
call dbg.rtreeNodeOfFirstSearchPoint
mov rdx, rax
mov eax, dword [rsp + 0x48]
test eax, eax
jne 0x85e165
mov rsi, qword [rdx + 0x18]
movzx edx, byte [rbp + 0x12]
movzx r14d, byte [rsi + 2]
movzx eax, byte [rsi + 3]
shl r14d, 8
lea ebx, [r14 + rax]
mov rax, qword [rsp + 0x30]
mov dword [rsp + 0x38], ebx
movzx eax, byte [rax + 0x27]
imul eax, edx
add eax, 4
cdqe
add rsi, rax
cmp edx, ebx
jge 0x85e1f3
mov edx, dword [rsp + 0x3c]
test edx, edx
jle 0x85e575
mov rax, qword [0x00c5e670]
xor ebx, ebx
mov r14d, 2
movq xmm6, rax
lea rax, [rsp + 0x50]
mov qword [rsp + 0x28], rax
jmp 0x85df96
cmp byte [rbp + 0x10], 1
mov edx, dword [rcx]
je 0x85e200
and edx, 0xfe
cmp eax, 0x40
lea rdx, [rsi + rdx*4 + 8]
je case.0x85e23b.64
jg 0x85e190
cmp eax, 0x3f
jne 0x85e470
test r14d, r14d
je case.0x85e23b.64
add rbx, 0x18
cmp r12, rbx
je 0x85e254
mov rcx, qword [r15 + 0x18]
add rcx, rbx
mov eax, dword [rcx + 4]
cmp eax, 0x45
jle 0x85df51
mov rdi, qword [rcx + 0x10]
cmp eax, 0x47
mov edx, dword [rdi + 0x38]
je 0x85e4b1
cmp r13b, 1
je 0x85e310
cmp edx, 6
je 0x85e050
jle 0x85e460
cmp edx, 8
je 0x85e016
cmp edx, 0xa
jne 0x85e0b8
mov r8d, dword [rsi + 0x2c]
pxor xmm0, xmm0
bswap r8d
movd xmm2, r8d
mov r8d, dword [rsi + 0x28]
cvtss2sd xmm0, xmm2
movsd qword [rsp + 0x98], xmm0
pxor xmm0, xmm0
bswap r8d
movd xmm2, r8d
cvtss2sd xmm0, xmm2
movsd qword [rsp + 0x90], xmm0
mov r8d, dword [rsi + 0x24]
pxor xmm0, xmm0
bswap r8d
movd xmm5, r8d
mov r8d, dword [rsi + 0x20]
cvtss2sd xmm0, xmm5
movsd qword [rsp + 0x88], xmm0
pxor xmm0, xmm0
bswap r8d
movd xmm3, r8d
cvtss2sd xmm0, xmm3
movsd qword [rsp + 0x80], xmm0
mov r8d, dword [rsi + 0x1c]
pxor xmm0, xmm0
bswap r8d
movd xmm5, r8d
mov r8d, dword [rsi + 0x18]
cvtss2sd xmm0, xmm5
movsd qword [rsp + 0x78], xmm0
pxor xmm0, xmm0
bswap r8d
movd xmm2, r8d
cvtss2sd xmm0, xmm2
movsd qword [rsp + 0x70], xmm0
mov r8d, dword [rsi + 0x14]
pxor xmm0, xmm0
bswap r8d
movd xmm4, r8d
mov r8d, dword [rsi + 0x10]
cvtss2sd xmm0, xmm4
movsd qword [rsp + 0x68], xmm0
pxor xmm0, xmm0
bswap r8d
movd xmm5, r8d
cvtss2sd xmm0, xmm5
movsd qword [rsp + 0x60], xmm0
mov r8d, dword [rsi + 0xc]
cmp eax, 0x46
pxor xmm0, xmm0
mov r11, qword [rcx + 8]
bswap r8d
movd xmm2, r8d
mov r8d, dword [rsi + 8]
cvtss2sd xmm0, xmm2
movsd qword [rsp + 0x58], xmm0
pxor xmm0, xmm0
bswap r8d
movd xmm3, r8d
cvtss2sd xmm0, xmm3
movsd qword [rsp + 0x50], xmm0
je 0x85e41e
mov rax, qword [rsp + 0x28]
mov rcx, rdi
movsd xmm0, qword [rbp]
mov qword [rdi + 0x28], rax
movzx eax, byte [rbp + 0x10]
movsd qword [rdi + 0x50], xmm0
movsd qword [rdi + 0x60], xmm0
sub eax, 1
mov dword [rdi + 0x3c], eax
movzx eax, byte [rbp + 0x11]
mov dword [rdi + 0x58], eax
mov dword [rdi + 0x5c], eax
call r11
mov edx, dword [rdi + 0x5c]
movsd xmm0, qword [rdi + 0x60]
cmp r14d, edx
cmovg r14d, edx
comisd xmm6, xmm0
ja 0x85e4d0
movapd xmm1, xmm6
cmpnltsd xmm1, xmm7
andpd xmm6, xmm1
andnpd xmm1, xmm0
orpd xmm6, xmm1
test eax, eax
mov dword [rsp + 0x48], eax
je 0x85df80
movaps xmm6, xmmword [rsp + 0xa0]
movaps xmm7, xmmword [rsp + 0xb0]
add rsp, 0xc8
pop rbx
pop rsi
pop rdi
pop rbp
pop r12
pop r13
pop r14
pop r15
ret
cmp eax, 0x43
jg 0x85e470
mov r8d, dword [rdx]
cmp r13b, 1
bswap r8d
jne 0x85e501
pxor xmm0, xmm0
cvtsi2sd xmm0, r8d
movsd xmm1, qword [rcx + 8]
comisd xmm1, xmm0
jae case.0x85e23b.63
cmp eax, 0x41
je 0x85e475
nop word [rax + rax]
movzx eax, byte [rbp + 0x12]
mov rbx, qword [rsp + 0x30]
add eax, 1
mov byte [rbp + 0x12], al
movzx edx, byte [rbx + 0x27]
movzx eax, al
add rsi, rdx
cmp eax, dword [rsp + 0x38]
jl 0x85df25
mov rcx, r15
call sym.rtreeSearchPointPop
jmp 0x85dea2
lea edx, [rdx*4 + 8]
cmp r13b, 1
movsxd rdx, edx
mov edx, dword [rsi + rdx]
bswap edx
jne 0x85e4a0
pxor xmm0, xmm0
cvtsi2sd xmm0, edx
sub eax, 0x3f
cmp eax, 6
ja case.0x85e23b.65
lea rdi, [0x00c55120]
movsxd rax, dword [rdi + rax*4]
add rax, rdi
jmp rax
comisd xmm0, xmmword [rcx + 8]
jbe case.0x85e23b.64
add rbx, 0x18
cmp r12, rbx
jne 0x85df96
movzx ebx, byte [rbp + 0x12]
movzx edi, byte [rbp + 0x10]
lea edx, [rbx + 1]
sub dil, 1
mov byte [rbp + 0x12], dl
jne 0x85e520
mov rsi, qword [rbp + 8]
movzx edx, dl
cmp edx, dword [rsp + 0x38]
jge 0x85e513
pxor xmm1, xmm1
maxsd xmm1, xmm6
movzx r8d, dil
mov rcx, r15
call dbg.rtreeSearchPointNew
test rax, rax
je 0x85e590
cmp ebx, dword [rsp + 0x38]
mov byte [rax + 0x11], r14b
mov qword [rax + 8], rsi
mov byte [rax + 0x12], bl
jl 0x85dea2
jmp 0x85e1f3
comisd xmm0, xmmword [rcx + 8]
jb case.0x85e23b.64
jmp case.0x85e23b.63
movsd xmm1, qword [rcx + 8]
comisd xmm1, xmm0
jbe case.0x85e23b.64
jmp case.0x85e23b.63
movsd xmm1, qword [rcx + 8]
comisd xmm1, xmm0
jb case.0x85e23b.64
jmp case.0x85e23b.63
ucomisd xmm0, qword [rcx + 8]
jp case.0x85e23b.64
je case.0x85e23b.63
jmp case.0x85e23b.64
cmp edx, 6
je 0x85e38d
jle 0x85e453
cmp edx, 8
je 0x85e35b
cmp edx, 0xa
jne 0x85e3e5
mov r8d, dword [rsi + 0x2c]
pxor xmm0, xmm0
bswap r8d
cvtsi2sd xmm0, r8d
mov r8d, dword [rsi + 0x28]
movsd qword [rsp + 0x98], xmm0
bswap r8d
pxor xmm0, xmm0
cvtsi2sd xmm0, r8d
movsd qword [rsp + 0x90], xmm0
mov r8d, dword [rsi + 0x24]
pxor xmm0, xmm0
bswap r8d
cvtsi2sd xmm0, r8d
mov r8d, dword [rsi + 0x20]
movsd qword [rsp + 0x88], xmm0
bswap r8d
pxor xmm0, xmm0
cvtsi2sd xmm0, r8d
movsd qword [rsp + 0x80], xmm0
mov r8d, dword [rsi + 0x1c]
pxor xmm0, xmm0
bswap r8d
cvtsi2sd xmm0, r8d
mov r8d, dword [rsi + 0x18]
movsd qword [rsp + 0x78], xmm0
bswap r8d
pxor xmm0, xmm0
cvtsi2sd xmm0, r8d
movsd qword [rsp + 0x70], xmm0
mov r8d, dword [rsi + 0x14]
pxor xmm0, xmm0
bswap r8d
cvtsi2sd xmm0, r8d
mov r8d, dword [rsi + 0x10]
movsd qword [rsp + 0x68], xmm0
bswap r8d
pxor xmm0, xmm0
cvtsi2sd xmm0, r8d
movsd qword [rsp + 0x60], xmm0
mov r8d, dword [rsi + 0xc]
pxor xmm0, xmm0
cmp eax, 0x46
mov r11, qword [rcx + 8]
bswap r8d
cvtsi2sd xmm0, r8d
mov r8d, dword [rsi + 8]
movsd qword [rsp + 0x58], xmm0
bswap r8d
pxor xmm0, xmm0
cvtsi2sd xmm0, r8d
movsd qword [rsp + 0x50], xmm0
jne 0x85e0f9
mov rcx, rdi
mov dword [rsp + 0x4c], 0
mov r8, qword [rsp + 0x28]
lea r9, [rsp + 0x4c]
call r11
mov ecx, dword [rsp + 0x4c]
mov dword [rsp + 0x48], eax
test ecx, ecx
jne 0x85e4f0
test eax, eax
je case.0x85e23b.64
jmp 0x85e165
cmp edx, 4
je 0x85e3b9
jmp 0x85e3e5
cmp edx, 4
je 0x85e084
jmp 0x85e0b8
movsd xmm1, qword [rcx + 8]
mov eax, dword [rdx + 4]
cmp r13b, 1
bswap eax
jne 0x85e4e0
pxor xmm0, xmm0
cvtsi2sd xmm0, eax
comisd xmm0, xmm1
jb case.0x85e23b.64
jmp case.0x85e23b.63
movd xmm4, edx
pxor xmm0, xmm0
cvtss2sd xmm0, xmm4
jmp 0x85e221
cmp byte [rbp + 0x10], 1
jne 0x85dfb5
mov r8, qword [rsi]
bswap r8
mov qword [rdi + 0x48], r8
jmp 0x85dfb5
movapd xmm6, xmm0
jmp 0x85e159
movd xmm3, eax
pxor xmm0, xmm0
cvtss2sd xmm0, xmm3
jmp 0x85e488
test eax, eax
jne 0x85e165
pxor xmm6, xmm6
jmp case.0x85e23b.63
movd xmm4, r8d
pxor xmm0, xmm0
cvtss2sd xmm0, xmm4
jmp 0x85e1b2
mov rcx, r15
call sym.rtreeSearchPointPop
jmp 0x85e27d
mov ecx, dword [r15 + 0x24]
mov rsi, qword [rsi]
test ecx, ecx
bswap rsi
jle 0x85e554
mov rax, qword [r15 + 0x30]
cmp rsi, qword [rax + 8]
je 0x85e56b
sub ecx, 1
lea rcx, [rcx + rcx*2]
lea rcx, [rax + rcx*8]
jmp 0x85e54f
add rax, 0x18
cmp qword [rax + 8], rsi
je 0x85e56b
cmp rax, rcx
jne 0x85e545
xor ebx, ebx
jmp 0x85e270
mov eax, 1
mov byte [r15 + 8], al
xor eax, eax
jmp 0x85e165
mov eax, 0x10b
jmp 0x85e165
mov rax, qword [0x00c5e670]
mov r14d, 2
movq xmm6, rax
jmp 0x85e254
xor eax, eax
jmp 0x85e560
mov eax, 7
jmp 0x85e165