Function at 0x140015de8
Capabilities:
Check os version

Disassembly:
mov rax, rsp
push rbp
push rdi
push r12
push r14
push r15
lea rbp, [rax - 0xf8]
sub rsp, 0x1d0
mov qword [rbp - 0x78], 0xfffffffffffffffe
mov qword [rax + 0x10], rbx
mov qword [rax + 0x18], rsi
mov rax, qword [0x1400c2688]
xor rax, rsp
mov qword [rbp + 0xc0], rax
mov rdi, rcx
call fcn.140033ac8
lea rsi, [rdi + 0x260]
mov r8, rdi
mov edx, 0x3f4
mov rcx, rsi
call fcn.14002f82c
lea r14, [rdi + 0x138]
mov r8, rdi
mov edx, 0x3f3
mov rcx, r14
call fcn.14002f82c
mov edx, 0x3ed
mov rcx, rdi
call fcn.140032178
mov rbx, rax
mov r9d, 0x420
xor r8d, r8d
mov edx, 0x1036
mov rcx, qword [rax + 0x40]
call qword [sym.imp.USER32.dll_SendMessageW]
call fcn.1400293ac
mov r8d, 0x7532
lea rdx, [rsp + 0x30]
mov rcx, qword [rax + 8]
call fcn.14000d8dc
nop
or r15d, 0xffffffff
mov dword [rsp + 0x28], r15d
mov dword [rsp + 0x20], reloc.OLEAUT32.dll_OleTranslateColor
xor r9d, r9d
mov r8, qword [rax]
xor edx, edx
mov rcx, rbx
call fcn.140036850
nop
mov rdx, qword [rsp + 0x30]
add rdx, 0xffffffffffffffe8
mov eax, r15d
lock xadd dword [rdx + 0x10], eax
add eax, r15d
test eax, eax
jg 0x140015edd
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
call fcn.1400293ac
mov r8d, 0x7530
lea rdx, [rsp + 0x38]
mov rcx, qword [rax + 8]
call fcn.14000d8dc
nop
mov rdx, qword [rax]
mov rcx, rsi
call fcn.140032d38
nop
mov rdx, qword [rsp + 0x38]
add rdx, 0xffffffffffffffe8
mov eax, r15d
lock xadd dword [rdx + 0x10], eax
add eax, r15d
test eax, eax
jg 0x140015f24
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
call fcn.1400293ac
mov r8d, 0x7531
lea rdx, [rsp + 0x40]
mov rcx, qword [rax + 8]
call fcn.14000d8dc
nop
mov rbx, qword [rax]
mov edx, 0x410
mov rcx, rdi
call fcn.140032178
mov rcx, rax
mov rdx, rbx
call fcn.140032d38
nop
mov rdx, qword [rsp + 0x40]
add rdx, 0xffffffffffffffe8
mov eax, r15d
lock xadd dword [rdx + 0x10], eax
add eax, r15d
test eax, eax
jg 0x140015f7b
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
call fcn.1400293ac
mov r8d, 0x7533
lea rdx, [rsp + 0x48]
mov rcx, qword [rax + 8]
call fcn.14000d8dc
nop
mov rbx, qword [rax]
mov edx, 0x3ef
mov rcx, rdi
call fcn.140032178
mov rcx, rax
mov rdx, rbx
call fcn.140032d38
nop
mov rdx, qword [rsp + 0x48]
add rdx, 0xffffffffffffffe8
mov eax, r15d
lock xadd dword [rdx + 0x10], eax
add eax, r15d
test eax, eax
jg 0x140015fd2
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
call fcn.1400293ac
mov r8d, 0x7534
lea rdx, [rsp + 0x50]
mov rcx, qword [rax + 8]
call fcn.14000d8dc
nop
mov rbx, qword [rax]
mov edx, 0x3f0
mov rcx, rdi
call fcn.140032178
mov rcx, rax
mov rdx, rbx
call fcn.140032d38
nop
mov rdx, qword [rsp + 0x50]
add rdx, 0xffffffffffffffe8
mov eax, r15d
lock xadd dword [rdx + 0x10], eax
add eax, r15d
test eax, eax
jg 0x140016029
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
call fcn.1400293ac
mov r8d, 0x7535
lea rdx, [rsp + 0x58]
mov rcx, qword [rax + 8]
call fcn.14000d8dc
nop
mov rbx, qword [rax]
mov edx, 0x3f1
mov rcx, rdi
call fcn.140032178
mov rcx, rax
mov rdx, rbx
call fcn.140032d38
nop
mov rdx, qword [rsp + 0x58]
add rdx, 0xffffffffffffffe8
mov eax, r15d
lock xadd dword [rdx + 0x10], eax
add eax, r15d
test eax, eax
jg 0x140016080
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
call fcn.1400293ac
mov r8d, 0x7536
lea rdx, [rsp + 0x60]
mov rcx, qword [rax + 8]
call fcn.14000d8dc
nop
mov rbx, qword [rax]
mov r12d, 1
mov edx, r12d
mov rcx, rdi
call fcn.140032178
mov rcx, rax
mov rdx, rbx
call fcn.140032d38
nop
mov rdx, qword [rsp + 0x60]
add rdx, 0xffffffffffffffe8
mov eax, r15d
lock xadd dword [rdx + 0x10], eax
add eax, r15d
test eax, eax
jg 0x1400160db
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
call fcn.1400293ac
mov r8d, 0x7537
lea rdx, [rsp + 0x68]
mov rcx, qword [rax + 8]
call fcn.14000d8dc
nop
mov rdx, qword [rax]
mov rcx, r14
call fcn.140032d38
nop
mov rdx, qword [rsp + 0x68]
add rdx, 0xffffffffffffffe8
mov eax, r15d
lock xadd dword [rdx + 0x10], eax
add eax, r15d
test eax, eax
jg 0x140016122
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
lea rax, [rsp + 0x70]
mov qword [rbp - 0x70], rax
call fcn.1400293ac
mov r8d, 0xc8
lea rdx, [rsp + 0x70]
mov rcx, qword [rax + 8]
call fcn.14000d8dc
nop
mov rdx, rax
mov rcx, r14
call fcn.14002263c
mov edx, r12d
mov rcx, rdi
call fcn.1400396a8
lea rsi, [rdi + 0x348]
mov rax, qword [rsi]
xor r8d, r8d
mov rdx, rdi
mov rcx, rsi
call qword [rax + 0x2c8]
xor r9d, r9d
mov r8, r12
mov edx, 0x401
mov rcx, qword [rdi + 0x388]
call qword [sym.imp.USER32.dll_SendMessageW]
call fcn.1400293ac
mov r8d, 0x7539
lea rdx, [rsp + 0x78]
mov rcx, qword [rax + 8]
call fcn.14000d8dc
nop
mov rbx, qword [rax]
mov edx, 0x418
mov rcx, rdi
call fcn.140032178
mov rdx, rax
and qword [rsp + 0x20], 0
xor r9d, r9d
mov r8, rbx
mov rcx, rsi
call fcn.1400394f0
nop
mov rdx, qword [rsp + 0x78]
add rdx, 0xffffffffffffffe8
mov eax, r15d
lock xadd dword [rdx + 0x10], eax
add eax, r15d
test eax, eax
jg 0x1400161ef
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
call fcn.1400293ac
mov r8d, 0x753a
lea rdx, [rbp - 0x80]
mov rcx, qword [rax + 8]
call fcn.14000d8dc
nop
mov rbx, qword [rax]
mov edx, 0x419
mov rcx, rdi
call fcn.140032178
mov rdx, rax
and qword [rsp + 0x20], 0
xor r9d, r9d
mov r8, rbx
mov rcx, rsi
call fcn.1400394f0
nop
mov rdx, qword [rbp - 0x80]
add rdx, 0xffffffffffffffe8
mov eax, r15d
lock xadd dword [rdx + 0x10], eax
add eax, r15d
test eax, eax
jg 0x140016250
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
mov r8, qword [rdi]
mov edx, r12d
mov rcx, rdi
call qword [r8 + 0x318]
mov dword [rbp - 0x60], 0x114
lea rcx, [rbp - 0x60]
call qword [sym.imp.KERNEL32.dll_GetVersionExW]
cmp dword [rbp - 0x5c], 6
jb 0x140016289
xor r9d, r9d
xor r8d, r8d
lea edx, [r9 + 0x10]
mov rcx, rdi
call fcn.1400328ac
mov eax, r12d
mov rcx, qword [rbp + 0xc0]
xor rcx, rsp
call fcn.14005ef50
lea r11, [rsp + 0x1d0]
mov rbx, qword [r11 + 0x38]
mov rsi, qword [r11 + 0x40]
mov rsp, r11
pop r15
pop r14
pop r12
pop rdi
pop rbp
ret