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

Disassembly:
mov r11, rsp
push rbx
push rsi
push r14
sub rsp, 0x90
mov rax, qword [0x1800a8010]
xor rax, rsp
mov qword [rsp + 0x70], rax
mov r10, qword [0x1800aaee0]
mov qword [r11 + 8], rbp
mov rbx, r10
mov qword [r11 + 0x10], rdi
mov ebp, 3
mov qword [r11 + 0x18], r12
test byte [r10 + 8], 2
mov qword [r11 - 0x28], r15
mov byte [r10 + 0xdb], 0
je 0x180018428
test byte [r10 + 0xc], 1
je 0x180018428
movdqa xmm0, xmmword [0x18009bfa0]
lea r9, [r11 - 0x58]
movdqa xmm1, xmmword [0x18009bfb0]
mov r15b, 1
mov byte [rsp + 0x20], r15b
movdqu xmmword [rsp + 0x50], xmm0
movdqu xmmword [rsp + 0x60], xmm1
nop word [rax + rax]
mov r11d, dword [r9]
mov rcx, r10
mov edx, r11d
call fcn.180012840
cmp byte [rax], 0
je 0x180018418
xor edx, edx
mov ecx, r11d
call fcn.180014cc0
test al, al
je 0x180018418
mov dword [r10 + 0x48e4], ebp
add r9, 4
lea rax, [rsp + 0x70]
cmp r9, rax
jne 0x1800183f0
jmp 0x180018430
xor r15b, r15b
mov byte [rsp + 0x20], r15b
movzx esi, byte [r10 + 8]
movdqa xmm0, xmmword [0x18009bf90]
and sil, 1
mov byte [rsp + 0x21], sil
movdqu xmmword [rsp + 0x30], xmm0
mov dword [rsp + 0x40], 0x201
mov dword [rsp + 0x44], 0x203
mov dword [rsp + 0x48], 0x204
je 0x1800184aa
lea r9, [rsp + 0x30]
nop dword [rax + rax]
mov r11d, dword [r9]
mov rcx, r10
mov edx, r11d
call fcn.180012840
cmp byte [rax], 0
je 0x18001849c
xor edx, edx
mov ecx, r11d
call fcn.180014cc0
test al, al
je 0x18001849c
mov dword [r10 + 0x48e4], 2
add r9, 4
lea rax, [rsp + 0x4c]
cmp r9, rax
jne 0x180018470
mov edx, dword [r10 + 0x48f4]
xor r14d, r14d
test edx, edx
je 0x180018565
mov r9, qword [r10 + 0x48b0]
mov rdi, r10
test r9, r9
je 0x180018565
test byte [r10 + 0x5c9c], 8
je 0x1800184f7
mov r9, qword [r9 + 8]
lea rcx, str._nav__NavInitRequest:_ApplyResult:_NavID_0x_08X_in_Layer__d_Window___s__n
mov r8d, dword [r10 + 0x48e8]
call fcn.18001c640
mov r10, qword [0x1800aaee0]
movsxd rax, dword [rdi + 0x48e8]
mov ecx, dword [rbx + 0x48f4]
mov rdx, rax
mov dword [r10 + 0x48e8], eax
mov rax, qword [r10 + 0x48b0]
mov dword [r10 + 0x48b8], ecx
mov dword [r10 + 0x48bc], r14d
mov dword [rax + rdx*4 + 0x3a0], ecx
add rdx, rdx
mov rax, qword [r10 + 0x48b0]
movups xmm0, xmmword [rdi + 0x48f8]
movups xmmword [rax + rdx*8 + 0x3a8], xmm0
mov byte [rdi + 0x48ec], 1
cmp byte [rdi + 0x48f2], r14b
je 0x180018565
mov word [r10 + 0x48ed], 1
mov byte [r10 + 0x48ef], 1
mov word [rbx + 0x48f1], r14w
mov dword [rbx + 0x48f4], r14d
mov dword [rbx + 0x48d0], r14d
cmp byte [rbx + 0x4908], r14b
je 0x180018589
call fcn.1800197b0
xor al, al
mov dword [rbx + 0x494c], r14d
mov r12d, 1
mov word [rbx + 0x4908], r14w
mov dword [rsp + 0x24], eax
cmp byte [rbx + 0x48ed], r14b
je 0x1800185da
cmp byte [rbx + 0x48ec], r14b
je 0x1800185da
cmp byte [rbx + 0x48ee], r14b
jne 0x1800185da
cmp byte [rbx + 0x48ef], r14b
je 0x1800185da
cmp qword [rbx + 0x48b0], r14
movzx eax, al
cmovne eax, r12d
mov dword [rsp + 0x24], eax
mov rcx, qword [rbx + 0x48b0]
mov byte [rbx + 0x48ed], r14b
test rcx, rcx
je 0x18001861c
mov rax, rcx
cmp qword [rax + 0x378], rax
je 0x180018610
test dword [rax + 0x14], 0x14000000
jne 0x180018610
mov rax, qword [rax + 0x368]
test rax, rax
jne 0x1800185f0
jmp 0x18001861c
cmp rax, rcx
je 0x18001861c
mov qword [rax + 0x398], rcx
mov rax, qword [rbx + 0x48b0]
test rax, rax
je 0x180018641
cmp qword [rax + 0x398], r14
je 0x180018641
cmp dword [rbx + 0x48e8], r14d
jne 0x180018641
mov qword [rax + 0x398], r14
mov qword [rsp + 0x88], r13
call fcn.18001a560
test sil, sil
jne 0x18001865c
test r15b, r15b
je 0x1800187aa
mov rax, qword [rbx + 0x48b0]
test rax, rax
je 0x1800187aa
test dword [rax + 0x14], 0x40000
jne 0x1800187aa
mov byte [rbx + 0xdd], r12b
mov byte [rsp + 0x20], r15b
cmp dword [rbx + 0x48b8], r14d
je 0x1800187b1
lea rsi, [rbx + 0x48ee]
mov byte [rsp + 0x20], r15b
cmp byte [rsi], r14b
jne 0x1800187b1
lea r13, [rbx + 0x4a18]
mov byte [rsp + 0x20], r15b
movzx eax, r12b
mov byte [rbx + 0xde], al
call fcn.180019af0
mov qword [rbx + 0x48c4], r14
mov dword [rbx + 0x48c0], r14d
mov dword [rbx + 0x48cc], r14d
mov r14d, dword [rbx + 0x48b8]
test r14d, r14d
je 0x1800188d9
lea rbp, [rbx + 0x48ee]
cmp byte [rbp], 0
mov rsi, rbp
jne 0x1800188d4
cmp qword [r13], 0
jne 0x1800188d4
mov rax, qword [rbx + 0x48b0]
test rax, rax
je 0x1800188d4
test dword [rax + 0x14], 0x40000
jne 0x1800188d4
movzx r9d, byte [rsp + 0x21]
mov rdi, qword [0x1800aaee0]
test r9b, r9b
je 0x180018750
mov edx, 0x20c
mov rcx, rdi
call fcn.180012840
cmp byte [rax], 0
je 0x180018750
cmp byte [rdi + 0x4010], 0
je 0x180018770
test r15b, r15b
je 0x1800187d0
mov edx, 0x26e
mov rcx, rdi
call fcn.180012840
cmp byte [rax], 0
je 0x1800187d0
cmp byte [rdi + 0x44a8], 0
jne 0x1800187d0
movzx esi, r12b
test r9b, r9b
je 0x18001878c
xor r8d, r8d
xor edx, edx
mov ecx, 0x20c
call fcn.180012f50
test al, al
jne 0x1800187a4
test r15b, r15b
je 0x1800187d3
xor r8d, r8d
xor edx, edx
mov ecx, 0x26e
call fcn.180012f50
test al, al
je 0x1800187d3
movzx r15d, r12b
jmp 0x1800187d6
mov byte [rbx + 0xdd], r14b
lea r13, [rbx + 0x4a18]
lea rsi, [rbx + 0x48ee]
cmp qword [r13], r14
jne 0x1800186b3
xor al, al
jmp 0x1800186b7
xor sil, sil
xor r15b, r15b
movzx r9d, byte [rsp + 0x21]
test r9b, r9b
je 0x1800187fc
mov edx, 0x20d
mov rcx, rdi
call fcn.180012840
cmp byte [rax], 0
je 0x1800187fc
cmp byte [rdi + 0x401c], 0
je 0x18001881e
cmp byte [rsp + 0x20], 0
je 0x18001885a
mov edx, 0x26d
mov rcx, rdi
call fcn.180012840
cmp byte [rax], 0
je 0x18001885a
cmp byte [rdi + 0x449c], 0
jne 0x18001885a
movzx edi, r12b
test r9b, r9b
je 0x18001883a
xor r8d, r8d
xor edx, edx
mov ecx, 0x20d
call fcn.180012f50
test al, al
jne 0x180018854
cmp byte [rsp + 0x20], 0
je 0x18001885d
xor r8d, r8d
xor edx, edx
mov ecx, 0x26d
call fcn.180012f50
test al, al
je 0x18001885d
movzx ecx, r12b
jmp 0x18001885f
xor dil, dil
xor cl, cl
mov eax, dword [rbx + 0x3f30]
test eax, eax
jne 0x180018881
test r15b, r15b
je 0x180018886
mov dword [rbx + 0x48c0], r14d
mov dword [rbx + 0x48cc], 2
jmp 0x180018886
cmp eax, r14d
jne 0x1800188b6
test cl, cl
je 0x180018898
mov dword [rbx + 0x48c0], r14d
mov dword [rbx + 0x48cc], r12d
test eax, eax
je 0x1800188a1
cmp eax, r14d
jne 0x1800188b6
test sil, sil
jne 0x1800188ab
test dil, dil
je 0x1800188b2
mov dword [rbx + 0x48c4], r14d
test eax, eax
je 0x1800188be
mov rsi, rbp
cmp eax, r14d
jne 0x1800188d4
test r15b, r15b
jne 0x1800188ca
mov rsi, rbp
test cl, cl
je 0x1800188d4
mov dword [rbx + 0x48c8], r14d
mov rsi, rbp
mov ebp, 3
mov rax, qword [rbx + 0x48b0]
mov r15, qword [rsp + 0x80]
test rax, rax
je 0x1800188f9
test dword [rax + 0x14], 0x40000
je 0x1800188f9
mov byte [rsi], r12b
mov eax, dword [rbx + 0x48dc]
test eax, eax
je 0x180018921
mov dword [rbx + 0x48c8], eax
mov dword [rbx + 0x48c4], eax
mov dword [rbx + 0x48c0], eax
mov eax, dword [rbx + 0x48e0]
mov dword [rbx + 0x48cc], eax
xor r14d, r14d
mov dword [rbx + 0x48dc], r14d
call fcn.180018db0
cmp dword [rbx + 0x4918], 0xffffffff
xorps xmm5, xmm5
mov rdi, qword [0x1800aaee0]
jne 0x180018a8d
mov r11, qword [rdi + 0x48b0]
test r11, r11
je 0x180018a8d
cmp qword [rdi + 0x4a18], r14
jne 0x180018a8d
test dword [r11 + 0x14], 0x40000
jne 0x180018a8d
mov edx, 0x200
mov rcx, rdi
call fcn.180012840
cmp byte [rax], r14b
je 0x180018a8d
movss xmm0, dword [rax + 4]
comiss xmm5, xmm0
ja 0x180018a8d
ucomiss xmm0, xmm5
jp 0x1800189a2
jne 0x1800189a2
mov r10, rdi
jmp 0x1800189ca
movss xmm1, dword [rdi + 0x3c]
mov r10, rdi
comiss xmm0, xmm1
jbe 0x180018a8d
movss xmm2, dword [rdi + 0x40]
mov ecx, 0x200
call fcn.1800129d0
test eax, eax
jle 0x180018a8d
cmp byte [r10 + 0x4744], r14b
je 0x1800189e1
cmp dword [r10 + 0x3f30], 0xffffffff
jne 0x180018a8d
cmp dword [r10 + 0x3f78], 0xffffffff
jne 0x180018a8d
cmp byte [rdi + 0xe24], r14b
jne 0x180018a8d
cmp byte [rdi + 0xe26], r14b
jne 0x180018a8d
movzx eax, byte [rdi + 0xe25]
test byte [rdi + 8], r12b
je 0x180018a39
test al, al
je 0x180018a22
mov r12d, 0xffffffff
jmp 0x180018a53
cmp byte [rdi + 0x48ee], r12b
jne 0x180018a53
cmp dword [rdi + 0x3f30], r14d
jne 0x180018a53
mov r12d, r14d
jmp 0x180018a53
test al, al
je 0x180018a45
mov r12d, 0xffffffff
jmp 0x180018a53
cmp dword [rdi + 0x3f30], r14d
mov r12d, r14d
setne r12b
mov dword [rdi + 0x4948], r12d
mov eax, 0x21
cmp byte [r11 + 0xbc], r14b
mov r8d, 0x400
cmovne ebp, eax
sar r12d, 0x1f
mov r9d, ebp
lea ecx, [rax - 0x22]
lea edx, [r12 + 3]
call fcn.180017bd0
mov dword [rdi + 0x494c], 0xffffffff
mov r12, qword [rsp + 0xc0]
mov rbp, qword [rsp + 0xb0]
cmp byte [rdi + 0x4909], r14b
jne 0x180018ab3
cmp byte [rdi + 0x48f1], r14b
jne 0x180018ab3
xor al, al
jmp 0x180018ab5
mov al, 1
mov byte [rdi + 0x48f0], al
mov r11, qword [rbx + 0x48b0]
mov byte [rbx + 0x48ec], r14b
test r11, r11
je 0x180018d0a
test dword [r11 + 0x14], 0x40000
jne 0x180018d0a
cmp qword [r13], r14
jne 0x180018d0a
mov rax, qword [r11]
movss xmm0, dword [rax + 0x3c0c]
mov rax, qword [r11 + 0x368]
mulss xmm0, dword [r11 + 0x290]
test rax, rax
je 0x180018b12
mulss xmm0, dword [rax + 0x290]
mulss xmm0, dword [0x18009be44]
mov ecx, dword [rbx + 0x4918]
movss xmm2, dword [0x18009bddc]
mulss xmm0, dword [rbx + 0x18]
addss xmm0, dword [0x18009bda4]
cvttss2si eax, xmm0
movd xmm3, eax
cvtdq2ps xmm3, xmm3
cmp word [r11 + 0x15c], r14w
jne 0x180018be8
cmp byte [r11 + 0x162], r14b
je 0x180018be8
cmp ecx, 0xffffffff
je 0x180018be8
movss xmm1, dword [0x18009be9c]
test ecx, ecx
je 0x180018b7a
cmp ecx, 1
jne 0x180018bac
movaps xmm0, xmm2
jmp 0x180018b7d
movaps xmm0, xmm1
mulss xmm0, xmm3
mov dword [r11 + 0x9c], r14d
mov dword [r11 + 0xa4], r14d
addss xmm0, dword [r11 + 0x84]
cvttss2si eax, xmm0
movd xmm0, eax
cvtdq2ps xmm0, xmm0
movss dword [r11 + 0x94], xmm0
cmp ecx, 2
je 0x180018bb9
cmp ecx, 3
jne 0x180018be8
movaps xmm1, xmm2
mulss xmm1, xmm3
mov dword [r11 + 0xa0], r14d
mov dword [r11 + 0xa8], r14d
addss xmm1, dword [r11 + 0x88]
cvttss2si eax, xmm1
movd xmm0, eax
cvtdq2ps xmm0, xmm0
movss dword [r11 + 0x98], xmm0
movzx eax, byte [rsp + 0x20]
test al, al
je 0x180018d0f
mov edx, 0x27c
mov rcx, rdi
call fcn.180012840
mov edx, 0x27a
mov rcx, rdi
mov r10, rax
call fcn.180012840
mov edx, 0x279
mov rcx, rdi
mov r9, rax
call fcn.180012840
movss xmm0, dword [r9 + 0xc]
mov edx, 0x27b
mov rcx, rdi
subss xmm0, dword [rax + 0xc]
call fcn.180012840
movss xmm1, dword [r10 + 0xc]
mov edx, 0x273
mov rcx, rdi
subss xmm1, dword [rax + 0xc]
call fcn.180012840
cmp byte [rax], r14b
je 0x180018c6a
cmp byte [rdi + 0x44e4], r14b
jne 0x180018c6a
movss xmm2, dword [0x18009bd84]
jmp 0x180018c8d
mov edx, 0x274
mov rcx, rdi
call fcn.180012840
cmp byte [rax], r14b
je 0x180018c8d
cmp byte [rdi + 0x44f0], r14b
jne 0x180018c8d
movss xmm2, dword [0x18009be20]
ucomiss xmm0, xmm5
jp 0x180018c94
je 0x180018cd0
cmp byte [r11 + 0xb4], r14b
je 0x180018cd0
mulss xmm0, xmm3
mov dword [r11 + 0x9c], r14d
mov dword [r11 + 0xa4], r14d
mulss xmm0, xmm2
addss xmm0, dword [r11 + 0x84]
cvttss2si eax, xmm0
movd xmm0, eax
cvtdq2ps xmm0, xmm0
movss dword [r11 + 0x94], xmm0
ucomiss xmm1, xmm5
jp 0x180018cd7
je 0x180018d0a
mulss xmm1, xmm3
mov dword [r11 + 0xa0], r14d
mov dword [r11 + 0xa8], r14d
mulss xmm1, xmm2
addss xmm1, dword [r11 + 0x88]
cvttss2si eax, xmm1
movd xmm0, eax
cvtdq2ps xmm0, xmm0
movss dword [r11 + 0x98], xmm0
movzx eax, byte [rsp + 0x20]
mov r13, qword [rsp + 0x88]
mov rdi, qword [rsp + 0xb8]
cmp byte [rsp + 0x21], r14b
jne 0x180018d36
test al, al
jne 0x180018d36
mov byte [rsi], 1
mov byte [rbx + 0x48ef], r14b
jmp 0x180018d83
cmp byte [rsp + 0x24], r14b
je 0x180018d83
test byte [rbx + 8], 4
je 0x180018d83
test byte [rbx + 0xc], 4
je 0x180018d83
lea rcx, [rsp + 0x24]
call fcn.180018060
movss xmm0, dword [rax]
movss xmm1, dword [rax + 4]
movss dword [rbx + 0x36f0], xmm0
movss dword [rbx + 0x36f4], xmm1
movss dword [rbx + 0xe08], xmm0
movss dword [rbx + 0xe0c], xmm1
mov byte [rbx + 0xdb], 1
mov dword [rbx + 0x4944], r14d
mov rcx, qword [rsp + 0x70]
xor rcx, rsp
call fcn.18005c6b0
add rsp, 0x90
pop r14
pop rsi
pop rbx
ret