Function at 0x1400d83f0
Capabilities:
Check os version

Disassembly:
mov rax, rsp
push rbp
push rdi
push r12
lea rbp, [rax - 0xc8]
sub rsp, 0x1b0
mov qword [rsp + 0x68], 0xfffffffffffffffe
mov qword [rax + 0x10], rbx
mov qword [rax + 0x18], rsi
mov rax, qword [0x140136e20]
xor rax, rsp
mov qword [rbp + 0xa0], rax
mov rdi, rdx
mov rbx, rcx
mov qword [rsp + 0x70], rcx
lea rax, vtable.Explorerplusplus.0
mov qword [rcx], rax
lea rax, vtable.Explorerplusplus.1.0
mov qword [rcx + 8], rax
lea rax, vtable.Explorerplusplus.2.0
mov qword [rcx + 0x10], rax
lea rax, vtable.Explorerplusplus.3.0
mov qword [rcx + 0x18], rax
lea rax, vtable.Explorerplusplus.4.0
mov qword [rcx + 0x20], rax
lea rax, vtable.Explorerplusplus.5.0
mov qword [rcx + 0x28], rax
lea rax, vtable.Explorerplusplus.6.0
mov qword [rcx + 0x30], rax
lea rax, vtable.Explorerplusplus.7.0
mov qword [rcx + 0x38], rax
xor r12d, r12d
mov qword [rcx + 0x48], r12
mov qword [rcx + 0x50], r12
mov qword [rcx + 0x58], r12
lea r9, [rcx + 0xa68]
mov edx, pe_nt_image_headers64
mov rcx, r9
lea r8, [0x1401040a0]
sub r8, r9
lea rax, [rdx + 0x7ffffefe]
test rax, rax
je 0x1400d84d5
movzx eax, word [r8 + rcx]
test ax, ax
je 0x1400d84d5
mov word [rcx], ax
add rcx, 2
dec rdx
jne 0x1400d84b1
jmp 0x1400d84da
test rdx, rdx
jne 0x1400d84de
sub rcx, 2
mov word [rcx], r12w
mov dword [r9 + 0x604], r12d
mov qword [r9 + 0x820], r12
mov qword [r9 + 0x828], r12
mov qword [rbx + 0x1ba8], r12
mov ecx, ILCombine
call fcn.14004b164
test rax, rax
je 0x1400d8e67
mov qword [rbx + 0x1ba0], rax
mov qword [rax], rax
mov rax, qword [rbx + 0x1ba0]
mov qword [rax + 8], rax
mov dword [rbx + 0x1bbc], 0xff000000
mov dword [rbx + 0x1bc0], 0xff000000
mov qword [rbx + 0xed38], r12
mov ecx, 0xc8
call fcn.14004b164
test rax, rax
je 0x1400d8e35
mov qword [rbx + 0xed30], rax
mov qword [rax], rax
mov rax, qword [rbx + 0xed30]
mov qword [rax + 8], rax
mov qword [rbx + 0xee50], r12
mov ecx, 0x28
call fcn.14004b164
test rax, rax
je 0x1400d8e03
mov qword [rbx + 0xee48], rax
mov qword [rax], rax
mov rax, qword [rbx + 0xee48]
mov qword [rax + 8], rax
lea rcx, [rbx + 0xee70]
call fcn.14001cae0
nop
mov qword [rbx + 0xf280], r12
mov ecx, ILCombine
call fcn.14004b164
test rax, rax
je 0x1400d8dd1
mov qword [rbx + 0xf278], rax
mov qword [rax], rax
mov rax, qword [rbx + 0xf278]
mov qword [rax + 8], rax
mov qword [rbx + 0xf2b8], r12
mov ecx, 0x240
call fcn.14004b164
test rax, rax
je 0x1400d8d9f
mov qword [rbx + 0xf2b0], rax
mov qword [rax], rax
mov rax, qword [rbx + 0xf2b0]
mov qword [rax + 8], rax
lea rcx, [rbx + 0xf2c8]
call fcn.14000a920
nop
lea rcx, [rbx + 0xf2e0]
call fcn.14000a920
nop
mov qword [rbx + 0xf300], r12
mov ecx, 0x20
call fcn.14004b164
test rax, rax
je 0x1400d8d6d
mov qword [rbx + 0xf2f8], rax
mov qword [rax], rax
mov rax, qword [rbx + 0xf2f8]
mov qword [rax + 8], rax
lea rcx, [rbx + 0xf318]
call fcn.14000ab80
nop
lea rcx, [rbx + 0xf330]
call fcn.14000ab80
nop
lea rcx, [rbx + 0xf348]
call fcn.14000ab80
nop
lea rcx, [rbx + 0xf360]
call fcn.14000ab80
nop
lea rcx, [rbx + 0xf378]
call fcn.14000ab80
nop
lea rcx, [rbx + 0xf390]
call fcn.14000ab80
nop
lea rcx, [rbx + 0xf3a8]
call fcn.14000ab80
nop
lea rcx, [rbx + 0xf680]
lea rdx, [rsp + 0x28]
call fcn.14000a680
nop
lea rcx, [rbx + 0xf6a0]
call fcn.14000ab10
nop
lea rcx, [rbx + 0xf6c0]
call fcn.14000ab10
nop
lea rcx, [rbx + 0xf6d8]
call fcn.14000ab10
nop
lea rcx, [rbx + 0xf6f0]
call fcn.14000ab10
nop
lea rcx, [rbx + 0xf708]
call fcn.14000ab10
nop
mov dword [rbx + 0x40], 1
mov qword [rbx + 0x68], rdi
mov dword [rbx + 0x1b94], r12d
mov dword [rbx + 0xf3d0], r12d
mov qword [rbx + 0x1b88], r12
mov qword [rbx + 0xf3c0], r12
mov qword [rbx + 0xf3c8], r12
mov qword [rbx + 0x1b68], r12
mov dword [rbx + 0xf408], r12d
mov qword [rbx + 0xed8c], r12
mov qword [rbx + 0x1b78], r12
mov dword [rbx + 0xf400], r12d
mov qword [rbx + 0xf3f0], r12
mov dword [rbx + 0xf3f8], r12d
mov qword [rbx + 0xa50], r12
mov qword [0x1401495c0], r12
mov qword [0x1401495b8], r12
mov dword [rbx + 0xf3d8], 0xffffffff
mov dword [rbx + 0xf290], r12d
mov dword [rbx + 0xf720], r12d
mov dword [rbx + 0xf65c], r12d
mov dword [rbx + 0xf674], r12d
mov dword [rbx + 0xf668], r12d
mov qword [rbx + 0xee40], r12
mov dword [rbx + 0xf730], r12d
mov rcx, rbx
call fcn.1400e9f20
mov rcx, rbx
call fcn.1400d7640
call fcn.1400c60f0
lea rcx, [rbx + 0xeba0]
xor edx, edx
mov r8d, 0x190
call fcn.140051eb0
lea rdx, [rbx + 0x1540]
mov ecx, reloc.SHELL32.dll_ILRemoveLastID
call fcn.140092e10
lea rdx, [rbx + 0x1748]
mov ecx, reloc.SHELL32.dll_ILRemoveLastID
call fcn.140092e10
mov rcx, rbx
call fcn.1400d77f0
mov qword [rbx + 0xf298], r12
mov qword [rbx + 0xf2a8], r12
lea rcx, [0x140149310]
call qword [sym.imp.KERNEL32.dll_InitializeCriticalSection]
mov dword [rbx + 0xf310], r12d
mov qword [rbx + 0xf3e0], r12
mov dword [rbx + 0xf698], r12d
mov qword [rbx + 0xf3e8], r12
mov dword [rbp - 0x80], 0x114
lea rcx, [rbp - 0x80]
call qword [sym.imp.KERNEL32.dll_GetVersionExW]
test eax, eax
je 0x1400d8d2d
mov ecx, dword [rbp - 0x7c]
mov dword [rbx + 0x1b5c], ecx
mov eax, dword [rbp - 0x78]
mov dword [rbx + 0x1b60], eax
mov rsi, qword [rbx + 0x1ba0]
lea r8, [rsp + 0x20]
mov rdx, qword [rsi + 8]
cmp ecx, 6
mov rcx, rsi
jb 0x1400d8b24
mov dword [rsp + 0x20], 7
call fcn.14000abf0
mov r11, rax
mov rcx, qword [rbx + 0x1ba8]
movabs rdi, 0x3ffffffffffffffe
mov rax, rdi
sub rax, rcx
cmp rax, 1
jae 0x1400d88b4
lea rcx, str.list_T__too_long
call fcn.14002ba2c
int3
lea rax, [rcx + 1]
mov qword [rbx + 0x1ba8], rax
mov qword [rsi + 8], r11
mov rax, qword [r11 + 8]
mov qword [rax], r11
mov dword [rsp + 0x20], 8
mov rsi, qword [rbx + 0x1ba0]
lea r8, [rsp + 0x20]
mov rdx, qword [rsi + 8]
mov rcx, rsi
call fcn.14000abf0
mov r11, rax
mov rcx, qword [rbx + 0x1ba8]
mov rax, rdi
sub rax, rcx
cmp rax, 1
jae 0x1400d890d
lea rcx, str.list_T__too_long
call fcn.14002ba2c
int3
lea rax, [rcx + 1]
mov qword [rbx + 0x1ba8], rax
mov qword [rsi + 8], r11
mov rax, qword [r11 + 8]
mov qword [rax], r11
mov dword [rsp + 0x20], 1
mov rsi, qword [rbx + 0x1ba0]
lea r8, [rsp + 0x20]
mov rdx, qword [rsi + 8]
mov rcx, rsi
call fcn.14000abf0
mov r11, rax
mov rcx, qword [rbx + 0x1ba8]
mov rax, rdi
sub rax, rcx
cmp rax, 1
jae 0x1400d8966
lea rcx, str.list_T__too_long
call fcn.14002ba2c
int3
lea rax, [rcx + 1]
mov qword [rbx + 0x1ba8], rax
mov qword [rsi + 8], r11
mov rax, qword [r11 + 8]
mov qword [rax], r11
mov dword [rsp + 0x20], 2
mov rsi, qword [rbx + 0x1ba0]
lea r8, [rsp + 0x20]
mov rdx, qword [rsi + 8]
mov rcx, rsi
call fcn.14000abf0
mov r11, rax
mov rcx, qword [rbx + 0x1ba8]
mov rax, rdi
sub rax, rcx
cmp rax, 1
jae 0x1400d89bf
lea rcx, str.list_T__too_long
call fcn.14002ba2c
int3
lea rax, [rcx + 1]
mov qword [rbx + 0x1ba8], rax
mov qword [rsi + 8], r11
mov rax, qword [r11 + 8]
mov qword [rax], r11
mov dword [rsp + 0x20], 3
mov rsi, qword [rbx + 0x1ba0]
lea r8, [rsp + 0x20]
mov rdx, qword [rsi + 8]
mov rcx, rsi
call fcn.14000abf0
mov r11, rax
mov rcx, qword [rbx + 0x1ba8]
mov rax, rdi
sub rax, rcx
cmp rax, 1
jae 0x1400d8a18
lea rcx, str.list_T__too_long
call fcn.14002ba2c
int3
lea rax, [rcx + 1]
mov qword [rbx + 0x1ba8], rax
mov qword [rsi + 8], r11
mov rax, qword [r11 + 8]
mov qword [rax], r11
mov dword [rsp + 0x20], 4
mov rsi, qword [rbx + 0x1ba0]
lea r8, [rsp + 0x20]
mov rdx, qword [rsi + 8]
mov rcx, rsi
call fcn.14000abf0
mov r11, rax
mov rcx, qword [rbx + 0x1ba8]
mov rax, rdi
sub rax, rcx
cmp rax, 1
jae 0x1400d8a71
lea rcx, str.list_T__too_long
call fcn.14002ba2c
int3
lea rax, [rcx + 1]
mov qword [rbx + 0x1ba8], rax
mov qword [rsi + 8], r11
mov rax, qword [r11 + 8]
mov qword [rax], r11
mov dword [rsp + 0x20], 6
mov rsi, qword [rbx + 0x1ba0]
lea r8, [rsp + 0x20]
mov rdx, qword [rsi + 8]
mov rcx, rsi
call fcn.14000abf0
mov r11, rax
mov rcx, qword [rbx + 0x1ba8]
mov rax, rdi
sub rax, rcx
cmp rax, 1
jae 0x1400d8aca
lea rcx, str.list_T__too_long
call fcn.14002ba2c
int3
lea rax, [rcx + 1]
mov qword [rbx + 0x1ba8], rax
mov qword [rsi + 8], r11
mov rax, qword [r11 + 8]
mov qword [rax], r11
mov dword [rsp + 0x20], 5
mov rsi, qword [rbx + 0x1ba0]
lea r8, [rsp + 0x20]
mov rdx, qword [rsi + 8]
mov rcx, rsi
call fcn.14000abf0
mov r11, rax
mov rax, qword [rbx + 0x1ba8]
sub rdi, rax
cmp rdi, 1
jae 0x1400d8d18
lea rcx, str.list_T__too_long
call fcn.14002ba2c
int3
mov dword [rsp + 0x20], 6
call fcn.14000abf0
mov r11, rax
mov rcx, qword [rbx + 0x1ba8]
movabs rdi, 0x3ffffffffffffffe
mov rax, rdi
sub rax, rcx
cmp rax, 1
jae 0x1400d8b5e
lea rcx, str.list_T__too_long
call fcn.14002ba2c
int3
lea rax, [rcx + 1]
mov qword [rbx + 0x1ba8], rax
mov qword [rsi + 8], r11
mov rax, qword [r11 + 8]
mov qword [rax], r11
mov dword [rsp + 0x20], 5
mov rsi, qword [rbx + 0x1ba0]
lea r8, [rsp + 0x20]
mov rdx, qword [rsi + 8]
mov rcx, rsi
call fcn.14000abf0
mov r11, rax
mov rcx, qword [rbx + 0x1ba8]
mov rax, rdi
sub rax, rcx
cmp rax, 1
jae 0x1400d8bb7
lea rcx, str.list_T__too_long
call fcn.14002ba2c
int3
lea rax, [rcx + 1]
mov qword [rbx + 0x1ba8], rax
mov qword [rsi + 8], r11
mov rax, qword [r11 + 8]
mov qword [rax], r11
mov dword [rsp + 0x20], 1
mov rsi, qword [rbx + 0x1ba0]
lea r8, [rsp + 0x20]
mov rdx, qword [rsi + 8]
mov rcx, rsi
call fcn.14000abf0
mov r11, rax
mov rcx, qword [rbx + 0x1ba8]
mov rax, rdi
sub rax, rcx
cmp rax, 1
jae 0x1400d8c10
lea rcx, str.list_T__too_long
call fcn.14002ba2c
int3
lea rax, [rcx + 1]
mov qword [rbx + 0x1ba8], rax
mov qword [rsi + 8], r11
mov rax, qword [r11 + 8]
mov qword [rax], r11
mov dword [rsp + 0x20], 2
mov rsi, qword [rbx + 0x1ba0]
lea r8, [rsp + 0x20]
mov rdx, qword [rsi + 8]
mov rcx, rsi
call fcn.14000abf0
mov r11, rax
mov rcx, qword [rbx + 0x1ba8]
mov rax, rdi
sub rax, rcx
cmp rax, 1
jae 0x1400d8c69
lea rcx, str.list_T__too_long
call fcn.14002ba2c
int3
lea rax, [rcx + 1]
mov qword [rbx + 0x1ba8], rax
mov qword [rsi + 8], r11
mov rax, qword [r11 + 8]
mov qword [rax], r11
mov dword [rsp + 0x20], 3
mov rsi, qword [rbx + 0x1ba0]
lea r8, [rsp + 0x20]
mov rdx, qword [rsi + 8]
mov rcx, rsi
call fcn.14000abf0
mov r11, rax
mov rcx, qword [rbx + 0x1ba8]
mov rax, rdi
sub rax, rcx
cmp rax, 1
jae 0x1400d8cc2
lea rcx, str.list_T__too_long
call fcn.14002ba2c
int3
lea rax, [rcx + 1]
mov qword [rbx + 0x1ba8], rax
mov qword [rsi + 8], r11
mov rax, qword [r11 + 8]
mov qword [rax], r11
mov dword [rsp + 0x20], 4
mov rsi, qword [rbx + 0x1ba0]
lea r8, [rsp + 0x20]
mov rdx, qword [rsi + 8]
mov rcx, rsi
call fcn.14000abf0
mov r11, rax
mov rax, qword [rbx + 0x1ba8]
sub rdi, rax
cmp rdi, 1
jae 0x1400d8d18
lea rcx, str.list_T__too_long
call fcn.14002ba2c
int3
inc rax
mov qword [rbx + 0x1ba8], rax
mov qword [rsi + 8], r11
mov rax, qword [r11 + 8]
mov qword [rax], r11
lea rcx, str.dwmapi.dll
call fcn.14000afd0
mov qword [rbx + 0xee38], rax
test rax, rax
je 0x1400d8d5e
lea rdx, str.DwmInvalidateIconicBitmaps
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov qword [rbx + 0xee30], rax
jmp 0x1400d8d65
mov qword [rbx + 0xee30], r12
mov rax, rbx
jmp 0x1400d8e99
mov qword [rsp + 0x20], r12
lea rdx, [rsp + 0x20]
lea rcx, [rsp + 0x50]
call fcn.14004b2d4
lea r11, vtable.std::bad_alloc.0
mov qword [rsp + 0x50], r11
lea rdx, [0x140132320]
lea rcx, [rsp + 0x50]
call fcn.14004d894
nop
mov qword [rsp + 0x20], r12
lea rdx, [rsp + 0x20]
lea rcx, [rsp + 0x50]
call fcn.14004b2d4
lea r11, vtable.std::bad_alloc.0
mov qword [rsp + 0x50], r11
lea rdx, [0x140132320]
lea rcx, [rsp + 0x50]
call fcn.14004d894
nop
mov qword [rsp + 0x30], r12
lea rdx, [rsp + 0x30]
lea rcx, [rsp + 0x38]
call fcn.14004b2d4
lea r11, vtable.std::bad_alloc.0
mov qword [rsp + 0x38], r11
lea rdx, [0x140132320]
lea rcx, [rsp + 0x38]
call fcn.14004d894
nop
mov qword [rsp + 0x30], r12
lea rdx, [rsp + 0x30]
lea rcx, [rsp + 0x38]
call fcn.14004b2d4
lea r11, vtable.std::bad_alloc.0
mov qword [rsp + 0x38], r11
lea rdx, [0x140132320]
lea rcx, [rsp + 0x38]
call fcn.14004d894
nop
mov qword [rsp + 0x20], r12
lea rdx, [rsp + 0x20]
lea rcx, [rsp + 0x50]
call fcn.14004b2d4
lea r11, vtable.std::bad_alloc.0
mov qword [rsp + 0x50], r11
lea rdx, [0x140132320]
lea rcx, [rsp + 0x50]
call fcn.14004d894
nop
mov qword [rsp + 0x30], r12
lea rdx, [rsp + 0x30]
lea rcx, [rsp + 0x38]
call fcn.14004b2d4
lea r11, vtable.std::bad_alloc.0
mov qword [rsp + 0x38], r11
lea rdx, [0x140132320]
lea rcx, [rsp + 0x38]
call fcn.14004d894
nop
mov rcx, qword [rbp + 0xa0]
xor rcx, rsp
call fcn.14004ae00
lea r11, [rsp + 0x1b0]
mov rbx, qword [r11 + 0x28]
mov rsi, qword [r11 + 0x30]
mov rsp, r11
pop r12
pop rdi
pop rbp
ret