Function at 0x4339d0
Capabilities:
Connect to wmi namespace via wbemlocator
Encode data using xor
Resolve function by parsing pe exports

Disassembly:
push ebp
mov ebp, esp
push ebx
push edi
push esi
and esp, 0xfffffff8
sub esp, 0x98
mov edi, dword [ebp + 8]
mov eax, dword [0x444850]
mov dword [esp + 0x18], 0x702c7e18
mov dword [esp + 0x1c], 0x74c072f8
mov dword [esp + 0x20], 0x48d276c1
mov dword [esp + 0x24], 0x4c0f4af4
mov dword [esp + 0x28], 0x40f64eff
mov dword [esp + 0x2c], 0x44e642f7
mov dword [esp + 0x30], 0x58474620
mov ecx, 0x501a01d5
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
movzx edx, byte [esp + ecx - 0x501a01bd]
xor edx, ecx
add edx, 0x7f2ff157
mov esi, edx
and esi, 1
xor edx, 1
lea edx, [edx + esi*2]
mov byte [esp + ecx - 0x501a01bd], dl
inc ecx
cmp ecx, 0x501a01f1
jne 0x433a30
lea ecx, [esp + 8]
lea esi, [esp + 0x84]
lea ebx, [esp + 0x18]
push ecx
push 8
push esi
push 0xd
push ebx
push 0
call eax
test eax, eax
jns 0x433a84
mov dword [esp + 0x84], 0x3a0043
mov dword [esp + 0x88], 0x5c
mov dword [esp + 0x14], 0x12986092
mov dword [esp + 0x10], 0xa8aa27cd
mov dword [esp + 0xc], 0x2c7d8ea
mov dword [esp + 8], 0x6679dc1d
mov dword [esp + 0x50], 0
lea eax, [esp + 0x50]
push eax
push 0x43b678
push 1
push 0
push 0x43b688
call dword [sym.imp.ole32.dll_CoCreateInstance]
test eax, eax
js 0x433ebe
mov dword [esp + 0x18], 0x93dd91c2
mov dword [esp + 0x1c], 0x97c295db
mov dword [esp + 0x20], 0x9bd999c4
mov dword [esp + 0x24], 0x9fd39dd5
mov dword [esp + 0x28], 0xa390a1f6
mov word [esp + 0x2c], 0xa5a4
mov eax, 0x51cd8fef
mov ecx, ebx
nop
nop
movzx esi, byte [ecx]
mov edx, eax
or edx, esi
lea ebx, [eax - 0x51cd8f00]
and ebx, esi
not edx
or edx, ebx
add edx, 0x8e6c7f7f
mov esi, edx
and esi, 1
xor edx, 1
lea edx, [edx + esi*2]
mov byte [ecx], dl
inc ecx
dec eax
cmp eax, 0x51cd8fd9
jne 0x433b10
lea eax, [esp + 0x18]
push eax
call dword [sym.imp.OLEAUT32.dll_SysReAllocString]
mov esi, eax
mov eax, dword [esp + 0x50]
mov ecx, dword [eax]
lea edx, [esp + 0x4c]
push edx
push 0
push 0
push 0
push 0
push 0
push 0
push esi
push eax
call dword [ecx + 0xc]
test eax, eax
js 0x433ea2
push 0
push 0
push 3
push 3
push 0
push 0
push 0xa
push dword [esp + 0x68]
call dword [sym.imp.ole32.dll_CoSetProxyBlanket]
test eax, eax
js 0x433e98
mov dword [esp + 0x68], esi
mov dword [esp + 0x18], 0xcc9aca9e
mov dword [esp + 0x1c], 0xc0cfce91
mov edx, 0xc1
nop
nop
nop
nop
nop
nop
nop
movzx esi, byte [esp + edx - 0xa9]
mov ebx, esi
and ebx, edx
mov eax, ebx
or al, 0xfd
inc al
mov ecx, ebx
and cl, 0xcd
mul cl
mov ecx, eax
mov eax, esi
add cl, al
mov eax, ebx
shr al, 1
and al, 1
or bl, 2
mul bl
add al, al
sub cl, al
movzx eax, cl
add eax, edx
add al, 0xf8
mov byte [esp + edx - 0xa9], al
inc edx
cmp edx, 0xc9
jne 0x433bb0
lea eax, [esp + 0x18]
push eax
call dword [sym.imp.OLEAUT32.dll_SysReAllocString]
mov dword [esp + 0x54], eax
mov dword [esp + 0x18], 0x81459f2d
mov dword [esp + 0x1c], 0x8541834e
mov dword [esp + 0x20], 0x893c8745
mov dword [esp + 0x24], 0x8d668b6a
mov dword [esp + 0x28], 0x71b68f6e
mov dword [esp + 0x2c], 0x75bb73c0
mov dword [esp + 0x30], 0x799877bb
mov dword [esp + 0x34], 0x7dd57bcd
mov dword [esp + 0x38], 0x61b37fd0
mov dword [esp + 0x3c], 0x65db63b0
mov dword [esp + 0x40], 0x69a167a4
mov dword [esp + 0x44], 0x6ddf6ba5
mov word [esp + 0x48], 0x6f6e
xor eax, eax
nop
nop
nop
movzx ecx, byte [esp + eax + 0x18]
lea edx, [eax - 0x5c247b12]
xor edx, ecx
mov ebx, edx
mov ecx, edx
xor ecx, 0x8f
add ecx, edx
and edx, 0x8f
and ebx, 0x70
sub ecx, ebx
add ecx, edx
inc cl
mov byte [esp + eax + 0x18], cl
mov ecx, eax
and ecx, 1
xor eax, 1
lea eax, [eax + ecx*2]
cmp eax, 0x32
jb 0x433c70
lea eax, [esp + 0x18]
push eax
call dword [sym.imp.OLEAUT32.dll_SysReAllocString]
mov ebx, dword [esp + 0x4c]
mov ecx, dword [ebx]
lea edx, [esp + 0x60]
push edx
push 0
push 0x30
mov dword [esp + 0x78], eax
push eax
push dword [esp + 0x64]
push ebx
call dword [ecx + 0x50]
test eax, eax
mov esi, dword [esp + 0x68]
js 0x433e86
mov dword [esp + 0x58], 0
mov eax, dword [esp + 0x60]
mov ecx, dword [eax]
lea edx, [esp + 0x58]
lea ebx, [esp + 0x5c]
push edx
push ebx
push 1
push 0xffffffffffffffff
push eax
call dword [ecx + 0x10]
test eax, eax
js 0x433e7c
cmp eax, 1
je 0x433e7c
cmp dword [esp + 0x58], 0
je 0x433e7c
lea eax, [esp + 0x70]
push eax
call dword [sym.imp.OLEAUT32.dll_VariantClear]
mov eax, dword [esp + 0x5c]
mov dword [esp + 4], eax
mov dword [esp + 0x18], 0x4feb4d9f
mov dword [esp + 0x1c], 0x53fb51e2
mov dword [esp + 0x20], 0x57fa55f5
mov dword [esp + 0x24], 0x5bef5996
mov dword [esp + 0x28], 0x5ffc5df1
mov dword [esp + 0x2c], 0x23902185
mov word [esp + 0x30], 0x2524
mov ecx, 0x2c
mov edx, 0xd3
nop
movzx eax, byte [esp + ecx - 0x14]
mov ebx, edx
xor ebx, ecx
and ebx, eax
xor ebx, ecx
add bl, 0xa0
mov byte [esp + ecx - 0x14], bl
inc ecx
dec edx
cmp ecx, 0x46
jne 0x433d70
mov edx, dword [esp + 4]
mov eax, dword [edx]
push 0
push 0
lea ebx, [esp + 0x78]
push ebx
push 0
lea ecx, [esp + 0x28]
push ecx
push edx
call dword [eax + 0x10]
test eax, eax
js 0x433e6b
cmp word [esp + 0x70], 8
jne 0x433e6b
mov eax, dword [esp + 0x78]
movzx ecx, word [eax]
test cx, cx
mov dword [esp + 4], eax
je 0x433dfd
add eax, 2
xor ebx, ebx
jmp 0x433ddc
inc ebx
movzx ecx, word [eax]
add eax, 2
test cx, cx
je 0x433dff
cmp cx, 0x7f
jbe 0x433dd0
movzx edx, cx
cmp edx, 0x7ff
ja 0x433df2
add ebx, 2
jmp 0x433dd1
cmp cx, 0xffff
je 0x433dd1
add ebx, 3
jmp 0x433dd1
xor ebx, ebx
lea eax, [ebx + 1]
mov dword [esp + 0x64], eax
push eax
call fcn.00408330
add esp, 4
push dword [esp + 4]
push dword [esp + 0x68]
mov dword [esp + 0xc], eax
push eax
call fcn.00409110
add esp, 0xc
mov eax, 3
sub eax, ebx
cmp eax, 0xfffffffd
jae 0x433e35
mov eax, 0xfffffffc
add eax, ebx
shr eax, 2
cmp eax, 3
jb 0x433e44
mov eax, 3
lea eax, [eax*4 + 4]
push eax
mov ebx, dword [esp + 8]
push ebx
lea eax, [esp + 0x10]
push eax
call fcn.00408360
add esp, 0xc
push ebx
call fcn.00408340
add esp, 4
lea ebx, [esp + 0x70]
push ebx
call dword [sym.imp.OLEAUT32.dll_VariantCopy]
mov eax, dword [esp + 0x5c]
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov eax, dword [esp + 0x60]
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov ebx, dword [sym.imp.OLEAUT32.dll_SysStringLen]
push dword [esp + 0x54]
call ebx
push dword [esp + 0x6c]
call ebx
mov eax, dword [esp + 0x4c]
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
push esi
call dword [sym.imp.OLEAUT32.dll_SysStringLen]
mov eax, dword [esp + 0x50]
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
lea esi, [esp + 0x84]
lea ebx, [esp + 0x18]
push 0xb65c016e
push dword [0x443848]
call fcn.00438620
add esp, 8
push 0
push 0
push 0
push 0
push ebx
push 0
push 0
push esi
call eax
test eax, eax
je 0x433eed
mov eax, dword [esp + 0x18]
mov dword [esp + 8], eax
mov eax, dword [esp + 8]
mov ecx, eax
and ecx, 0x1a5845
mov edx, eax
or eax, 0x1a5845
imul eax, ecx
xor ecx, 0x1a5845
and edx, 0xffe5a7ba
imul edx, ecx
add eax, edx
add eax, 0xebde8a13
mov dword [esp + 8], eax
mov esi, 0xfffffff7
push 0x10
push 9
push edi
push eax
call fcn.0041b640
add esp, 0x10
cmp byte [eax + esi + 9], 0
lea esi, [esi + 1]
jne 0x433f30
test esi, esi
je 0x433f4e
add eax, esi
neg esi
push esi
push 0x30
push eax
call fcn.004083b0
add esp, 0xc
xor eax, eax
cmp dword [esp + 0xc], 0
setne al
mov eax, dword [esp + eax*4 + 8]
mov ecx, eax
and ecx, 0x1a5845
mov edx, eax
or eax, 0x1a5845
imul eax, ecx
xor ecx, 0x1a5845
and edx, 0xffe5a7ba
imul edx, ecx
add eax, edx
add eax, 0xebde8a13
lea ecx, [edi + 8]
mov dword [esp + 0xc], eax
mov esi, 0xfffffff7
push 0x10
push 9
push ecx
push eax
call fcn.0041b640
add esp, 0x10
nop
nop
cmp byte [eax + esi + 9], 0
lea esi, [esi + 1]
jne 0x433fa0
test esi, esi
je 0x433fbe
add eax, esi
neg esi
push esi
push 0x30
push eax
call fcn.004083b0
add esp, 0xc
xor eax, eax
cmp dword [esp + 0x10], 0
setne al
mov eax, dword [esp + eax*4 + 0xc]
mov ecx, eax
and ecx, 0x1a5845
mov edx, eax
or eax, 0x1a5845
imul eax, ecx
xor ecx, 0x1a5845
and edx, 0xffe5a7ba
imul edx, ecx
add eax, edx
add eax, 0xebde8a13
lea ecx, [edi + 0x10]
mov dword [esp + 0x10], eax
mov esi, 0xfffffff7
push 0x10
push 9
push ecx
push eax
call fcn.0041b640
add esp, 0x10
nop
nop
cmp byte [eax + esi + 9], 0
lea esi, [esi + 1]
jne 0x434010
test esi, esi
je 0x43402e
add eax, esi
neg esi
push esi
push 0x30
push eax
call fcn.004083b0
add esp, 0xc
add edi, 0x18
xor eax, eax
cmp dword [esp + 0x14], 0
setne al
mov eax, dword [esp + eax*4 + 0x10]
mov ecx, eax
and ecx, 0x1a5845
mov edx, eax
or eax, 0x1a5845
imul eax, ecx
xor ecx, 0x1a5845
and edx, 0xffe5a7ba
imul edx, ecx
add eax, edx
add eax, 0xebde8a13
mov dword [esp + 0x14], eax
mov esi, 0xfffffff7
push 0x10
push 9
push edi
push eax
call fcn.0041b640
add esp, 0x10
nop
nop
cmp byte [eax + esi + 9], 0
lea esi, [esi + 1]
jne 0x434080
test esi, esi
je 0x43409e
add eax, esi
neg esi
push esi
push 0x30
push eax
call fcn.004083b0
add esp, 0xc
lea esp, [ebp - 0xc]
pop esi
pop edi
pop ebx
pop ebp
ret