Function at 0x46a29e
Capabilities:
Read file on windows
Write file on windows

Disassembly:
mov eax, 0x6bdbef
call fcn.006b6d3c
mov eax, 0x423c
call fcn.0053c780
push ebx
push esi
push edi
push 0x4000
xor ebx, ebx
lea eax, [ebp - 0x4248]
push ebx
push eax
or esi, 0xffffffff
call fcn.005530b0
push 0x208
lea eax, [ebp - 0x248]
push ebx
push eax
call fcn.005530b0
mov edi, dword [ebp + 8]
lea eax, [ebp - 0x248]
add esp, 0x18
mov ecx, edi
push 0x104
push eax
mov eax, dword [edi]
push esi
call dword [eax + 0x10]
push eax
push ebx
push 0xfde9
call dword [sym.imp.KERNEL32.dll_MultiByteToWideChar]
mov ecx, edi
test eax, eax
je 0x46a4c3
mov eax, dword [edi]
call dword [eax + 0xc]
mov ebx, dword [sym.imp.KERNEL32.dll_GetLastError]
jmp 0x46a363
xor eax, eax
push eax
push eax
push 3
push eax
push eax
push 0xc0000000
lea eax, [ebp - 0x248]
push eax
call dword [sym.imp.KERNEL32.dll_CreateFileW]
mov esi, eax
cmp esi, 0xffffffff
jne 0x46a367
call ebx
cmp eax, 0xe7
jne 0x46a3a9
push 0x4e20
lea eax, [ebp - 0x248]
push eax
call dword [sym.imp.KERNEL32.dll_WaitNamedPipeW]
mov ecx, edi
test eax, eax
je 0x46a395
mov eax, dword [edi]
call dword [eax + 0xc]
test al, al
jne 0x46a31c
push 0
push 0
lea eax, [ebp - 0x14]
mov dword [ebp - 0x14], 2
push eax
push esi
call dword [sym.imp.KERNEL32.dll_SetNamedPipeHandleState]
test eax, eax
jne 0x46a3ca
mov esi, dword [edi]
call ebx
push eax
mov eax, dword [edi]
mov ecx, edi
call dword [eax + 0x10]
push eax
push str.SetNamedPipeHandleState_failed___s_._Last_error:__d_n
jmp 0x46a3bb
mov esi, dword [edi]
call dword [esi + 0x10]
push eax
push str.Could_not_open_pipe___s_:_20_second_wait_timed_out._n
push edi
call dword [esi + 0x14]
add esp, 0xc
jmp 0x46a3c2
mov esi, dword [edi]
call ebx
push eax
mov eax, dword [edi]
mov ecx, edi
call dword [eax + 0x10]
push eax
push str.Could_not_open_pipe___s_._Last_error:__d_n
push edi
call dword [esi + 0x14]
add esp, 0x10
or eax, 0xffffffff
jmp 0x46a47e
xor eax, eax
mov dword [ebp - 0x20], 0xf
mov dword [ebp - 0x24], eax
mov byte [ebp - 0x34], al
mov dword [ebp - 4], eax
mov dword [ebp - 0x18], eax
mov dword [ebp - 0x10], eax
jmp 0x46a45e
mov eax, dword [edi]
lea ecx, [ebp - 0x34]
push ecx
mov ecx, edi
call dword [eax + 8]
cmp dword [ebp - 0x20], 0x10
lea ecx, [ebp - 0x18]
push 0
push ecx
push dword [ebp - 0x24]
lea eax, [ebp - 0x34]
cmovae eax, dword [ebp - 0x34]
push eax
push esi
call dword [sym.imp.KERNEL32.dll_WriteFile]
test eax, eax
je 0x46a49d
push 0
lea eax, [ebp - 0x10]
mov byte [ebp + 8], 1
push eax
push 0x4000
lea eax, [ebp - 0x4248]
push eax
push esi
call dword [sym.imp.KERNEL32.dll_ReadFile]
mov dword [ebp - 0x1c], eax
test eax, eax
jne 0x46a444
call ebx
cmp eax, 0xea
jne 0x46a48d
mov byte [ebp + 8], 0
push dword [ebp + 8]
mov eax, dword [edi]
lea ecx, [ebp - 0x4248]
push dword [ebp - 0x10]
push ecx
mov ecx, edi
call dword [eax + 4]
cmp dword [ebp - 0x1c], 0
je 0x46a413
mov eax, dword [edi]
mov ecx, edi
call dword [eax + 0xc]
test al, al
jne 0x46a3e4
push esi
call dword [sym.imp.KERNEL32.dll_CloseHandle]
lea ecx, [ebp - 0x34]
call fcn.004063c5
xor eax, eax
mov ecx, dword [ebp - 0xc]
pop edi
pop esi
mov dword fs:[0], ecx
pop ebx
leave
ret
mov esi, dword [edi]
mov ecx, edi
push eax
call dword [esi + 0x10]
push eax
push str.Read_from_pipe___s__failed._Last_error:__d_n
jmp 0x46a4af
mov esi, dword [edi]
call ebx
push eax
mov eax, dword [edi]
mov ecx, edi
call dword [eax + 0x10]
push eax
push str.Write_to_pipe___s__failed._Last_error:__d_n
push edi
call dword [esi + 0x14]
add esp, 0x10
lea ecx, [ebp - 0x34]
call fcn.004063c5
jmp 0x46a3c2
mov esi, dword [edi]
call dword [esi + 0x10]
push eax
push str.Unable_to_convert_pipename___s__to_wide_character_string._n
push edi
call dword [esi + 0x14]
add esp, 0xc
lea ecx, [ebp - 0x40]
push str.failed_to_convert_char_to_wchar_string
call fcn.00405db2
push 0x7e8a44
lea eax, [ebp - 0x40]
push eax
call fcn.00552abb
int3