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

Disassembly:
mov r11, rsp
push rbx
push rbp
push rdi
push r15
sub rsp, 0x88
mov rax, qword [0x1800ff020]
xor rax, rsp
mov qword [rsp + 0x70], rax
mov rbp, qword [0x180135f98]
mov qword [r11 + 8], rsi
mov rbx, rbp
mov qword [r11 + 0x10], r12
mov qword [r11 + 0x18], r13
test byte [rbp + 8], 2
mov byte [rbp + 0xdb], 0
je 0x180031285
test byte [rbp + 0xc], 1
je 0x180031285
movdqa xmm0, xmmword [0x1800e3180]
lea r11, [r11 - 0x58]
movdqa xmm1, xmmword [0x1800e3190]
mov dil, 1
movdqu xmmword [rsp + 0x50], xmm0
movdqu xmmword [rsp + 0x60], xmm1
mov r9d, dword [r11]
mov ecx, r9d
call fcn.18002c0e0
cmp byte [rax], 0
je 0x180031275
lea eax, [r9 - 0x200]
cmp eax, 0x8b
jbe 0x18003125d
cmp r9d, 0x1000
je 0x18003125d
cmp r9d, 0x2000
je 0x18003125d
cmp r9d, 0x4000
je 0x18003125d
cmp r9d, 0x8000
je 0x18003125d
cmp r9d, 0x800
jne 0x18003126b
mov ecx, r9d
call fcn.18001f600
cmp byte [rax + 8], 0
jne 0x180031275
mov dword [rbp + 0x48dc], 3
add r11, 4
lea rax, [rsp + 0x70]
cmp r11, rax
jne 0x180031212
jmp 0x180031288
xor dil, dil
movzx r12d, byte [rbp + 8]
movdqa xmm0, xmmword [0x1800e3170]
and r12b, 1
mov byte [rsp + 0x20], r12b
movdqu xmmword [rsp + 0x30], xmm0
mov dword [rsp + 0x40], 0x201
mov dword [rsp + 0x44], 0x203
mov dword [rsp + 0x48], 0x204
je 0x180031334
lea r11, [rsp + 0x30]
mov r9d, dword [r11]
mov ecx, r9d
call fcn.18002c0e0
cmp byte [rax], 0
je 0x180031326
lea eax, [r9 - 0x200]
cmp eax, 0x8b
jbe 0x18003130e
cmp r9d, 0x1000
je 0x18003130e
cmp r9d, 0x2000
je 0x18003130e
cmp r9d, 0x4000
je 0x18003130e
cmp r9d, 0x8000
je 0x18003130e
cmp r9d, 0x800
jne 0x18003131c
mov ecx, r9d
call fcn.18001f600
cmp byte [rax + 8], 0
jne 0x180031326
mov dword [rbp + 0x48dc], 2
add r11, 4
lea rax, [rsp + 0x4c]
cmp r11, rax
jne 0x1800312c3
mov edx, dword [rbp + 0x48ec]
xor r15d, r15d
mov qword [rsp + 0x80], r14
test edx, edx
je 0x1800313f1
mov r9, qword [rbp + 0x48a8]
mov rsi, rbp
test r9, r9
je 0x1800313f1
test byte [rbp + 0x5c7c], 8
je 0x180031387
mov r9, qword [r9 + 8]
lea rcx, str._nav__NavInitRequest:_ApplyResult:_NavID_0x_08X_in_Layer__d_Window___s__n
mov r8d, dword [rbp + 0x48e0]
call fcn.180035250
mov rbp, qword [0x180135f98]
movsxd rax, dword [rsi + 0x48e0]
mov ecx, dword [rbx + 0x48ec]
mov rdx, rax
mov dword [rbp + 0x48e0], eax
mov rax, qword [rbp + 0x48a8]
mov dword [rbp + 0x48b0], ecx
mov dword [rbp + 0x48b4], r15d
mov dword [rax + rdx*4 + 0x3a0], ecx
add rdx, rdx
mov rax, qword [rbp + 0x48a8]
movups xmm0, xmmword [rsi + 0x48f0]
movups xmmword [rax + rdx*8 + 0x3a8], xmm0
mov byte [rsi + 0x48e4], 1
cmp byte [rsi + 0x48ea], r15b
je 0x1800313f1
mov word [rbp + 0x48e5], 1
mov byte [rbp + 0x48e7], 1
mov word [rbx + 0x48e9], r15w
mov dword [rbx + 0x48ec], r15d
mov dword [rbx + 0x48c8], r15d
cmp byte [rbx + 0x4900], r15b
je 0x180031415
call fcn.180032610
xor bpl, bpl
mov dword [rbx + 0x4944], r15d
mov r13d, 1
mov word [rbx + 0x4900], r15w
mov dword [rsp + 0x24], ebp
cmp byte [rbx + 0x48e5], r15b
je 0x180031468
cmp byte [rbx + 0x48e4], r15b
je 0x180031468
cmp byte [rbx + 0x48e6], r15b
jne 0x180031468
cmp byte [rbx + 0x48e7], r15b
je 0x180031468
cmp qword [rbx + 0x48a8], r15
movzx ebp, bpl
cmovne ebp, r13d
mov dword [rsp + 0x24], ebp
mov rcx, qword [rbx + 0x48a8]
mov byte [rbx + 0x48e5], r15b
test rcx, rcx
je 0x1800314ac
mov rax, rcx
nop
cmp qword [rax + 0x378], rax
je 0x1800314a0
test dword [rax + 0x14], 0x14000000
jne 0x1800314a0
mov rax, qword [rax + 0x368]
test rax, rax
jne 0x180031480
jmp 0x1800314ac
cmp rax, rcx
je 0x1800314ac
mov qword [rax + 0x398], rcx
mov rax, qword [rbx + 0x48a8]
test rax, rax
je 0x1800314d1
cmp qword [rax + 0x398], r15
je 0x1800314d1
cmp dword [rbx + 0x48e0], r15d
jne 0x1800314d1
mov qword [rax + 0x398], r15
call fcn.1800333a0
test r12b, r12b
jne 0x1800314e4
test dil, dil
je 0x18003161b
mov rax, qword [rbx + 0x48a8]
test rax, rax
je 0x18003161b
test dword [rax + 0x14], 0x40000
jne 0x18003161b
mov byte [rbx + 0xdd], r13b
cmp dword [rbx + 0x48b0], r15d
je 0x180031622
lea r14, [rbx + 0x48e6]
cmp byte [r14], r15b
jne 0x180031622
lea rsi, [rbx + 0x4a10]
movzx eax, r13b
mov qword [rsp + 0x28], rsi
mov byte [rbx + 0xde], al
call fcn.180032940
mov qword [rbx + 0x48bc], r15
mov dword [rbx + 0x48b8], r15d
mov dword [rbx + 0x48c4], r15d
mov r15d, dword [rbx + 0x48b0]
test r15d, r15d
je 0x18003174e
lea rbp, [rbx + 0x48e6]
cmp byte [rbp], 0
mov r14, rbp
jne 0x18003174a
cmp qword [rsi], 0
jne 0x18003174a
mov rax, qword [rbx + 0x48a8]
test rax, rax
je 0x18003174a
test dword [rax + 0x14], 0x40000
jne 0x18003174a
mov rsi, qword [0x180135f98]
test r12b, r12b
je 0x1800315c4
mov ecx, 0x20c
call fcn.18002c0e0
cmp byte [rax], 0
je 0x1800315c4
cmp byte [rsi + 0x4008], 0
je 0x1800315e1
test dil, dil
je 0x180031645
mov ecx, 0x26e
call fcn.18002c0e0
cmp byte [rax], 0
je 0x180031645
cmp byte [rsi + 0x44a0], 0
jne 0x180031645
movzx r14d, r13b
test r12b, r12b
je 0x1800315fd
xor r8d, r8d
xor edx, edx
mov ecx, 0x20c
call fcn.18002c7a0
test al, al
jne 0x180031615
test dil, dil
je 0x180031648
xor r8d, r8d
xor edx, edx
mov ecx, 0x26e
call fcn.18002c7a0
test al, al
je 0x180031648
movzx r12d, r13b
jmp 0x18003164b
mov byte [rbx + 0xdd], r15b
lea rsi, [rbx + 0x4a10]
lea r14, [rbx + 0x48e6]
mov qword [rsp + 0x28], rsi
cmp qword [rsi], r15
jne 0x18003152c
xor al, al
jmp 0x180031535
xor r14b, r14b
xor r12b, r12b
movzx r9d, byte [rsp + 0x20]
test r9b, r9b
je 0x18003166e
mov ecx, 0x20d
call fcn.18002c0e0
cmp byte [rax], 0
je 0x18003166e
cmp byte [rsi + 0x4014], 0
je 0x18003168b
test dil, dil
je 0x1800316c5
mov ecx, 0x26d
call fcn.18002c0e0
cmp byte [rax], 0
je 0x1800316c5
cmp byte [rsi + 0x4494], 0
jne 0x1800316c5
movzx esi, r13b
test r9b, r9b
je 0x1800316a7
xor r8d, r8d
xor edx, edx
mov ecx, 0x20d
call fcn.18002c7a0
test al, al
jne 0x1800316bf
test dil, dil
je 0x1800316c8
xor r8d, r8d
xor edx, edx
mov ecx, 0x26d
call fcn.18002c7a0
test al, al
je 0x1800316c8
movzx ecx, r13b
jmp 0x1800316ca
xor sil, sil
xor cl, cl
mov eax, dword [rbx + 0x3f28]
test eax, eax
jne 0x1800316ec
test r12b, r12b
je 0x1800316f1
mov dword [rbx + 0x48b8], r15d
mov dword [rbx + 0x48c4], 2
jmp 0x1800316f1
cmp eax, r15d
jne 0x180031721
test cl, cl
je 0x180031703
mov dword [rbx + 0x48b8], r15d
mov dword [rbx + 0x48c4], r13d
test eax, eax
je 0x18003170c
cmp eax, r15d
jne 0x180031721
test r14b, r14b
jne 0x180031716
test sil, sil
je 0x18003171d
mov dword [rbx + 0x48bc], r15d
test eax, eax
je 0x180031729
mov r14, rbp
cmp eax, r15d
jne 0x18003173f
test r12b, r12b
jne 0x180031735
mov r14, rbp
test cl, cl
je 0x18003173f
mov dword [rbx + 0x48c0], r15d
mov r14, rbp
movzx r12d, byte [rsp + 0x20]
mov rsi, qword [rsp + 0x28]
mov ebp, dword [rsp + 0x24]
mov rax, qword [rbx + 0x48a8]
test rax, rax
je 0x180031766
test dword [rax + 0x14], 0x40000
je 0x180031766
mov byte [r14], r13b
mov eax, dword [rbx + 0x48d4]
test eax, eax
je 0x18003178e
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
xor r15d, r15d
mov dword [rbx + 0x48d4], r15d
call fcn.180031c00
cmp dword [rbx + 0x4910], 0xffffffff
xorps xmm5, xmm5
mov r11, qword [0x180135f98]
jne 0x1800318fe
mov r10, qword [r11 + 0x48a8]
test r10, r10
je 0x1800318fe
cmp qword [r11 + 0x4a10], r15
jne 0x1800318fe
test dword [r10 + 0x14], 0x40000
jne 0x1800318fe
mov ecx, 0x200
call fcn.18002c0e0
cmp byte [rax], r15b
je 0x1800318fe
movss xmm0, dword [rax + 4]
comiss xmm5, xmm0
ja 0x1800318fe
ucomiss xmm0, xmm5
jp 0x18003180c
jne 0x18003180c
mov r9, r11
jmp 0x180031836
movss xmm1, dword [r11 + 0x3c]
mov r9, r11
comiss xmm0, xmm1
jbe 0x1800318fe
movss xmm2, dword [r11 + 0x40]
mov ecx, 0x200
call fcn.18002c280
test eax, eax
jle 0x1800318fe
cmp byte [r9 + 0x473c], r15b
je 0x18003184d
cmp dword [r9 + 0x3f28], 0xffffffff
jne 0x1800318fe
cmp dword [r9 + 0x3f70], 0xffffffff
jne 0x1800318fe
cmp byte [r11 + 0xe20], r15b
jne 0x1800318fe
cmp byte [r11 + 0xe22], r15b
jne 0x1800318fe
movzx eax, byte [r11 + 0xe21]
test byte [r11 + 8], r13b
je 0x1800318a6
test al, al
je 0x18003188f
mov r13d, 0xffffffff
jmp 0x1800318c0
cmp byte [r11 + 0x48e6], r13b
jne 0x1800318c0
cmp dword [r11 + 0x3f28], r15d
jne 0x1800318c0
mov r13d, r15d
jmp 0x1800318c0
test al, al
je 0x1800318b2
mov r13d, 0xffffffff
jmp 0x1800318c0
cmp dword [r11 + 0x3f28], r15d
mov r13d, r15d
setne r13b
mov dword [r11 + 0x4940], r13d
mov eax, 0x21
cmp byte [r10 + 0xbc], r15b
mov r9d, 3
mov r8d, 0x400
cmovne r9d, eax
sar r13d, 0x1f
lea ecx, [rax - 0x22]
lea edx, [r13 + 3]
call fcn.180030ae0
mov dword [r11 + 0x4944], 0xffffffff
mov r13, qword [rsp + 0xc0]
cmp byte [r11 + 0x4901], r15b
jne 0x18003191c
cmp byte [r11 + 0x48e9], r15b
jne 0x18003191c
xor al, al
jmp 0x18003191e
mov al, 1
mov byte [r11 + 0x48e8], al
mov r10, qword [rbx + 0x48a8]
mov byte [rbx + 0x48e4], r15b
test r10, r10
je 0x180031b5d
test dword [r10 + 0x14], 0x40000
jne 0x180031b5d
cmp qword [rsi], r15
jne 0x180031b5d
mov rax, qword [r10]
movss xmm0, dword [rax + 0x3c2c]
mov rax, qword [r10 + 0x368]
mulss xmm0, dword [r10 + 0x290]
test rax, rax
je 0x18003197b
mulss xmm0, dword [rax + 0x290]
mulss xmm0, dword [0x1800e2fcc]
mov ecx, dword [rbx + 0x4910]
movss xmm2, dword [0x1800e2f14]
mulss xmm0, dword [rbx + 0x18]
addss xmm0, dword [0x1800e2edc]
cvttss2si eax, xmm0
movd xmm3, eax
cvtdq2ps xmm3, xmm3
cmp word [r10 + 0x15c], r15w
jne 0x180031a51
cmp byte [r10 + 0x161], r15b
je 0x180031a51
cmp ecx, 0xffffffff
je 0x180031a51
movss xmm1, dword [0x1800e304c]
test ecx, ecx
je 0x1800319e3
cmp ecx, 1
jne 0x180031a15
movaps xmm0, xmm2
jmp 0x1800319e6
movaps xmm0, xmm1
mulss xmm0, xmm3
mov dword [r10 + 0x9c], r15d
mov dword [r10 + 0xa4], r15d
addss xmm0, dword [r10 + 0x84]
cvttss2si eax, xmm0
movd xmm0, eax
cvtdq2ps xmm0, xmm0
movss dword [r10 + 0x94], xmm0
cmp ecx, 2
je 0x180031a22
cmp ecx, 3
jne 0x180031a51
movaps xmm1, xmm2
mulss xmm1, xmm3
mov dword [r10 + 0xa0], r15d
mov dword [r10 + 0xa8], r15d
addss xmm1, dword [r10 + 0x88]
cvttss2si eax, xmm1
movd xmm0, eax
cvtdq2ps xmm0, xmm0
movss dword [r10 + 0x98], xmm0
test dil, dil
je 0x180031b5d
mov ecx, 0x27a
call fcn.18002c0e0
mov ecx, 0x279
mov r9, rax
call fcn.18002c0e0
movss xmm0, dword [r9 + 0xc]
mov ecx, 0x27c
subss xmm0, dword [rax + 0xc]
call fcn.18002c0e0
mov ecx, 0x27b
mov r9, rax
call fcn.18002c0e0
movss xmm1, dword [r9 + 0xc]
mov ecx, 0x273
subss xmm1, dword [rax + 0xc]
call fcn.18002c0e0
cmp byte [rax], r15b
je 0x180031ac0
cmp byte [r11 + 0x44dc], r15b
jne 0x180031ac0
movss xmm2, dword [0x1800e2ebc]
jmp 0x180031ae0
mov ecx, 0x274
call fcn.18002c0e0
cmp byte [rax], r15b
je 0x180031ae0
cmp byte [r11 + 0x44e8], r15b
jne 0x180031ae0
movss xmm2, dword [0x1800e2f8c]
ucomiss xmm0, xmm5
jp 0x180031ae7
je 0x180031b23
cmp byte [r10 + 0xb4], r15b
je 0x180031b23
mulss xmm0, xmm3
mov dword [r10 + 0x9c], r15d
mov dword [r10 + 0xa4], r15d
mulss xmm0, xmm2
addss xmm0, dword [r10 + 0x84]
cvttss2si eax, xmm0
movd xmm0, eax
cvtdq2ps xmm0, xmm0
movss dword [r10 + 0x94], xmm0
ucomiss xmm1, xmm5
jp 0x180031b2a
je 0x180031b5d
mulss xmm1, xmm3
mov dword [r10 + 0xa0], r15d
mov dword [r10 + 0xa8], r15d
mulss xmm1, xmm2
addss xmm1, dword [r10 + 0x88]
cvttss2si eax, xmm1
movd xmm0, eax
cvtdq2ps xmm0, xmm0
movss dword [r10 + 0x98], xmm0
mov rsi, qword [rsp + 0xb0]
test r12b, r12b
mov r12, qword [rsp + 0xb8]
jne 0x180031b84
test dil, dil
jne 0x180031b84
mov byte [r14], 1
mov byte [rbx + 0x48e7], r15b
jmp 0x180031bcf
test bpl, bpl
je 0x180031bcf
test byte [rbx + 8], 4
je 0x180031bcf
test byte [rbx + 0xc], 4
je 0x180031bcf
lea rcx, [rsp + 0x28]
call fcn.180030f60
movss xmm0, dword [rax]
movss xmm1, dword [rax + 4]
movss dword [rbx + 0x36ec], xmm0
movss dword [rbx + 0x36f0], xmm1
movss dword [rbx + 0xe08], xmm0
movss dword [rbx + 0xe0c], xmm1
mov byte [rbx + 0xdb], 1
mov r14, qword [rsp + 0x80]
mov dword [rbx + 0x493c], r15d
mov rcx, qword [rsp + 0x70]
xor rcx, rsp
call fcn.18008fcd0
add rsp, 0x88
pop r15
pop rdi
pop rbp
pop rbx
ret