Function at 0x1400227f0
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, 0x80
mov rax, qword [0x14015a040]
xor rax, rsp
mov qword [rsp + 0x70], rax
mov rdi, qword [0x140436228]
mov r13d, 3
mov rbx, rdi
test byte [rdi + 8], 2
mov byte [rdi + 0xdb], 0
je 0x140022888
test byte [rdi + 0xc], 1
je 0x140022888
movdqa xmm0, xmmword [0x140141190]
lea r11, [rsp + 0x50]
movdqa xmm1, xmmword [0x1401411a0]
mov r15b, 1
movdqu xmmword [rsp + 0x50], xmm0
movdqu xmmword [rsp + 0x60], xmm1
mov ecx, dword [r11]
call fcn.14001d3a0
test al, al
je 0x140022878
mov dword [rdi + 0x490c], r13d
add r11, 4
lea rax, [rsp + 0x70]
cmp r11, rax
jne 0x140022865
jmp 0x14002288b
xor r15b, r15b
movzx ebp, byte [rdi + 8]
movdqa xmm0, xmmword [0x140141180]
and bpl, 1
mov byte [rsp + 0x20], bpl
movdqu xmmword [rsp + 0x30], xmm0
mov dword [rsp + 0x40], 0x201
mov dword [rsp + 0x44], 0x203
mov dword [rsp + 0x48], 0x204
je 0x140022947
lea r10, [rsp + 0x30]
nop dword [rax]
mov r9d, dword [r10]
mov rcx, rdi
mov edx, r9d
call fcn.14001ccf0
cmp byte [rax], 0
je 0x140022939
lea eax, [r9 - 0x200]
cmp eax, 0x8b
jbe 0x14002291e
cmp r9d, 0x1000
je 0x14002291e
cmp r9d, 0x2000
je 0x14002291e
cmp r9d, 0x4000
je 0x14002291e
cmp r9d, 0x8000
je 0x14002291e
cmp r9d, 0x800
jne 0x14002292f
mov edx, r9d
mov rcx, rdi
call fcn.14000e690
cmp byte [rax + 8], 0
jne 0x140022939
mov dword [rdi + 0x490c], 2
add r10, 4
lea rax, [rsp + 0x4c]
cmp r10, rax
jne 0x1400228d0
mov edx, dword [rdi + 0x491c]
xor r14d, r14d
test edx, edx
je 0x140022a3c
mov r9, qword [rdi + 0x48d8]
mov rsi, rdi
test r9, r9
je 0x140022a3c
test byte [rdi + 0x5cc4], 8
je 0x140022992
mov r9, qword [r9 + 8]
lea rcx, str._nav__NavInitRequest:_ApplyResult:_NavID_0x_08X_in_Layer__d_Window___s__n
mov r8d, dword [rdi + 0x4910]
call fcn.140026c30
mov rdi, qword [0x140436228]
movsxd rax, dword [rsi + 0x4910]
mov ecx, dword [rbx + 0x491c]
mov rdx, rax
mov dword [rdi + 0x4910], eax
mov rax, qword [rdi + 0x48d8]
mov dword [rdi + 0x48e0], ecx
mov dword [rdi + 0x48e4], r14d
mov dword [rax + rdx*4 + 0x3a0], ecx
add rdx, rdx
mov rax, qword [rdi + 0x48d8]
movups xmm0, xmmword [rsi + 0x4920]
movups xmmword [rax + rdx*8 + 0x3a8], xmm0
mov rax, qword [rdi + 0x48d8]
movsxd rdx, dword [rdi + 0x4910]
mov rcx, qword [rax + 0x390]
mov dword [rcx + rdx*8 + 0x3c8], 0x7f7fffff
mov rax, qword [rdi + 0x48d8]
movsxd rdx, dword [rdi + 0x4910]
mov rcx, qword [rax + 0x390]
mov dword [rcx + rdx*8 + 0x3cc], 0x7f7fffff
mov byte [rsi + 0x4914], 1
cmp byte [rsi + 0x491a], r14b
je 0x140022a3c
mov word [rdi + 0x4915], 1
mov byte [rdi + 0x4917], 1
cmp byte [rbx + 0x4930], 0
mov word [rbx + 0x4919], 0
mov dword [rbx + 0x491c], r14d
mov dword [rbx + 0x48f8], r14d
je 0x140022a61
call fcn.140023ce0
xor r12b, r12b
mov dword [rbx + 0x4974], r14d
mov esi, 1
mov word [rbx + 0x4930], 0
cmp byte [rbx + 0x4915], r12b
je 0x140022aad
cmp byte [rbx + 0x4914], r12b
je 0x140022aad
cmp byte [rbx + 0x4916], r12b
jne 0x140022aad
cmp byte [rbx + 0x4917], r12b
je 0x140022aad
cmp qword [rbx + 0x48d8], 0
movzx r12d, r12b
cmovne r12d, esi
mov rcx, qword [rbx + 0x48d8]
mov byte [rbx + 0x4915], 0
test rcx, rcx
je 0x140022aef
mov rax, rcx
cmp qword [rax + 0x378], rax
je 0x140022ae3
test dword [rax + 0x14], 0x14000000
jne 0x140022ae3
mov rax, qword [rax + 0x368]
test rax, rax
jne 0x140022ac3
jmp 0x140022aef
cmp rax, rcx
je 0x140022aef
mov qword [rax + 0x398], rcx
mov rax, qword [rbx + 0x48d8]
test rax, rax
je 0x140022b15
cmp qword [rax + 0x398], 0
je 0x140022b15
cmp dword [rbx + 0x4910], 0
jne 0x140022b15
mov qword [rax + 0x398], r14
call fcn.140024c70
test bpl, bpl
jne 0x140022b28
test r15b, r15b
je 0x140022c42
mov rax, qword [rbx + 0x48d8]
test rax, rax
je 0x140022c42
test dword [rax + 0x14], 0x40000
jne 0x140022c42
mov byte [rbx + 0xdd], sil
cmp dword [rbx + 0x48e0], 0
je 0x140022c49
cmp byte [rbx + 0x4916], 0
jne 0x140022c49
movzx eax, sil
mov byte [rbx + 0xde], al
call fcn.140024170
cmp dword [rbx + 0x48e0], 0
mov qword [rbx + 0x48ec], 0
mov dword [rbx + 0x48e8], r14d
mov dword [rbx + 0x48f4], r14d
je 0x140022d6a
cmp byte [rbx + 0x4916], 0
jne 0x140022d6a
cmp qword [rbx + 0x4a40], 0
jne 0x140022d6a
mov rax, qword [rbx + 0x48d8]
test rax, rax
je 0x140022d6a
test dword [rax + 0x14], 0x40000
jne 0x140022d6a
mov rdi, qword [0x140436228]
test bpl, bpl
je 0x140022bf1
cmp byte [rdi + 0x2eec], 0
je 0x140022bf1
cmp byte [rdi + 0x4038], 0
je 0x140022c08
test r15b, r15b
je 0x140022c5e
cmp byte [rdi + 0x350c], 0
je 0x140022c5e
cmp byte [rdi + 0x44d0], 0
jne 0x140022c5e
movzx r14d, sil
test bpl, bpl
je 0x140022c24
xor r8d, r8d
xor edx, edx
mov ecx, 0x20c
call fcn.14001d420
test al, al
jne 0x140022c3c
test r15b, r15b
je 0x140022c61
xor r8d, r8d
xor edx, edx
mov ecx, 0x26e
call fcn.14001d420
test al, al
je 0x140022c61
movzx ebp, sil
jmp 0x140022c64
mov byte [rbx + 0xdd], 0
cmp qword [rbx + 0x4a40], 0
jne 0x140022b66
xor al, al
jmp 0x140022b6a
xor r14b, r14b
xor bpl, bpl
movzx eax, byte [rsp + 0x20]
test al, al
je 0x140022c7f
cmp byte [rdi + 0x2efc], 0
je 0x140022c7f
cmp byte [rdi + 0x4044], 0
je 0x140022c96
test r15b, r15b
je 0x140022ccf
cmp byte [rdi + 0x34fc], 0
je 0x140022ccf
cmp byte [rdi + 0x44c4], 0
jne 0x140022ccf
movzx edi, sil
test al, al
je 0x140022cb1
xor r8d, r8d
xor edx, edx
mov ecx, 0x20d
call fcn.14001d420
test al, al
jne 0x140022cc9
test r15b, r15b
je 0x140022cd2
xor r8d, r8d
xor edx, edx
mov ecx, 0x26d
call fcn.14001d420
test al, al
je 0x140022cd2
movzx edx, sil
jmp 0x140022cd4
xor dil, dil
xor dl, dl
mov ecx, dword [rbx + 0x3f58]
test ecx, ecx
jne 0x140022cfb
test bpl, bpl
je 0x140022d03
mov eax, dword [rbx + 0x48e0]
mov dword [rbx + 0x48e8], eax
mov dword [rbx + 0x48f4], 2
jmp 0x140022d03
cmp ecx, dword [rbx + 0x48e0]
jne 0x140022d3b
test dl, dl
je 0x140022d19
mov eax, dword [rbx + 0x48e0]
mov dword [rbx + 0x48e8], eax
mov dword [rbx + 0x48f4], esi
test ecx, ecx
je 0x140022d25
cmp ecx, dword [rbx + 0x48e0]
jne 0x140022d3b
test r14b, r14b
jne 0x140022d2f
test dil, dil
je 0x140022d3b
mov eax, dword [rbx + 0x48e0]
mov dword [rbx + 0x48ec], eax
mov eax, dword [rbx + 0x3f58]
test eax, eax
je 0x140022d4d
cmp eax, dword [rbx + 0x48e0]
jne 0x140022d62
test bpl, bpl
jne 0x140022d56
test dl, dl
je 0x140022d62
mov eax, dword [rbx + 0x48e0]
mov dword [rbx + 0x48f0], eax
movzx ebp, byte [rsp + 0x20]
xor r14d, r14d
mov rax, qword [rbx + 0x48d8]
test rax, rax
je 0x140022d86
test dword [rax + 0x14], 0x40000
je 0x140022d86
mov byte [rbx + 0x4916], sil
mov eax, dword [rbx + 0x4904]
test eax, eax
je 0x140022dae
mov dword [rbx + 0x48f0], eax
mov dword [rbx + 0x48ec], eax
mov dword [rbx + 0x48e8], eax
mov eax, dword [rbx + 0x4908]
mov dword [rbx + 0x48f4], eax
mov dword [rbx + 0x4904], r14d
call fcn.1400231e0
cmp dword [rbx + 0x4940], 0xffffffff
xorps xmm5, xmm5
mov r11, qword [0x140436228]
jne 0x140022f15
mov rdi, qword [r11 + 0x48d8]
test rdi, rdi
je 0x140022f15
cmp qword [r11 + 0x4a40], 0
jne 0x140022f15
test dword [rdi + 0x14], 0x40000
jne 0x140022f15
cmp byte [r11 + 0x2e2c], 0
je 0x140022f15
movss xmm0, dword [r11 + 0x2e30]
comiss xmm5, xmm0
ja 0x140022f15
ucomiss xmm0, xmm5
mov r10, r11
jp 0x140022e26
je 0x140022e4d
movss xmm1, dword [r11 + 0x3c]
comiss xmm0, xmm1
jbe 0x140022f15
movss xmm2, dword [r11 + 0x40]
mov ecx, 0x200
call fcn.14001ce40
test eax, eax
jle 0x140022f15
cmp byte [r10 + 0x476c], 0
je 0x140022e65
cmp dword [r10 + 0x3f58], 0xffffffff
jne 0x140022f15
cmp dword [r10 + 0x3fa0], 0xffffffff
jne 0x140022f15
cmp byte [r11 + 0xe24], 0
jne 0x140022f15
cmp byte [r11 + 0xe26], 0
jne 0x140022f15
movzx eax, byte [r11 + 0xe25]
test byte [r11 + 8], sil
je 0x140022ec0
test al, al
je 0x140022ea8
mov esi, 0xffffffff
jmp 0x140022eda
cmp byte [r11 + 0x4916], sil
jne 0x140022eda
cmp dword [r11 + 0x3f58], 0
jne 0x140022eda
mov esi, r14d
jmp 0x140022eda
test al, al
je 0x140022ecb
mov esi, 0xffffffff
jmp 0x140022eda
cmp dword [r11 + 0x3f58], 0
mov esi, r14d
setne sil
mov dword [r11 + 0x4970], esi
mov eax, 0x21
cmp byte [rdi + 0xbc], 0
mov ecx, 0xffffffff
mov r8d, 0x400
cmovne r13d, eax
sar esi, 0x1f
mov r9d, r13d
lea edx, [rsi + 3]
call fcn.140021ff0
mov dword [r11 + 0x4974], 0xffffffff
cmp byte [r11 + 0x4931], 0
jne 0x140022f2d
cmp byte [r11 + 0x4919], 0
jne 0x140022f2d
xor al, al
jmp 0x140022f2f
mov al, 1
mov byte [r11 + 0x4918], al
mov rcx, qword [rbx + 0x48d8]
mov byte [rbx + 0x4914], 0
test rcx, rcx
je 0x140023144
test dword [rcx + 0x14], 0x40000
jne 0x140023144
cmp qword [rbx + 0x4a40], 0
jne 0x140023144
mov rax, qword [rcx]
movss xmm0, dword [rax + 0x3c24]
mov rax, qword [rcx + 0x368]
mulss xmm0, dword [rcx + 0x290]
test rax, rax
je 0x140022f8f
mulss xmm0, dword [rax + 0x290]
cmp word [rcx + 0x15c], 0
mulss xmm0, dword [0x140140ea8]
mov edx, dword [rbx + 0x4940]
movss xmm2, dword [0x140140d48]
mulss xmm0, dword [rbx + 0x18]
addss xmm0, dword [0x140140d08]
cvttss2si eax, xmm0
movd xmm4, eax
cvtdq2ps xmm4, xmm4
jne 0x140023061
cmp byte [rcx + 0x162], 0
je 0x140023061
cmp edx, 0xffffffff
je 0x140023061
movss xmm1, dword [0x140140f30]
test edx, edx
je 0x140022ff7
cmp edx, 1
jne 0x140023027
movaps xmm0, xmm2
jmp 0x140022ffa
movaps xmm0, xmm1
mulss xmm0, xmm4
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 0x140023034
cmp edx, 3
jne 0x140023061
movaps xmm1, xmm2
mulss xmm1, xmm4
mov dword [rcx + 0xa0], r14d
mov dword [rcx + 0xa8], r14d
addss xmm1, dword [rcx + 0x88]
cvttss2si eax, xmm1
movd xmm0, eax
cvtdq2ps xmm0, xmm0
movss dword [rcx + 0x98], xmm0
test r15b, r15b
je 0x140023144
cmp byte [r11 + 0x355c], 0
movss xmm1, dword [r11 + 0x35f8]
movss xmm3, dword [r11 + 0x35d8]
subss xmm1, dword [r11 + 0x35e8]
subss xmm3, dword [r11 + 0x35c8]
je 0x1400230ac
cmp byte [r11 + 0x450c], 0
jne 0x1400230ac
movss xmm2, dword [0x140140ce0]
jmp 0x1400230c8
cmp byte [r11 + 0x356c], 0
je 0x1400230c8
cmp byte [r11 + 0x4518], 0
jne 0x1400230c8
movss xmm2, dword [0x140140e18]
ucomiss xmm3, xmm5
jp 0x1400230cf
je 0x14002310c
cmp byte [rcx + 0xb4], 0
je 0x14002310c
movaps xmm0, xmm4
mov dword [rcx + 0x9c], r14d
mulss xmm0, xmm3
mov dword [rcx + 0xa4], r14d
mulss xmm0, xmm2
addss xmm0, dword [rcx + 0x84]
cvttss2si eax, xmm0
movd xmm0, eax
cvtdq2ps xmm0, xmm0
movss dword [rcx + 0x94], xmm0
ucomiss xmm1, xmm5
jp 0x140023113
je 0x140023144
mulss xmm1, xmm4
mov dword [rcx + 0xa0], r14d
mov dword [rcx + 0xa8], r14d
mulss xmm1, xmm2
addss xmm1, dword [rcx + 0x88]
cvttss2si eax, xmm1
movd xmm0, eax
cvtdq2ps xmm0, xmm0
movss dword [rcx + 0x98], xmm0
test bpl, bpl
jne 0x140023159
test r15b, r15b
jne 0x140023159
mov word [rbx + 0x4916], 1
jmp 0x1400231a4
test r12b, r12b
je 0x1400231a4
test byte [rbx + 8], 4
je 0x1400231a4
test byte [rbx + 0xc], 4
je 0x1400231a4
lea rcx, [rsp + 0x24]
call fcn.140022500
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 + 0x496c], r14d
mov rcx, qword [rsp + 0x70]
xor rcx, rsp
call fcn.140112f50
lea r11, [rsp + 0x80]
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