Function at 0x1800769fc
Capabilities:
Check os version

Disassembly:
mov qword [rsp + 0x20], rbx
push rdi
push r12
push r13
push r14
push r15
sub rsp, 0x220
mov rax, qword [0x1800b2220]
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 0x180076a9d
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 0x180076f8a
mov rcx, r14
call fcn.180074cf8
mov ebx, eax
mov dword [rsp + 0x40], eax
test eax, eax
jns 0x180076ad6
mov dword [rsp + 0x20], eax
lea r9, str.AslFileMappingEnsure_failed___x_
mov r8d, 0x530
lea rdx, str.AslpFileGetVersionBlock
mov ecx, 1
call fcn.18001188c
jmp 0x180076f8a
cmp dword [r14 + 0x38], 6
je 0x180076ae4
mov ebx, 0xc0000089
jmp 0x180076a94
mov qword [rsp + 0x200], 0x10
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 0x180076d97
add eax, 0x3fffff77
cmp eax, 2
jbe 0x180076f4b
cmp ebx, 0xc000007b
jne 0x180076d6a
cmp byte [r14 + 0x33], dil
jne 0x180076d6a
cmp dword [r14 + 0x4c], edi
jne 0x180076d6a
mov ebx, 0x11c
mov r8d, ebx
xor edx, edx
lea rcx, [rsp + 0xe0]
call sub.ntdll.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 0x180076c3a
mov ebx, 0xc0000089
mov dword [rsp + 0x40], ebx
jmp 0x180076f4b
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.180010174
mov ebx, eax
mov dword [rsp + 0x40], eax
lea rdx, str.AslpFileGetVersionBlock
test eax, eax
jns 0x180076c91
mov dword [rsp + 0x20], eax
lea r9, str.RtlFileMapMapView_failed___x_
mov r8d, 0x58c
mov ecx, r15d
call fcn.18001188c
jmp 0x180076f4b
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.18001188c
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.18001188c
test ebx, ebx
jns 0x180076d53
mov dword [rsp + 0x20], ebx
lea r9, str.LdrResFindResource_failed___x_
mov r8d, 0x5a5
lea rdx, str.AslpFileGetVersionBlock
jmp 0x180076c84
mov qword [rsp + 0x78], r13
mov rcx, qword [rsp + 0xb8]
mov qword [rsp + 0x80], rcx
jmp 0x180076d9c
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.18001188c
jmp 0x180076f4b
mov rcx, qword [rsp + 0x68]
mov r8, qword [rsp + 0x50]
test r8, r8
jne 0x180076dcb
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.18001188c
jmp 0x180076c2c
mov r9, qword [rsp + 0x48]
lea rdx, [r9 + r8]
cmp rdx, r8
jb 0x180076ddd
mov eax, edi
jmp 0x180076de6
or rdx, 0xffffffffffffffff
mov eax, 0xc0000095
mov qword [rsp + 0x68], rdx
mov dword [rsp + 0x40], eax
test eax, eax
jns 0x180076e05
lea r9, str.Version_block_has_bad_size
mov r8d, 0x5c2
jmp 0x180076f33
cmp r8, r13
jb 0x180076f26
lea rax, [rcx + r13]
cmp rdx, rax
ja 0x180076f26
cmp byte [r14 + 0x33], dil
jne 0x180076e42
cmp qword [rsp + 0xa0], rdi
jne 0x180076e42
mov rcx, qword [r14 + 0x18]
add rcx, r13
cmp rdx, rcx
jbe 0x180076e42
mov r8d, 0x5e0
jmp 0x180076f2c
cmp r9, 0x26
jb 0x180076f12
lea rcx, [r8 + 6]
lea rdx, [0x18008d390]
call sub.ntdll.dll__wcsicmp
test eax, eax
jne 0x180076f12
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 0x180076eb6
mov ebx, 0xc0000017
lea r9, str.Out_of_memory
mov r8d, 0x5f6
jmp 0x180076f38
mov r8, qword [rsp + 0x48]
mov rdx, qword [rsp + 0x50]
mov rcx, rbx
call sym.KERNEL32.dll_RtlMoveMemory
movzx eax, word [rbx]
mov rcx, qword [rsp + 0x48]
cmp rcx, rax
jae 0x180076ed8
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 0x180076ef5
mov qword [rcx], rdi
jmp 0x180076efc
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 0x180076c31
mov ebx, 0xc00000e5
lea r9, str.Version_block_invalid
mov r8d, 0x5eb
jmp 0x180076f38
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.18001188c
jmp 0x180076f8a
test r12, r12
je 0x180076fb3
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.1800117d4
mov eax, ebx
mov rcx, qword [rsp + 0x218]
xor rcx, rsp
call fcn.180024680
mov rbx, qword [rsp + 0x268]
add rsp, 0x220
pop r15
pop r14
pop r13
pop r12
pop rdi
ret