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

Disassembly:
mov qword [rsp + 0x10], rbx
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
lea rbp, [rsp - 0x3c0]
sub rsp, 0x4c0
mov rax, qword [0x14032b320]
xor rax, rsp
mov qword [rbp + 0x3b0], rax
mov qword [rbp - 0x58], r9
mov rsi, r8
mov r14, rcx
mov r13, qword [r8 + 0x28]
xor edi, edi
cmp r13, 0xffff
jle 0x14019351f
mov rbx, qword [r8 + 0x18]
lea rdi, [r13 - 0xffff]
add rdi, rbx
cmp rbx, rdi
ja 0x1401934ab
mov edx, 0xa
mov rcx, rbx
call fcn.14023dbfc
test rax, rax
je 0x1401934ab
lea rbx, [rax + 2]
cmp rbx, rdi
jbe 0x140193490
mov rax, qword [rsi + 0x28]
xor edi, edi
test rax, rax
mov ecx, edi
je 0x1401934bc
mov rcx, qword [rsi + 0x18]
sub rbx, rcx
test rbx, rbx
jg 0x1401934ca
mov qword [rsi + 0x28], rdi
jmp 0x14019351b
cmp rbx, rax
jge 0x1401934e4
mov rcx, qword [rsi + 0x18]
sub rax, rbx
lea rdx, [rcx + rbx]
mov r8, rax
call fcn.14023df70
jmp 0x1401934e7
mov rbx, rax
mov rdx, qword [rsi + 0x28]
cmp rdx, rbx
jne 0x140193510
mov rdx, qword [rsi + 0x18]
test rdx, rdx
je 0x140193502
mov rax, qword [rsi]
mov rcx, rsi
call qword [rax + 0x18]
mov qword [rsi + 0x18], rdi
mov qword [rsi + 0x28], rdi
mov qword [rsi + 0x20], rdi
jmp 0x14019351b
sub rdx, rbx
mov rcx, rsi
call fcn.140195ad0
mov r13, qword [rsi + 0x28]
cmp r13, 2
jb 0x14019353a
mov rax, qword [rsi + 0x18]
cmp word [rax + r13 - 2], 0
jne 0x14019353a
lea rax, [r13 - 2]
mov qword [rsi + 0x28], rax
lea rax, vtable.CVolCommonBaseWithMemManager.0
mov qword [rsp + 0x38], rax
lea rbx, vtable.CVolObject.0
mov qword [rsp + 0x38], rbx
mov qword [rsp + 0x40], rdi
mov qword [rsp + 0x48], rdi
lea rax, vtable.CVolMem.0
mov qword [rsp + 0x38], rax
mov qword [rsp + 0x50], rdi
mov qword [rsp + 0x60], rdi
mov qword [rsp + 0x58], rdi
mov eax, 0x40
mov qword [rsp + 0x68], rax
lea r12d, [rax - 0x3f]
mov dword [rsp + 0x30], edi
mov qword [rsp + 0x28], rdi
lea rax, [rsp + 0x30]
mov qword [rsp + 0x20], rax
xor r9d, r9d
xor r8d, r8d
xor edx, edx
mov rcx, r14
call qword [sym.imp.KERNEL32.dll_PeekNamedPipe]
test eax, eax
je 0x1401936c1
cmp dword [rsp + 0x30], 0
je 0x1401936c9
mov dword [rsp + 0x30], edi
mov qword [rsp + 0x20], rdi
lea r9, [rsp + 0x30]
mov r8d, 0x400
lea rdx, [rbp - 0x50]
mov rcx, r14
call qword [sym.imp.KERNEL32.dll_ReadFile]
test eax, eax
je 0x1401936c6
mov eax, dword [rsp + 0x30]
test eax, eax
je 0x1401936c9
mov ebx, eax
mov rax, qword [rsp + 0x58]
mov rdi, qword [rsp + 0x60]
sub rax, rdi
cmp rax, rbx
jl 0x140193669
cmp rbx, r12
jne 0x14019361d
mov rcx, qword [rsp + 0x50]
movzx eax, byte [rbp - 0x50]
mov byte [rdi + rcx], al
inc qword [rsp + 0x60]
jmp 0x14019368c
cmp rbx, 2
jne 0x140193637
mov rcx, qword [rsp + 0x50]
movzx eax, word [rbp - 0x50]
mov word [rdi + rcx], ax
add qword [rsp + 0x60], rbx
jmp 0x14019368c
cmp rbx, 4
jne 0x14019364f
mov rcx, qword [rsp + 0x50]
mov eax, dword [rbp - 0x50]
mov dword [rdi + rcx], eax
add qword [rsp + 0x60], rbx
jmp 0x14019368c
cmp rbx, 8
jne 0x140193669
mov rcx, qword [rsp + 0x50]
mov rax, qword [rbp - 0x50]
mov qword [rdi + rcx], rax
add qword [rsp + 0x60], rbx
jmp 0x14019368c
test rbx, rbx
je 0x14019368c
lea rdx, [rbx + rdi]
lea rcx, [rsp + 0x38]
call fcn.140195ad0
lea rcx, [rdi + rax]
mov r8, rbx
lea rdx, [rbp - 0x50]
call fcn.14023df70
xor edi, edi
mov dword [rsp + 0x30], edi
mov qword [rsp + 0x28], rdi
lea rax, [rsp + 0x30]
mov qword [rsp + 0x20], rax
xor r9d, r9d
xor r8d, r8d
xor edx, edx
mov rcx, r14
call qword [sym.imp.KERNEL32.dll_PeekNamedPipe]
test eax, eax
jne 0x1401935b1
lea rbx, vtable.CVolObject.0
mov r12, rdi
jmp 0x1401936d0
mov r12, rdi
lea rbx, vtable.CVolObject.0
lea rcx, [fcn.14018de50]
mov r14, qword [rsp + 0x60]
test r14, r14
je 0x14019395e
mov rdx, qword [rsp + 0x58]
mov rax, rdx
sub rax, r14
cmp rax, 4
jl 0x14019370a
mov rax, qword [rsp + 0x50]
mov dword [r14 + rax], edi
add qword [rsp + 0x60], 4
jmp 0x14019380e
lea rbx, [r14 + 4]
cmp rbx, r14
jne 0x14019371d
mov rcx, qword [rsp + 0x50]
jmp 0x140193803
test rbx, rbx
jne 0x140193767
mov rdx, qword [rsp + 0x50]
test rdx, rdx
je 0x140193750
mov rax, qword [rsp + 0x38]
mov r8, qword [rax + 0x18]
cmp r8, rcx
jne 0x140193748
lea rcx, [0x140489958]
call fcn.140196cd0
jmp 0x140193750
lea rcx, [rsp + 0x38]
call r8
mov qword [rsp + 0x50], rdi
mov qword [rsp + 0x60], rdi
mov qword [rsp + 0x58], rdi
mov rcx, rdi
jmp 0x140193803
mov rcx, qword [rsp + 0x50]
test rcx, rcx
jne 0x140193786
mov rdx, rbx
lea rcx, [rsp + 0x38]
call fcn.140195a50
mov rcx, rax
jmp 0x140193803
mov rdi, qword [rsp + 0x68]
test rdi, rdi
mov eax, 0x40
cmovle rdi, rax
cmp rdx, rbx
jl 0x1401937a4
sub rdx, rbx
cmp rdx, rdi
jle 0x1401937fc
mov rax, rbx
cqo
idiv rdi
sub rdi, rdx
add rdi, rbx
mov rax, qword [rsp + 0x38]
mov r9, qword [rax + 0x10]
lea rax, [method.CVolObjectArray.virtual_16]
mov r8, rdi
mov rdx, rcx
cmp r9, rax
jne 0x1401937e7
lea rcx, [0x140489958]
call int.140196bf0
mov rcx, rax
test rax, rax
je 0x140193a2a
jmp 0x1401937f2
lea rcx, [rsp + 0x38]
call r9
mov rcx, rax
mov qword [rsp + 0x50], rcx
mov qword [rsp + 0x58], rdi
xor edi, edi
mov qword [rsp + 0x60], rbx
mov dword [rcx + r14], edi
lea rbx, vtable.CVolObject.0
lea rax, vtable.CVolCommonBaseWithMemManager.0
mov qword [rsp + 0x70], rax
mov qword [rsp + 0x70], rbx
mov qword [rsp + 0x78], rdi
mov qword [rbp - 0x80], rdi
lea rax, vtable.CVolMem.0
mov qword [rsp + 0x70], rax
mov qword [rbp - 0x78], rdi
mov qword [rbp - 0x68], rdi
mov qword [rbp - 0x70], rdi
mov eax, 0x40
mov qword [rbp - 0x60], rax
mov rcx, qword [rsp + 0x50]
cmp qword [rsp + 0x60], 0
cmove rcx, rdi
lea rdx, [rsp + 0x70]
call fcn.140193260
mov rdi, rax
test rax, rax
je 0x140193909
cmp word [rax], 0
je 0x140193909
mov rbx, 0xffffffffffffffff
nop
inc rbx
cmp word [rax + rbx*2], 0
jne 0x140193880
add rbx, rbx
mov r14, qword [rsi + 0x28]
mov rax, qword [rsi + 0x20]
sub rax, r14
cmp rax, rbx
jl 0x1401938e2
cmp rbx, 2
jne 0x1401938b5
movzx ecx, word [rdi]
mov rax, qword [rsi + 0x18]
mov word [r14 + rax], cx
add qword [rsi + 0x28], rbx
jmp 0x140193902
cmp rbx, 4
jne 0x1401938cb
mov ecx, dword [rdi]
mov rax, qword [rsi + 0x18]
mov dword [r14 + rax], ecx
add qword [rsi + 0x28], rbx
jmp 0x140193902
cmp rbx, 8
jne 0x1401938e2
mov rcx, qword [rdi]
mov rax, qword [rsi + 0x18]
mov qword [r14 + rax], rcx
add qword [rsi + 0x28], rbx
jmp 0x140193902
test rbx, rbx
jle 0x140193902
lea rdx, [r14 + rbx]
mov rcx, rsi
call fcn.140195ad0
lea rcx, [r14 + rax]
mov r8, rbx
mov rdx, rdi
call fcn.14023df70
lea rbx, vtable.CVolObject.0
lea rax, vtable.CVolMem.0
mov qword [rsp + 0x70], rax
mov rdx, qword [rbp - 0x78]
lea r14, [fcn.14018de50]
test rdx, rdx
je 0x140193949
mov rax, qword [rsp + 0x70]
mov r8, qword [rax + 0x18]
cmp r8, r14
jne 0x140193941
lea rcx, [0x140489958]
call fcn.140196cd0
jmp 0x140193949
lea rcx, [rsp + 0x70]
call r8
xor edi, edi
mov qword [rbp - 0x78], rdi
mov qword [rbp - 0x68], rdi
mov qword [rbp - 0x70], rdi
mov qword [rsp + 0x70], rbx
jmp 0x140193965
lea r14, [fcn.14018de50]
mov rcx, qword [rbp - 0x58]
test rcx, rcx
je 0x140193978
mov rax, qword [rsi + 0x28]
sub rax, r13
mov qword [rcx], rax
mov rbx, qword [rsi + 0x28]
mov rax, qword [rsi + 0x20]
sub rax, rbx
cmp rax, 2
jl 0x140193998
mov rax, qword [rsi + 0x18]
mov word [rbx + rax], di
add qword [rsi + 0x28], 2
jmp 0x1401939a8
lea rdx, [rbx + 2]
mov rcx, rsi
call fcn.140195ad0
mov word [rax + rbx], di
lea rax, vtable.CVolMem.0
mov qword [rsp + 0x38], rax
mov rdx, qword [rsp + 0x50]
test rdx, rdx
je 0x1401939e2
mov rax, qword [rsp + 0x38]
mov r8, qword [rax + 0x18]
cmp r8, r14
jne 0x1401939da
lea rcx, [0x140489958]
call fcn.140196cd0
jmp 0x1401939e2
lea rcx, [rsp + 0x38]
call r8
mov qword [rsp + 0x50], rdi
mov qword [rsp + 0x60], rdi
mov qword [rsp + 0x58], rdi
lea rax, vtable.CVolObject.0
mov qword [rsp + 0x38], rax
mov rax, r12
mov rcx, qword [rbp + 0x3b0]
xor rcx, rsp
call fcn.14023ba10
mov rbx, qword [rsp + 0x508]
add rsp, 0x4c0
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret
mov rcx, 0xffffffffffffffff
call fcn.140251f2c
int3