Function at 0x424a60
Capabilities:
Check os version

Disassembly:
sub rsp, 0x758
mov qword [rsp + 0x750], rbx
mov qword [rsp + 0x748], rbp
mov qword [rsp + 0x740], rsi
mov qword [rsp + 0x738], rdi
mov qword [rsp + 0x730], r12
mov qword [rsp + 0x728], r13
mov qword [rsp + 0x720], r14
mov r13, rdx
mov r12, r8
mov rsi, rcx
call fcn.004545a0
test eax, eax
je 0x424b28
lea rdx, str.CInf_::_SetupForDecoration_n
lea rcx, [rsp + 0x1e0]
xor r8d, r8d
call fcn.00486850
movabs rdx, 0x203a5952544e45
xor eax, eax
mov qword [rsp + 0xe0], rdx
lea rdi, [rsp + 0xe0]
mov rcx, 0xffffffffffffffff
repne scasb al, byte [rdi]
xor ecx, ecx
lea rdx, [rsp + 0x1e0]
movzx eax, byte [rdx + rcx]
inc rcx
test al, al
mov byte [rdi + rcx - 2], al
jne 0x424af7
call fcn.004546e0
mov rcx, rax
call fcn.004545b0
call fcn.004546e0
lea rdx, [rsp + 0xe0]
mov rcx, rax
call fcn.004548a0
lea rcx, [rsp + 0x40]
xor r14d, r14d
mov r8d, 0x9c
xor edx, edx
mov ebx, 2
mov ebp, r14d
call fcn.00499630
lea rcx, [rsp + 0x40]
mov dword [rsp + 0x40], 0x9c
call qword [sym.imp.KERNEL32.dll_GetVersionExA]
test eax, eax
je 0x424d08
cmp dword [rsp + 0x44], 5
jb 0x424d08
lea rdx, [rsp + 0x500]
mov rcx, rsi
call fcn.00424870
movzx ecx, byte [rsp + 0x500]
mov r9d, dword [rsp + 0x44]
test eax, eax
movzx eax, word [rsp + 0xd8]
lea r8, [rsp + 0x500]
cmove ecx, r14d
mov dword [rsp + 0x30], eax
mov eax, dword [rsp + 0x48]
mov byte [rsp + 0x500], cl
movzx ecx, byte [rsp + 0xda]
lea rdx, str.NT_s._d._d._d._d
mov dword [rsp + 0x28], ecx
lea rcx, [rsp + 0x610]
mov dword [rsp + 0x20], eax
call fcn.00486850
call fcn.004545a0
test eax, eax
je 0x424c0b
lea r8, [rsp + 0x610]
lea rdx, str.Possible_szDecoration___s_n
lea rcx, [rsp + 0x1e0]
call fcn.00486850
call fcn.004546e0
lea rdx, [rsp + 0x1e0]
mov rcx, rax
call fcn.004548a0
mov esi, r14d
call fcn.00413910
lea r9, [rsp + 0x2e0]
mov r8d, ebx
mov rdx, r13
mov rcx, rax
mov qword [rsp + 0x28], r14
mov dword [rsp + 0x20], 0x104
call fcn.00412da0
test eax, eax
je 0x424d08
nop
inc ebx
mov rcx, r14
nop
nop
nop
movzx eax, byte [rsp + rcx + 0x2e0]
inc rcx
test al, al
mov byte [rsp + rcx + 0x3ef], al
jne 0x424c50
lea rcx, [rsp + 0x3f0]
call fcn.00487800
lea rdx, [rsp + 0x3f0]
lea rcx, [rsp + 0x610]
call fcn.00486ac0
test rax, rax
je 0x424cd8
xor eax, eax
lea rdi, [rsp + 0x3f0]
mov rcx, 0xffffffffffffffff
repne scasb al, byte [rdi]
not rcx
dec rcx
cmp esi, ecx
mov rdi, rcx
jae 0x424cd8
lea rax, [rsp + 0x2e0]
mov rcx, r12
lea rdx, [rsp + 0x2e0]
sub rcx, rax
movzx eax, byte [rdx]
inc rdx
test al, al
mov byte [rcx + rdx - 1], al
jne 0x424cc3
mov esi, edi
mov ebp, 1
call fcn.00413910
lea r9, [rsp + 0x2e0]
mov r8d, ebx
mov rdx, r13
mov rcx, rax
mov qword [rsp + 0x28], r14
mov dword [rsp + 0x20], 0x104
call fcn.00412da0
test eax, eax
jne 0x424c40
call fcn.004545a0
mov r14, qword [rsp + 0x720]
mov r13, qword [rsp + 0x728]
test eax, eax
mov rsi, qword [rsp + 0x740]
mov rbx, qword [rsp + 0x750]
je 0x424da8
lea rdx, str.CInf_::_SetupForDecoration_:_pszDecoration___s_n
lea rcx, [rsp + 0x1e0]
mov r8, r12
call fcn.00486850
xor eax, eax
movabs rdx, 0x20203a54495845
mov qword [rsp + 0xe0], rdx
lea rdi, [rsp + 0xe0]
mov rcx, 0xffffffffffffffff
repne scasb al, byte [rdi]
lea rax, [rsp + 0x1e0]
xor edx, edx
movzx ecx, byte [rax + rdx]
inc rdx
test cl, cl
mov byte [rdi + rdx - 2], cl
jne 0x424d77
call fcn.004546e0
lea rdx, [rsp + 0xe0]
mov rcx, rax
call fcn.004548a0
call fcn.004546e0
mov rcx, rax
call fcn.004545c0
mov r12, qword [rsp + 0x730]
mov rdi, qword [rsp + 0x738]
mov eax, ebp
mov rbp, qword [rsp + 0x748]
add rsp, 0x758
ret