Function at 0x41e540
Capabilities:
Create a process with modified i/o handles and window
Create pipe
Create process on windows
Read file on windows

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x4c1436
mov eax, dword fs:[0]
push eax
mov eax, 0x2820
call fcn.00486600
mov eax, dword [0x4f840c]
xor eax, ebp
mov dword [ebp - 0x10], eax
push ebx
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov eax, dword [ebp + 8]
xor ebx, ebx
push 0x2710
mov dword [ebp - 0x27e4], ecx
lea edx, [ebp - 0x277f]
push ebx
mov ecx, 0x17
mov esi, str.wmic_BaseBoard_get_Manufacturer__SerialNumber
lea edi, [ebp - 0x6c]
push edx
mov dword [ebp - 0x27e8], eax
rep movsd dword es:[edi], dword [esi]
mov dword [ebp - 0x27c0], ebx
mov dword [ebp - 0x27bc], ebx
mov byte [ebp - 0x2780], bl
call sub.MSVCR100.dll_memset
mov dword [ebp - 0x2788], 0xf
mov dword [ebp - 0x278c], ebx
mov byte [ebp - 0x279c], bl
xor eax, eax
mov dword [ebp - 4], ebx
push 0x44
mov dword [ebp - 0x27d0], eax
mov dword [ebp - 0x27cc], eax
mov dword [ebp - 0x27c8], eax
mov dword [ebp - 0x27c4], eax
lea eax, [ebp - 0x282c]
push ebx
push eax
mov dword [ebp - 0x27e0], ebx
call sub.MSVCR100.dll_memset
add esp, 0x18
xor eax, eax
push ebx
lea ecx, [ebp - 0x27dc]
push ecx
mov dword [ebp - 0x27dc], eax
mov dword [ebp - 0x27d8], eax
mov dword [ebp - 0x27d4], eax
lea edx, [ebp - 0x27bc]
push edx
lea eax, [ebp - 0x27c0]
push eax
mov dword [ebp - 0x27d0], ebx
mov dword [ebp - 0x27cc], ebx
mov dword [ebp - 0x282c], 0x44
mov dword [ebp - 0x27dc], 0xc
mov dword [ebp - 0x27d8], ebx
mov dword [ebp - 0x27d4], 1
call dword [sym.imp.KERNEL32.dll_CreatePipe]
mov esi, eax
cmp esi, ebx
je 0x41e886
lea ecx, [ebp - 0x282c]
push ecx
call dword [sym.imp.KERNEL32.dll_GetStartupInfoW]
mov eax, dword [ebp - 0x27bc]
mov dword [ebp - 0x27ec], eax
mov dword [ebp - 0x27f0], eax
lea eax, [ebp - 0x27d0]
push eax
lea ecx, [ebp - 0x282c]
push ecx
push ebx
push ebx
push ebx
push 1
xor edx, edx
push ebx
mov word [ebp - 0x27fc], dx
push ebx
lea edx, [ebp - 0x6c]
push edx
push ebx
mov dword [ebp - 0x2800], 0x101
call dword [sym.imp.KERNEL32.dll_CreateProcessW]
mov esi, eax
cmp esi, ebx
je 0x41e886
mov eax, dword [ebp - 0x27d0]
push 0x1f4
push eax
call dword [sym.imp.KERNEL32.dll_WaitForSingleObject]
mov eax, dword [ebp - 0x27c0]
push ebx
lea ecx, [ebp - 0x27e0]
push ecx
push 0x2710
lea edx, [ebp - 0x2780]
push edx
push eax
call dword [sym.imp.KERNEL32.dll_ReadFile]
mov esi, eax
cmp esi, ebx
je 0x41e886
lea ecx, [ebp - 0x2780]
push ecx
xor esi, esi
call dword [sym.imp.MSVCR100.dll_strlen]
add esp, 4
push eax
lea edx, [ebp - 0x2780]
push edx
lea ecx, [ebp - 0x279c]
call fcn.0040dda8
mov edi, dword [ebp - 0x27e8]
cmp dword [edi + 0x14], 0x10
mov ecx, dword [edi + 0x10]
jb 0x41e73c
mov eax, dword [edi]
jmp 0x41e73e
mov eax, edi
push ecx
push eax
lea eax, [ebp - 0x279c]
push eax
xor eax, eax
call fcn.00415a50
cmp eax, ebx
jl 0x41e886
mov edi, dword [edi + 0x10]
push 0xffffffffffffffff
add edi, eax
push edi
lea ecx, [ebp - 0x279c]
push ecx
lea eax, [ebp - 0x27b8]
call fcn.0040d403
mov esi, eax
lea edx, [ebp - 0x279c]
mov edi, 0x10
cmp edx, esi
je 0x41e7ee
cmp dword [ebp - 0x2788], edi
jb 0x41e799
mov eax, dword [ebp - 0x279c]
push eax
call dword [sym.imp.MSVCR100.dll_void___cdecl_operator_delete_void__]
add esp, 4
mov dword [ebp - 0x2788], 0xf
mov dword [ebp - 0x278c], ebx
mov byte [ebp - 0x279c], bl
cmp dword [esi + 0x14], edi
jae 0x41e7cc
mov ecx, dword [esi + 0x10]
inc ecx
push ecx
lea edx, [ebp - 0x279c]
push esi
push edx
call dword [sym.imp.MSVCR100.dll_memmove]
add esp, 0xc
jmp 0x41e7d6
mov eax, dword [esi]
mov dword [ebp - 0x279c], eax
mov dword [esi], ebx
mov ecx, dword [esi + 0x10]
mov dword [ebp - 0x278c], ecx
mov edx, dword [esi + 0x14]
mov dword [ebp - 0x2788], edx
mov dword [esi + 0x10], ebx
mov dword [esi + 0x14], ebx
cmp dword [ebp - 0x27a4], edi
jb 0x41e806
mov eax, dword [ebp - 0x27b8]
push eax
call dword [sym.imp.MSVCR100.dll_void___cdecl_operator_delete_void__]
add esp, 4
push 0x2711
lea ecx, [ebp - 0x2780]
push ebx
push ecx
call sub.MSVCR100.dll_memset
mov eax, dword [ebp - 0x279c]
add esp, 0xc
cmp dword [ebp - 0x2788], edi
jae 0x41e82f
lea eax, [ebp - 0x279c]
push eax
lea edx, [ebp - 0x2780]
push 0x2711
push edx
call dword [sym.imp.MSVCR100.dll_strcpy_s]
lea eax, [ebp - 0x2780]
add esp, 0xc
lea edx, [eax + 1]
mov edi, edi
mov cl, byte [eax]
inc eax
cmp cl, bl
jne 0x41e850
sub eax, edx
je 0x41e87f
mov edx, dword [ebp - 0x27e4]
mov cl, byte [ebp + ebx - 0x2780]
cmp cl, 0x20
je 0x41e87a
cmp cl, 0xa
je 0x41e87a
cmp cl, 0xd
je 0x41e87a
mov byte [edx], cl
inc edx
inc ebx
cmp ebx, eax
jb 0x41e861
mov esi, 1
jmp 0x41e88b
mov edi, 0x10
mov eax, dword [ebp - 0x27bc]
mov ebx, dword [sym.imp.KERNEL32.dll_CloseHandle]
push eax
call ebx
mov ecx, dword [ebp - 0x27c0]
push ecx
call ebx
mov edx, dword [ebp - 0x27d0]
push edx
call ebx
mov eax, dword [ebp - 0x27cc]
push eax
call ebx
cmp dword [ebp - 0x2788], edi
jb 0x41e8cd
mov ecx, dword [ebp - 0x279c]
push ecx
call dword [sym.imp.MSVCR100.dll_void___cdecl_operator_delete_void__]
add esp, 4
mov eax, esi
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 0x10]
xor ecx, ebp
call fcn.00485d44
mov esp, ebp
pop ebp
ret