Function at 0x10008580
Capabilities:
Create pipe
Create thread
Inject thread

Disassembly:
sub esp, 0x74
push ebp
push esi
mov esi, dword [esp + 0x80]
push 0
push 1
push 1
push 0
push 0x1002d420
push esi
mov dword [esp + 0x90], ecx
call fcn.1000d630
mov ebp, eax
add esp, 0x18
test ebp, ebp
mov dword [esp + 0x18], ebp
jne 0x100085bd
pop esi
xor eax, eax
pop ebp
add esp, 0x74
ret 0x18
push str.BoxedAppSDK_RemoteAgent_ThreadProc
push ebp
push esi
call fcn.1000d270
add esp, 0xc
test eax, eax
mov dword [esp + 0x64], eax
je 0x100085b3
push str.BoxedAppSDK_RemoteAgent_hReadPipe__ToMainApp
push ebp
push esi
call fcn.1000d270
add esp, 0xc
test eax, eax
mov dword [esp + 0x40], eax
je 0x100085b3
push str.BoxedAppSDK_RemoteAgent_hWritePipe__ToMainApp
push ebp
push esi
call fcn.1000d270
add esp, 0xc
test eax, eax
mov dword [esp + 0x48], eax
je 0x100085b3
push str.BoxedAppSDK_RemoteAgent_hReadPipe__ToRemoteApp
push ebp
push esi
call fcn.1000d270
add esp, 0xc
test eax, eax
mov dword [esp + 0x50], eax
je 0x100085b3
push str.BoxedAppSDK_RemoteAgent_hWritePipe__ToRemoteApp
push ebp
push esi
call fcn.1000d270
add esp, 0xc
test eax, eax
mov dword [esp + 0x58], eax
je 0x100085b3
push str.BoxedAppSDK_RemoteAgent_ThreadToResumeHandle
push ebp
push esi
call fcn.1000d270
add esp, 0xc
test eax, eax
mov dword [esp + 0x5c], eax
je 0x100085b3
push str.BoxedAppSDK_RemoteAgent_bReplaceImage
push ebp
push esi
call fcn.1000d270
add esp, 0xc
test eax, eax
je 0x100085b3
push edi
mov edi, dword [sym.imp.KERNEL32.dll_WriteProcessMemory]
lea ecx, [esp + 0x10]
push ecx
push 4
lea edx, [esp + 0x94]
push edx
push eax
push esi
call edi
push str.BoxedAppSDK_RemoteAgent_pImageBase
push ebp
push esi
call fcn.1000d270
add esp, 0xc
test eax, eax
je 0x100086b5
lea ecx, [esp + 0x10]
push ecx
push 4
lea edx, [esp + 0x9c]
push edx
push eax
push esi
call edi
push str.BoxedAppSDK_RemoteAgent_CreateProcessFlags
push ebp
push esi
call fcn.1000d270
add esp, 0xc
test eax, eax
jne 0x100086c0
pop edi
pop esi
xor eax, eax
pop ebp
add esp, 0x74
ret 0x18
push ebx
lea ecx, [esp + 0x14]
push ecx
push 4
lea edx, [esp + 0xa4]
push edx
push eax
push esi
call edi
mov eax, dword [0x1005c4d4]
test eax, eax
mov ebx, dword [sym.imp.KERNEL32.dll_lstrlenA]
je 0x10008721
push 4
push 0x101000
push eax
call ebx
add eax, 1
push eax
push 0
push esi
call dword [sym.imp.KERNEL32.dll_VirtualAllocEx]
mov ecx, dword [0x1005c4d4]
mov dword [esp + 0x18], eax
lea eax, [esp + 0x14]
push eax
push ecx
call ebx
mov edx, dword [0x1005c4d4]
add eax, 1
push eax
mov eax, dword [esp + 0x20]
push edx
push eax
push esi
call edi
jmp 0x10008729
mov dword [esp + 0x18], 0
push str.BoxedAppSDK_RemoteAgent_Context
push ebp
push esi
call fcn.1000d270
add esp, 0xc
test eax, eax
je 0x10008b9c
lea ecx, [esp + 0x14]
push ecx
push 4
lea edx, [esp + 0x20]
push edx
push eax
push esi
call edi
mov eax, dword [0x1005c4d4]
test eax, eax
je 0x10008771
lea ecx, [esp + 0x14]
push ecx
push eax
call ebx
mov edx, dword [0x1005c4d4]
push eax
mov eax, dword [esp + 0x20]
push edx
push eax
push esi
call edi
mov eax, dword [esp + 0x94]
test eax, eax
mov ebx, dword [sym.imp.KERNEL32.dll_lstrlenW]
je 0x100087c4
push 4
push 0x101000
push eax
call ebx
lea ecx, [eax + eax + 2]
push ecx
push 0
push esi
call dword [sym.imp.KERNEL32.dll_VirtualAllocEx]
lea edx, [esp + 0x14]
mov dword [esp + 0x1c], eax
mov eax, dword [esp + 0x94]
push edx
push eax
call ebx
mov edx, dword [esp + 0x98]
lea ecx, [eax + eax + 2]
mov eax, dword [esp + 0x20]
push ecx
push edx
push eax
push esi
call edi
jmp 0x100087cc
mov dword [esp + 0x1c], 0
push str.BoxedAppSDK_RemoteAgent_NewImagePath
push ebp
push esi
call fcn.1000d270
add esp, 0xc
test eax, eax
je 0x10008b9c
lea ecx, [esp + 0x14]
push ecx
push 4
lea edx, [esp + 0x24]
push edx
push eax
push esi
call edi
lea eax, [esp + 0x10]
push eax
call fcn.1000dbb0
mov ebp, dword [esp + 0x14]
add esp, 4
push 4
push 0x101000
push ebp
call ebx
lea ecx, [eax + eax + 2]
push ecx
push 0
push esi
call dword [sym.imp.KERNEL32.dll_VirtualAllocEx]
lea edx, [esp + 0x14]
push edx
push ebp
mov dword [esp + 0x2c], eax
call ebx
mov ecx, dword [esp + 0x28]
lea eax, [eax + eax + 2]
push eax
push ebp
push ecx
push esi
call edi
mov edx, dword [esp + 0x20]
push str.BoxedAppSDK_RemoteAgent_MainAppImagePath
push edx
push esi
call fcn.1000d270
add esp, 0xc
test eax, eax
je 0x10008b93
lea ecx, [esp + 0x14]
push ecx
push 4
lea edx, [esp + 0x2c]
push edx
push eax
push esi
call edi
mov ebx, dword [sym.imp.KERNEL32.dll_GetCurrentProcess]
push 2
push 1
push 0
lea eax, [esp + 0x3c]
push eax
push esi
call ebx
push eax
call ebx
mov ebp, dword [sym.imp.KERNEL32.dll_DuplicateHandle]
push eax
call ebp
test eax, eax
je 0x10008b93
mov ecx, dword [esp + 0x20]
push str.BoxedAppSDK_RemoteAgent_MainAppProcessHandle
push ecx
push esi
call fcn.1000d270
add esp, 0xc
test eax, eax
je 0x10008b93
lea edx, [esp + 0x14]
push edx
push 4
lea ecx, [esp + 0x38]
push ecx
push eax
push esi
call edi
push 0x400000
push 0
lea edx, [esp + 0x3c]
push edx
lea eax, [esp + 0x88]
push eax
call dword [sym.imp.KERNEL32.dll_CreatePipe]
test eax, eax
je 0x10008b93
mov edx, dword [esp + 0x34]
push 3
push 1
push 0
lea ecx, [esp + 0x58]
push ecx
push esi
push edx
call ebx
push eax
call ebp
test eax, eax
je 0x10008b93
push 0x400000
push 0
lea eax, [esp + 0x80]
push eax
lea ecx, [esp + 0x44]
push ecx
call dword [sym.imp.KERNEL32.dll_CreatePipe]
test eax, eax
je 0x10008b93
mov eax, dword [esp + 0x38]
push 3
push 1
push 0
lea edx, [esp + 0x50]
push edx
push esi
push eax
call ebx
push eax
call ebp
test eax, eax
je 0x10008b93
push 0x400000
push 0
lea ecx, [esp + 0x44]
push ecx
lea edx, [esp + 0x80]
push edx
call dword [sym.imp.KERNEL32.dll_CreatePipe]
test eax, eax
je 0x10008b93
mov ecx, dword [esp + 0x3c]
push 3
push 1
push 0
lea eax, [esp + 0x68]
push eax
push esi
push ecx
call ebx
push eax
call ebp
test eax, eax
je 0x10008b93
push 0x400000
push 0
lea edx, [esp + 0x78]
push edx
lea eax, [esp + 0x4c]
push eax
call dword [sym.imp.KERNEL32.dll_CreatePipe]
test eax, eax
je 0x10008b93
mov edx, dword [esp + 0x40]
push 3
push 1
push 0
lea ecx, [esp + 0x60]
push ecx
push esi
push edx
call ebx
push eax
call ebp
test eax, eax
je 0x10008b93
mov edx, dword [esp + 0x48]
lea eax, [esp + 0x14]
push eax
push 4
lea ecx, [esp + 0x4c]
push ecx
push edx
push esi
mov dword [esp + 0x40], 0xffffffff
call edi
mov edx, dword [esp + 0x50]
lea eax, [esp + 0x14]
push eax
push 4
lea ecx, [esp + 0x54]
push ecx
push edx
push esi
call edi
mov edx, dword [esp + 0x58]
lea eax, [esp + 0x14]
push eax
push 4
lea ecx, [esp + 0x5c]
push ecx
push edx
push esi
call edi
mov edx, dword [esp + 0x60]
lea eax, [esp + 0x14]
push eax
push 4
lea ecx, [esp + 0x64]
push ecx
push edx
push esi
call edi
mov eax, dword [esp + 0x8c]
test eax, eax
mov dword [esp + 0x28], 0
je 0x10008a36
push 0
push 1
push 2
lea ecx, [esp + 0x34]
push ecx
push esi
push eax
call ebx
push eax
call ebp
test eax, eax
je 0x10008b93
mov ecx, dword [esp + 0x64]
lea edx, [esp + 0x14]
push edx
push 4
lea eax, [esp + 0x30]
push eax
push ecx
push esi
call edi
push 0
push 0
push 0
push 0
call dword [sym.imp.KERNEL32.dll_CreateEventW]
push 2
push 1
push 0
lea edx, [esp + 0x74]
push edx
push esi
push eax
mov dword [esp + 0x7c], eax
call ebx
push eax
call ebp
test eax, eax
je 0x10008b93
mov ebp, dword [esp + 0x20]
push str.BoxedAppSDK_RemoteAgent_EventInitCompleted
push ebp
push esi
call fcn.1000d270
add esp, 0xc
test eax, eax
je 0x10008b93
lea ecx, [esp + 0x14]
push ecx
push 4
lea edx, [esp + 0x70]
push edx
push eax
push esi
call edi
mov eax, dword [esp + 0x94]
test eax, eax
mov dword [esp + 0x20], 0
je 0x10008ac2
lea ecx, [esp + 0x20]
push ecx
push eax
call fcn.10004240
add esp, 8
mov eax, dword [esp + 0x6c]
mov ecx, dword [esp + 0x20]
lea edx, [esp + 0x2c]
push edx
push 0
push 0
push eax
push ecx
push 0
push esi
call dword [sym.imp.KERNEL32.dll_CreateRemoteThread]
test eax, eax
je 0x10008b93
mov edi, dword [sym.imp.KERNEL32.dll_CloseHandle]
push eax
call edi
mov ebx, dword [esp + 0x64]
push 0xffffffffffffffff
push ebx
call dword [sym.imp.KERNEL32.dll_WaitForSingleObject]
push ebx
call edi
push esi
call fcn.1000d1e0
mov esi, eax
push 0x10
mov dword [esp + 0x74], esi
call fcn.10002e89
add esp, 8
test eax, eax
je 0x10008b3d
mov edx, dword [esp + 0x70]
mov ecx, dword [esp + 0x74]
push edx
mov edx, dword [esp + 0x7c]
push ecx
mov ecx, dword [esp + 0x84]
push edx
push ecx
push ebp
push esi
mov ecx, eax
call fcn.10007e20
mov esi, eax
jmp 0x10008b3f
xor esi, esi
mov ebx, dword [esp + 0x80]
lea edx, [ebx + 0xc]
push edx
lea ecx, [esp + 0x84]
mov dword [esp + 0x24], esi
call fcn.1000fcf0
lea eax, [esp + 0x20]
push eax
lea ecx, [esp + 0x70]
push ecx
lea ecx, [ebx + 0x64]
call fcn.10007c70
lea ecx, [esp + 0x80]
call fcn.1000fd10
lea edx, [esp + 0x2c]
push edx
push 0
push esi
push 0x1000a990
push 0
push 0
call dword [sym.imp.KERNEL32.dll_CreateThread]
test eax, eax
jne 0x10008ba8
lea ecx, [esp + 0x10]
call fcn.100032b0
pop ebx
pop edi
pop esi
xor eax, eax
pop ebp
add esp, 0x74
ret 0x18
push eax
call edi
lea ecx, [esp + 0x10]
call fcn.100032b0
pop ebx
pop edi
pop esi
mov eax, 1
pop ebp
add esp, 0x74
ret 0x18