Function at 0x43ab11
Capabilities:
Create process on windows

Disassembly:
push 0x50
mov eax, 0x46488f
call fcn.0045c174
mov esi, dword [ebp + 8]
mov ecx, esi
call fcn.0043aaac
lea edi, [esi + 4]
mov dword [ebp - 0x3c], edi
call fcn.00408ee8
mov dword [ebp - 0x38], 1
xor ebx, ebx
mov dword [ebp - 4], ebx
mov byte [ebp - 0x11], bl
mov dword [ebp - 0x1c], ebx
mov dword [ebp - 0x20], ebx
mov dword [ebp - 0x2c], ebx
push 0x473b3c
lea esi, [ebp - 0x30]
mov byte [ebp - 4], 3
call fcn.004202be
mov byte [ebp - 4], 4
push dword [ebp + 0xc]
xor eax, eax
lea esi, [ebp - 0x4c]
mov word [ebp - 0x4c], ax
call fcn.00408ca6
lea eax, [ebp - 0x1c]
push eax
mov edi, 0x468768
push edi
push 1
push ebx
mov esi, 0x468778
push esi
mov byte [ebp - 4], 5
call dword [sym.imp.ole32.dll_CoCreateInstance]
test eax, eax
jge 0x43ac2e
push str.msxml.dll
lea eax, [ebp + 0xc]
push eax
call fcn.00404234
mov byte [ebp - 4], 0xb
push dword [ebp + 0xc]
call fcn.0042b980
pop ecx
jmp 0x43abcd
push 3
lea eax, [ebp + 0xc]
push str.msxml_d.dll
push eax
call fcn.00404b3d
push dword [ebp + 0xc]
call fcn.0042b980
add esp, 0x10
test eax, eax
je 0x43abb2
mov edx, dword [ebp + 0xc]
push edi
push 1
push esi
lea ecx, [ebp - 0x1c]
call fcn.0042c3ae
add esp, 0xc
test eax, eax
jge 0x43ac1f
push 0x10
push 0x473ba0
mov ecx, 0x46ad64
call fcn.0042c978
pop ecx
pop ecx
push 1
push ebx
push ebx
push str.https:__www.google.com.hk_search_qMSXML
push str.OPEN
push ebx
call dword [sym.imp.SHELL32.dll_ShellExecuteW]
mov eax, dword [ebp + 0xc]
add eax, 0xfffffff0
call fcn.004030c0
jmp 0x43ae15
mov byte [ebp - 4], 5
mov eax, dword [ebp + 0xc]
add eax, 0xfffffff0
call fcn.004030c0
mov eax, dword [ebp - 0x1c]
mov ecx, dword [eax]
push ebx
push eax
call dword [ecx + 0xfc]
test eax, eax
jl 0x43ae15
mov eax, dword [ebp - 0x1c]
mov ecx, dword [eax]
lea edx, [ebp - 0x18]
push edx
sub esp, 0x10
mov edi, esp
lea esi, [ebp - 0x4c]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
push eax
movsd dword es:[edi], dword [esi]
call dword [ecx + 0xe8]
test eax, eax
jl 0x43ae15
or eax, 0xffffffff
cmp ax, word [ebp - 0x18]
jne 0x43ae15
mov eax, dword [ebp - 0x1c]
mov ecx, dword [eax]
lea edx, [ebp - 0x20]
push edx
push eax
call dword [ecx + 0xb4]
test eax, eax
jl 0x43ae15
mov dword [ebp - 0x28], ebx
mov byte [ebp - 4], 6
mov edi, dword [ebp - 0x20]
push str.Product
lea esi, [ebp - 0x24]
call fcn.004202be
mov byte [ebp - 4], 7
mov eax, dword [eax]
mov ecx, dword [edi]
lea edx, [ebp - 0x28]
push edx
push eax
push edi
call dword [ecx + 0x94]
mov byte [ebp - 4], 6
push dword [ebp - 0x24]
test eax, eax
setge byte [ebp + 0xf]
call dword [sym.imp.OLEAUT32.dll_SysStringLen]
cmp byte [ebp + 0xf], bl
je 0x43ad6b
mov eax, dword [ebp - 0x28]
mov dword [ebp - 0x24], ebx
cmp eax, ebx
je 0x43aceb
mov ecx, dword [eax]
lea edx, [ebp - 0x24]
push edx
push 0x474170
push eax
call dword [ecx]
cmp dword [ebp - 0x24], ebx
je 0x43ad5a
lea eax, [ebp - 0x5c]
push eax
call dword [sym.imp.OLEAUT32.dll_VariantClear]
mov byte [ebp - 4], 9
mov edi, dword [ebp - 0x24]
push str.createdate
lea esi, [ebp - 0x34]
call fcn.004202be
mov byte [ebp - 4], 0xa
mov eax, dword [eax]
mov ecx, dword [edi]
lea edx, [ebp - 0x5c]
push edx
push eax
push edi
call dword [ecx + 0xb0]
mov byte [ebp - 4], 9
push dword [ebp - 0x34]
test eax, eax
setge byte [ebp + 0xf]
call dword [sym.imp.OLEAUT32.dll_SysStringLen]
cmp byte [ebp + 0xf], bl
je 0x43ad50
mov ecx, dword [ebp + 8]
lea eax, [ebp - 0x5c]
push eax
add ecx, 0x664
call sub.MFC42u.dll_COleDateTime::operator_1
mov byte [ebp - 0x11], 1
lea eax, [ebp - 0x5c]
push eax
call dword [sym.imp.OLEAUT32.dll_VariantCopy]
mov byte [ebp - 4], 6
mov eax, dword [ebp - 0x24]
cmp eax, ebx
je 0x43ad6b
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
cmp dword [ebp + 0x10], ebx
jne 0x43ae04
mov eax, dword [ebp - 0x20]
mov ecx, dword [eax]
lea edx, [ebp - 0x2c]
push edx
push dword [ebp - 0x30]
push eax
call dword [ecx + 0xc8]
test eax, eax
jl 0x43ae04
push dword [ebp + 8]
mov ecx, dword [ebp - 0x2c]
call fcn.0043ae5f
mov byte [ebp + 0xb], al
mov byte [ebp - 4], 5
mov eax, dword [ebp - 0x28]
cmp eax, ebx
je 0x43adaa
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
lea eax, [ebp - 0x4c]
push eax
call dword [sym.imp.OLEAUT32.dll_VariantCopy]
push dword [ebp - 0x30]
call dword [sym.imp.OLEAUT32.dll_SysStringLen]
mov byte [ebp - 4], 2
mov eax, dword [ebp - 0x2c]
cmp eax, ebx
je 0x43adce
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov byte [ebp - 4], 1
mov eax, dword [ebp - 0x20]
cmp eax, ebx
je 0x43addf
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov byte [ebp - 4], bl
mov eax, dword [ebp - 0x1c]
cmp eax, ebx
je 0x43adef
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov bl, byte [ebp + 0xb]
lea esi, [ebp - 0x3c]
call fcn.00408e4c
mov al, bl
call fcn.0045c213
ret 0xc
mov byte [ebp - 4], 5
mov eax, dword [ebp - 0x28]
cmp eax, ebx
je 0x43ae15
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
lea eax, [ebp - 0x4c]
push eax
call dword [sym.imp.OLEAUT32.dll_VariantCopy]
push dword [ebp - 0x30]
call dword [sym.imp.OLEAUT32.dll_SysStringLen]
mov byte [ebp - 4], 2
mov eax, dword [ebp - 0x2c]
cmp eax, ebx
je 0x43ae39
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov byte [ebp - 4], 1
mov eax, dword [ebp - 0x20]
cmp eax, ebx
je 0x43ae4a
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov byte [ebp - 4], bl
mov eax, dword [ebp - 0x1c]
cmp eax, ebx
je 0x43ae5a
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov bl, byte [ebp - 0x11]
jmp 0x43adf2