Function at 0x4010f4
Capabilities:
Create process on windows
Create process suspended
Query environment variable
Resume thread
Terminate process

Disassembly:
push ebp
mov ebp, esp
add esp, 0xffffffe4
pushal
push str.snr_offsets.ldr
call fcn.00401920
cmp eax, 1
jne 0x40110d
popal
leave
ret
mov dword [ebp - 0x18], 0
push 1
push 4
call fcn.00401774
or eax, eax
je 0x401319
mov esi, eax
mov dword [ebp - 0x14], eax
push 0x40
push section..data
push str.This_is_a_SearchReplace_Loader._Press_OK_to_start_the_search_
push 0
call sub.user32.dll_MessageBoxA
lea eax, [esi + 0x22]
push 0x200
push 0x403150
push eax
call sub.kernel32.dll_ExpandEnvironmentStringsA
push 0x4035a8
push 0x403564
push 0
push 0
push 4
push 0
push 0
push 0
push 0
push 0x403150
call sub.kernel32.dll_CreateProcessA
or eax, eax
jne 0x40118e
push 0x30
push 0x403150
push str.Cant_create_Process
push 0
call sub.user32.dll_MessageBoxA
jmp 0x401319
push dword [0x4035ac]
call sub.kernel32.dll_ResumeThread
push 0x9c4
call sub.kernel32.dll_Sleep
push 0x403150
call fcn.004013e0
mov dword [ebp - 8], eax
mov dword [ebp - 4], ebx
mov eax, dword [esi + 0x16]
lea esi, [eax + esi]
push esi
call fcn.00401370
add eax, 0x100
mov dword [ebp - 0xc], eax
push 4
push 0x1000
push eax
push 0
call sub.kernel32.dll_VirtualAlloc
mov dword [ebp - 0x10], eax
mov ebx, dword [ebp - 0x14]
mov eax, dword [ebx + 0x16]
dec eax
push eax
push dword [ebp - 0x14]
push dword [ebp - 0x10]
call sub.kernel32.dll_RtlMoveMemory
jmp 0x401287
xor ecx, ecx
mov dword [ebp - 0x1c], 0
push ecx
mov eax, dword [esi]
mov ebx, dword [ebp - 8]
add ebx, ecx
push 0
push eax
push 0x403358
push ebx
push dword [0x4035a8]
call sub.kernel32.dll_ReadProcessMemory
pop ecx
lea eax, [esi + 8]
mov ebx, eax
add ebx, dword [esi]
push dword [esi]
push ebx
push eax
push 0x403358
call fcn.004013ac
cmp eax, 1
jne 0x401271
inc dword [ebp - 0x1c]
mov eax, dword [esi + 4]
cmp eax, 0xffffffff
je 0x401241
cmp dword [ebp - 0x1c], eax
jne 0x40126d
add ebx, dword [esi]
mov edx, ebx
add edx, dword [esi]
mov eax, dword [ebp - 8]
add eax, ecx
push dword [esi]
push edx
push ebx
push 0x403358
push eax
push dword [ebp - 0x10]
call fcn.0040131c
mov dword [ebp - 0x18], 1
cmp dword [esi + 4], 0xffffffff
je 0x401271
jmp 0x401279
jmp 0x401271
inc ecx
cmp ecx, dword [ebp - 4]
jae 0x401279
jmp 0x4011fa
mov eax, dword [esi]
lea eax, [eax*4]
add esi, 8
add esi, eax
cmp dword [esi], 0
jne 0x4011f1
push dword [0x403560]
push dword [0x4035a8]
call sub.kernel32.dll_TerminateProcess
mov esi, dword [ebp - 0x14]
push 0x403150
call fcn.004017f0
mov edi, dword [ebp - 0x10]
mov dword [edi + 0xa], eax
mov eax, dword [esi + 0xe]
or eax, eax
je 0x4012c4
mov dword [edi + 0xe], eax
mov eax, dword [esi + 0x12]
mov dword [edi + 0x12], eax
cmp dword [ebp - 0x18], 1
jne 0x4012ef
push dword [ebp - 0xc]
push dword [ebp - 0x10]
push str.snr_offsets.ldr
call fcn.00401994
push 0x40
push section..data
push str.Found_Offsets._Please_restart_loader_
push 0
call sub.user32.dll_MessageBoxA
jmp 0x401302
push 0x30
push section..data
push str.Sorry_no_data_found_
push 0
call sub.user32.dll_MessageBoxA
push 0x4000
push dword [ebp - 0xc]
push dword [ebp - 0x10]
call sub.kernel32.dll_VirtualFree
push 0
call sub.kernel32.dll_ExitProcess
popal
leave
ret