Function at 0x428132
Capabilities:
Check if file exists
Create pipe
Create thread

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x48
mov eax, dword [0x47bbb0]
xor eax, ebp
mov dword [ebp - 4], eax
push esi
mov esi, dword [ebp + 8]
push edi
mov edi, dword [ebp + 0xc]
mov dword [ebp - 0x48], edi
mov byte [ebp - 0x35], 0
cmp dword [edi + 0x14], 8
jb 0x42815b
mov eax, dword [edi]
jmp 0x42815d
mov eax, edi
push eax
call dword [sym.imp.SHLWAPI.dll_PathFileExistsW]
test eax, eax
jne 0x42816f
xor al, al
jmp 0x428318
push ebx
lea eax, [ebp - 0x1c]
push edi
push eax
call fcn.0042752c
cmp dword [ebp - 0xc], 0
pop ecx
pop ecx
je 0x428304
mov ebx, str..etl
push ebx
call fcn.00405140
pop ecx
push eax
push ebx
lea ecx, [ebp - 0x1c]
call fcn.00404e50
cmp dword [esi + 0x14], 8
jb 0x4281a4
mov esi, dword [esi]
push 0x474d31
push esi
call fcn.004293e8
mov dword [ebp - 0x44], eax
pop ecx
pop ecx
test eax, eax
je 0x428304
mov ebx, dword [ebp + 0x10]
mov esi, dword [ebx]
cmp esi, dword [ebx + 4]
je 0x428213
mov edi, eax
lea eax, [ebp - 0x34]
push esi
push eax
call fcn.0042752c
cmp dword [ebp - 0x24], 0
pop ecx
pop ecx
je 0x4281fc
cmp dword [esi + 0x14], 8
jb 0x4281e4
mov ecx, dword [esi]
jmp 0x4281e6
mov ecx, esi
cmp dword [ebp - 0x20], 8
lea eax, [ebp - 0x34]
push ecx
cmovae eax, dword [ebp - 0x34]
push eax
push edi
call fcn.00429724
add esp, 0xc
push 0
push 1
lea ecx, [ebp - 0x34]
call fcn.004046c0
add esi, 0x18
cmp esi, dword [ebx + 4]
jne 0x4281c8
mov edi, dword [ebp - 0x48]
and dword [ebp - 0x3c], 0
lea eax, [ebp - 0x40]
and dword [ebp - 0x40], 0
push 0
push 0
push eax
lea eax, [ebp - 0x3c]
push eax
call dword [sym.imp.KERNEL32.dll_CreatePipe]
mov eax, dword [ebp - 0x3c]
test eax, eax
je 0x4282f9
cmp dword [ebp - 0x40], 0
je 0x4282ea
push 0x28
call fcn.00437c81
pop ecx
test eax, eax
je 0x428259
mov ecx, eax
call fcn.0042729f
mov ebx, eax
jmp 0x42825b
xor ebx, ebx
xor edx, edx
lea ecx, [ebx + 0x10]
mov byte [ebx], dl
mov eax, dword [ebp - 0x40]
mov dword [ebx + 0xc], eax
cmp ecx, edi
je 0x428277
push 0xffffffffffffffff
push edx
push edi
call fcn.00406080
xor edx, edx
cmp dword [ebp + 0x14], 0x2710
mov eax, 0x3e8
push edx
cmovb eax, dword [ebp + 0x14]
cmp dword [ebp + 0x18], 0xa00000
push edx
push ebx
mov dword [ebx + 8], eax
mov eax, 0x80000
cmovb eax, dword [ebp + 0x18]
push 0x428330
push edx
push edx
mov dword [ebx + 4], eax
call dword [sym.imp.KERNEL32.dll_CreateThread]
cmp dword [ebp - 8], 8
lea ecx, [ebp - 0x1c]
push dword [ebp - 0x3c]
cmovae ecx, dword [ebp - 0x1c]
mov esi, eax
push ecx
push dword [ebp - 0x44]
call fcn.0042973e
add esp, 0xc
push 0xffffffffffffffff
push esi
call dword [sym.imp.KERNEL32.dll_WaitForSingleObject]
push esi
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov al, byte [ebx]
mov ecx, ebx
push 1
mov byte [ebp - 0x35], al
call fcn.004272c5
mov eax, dword [ebp - 0x3c]
test eax, eax
je 0x4282f9
push eax
call dword [sym.imp.KERNEL32.dll_CloseHandle]
and dword [ebp - 0x3c], 0
push dword [ebp - 0x44]
call fcn.00429262
pop ecx
jmp 0x428308
mov byte [ebp - 0x35], 0
push 0
push 1
lea ecx, [ebp - 0x1c]
call fcn.004046c0
mov al, byte [ebp - 0x35]
pop ebx
mov ecx, dword [ebp - 4]
pop edi
xor ecx, ebp
pop esi
call fcn.0043834d
mov esp, ebp
pop ebp
ret