Function at 0x14000f668
Capabilities:
Check os version

Disassembly:
mov qword [rsp + 8], rbx
mov qword [rsp + 0x10], rbp
mov qword [rsp + 0x18], rsi
push rdi
sub rsp, 0x490
mov rax, qword [0x14002d148]
xor rax, rsp
mov qword [rsp + 0x480], rax
or ecx, 0xffffffff
call sub.IMM32.dll_ImmDisableTextFrameService
or ecx, 0xffffffff
call sub.IMM32.dll_ImmDisableIME
xor r9d, r9d
xor r8d, r8d
lea esi, [r9 + 1]
xor ecx, ecx
mov edx, esi
call qword [sym.imp.API_MS_Win_Core_Heap_L1_1_0.dll_HeapSetInformation]
xor ebp, ebp
cmp qword [0x14002e1e0], rbp
jne 0x14000f80f
cmp byte [0x14002e1c8], bpl
jne 0x14000f795
lea rcx, [rsp + 0x2a0]
mov dword [rsp + 0x2a0], 0x114
call qword [sym.imp.API_MS_Win_Core_SysInfo_L1_1_0.dll_GetVersionExW]
cmp eax, ebp
je 0x14000f704
cmp dword [rsp + 0x2a4], 6
setb al
mov byte [0x14002e1c9], al
cmp al, bpl
jne 0x14000f768
lea rcx, [0x140001f28]
call qword [sym.imp.API_MS_Win_Core_LibraryLoader_L1_1_0.dll_GetModuleHandleW]
mov rbx, rax
cmp rax, rbp
je 0x14000f75f
lea rdx, [0x140002840]
mov rcx, rax
call qword [sym.imp.API_MS_Win_Core_LibraryLoader_L1_1_0.dll_GetProcAddress]
mov qword [0x14002e1d0], rax
cmp rax, rbp
je 0x14000f75f
lea rdx, [0x140002850]
mov rcx, rbx
call qword [sym.imp.API_MS_Win_Core_LibraryLoader_L1_1_0.dll_GetProcAddress]
mov qword [0x14002d5b0], rax
cmp rax, rbp
jne 0x14000f771
lea rax, [0x1400062ac]
mov qword [0x14002d5b0], rax
mov al, sil
mov byte [0x14002e1c9], al
mov byte [0x14002e1c8], sil
jmp 0x14000f79b
lea rdx, [0x140002860]
mov rcx, rbx
call qword [sym.imp.API_MS_Win_Core_LibraryLoader_L1_1_0.dll_GetProcAddress]
mov qword [0x14002e1d8], rax
cmp rax, rbp
je 0x14000f751
mov al, byte [0x14002e1c9]
jmp 0x14000f768
mov al, byte [0x14002e1c9]
cmp al, bpl
jne 0x14000f7c4
lea r9, [0x14002e1e0]
lea r8, [0x14002e1e8]
lea rdx, [0x140006270]
lea rcx, [0x140002870]
call qword [0x14002d5b0]
jmp 0x14000f80f
lea rdx, [0x14002e1e8]
lea rax, [0x140002870]
lea rcx, [rsp + 0x40]
mov qword [rsp + 0x38], rdx
mov qword [rsp + 0x30], rbp
mov qword [rsp + 0x28], rbp
mov qword [rsp + 0x20], rcx
lea rcx, [0x1400061e0]
mov r9d, esi
mov r8, rax
mov qword [0x14002e1e0], rdx
mov qword [rsp + 0x40], rax
mov qword [rsp + 0x48], rbp
call qword [sym.imp.ntdll.dll_EtwRegisterTraceGuidsW]
mov ecx, 0x43
call qword [sym.imp.USER32.dll_GetSystemMetrics]
cmp eax, ebp
jne 0x14000fbe0
mov ecx, 0x10
call fcn.140021cf8
mov rbx, rax
cmp rax, rbp
je 0x14000f853
lea r8, [0x140003080]
mov edx, esi
xor ecx, ecx
call qword [sym.imp.API_MS_Win_Core_Synch_L1_1_0.dll_CreateMutexW]
mov qword [rbx + 8], rax
call qword [sym.imp.API_MS_Win_Core_ErrorHandling_L1_1_0.dll_GetLastError]
mov dword [rbx], eax
jmp 0x14000f856
mov rbx, rbp
cmp rbx, rbp
je 0x14000fbe0
cmp dword [rbx], 0xb7
je 0x14000fbb3
xor ecx, ecx
call qword [sym.imp.API_MS_Win_Core_LibraryLoader_L1_1_0.dll_GetModuleHandleW]
mov rdi, qword [0x14002dac0]
mov rax, qword [0x14002dac8]
mov qword [0x14002e1a8], rbp
jmp 0x14000f8a3
mov rdx, qword [rdi]
cmp rdx, rbp
je 0x14000f89f
mov cl, sil
call qword [rdx + 0x40]
mov rax, qword [0x14002dac8]
add rdi, 8
cmp rdi, rax
jb 0x14000f88a
xor ecx, ecx
call qword [sym.imp.ole32.dll_CoInitialize]
cmp eax, ebp
jl 0x14000fb45
call fcn.140011a34
cmp eax, ebp
jl 0x14000fb3f
lea rcx, [rsp + 0x40]
mov qword [rsp + 0x40], rbp
call fcn.14000fe84
cmp eax, ebp
jl 0x14000fb3f
mov rdi, qword [rsp + 0x40]
cmp rdi, rbp
je 0x14000fb3f
lea rcx, [rsp + 0x2a0]
call fcn.140012834
mov r11, qword [rdi]
mov rcx, rdi
call qword [r11 + 8]
lea rcx, [rsp + 0x2a0]
mov r8b, sil
mov rdx, rdi
call fcn.140012a48
cmp eax, ebp
mov esi, eax
jge 0x14000f935
mov r10, qword [rdi]
xor r9d, r9d
mov edx, 0x80000074
lea r8d, [r9 + 2]
mov rcx, rdi
mov qword [rsp + 0x20], rbp
call qword [r10 + 0x18]
or dword [rsp + 0x70], 0xffffffff
or rax, 0xffffffffffffffff
cmp esi, ebp
mov qword [rsp + 0x60], rbp
mov dword [rsp + 0x80], ebp
mov dword [rsp + 0x84], ebp
mov qword [rsp + 0x68], rax
mov qword [rsp + 0x78], rax
mov dword [rsp + 0x88], ebp
mov dword [rsp + 0x8c], ebp
mov dword [rsp + 0x90], ebp
mov byte [rsp + 0x94], bpl
mov byte [rsp + 0x198], bpl
jl 0x14000faca
lea rcx, [rsp + 0x60]
mov rdx, rdi
call fcn.140006508
cmp eax, ebp
jge 0x14000f9b8
mov rax, qword [rdi]
xor r9d, r9d
mov edx, 0x80000072
lea r8d, [r9 + 2]
mov rcx, rdi
mov qword [rsp + 0x20], rbp
call qword [rax + 0x18]
jmp 0x14000faca
lea rax, [rsp + 0x60]
mov qword [0x14002e140], rax
lea rax, [rsp + 0x60]
cmp rax, rbp
je 0x14000f9ec
lea r8, [rsp + 0x2a0]
lea rcx, [0x14002d380]
xor r9d, r9d
mov rdx, rdi
call fcn.14000708c
cmp eax, ebp
jge 0x14000fa06
mov rax, qword [rdi]
xor r9d, r9d
mov edx, 0x80000072
lea r8d, [r9 + 2]
mov rcx, rdi
mov qword [rsp + 0x20], rbp
call qword [rax + 0x18]
lea rcx, [rsp + 0x40]
mov qword [rsp + 0x40], rbp
call fcn.14000ff44
cmp eax, ebp
jl 0x14000fac0
mov rsi, qword [rsp + 0x40]
cmp rsi, rbp
je 0x14000fac0
mov rax, qword [rsi]
mov rcx, rsi
call qword [rax + 8]
lea rcx, [rsi + 0x10]
mov qword [rsp + 0x40], rbp
mov rax, qword [rcx]
lea rdx, [rsp + 0x40]
xor r9d, r9d
mov r8d, 0xffff
mov dword [rsp + 0x28], ebp
mov dword [rsp + 0x20], ebp
call qword [rax + 0x18]
cmp eax, ebp
jl 0x14000faa7
mov qword [rsp + 0x50], rbp
jmp 0x14000fa83
lea rdx, [rsp + 0x58]
call fcn.14001d764
mov rcx, qword [rsp + 0x50]
cmp rcx, rbp
je 0x14000fa83
mov qword [rsp + 0x50], rbp
mov rax, qword [rcx]
call qword [rax + 0x10]
mov rcx, qword [rsp + 0x40]
lea rdx, [rsp + 0x50]
mov rax, qword [rcx]
call qword [rax + 0x28]
mov rcx, qword [rsp + 0x50]
cmp eax, ebp
je 0x14000fa64
cmp rcx, rbp
je 0x14000faa7
mov rax, qword [rcx]
call qword [rax + 0x10]
mov rax, qword [rsi]
mov rcx, rsi
call qword [rax + 0x10]
mov rcx, qword [rsp + 0x40]
cmp rcx, rbp
je 0x14000fac0
mov rax, qword [rcx]
call qword [rax + 0x10]
lea rcx, [rsp + 0x60]
call fcn.140006b20
lea rcx, [0x14002d380]
call fcn.140006d0c
mov rcx, qword [0x14002d3c8]
cmp rcx, rbp
je 0x14000faef
mov qword [0x14002d3c8], rbp
mov rax, qword [rcx]
call qword [rax + 0x10]
mov rcx, qword [0x14002d3d0]
cmp rcx, rbp
je 0x14000fb08
mov qword [0x14002d3d0], rbp
mov rax, qword [rcx]
call qword [rax + 0x10]
lea rcx, [0x14002d380]
mov qword [0x14002d400], rbp
call fcn.1400072a0
lea rcx, [rsp + 0x2a0]
call fcn.140012cf4
mov r11, qword [rdi]
mov rcx, rdi
call qword [r11 + 0x10]
lea rcx, [rsp + 0x2a0]
call fcn.140012c2c
call qword [sym.imp.ole32.dll_CoUninitialize]
mov rdi, qword [0x14002e1a8]
cmp rdi, rbp
je 0x14000fb7a
cmp qword [rdi], rbp
je 0x14000fb7a
add rdi, 0x20
mov rcx, qword [rdi]
cmp rcx, rbp
je 0x14000fb68
mov rax, qword [rcx]
call qword [rax + 0x10]
xor ecx, ecx
mov qword [rdi], rbp
call qword [rdi + 0x20]
add rdi, 0x48
cmp qword [rdi - 0x20], rbp
jne 0x14000fb5a
mov rdi, qword [0x14002dac0]
mov rax, qword [0x14002dac8]
jmp 0x14000fba2
mov rdx, qword [rdi]
cmp rdx, rbp
je 0x14000fb9e
xor ecx, ecx
call qword [rdx + 0x40]
mov rax, qword [0x14002dac8]
add rdi, 8
cmp rdi, rax
jb 0x14000fb8a
lea rcx, [0x14002e160]
call fcn.14000cf1c
mov rcx, qword [rbx + 8]
cmp rcx, rbp
je 0x14000fbd8
cmp dword [rbx], 0xb7
je 0x14000fbca
call qword [sym.imp.API_MS_Win_Core_Synch_L1_1_0.dll_ReleaseMutex]
mov rcx, qword [rbx + 8]
call qword [sym.imp.API_MS_Win_Core_Handle_L1_1_0.dll_CloseHandle]
mov qword [rbx + 8], rbp
mov rcx, rbx
call fcn.140021d44
cmp byte [0x14002e1c8], bpl
je 0x14000fc27
mov rbx, qword [0x14002e1e0]
cmp rbx, rbp
je 0x14000fc27
cmp byte [0x14002e1c9], bpl
jne 0x14000fc09
mov rcx, rbx
call qword [0x14002e1d8]
jmp 0x14000fc20
mov rcx, qword [rbx]
call qword [sym.imp.ntdll.dll_EtwUnregisterTraceGuids]
mov dword [rbx + 0x20], ebp
mov byte [rbx + 0x28], bpl
mov qword [rbx + 8], rbp
mov qword [rbx], rbp
mov qword [0x14002e1e0], rbp
xor eax, eax
mov rcx, qword [rsp + 0x480]
xor rcx, rsp
call fcn.140022620
lea r11, [rsp + 0x490]
mov rbx, qword [r11 + 0x10]
mov rbp, qword [r11 + 0x18]
mov rsi, qword [r11 + 0x20]
mov rsp, r11
pop rdi
ret