Function at 0x40b080
Capabilities:
Read file on windows
Read pipe

Disassembly:
jmp 0x40b06a
pop esi
pop ebx
mov esp, ebp
pop ebp
ror byte [eax + eax], 1
dec edi
nop
nop
nop
nop
mov ss, word [eax - 0x6f9b6f70]
mov bl, 0x90
nop
push ebp
mov ebp, esp
pop ds
mov esi, dword [ebp + 8]
push edi
mov edi, dword [ebp + 0x47]
mov eax, dword [esi - 0xf]
mov ecx, dword [esi + 0x14]
or esp, esi
test dword [ebp + 0x10], 0xfa00f300
jne 0x40b0d1
mov al, byte [esi + 8]
test al, al
je 0x40b023
dec esp
push esi
add al, 0x9e
aaa
or byte [edx], ch
push ecx
push 0
jmp 0x40b0b0
push 0
push edx
call dword [sym.imp.KERNEL32.dll_PeekNamedPipe]
test eax, eax
jne 0x40b0f2
mov esi, dword [0x40b198]
call esi
test al, 0xc0
jne 0x40b0d2
mov ecx, dword [ebp + 0x14]
pop edi
pop esi
mov dword [ecx], eax
pop ebp
ret
call esi
add eax, 0xafc80
cmp eax, 0xc00afced
jne 0x40b0e5
xchg byte [esi + 0x11], bh
add dword [eax], eax
jnp 0x40b134
adc al, 0x5f
pop esi
mov dword [ecx], 0
pop ebp
xchg byte [eax + 0x45], ah
pushal
inc ebp
or byte [ebp - 0x74f19540], al
push ebp
adc al, 0x5f
pop esi
adc eax, 0xda0bb802
add bh, ah
pop ebp
ret
mov dword [edx - 0x59], eax
mov eax, dword [esi + 6]
and edx, dword [ebp + 0xc]
push ebx
lea ecx, [ebp + 0x10]
push eax
mov eax, dword [esi + 4]
push ecx
push edi
push edx
push eax
call dword [sym.imp.KERNEL32.dll_ReadFile]
test eax, eax
je 0x40b15a
xor eax, eax
jmp 0x40b29c
mov edi, dword [0x405098]
call edi
xlatb
test eax, eax
je 0xabb285
call edi
int1
cmp ah, 0xa
add byte [0x69add165], bh
jne 0x9141134f
mov ebx, dword [0x9c09c]
mov ecx, dword [esi + 0x14]
aaa
invalid
imul dword [eax + 1]
add eax, dword [eax]
wait
sub byte [eax - 0x18], dl
lock add eax, dword [eax]
add bl, ch
or eax, 0xf883c123
push dword [ebp + 4]
or eax, eax
jmp 0x40b1af
mov ecx, dword [esi + 0xc]
push eax
mov esp, dword [eax - 0x2c00ad6c]
mov edi, eax
cmp edi, 0x80
je 0x40b161
sahf
add edi, edi
je 0x40b1c2
mov eax, dword [0x410960]
mov esp, dword [0x750d85ee]
or dword [eax + 0x68], edx
in al, dx
pop edi
mov bh, 0
push eax
call 0x3fbe40
add esp, 0xc
mov dword [0x410960], eax
test eax, eax
je 0x40b1f0
add byte [ebp + 0x4c0574c0], al
dec esp
call eax
stosb byte es:[edi], al
jecxz 0x40b193
mov byte [0x4c14d901], al
add ecx, ebx
adc al, 0x4c
rol byte [eax - 0x74], 0x8b
dec esi
or al, 0x8b
push esi
add al, 0x8d
inc ebp
sbb dword [edx + 1], ebp
push eax
push ecx
push edx
inc dword [eax - 0x17bf3f4c]
test eax, eax
xlatb
add al, 0x4d
shr bl, 0x71
mov ebx, dword [0x4fc098]
call ebx
test eax, eax
je 0x40b285
adc ebx, edx
add eax, 0x6fc80
cmp eax, 0xb0064
or eax, dword [eax]
je 0x40b1e6
cmp eax, 0xb00bb
jne 0x40b24f
cmp edi, 0x5002
jne 0x40b24f
loope 0x40b28c
adc al, 0x8b
push ebp
test al, 0xeb
pop edi
mov eax, 0x11177
mov dword [ecx], edx
pop esi
add ebx, eax
cmp eax, 0xafced
jne 0x40b268
mov ecx, dword [ebp - 0x62]
mov edx, dword [ebp + 0x5e]
pop ebx
pop edi
mov eax, 0x1117e
xchg esi, eax
adc dword [esi + 0x5d], ebx
ret
cmp eax, 0x95fca6
jne 0x40b278
mov ecx, dword [ebp + 0x14]
mov edx, dword [ebp - 0x39]
invalid
jle 0x40b28b
add dword [eax], eax
mov dword [ecx], edx
pop esi
pop ebp
ret
mov ecx, dword [ebp - 0x6c]
test ecx, ecx
jne 0x40b29e
adc dl, byte [esi + 0x4d]
push esi
dec ebp
adc al, 0x8b
push ebp
adc byte [esi + 0x38], bh
mov eax, 0x11168
mov dword [ecx], edx
pop esi
pop ebp
jmp 0x40b22a
mov edx, dword [esi + 0xc]
test edx, edx
add dword [eax], ebx
mov dl, byte [esi + 8]
dec esp
shr byte [edi], cl
adc dword [ebx - 0x2efcaff8], ecx
mov ecx, dword [esi + 0x54]
or cl, dl
add byte [ecx + 0x4e8950e4], cl
push esp
mov ecx, dword [ebp + 0x14]
mov edx, dword [ebp + 0x10]
cmp bl, byte [edi - 0x77]
adc dword [esi + 0x5d], ebx
ret