Function at 0x40aa02
Capabilities:
Create process on windows
Create thread

Disassembly:
push 0x48
mov eax, 0x4c4138
call fcn.0048652b
xor esi, esi
push esi
push esi
push ebx
push 0x40ba3c
push esi
push esi
call dword [sym.imp.KERNEL32.dll_CreateThread]
push eax
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov eax, dword [ebp + 8]
mov dword [ebx], eax
lea eax, [ebp - 0x48]
push str.config.ini
lea edi, [ebx + 8]
push eax
call fcn.0040e413
pop ecx
pop ecx
mov dword [ebp - 4], esi
mov eax, dword [ebx + 0xbc]
sub eax, dword [ebx + 0xb8]
push 0x1c
pop edi
cdq
mov ecx, edi
idiv ecx
mov dword [ebp - 0x50], esi
test eax, eax
je 0x40aa9a
mov dword [ebp - 0x4c], esi
mov eax, dword [ebx + 0xb8]
add eax, dword [ebp - 0x4c]
sub esp, 0x1c
mov esi, esp
mov dword [ebp - 0x54], esp
push eax
call fcn.004086a6
call fcn.0040c678
mov eax, dword [ebx + 0xbc]
sub eax, dword [ebx + 0xb8]
mov ecx, edi
cdq
idiv ecx
inc dword [ebp - 0x50]
add dword [ebp - 0x4c], edi
cmp dword [ebp - 0x50], eax
jb 0x40aa60
xor esi, esi
mov eax, dword [ebx + 0xcc]
sub eax, dword [ebx + 0xc8]
mov ecx, edi
cdq
idiv ecx
mov dword [ebp - 0x50], esi
test eax, eax
je 0x40aaef
mov dword [ebp - 0x4c], esi
mov eax, dword [ebx + 0xc8]
add eax, dword [ebp - 0x4c]
sub esp, 0x1c
mov esi, esp
mov dword [ebp - 0x54], esp
push eax
call fcn.004086a6
call fcn.0040c778
mov eax, dword [ebx + 0xcc]
sub eax, dword [ebx + 0xc8]
mov ecx, edi
cdq
idiv ecx
inc dword [ebp - 0x50]
add dword [ebp - 0x4c], edi
cmp dword [ebp - 0x50], eax
jb 0x40aab5
xor esi, esi
lea eax, [ebp - 0x2c]
push 0x1a
push eax
call sym.Uninstall.exe_class_std::basic_string_wchar_t__struct_std::char_traits_wchar_t___class_std::allocator_wchar_t_____cdecl_KpBase::GetSystemPathW_unsigned_long_int_
mov edi, str.MicrosoftInternet_ExplorerQuick_Launch_
push edi
mov byte [ebp - 4], 1
call dword [sym.imp.MSVCR100.dll_wcslen]
add esp, 0xc
push edi
mov edi, eax
lea eax, [ebp - 0x2c]
call fcn.004087a1
cmp dword [ebp - 0x18], 8
mov eax, dword [ebp - 0x2c]
jae 0x40ab24
lea eax, [ebp - 0x2c]
push 1
push esi
push esi
push eax
push str.taskbarunpin
push esi
call dword [sym.imp.SHELL32.dll_ShellExecuteW]
mov eax, dword [ebx + 0xdc]
sub eax, dword [ebx + 0xd8]
xor edi, edi
sar eax, 2
test eax, eax
je 0x40ac15
mov eax, dword [ebx + 0xd8]
mov esi, dword [eax + edi*4]
test esi, esi
je 0x40abfb
cmp dword [esi + 0x14], 8
jb 0x40ab69
mov eax, dword [esi]
jmp 0x40ab6b
mov eax, esi
push str.kill
push eax
call sub.MSVCR100.dll__wcsicmp
pop ecx
pop ecx
test eax, eax
jne 0x40ab86
add esi, 0x1c
call fcn.0040c95f
jmp 0x40abfb
cmp dword [esi + 0x14], 8
jb 0x40ab90
mov eax, dword [esi]
jmp 0x40ab92
mov eax, esi
push 0x4e0cb8
push eax
call sub.MSVCR100.dll__wcsicmp
pop ecx
pop ecx
test eax, eax
jne 0x40abae
lea ecx, [esi + 0x1c]
push ebx
call fcn.0040c9a9
jmp 0x40abfb
cmp dword [esi + 0x14], 8
jb 0x40abb8
mov eax, dword [esi]
jmp 0x40abba
mov eax, esi
push 0x4e0cc0
push eax
call sub.MSVCR100.dll__wcsicmp
pop ecx
pop ecx
test eax, eax
jne 0x40abd6
lea ecx, [esi + 0x1c]
push ebx
call fcn.0040cc20
jmp 0x40abfb
cmp dword [esi + 0x14], 8
jb 0x40abe0
mov eax, dword [esi]
jmp 0x40abe2
mov eax, esi
push 0x4e0cc8
push eax
call sub.MSVCR100.dll__wcsicmp
pop ecx
pop ecx
test eax, eax
jne 0x40abfb
add esi, 0x1c
call fcn.0040cf5d
mov eax, dword [ebx + 0xdc]
sub eax, dword [ebx + 0xd8]
inc edi
sar eax, 2
cmp edi, eax
jb 0x40ab4e
xor esi, esi
push ebx
push esi
push 0x40bfd8
call dword [sym.imp.MSVCR100.dll__beginthread]
add esp, 0xc
push 1
xor edi, edi
lea esi, [ebp - 0x2c]
call fcn.00408e84
push edi
push 1
lea ecx, [ebp - 0x48]
call fcn.0040d8cd
call fcn.004865ae
ret 4