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

Disassembly:
mov qword [rsp + 8], rbx
mov qword [rsp + 0x10], rbp
mov qword [rsp + 0x18], rsi
push rdi
push r12
push r13
push r14
push r15
sub rsp, 0x70
mov rax, qword [0x180055040]
xor rax, rsp
mov qword [rsp + 0x68], rax
mov r11, qword [0x1800559b8]
mov r13d, 3
mov rbx, r11
test byte [r11 + 8], 2
mov byte [r11 + 0xd5], 0
je 0x180015b8a
test byte [r11 + 0xc], 1
je 0x180015b8a
movdqa xmm0, xmmword [0x18004e4c0]
lea r9, [rsp + 0x48]
movdqa xmm1, xmmword [0x18004e4d0]
mov r15b, 1
movdqu xmmword [rsp + 0x48], xmm0
movdqu xmmword [rsp + 0x58], xmm1
mov r10d, dword [r9]
mov ecx, r10d
call fcn.180001ef0
cmp byte [rax], 0
je 0x180015b7a
xor edx, edx
mov ecx, r10d
call fcn.180012320
test al, al
je 0x180015b7a
mov dword [r11 + 0x4904], r13d
add r9, 4
lea rax, [rsp + 0x68]
cmp r9, rax
jne 0x180015b55
jmp 0x180015b8d
xor r15b, r15b
movzx r12d, byte [r11 + 8]
movdqa xmm0, xmmword [0x18004e4b0]
mov dword [rsp + 0x38], 0x201
mov dword [rsp + 0x3c], 0x203
mov dword [rsp + 0x40], 0x204
movdqu xmmword [rsp + 0x28], xmm0
and r12b, 1
je 0x180015bfa
lea r9, [rsp + 0x28]
mov r10d, dword [r9]
mov ecx, r10d
call fcn.180001ef0
cmp byte [rax], 0
je 0x180015bec
xor edx, edx
mov ecx, r10d
call fcn.180012320
test al, al
je 0x180015bec
mov dword [r11 + 0x4904], 2
add r9, 4
lea rax, [rsp + 0x44]
cmp r9, rax
jne 0x180015bc3
mov edx, dword [r11 + 0x4920]
xor r14d, r14d
mov dword [r11 + 0x48f0], r14d
test edx, edx
je 0x180015d28
mov r9, qword [r11 + 0x48d0]
mov rdi, r11
test r9, r9
je 0x180015d28
cmp dword [r11 + 0x48d8], edx
je 0x180015c4b
mov dword [r11 + 0x48f0], edx
mov eax, dword [r11 + 0x4924]
mov dword [r11 + 0x48f4], eax
mov dword [r11 + 0x48f8], r14d
test byte [r11 + 0x5cec], 8
je 0x180015c73
mov r9, qword [r9 + 8]
lea rcx, str._nav__NavInitRequest:_ApplyResult:_NavID_0x_08X_in_Layer__d_Window___s__n
mov r8d, dword [r11 + 0x4908]
call fcn.180019f20
mov r11, qword [0x1800559b8]
mov eax, dword [rdi + 0x4924]
movsxd rcx, dword [rdi + 0x4908]
mov edx, dword [rdi + 0x4920]
mov r8, rcx
mov dword [r11 + 0x48dc], eax
add r8, r8
mov rax, qword [r11 + 0x48d0]
mov dword [r11 + 0x48d8], edx
mov dword [r11 + 0x4908], ecx
mov dword [rax + rcx*4 + 0x3a0], edx
mov rax, qword [r11 + 0x48d0]
movups xmm0, xmmword [rdi + 0x4928]
movups xmmword [rax + r8*8 + 0x3a8], xmm0
mov rax, qword [r11 + 0x48d0]
movsxd rdx, dword [r11 + 0x4908]
mov rcx, qword [rax + 0x390]
mov dword [rcx + rdx*8 + 0x3c8], 0x7f7fffff
mov rax, qword [r11 + 0x48d0]
movsxd rdx, dword [r11 + 0x4908]
mov rcx, qword [rax + 0x390]
mov dword [rcx + rdx*8 + 0x3cc], 0x7f7fffff
mov byte [rdi + 0x490c], 1
cmp byte [rdi + 0x4912], r14b
je 0x180015d28
mov word [r11 + 0x490d], 1
mov byte [r11 + 0x490f], 1
mov word [rbx + 0x4911], r14w
mov dword [rbx + 0x4920], r14d
cmp byte [rbx + 0x4948], r14b
je 0x180015d45
call fcn.180016fb0
xor bpl, bpl
mov dword [rbx + 0x498c], r14d
mov esi, 1
mov word [rbx + 0x4948], r14w
mov dword [rsp + 0x20], ebp
cmp byte [rbx + 0x490d], r14b
je 0x180015d96
cmp byte [rbx + 0x490c], r14b
je 0x180015d96
cmp byte [rbx + 0x490e], r14b
jne 0x180015d96
cmp byte [rbx + 0x490f], r14b
je 0x180015d96
cmp qword [rbx + 0x48d0], r14
movzx ebp, bpl
cmovne ebp, esi
mov dword [rsp + 0x20], ebp
mov rcx, qword [rbx + 0x48d0]
mov byte [rbx + 0x490d], r14b
test rcx, rcx
je 0x180015ddc
mov rax, rcx
nop dword [rax]
cmp qword [rax + 0x378], rax
je 0x180015dd0
test dword [rax + 0x14], 0x14000000
jne 0x180015dd0
mov rax, qword [rax + 0x368]
test rax, rax
jne 0x180015db0
jmp 0x180015ddc
cmp rax, rcx
je 0x180015ddc
mov qword [rax + 0x398], rcx
mov rax, qword [rbx + 0x48d0]
test rax, rax
je 0x180015e01
cmp qword [rax + 0x398], r14
je 0x180015e01
cmp dword [rbx + 0x4908], r14d
jne 0x180015e01
mov qword [rax + 0x398], r14
call fcn.180017f40
test r12b, r12b
jne 0x180015e14
test r15b, r15b
je 0x180015f29
mov rax, qword [rbx + 0x48d0]
test rax, rax
je 0x180015f29
test dword [rax + 0x14], 0x40000
jne 0x180015f29
mov byte [rbx + 0xd7], sil
cmp dword [rbx + 0x48d8], r14d
je 0x180015f30
cmp byte [rbx + 0x490e], r14b
jne 0x180015f30
movzx eax, sil
mov byte [rbx + 0xd8], al
call fcn.180017460
mov qword [rbx + 0x48e4], r14
mov dword [rbx + 0x48e0], r14d
mov dword [rbx + 0x48ec], r14d
cmp dword [rbx + 0x48d8], r14d
je 0x180016049
cmp byte [rbx + 0x490e], r14b
jne 0x180016049
cmp qword [rbx + 0x4a58], r14
jne 0x180016049
mov rax, qword [rbx + 0x48d0]
test rax, rax
je 0x180016049
test dword [rax + 0x14], 0x40000
jne 0x180016049
mov rdi, qword [0x1800559b8]
test r12b, r12b
je 0x180015ed8
cmp byte [rdi + 0x2ee4], r14b
je 0x180015ed8
cmp byte [rdi + 0x4018], r14b
je 0x180015eef
test r15b, r15b
je 0x180015f44
cmp byte [rdi + 0x3504], r14b
je 0x180015f44
cmp byte [rdi + 0x44b0], r14b
jne 0x180015f44
movzx r14d, sil
test r12b, r12b
je 0x180015f0b
xor r8d, r8d
xor edx, edx
mov ecx, 0x20c
call fcn.180010530
test al, al
jne 0x180015f23
test r15b, r15b
je 0x180015f44
xor r8d, r8d
xor edx, edx
mov ecx, 0x26e
call fcn.180010530
test al, al
je 0x180015f44
movzx ebp, sil
jmp 0x180015f47
mov byte [rbx + 0xd7], r14b
cmp qword [rbx + 0x4a58], r14
jne 0x180015e52
xor al, al
jmp 0x180015e56
xor bpl, bpl
test r12b, r12b
je 0x180015f5e
cmp byte [rdi + 0x2ef4], 0
je 0x180015f5e
cmp byte [rdi + 0x4024], 0
je 0x180015f75
test r15b, r15b
je 0x180015faf
cmp byte [rdi + 0x34f4], 0
je 0x180015faf
cmp byte [rdi + 0x44a4], 0
jne 0x180015faf
movzx edi, sil
test r12b, r12b
je 0x180015f91
xor r8d, r8d
xor edx, edx
mov ecx, 0x20d
call fcn.180010530
test al, al
jne 0x180015fa9
test r15b, r15b
je 0x180015fb2
xor r8d, r8d
xor edx, edx
mov ecx, 0x26d
call fcn.180010530
test al, al
je 0x180015fb2
movzx edx, sil
jmp 0x180015fb4
xor dil, dil
xor dl, dl
mov ecx, dword [rbx + 0x3f38]
test ecx, ecx
jne 0x180015fdb
test bpl, bpl
je 0x180015fe3
mov eax, dword [rbx + 0x48d8]
mov dword [rbx + 0x48e0], eax
mov dword [rbx + 0x48ec], 2
jmp 0x180015fe3
cmp ecx, dword [rbx + 0x48d8]
jne 0x18001601b
test dl, dl
je 0x180015ff9
mov eax, dword [rbx + 0x48d8]
mov dword [rbx + 0x48e0], eax
mov dword [rbx + 0x48ec], esi
test ecx, ecx
je 0x180016005
cmp ecx, dword [rbx + 0x48d8]
jne 0x18001601b
test r14b, r14b
jne 0x18001600f
test dil, dil
je 0x18001601b
mov eax, dword [rbx + 0x48d8]
mov dword [rbx + 0x48e4], eax
mov eax, dword [rbx + 0x3f38]
test eax, eax
je 0x18001602d
cmp eax, dword [rbx + 0x48d8]
jne 0x180016042
test bpl, bpl
jne 0x180016036
test dl, dl
je 0x180016042
mov eax, dword [rbx + 0x48d8]
mov dword [rbx + 0x48e8], eax
mov ebp, dword [rsp + 0x20]
xor r14d, r14d
mov rax, qword [rbx + 0x48d0]
test rax, rax
je 0x180016065
test dword [rax + 0x14], 0x40000
je 0x180016065
mov byte [rbx + 0x490e], sil
mov eax, dword [rbx + 0x48fc]
test eax, eax
je 0x18001608d
mov dword [rbx + 0x48e8], eax
mov dword [rbx + 0x48e4], eax
mov dword [rbx + 0x48e0], eax
mov eax, dword [rbx + 0x4900]
mov dword [rbx + 0x48ec], eax
mov dword [rbx + 0x48fc], r14d
call fcn.1800164c0
cmp dword [rbx + 0x4958], 0xffffffff
xorps xmm5, xmm5
mov r11, qword [0x1800559b8]
jne 0x1800161f6
mov r10, qword [r11 + 0x48d0]
test r10, r10
je 0x1800161f6
cmp qword [r11 + 0x4a58], 0
jne 0x1800161f6
test dword [r10 + 0x14], 0x40000
jne 0x1800161f6
cmp byte [r11 + 0x2e24], 0
je 0x1800161f6
movss xmm0, dword [r11 + 0x2e28]
comiss xmm5, xmm0
ja 0x1800161f6
ucomiss xmm0, xmm5
mov r9, r11
jp 0x180016106
je 0x18001612d
movss xmm1, dword [r11 + 0x70]
comiss xmm0, xmm1
jbe 0x1800161f6
movss xmm2, dword [r11 + 0x74]
mov ecx, 0x200
call fcn.180010010
test eax, eax
jle 0x1800161f6
cmp byte [r9 + 0x474c], 0
je 0x180016145
cmp dword [r9 + 0x3f38], 0xffffffff
jne 0x1800161f6
cmp dword [r9 + 0x3f80], 0xffffffff
jne 0x1800161f6
cmp byte [r11 + 0xe1c], 0
jne 0x1800161f6
cmp byte [r11 + 0xe1e], 0
jne 0x1800161f6
movzx eax, byte [r11 + 0xe1d]
test byte [r11 + 8], sil
je 0x1800161a0
test al, al
je 0x180016188
mov esi, 0xffffffff
jmp 0x1800161ba
cmp byte [r11 + 0x490e], sil
jne 0x1800161ba
cmp dword [r11 + 0x3f38], 0
jne 0x1800161ba
mov esi, r14d
jmp 0x1800161ba
test al, al
je 0x1800161ab
mov esi, 0xffffffff
jmp 0x1800161ba
cmp dword [r11 + 0x3f38], 0
mov esi, r14d
setne sil
mov dword [r11 + 0x4988], esi
mov eax, 0x21
cmp byte [r10 + 0xbc], 0
mov ecx, 0xffffffff
mov r8d, 0x1400
cmovne r13d, eax
sar esi, 0x1f
mov r9d, r13d
lea edx, [rsi + 3]
call fcn.1800152d0
mov dword [r11 + 0x498c], 0xffffffff
cmp byte [r11 + 0x4949], 0
jne 0x18001620e
cmp byte [r11 + 0x4911], 0
jne 0x18001620e
xor al, al
jmp 0x180016210
mov al, 1
mov byte [r11 + 0x4910], al
mov rcx, qword [rbx + 0x48d0]
mov byte [rbx + 0x490c], 0
test rcx, rcx
je 0x180016422
test dword [rcx + 0x14], 0x40000
jne 0x180016422
cmp qword [rbx + 0x4a58], 0
jne 0x180016422
mov rax, qword [rcx]
movss xmm0, dword [rax + 0x3c14]
mov rax, qword [rcx + 0x368]
mulss xmm0, dword [rcx + 0x290]
test rax, rax
je 0x180016270
mulss xmm0, dword [rax + 0x290]
cmp word [rcx + 0x15c], 0
mulss xmm0, dword [0x18004e3e0]
mov edx, dword [rbx + 0x4958]
movss xmm3, dword [0x18004e360]
mulss xmm0, dword [rbx + 0x18]
addss xmm0, dword [0x18004e328]
cvttss2si eax, xmm0
movd xmm1, eax
cvtdq2ps xmm1, xmm1
jne 0x180016342
cmp byte [rcx + 0x162], 0
je 0x180016342
cmp edx, 0xffffffff
je 0x180016342
movss xmm2, dword [0x18004e420]
test edx, edx
je 0x1800162d8
cmp edx, 1
jne 0x180016308
movaps xmm0, xmm3
jmp 0x1800162db
movaps xmm0, xmm2
mulss xmm0, xmm1
mov dword [rcx + 0x9c], r14d
mov dword [rcx + 0xa4], r14d
addss xmm0, dword [rcx + 0x84]
cvttss2si eax, xmm0
movd xmm0, eax
cvtdq2ps xmm0, xmm0
movss dword [rcx + 0x94], xmm0
cmp edx, 2
je 0x180016315
cmp edx, 3
jne 0x180016342
movaps xmm2, xmm3
mulss xmm2, xmm1
mov dword [rcx + 0xa0], r14d
mov dword [rcx + 0xa8], r14d
addss xmm2, dword [rcx + 0x88]
cvttss2si eax, xmm2
movd xmm0, eax
cvtdq2ps xmm0, xmm0
movss dword [rcx + 0x98], xmm0
test r15b, r15b
je 0x180016422
cmp byte [r11 + 0x3554], 0
movss xmm0, dword [r11 + 0x35d0]
movss xmm2, dword [r11 + 0x35f0]
subss xmm0, dword [r11 + 0x35c0]
subss xmm2, dword [r11 + 0x35e0]
je 0x18001638d
cmp byte [r11 + 0x44ec], 0
jne 0x18001638d
movss xmm3, dword [0x18004e308]
jmp 0x1800163a9
cmp byte [r11 + 0x3564], 0
je 0x1800163a9
cmp byte [r11 + 0x44f8], 0
jne 0x1800163a9
movss xmm3, dword [0x18004e3b8]
ucomiss xmm0, xmm5
jp 0x1800163b0
je 0x1800163ea
cmp byte [rcx + 0xb4], 0
je 0x1800163ea
mulss xmm0, xmm1
mov dword [rcx + 0x9c], r14d
mov dword [rcx + 0xa4], r14d
mulss xmm0, xmm3
addss xmm0, dword [rcx + 0x84]
cvttss2si eax, xmm0
movd xmm0, eax
cvtdq2ps xmm0, xmm0
movss dword [rcx + 0x94], xmm0
ucomiss xmm2, xmm5
jp 0x1800163f1
je 0x180016422
mulss xmm1, xmm2
mov dword [rcx + 0xa0], r14d
mov dword [rcx + 0xa8], r14d
mulss xmm1, xmm3
addss xmm1, dword [rcx + 0x88]
cvttss2si eax, xmm1
movd xmm0, eax
cvtdq2ps xmm0, xmm0
movss dword [rcx + 0x98], xmm0
test r12b, r12b
jne 0x180016437
test r15b, r15b
jne 0x180016437
mov word [rbx + 0x490e], 1
jmp 0x180016482
test bpl, bpl
je 0x180016482
test byte [rbx + 8], 4
je 0x180016482
test byte [rbx + 0xc], 4
je 0x180016482
lea rcx, [rsp + 0x20]
call fcn.1800157d0
movss xmm0, dword [rax]
movss xmm1, dword [rax + 4]
movss dword [rbx + 0x36e8], xmm0
movss dword [rbx + 0x36ec], xmm1
movss dword [rbx + 0xe00], xmm0
movss dword [rbx + 0xe04], xmm1
mov byte [rbx + 0xd5], 1
mov dword [rbx + 0x4984], r14d
mov rcx, qword [rsp + 0x68]
xor rcx, rsp
call fcn.180045a60
lea r11, [rsp + 0x70]
mov rbx, qword [r11 + 0x30]
mov rbp, qword [r11 + 0x38]
mov rsi, qword [r11 + 0x40]
mov rsp, r11
pop r15
pop r14
pop r13
pop r12
pop rdi
ret