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

Disassembly:
mov qword [rsp + 0x10], rbx
mov qword [rsp + 0x18], rbp
mov qword [rsp + 0x20], rsi
push rdi
push r12
push r13
push r14
push r15
sub rsp, 0x40
mov rdi, qword [0x1801a8b88]
xor ebp, ebp
mov rbx, rdi
test byte [rdi + 8], 2
lea r14d, [rbp + 1]
mov byte [rdi + 0xdb], bpl
je 0x180015786
mov r15b, r14b
test byte [rdi + 0xc], r14b
jne 0x180015789
mov r15b, bpl
movdqa xmm0, xmmword [0x180157750]
movdqa xmm1, xmmword [0x180157760]
movdqu xmmword [rsp + 0x20], xmm0
movdqu xmmword [rsp + 0x30], xmm1
test r15b, r15b
je 0x1800157d2
lea rsi, [rsp + 0x20]
mov ecx, dword [rsi]
call fcn.180010d2c
test al, al
je 0x1800157c4
mov dword [rdi + 0x48dc], 3
add rsi, 4
lea rax, [rsp + 0x40]
cmp rsi, rax
jne 0x1800157af
mov r12b, byte [rdi + 8]
movdqa xmm0, xmmword [0x180157740]
mov dword [rsp + 0x30], 0x201
mov dword [rsp + 0x34], 0x203
mov dword [rsp + 0x38], 0x204
movdqu xmmword [rsp + 0x20], xmm0
and r12b, r14b
je 0x180015829
lea rsi, [rsp + 0x20]
mov ecx, dword [rsi]
call fcn.180010d2c
test al, al
je 0x18001581b
mov dword [rdi + 0x48dc], 2
add rsi, 4
lea rax, [rsp + 0x3c]
cmp rsi, rax
jne 0x180015806
cmp dword [rdi + 0x48ec], ebp
je 0x1800158de
mov r9, qword [rdi + 0x48a8]
mov rsi, rdi
test r9, r9
je 0x1800158de
test byte [rdi + 0x5c94], 8
je 0x180015875
mov r9, qword [r9 + 8]
lea rcx, str._nav__NavInitRequest:_ApplyResult:_NavID_0x_08X_in_Layer__d_Window___s__n
mov r8d, dword [rdi + 0x48e0]
mov edx, dword [rdi + 0x48ec]
call fcn.180018a9c
mov rdi, qword [0x1801a8b88]
movsxd rax, dword [rsi + 0x48e0]
mov ecx, dword [rsi + 0x48ec]
mov rdx, rax
mov dword [rdi + 0x48e0], eax
mov rax, qword [rdi + 0x48a8]
mov dword [rdi + 0x48b0], ecx
mov dword [rdi + 0x48b4], ebp
mov dword [rax + rdx*4 + 0x3a0], ecx
add rdx, rdx
mov rax, qword [rdi + 0x48a8]
movups xmm0, xmmword [rsi + 0x48f0]
movdqu xmmword [rax + rdx*8 + 0x3a8], xmm0
mov byte [rsi + 0x48e4], r14b
cmp byte [rsi + 0x48ea], bpl
je 0x1800158de
mov word [rdi + 0x48e5], r14w
mov byte [rdi + 0x48e7], r14b
mov word [rbx + 0x48e9], bp
mov dword [rbx + 0x48ec], ebp
mov dword [rbx + 0x48c8], ebp
cmp byte [rbx + 0x4900], bpl
je 0x1800158ff
call fcn.180016690
mov dword [rbx + 0x4944], ebp
mov word [rbx + 0x4900], bp
movzx r13d, bpl
cmp byte [rbx + 0x48e5], bpl
je 0x18001593f
cmp byte [rbx + 0x48e4], bpl
je 0x18001593f
cmp byte [rbx + 0x48e6], bpl
jne 0x18001593f
cmp byte [rbx + 0x48e7], bpl
je 0x18001593f
cmp qword [rbx + 0x48a8], rbp
cmovne r13d, r14d
mov rcx, qword [rbx + 0x48a8]
mov byte [rbx + 0x48e5], bpl
test rcx, rcx
je 0x180015984
mov rax, rcx
cmp qword [rax + 0x378], rax
je 0x180015978
test dword [rax + 0x14], 0x14000000
jne 0x180015973
mov rax, qword [rax + 0x368]
test rax, rax
jne 0x180015955
test rax, rax
je 0x180015984
cmp rax, rcx
je 0x180015984
mov qword [rax + 0x398], rcx
mov rax, qword [rbx + 0x48a8]
mov rcx, rax
test rax, rax
je 0x1800159b2
cmp qword [rax + 0x398], rbp
je 0x1800159b2
cmp dword [rbx + 0x48e0], ebp
jne 0x1800159b2
mov qword [rax + 0x398], rbp
mov rcx, qword [rbx + 0x48a8]
test r12b, r12b
jne 0x1800159bc
test r15b, r15b
je 0x1800159cd
test rcx, rcx
je 0x1800159cd
test dword [rcx + 0x14], 0x40000
mov al, r14b
je 0x1800159d0
mov al, bpl
mov byte [rbx + 0xdd], al
test al, al
je 0x1800159eb
cmp dword [rbx + 0x48b0], ebp
je 0x1800159eb
cmp byte [rbx + 0x48e6], bpl
je 0x1800159f7
mov al, bpl
cmp qword [rbx + 0x4a10], rbp
je 0x1800159fa
mov al, r14b
mov byte [rbx + 0xde], al
call fcn.1800169b0
mov edi, dword [rbx + 0x48b0]
mov qword [rbx + 0x48bc], rbp
mov dword [rbx + 0x48b8], ebp
mov dword [rbx + 0x48c4], ebp
test edi, edi
je 0x180015b91
cmp byte [rbx + 0x48e6], bpl
jne 0x180015b91
cmp qword [rbx + 0x4a10], rbp
jne 0x180015b91
mov rax, qword [rbx + 0x48a8]
test rax, rax
je 0x180015b91
test dword [rax + 0x14], 0x40000
jne 0x180015b91
mov esi, 0x20c
test r12b, r12b
je 0x180015a72
mov ecx, esi
call fcn.180010d2c
test al, al
jne 0x180015a85
test r15b, r15b
je 0x180015ab7
mov ecx, 0x26e
call fcn.180010d2c
test al, al
je 0x180015ab7
test r12b, r12b
je 0x180015a9a
xor r8d, r8d
xor edx, edx
mov ecx, esi
call fcn.180010d64
test al, al
jne 0x180015ab2
test r15b, r15b
je 0x180015aba
xor r8d, r8d
xor edx, edx
mov ecx, 0x26e
call fcn.180010d64
test al, al
je 0x180015aba
mov sil, r14b
jmp 0x180015abd
mov r14b, bpl
mov sil, bpl
test r12b, r12b
je 0x180015ad0
mov ecx, 0x20d
call fcn.180010d2c
test al, al
jne 0x180015ae3
test r15b, r15b
je 0x180015b1b
mov ecx, 0x26d
call fcn.180010d2c
test al, al
je 0x180015b1b
mov bpl, 1
test r12b, r12b
je 0x180015afe
xor r8d, r8d
xor edx, edx
mov ecx, 0x20d
call fcn.180010d64
test al, al
jne 0x180015b16
test r15b, r15b
je 0x180015b1b
xor r8d, r8d
xor edx, edx
mov ecx, 0x26d
call fcn.180010d64
test al, al
je 0x180015b1b
mov cl, bpl
jmp 0x180015b1d
xor cl, cl
mov eax, dword [rbx + 0x3f28]
test eax, eax
jne 0x180015b3e
test sil, sil
je 0x180015b42
mov dword [rbx + 0x48b8], edi
mov dword [rbx + 0x48c4], 2
jmp 0x180015b42
cmp eax, edi
jne 0x180015b76
test cl, cl
je 0x180015b56
mov dword [rbx + 0x48b8], edi
mov dword [rbx + 0x48c4], 1
test eax, eax
je 0x180015b5e
cmp eax, edi
jne 0x180015b76
test r14b, r14b
jne 0x180015b68
test bpl, bpl
je 0x180015b6e
mov dword [rbx + 0x48bc], edi
xor ebp, ebp
test eax, eax
je 0x180015b7c
jmp 0x180015b78
xor ebp, ebp
cmp eax, edi
jne 0x180015b8b
test sil, sil
jne 0x180015b85
test cl, cl
je 0x180015b8b
mov dword [rbx + 0x48c0], edi
mov r14d, 1
mov rax, qword [rbx + 0x48a8]
test rax, rax
je 0x180015bad
test dword [rax + 0x14], 0x40000
je 0x180015bad
mov byte [rbx + 0x48e6], r14b
mov eax, dword [rbx + 0x48d4]
test eax, eax
je 0x180015bd5
mov dword [rbx + 0x48c0], eax
mov dword [rbx + 0x48bc], eax
mov dword [rbx + 0x48b8], eax
mov eax, dword [rbx + 0x48d8]
mov dword [rbx + 0x48c4], eax
mov dword [rbx + 0x48d4], ebp
call fcn.180015f78
cmp dword [rbx + 0x4910], 0xffffffff
mov rsi, qword [0x1801a8b88]
jne 0x180015cba
mov rdi, qword [rsi + 0x48a8]
test rdi, rdi
je 0x180015cba
cmp qword [rsi + 0x4a10], rbp
jne 0x180015cba
test dword [rdi + 0x14], 0x40000
jne 0x180015cba
mov r8d, r14d
or edx, 0xffffffff
mov ecx, 0x200
call fcn.180010d64
test al, al
je 0x180015cba
cmp byte [rsi + 0xe24], bpl
jne 0x180015cba
cmp byte [rsi + 0xe26], bpl
jne 0x180015cba
mov al, byte [rsi + 0xe25]
test byte [rsi + 8], r14b
je 0x180015c77
test al, al
je 0x180015c5d
or edx, 0xffffffff
jmp 0x180015c86
cmp byte [rsi + 0x48e6], r14b
jne 0x180015c72
cmp dword [rsi + 0x3f28], ebp
jne 0x180015c72
mov edx, ebp
jmp 0x180015c86
mov edx, r14d
jmp 0x180015c86
test al, al
jne 0x180015c58
cmp dword [rsi + 0x3f28], ebp
mov edx, ebp
setne dl
mov dword [rsi + 0x4940], edx
mov r8d, 0x400
mov al, byte [rdi + 0xbc]
neg al
sbb r9d, r9d
sar edx, 0x1f
and r9d, 0x1e
add edx, 3
add r9d, 3
or ecx, 0xffffffff
call fcn.180015138
or dword [rsi + 0x4944], 0xffffffff
cmp byte [rsi + 0x4901], bpl
jne 0x180015ccf
mov al, bpl
cmp byte [rsi + 0x48e9], bpl
je 0x180015cd2
mov al, r14b
mov byte [rsi + 0x48e8], al
mov rdi, qword [rbx + 0x48a8]
mov byte [rbx + 0x48e4], bpl
test rdi, rdi
je 0x180015ef4
test dword [rdi + 0x14], 0x40000
jne 0x180015ef4
cmp qword [rbx + 0x4a10], rbp
jne 0x180015ef4
mov rax, qword [rdi]
movss xmm0, dword [rax + 0x3c2c]
mov rax, qword [rdi + 0x368]
mulss xmm0, dword [rdi + 0x290]
test rax, rax
je 0x180015d30
mulss xmm0, dword [rax + 0x290]
mulss xmm0, dword [0x1801575b8]
mov ecx, dword [rbx + 0x4910]
movss xmm2, dword [0x18015743c]
mulss xmm0, dword [rbx + 0x18]
addss xmm0, dword [0x1801573dc]
cvttss2si eax, xmm0
movd xmm4, eax
cvtdq2ps xmm4, xmm4
cmp word [rdi + 0x15c], bp
jne 0x180015df9
cmp byte [rdi + 0x161], bpl
je 0x180015df9
cmp ecx, 0xffffffff
je 0x180015df9
movss xmm1, dword [0x180157680]
test ecx, ecx
je 0x180015d93
cmp ecx, r14d
jne 0x180015dc1
movaps xmm0, xmm2
jmp 0x180015d96
movaps xmm0, xmm1
mulss xmm0, xmm4
mov dword [rdi + 0x9c], ebp
mov dword [rdi + 0xa4], ebp
addss xmm0, dword [rdi + 0x84]
cvttss2si eax, xmm0
movd xmm0, eax
cvtdq2ps xmm0, xmm0
movss dword [rdi + 0x94], xmm0
cmp ecx, 2
je 0x180015dce
cmp ecx, 3
jne 0x180015df9
movaps xmm1, xmm2
mulss xmm1, xmm4
mov dword [rdi + 0xa0], ebp
mov dword [rdi + 0xa8], ebp
addss xmm1, dword [rdi + 0x88]
cvttss2si eax, xmm1
movd xmm0, eax
cvtdq2ps xmm0, xmm0
movss dword [rdi + 0x98], xmm0
test r15b, r15b
je 0x180015ef4
mov edx, 0x27b
mov rcx, rsi
call fcn.1800106e0
mov edx, 0x279
mov rcx, rsi
mov r10, rax
call fcn.1800106e0
mov edx, 0x27a
mov rcx, rsi
mov r9, rax
call fcn.1800106e0
mov edx, 0x27c
mov rcx, rsi
movss xmm0, dword [rax + 0xc]
subss xmm0, dword [r9 + 0xc]
call fcn.1800106e0
mov ecx, 0x273
movss xmm1, dword [rax + 0xc]
subss xmm1, dword [r10 + 0xc]
call fcn.180010d2c
test al, al
je 0x180015e6a
movss xmm2, dword [0x180157384]
jmp 0x180015e80
mov ecx, 0x274
call fcn.180010d2c
test al, al
je 0x180015e80
movss xmm2, dword [0x180157524]
xorps xmm3, xmm3
ucomiss xmm0, xmm3
je 0x180015ec0
cmp byte [rdi + 0xb4], bpl
je 0x180015ec0
mulss xmm0, xmm4
mov dword [rdi + 0x9c], ebp
mov dword [rdi + 0xa4], ebp
mulss xmm0, xmm2
addss xmm0, dword [rdi + 0x84]
cvttss2si eax, xmm0
movd xmm0, eax
cvtdq2ps xmm0, xmm0
movss dword [rdi + 0x94], xmm0
ucomiss xmm1, xmm3
je 0x180015ef4
mulss xmm1, xmm4
mov dword [rdi + 0xa0], ebp
mov dword [rdi + 0xa8], ebp
mulss xmm1, xmm2
addss xmm1, dword [rdi + 0x88]
cvttss2si eax, xmm1
movd xmm0, eax
cvtdq2ps xmm0, xmm0
movss dword [rdi + 0x98], xmm0
test r12b, r12b
jne 0x180015f09
test r15b, r15b
jne 0x180015f09
mov word [rbx + 0x48e6], 1
jmp 0x180015f54
test r13b, r13b
je 0x180015f54
test byte [rbx + 8], 4
je 0x180015f54
test byte [rbx + 0xc], 4
je 0x180015f54
lea rcx, [rsp + 0x70]
call fcn.1800154ac
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], r14b
lea r11, [rsp + 0x40]
mov dword [rbx + 0x493c], ebp
mov rbx, qword [r11 + 0x38]
mov rbp, qword [r11 + 0x40]
mov rsi, qword [r11 + 0x48]
mov rsp, r11
pop r15
pop r14
pop r13
pop r12
pop rdi
ret