Function at 0x43a520
Capabilities:
Connect to wmi namespace via wbemlocator
Encode data using xor
Get http document via iwebbrowser2

Disassembly:
push ebp
mov ebp, esp
push ebx
push edi
push esi
and esp, 0xfffffff8
sub esp, 0x90
mov edi, dword [ebp + 8]
mov eax, dword [0x44de28]
mov dword [esp + 0x10], 0x15b072b
mov dword [esp + 0x14], 0xd7f037b
mov dword [esp + 0x18], 0x9610f70
mov dword [esp + 0x1c], 0x15460b7f
mov dword [esp + 0x20], 0x117d1766
mov dword [esp + 0x24], 0x1d7d136e
mov dword [esp + 0x28], 0x191e1f33
mov word [esp + 0x2c], 0
xor ecx, ecx
nop
nop
nop
nop
nop
nop
nop
nop
movzx edx, byte [esp + ecx + 0x10]
lea esi, [ecx - 0x7732547f]
and esi, edx
add esi, esi
neg esi
lea ebx, [ecx + esi]
add ebx, 0x88cdab81
add bl, dl
add bl, 0x7b
mov byte [esp + ecx + 0x10], bl
mov edx, ecx
and edx, 0xd
or ecx, 0x754cc4d
mov ebx, 0x7e
sub ebx, edx
sub ebx, ecx
add ecx, edx
inc ecx
and ebx, 0x4d
and ecx, 0xb2
sub ecx, ebx
cmp ecx, 0x1e
jb 0x43a580
mov ebx, esp
lea ecx, [esp + 0x7c]
lea esi, [esp + 0x10]
push ebx
push 8
push ecx
push 0xd
push esi
push 0
call eax
test eax, eax
jns 0x43a5eb
mov dword [esp + 0x7c], 0x3a0043
mov dword [esp + 0x80], 0x5c
mov dword [esp + 0xc], 0xcea6c540
mov dword [esp + 8], 0xce3ecb81
mov dword [esp + 4], 0x355f6d19
mov dword [esp], 0x5d96b3d0
mov dword [esp + 0x4c], 0
lea eax, [esp + 0x4c]
push eax
push 0x444668
push 1
push 0
push 0x444678
call dword [sym.imp.ole32.dll_CoCreateInstance]
test eax, eax
js 0x43aa73
mov dword [esp + 0x10], 0x89db8b22
mov dword [esp + 0x14], 0x852a87d9
mov dword [esp + 0x18], 0x81df8320
mov dword [esp + 0x1c], 0x9dcd9fd7
mov dword [esp + 0x20], 0x99d49b36
mov word [esp + 0x24], 0x9798
mov dword [esp + 0x26], 0
mov byte [esp + 0x2a], 0
xor ebx, ebx
xor ecx, ecx
nop
nop
movzx edx, byte [esp + ecx + 0x10]
mov esi, ecx
xor esi, 0x89bc8cdd
mov eax, ebx
and eax, 4
sub eax, esi
xor eax, edx
mov edx, eax
and edx, 1
xor eax, 1
lea eax, [eax + edx*2]
add al, 0x50
mov byte [esp + ecx + 0x10], al
inc ecx
add ebx, 2
cmp ecx, 0x1b
jne 0x43a680
lea eax, [esp + 0x10]
push eax
call dword [sym.imp.OLEAUT32.dll_SysReAllocString]
mov esi, dword [esp + 0x4c]
mov ecx, dword [esi]
lea edx, [esp + 0x48]
push edx
push 0
push 0
push 0
push 0
push 0
push 0
mov dword [esp + 0x80], eax
push eax
push esi
call dword [ecx + 0xc]
test eax, eax
mov ebx, esp
lea esi, [esp + 0x10]
js 0x43aa5f
push 0
push 0
push 3
push 3
push 0
push 0
push 0xa
push dword [esp + 0x64]
call dword [sym.imp.ole32.dll_CoSetProxyBlanket]
test eax, eax
js 0x43aa55
mov dword [esp + 0x10], 0x89258b25
mov dword [esp + 0x14], 0x8586875c
mov byte [esp + 0x18], 0
mov eax, 0x60c24ee3
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
movzx ecx, byte [esp + eax - 0x60c24ed3]
xor ecx, eax
mov edx, ecx
not edx
or edx, 0x1c347590
add edx, ecx
inc edx
mov esi, ecx
xor esi, 0x1c347590
add esi, ecx
and ecx, 0x60c20a6f
sub esi, ecx
mov ecx, esi
and ecx, edx
xor esi, edx
lea ecx, [esi + ecx*2]
inc cl
mov byte [esp + eax - 0x60c24ed3], cl
inc eax
cmp eax, 0x60c24eec
jne 0x43a730
lea eax, [esp + 0x10]
push eax
call dword [sym.imp.OLEAUT32.dll_SysReAllocString]
mov dword [esp + 0x50], eax
mov dword [esp + 0x10], 0xd901db11
mov dword [esp + 0x14], 0xdd05df04
mov dword [esp + 0x18], 0xd106d319
mov dword [esp + 0x1c], 0xd528d730
mov dword [esp + 0x20], 0xa970ab34
mov dword [esp + 0x24], 0xad7faf7e
mov dword [esp + 0x28], 0xa142a37f
mov dword [esp + 0x2c], 0xa519a709
mov dword [esp + 0x30], 0xb94fbb16
mov dword [esp + 0x34], 0xbd1fbf4e
mov dword [esp + 0x38], 0xb16db37a
mov dword [esp + 0x3c], 0xb563b761
mov dword [esp + 0x40], 0x8bb4
xor eax, eax
nop
nop
nop
nop
movzx edx, byte [esp + eax + 0x10]
lea ecx, [eax - 0x45b126d1]
xor ecx, edx
mov edx, ecx
not edx
and edx, 0xec
and ecx, 0x13
sub ecx, edx
inc cl
mov byte [esp + eax + 0x10], cl
mov ecx, eax
xor ecx, 0x708bdb6f
and eax, 0x2f
lea eax, [ecx + eax*2]
add eax, 0x8f742492
cmp eax, 0x34
jb 0x43a7f0
lea eax, [esp + 0x10]
push eax
call dword [sym.imp.OLEAUT32.dll_SysReAllocString]
mov esi, dword [esp + 0x48]
mov ecx, dword [esi]
lea edx, [esp + 0x5c]
push edx
push 0
push 0x30
mov dword [esp + 0x6c], eax
push eax
push dword [esp + 0x60]
push esi
call dword [ecx + 0x50]
test eax, eax
js 0x43aa3f
mov dword [esp + 0x54], 0
mov eax, dword [esp + 0x5c]
mov ecx, dword [eax]
lea edx, [esp + 0x54]
lea esi, [esp + 0x58]
push edx
push esi
push 1
push 0xffffffffffffffff
push eax
call dword [ecx + 0x10]
test eax, eax
js 0x43aa35
cmp eax, 1
je 0x43aa35
cmp dword [esp + 0x54], 0
je 0x43aa35
lea eax, [esp + 0x68]
push eax
call dword [sym.imp.OLEAUT32.dll_VariantClear]
mov eax, dword [esp + 0x58]
mov dword [esp + 0x10], 0x1e907d9
mov dword [esp + 0x14], 0xde903f2
mov dword [esp + 0x18], 0x9fa0fef
mov dword [esp + 0x1c], 0x15f50bde
mov dword [esp + 0x20], 0x11f417e3
mov dword [esp + 0x24], 0x1de013ff
mov dword [esp + 0x28], 0x1f1c
mov ecx, 0xc96b16c1
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
movzx edx, byte [esp + ecx + 0x3694e94f]
xor edx, ecx
mov esi, edx
xor esi, 0x46ea2ef4
and edx, 0x901100b
add edx, edx
sub edx, esi
lea esi, [edx + edx]
and esi, 2
mov ebx, 1
sub ebx, edx
and edx, 0xf2feeffe
and ebx, 1
add ebx, edx
add ebx, 0x57d2bd2e
add edx, 0x57d2bd2e
and edx, esi
xor ebx, esi
lea edx, [ebx + edx*2]
mov byte [esp + ecx + 0x3694e94f], dl
inc ecx
cmp ecx, 0xc96b16dd
jne 0x43a8f0
mov ecx, dword [eax]
push 0
push 0
lea esi, [esp + 0x70]
push esi
push 0
lea edx, [esp + 0x20]
push edx
push eax
call dword [ecx + 0x10]
test eax, eax
mov ebx, esp
js 0x43aa24
cmp word [esp + 0x68], 8
jne 0x43aa24
mov eax, dword [esp + 0x70]
movzx ecx, word [eax]
test cx, cx
mov dword [esp + 0x44], eax
je 0x43a9bd
add eax, 2
xor esi, esi
jmp 0x43a99c
inc esi
movzx ecx, word [eax]
add eax, 2
test cx, cx
je 0x43a9bf
cmp cx, 0x7f
jbe 0x43a990
movzx edx, cx
cmp edx, 0x7ff
ja 0x43a9b2
add esi, 2
jmp 0x43a991
cmp cx, 0xffff
je 0x43a991
add esi, 3
jmp 0x43a991
xor esi, esi
lea ebx, [esi + 1]
push ebx
call fcn.004087e0
add esp, 4
push dword [esp + 0x44]
push ebx
mov dword [esp + 0x4c], eax
push eax
call fcn.00427bc0
add esp, 0xc
mov eax, 3
sub eax, esi
cmp eax, 0xfffffffd
jae 0x43a9ee
mov eax, 0xfffffffc
add eax, esi
shr eax, 2
cmp eax, 3
mov ebx, esp
jb 0x43a9ff
mov eax, 3
lea eax, [eax*4 + 4]
mov ecx, esp
push eax
mov esi, dword [esp + 0x48]
push esi
push ecx
call fcn.00408810
add esp, 0xc
push esi
call fcn.004087f0
add esp, 4
lea esi, [esp + 0x68]
push esi
call dword [sym.imp.OLEAUT32.dll_VariantCopy]
mov eax, dword [esp + 0x58]
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov eax, dword [esp + 0x5c]
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov esi, dword [sym.imp.OLEAUT32.dll_SysStringLen]
push dword [esp + 0x50]
call esi
push dword [esp + 0x60]
call esi
lea esi, [esp + 0x10]
mov eax, dword [esp + 0x48]
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
push dword [esp + 0x64]
call dword [sym.imp.OLEAUT32.dll_SysStringLen]
mov eax, dword [esp + 0x4c]
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
push 0xbeb8f1a1
push dword [0x44de20]
call fcn.00440d30
add esp, 8
push 0
push 0
push 0
push 0
push esi
push 0
push 0
lea ecx, [esp + 0x98]
push ecx
call eax
test eax, eax
je 0x43aaa3
mov ebx, esi
mov ecx, dword [ebx]
imul eax, ecx, 0x1a5845
imul ecx, ecx, 0x34b08a
and ecx, 0xd7bd1426
xor eax, 0xebde8a13
add eax, ecx
mov dword [esp], eax
mov esi, 0xfffffff7
push 0x10
push 9
push edi
push eax
call fcn.00420260
add esp, 0x10
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
cmp byte [eax + esi + 9], 0
lea esi, [esi + 1]
jne 0x43aae0
test esi, esi
je 0x43aafe
add eax, esi
neg esi
push esi
push 0x30
push eax
call fcn.00408860
add esp, 0xc
lea eax, [edi + 8]
xor ecx, ecx
cmp dword [esp + 4], 0
setne cl
mov edx, dword [esp + ecx*4]
imul ecx, edx, 0x1a5845
imul edx, edx, 0x34b08a
and edx, 0xd7bd1426
xor ecx, 0xebde8a13
add ecx, edx
mov dword [esp + 4], ecx
mov esi, 0xfffffff7
push 0x10
push 9
push eax
push ecx
call fcn.00420260
add esp, 0x10
nop
cmp byte [eax + esi + 9], 0
lea esi, [esi + 1]
jne 0x43ab40
test esi, esi
je 0x43ab5e
add eax, esi
neg esi
push esi
push 0x30
push eax
call fcn.00408860
add esp, 0xc
lea eax, [edi + 0x10]
xor ecx, ecx
cmp dword [esp + 8], 0
setne cl
mov edx, dword [esp + ecx*4 + 4]
imul ecx, edx, 0x1a5845
imul edx, edx, 0x34b08a
and edx, 0xd7bd1426
xor ecx, 0xebde8a13
add ecx, edx
mov dword [esp + 8], ecx
mov esi, 0xfffffff7
push 0x10
push 9
push eax
push ecx
call fcn.00420260
add esp, 0x10
cmp byte [eax + esi + 9], 0
lea esi, [esi + 1]
jne 0x43aba0
test esi, esi
je 0x43abbe
add eax, esi
neg esi
push esi
push 0x30
push eax
call fcn.00408860
add esp, 0xc
add edi, 0x18
xor eax, eax
cmp dword [esp + 0xc], 0
setne al
mov ecx, dword [esp + eax*4 + 8]
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.00420260
add esp, 0x10
nop
nop
nop
nop
nop
cmp byte [eax + esi + 9], 0
lea esi, [esi + 1]
jne 0x43ac00
test esi, esi
je 0x43ac1e
add eax, esi
neg esi
push esi
push 0x30
push eax
call fcn.00408860
add esp, 0xc
lea esp, [ebp - 0xc]
pop esi
pop edi
pop ebx
pop ebp
ret