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

Disassembly:
mov eax, 0x60ed66
call fcn.00609528
mov eax, 0x423c
call fcn.0052ce20
push ebx
push esi
push edi
push 0x4000
xor ebx, ebx
lea eax, [ebp - 0x4248]
push ebx
push eax
or esi, 0xffffffff
call fcn.00544d60
push 0x208
lea eax, [ebp - 0x248]
push ebx
push eax
call fcn.00544d60
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
jne 0x466a64
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.004059c3
push 0x6e490c
lea eax, [ebp - 0x40]
push eax
call fcn.00544393
mov eax, dword [edi]
call dword [eax + 0xc]
mov ebx, dword [sym.imp.KERNEL32.dll_GetLastError]
jmp 0x466ab8
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 0x466abc
call ebx
cmp eax, 0xe7
jne 0x466afe
push 0x4e20
lea eax, [ebp - 0x248]
push eax
call dword [sym.imp.KERNEL32.dll_WaitNamedPipeW]
mov ecx, edi
test eax, eax
je 0x466aea
mov eax, dword [edi]
call dword [eax + 0xc]
test al, al
jne 0x466a71
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 0x466b1f
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 0x466b10
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 0x466b17
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 0x466bd7
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 0x466bb3
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 0x466bf8
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 0x466b99
call ebx
cmp eax, 0xea
jne 0x466be8
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 0x466b68
mov eax, dword [edi]
mov ecx, edi
call dword [eax + 0xc]
test al, al
jne 0x466b39
push esi
call dword [sym.imp.KERNEL32.dll_CloseHandle]
push 0
push 1
lea ecx, [ebp - 0x34]
call fcn.0040637e
xor eax, eax
mov ecx, dword [ebp - 0xc]
pop edi
pop esi
mov dword fs:[0], ecx
pop ebx
mov esp, ebp
pop ebp
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 0x466c0a
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]
push 0
push 1
call fcn.0040637e
jmp 0x466b17