Function at 0x1402a7800
Capabilities:
Check os version

Disassembly:
mov qword [rsp + 0x20], rbx
push rdi
push r12
push r13
push r14
push r15
sub rsp, reloc.api_ms_win_shlwapi_winrt_storage_l1_1_1.dll_Ordinal_544
mov rax, qword [0x140379a08]
xor rax, rsp
mov qword [rsp + 0x218], rax
mov r14, r8
mov r8, rdx
mov qword [rsp + 0x70], rdx
mov r9, rcx
mov qword [rsp + 0x88], rcx
mov qword [rsp + 0x90], r14
xor edi, edi
mov qword [rsp + 0x50], rdi
mov r12d, edi
mov qword [rsp + 0x58], rdi
mov qword [rsp + 0x48], rdi
xorps xmm0, xmm0
movups xmmword [rsp + 0x98], xmm0
movups xmmword [rsp + 0xa8], xmm0
movups xmmword [rsp + 0xb8], xmm0
mov rdx, qword [r14 + 0x40]
test rdx, rdx
je 0x1402a78a1
lea rax, [rdx + 0x28]
mov ecx, edi
cmp word [rdx + 2], 0x34
cmovae rcx, rax
mov qword [r8], rcx
mov rax, qword [r14 + 0x40]
mov qword [r9], rax
mov ebx, edi
mov dword [rsp + 0x40], ebx
jmp 0x1402a7d8e
mov rcx, r14
call fcn.1402a5a24
mov ebx, eax
mov dword [rsp + 0x40], eax
test eax, eax
jns 0x1402a78da
mov dword [rsp + 0x20], eax
lea r9, str.AslFileMappingEnsure_failed___x_
mov r8d, 0x530
lea rdx, str.AslpFileGetVersionBlock
mov ecx, 1
call fcn.140013f14
jmp 0x1402a7d8e
cmp dword [r14 + 0x38], 6
je 0x1402a78e8
mov ebx, 0xc0000089
jmp 0x1402a7898
mov qword [rsp + 0x200], reloc.OLEAUT32.dll_SafeArrayGetDim
mov r15d, 1
mov qword [rsp + 0x208], r15
mov qword [rsp + 0x210], rdi
mov r13, qword [r14 + 0x20]
mov qword [rsp + 0x78], r13
mov rax, qword [r14 + 0x28]
mov qword [rsp + 0x68], rax
mov qword [rsp + 0x80], rax
mov al, byte [r14 + 0x33]
neg al
sbb r9d, r9d
not r9d
and r9d, 0x200
mov qword [rsp + 0x38], rdi
mov qword [rsp + 0x30], rdi
lea rax, [rsp + 0x48]
mov qword [rsp + 0x28], rax
lea rax, [rsp + 0x50]
mov qword [rsp + 0x20], rax
lea r8d, [r15 + 2]
lea rdx, [rsp + 0x200]
mov rcx, r13
call qword [sym.imp.ntdll.dll_LdrResSearchResource]
nop dword [rax + rax]
mov ebx, eax
mov dword [rsp + 0x40], eax
test eax, eax
jns 0x1402a7b9b
add eax, 0x3fffff77
cmp eax, 2
jbe 0x1402a7d4f
cmp ebx, 0xc000007b
jne 0x1402a7b6e
cmp byte [r14 + 0x33], dil
jne 0x1402a7b6e
cmp dword [r14 + 0x4c], edi
jne 0x1402a7b6e
mov ebx, 0x11c
mov r8d, ebx
xor edx, edx
lea rcx, [rsp + 0xe0]
call sub.api_ms_win_crt_string_l1_1_0.dll_memset
mov dword [rsp + 0xe0], ebx
mov dword [rsp + 0xe4], 6
mov dword [rsp + 0xe8], 2
lea r13d, [r15 + 2]
mov r8b, r13b
lea edx, [r15 + 1]
xor ecx, ecx
call qword [sym.imp.ntdll.dll_VerSetConditionMask]
nop dword [rax + rax]
mov r8b, r13b
mov edx, r15d
mov rcx, rax
call qword [sym.imp.ntdll.dll_VerSetConditionMask]
nop dword [rax + rax]
mov r8, rax
mov edx, r13d
lea rcx, [rsp + 0xe0]
call qword [sym.imp.ntdll.dll_RtlVerifyVersionInfo]
nop dword [rax + rax]
mov dword [rsp + 0x40], eax
test eax, eax
jns 0x1402a7a3e
mov ebx, 0xc0000089
mov dword [rsp + 0x40], ebx
jmp 0x1402a7d4f
mov rax, qword [r14 + 8]
mov byte [rsp + 0xc0], dil
mov qword [rsp + 0x98], rax
mov dword [rsp + 0x40], edi
mov dl, r15b
lea rcx, [rsp + 0x98]
call fcn.140015b5c
mov ebx, eax
mov dword [rsp + 0x40], eax
lea rdx, str.AslpFileGetVersionBlock
test eax, eax
jns 0x1402a7a95
mov dword [rsp + 0x20], eax
lea r9, str.RtlFileMapMapView_failed___x_
mov r8d, 0x58c
mov ecx, r15d
call fcn.140013f14
jmp 0x1402a7d4f
mov rax, qword [r14]
mov qword [rsp + 0x20], rax
lea r9, str.Re_mapped_file_as_image_to_get_version_block:__ls
mov r8d, 0x595
mov ecx, r13d
call fcn.140013f14
mov qword [rsp + 0x38], rdi
mov qword [rsp + 0x30], rdi
lea rax, [rsp + 0x48]
mov qword [rsp + 0x28], rax
lea rax, [rsp + 0x50]
mov qword [rsp + 0x20], rax
xor r9d, r9d
mov r8d, r13d
lea rdx, [rsp + 0x200]
mov r13, qword [rsp + 0xb0]
mov rcx, r13
call qword [sym.imp.ntdll.dll_LdrResSearchResource]
nop dword [rax + rax]
mov ebx, eax
mov dword [rsp + 0x40], eax
lea rax, str.Found
lea rdx, str.Did_not_find
test ebx, ebx
cmovs rax, rdx
mov dword [rsp + 0x28], ebx
mov qword [rsp + 0x20], rax
lea r9, str._ls_version_block_after_re_mapping_as_image___x_
mov r8d, 0x5a2
lea rdx, str.AslpFileGetVersionBlock
mov ecx, 2
call fcn.140013f14
test ebx, ebx
jns 0x1402a7b57
mov dword [rsp + 0x20], ebx
lea r9, str.LdrResFindResource_failed___x_
mov r8d, 0x5a5
lea rdx, str.AslpFileGetVersionBlock
jmp 0x1402a7a88
mov qword [rsp + 0x78], r13
mov rcx, qword [rsp + 0xb8]
mov qword [rsp + 0x80], rcx
jmp 0x1402a7ba0
mov dword [rsp + 0x28], ebx
mov rax, qword [r14]
mov qword [rsp + 0x20], rax
lea r9, str.LdrResFindResource_failed__ls___x_
mov r8d, 0x5ad
lea rdx, str.AslpFileGetVersionBlock
mov ecx, r15d
call fcn.140013f14
jmp 0x1402a7d4f
mov rcx, qword [rsp + 0x68]
mov r8, qword [rsp + 0x50]
test r8, r8
jne 0x1402a7bcf
mov dword [rsp + 0x20], ebx
lea r9, str.LdrResFindResource_returned_null_version_block_with_status:___x_
mov r8d, 0x5b4
lea rdx, str.AslpFileGetVersionBlock
mov ecx, r15d
call fcn.140013f14
jmp 0x1402a7a30
mov r9, qword [rsp + 0x48]
lea rdx, [r9 + r8]
cmp rdx, r8
jb 0x1402a7be1
mov eax, edi
jmp 0x1402a7bea
or rdx, 0xffffffffffffffff
mov eax, 0xc0000095
mov qword [rsp + 0x68], rdx
mov dword [rsp + 0x40], eax
test eax, eax
jns 0x1402a7c09
lea r9, str.Version_block_has_bad_size
mov r8d, 0x5c2
jmp 0x1402a7d37
cmp r8, r13
jb 0x1402a7d2a
lea rax, [rcx + r13]
cmp rdx, rax
ja 0x1402a7d2a
cmp byte [r14 + 0x33], dil
jne 0x1402a7c46
cmp qword [rsp + 0xa0], rdi
jne 0x1402a7c46
mov rcx, qword [r14 + 0x18]
add rcx, r13
cmp rdx, rcx
jbe 0x1402a7c46
mov r8d, 0x5e0
jmp 0x1402a7d30
cmp r9, 0x26
jb 0x1402a7d16
lea rcx, [r8 + 6]
lea rdx, [0x14033c380]
call sub.api_ms_win_crt_private_l1_1_0.dll__o__wcsicmp
test eax, eax
jne 0x1402a7d16
mov rax, qword gs:[0x60]
mov rcx, qword [rax + 0x30]
mov qword [rsp + 0xc8], rcx
mov r8, qword [rsp + 0x48]
mov edx, 8
call qword [sym.imp.ntdll.dll_RtlAllocateHeap]
nop dword [rax + rax]
mov rbx, rax
mov r12, rax
mov qword [rsp + 0x58], rax
test rax, rax
jne 0x1402a7cba
mov ebx, 0xc0000017
lea r9, str.Out_of_memory
mov r8d, 0x5f6
jmp 0x1402a7d3c
mov r8, qword [rsp + 0x48]
mov rdx, qword [rsp + 0x50]
mov rcx, rbx
call sub.api_ms_win_crt_private_l1_1_0.dll_memmove
movzx eax, word [rbx]
mov rcx, qword [rsp + 0x48]
cmp rcx, rax
jae 0x1402a7cdc
mov word [rbx], cx
mov qword [r14 + 0x40], rbx
mov r12, rdi
mov qword [rsp + 0x58], rdi
mov rcx, qword [rsp + 0x70]
cmp word [rbx + 2], 0x34
jae 0x1402a7cf9
mov qword [rcx], rdi
jmp 0x1402a7d00
lea rax, [rbx + 0x28]
mov qword [rcx], rax
mov rax, qword [r14 + 0x40]
mov rcx, qword [rsp + 0x88]
mov qword [rcx], rax
mov ebx, edi
jmp 0x1402a7a35
mov ebx, 0xc00000e5
lea r9, str.Version_block_invalid
mov r8d, 0x5eb
jmp 0x1402a7d3c
mov r8d, 0x5ce
lea r9, str.Version_block_out_of_range
mov ebx, 0xc0000089
mov dword [rsp + 0x40], ebx
lea rdx, str.AslpFileGetVersionBlock
mov ecx, r15d
call fcn.140013f14
jmp 0x1402a7d8e
test r12, r12
je 0x1402a7db7
mov rcx, qword gs:[0x60]
mov r8, qword [rsp + 0x58]
xor edx, edx
mov rcx, qword [rcx + 0x30]
call qword [sym.imp.ntdll.dll_RtlFreeHeap]
nop dword [rax + rax]
mov ebx, dword [rsp + 0x40]
lea rcx, [rsp + 0x98]
call fcn.140013e5c
mov eax, ebx
mov rcx, qword [rsp + 0x218]
xor rcx, rsp
call fcn.1400a2260
mov rbx, qword [rsp + 0x268]
add rsp, reloc.api_ms_win_shlwapi_winrt_storage_l1_1_1.dll_Ordinal_544
pop r15
pop r14
pop r13
pop r12
pop rdi
ret