Function at 0x42a9f0
Capabilities:
Connect to wmi namespace via wbemlocator
Reference sql statements
Reference wmi statements

Disassembly:
sub esp, 0x34
mov eax, dword [esp + 0x38]
push ebx
push ebp
xor ebp, ebp
cmp eax, ebp
push esi
push edi
mov dword [esp + 0x18], ebp
jl 0x42ade6
cmp eax, 8
jae 0x42ade6
push ebp
call dword [sym.imp.ole32.dll_OleInitialize]
mov esi, eax
push 0x448264
mov dword [esp + 0x24], esi
call dword [sym.imp.KERNEL32.dll_LoadLibraryW]
mov ebx, eax
cmp ebx, ebp
mov dword [esp + 0x1c], ebx
jne 0x42aa56
call dword [sym.imp.ole32.dll_CoUninitialize]
cmp esi, ebp
je 0x42aa43
cmp esi, 1
jne 0x42aa49
call dword [sym.imp.ole32.dll_OleUninitialize]
mov eax, 0xfffffffe
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x34
ret
mov edi, dword [sym.imp.KERNEL32.dll_GetProcAddress]
push 0x448278
push ebx
call edi
push str.CoSetProxyBlanket
push ebx
mov esi, eax
call edi
cmp esi, ebp
mov ebx, eax
je 0x42adb5
cmp ebx, ebp
je 0x42adb5
push ebp
push ebp
push ebp
push 3
push ebp
push ebp
push ebp
push 0xffffffffffffffff
push ebp
call esi
lea eax, [esp + 0x14]
push eax
push 0x445df4
push 1
push ebp
push 0x445ec4
mov dword [esp + 0x28], ebp
call dword [sym.imp.ole32.dll_CoCreateInstance]
test eax, eax
jge 0x42aade
call dword [sym.imp.ole32.dll_CoUninitialize]
mov ecx, dword [esp + 0x1c]
push ecx
call dword [sym.imp.KERNEL32.dll_FreeLibrary]
mov eax, dword [esp + 0x20]
cmp eax, ebp
je 0x42aacb
cmp eax, 1
jne 0x42aad1
call dword [sym.imp.ole32.dll_OleUninitialize]
mov eax, 0xfffffffe
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x34
ret
lea edi, [esp + 0x2c]
mov dword [esp + 0x10], ebp
call fcn.0042a190
mov eax, dword [eax]
cmp eax, ebp
je 0x42aaf5
mov ecx, dword [eax]
jmp 0x42aaf7
xor ecx, ecx
mov eax, dword [esp + 0x14]
mov edx, dword [eax]
lea esi, [esp + 0x10]
push esi
push ebp
push ebp
push ebp
push ebp
push ebp
push ebp
push ecx
push eax
mov eax, dword [edx + 0xc]
call eax
lea edi, [esp + 0x2c]
mov esi, eax
call fcn.0042a230
cmp esi, ebp
jge 0x42ab5b
mov eax, dword [esp + 0x14]
mov ecx, dword [eax]
mov edx, dword [ecx + 8]
push eax
call edx
call dword [sym.imp.ole32.dll_CoUninitialize]
mov eax, dword [esp + 0x1c]
push eax
call dword [sym.imp.KERNEL32.dll_FreeLibrary]
mov eax, dword [esp + 0x20]
cmp eax, ebp
je 0x42ab48
cmp eax, 1
jne 0x42ab4e
call dword [sym.imp.ole32.dll_OleUninitialize]
mov eax, 0xfffffffe
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x34
ret
mov ecx, dword [esp + 0x10]
push ebp
push ebp
push 3
push 3
push ebp
push ebp
push 0xa
push ecx
call ebx
test eax, eax
jge 0x42abb9
mov eax, dword [esp + 0x10]
mov edx, dword [eax]
push eax
mov eax, dword [edx + 8]
call eax
mov eax, dword [esp + 0x14]
mov ecx, dword [eax]
mov edx, dword [ecx + 8]
push eax
call edx
call dword [sym.imp.ole32.dll_CoUninitialize]
mov eax, dword [esp + 0x1c]
push eax
call dword [sym.imp.KERNEL32.dll_FreeLibrary]
mov eax, dword [esp + 0x20]
cmp eax, ebp
je 0x42aba6
cmp eax, 1
jne 0x42abac
call dword [sym.imp.ole32.dll_OleUninitialize]
mov eax, 0xfffffffe
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x34
ret
mov ecx, dword [esp + 0x48]
mov edx, dword [ecx*8 + 0x4481b8]
push edx
lea ebx, [esp + 0x2c]
mov dword [esp + 0x28], ebp
call fcn.0042a100
mov eax, dword [eax]
cmp eax, ebp
je 0x42abdc
mov esi, dword [eax]
jmp 0x42abde
xor esi, esi
push 0x4482bc
lea ebx, [esp + 0x30]
call fcn.0042a100
mov eax, dword [eax]
cmp eax, ebp
je 0x42abf6
mov ecx, dword [eax]
jmp 0x42abf8
xor ecx, ecx
mov eax, dword [esp + 0x10]
mov edx, dword [eax]
lea edi, [esp + 0x24]
push edi
push ebp
push 0x30
push esi
push ecx
push eax
mov eax, dword [edx + 0x50]
call eax
lea edi, [esp + 0x2c]
mov esi, eax
call fcn.0042a230
lea edi, [esp + 0x28]
call fcn.0042a230
cmp esi, ebp
jge 0x42ac6f
mov eax, dword [esp + 0x10]
mov ecx, dword [eax]
mov edx, dword [ecx + 8]
push eax
call edx
mov eax, dword [esp + 0x14]
mov ecx, dword [eax]
mov edx, dword [ecx + 8]
push eax
call edx
call dword [sym.imp.ole32.dll_CoUninitialize]
mov eax, dword [esp + 0x1c]
push eax
call dword [sym.imp.KERNEL32.dll_FreeLibrary]
mov eax, dword [esp + 0x20]
cmp eax, ebp
je 0x42ac5c
cmp eax, 1
jne 0x42ac62
call dword [sym.imp.ole32.dll_OleUninitialize]
mov eax, 0xfffffffd
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x34
ret
mov eax, dword [esp + 0x24]
cmp eax, ebp
je 0x42ad6b
mov esi, dword [esp + 0x4c]
mov edi, esi
jmp 0x42ac87
mov esi, dword [esp + 0x4c]
cmp esi, ebp
mov dword [esp + 0x28], ebp
mov dword [esp + 0x2c], ebp
je 0x42ac9e
cmp dword [esp + 0x18], 0xc
jge 0x42ad6b
mov ecx, dword [eax]
lea edx, [esp + 0x2c]
push edx
lea edx, [esp + 0x2c]
push edx
push 1
push 0xffffffffffffffff
push eax
mov eax, dword [ecx + 0x10]
call eax
cmp dword [esp + 0x2c], ebp
je 0x42ad67
cmp esi, ebp
je 0x42ad42
lea ecx, [esp + 0x30]
push ecx
call dword [sym.imp.OLEAUT32.dll_VariantClear]
mov eax, dword [esp + 0x28]
mov ebx, dword [esp + 0x48]
mov edx, dword [eax]
mov edx, dword [edx + 0x10]
push ebp
push ebp
lea ecx, [esp + 0x38]
push ecx
mov ecx, dword [ebx*8 + 0x4481bc]
push ebp
push ecx
push eax
call edx
mov edx, dword [esp + 0x38]
mov esi, 0x80
mov eax, edi
sub edx, edi
mov edi, edi
lea ecx, [esi + 0x7fffff7e]
test ecx, ecx
je 0x42ad20
movzx ecx, word [edx + eax]
cmp cx, bp
je 0x42ad20
mov word [eax], cx
add eax, 2
sub esi, 1
jne 0x42ad00
jmp 0x42ad24
cmp esi, ebp
jne 0x42ad27
sub eax, 2
lea edx, [esp + 0x30]
push edx
mov word [eax], bp
call dword [sym.imp.OLEAUT32.dll_VariantCopy]
mov eax, edi
mov ecx, ebx
call fcn.0042a900
test eax, eax
je 0x42ad4d
add dword [esp + 0x18], 1
add edi, 0x100
mov eax, dword [esp + 0x28]
mov ecx, dword [eax]
mov edx, dword [ecx + 8]
push eax
call edx
mov eax, dword [esp + 0x24]
cmp eax, ebp
jne 0x42ac83
jmp 0x42ad6b
mov eax, dword [esp + 0x24]
mov ecx, dword [eax]
mov edx, dword [ecx + 8]
push eax
call edx
mov eax, dword [esp + 0x10]
mov ecx, dword [eax]
mov edx, dword [ecx + 8]
push eax
call edx
mov eax, dword [esp + 0x14]
mov ecx, dword [eax]
mov edx, dword [ecx + 8]
push eax
call edx
mov eax, dword [esp + 0x1c]
push eax
call dword [sym.imp.KERNEL32.dll_FreeLibrary]
mov eax, dword [esp + 0x20]
cmp eax, ebp
je 0x42ada3
cmp eax, 1
jne 0x42ada9
call dword [sym.imp.ole32.dll_OleUninitialize]
mov eax, dword [esp + 0x18]
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x34
ret
call dword [sym.imp.ole32.dll_CoUninitialize]
mov ecx, dword [esp + 0x1c]
push ecx
call dword [sym.imp.KERNEL32.dll_FreeLibrary]
mov eax, dword [esp + 0x20]
cmp eax, ebp
je 0x42add3
cmp eax, 1
jne 0x42add9
call dword [sym.imp.ole32.dll_OleUninitialize]
mov eax, 0xfffffffe
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x34
ret
pop edi
pop esi
pop ebp
or eax, 0xffffffff
pop ebx
add esp, 0x34
ret