Function at 0x47c160
Capabilities:
Connect to wmi namespace via wbemlocator

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x24
push esi
mov esi, dword [ebp + 8]
mov dword [ebp - 4], 0
mov dword [ebp - 0x20], 0
test esi, esi
jne 0x47c197
push str.nameSpace
push str.WMI_ConnectToWMI:__s_failed_n
push 1
call fcn.00446b80
add esp, 0xc
xor al, al
pop esi
mov esp, ebp
pop ebp
ret
push edi
mov edi, dword [ebp + 0xc]
test edi, edi
jne 0x47c1bb
push str.servicesResult
push str.WMI_ConnectToWMI:__s_failed_n
push 1
call fcn.00446b80
add esp, 0xc
xor al, al
pop edi
pop esi
mov esp, ebp
pop ebp
ret
push ebx
lea eax, [ebp - 4]
mov dword [edi], 0
push eax
push 0x4e1288
push 1
push 0
push 0x4e12a8
call dword [sym.imp.ole32.dll_CoCreateInstance]
mov ebx, eax
test ebx, ebx
jns 0x47c203
lfence
call dword [sym.imp.KERNEL32.dll_GetLastError]
push eax
push ebx
push str.WMI_ConnectToWMI:_Could_not_create_namespace_locator:_0x_08x_0x_08x
push 1
call fcn.00446b80
add esp, 0x10
xor al, al
pop ebx
pop edi
pop esi
mov esp, ebp
pop ebp
ret
push str.WMI_ConnectToWMI:_created_namespace_locator
push 0x10
call fcn.00446b80
add esp, 8
push esi
call dword [sym.imp.OLEAUT32.dll_SysReAllocString]
mov ebx, eax
mov dword [ebp - 0x24], ebx
test ebx, ebx
jne 0x47c24d
push str.WMI_ConnectToWMI:_Failed_to_allocate_string_for_namespace
push 1
call fcn.00446b80
mov eax, dword [ebp - 4]
add esp, 8
mov ecx, dword [eax]
push eax
mov esi, dword [ecx + 8]
mov ecx, esi
call dword [0x499490]
call esi
pop ebx
pop edi
xor al, al
pop esi
mov esp, ebp
pop ebp
ret
push str.WMI_ConnectToWMI:_Connecting_to_WMI_server
push 0x20
call fcn.00446b80
mov eax, dword [ebp - 4]
lea ecx, [ebp - 0x20]
add esp, 8
mov esi, dword [eax]
push ecx
push 0
push 0
mov esi, dword [esi + 0xc]
mov ecx, esi
push 0x80
push 0
push 0
push 0
push ebx
push eax
call dword [0x499490]
call esi
push dword [ebp - 0x24]
mov ebx, eax
call dword [sym.imp.OLEAUT32.dll_SysStringLen]
mov ecx, dword [ebp - 4]
push ecx
mov edx, dword [ecx]
mov esi, dword [edx + 8]
mov ecx, esi
call dword [0x499490]
call esi
mov dword [ebp - 4], 0
test ebx, ebx
jns 0x47c2ef
call dword [sym.imp.KERNEL32.dll_GetLastError]
cmp ebx, 0x8004100e
jne 0x47c2d2
push str.WMI_ConnectToWMI:_Failed_to_connect_since_namespace_doesnt_exist
push 4
call fcn.00446b80
add esp, 8
xor al, al
pop ebx
pop edi
pop esi
mov esp, ebp
pop ebp
ret
push eax
push ebx
push str.WMI_ConnectToWMI:_Failed_to_connect_to_namespace_server:_0x_08x_0x_08x
push 1
lfence
call fcn.00446b80
add esp, 0x10
xor al, al
pop ebx
pop edi
pop esi
mov esp, ebp
pop ebp
ret
push str.WMI_ConnectToWMI:_Connected_to_WMI_server
push 0x20
call fcn.00446b80
mov esi, dword [ebp - 0x20]
add esp, 8
mov dword [ebp - 0x1c], 0
mov dword [ebp - 0x18], 0
mov dword [ebp - 8], 0
mov dword [ebp - 0xc], 0
mov dword [ebp - 0x10], 0
mov dword [ebp - 0x14], 0
test esi, esi
jne 0x47c33b
push str.AdjustSecurity:_invalid_parameter
push 1
jmp 0x47c45a
lea eax, [ebp - 0x14]
push eax
lea eax, [ebp - 0x24]
push eax
lea eax, [ebp - 0x10]
push eax
lea eax, [ebp - 0xc]
push eax
lea eax, [ebp - 8]
push eax
lea eax, [ebp - 0x18]
push eax
lea eax, [ebp - 0x1c]
push eax
push esi
call dword [sym.imp.ole32.dll_CoQueryProxyBlanket]
mov ebx, eax
lfence
test ebx, ebx
jns 0x47c395
call dword [sym.imp.KERNEL32.dll_GetLastError]
push eax
push ebx
push str.AdjustSecurity:_security_query_failed:_0x_08x_0x_08x
push 1
call fcn.00446b80
add esp, 0x10
push dword [ebp - 8]
call dword [sym.imp.ole32.dll_CoTaskMemFree]
mov eax, dword [ebp - 0x20]
pop ebx
mov dword [edi], eax
mov al, 1
pop edi
pop esi
mov esp, ebp
pop ebp
ret
push str.AdjustSecurity:_security_query_success
push 0x20
call fcn.00446b80
push dword [ebp - 0x18]
push dword [ebp - 0x1c]
push str.AdjustSecurity:_authn_0x_08x_authz_0x_08x
push 0x20
call fcn.00446b80
mov eax, dword [ebp - 8]
mov ecx, str._none_
test eax, eax
cmovne ecx, eax
push ecx
push str.AdjustSecurity:_servername__S
push 0x20
call fcn.00446b80
push dword [ebp - 0x10]
push dword [ebp - 0xc]
push str.AdjustSecurity:_authLev_0x_08x_imp_0x_08x
push 0x20
call fcn.00446b80
push dword [ebp - 0x14]
push dword [ebp - 0x24]
push str.AdjustSecurity:_authInfo_0x_08x_capabilities_0x_08x
push 0x20
call fcn.00446b80
add esp, 0x44
mov dword [ebp - 0xc], 3
mov dword [ebp - 0x10], 3
push dword [ebp - 0x14]
push dword [ebp - 0x24]
push 3
push 3
push dword [ebp - 8]
push dword [ebp - 0x18]
push dword [ebp - 0x1c]
push esi
call dword [sym.imp.ole32.dll_CoSetProxyBlanket]
push dword [ebp - 8]
mov esi, eax
call dword [sym.imp.ole32.dll_CoTaskMemFree]
test esi, esi
jns 0x47c453
lfence
call dword [sym.imp.KERNEL32.dll_GetLastError]
push eax
push esi
push str.AdjustSecurity:_security_set_2_failed:_0x_08x_0x_08x
push 1
call fcn.00446b80
mov eax, dword [ebp - 0x20]
add esp, 0x10
mov dword [edi], eax
mov al, 1
pop ebx
pop edi
pop esi
mov esp, ebp
pop ebp
ret
push str.AdjustSecurity:_security_set_2_success
push 0x10
call fcn.00446b80
mov eax, dword [ebp - 0x20]
add esp, 8
mov dword [edi], eax
mov al, 1
pop ebx
pop edi
pop esi
mov esp, ebp
pop ebp
ret