Function at 0x41cbb6
Capabilities:
Check os version

Disassembly:
sub esp, 0xc0
push ebx
push ebp
push esi
push edi
xor edi, edi
cmp dword [esp + 0xd4], edi
jne 0x41cc5f
cmp dword [0x441ff4], edi
je 0x41d1bc
mov eax, dword [0x441fd4]
mov eax, dword [eax]
cmp eax, 1
je 0x41cbfe
mov ecx, dword [0x441fdc]
cmp dword [ecx], edi
jne 0x41d1bc
cmp eax, 1
jle 0x41d1bc
call dword [sym.imp.WS2_32.dll_WSAGetLastError]
mov esi, eax
call dword [sym.imp.KERNEL32.dll_GetLastError]
cmp dword [0x43c83c], edi
mov ebx, eax
jge 0x41cc20
mov eax, dword [0x441fa0]
mov dword [0x43c83c], eax
call fcn.0041c4b1
test eax, eax
je 0x41cc52
push 1
push dword [0x43c83c]
push 0x1d4
push str.C:_build_rel_sp_8_4_6_2_srcwindowsSHAREDlogapilogapi.cpp
call fcn.0041c4e1
push str.The_kernel_object_is_null__n
call fcn.0041c506
add esp, 0x14
call fcn.0041c4cc
push esi
call dword [sym.imp.WS2_32.dll_WSASetLastError]
push ebx
jmp 0x41d1b6
push 1
lea eax, [esp + 0x2c]
pop ebp
mov dword [esp + 0x1c], edi
push ebp
push eax
mov dword [esp + 0x20], edi
mov dword [esp + 0x1c], edi
call dword [sym.imp.ADVAPI32.dll_InitializeSecurityDescriptor]
test eax, eax
jne 0x41cd07
cmp dword [0x441ff4], edi
je 0x41d1bc
mov eax, dword [0x441fd4]
mov eax, dword [eax]
cmp eax, ebp
je 0x41ccaf
mov ecx, dword [0x441fdc]
cmp dword [ecx], edi
jne 0x41d1bc
cmp eax, ebp
jle 0x41d1bc
call dword [sym.imp.WS2_32.dll_WSAGetLastError]
mov esi, dword [sym.imp.KERNEL32.dll_GetLastError]
mov ebx, eax
call esi
cmp dword [0x43c83c], edi
mov ebp, eax
jge 0x41ccd3
mov eax, dword [0x441fa0]
mov dword [0x43c83c], eax
call fcn.0041c4b1
test eax, eax
je 0x41d1ae
push 1
push dword [0x43c83c]
push 0x1de
push str.C:_build_rel_sp_8_4_6_2_srcwindowsSHAREDlogapilogapi.cpp
call fcn.0041c4e1
add esp, 0x10
call esi
push eax
push str.Initialize_security_descriptor_failed._Error___d__n
jmp 0x41d1a2
push edi
push edi
lea eax, [esp + 0x30]
push ebp
push eax
call dword [sym.imp.ADVAPI32.dll_SetSecurityDescriptorDacl]
test eax, eax
jne 0x41cda2
cmp dword [0x441ff4], edi
je 0x41d1bc
mov eax, dword [0x441fd4]
mov eax, dword [eax]
cmp eax, ebp
je 0x41cd4a
mov ecx, dword [0x441fdc]
cmp dword [ecx], edi
jne 0x41d1bc
cmp eax, ebp
jle 0x41d1bc
call dword [sym.imp.WS2_32.dll_WSAGetLastError]
mov esi, dword [sym.imp.KERNEL32.dll_GetLastError]
mov ebx, eax
call esi
cmp dword [0x43c83c], edi
mov ebp, eax
jge 0x41cd6e
mov eax, dword [0x441fa0]
mov dword [0x43c83c], eax
call fcn.0041c4b1
test eax, eax
je 0x41d1ae
push 1
push dword [0x43c83c]
push 0x1e3
push str.C:_build_rel_sp_8_4_6_2_srcwindowsSHAREDlogapilogapi.cpp
call fcn.0041c4e1
add esp, 0x10
call esi
push eax
push str.Set_security_descriptor_failed._Error___d__n
jmp 0x41d1a2
lea eax, [esp + 0x14]
push eax
lea eax, [esp + 0x20]
push eax
lea eax, [esp + 0x20]
push eax
lea eax, [esp + 0x34]
push eax
call dword [sym.imp.ADVAPI32.dll_GetSecurityDescriptorDacl]
test eax, eax
jne 0x41ce49
cmp dword [0x441ff4], edi
je 0x41d1bc
mov eax, dword [0x441fd4]
mov eax, dword [eax]
cmp eax, ebp
je 0x41cdf1
mov ecx, dword [0x441fdc]
cmp dword [ecx], edi
jne 0x41d1bc
cmp eax, ebp
jle 0x41d1bc
call dword [sym.imp.WS2_32.dll_WSAGetLastError]
mov esi, dword [sym.imp.KERNEL32.dll_GetLastError]
mov ebx, eax
call esi
cmp dword [0x43c83c], edi
mov ebp, eax
jge 0x41ce15
mov eax, dword [0x441fa0]
mov dword [0x43c83c], eax
call fcn.0041c4b1
test eax, eax
je 0x41d1ae
push 1
push dword [0x43c83c]
push 0x1e9
push str.C:_build_rel_sp_8_4_6_2_srcwindowsSHAREDlogapilogapi.cpp
call fcn.0041c4e1
add esp, 0x10
call esi
push eax
push str.Get_security_descriptor_failed._Error___d__n
jmp 0x41d1a2
push edi
push dword [esp + 0x20]
push edi
push edi
push 4
push 6
push dword [esp + 0xec]
call dword [sym.imp.ADVAPI32.dll_SetSecurityInfo]
test eax, eax
je 0x41ceee
cmp dword [0x441ff4], edi
je 0x41d1bc
mov eax, dword [0x441fd4]
mov eax, dword [eax]
cmp eax, ebp
je 0x41ce96
mov ecx, dword [0x441fdc]
cmp dword [ecx], edi
jne 0x41d1bc
cmp eax, ebp
jle 0x41d1bc
call dword [sym.imp.WS2_32.dll_WSAGetLastError]
mov esi, dword [sym.imp.KERNEL32.dll_GetLastError]
mov ebx, eax
call esi
cmp dword [0x43c83c], edi
mov ebp, eax
jge 0x41ceba
mov eax, dword [0x441fa0]
mov dword [0x43c83c], eax
call fcn.0041c4b1
test eax, eax
je 0x41d1ae
push 1
push dword [0x43c83c]
push 0x1ee
push str.C:_build_rel_sp_8_4_6_2_srcwindowsSHAREDlogapilogapi.cpp
call fcn.0041c4e1
add esp, 0x10
call esi
push eax
push str.Set_security_infomation_failed._Error___d__n
jmp 0x41d1a2
mov esi, 0x94
lea eax, [esp + 0x3c]
push esi
push edi
push eax
call sub.MSVCRT.dll_memset
add esp, 0xc
lea eax, [esp + 0x3c]
mov dword [esp + 0x3c], esi
push eax
call dword [sym.imp.KERNEL32.dll_GetVersionExA]
test eax, eax
je 0x41d0ad
cmp dword [esp + 0x4c], 2
jne 0x41d0ad
cmp dword [esp + 0x40], 6
jne 0x41d0ad
cmp dword [esp + 0x44], edi
je 0x41cf3f
cmp dword [esp + 0x44], ebp
jne 0x41d0ad
cmp dword [0x441ff4], edi
mov ebx, dword [sym.imp.WS2_32.dll_WSAGetLastError]
mov esi, dword [sym.imp.KERNEL32.dll_GetLastError]
je 0x41cfd0
mov eax, dword [0x441fd4]
mov eax, dword [eax]
cmp eax, 3
je 0x41cf6e
mov ecx, dword [0x441fdc]
cmp dword [ecx], edi
jne 0x41cfd0
cmp eax, 3
jle 0x41cfd0
call ebx
mov ebp, eax
call esi
cmp dword [0x43c83c], edi
mov dword [esp + 0x24], eax
jge 0x41cf8a
mov eax, dword [0x441fa0]
mov dword [0x43c83c], eax
call fcn.0041c4b1
test eax, eax
je 0x41cfbc
push 3
push dword [0x43c83c]
push 0x207
push str.C:_build_rel_sp_8_4_6_2_srcwindowsSHAREDlogapilogapi.cpp
call fcn.0041c4e1
push str.Set_low_integrity_in_vista__n
call fcn.0041c506
add esp, 0x14
call fcn.0041c4cc
push ebp
call dword [sym.imp.WS2_32.dll_WSASetLastError]
push dword [esp + 0x24]
call dword [sym.imp.KERNEL32.dll_SetLastError]
push 1
pop ebp
lea eax, [esp + 0x10]
push edi
push eax
push ebp
push str.S:_ML__NW___LW_
mov dword [esp + 0x20], edi
mov dword [esp + 0x30], edi
mov dword [esp + 0x28], edi
mov dword [esp + 0x24], edi
call dword [sym.imp.ADVAPI32.dll_ConvertStringSecurityDescriptorToSecurityDescriptorA]
test eax, eax
je 0x41d13c
lea eax, [esp + 0x14]
push eax
lea eax, [esp + 0x24]
push eax
lea eax, [esp + 0x20]
push eax
push dword [esp + 0x1c]
call dword [sym.imp.ADVAPI32.dll_GetSecurityDescriptorSacl]
test eax, eax
je 0x41d0ba
push dword [esp + 0x20]
push edi
push edi
push edi
push 0x10
push 6
push dword [esp + 0xec]
call dword [sym.imp.ADVAPI32.dll_SetSecurityInfo]
push dword [esp + 0x10]
test eax, eax
je 0x41d0a7
call dword [sym.imp.KERNEL32.dll_LocalFree]
cmp dword [0x441ff4], edi
je 0x41d1bc
mov eax, dword [0x441fd4]
mov eax, dword [eax]
cmp eax, ebp
je 0x41d06e
mov ecx, dword [0x441fdc]
cmp dword [ecx], edi
jne 0x41d1bc
cmp eax, ebp
jle 0x41d1bc
call ebx
mov ebx, eax
call esi
cmp dword [0x43c83c], edi
mov ebp, eax
jge 0x41d088
mov eax, dword [0x441fa0]
mov dword [0x43c83c], eax
call fcn.0041c4b1
test eax, eax
je 0x41d1ae
push 1
push dword [0x43c83c]
push 0x214
jmp 0x41ced4
call dword [sym.imp.KERNEL32.dll_LocalFree]
mov eax, ebp
pop edi
pop esi
pop ebp
pop ebx
add esp, 0xc0
ret
push dword [esp + 0x10]
call dword [sym.imp.KERNEL32.dll_LocalFree]
cmp dword [0x441ff4], edi
je 0x41d1bc
mov eax, dword [0x441fd4]
mov eax, dword [eax]
cmp eax, ebp
je 0x41d0f1
mov ecx, dword [0x441fdc]
cmp dword [ecx], edi
jne 0x41d1bc
cmp eax, ebp
jle 0x41d1bc
call ebx
mov ebx, eax
call esi
cmp dword [0x43c83c], edi
mov ebp, eax
jge 0x41d10b
mov eax, dword [0x441fa0]
mov dword [0x43c83c], eax
call fcn.0041c4b1
test eax, eax
je 0x41d1ae
push 1
push dword [0x43c83c]
push 0x21b
push str.C:_build_rel_sp_8_4_6_2_srcwindowsSHAREDlogapilogapi.cpp
call fcn.0041c4e1
add esp, 0x10
call esi
push eax
push str.Get_security_sacl_failed._Error___d__n
jmp 0x41d1a2
cmp dword [0x441ff4], edi
je 0x41d1bc
mov eax, dword [0x441fd4]
mov eax, dword [eax]
cmp eax, ebp
je 0x41d15d
mov ecx, dword [0x441fdc]
cmp dword [ecx], edi
jne 0x41d1bc
cmp eax, ebp
jle 0x41d1bc
call ebx
mov ebx, eax
call esi
cmp dword [0x43c83c], edi
mov ebp, eax
jge 0x41d177
mov eax, dword [0x441fa0]
mov dword [0x43c83c], eax
call fcn.0041c4b1
test eax, eax
je 0x41d1ae
push 1
push dword [0x43c83c]
push 0x222
push str.C:_build_rel_sp_8_4_6_2_srcwindowsSHAREDlogapilogapi.cpp
call fcn.0041c4e1
add esp, 0x10
call esi
push eax
push str.Convert_string_to_security_descriptor_failed._Error___d__n
call fcn.0041c506
pop ecx
pop ecx
call fcn.0041c4cc
push ebx
call dword [sym.imp.WS2_32.dll_WSASetLastError]
push ebp
call dword [sym.imp.KERNEL32.dll_SetLastError]
xor eax, eax
jmp 0x41d0af