Function at 0x18011d640
Capabilities:
Check os version

Disassembly:
mov dword [rsp + 0x20], r9d
mov qword [rsp + 0x18], r8
mov dword [rsp + 0x10], edx
mov qword [rsp + 8], rcx
sub rsp, 0x558
mov rax, qword [0x180173200]
xor rax, rsp
mov qword [rsp + 0x540], rax
lea rax, str.Reprise_License_Manager__RLM__v15.2__Copyright__C__2006_2023__Reprise_Software__Inc.
mov qword [rsp + 0x80], rax
lea rax, str.x64_w4
mov qword [rsp + 0x88], rax
mov rax, qword [rsp + 0x80]
mov qword [rsp + 0x50], rax
call fcn.18011e080
mov edx, 0x14d0
xor ecx, ecx
call fcn.18000bb40
mov qword [rsp + 0x30], rax
cmp qword [rsp + 0x30], 0
je 0x18011e050
mov r8d, 0x14d0
xor edx, edx
mov rcx, qword [rsp + 0x30]
call fcn.18012a620
cmp qword [rsp + 0x560], 0
je 0x18011d6eb
mov rcx, qword [rsp + 0x560]
call fcn.1800fb030
cmp rax, 0x800
ja 0x18011d70b
cmp qword [rsp + 0x570], 0
je 0x18011d744
mov rcx, qword [rsp + 0x570]
call fcn.1800fb030
cmp rax, 0x800
jbe 0x18011d744
mov edx, 0x14d0
xor ecx, ecx
call fcn.18000bb40
mov qword [rsp + 0x30], rax
mov rax, qword [rsp + 0x30]
mov dword [rax + 0x228], 0xffffff85
mov rax, qword [rsp + 0x30]
mov dword [rax + 0x244], 0xffffffe0
mov rax, qword [rsp + 0x30]
jmp 0x18011e055
mov rax, qword [rsp + 0x30]
mov rcx, qword [rsp + 0x30]
mov qword [rax], rcx
mov rax, qword [rsp + 0x30]
mov dword [rax + 0x14a4], 0x2c03f
cmp qword [rsp + 0x5b0], 0
je 0x18011da0c
mov rax, qword [rsp + 0x30]
mov rcx, qword [rsp + 0x5b0]
mov ecx, dword [rcx + 0x298]
mov dword [rax + 0x298], ecx
mov rax, qword [rsp + 0x30]
mov rcx, qword [rsp + 0x5b0]
mov ecx, dword [rcx + 0xb60]
mov dword [rax + 0xb60], ecx
mov rax, qword [rsp + 0x30]
mov rcx, qword [rsp + 0x5b0]
mov ecx, dword [rcx + 0xb64]
mov dword [rax + 0xb64], ecx
mov rax, qword [rsp + 0x5b0]
add rax, 0x2a4
mov rcx, qword [rsp + 0x30]
add rcx, 0x2a4
mov rdx, rax
call fcn.1800faf60
mov rax, qword [rsp + 0x30]
mov rcx, qword [rsp + 0x5b0]
mov rcx, qword [rcx + 0x290]
mov qword [rax + 0x290], rcx
mov rax, qword [rsp + 0x30]
mov rcx, qword [rsp + 0x5b0]
mov rcx, qword [rcx + 0x2f0]
mov qword [rax + 0x2f0], rcx
mov rax, qword [rsp + 0x30]
mov rcx, qword [rsp + 0x5b0]
mov rcx, qword [rcx + 0x2f8]
mov qword [rax + 0x2f8], rcx
mov rax, qword [rsp + 0x30]
mov rcx, qword [rsp + 0x5b0]
mov ecx, dword [rcx + 0x10]
mov dword [rax + 0x10], ecx
mov rax, qword [rsp + 0x30]
mov rcx, qword [rsp + 0x5b0]
mov rcx, qword [rcx + 0x14a8]
mov qword [rax + 0x14a8], rcx
mov rax, qword [rsp + 0x30]
mov rcx, qword [rsp + 0x5b0]
mov ecx, dword [rcx + 0xb68]
mov dword [rax + 0xb68], ecx
mov rax, qword [rsp + 0x30]
mov rcx, qword [rsp + 0x5b0]
mov ecx, dword [rcx + 0xb6c]
mov dword [rax + 0xb6c], ecx
mov rax, qword [rsp + 0x30]
mov rcx, qword [rsp + 0x5b0]
mov ecx, dword [rcx + 0xb74]
mov dword [rax + 0xb74], ecx
mov rax, qword [rsp + 0x30]
mov rcx, qword [rsp + 0x5b0]
mov ecx, dword [rcx + 0xb78]
mov dword [rax + 0xb78], ecx
mov rax, qword [rsp + 0x30]
mov rcx, qword [rsp + 0x5b0]
mov ecx, dword [rcx + 0xb7c]
mov dword [rax + 0xb7c], ecx
mov eax, 4
imul rax, rax, 0
mov ecx, 4
imul rcx, rcx, 0
mov rdx, qword [rsp + 0x30]
mov r8, qword [rsp + 0x5b0]
mov eax, dword [r8 + rax + 0x14b4]
mov dword [rdx + rcx + 0x14b4], eax
mov eax, 4
imul rax, rax, 1
mov ecx, 4
imul rcx, rcx, 1
mov rdx, qword [rsp + 0x30]
mov r8, qword [rsp + 0x5b0]
mov eax, dword [r8 + rax + 0x14b4]
mov dword [rdx + rcx + 0x14b4], eax
mov rax, qword [rsp + 0x30]
mov rcx, qword [rsp + 0x5b0]
mov ecx, dword [rcx + 0xb70]
mov dword [rax + 0xb70], ecx
mov rax, qword [rsp + 0x30]
mov rcx, qword [rsp + 0x5b0]
mov ecx, dword [rcx + 0x2e8]
mov dword [rax + 0x2e8], ecx
mov rax, qword [rsp + 0x30]
mov rcx, qword [rsp + 0x5b0]
movzx ecx, byte [rcx + 0x14c9]
mov byte [rax + 0x14c9], cl
mov eax, 1
imul rax, rax, 0
mov rcx, qword [rsp + 0x5b0]
movsx eax, byte [rcx + rax + 0x2d1]
test eax, eax
je 0x18011d9c5
mov rax, qword [rsp + 0x5b0]
add rax, 0x2d1
mov rcx, qword [rsp + 0x30]
add rcx, 0x2d1
mov r8d, 0xa
mov rdx, rax
call fcn.18000c140
mov eax, 1
imul rax, rax, 0
mov rcx, qword [rsp + 0x5b0]
movsx eax, byte [rcx + rax + 0x2dc]
test eax, eax
je 0x18011da0a
mov rax, qword [rsp + 0x5b0]
add rax, 0x2dc
mov rcx, qword [rsp + 0x30]
add rcx, 0x2dc
mov r8d, 0xa
mov rdx, rax
call fcn.18000c140
jmp 0x18011da22
mov rcx, qword [rsp + 0x30]
call fcn.180125b80
mov rax, qword [rsp + 0x30]
mov dword [rax + 0x10], reloc.WS2_32.dll_ntohs
cmp dword [rsp + 0x5c0], 0
je 0x18011da38
mov rax, qword [rsp + 0x30]
mov byte [rax + 0x14c9], 1
mov rax, qword [rsp + 0x30]
cmp qword [rax + 0x14a8], 0
jne 0x18011da5a
mov rax, qword [rsp + 0x30]
lea rcx, str.hostedactivation.com
mov qword [rax + 0x14a8], rcx
mov rax, qword [rsp + 0x30]
mov dword [rax + 0x14], 2
mov rax, qword [rsp + 0x30]
mov dword [rax + 0x18], 1
mov eax, 1
imul rax, rax, 0
mov rcx, qword [rsp + 0x30]
movsx eax, byte [rcx + rax + 0x338]
test eax, eax
jne 0x18011daab
mov rax, qword [rsp + 0x30]
add rax, 0x2a4
mov rcx, qword [rsp + 0x30]
add rcx, 0x338
mov rdx, rax
call fcn.1800faf60
cmp qword [rsp + 0x580], 0
je 0x18011dad1
mov rax, qword [rsp + 0x30]
add rax, 0x2a4
mov rdx, qword [rsp + 0x580]
mov rcx, rax
call fcn.1800faf60
mov rax, qword [rsp + 0x30]
add rax, 0x1c
mov r8d, reloc.WS2_32.dll_sendto
mov rdx, qword [rsp + 0x88]
mov rcx, rax
call fcn.18000c140
call fcn.180021a30
cdq
mov ecx, reloc.WLDAP32.dll_Ordinal_60
idiv ecx
mov rcx, qword [rsp + 0x30]
mov dword [rcx + 0x34], eax
mov rax, qword [rsp + 0x30]
cmp dword [rax + 0x34], 0
jge 0x18011db23
mov rax, qword [rsp + 0x30]
mov eax, dword [rax + 0x34]
add eax, 0x18
mov rcx, qword [rsp + 0x30]
mov dword [rcx + 0x34], eax
mov rax, qword [rsp + 0x30]
mov dword [rax + 0x250], 1
mov r8d, 0x9c
xor edx, edx
lea rcx, [rsp + 0x90]
call fcn.18012a620
mov dword [rsp + 0x90], 0x9c
lea rcx, [rsp + 0x90]
call qword [sym.imp.KERNEL32.dll_GetVersionExA]
mov rax, qword [rsp + 0x30]
add rax, 0x20b
mov r9d, dword [rsp + 0x98]
mov r8d, dword [rsp + 0x94]
lea rdx, str._d._d
mov rcx, rax
call fcn.180005290
mov ecx, 0x1000
call qword [sym.imp.USER32.dll_GetSystemMetrics]
test eax, eax
je 0x18011dbb2
mov rax, qword [rsp + 0x30]
mov eax, dword [rax + 0x224]
or eax, 1
mov rcx, qword [rsp + 0x30]
mov dword [rcx + 0x224], eax
movzx eax, word [rsp + 0x128]
and eax, 0x10
test eax, eax
je 0x18011dbeb
movzx eax, word [rsp + 0x128]
and eax, 0x100
test eax, eax
jne 0x18011dbeb
mov rax, qword [rsp + 0x30]
mov eax, dword [rax + 0x224]
or eax, 4
mov rcx, qword [rsp + 0x30]
mov dword [rcx + 0x224], eax
mov r8, qword [rsp + 0x5b8]
mov rdx, qword [rsp + 0x5a8]
mov rcx, qword [rsp + 0x30]
call fcn.18011e0f0
mov dword [rsp + 0x48], eax
mov rax, qword [rsp + 0x30]
mov dword [rax + 0x10], reloc.WS2_32.dll_ntohs
mov rax, qword [rsp + 0x30]
mov rcx, qword [rsp + 0x560]
mov qword [rax + 0xc08], rcx
mov rax, qword [rsp + 0x30]
mov ecx, dword [rsp + 0x568]
mov dword [rax + 0xc10], ecx
mov rax, qword [rsp + 0x30]
mov rcx, qword [rsp + 0x598]
mov qword [rax + 0xc18], rcx
mov rax, qword [rsp + 0x30]
mov ecx, dword [rsp + 0x5a0]
mov dword [rax + 0xc20], ecx
mov rax, qword [rsp + 0x30]
mov ecx, dword [rsp + 0x590]
mov dword [rax + 0x1438], ecx
mov rax, qword [rsp + 0x30]
mov rcx, qword [rsp + 0x570]
mov qword [rax + 0xc28], rcx
mov rax, qword [rsp + 0x30]
mov ecx, dword [rsp + 0x578]
mov dword [rax + 0x1434], ecx
lea rcx, str.RLM_COMM_TIMEOUT
call fcn.1800fc424
mov qword [rsp + 0x58], rax
cmp qword [rsp + 0x58], 0
je 0x18011dcc9
mov rcx, qword [rsp + 0x58]
call fcn.1800fbf74
mov rcx, qword [rsp + 0x30]
mov dword [rcx + 0x278], eax
jmp 0x18011dcd8
mov rax, qword [rsp + 0x30]
mov dword [rax + 0x278], 0x1388
lea rcx, [0x180174048]
call fcn.1800fc424
mov qword [rsp + 0x60], rax
cmp qword [rsp + 0x60], 0
je 0x18011dd08
mov rcx, qword [rsp + 0x60]
call fcn.1800fbf74
mov rcx, qword [rsp + 0x30]
mov dword [rcx + 0x284], eax
jmp 0x18011dd17
mov rax, qword [rsp + 0x30]
mov dword [rax + 0x284], 0xa
mov rax, qword [rsp + 0x30]
cmp dword [rax + 0x284], 0
jge 0x18011dd4c
mov rax, qword [rsp + 0x30]
mov eax, dword [rax + 0x284]
neg eax
mov rcx, qword [rsp + 0x30]
mov dword [rcx + 0x284], eax
mov rax, qword [rsp + 0x30]
mov dword [rax + 0x288], 1
lea rcx, str.RLM_TCP_LISTEN_BACKLOG
call fcn.1800fc424
mov qword [rsp + 0x68], rax
cmp qword [rsp + 0x68], 0
je 0x18011dd7c
mov rcx, qword [rsp + 0x68]
call fcn.1800fbf74
mov rcx, qword [rsp + 0x30]
mov dword [rcx + 0x2a0], eax
jmp 0x18011dd8b
mov rax, qword [rsp + 0x30]
mov dword [rax + 0x2a0], 5
mov rax, qword [rsp + 0x30]
cmp dword [rax + 0x2a0], 5
jge 0x18011dda8
mov rax, qword [rsp + 0x30]
mov dword [rax + 0x2a0], 5
lea rcx, [0x180174078]
call fcn.1800fc424
test rax, rax
je 0x18011ddc8
mov rax, qword [rsp + 0x30]
mov dword [rax + 0x25c], 1
cmp dword [rsp + 0x588], 0
je 0x18011ddf2
lea rcx, [0x180174088]
call fcn.1800fc424
test rax, rax
je 0x18011ddf2
mov rax, qword [rsp + 0x30]
mov dword [rax + 0x270], 1
lea rcx, [0x1801740a0]
call fcn.1800fc424
test rax, rax
je 0x18011de12
mov rax, qword [rsp + 0x30]
mov dword [rax + 0x258], 1
lea rcx, [0x1801740a8]
call fcn.1800fc424
test rax, rax
je 0x18011de32
mov rax, qword [rsp + 0x30]
mov dword [rax + 0x264], 1
lea rcx, str.LMTRACE
call fcn.1800fc424
mov qword [rsp + 0x50], rax
cmp qword [rsp + 0x50], 0
je 0x18011de77
mov rax, qword [rsp + 0x30]
mov dword [rax + 0x260], 1
lea rdx, [0x180174044]
mov rcx, qword [rsp + 0x50]
call fcn.180021670
mov rcx, qword [rsp + 0x30]
mov qword [rcx + 0x268], rax
lea rcx, str.RLM_LICENSE_PASSWORD
call fcn.1800fc424
mov qword [rsp + 0x38], rax
cmp qword [rsp + 0x38], 0
je 0x18011deae
mov rax, qword [rsp + 0x30]
add rax, 0xc3
mov r8d, reloc.WLDAP32.dll_Ordinal_32
mov rdx, qword [rsp + 0x38]
mov rcx, rax
call fcn.18000c140
lea rcx, str.RLMAUTH
call fcn.1800fc424
mov qword [rsp + 0x38], rax
cmp qword [rsp + 0x38], 0
je 0x18011df5d
mov r8d, 0x400
mov rdx, qword [rsp + 0x38]
lea rcx, [rsp + 0x130]
call fcn.18000c140
lea rax, [rsp + 0x130]
mov qword [rsp + 0x38], rax
mov edx, Ordinal_60
mov rcx, qword [rsp + 0x38]
call fcn.1800ea994
mov qword [rsp + 0x40], rax
cmp qword [rsp + 0x40], 0
je 0x18011df3f
mov rax, qword [rsp + 0x40]
mov byte [rax], 0
mov rax, qword [rsp + 0x40]
inc rax
mov qword [rsp + 0x40], rax
mov rax, qword [rsp + 0x30]
add rax, 0x17d
mov r8d, 0xa
mov rdx, qword [rsp + 0x40]
mov rcx, rax
call fcn.18000c140
mov rax, qword [rsp + 0x30]
add rax, 0x172
mov r8d, 0xa
mov rdx, qword [rsp + 0x38]
mov rcx, rax
call fcn.18000c140
mov rax, qword [rsp + 0x30]
add rax, 0x40
mov edx, reloc.WLDAP32.dll_Ordinal_32
mov rcx, rax
call fcn.180021a80
mov rax, qword [rsp + 0x30]
add rax, 0x61
mov edx, 0x40
mov rcx, rax
call fcn.180021c30
mov rcx, qword [rsp + 0x30]
call fcn.18011f590
mov rcx, qword [rsp + 0x30]
call fcn.18011f5a0
cmp dword [rsp + 0x48], 0
jne 0x18011dfb6
mov rdx, qword [rsp + 0x598]
mov rcx, qword [rsp + 0x30]
call fcn.18011e970
lea rcx, str.RLM_DIAGNOSTICS
call fcn.1800fc424
mov qword [rsp + 0x70], rax
lea rcx, str.RLM_DEBUG
call fcn.1800fc424
mov qword [rsp + 0x78], rax
mov rax, qword [rsp + 0x30]
mov eax, dword [rax + 0x264]
mov dword [rsp + 0x4c], eax
mov rax, qword [rsp + 0x30]
mov dword [rax + 0x264], 1
cmp qword [rsp + 0x70], 0
je 0x18011e02a
mov rax, qword [rsp + 0x598]
mov qword [rsp + 0x20], rax
mov r9, qword [rsp + 0x570]
mov r8, qword [rsp + 0x560]
mov rdx, qword [rsp + 0x70]
mov rcx, qword [rsp + 0x30]
call fcn.18011eda0
cmp qword [rsp + 0x78], 0
je 0x18011e041
mov rdx, qword [rsp + 0x78]
mov rcx, qword [rsp + 0x30]
call fcn.180124ba0
mov rax, qword [rsp + 0x30]
mov ecx, dword [rsp + 0x4c]
mov dword [rax + 0x264], ecx
mov rax, qword [rsp + 0x30]
mov rcx, qword [rsp + 0x540]
xor rcx, rsp
call fcn.1800e95d0
add rsp, 0x558
ret