Function at 0x180070b70
Capabilities:
Check os version

Disassembly:
mov qword [rsp + 8], rcx
push rdi
sub rsp, 0x450
mov rax, qword [0x1801837f8]
xor rax, rsp
mov qword [rsp + 0x440], rax
call fcn.180071520
mov dword [rsp + 0x190], eax
lea rdi, [rsp + 0x194]
xor eax, eax
mov ecx, 0x1f0
rep stosb byte [rdi], al
xor r9d, r9d
lea r8, [rsp + 0x190]
mov edx, 0x1f4
mov ecx, 0x29
call qword [sym.imp.USER32.dll_SystemParametersInfoW]
mov dword [rsp + 0x180], eax
cmp dword [rsp + 0x180], 0
je 0x180070e12
mov dword [rsp + 0x3a0], 0
lea rdi, [rsp + 0x3a4]
xor eax, eax
mov ecx, 0x58
rep stosb byte [rdi], al
mov rax, qword [rsp + 0x460]
cmp qword [rax + 0x110], 0
je 0x180070c26
mov rcx, qword [rsp + 0x460]
add rcx, 0x110
lea rdx, [rsp + 0x3a0]
call fcn.18007db60
mov eax, dword [rsp + 0x270]
cmp dword [rsp + 0x3a0], eax
jne 0x180070d54
mov eax, dword [rsp + 0x274]
cmp dword [rsp + 0x3a4], eax
jne 0x180070d54
mov eax, dword [rsp + 0x278]
cmp dword [rsp + 0x3a8], eax
jne 0x180070d54
mov eax, dword [rsp + 0x27c]
cmp dword [rsp + 0x3ac], eax
jne 0x180070d54
mov eax, dword [rsp + 0x280]
cmp dword [rsp + 0x3b0], eax
jne 0x180070d54
movzx ecx, byte [rsp + 0x3b4]
movzx eax, byte [rsp + 0x284]
cmp ecx, eax
jne 0x180070d54
movzx ecx, byte [rsp + 0x3b5]
movzx eax, byte [rsp + 0x285]
cmp ecx, eax
jne 0x180070d54
movzx ecx, byte [rsp + 0x3b6]
movzx eax, byte [rsp + 0x286]
cmp ecx, eax
jne 0x180070d54
movzx ecx, byte [rsp + 0x3b7]
movzx eax, byte [rsp + 0x287]
cmp ecx, eax
jne 0x180070d54
movzx ecx, byte [rsp + 0x3b8]
movzx eax, byte [rsp + 0x288]
cmp ecx, eax
jne 0x180070d54
movzx ecx, byte [rsp + 0x3b9]
movzx eax, byte [rsp + 0x289]
cmp ecx, eax
jne 0x180070d54
movzx ecx, byte [rsp + 0x3ba]
movzx eax, byte [rsp + 0x28a]
cmp ecx, eax
jne 0x180070d54
movzx ecx, byte [rsp + 0x3bb]
movzx eax, byte [rsp + 0x28b]
cmp ecx, eax
jne 0x180070d54
lea rdx, [rsp + 0x28c]
lea rcx, [rsp + 0x3bc]
call qword [sym.imp.KERNEL32.dll_lstrcmpW]
test eax, eax
je 0x180070e12
lea rcx, [rsp + 0x270]
call qword [sym.imp.GDI32.dll_CreateFontIndirectW]
mov qword [rsp + 0x400], rax
cmp qword [rsp + 0x400], 0
je 0x180070e12
mov rax, qword [rsp + 0x460]
cmp qword [rax + 0x110], 0
je 0x180070d9f
mov rcx, qword [rsp + 0x460]
add rcx, 0x110
call fcn.180066750
mov rcx, qword [rsp + 0x460]
add rcx, 0x110
mov rdx, qword [rsp + 0x400]
call fcn.18007dad0
mov rcx, qword [rsp + 0x460]
add rcx, 0x110
call fcn.180070030
mov rcx, qword [rsp + 0x460]
add rcx, 8
mov r8d, 1
mov rdx, rax
call fcn.180056920
mov rcx, qword [rsp + 0x460]
add rcx, 8
lea rdx, [0x1800afc58]
call fcn.18007cfc0
mov rcx, qword [rsp + 0x460]
add rcx, 8
call fcn.18007cff0
mov rdx, qword [rsp + 0x460]
mov rdx, qword [rdx + 8]
lea rcx, [rsp + 0x38]
call fcn.18006ff10
mov rcx, qword [rsp + 0x460]
add rcx, 0x110
call fcn.180070030
mov rdx, rax
lea rcx, [rsp + 0x38]
call fcn.18007ce10
mov qword [rsp + 0x390], rax
mov dword [rsp + 0x170], 0
mov dword [rsp + 0x174], 0
mov dword [rsp + 0x178], 0
mov dword [rsp + 0x17c], 0
mov dword [rsp + 0x20], 0x424
lea r9, [rsp + 0x170]
mov r8d, 0xffffffff
lea rdx, [0x1800afc54]
lea rcx, [rsp + 0x38]
call fcn.18007ce70
mov ecx, dword [rsp + 0x170]
mov eax, dword [rsp + 0x178]
sub eax, ecx
cmp eax, 4
jge 0x180070f0e
lea rcx, [rsp + 0x170]
call qword [sym.imp.USER32.dll_SetRectEmpty]
mov dword [rsp + 0x20], 0x424
lea r9, [rsp + 0x170]
mov r8d, 0xffffffff
lea rdx, [0x1800afc50]
lea rcx, [rsp + 0x38]
call fcn.18007ce70
mov edx, dword [rsp + 0x170]
mov ecx, dword [rsp + 0x178]
sub ecx, edx
mov rax, qword [rsp + 0x460]
mov dword [rax + 0x128], ecx
jmp 0x180070f20
mov rax, qword [rsp + 0x460]
mov dword [rax + 0x128], 0
mov rdx, qword [rsp + 0x390]
lea rcx, [rsp + 0x38]
call fcn.18007ce10
mov dword [rsp + 0x50], VarUI4FromDisp
lea rdi, [rsp + 0x54]
xor eax, eax
mov ecx, 0x110
rep stosb byte [rdi], al
lea rcx, [rsp + 0x50]
call qword [sym.imp.KERNEL32.dll_GetVersionExW]
cmp dword [rsp + 0x54], 5
jb 0x18007103e
mov dword [rsp + 0x408], 1
xor r9d, r9d
lea r8, [rsp + 0x408]
xor edx, edx
mov ecx, 0x100a
call qword [sym.imp.USER32.dll_SystemParametersInfoW]
mov dword [rsp + 0x180], eax
cmp dword [rsp + 0x180], 0
je 0x180070fa6
cmp dword [rsp + 0x408], 0
jne 0x180070fa6
mov byte [rsp + 0x430], 1
jmp 0x180070fae
mov byte [rsp + 0x430], 0
movzx edx, byte [rsp + 0x430]
and dl, 1
shl dl, 1
mov rax, qword [rsp + 0x460]
movzx ecx, byte [rax + 0xf1]
and cl, 0xfd
or cl, dl
mov rax, qword [rsp + 0x460]
mov byte [rax + 0xf1], cl
mov rax, qword [rsp + 0x460]
movzx ecx, byte [rax + 0xf1]
or cl, 8
mov rax, qword [rsp + 0x460]
mov byte [rax + 0xf1], cl
mov rax, qword [rsp + 0x460]
movzx eax, byte [rax + 0xf1]
shr al, 1
and al, 1
movzx eax, al
test eax, eax
jne 0x180071021
mov byte [rsp + 0x431], 1
jmp 0x180071029
mov byte [rsp + 0x431], 0
movzx edx, byte [rsp + 0x431]
mov rcx, qword [rsp + 0x460]
call fcn.1800716b0
cmp dword [rsp + 0x54], 5
jne 0x18007104c
cmp dword [rsp + 0x58], 1
jae 0x180071053
cmp dword [rsp + 0x54], 5
jbe 0x1800710d0
mov dword [rsp + 0x40c], 0
xor r9d, r9d
lea r8, [rsp + 0x40c]
xor edx, edx
mov ecx, 0x1022
call qword [sym.imp.USER32.dll_SystemParametersInfoW]
mov dword [rsp + 0x180], eax
cmp dword [rsp + 0x180], 0
je 0x18007109b
cmp dword [rsp + 0x40c], 0
je 0x18007109b
mov byte [rsp + 0x432], 1
jmp 0x1800710a3
mov byte [rsp + 0x432], 0
movzx edx, byte [rsp + 0x432]
and dl, 1
mov rax, qword [rsp + 0x460]
movzx ecx, byte [rax + 0xf1]
and cl, 0xfe
or cl, dl
mov rax, qword [rsp + 0x460]
mov byte [rax + 0xf1], cl
call fcn.180066c80
movzx eax, al
test eax, eax
je 0x18007110a
call fcn.1800712e0
movzx eax, al
test eax, eax
je 0x18007110a
mov rax, qword [rsp + 0x460]
mov eax, dword [rax + 0x98]
and eax, 0x10
test eax, eax
jne 0x18007110a
mov dword [rsp + 0x434], 1
jmp 0x180071115
mov dword [rsp + 0x434], 0
movzx eax, byte [rsp + 0x434]
mov byte [rsp + 0x30], al
movzx eax, byte [rsp + 0x30]
test eax, eax
je 0x180071220
lea rcx, str.uxtheme.dll
call qword [sym.imp.KERNEL32.dll_LoadLibraryW]
mov qword [rsp + 0x410], rax
cmp qword [rsp + 0x410], 0
je 0x180071220
lea rdx, str.IsThemeActive
mov rcx, qword [rsp + 0x410]
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov qword [rsp + 0x420], rax
movzx eax, byte [rsp + 0x30]
test eax, eax
je 0x18007119b
cmp qword [rsp + 0x420], 0
je 0x18007119b
call qword [rsp + 0x420]
test eax, eax
je 0x18007119b
mov dword [rsp + 0x438], 1
jmp 0x1800711a6
mov dword [rsp + 0x438], 0
movzx eax, byte [rsp + 0x438]
mov byte [rsp + 0x30], al
lea rdx, str.IsAppThemed
mov rcx, qword [rsp + 0x410]
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov qword [rsp + 0x418], rax
movzx eax, byte [rsp + 0x30]
test eax, eax
je 0x1800711fb
cmp qword [rsp + 0x418], 0
je 0x1800711fb
call qword [rsp + 0x418]
test eax, eax
je 0x1800711fb
mov dword [rsp + 0x43c], 1
jmp 0x180071206
mov dword [rsp + 0x43c], 0
movzx eax, byte [rsp + 0x43c]
mov byte [rsp + 0x30], al
mov rcx, qword [rsp + 0x410]
call qword [sym.imp.KERNEL32.dll_FreeLibrary]
movzx eax, byte [rsp + 0x30]
test eax, eax
jne 0x180071285
mov rax, qword [rsp + 0x460]
movzx eax, byte [rax + 0xf2]
and al, 1
movzx eax, al
test eax, eax
je 0x180071285
mov rax, qword [rsp + 0x460]
cmp qword [rax + 0x78], 0
je 0x180071285
mov rcx, qword [rsp + 0x460]
add rcx, 0x88
call fcn.180066d70
test eax, eax
jle 0x180071285
mov rax, qword [rsp + 0x460]
mov qword [rsp + 0x428], rax
mov rcx, qword [rsp + 0x428]
call fcn.18006a9c0
movzx edx, byte [rsp + 0x30]
and dl, 1
mov rax, qword [rsp + 0x460]
movzx ecx, byte [rax + 0xf2]
and cl, 0xfe
or cl, dl
mov rax, qword [rsp + 0x460]
mov byte [rax + 0xf2], cl
lea rcx, [rsp + 0x38]
call fcn.18006ff60
mov rcx, qword [rsp + 0x440]
xor rcx, rsp
call fcn.18008cb70
add rsp, 0x450
pop rdi
ret