Function at 0x42d221
Capabilities:
Create process on windows

Disassembly:
push ebp
mov ebp, esp
sub esp, 0xf4
mov eax, dword [0x46b008]
xor eax, ebp
mov dword [ebp - 4], eax
mov eax, dword [ebp + 8]
mov dword [ebp - 0x78], eax
mov eax, dword [ebp + 0xc]
mov dword [ebp - 0x94], eax
mov eax, dword [ebp + 0x10]
mov dword [ebp - 0x80], eax
mov eax, dword [ebp + 0x14]
push ebx
mov dword [ebp - 0x7c], eax
mov eax, dword [ebp + 0x18]
mov dword [ebp - 0x98], eax
xor eax, eax
push esi
push edi
lea edi, [ebp - 0x64]
stosd dword es:[edi], eax
push 0x44
stosd dword es:[edi], eax
stosd dword es:[edi], eax
stosd dword es:[edi], eax
xor eax, eax
mov ebx, eax
mov dword [ebp - 0x70], eax
push eax
mov dword [ebp - 0x6c], eax
mov dword [ebp - 0x74], eax
lea eax, [ebp - 0xf4]
push eax
mov dword [ebp - 0x68], ebx
call fcn.0042f710
xor eax, eax
lea edi, [ebp - 0x90]
stosd dword es:[edi], eax
add esp, 0xc
stosd dword es:[edi], eax
stosd dword es:[edi], eax
stosd dword es:[edi], eax
lea eax, [ebp - 0x64]
push eax
call dword [sym.imp.RPCRT4.dll_UuidCreate]
mov esi, eax
or esi, 1
jge 0x42d2b5
push str.Failed_to_create_netfx_chainer_guid.
push esi
call main
pop ecx
pop ecx
jmp 0x42d551
push 0x27
lea eax, [ebp - 0x54]
push eax
lea eax, [ebp - 0x64]
push eax
call dword [sym.imp.ole32.dll_StringFromGUID2]
test eax, eax
jne 0x42d2e5
mov esi, 0x8007000e
push esi
push 0x168
push str.c:_agent_work138_s_src_burnengine_netfxchainer.cpp
call fcn.004038f5
push str.Failed_to_convert_netfx_chainer_guid_into_string.
jmp 0x42d2a8
lea eax, [ebp - 0x54]
push eax
lea eax, [ebp - 0x6c]
push str.NetFxSection._ls
push eax
call main
mov esi, eax
add esp, 0xc
test esi, esi
jns 0x42d307
push str.Failed_to_allocate_section_name.
jmp 0x42d2a8
lea eax, [ebp - 0x54]
push eax
lea eax, [ebp - 0x70]
push str.NetFxEvent._ls
push eax
call main
mov esi, eax
add esp, 0xc
test esi, esi
jns 0x42d32c
push str.Failed_to_allocate_event_name.
jmp 0x42d2a8
lea eax, [ebp - 0x68]
push eax
push dword [ebp - 0x70]
push dword [ebp - 0x6c]
call main
mov esi, eax
test esi, esi
jns 0x42d356
push str.Failed_to_create_netfx_chainer.
push esi
call main
pop ecx
pop ecx
mov ebx, dword [ebp - 0x68]
jmp 0x42d551
push dword [ebp - 0x6c]
lea eax, [ebp - 0x74]
push dword [ebp - 0x94]
push str._ls__pipe__ls
push eax
call main
mov esi, eax
add esp, 0x10
test esi, esi
jns 0x42d37d
push str.Failed_to_allocate_netfx_chainer_arguments.
jmp 0x42d346
mov edi, dword [ebp - 0x78]
lea eax, [ebp - 0x90]
push eax
lea eax, [ebp - 0xf4]
mov dword [ebp - 0xf4], 0x44
push eax
xor eax, eax
push eax
push eax
push 0x8000000
push eax
push eax
push eax
push dword [ebp - 0x74]
push edi
call dword [sym.imp.kernel32.dll_CreateProcessW]
test eax, eax
jne 0x42d3f4
call dword [sym.imp.kernel32.dll_GetLastError]
mov esi, eax
test esi, esi
jle 0x42d3c9
movzx esi, si
or esi, 0x80070000
test esi, esi
js 0x42d3d0
mov esi, 0x80004005
push esi
push 0x17a
push str.c:_agent_work138_s_src_burnengine_netfxchainer.cpp
call fcn.004038f5
push edi
push str.Failed_to_CreateProcess_on_path:__ls
push esi
call main
add esp, 0xc
jmp 0x42d34e
mov ebx, dword [ebp - 0x68]
mov eax, dword [ebp - 0x90]
mov edi, dword [sym.imp.kernel32.dll_WaitForMultipleObjects]
mov dword [ebp - 0xa0], eax
mov eax, dword [ebx + 4]
mov dword [ebp - 0x9c], eax
jmp 0x42d43e
cmp eax, 1
jne 0x42d435
push dword [ebp - 0x7c]
push dword [ebp - 0x80]
push ebx
call main
mov esi, eax
test esi, esi
jns 0x42d43e
push str.Failed_to_process_netfx_chainer_message.
jmp 0x42d2a8
cmp eax, 0xffffffff
je 0x42d4e7
push 0x64
push 0
lea eax, [ebp - 0xa0]
push eax
push 2
call edi
test eax, eax
jne 0x42d414
push 0xffffffffffffffff
push dword [ebx + 0xc]
call dword [sym.imp.kernel32.dll_WaitForSingleObject]
mov eax, dword [ebx + 0x10]
cmp dword [eax + 4], 0
mov edi, dword [eax + 8]
jge 0x42d477
test edi, edi
je 0x42d474
cmp edi, 0x80004004
jne 0x42d477
mov edi, dword [eax + 4]
mov eax, dword [eax + 0xc]
push dword [ebx + 0xc]
mov dword [ebp - 0x78], eax
call dword [sym.imp.kernel32.dll_ReleaseMutex]
mov eax, dword [ebp - 0x98]
mov dword [eax], edi
cmp edi, 0x8000000a
jne 0x42d51f
push eax
push dword [ebp - 0x90]
call dword [sym.imp.kernel32.dll_GetExitCodeProcess]
test eax, eax
jne 0x42d551
call dword [sym.imp.kernel32.dll_GetLastError]
mov esi, eax
test esi, esi
jle 0x42d4c6
movzx esi, si
or esi, 0x80070000
test esi, esi
js 0x42d4cd
mov esi, 0x80004005
push esi
push 0x18a
push str.c:_agent_work138_s_src_burnengine_netfxchainer.cpp
call fcn.004038f5
push str.Failed_to_get_netfx_return_code.
jmp 0x42d2a8
call dword [sym.imp.kernel32.dll_GetLastError]
mov esi, eax
test esi, esi
jle 0x42d4fe
movzx esi, si
or esi, 0x80070000
test esi, esi
js 0x42d505
mov esi, 0x80004005
push esi
push 0x19e
push str.c:_agent_work138_s_src_burnengine_netfxchainer.cpp
call fcn.004038f5
push str.Failed_to_wait_for_netfx_chainer_process_to_complete
jmp 0x42d2a8
mov eax, dword [ebp - 0x78]
test eax, eax
jns 0x42d551
push dword [ebp - 0x7c]
and dword [ebp - 0xac], 0
and dword [ebp - 0xa4], 0
mov dword [ebp - 0xa8], eax
lea eax, [ebp - 0xb0]
push eax
mov dword [ebp - 0xb0], 1
call dword [ebp - 0x80]
cmp dword [ebp - 0x6c], 0
je 0x42d55f
push dword [ebp - 0x6c]
call main
cmp dword [ebp - 0x70], 0
je 0x42d56d
push dword [ebp - 0x70]
call main
push dword [ebp - 0x74]
call main
push ebx
call main
cmp dword [ebp - 0x8c], 0
mov edi, dword [sym.imp.kernel32.dll_CloseHandle]
je 0x42d599
push dword [ebp - 0x8c]
call edi
and dword [ebp - 0x8c], 0
cmp dword [ebp - 0x90], 0
je 0x42d5aa
push dword [ebp - 0x90]
call edi
mov ecx, dword [ebp - 4]
mov eax, esi
pop edi
pop esi
xor ecx, ebp
pop ebx
call fcn.0042de30
leave
ret 0x14