Function at 0x434020
Capabilities:
Connect to wmi namespace via wbemlocator
Encode data using xor
Encrypt data using speck
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 [0x44a594]
mov dword [esp], 0x934191ad
mov dword [esp + 4], 0xaf5dad25
mov dword [esp + 8], 0xab57a924
mov dword [esp + 0xc], 0xa77aa551
mov dword [esp + 0x10], 0xa35ba152
mov dword [esp + 0x14], 0xbf43bd32
mov dword [esp + 0x18], 0xbbbab985
mov word [esp + 0x1c], 0
mov byte [esp + 0x1e], 0
mov ecx, 0xe791415c
nop
movzx edx, byte [esp + ecx + 0x186ebea4]
mov ebx, edx
and ebx, ecx
add bl, bl
sub dl, bl
movzx edx, dl
add edx, ecx
add dl, 0x34
mov byte [esp + ecx + 0x186ebea4], dl
inc ecx
cmp ecx, 0xe791417b
jne 0x434080
lea ecx, [esp + 0x44]
lea ebx, [esp + 0x84]
mov esi, esp
push ecx
push 8
push ebx
push 0xd
push esi
push 0
call eax
test eax, eax
jns 0x4340cf
mov dword [esp + 0x84], 0x3a0043
mov dword [esp + 0x88], 0x5c
mov dword [esp + 0x50], 0
mov dword [esp + 0x4c], 0
mov dword [esp + 0x48], 0
mov dword [esp + 0x44], 0
mov dword [esp + 0x40], 0
lea eax, [esp + 0x40]
push eax
push 0x440670
push 1
push 0
push 0x440680
call dword [sym.imp.ole32.dll_CoCreateInstance]
test eax, eax
js 0x43460f
mov dword [esp], 0x79cb7bb2
mov dword [esp + 4], 0x7dca7fc9
mov dword [esp + 8], 0x713773d0
mov dword [esp + 0xc], 0x75c577cf
mov dword [esp + 0x10], 0x693c6bde
mov word [esp + 0x14], 0x6f68
mov dword [esp + 0x16], 0
mov byte [esp + 0x1a], 0
xor eax, eax
mov ecx, eax
add cl, 0xbf
xor cl, byte [esp + eax]
add cl, 0x45
mov byte [esp + eax], cl
inc eax
cmp eax, 0x1b
jne 0x434160
push esi
call dword [sym.imp.OLEAUT32.dll_SysReAllocString]
mov ebx, 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], ebx
push ebx
push eax
call dword [ecx + 0xc]
test eax, eax
lea ebx, [esp + 0x84]
js 0x4345fb
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 0x4345f1
mov dword [esp], 0x3530157
mov dword [esp + 4], 0x7060548
xor eax, eax
xor byte [esp + eax], al
mov ecx, eax
not ecx
or ecx, 1
add ecx, eax
inc ecx
mov edx, ecx
and edx, 0xfffffffd
mov esi, ecx
and esi, 2
or ecx, 2
imul ecx, esi
xor esi, 2
imul esi, edx
xor eax, 1
add eax, ecx
add eax, esi
cmp eax, 8
jb 0x4341e0
mov eax, esp
push eax
call dword [sym.imp.OLEAUT32.dll_SysReAllocString]
mov ebx, eax
mov dword [esp], 0xb7fb89f7
mov dword [esp + 4], 0xb3ffb5c0
mov dword [esp + 8], 0xbfc2b1ff
mov dword [esp + 0xc], 0xbbecbd9c
mov dword [esp + 0x10], 0xa7ecb998
mov dword [esp + 0x14], 0xa3d1a5da
mov dword [esp + 0x18], 0xaf8ea1d5
mov dword [esp + 0x1c], 0xabc3add7
mov dword [esp + 0x20], 0xd789a93a
mov dword [esp + 0x24], 0xd3b1d58a
mov dword [esp + 0x28], 0xdf97d19e
mov dword [esp + 0x2c], 0xdba5ddaf
mov word [esp + 0x30], 0xd9d8
mov dword [esp + 0x32], 0
mov word [esp + 0x36], 0
mov eax, 0xe
mov ecx, 0x61
nop
nop
nop
nop
nop
nop
nop
mov esi, ecx
and esi, 0x77
mov edx, eax
and edx, 8
or edx, esi
xor dl, byte [esp + eax - 0xe]
xor dl, 0xf7
add dl, 0xea
mov byte [esp + eax - 0xe], dl
inc eax
dec ecx
cmp eax, 0x46
jne 0x4342a0
mov eax, esp
push eax
call dword [sym.imp.OLEAUT32.dll_SysReAllocString]
mov esi, dword [esp + 0x3c]
mov ecx, dword [esi]
lea edx, [esp + 0x60]
push edx
push 0
push 0x30
mov dword [esp + 0x74], eax
push eax
push ebx
push esi
call dword [ecx + 0x50]
test eax, eax
js 0x4345d9
mov dword [esp + 0x58], 0
mov eax, dword [esp + 0x60]
mov ecx, dword [eax]
lea edx, [esp + 0x58]
lea esi, [esp + 0x5c]
push edx
push esi
push 1
push 0xffffffffffffffff
push eax
call dword [ecx + 0x10]
test eax, eax
js 0x4345cf
cmp eax, 1
je 0x4345cf
cmp dword [esp + 0x58], 0
je 0x4345cf
lea eax, [esp + 0x70]
push eax
call dword [sym.imp.OLEAUT32.dll_VariantClear]
mov eax, dword [esp + 0x5c]
mov dword [esp], 0xd961db11
mov dword [esp + 4], 0xdd61df6e
mov dword [esp + 8], 0xd16ed37b
mov dword [esp + 0xc], 0xd55dd702
mov dword [esp + 0x10], 0xa90cab67
mov dword [esp + 0x14], 0xad18af13
mov word [esp + 0x18], 0xa3ac
mov dword [esp + 0x1a], 0
mov byte [esp + 0x1e], 0
mov ecx, 0xef776c2f
nop
nop
movzx esi, byte [esp + ecx + 0x108893d1]
xor esi, ecx
mov edx, esi
and edx, 0x14
add edx, edx
xor esi, 0xeb
sub edx, esi
mov byte [esp + ecx + 0x108893d1], dl
inc ecx
cmp ecx, 0xef776c4e
jne 0x434380
mov ecx, dword [eax]
push 0
push 0
lea esi, [esp + 0x78]
push esi
push 0
lea edx, [esp + 0x10]
push edx
push eax
call dword [ecx + 0x10]
test eax, eax
js 0x4345be
cmp word [esp + 0x70], 8
jne 0x4345be
mov esi, dword [esp + 0x78]
movzx ecx, word [esi]
test cx, cx
je 0x43441d
lea eax, [esi + 2]
xor edi, edi
jmp 0x4343fc
inc edi
movzx ecx, word [eax]
add eax, 2
test cx, cx
je 0x43441f
cmp cx, 0x7f
jbe 0x4343f0
movzx edx, cx
cmp edx, 0x7ff
ja 0x434412
add edi, 2
jmp 0x4343f1
cmp cx, 0xffff
je 0x4343f1
add edi, 3
jmp 0x4343f1
xor edi, edi
mov dword [esp + 0x64], ebx
lea eax, [edi + 1]
push eax
call fcn.00408940
add esp, 4
mov ecx, edi
mov dword [esp + 0x38], eax
mov edi, eax
mov dword [esp + 0x54], ecx
test ecx, ecx
je 0x434569
movzx eax, word [esi]
mov edi, dword [esp + 0x38]
test ax, ax
je 0x434569
mov ecx, dword [esp + 0x54]
mov edi, dword [esp + 0x38]
nop
nop
nop
nop
nop
movzx ebx, ax
lea edx, [esi + 2]
cmp bx, 0x7f
ja 0x434480
lea eax, [edi + 1]
mov byte [edi], bl
jmp 0x434500
cmp ebx, 0x7ff
ja 0x4344a4
cmp ecx, 2
jb 0x4344a4
mov eax, ebx
shr eax, 6
add al, 0xc0
mov byte [edi], al
and bl, 0x3f
or bl, 0x80
lea eax, [edi + 2]
mov byte [edi + 1], bl
jmp 0x434500
mov eax, ebx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x434528
cmp ecx, 4
jb 0x434528
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
mov esi, eax
sub esi, edi
mov ebx, esi
not ebx
and ebx, ecx
add ebx, ebx
xor esi, ecx
sub ebx, esi
mov esi, edx
mov edi, eax
mov ecx, ebx
movzx eax, word [esi]
test ax, ax
je 0x434569
test ecx, ecx
jne 0x434460
jmp 0x434569
movzx eax, ax
cmp eax, 0xdc00
jne 0x434536
mov esi, edx
jmp 0x434516
cmp ecx, 3
jb 0x434565
mov eax, ebx
shr eax, 0xc
or al, 0xe0
mov byte [edi], al
mov esi, ebx
shr esi, 6
mov eax, esi
not eax
or eax, 0x3f
add eax, esi
add al, 0x81
mov byte [edi + 1], al
and bl, 0x3f
or bl, 0x80
lea eax, [edi + 3]
mov byte [edi + 2], bl
jmp 0x434500
mov eax, edi
jmp 0x434500
mov byte [edi], 0
mov eax, 3
mov ecx, dword [esp + 0x54]
sub eax, ecx
cmp eax, 0xfffffffd
jae 0x434581
mov eax, 0xfffffffc
add eax, ecx
shr eax, 2
cmp eax, 3
mov edi, dword [ebp + 8]
lea esi, [esp + 0x70]
jb 0x434597
mov eax, 3
lea eax, [eax*4 + 4]
push eax
mov ebx, dword [esp + 0x3c]
push ebx
lea eax, [esp + 0x4c]
push eax
call fcn.00408970
add esp, 0xc
push ebx
call fcn.00408950
add esp, 4
mov ebx, dword [esp + 0x64]
push esi
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 esi, dword [sym.imp.OLEAUT32.dll_SysStringLen]
push ebx
call esi
push dword [esp + 0x68]
call esi
mov esi, esp
lea ebx, [esp + 0x84]
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]
mov dword [esp], 0
push 0x72a7c387
push dword [0x44a58c]
call fcn.0043c470
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 0x43477e
imul eax, dword [esp], 0x1a5845
add eax, 0xebde8a13
mov dword [esp + 0x44], eax
mov esi, 0xfffffff7
push 0x10
push 9
push edi
push eax
call fcn.00419fa0
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 0x434670
test esi, esi
je 0x43468e
add eax, esi
neg esi
push esi
push 0x30
push eax
call fcn.004089c0
add esp, 0xc
lea eax, [edi + 8]
xor ecx, ecx
cmp dword [esp + 0x48], 0
setne cl
imul ecx, dword [esp + ecx*4 + 0x44], 0x1a5845
add ecx, 0xebde8a13
mov dword [esp + 0x48], ecx
mov esi, 0xfffffff7
push 0x10
push 9
push eax
push ecx
call fcn.00419fa0
add esp, 0x10
cmp byte [eax + esi + 9], 0
lea esi, [esi + 1]
jne 0x4346c0
test esi, esi
je 0x4346de
add eax, esi
neg esi
push esi
push 0x30
push eax
call fcn.004089c0
add esp, 0xc
lea eax, [edi + 0x10]
xor ecx, ecx
cmp dword [esp + 0x4c], 0
setne cl
imul ecx, dword [esp + ecx*4 + 0x48], 0x1a5845
add ecx, 0xebde8a13
mov dword [esp + 0x4c], ecx
mov esi, 0xfffffff7
push 0x10
push 9
push eax
push ecx
call fcn.00419fa0
add esp, 0x10
cmp byte [eax + esi + 9], 0
lea esi, [esi + 1]
jne 0x434710
test esi, esi
je 0x43472e
add eax, esi
neg esi
push esi
push 0x30
push eax
call fcn.004089c0
add esp, 0xc
add edi, 0x18
xor eax, eax
cmp dword [esp + 0x50], 0
setne al
imul eax, dword [esp + eax*4 + 0x4c], 0x1a5845
add eax, 0xebde8a13
mov esi, 0xfffffff7
push 0x10
push 9
push edi
push eax
call fcn.00419fa0
add esp, 0x10
nop
nop
nop
nop
nop
cmp byte [eax + esi + 9], 0
lea esi, [esi + 1]
jne 0x434760
test esi, esi
je 0x43477e
add eax, esi
neg esi
push esi
push 0x30
push eax
call fcn.004089c0
add esp, 0xc
lea esp, [ebp - 0xc]
pop esi
pop edi
pop ebx
pop ebp
ret