Function at 0x4253f0
Capabilities:
Connect pipe
Read file on windows

Disassembly:
push 0xffffffffffffffff
push 0x552250
mov eax, dword fs:[0]
push eax
sub esp, 0x28
push ebx
push ebp
push esi
push edi
mov eax, dword [0x5b3890]
xor eax, esp
push eax
lea eax, [esp + 0x3c]
mov dword fs:[0], eax
mov edi, dword [esp + 0x4c]
inc dword [0x5b6880]
test edi, edi
jne 0x42543c
or eax, 0xffffffff
mov ecx, dword [esp + 0x3c]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x34
ret
mov eax, dword [edi + 4]
push 0
push 0x2000
push 0x2000
push 1
push 6
push 1
push eax
call fcn.004905d0
mov esi, eax
add esp, 0x1c
mov dword [esp + 0x24], esi
cmp esi, 0xffffffff
jne 0x42547f
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov ecx, dword [esp + 0x3c]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x34
ret
mov eax, dword [edi]
mov edx, dword [eax + 8]
mov ecx, edi
call edx
mov ebp, eax
test ebp, ebp
jne 0x425710
mov eax, dword [edi + 8]
test eax, eax
je 0x4254a5
push ebp
push 1
push eax
call fcn.0049bc10
add esp, 0xc
push 0
call dword [sym.imp.KERNEL32.dll_SetLastError]
lea ecx, [ecx]
push 0
push esi
call dword [sym.imp.KERNEL32.dll_ConnectNamedPipe]
test eax, eax
setne bl
call fcn.0051bc53
test bl, bl
jne 0x4254db
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov ebp, eax
cmp ebp, 0xb7
jne 0x4256eb
mov ebx, dword [sym.imp.KERNEL32.dll_ReadFile]
xor eax, eax
push eax
mov dword [esp + 0x18], eax
mov dword [esp + 0x20], eax
lea eax, [esp + 0x18]
push eax
push 4
lea ecx, [esp + 0x28]
push ecx
push esi
call ebx
xor eax, eax
cmp dword [esp + 0x14], eax
jne 0x425528
mov ebx, dword [sym.imp.KERNEL32.dll_GetLastError]
call ebx
mov ebp, eax
cmp ebp, 0x6d
jne 0x4256eb
push esi
call dword [sym.imp.KERNEL32.dll_DisconnectNamedPipe]
test eax, eax
jne 0x4254b0
call ebx
jmp 0x4256eb
mov dword [esp + 0x2c], eax
mov dword [esp + 0x30], eax
mov dword [esp + 0x34], eax
mov dword [esp + 0x38], eax
mov dword [esp + 0x2c], 0x627470
mov edx, dword [esp + 0x1c]
push edx
lea ecx, [esp + 0x30]
mov dword [esp + 0x48], eax
call fcn.00420a50
test eax, eax
je 0x4256da
mov eax, dword [esp + 0x34]
mov ecx, dword [esp + 0x1c]
mov dword [eax], ecx
mov eax, dword [esp + 0x38]
mov ecx, dword [esp + 0x34]
push 0
lea edx, [esp + 0x18]
push edx
add eax, 0xfffffffc
push eax
add ecx, 4
push ecx
push esi
call ebx
cmp eax, 1
sete al
test al, al
je 0x4256d4
cmp dword [esp + 0x14], 0
je 0x4256d4
cmp byte [edi + 0x45], 0
je 0x4255ac
push esi
call fcn.004aef00
add esp, 4
mov dword [esp + 0x18], eax
jmp 0x4255b4
mov dword [esp + 0x18], 0
mov edx, dword [esp + 0x18]
mov dword [esp + 0x20], edx
push esi
mov byte [esp + 0x48], 1
call dword [sym.imp.KERNEL32.dll_DisconnectNamedPipe]
test eax, eax
je 0x42567f
mov eax, dword [esp + 0x38]
mov edi, dword [esp + 0x34]
mov ebx, eax
test eax, eax
je 0x425690
xor esi, esi
test eax, eax
jle 0x425648
mov eax, ebx
sub eax, esi
cmp eax, 4
jb 0x425648
mov ecx, ebx
sub ecx, esi
cmp dword [esi + edi], ecx
jg 0x425648
lea eax, [edi + esi*8]
mov edx, dword [eax + esi]
add eax, esi
sub edx, 8
js 0x425641
mov ecx, dword [eax + 4]
test ecx, ecx
jns 0x425617
and ecx, 0x7fffffff
mov dword [eax + 4], ecx
cmp dword [eax + 4], 0
je 0x4256b0
mov ecx, dword [esp + 0x4c]
mov ebp, dword [esp + 0x18]
mov edx, dword [ecx]
push ebp
push eax
mov eax, dword [edx + 4]
call eax
mov ebp, eax
test ebp, ebp
jne 0x425648
add esi, dword [esi + edi]
cmp esi, ebx
jl 0x4255e8
jmp 0x42564d
mov ebp, 1
jmp 0x42564d
cmp ebp, 2
je 0x4256b0
mov eax, dword [esp + 0x18]
test eax, eax
je 0x425661
cmp eax, 0xffffffff
je 0x425661
push eax
call dword [sym.imp.KERNEL32.dll_CloseHandle]
lea ecx, [esp + 0x2c]
mov dword [esp + 0x44], 0xffffffff
call fcn.00420ae0
mov esi, dword [esp + 0x24]
mov edi, dword [esp + 0x4c]
jmp 0x4254b0
call dword [sym.imp.KERNEL32.dll_GetLastError]
lea ecx, [esp + 0x20]
call fcn.00425250
jmp 0x4256da
lea ecx, [esp + 0x20]
call fcn.00425250
lea ecx, [esp + 0x2c]
mov dword [esp + 0x44], 0xffffffff
call fcn.00420ae0
mov edi, dword [esp + 0x4c]
jmp 0x4256eb
lea ecx, [esp + 0x20]
call fcn.00425250
lea ecx, [esp + 0x2c]
mov dword [esp + 0x44], 0xffffffff
call fcn.00420ae0
mov esi, dword [esp + 0x24]
mov edi, dword [esp + 0x4c]
jmp 0x4256eb
call dword [sym.imp.KERNEL32.dll_GetLastError]
lea ecx, [esp + 0x2c]
mov dword [esp + 0x44], 0xffffffff
call fcn.00420ae0
push esi
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov edx, dword [edi]
mov eax, dword [edx + 0xc]
mov ecx, edi
call eax
test eax, eax
jne 0x425710
cmp byte [edi + 0x44], al
je 0x42570e
mov edx, dword [edi]
mov eax, dword [edx]
push 1
mov ecx, edi
call eax
xor eax, eax
mov ecx, dword [esp + 0x3c]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x34