Function at 0x4d38dc
Capabilities:
Check os version

Disassembly:
mov rax, rsp
push rdi
push r12
push r13
push r14
push r15
sub rsp, 0x210
mov qword [rsp + 0xe0], 0xfffffffffffffffe
mov qword [rax + 0x10], rbx
mov qword [rax + 0x18], rbp
mov qword [rax + 0x20], rsi
mov rsi, rcx
lea r8, [0x0085cbd0]
mov rdx, qword [rcx + 8]
add rcx, 0xa8
call fcn.004f723c
call fcn.00566aa0
mov ebx, 0x517
xor r14d, r14d
lea r15d, [r14 + 1]
cmp eax, 5
jl 0x4d398b
xor edx, edx
mov r8d, 0x11c
lea rcx, [rsp + 0xf0]
call fcn.006aba40
lea rcx, [rsp + 0xf0]
call qword [sym.imp.KERNEL32.dll_GetVersionExW]
mov ecx, dword [rsp + 0xf0]
mov edx, 0x114
cmp eax, r14d
cmove ecx, edx
mov dword [rsp + 0xf0], ecx
lea rcx, [rsp + 0xf0]
call qword [sym.imp.KERNEL32.dll_GetVersionExW]
cmp dword [rsp + 0xf8], r15d
jge 0x4d39ac
call fcn.00566aa0
cmp eax, 6
jge 0x4d39ac
mov edx, ebx
mov rcx, qword [rsi + 8]
call qword [sym.imp.USER32.dll_GetDlgItem]
xor edx, edx
mov rcx, rax
call qword [sym.imp.USER32.dll_EnableWindow]
mov rax, qword [rsi + 0xa8]
cmp byte [rax + 0x2ecb], r14b
jne 0x4d39d4
mov rcx, qword [rax + 0x30]
cmp rcx, r14
je 0x4d39d4
mov edx, 0xd3
call fcn.0040a51c
mov r11d, eax
jmp 0x4d39db
mov r11d, dword [rax + 0x26e8]
cmp r11d, r14d
je 0x4d3a3c
sub r11d, r15d
je 0x4d3a2b
sub r11d, r15d
je 0x4d3a17
cmp r11d, r15d
je 0x4d3a03
mov r8d, r15d
mov edx, 0x516
mov rcx, qword [rsi + 8]
call qword [sym.imp.USER32.dll_CheckDlgButton]
jmp 0x4d3a4e
mov r8d, r15d
mov edx, 0x519
mov rcx, qword [rsi + 8]
call qword [sym.imp.USER32.dll_CheckDlgButton]
jmp 0x4d3a4e
mov r8d, r15d
mov edx, 0x518
mov rcx, qword [rsi + 8]
call qword [sym.imp.USER32.dll_CheckDlgButton]
jmp 0x4d3a4e
mov r8d, r15d
mov edx, ebx
mov rcx, qword [rsi + 8]
call qword [sym.imp.USER32.dll_CheckDlgButton]
jmp 0x4d3a4e
mov r8d, r15d
mov edx, 0x516
mov rcx, qword [rsi + 8]
call qword [sym.imp.USER32.dll_CheckDlgButton]
mov rax, qword [rsi + 0xa8]
cmp byte [rax + 0x2eca], r14b
jne 0x4d3a76
mov rcx, qword [rax + 0x30]
cmp rcx, r14
je 0x4d3a76
mov edx, 0xd2
call fcn.0040a51c
mov r11d, eax
jmp 0x4d3a7d
mov r11d, dword [rax + 0x26e4]
cmp r11d, r14d
je 0x4d3aaf
cmp r11d, r15d
je 0x4d3a9b
mov r8d, r15d
mov edx, 0x51a
mov rcx, qword [rsi + 8]
call qword [sym.imp.USER32.dll_CheckDlgButton]
jmp 0x4d3ac1
mov r8d, r15d
mov edx, 0x51b
mov rcx, qword [rsi + 8]
call qword [sym.imp.USER32.dll_CheckDlgButton]
jmp 0x4d3ac1
mov r8d, r15d
mov edx, 0x51a
mov rcx, qword [rsi + 8]
call qword [sym.imp.USER32.dll_CheckDlgButton]
lea rcx, [rsi + 0xa0]
mov qword [rsp + 0x20], r14
xor r9d, r9d
lea r8, [0x0085cca0]
mov rdx, qword [rsi + 8]
call fcn.004f6a7c
mov rcx, rsi
call fcn.004d4050
mov edx, 0x442
mov rcx, qword [rsi + 8]
call qword [sym.imp.USER32.dll_GetDlgItem]
mov qword [rsi + 0xc0], rax
xor r9d, r9d
mov edi, 0xfa
mov r8, rdi
lea ebx, [rdi - 0x35]
mov edx, ebx
mov rcx, rax
call qword [sym.imp.USER32.dll_SendMessageW]
mov qword [rsi + 0xc0], r14
mov edx, 0x443
mov rcx, qword [rsi + 8]
call qword [sym.imp.USER32.dll_GetDlgItem]
mov qword [rsi + 0xc0], rax
xor r9d, r9d
lea r8d, [r9 + 5]
mov edx, ebx
mov rcx, rax
call qword [sym.imp.USER32.dll_SendMessageW]
mov qword [rsi + 0xc0], r14
mov edx, 0x444
mov rcx, qword [rsi + 8]
call qword [sym.imp.USER32.dll_GetDlgItem]
mov qword [rsi + 0xc0], rax
xor r9d, r9d
mov r8, rdi
mov edx, ebx
mov rcx, rax
call qword [sym.imp.USER32.dll_SendMessageW]
mov qword [rsi + 0xc0], r14
mov edx, 0x445
mov rcx, qword [rsi + 8]
call qword [sym.imp.USER32.dll_GetDlgItem]
mov qword [rsi + 0xc0], rax
xor r9d, r9d
mov r8, rdi
mov edx, ebx
mov rcx, rax
call qword [sym.imp.USER32.dll_SendMessageW]
mov qword [rsi + 0xc0], r14
mov edx, 0x52c
mov rcx, qword [rsi + 8]
call qword [sym.imp.USER32.dll_GetDlgItem]
mov rdx, rax
lea rcx, [rsi + 0xc8]
call fcn.00447424
cmp eax, r14d
je 0x4d3bd8
lea rcx, [rsi + 0xc8]
call fcn.004d54ac
mov dword [rsi + 0x158], 6
lea rdx, [0x00891d40]
lea rcx, [rsp + 0x38]
call fcn.00401f00
mov rbx, qword [rax + 0x48]
mov rdi, qword [rsi + 0xd0]
lea rbp, [rsi + 0x138]
mov r13d, 0x48
mov r8, r13
xor edx, edx
lea rcx, [rsp + 0x90]
call fcn.006aba40
mov dword [rsp + 0x90], r13d
mov dword [rsp + 0x94], r14d
mov qword [rsp + 0x98], rdi
mov qword [rsp + 0xa0], r15
cmp rbp, r14
je 0x4d3c50
movdqu xmm0, xmmword [rbp]
movdqu xmmword [rsp + 0xa8], xmm0
mov rax, qword [0x00861be0]
mov qword [rsp + 0xb8], rax
mov qword [rsp + 0xc0], rbx
mov qword [rsp + 0xc8], r14
lea r9, [rsp + 0x90]
xor r8d, r8d
mov edx, 0x432
mov rcx, qword [rsi + 0x148]
call qword [sym.imp.USER32.dll_SendMessageW]
lea r11, [rsp + 0x38]
mov r13d, 0x100
mov rcx, qword [rsp + 0x80]
cmp rcx, r11
je 0x4d3cc9
cmp rcx, r14
je 0x4d3cc9
mov rax, qword [rsp + 0x38]
sub rax, rcx
sar rax, 1
lea rdx, [rax + rax]
cmp rdx, r13
jbe 0x4d3cc4
call fcn.006a4944
jmp 0x4d3cc9
call fcn.006a3610
mov edx, 0x506
mov rcx, qword [rsi + 8]
call qword [sym.imp.USER32.dll_GetDlgItem]
mov qword [rsi + 0x160], rax
lea r9, [0x0079b250]
xor r8d, r8d
mov edx, 0x143
mov rcx, rax
call qword [sym.imp.USER32.dll_SendMessageW]
mov rbx, r14
mov dword [rsp + 0x30], r14d
lea rdx, [rsp + 0x30]
xor ecx, ecx
call sub.IPHLPAPI.DLL_GetAdaptersInfo
cmp eax, 0x6f
jne 0x4d3d3b
mov ebx, dword [rsp + 0x30]
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov rcx, rax
mov r8, rbx
mov edx, 8
call qword [sym.imp.KERNEL32.dll_HeapAlloc]
mov rbx, rax
lea rdx, [rsp + 0x30]
mov rcx, rax
call sub.IPHLPAPI.DLL_GetAdaptersInfo
cmp eax, r14d
jne 0x4d3e2c
mov rbp, rbx
cmp rbx, r14
je 0x4d3e45
lea rdi, [rbp + 0x1b8]
cmp rdi, r14
je 0x4d3e1f
lea rdx, [rdi + 8]
lea r8, [rsp + 0x240]
lea rcx, [rsp + 0x90]
call fcn.004021a8
nop
lea rdx, [rsp + 0x90]
lea rcx, [rsp + 0x38]
call fcn.00401f00
mov r9, qword [rax + 0x48]
xor r8d, r8d
mov edx, 0x143
mov rcx, qword [rsi + 0x160]
call qword [sym.imp.USER32.dll_SendMessageW]
lea r11, [rsp + 0x38]
mov rcx, qword [rsp + 0x80]
cmp rcx, r11
je 0x4d3ddd
cmp rcx, r14
je 0x4d3ddd
mov rax, qword [rsp + 0x38]
sub rax, rcx
sar rax, 1
lea rdx, [rax + rax]
cmp rdx, r13
jbe 0x4d3dd7
call fcn.006a4944
jmp 0x4d3ddd
call fcn.006a3610
nop
lea rax, [rsp + 0x90]
mov rcx, qword [rsp + 0xb8]
cmp rcx, rax
je 0x4d3e13
cmp rcx, r14
je 0x4d3e13
mov rdx, qword [rsp + 0x90]
sub rdx, rcx
cmp rdx, r13
jbe 0x4d3e0e
call fcn.006a4944
jmp 0x4d3e13
call fcn.006a3610
mov rdi, qword [rdi]
cmp rdi, r14
jne 0x4d3d60
mov rbp, qword [rbp]
cmp rbp, r14
jne 0x4d3d50
cmp rbx, r14
je 0x4d3e45
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov rcx, rax
mov r8, rbx
xor edx, edx
call qword [sym.imp.KERNEL32.dll_HeapFree]
mov rax, qword [rsi + 0xa8]
mov ebx, 2
cmp byte [rax + 0x2dfa], r14b
jne 0x4d3e6c
mov rcx, qword [rax + 0x30]
cmp rcx, r14
je 0x4d3e6c
mov edx, ebx
call fcn.004083bc
jmp 0x4d3e72
add rax, 0x98
mov rdx, rax
lea rcx, [rsp + 0x38]
call fcn.00401f00
mov r9, qword [rax + 0x48]
xor r8d, r8d
mov edi, 0x14c
mov edx, edi
mov rcx, qword [rsi + 0x160]
call qword [sym.imp.USER32.dll_SendMessageW]
movsxd r8, eax
xor r9d, r9d
lea ebp, [rdi + 2]
mov edx, ebp
mov rcx, qword [rsi + 0x160]
call qword [sym.imp.USER32.dll_SendMessageW]
lea r11, [rsp + 0x38]
mov rcx, qword [rsp + 0x80]
cmp rcx, r11
je 0x4d3ee8
cmp rcx, r14
je 0x4d3ee8
mov rdx, qword [rsp + 0x38]
sub rdx, rcx
sar rdx, 1
add rdx, rdx
cmp rdx, r13
jbe 0x4d3ee3
call fcn.006a4944
jmp 0x4d3ee8
call fcn.006a3610
xor r9d, r9d
xor r8d, r8d
mov edx, 0x147
mov rcx, qword [rsi + 0x160]
call qword [sym.imp.USER32.dll_SendMessageW]
cmp eax, 0xffffffff
jne 0x4d4023
mov rax, qword [rsi + 0xa8]
cmp byte [rax + 0x2dfa], r14b
jne 0x4d3f2b
mov rcx, qword [rax + 0x30]
cmp rcx, r14
je 0x4d3f2b
mov edx, ebx
call fcn.004083bc
jmp 0x4d3f31
add rax, 0x98
mov rdx, rax
lea rcx, [rsp + 0x38]
call fcn.00401f00
mov r9, qword [rax + 0x48]
xor r8d, r8d
mov edx, 0x143
mov rcx, qword [rsi + 0x160]
call qword [sym.imp.USER32.dll_SendMessageW]
lea r11, [rsp + 0x38]
mov rcx, qword [rsp + 0x80]
cmp rcx, r11
je 0x4d3f8d
cmp rcx, r14
je 0x4d3f8d
mov rdx, qword [rsp + 0x38]
sub rdx, rcx
sar rdx, 1
add rdx, rdx
cmp rdx, r13
jbe 0x4d3f88
call fcn.006a4944
jmp 0x4d3f8d
call fcn.006a3610
mov rax, qword [rsi + 0xa8]
cmp byte [rax + 0x2dfa], r14b
jne 0x4d3faf
mov rcx, qword [rax + 0x30]
cmp rcx, r14
je 0x4d3faf
mov edx, ebx
call fcn.004083bc
jmp 0x4d3fb5
add rax, 0x98
mov rdx, rax
lea rcx, [rsp + 0x38]
call fcn.00401f00
mov r9, qword [rax + 0x48]
xor r8d, r8d
mov edx, edi
mov rcx, qword [rsi + 0x160]
call qword [sym.imp.USER32.dll_SendMessageW]
movsxd r8, eax
xor r9d, r9d
mov edx, ebp
mov rcx, qword [rsi + 0x160]
call qword [sym.imp.USER32.dll_SendMessageW]
lea r11, [rsp + 0x38]
mov rcx, qword [rsp + 0x80]
cmp rcx, r11
je 0x4d4023
cmp rcx, r14
je 0x4d4023
mov rdx, qword [rsp + 0x38]
sub rdx, rcx
sar rdx, 1
add rdx, rdx
cmp rdx, r13
jbe 0x4d401e
call fcn.006a4944
jmp 0x4d4023
call fcn.006a3610
mov qword [rsi + 0x160], r14
mov rax, r15
lea r11, [rsp + 0x210]
mov rbx, qword [r11 + 0x38]
mov rbp, qword [r11 + 0x40]
mov rsi, qword [r11 + 0x48]
mov rsp, r11
pop r15
pop r14
pop r13
pop r12
pop rdi
ret