Function at 0x140011d88
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 [0x140020208]
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 + 0xb8], rcx
mov qword [rsp + 0xc0], r14
xor edi, edi
mov qword [rsp + 0x50], rdi
mov r13d, edi
mov qword [rsp + 0x58], rdi
mov qword [rsp + 0x48], rdi
xorps xmm0, xmm0
movups xmmword [rsp + 0x78], xmm0
movups xmmword [rsp + 0x88], xmm0
movups xmmword [rsp + 0x98], xmm0
mov rdx, qword [r14 + 0x40]
test rdx, rdx
je 0x140011e26
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 0x140012320
mov rcx, r14
call fcn.140010e40
mov ebx, eax
mov dword [rsp + 0x40], eax
test eax, eax
jns 0x140011e5f
mov dword [rsp + 0x20], eax
lea r9, str.AslFileMappingEnsure_failed___x_
mov r8d, 0x56f
lea rdx, str.AslpFileGetVersionBlock
mov ecx, 1
call fcn.14000c024
jmp 0x140012320
cmp dword [r14 + 0x38], 6
je 0x140011e6d
mov ebx, 0xc0000089
jmp 0x140011e1d
mov qword [rsp + 0x200], 0x10
mov r15d, 1
mov qword [rsp + 0x208], r15
mov qword [rsp + 0x210], rdi
mov r12, qword [r14 + 0x20]
mov qword [rsp + 0xa8], r12
mov rax, qword [r14 + 0x28]
mov qword [rsp + 0x68], rax
mov qword [rsp + 0xb0], 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, r12
call qword [sym.imp.ntdll.dll_LdrResSearchResource]
nop dword [rax + rax]
mov ebx, eax
mov dword [rsp + 0x40], eax
test eax, eax
jns 0x14001212b
add eax, 0x3fffff77
mov ecx, edi
lea r12d, [r15 + 1]
cmp eax, r12d
setbe cl
test ecx, ecx
jne 0x1400122df
cmp ebx, 0xc000007b
jne 0x1400120fe
cmp byte [r14 + 0x33], dil
jne 0x1400120fe
cmp dword [r14 + 0x4c], edi
jne 0x1400120fe
mov ebx, 0x11c
mov r8d, ebx
xor edx, edx
lea rcx, [rsp + 0xe0]
call sub.msvcrt.dll_memset
mov dword [rsp + 0xe0], ebx
mov dword [rsp + 0xe4], 6
mov dword [rsp + 0xe8], r12d
mov r8b, 3
mov edx, r12d
xor ecx, ecx
call qword [sym.imp.ntdll.dll_VerSetConditionMask]
nop dword [rax + rax]
mov r8b, 3
mov edx, r15d
mov rcx, rax
call qword [sym.imp.ntdll.dll_VerSetConditionMask]
nop dword [rax + rax]
mov r8, rax
lea edx, [r15 + 2]
lea rcx, [rsp + 0xe0]
call qword [sym.imp.ntdll.dll_RtlVerifyVersionInfo]
nop dword [rax + rax]
mov dword [rsp + 0x40], eax
test eax, eax
jns 0x140011fca
mov ebx, 0xc0000089
mov dword [rsp + 0x40], ebx
jmp 0x1400122df
mov rax, qword [r14 + 8]
mov byte [rsp + 0xa0], dil
mov qword [rsp + 0x78], rax
mov dword [rsp + 0x40], edi
mov dl, r15b
lea rcx, [rsp + 0x78]
call fcn.140011544
mov ebx, eax
mov dword [rsp + 0x40], eax
lea rdx, str.AslpFileGetVersionBlock
test eax, eax
jns 0x14001201b
mov dword [rsp + 0x20], eax
lea r9, str.RtlFileMapMapView_failed___x_
mov r8d, 0x5cb
mov ecx, r15d
call fcn.14000c024
jmp 0x1400122df
mov rax, qword [r14]
mov qword [rsp + 0x20], rax
lea r9, str.Re_mapped_file_as_image_to_get_version_block:__ls
mov r8d, 0x5d4
mov ebx, 3
mov ecx, ebx
call fcn.14000c024
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, ebx
lea rdx, [rsp + 0x200]
mov rcx, qword [rsp + 0x90]
call qword [sym.imp.ntdll.dll_LdrResSearchResource]
nop dword [rax + rax]
mov ebx, eax
mov dword [rsp + 0x40], eax
lea rdx, str.Found
lea rax, str.Did_not_find
test ebx, ebx
cmovns 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, 0x5e1
lea rdx, str.AslpFileGetVersionBlock
mov ecx, r12d
call fcn.14000c024
test ebx, ebx
jns 0x1400120dc
mov dword [rsp + 0x20], ebx
lea r9, str.LdrResFindResource_failed___x_
mov r8d, 0x5e4
lea rdx, str.AslpFileGetVersionBlock
jmp 0x14001200e
mov r12, qword [rsp + 0x90]
mov qword [rsp + 0xa8], r12
mov rcx, qword [rsp + 0x98]
mov qword [rsp + 0xb0], rcx
jmp 0x140012130
mov dword [rsp + 0x28], ebx
mov rax, qword [r14]
mov qword [rsp + 0x20], rax
lea r9, str.LdrResFindResource_failed__ls___x_
mov r8d, 0x5ec
lea rdx, str.AslpFileGetVersionBlock
mov ecx, r15d
call fcn.14000c024
jmp 0x1400122df
mov rcx, qword [rsp + 0x68]
mov r8, qword [rsp + 0x50]
test r8, r8
jne 0x14001215f
mov dword [rsp + 0x20], ebx
lea r9, str.LdrResFindResource_returned_null_version_block_with_status:___x_
mov r8d, 0x5f3
lea rdx, str.AslpFileGetVersionBlock
mov ecx, r15d
call fcn.14000c024
jmp 0x140011fbc
mov r9, qword [rsp + 0x48]
lea rdx, [r9 + r8]
cmp rdx, r8
jb 0x140012171
mov eax, edi
jmp 0x14001217a
or rdx, 0xffffffffffffffff
mov eax, 0xc0000095
mov qword [rsp + 0x68], rdx
mov dword [rsp + 0x40], eax
test eax, eax
jns 0x140012199
lea r9, str.Version_block_has_bad_size
mov r8d, 0x601
jmp 0x1400122c7
cmp r8, r12
jb 0x1400122ba
lea rax, [rcx + r12]
cmp rdx, rax
ja 0x1400122ba
cmp byte [r14 + 0x33], dil
jne 0x1400121d6
cmp qword [rsp + 0x80], rdi
jne 0x1400121d6
mov rcx, qword [r14 + 0x18]
add rcx, r12
cmp rdx, rcx
jbe 0x1400121d6
mov r8d, 0x61f
jmp 0x1400122c0
cmp r9, 0x26
jb 0x1400122a6
lea rcx, [r8 + 6]
lea rdx, [0x14001a780]
call sub.msvcrt.dll__wcsicmp
test eax, eax
jne 0x1400122a6
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 r13, rax
mov qword [rsp + 0x58], rax
test rax, rax
jne 0x14001224a
mov ebx, 0xc0000017
lea r9, str.Out_of_memory
mov r8d, 0x635
jmp 0x1400122cc
mov r8, qword [rsp + 0x48]
mov rdx, qword [rsp + 0x50]
mov rcx, rbx
call sub.msvcrt.dll_memmove
movzx eax, word [rbx]
mov rcx, qword [rsp + 0x48]
cmp rcx, rax
jae 0x14001226c
mov word [rbx], cx
mov qword [r14 + 0x40], rbx
mov r13, rdi
mov qword [rsp + 0x58], rdi
mov rcx, qword [rsp + 0x70]
cmp word [rbx + 2], 0x34
jae 0x140012289
mov qword [rcx], rdi
jmp 0x140012290
lea rax, [rbx + 0x28]
mov qword [rcx], rax
mov rax, qword [r14 + 0x40]
mov rcx, qword [rsp + 0xb8]
mov qword [rcx], rax
mov ebx, edi
jmp 0x140011fc1
mov ebx, 0xc00000e5
lea r9, str.Version_block_invalid
mov r8d, 0x62a
jmp 0x1400122cc
mov r8d, 0x60d
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.14000c024
jmp 0x140012320
test r13, r13
je 0x140012349
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]
cmp byte [rsp + 0xa0], dil
je 0x140012369
mov rcx, qword [rsp + 0x78]
test rcx, rcx
je 0x140012369
call qword [sym.imp.ntdll.dll_ZwClose]
nop dword [rax + rax]
cmp byte [rsp + 0xa1], dil
je 0x14001238c
mov rcx, qword [rsp + 0x80]
test rcx, rcx
je 0x14001238c
call qword [sym.imp.ntdll.dll_ZwClose]
nop dword [rax + rax]
cmp byte [rsp + 0xa2], dil
je 0x1400123b3
mov rdx, qword [rsp + 0x90]
test rdx, rdx
je 0x1400123b3
or rcx, 0xffffffffffffffff
call qword [sym.imp.ntdll.dll_ZwUnmapViewOfSection]
nop dword [rax + rax]
mov eax, ebx
mov rcx, qword [rsp + 0x218]
xor rcx, rsp
call fcn.140015530
mov rbx, qword [rsp + 0x268]
add rsp, 0x220
pop r15
pop r14
pop r13
pop r12
pop rdi
ret