Function at 0x140081340
Capabilities:
Read file on windows

Disassembly:
push rbp
push rsi
push rdi
push r14
push r15
lea rbp, [rsp - 0x37]
sub rsp, 0xc0
mov qword [rbp - 0x61], 0xfffffffffffffffe
mov qword [rsp + 0xf0], rbx
mov rax, qword [0x140131088]
xor rax, rsp
mov qword [rbp + 0x2f], rax
mov rbx, r8
mov rdi, rdx
xor r15d, r15d
mov dword [rbp - 0x69], r15d
xor eax, eax
mov qword [rbp - 0x51], rax
mov qword [rbp - 0x49], rax
mov qword [rbp - 0x41], rax
mov qword [rbp - 0x39], rax
mov qword [rbp - 0x31], rax
mov qword [rbp - 0x29], rax
lea rsi, vtable.talk_base::StreamInterface.0
mov qword [rbp - 0x59], rsi
lea rcx, [rbp - 0x51]
call fcn.1400249a0
nop
lea r14, vtable.talk_base::FileStream.0
mov qword [rbp - 0x59], r14
mov qword [rbp - 0x31], r15
mov byte [rbp - 0x29], r15b
xor r9d, r9d
lea r8, [0x1400ee854]
mov rdx, rbx
lea rcx, [rbp - 0x59]
call fcn.140023ff0
test al, al
jne 0x140081459
mov qword [rdi + 0x18], reloc.WS2_32.dll_ntohs
mov qword [rdi + 0x10], r15
cmp qword [rdi + 0x18], 0x10
jb 0x1400813f3
mov rax, qword [rdi]
jmp 0x1400813f6
mov rax, rdi
mov byte [rax], 0
xor r8d, r8d
lea rdx, [0x1400ea320]
mov rcx, rdi
call fcn.140009260
nop
mov qword [rbp - 0x59], r14
cmp qword [rbp - 0x31], 0
je 0x140081425
lea rcx, [rbp - 0x59]
call qword [0x1400eb5f0]
mov qword [rbp - 0x31], r15
mov qword [rbp - 0x59], rsi
lea rcx, [rbp - 0x51]
call fcn.140024770
nop
lea rax, vtable.talk_base::MessageHandler.0
mov qword [rbp - 0x59], rax
mov rcx, qword [0x140139118]
test rcx, rcx
je 0x140081454
lea rdx, [rbp - 0x59]
call fcn.1400229e0
nop
jmp 0x14008160c
mov rcx, qword [rbp - 0x31]
test rcx, rcx
je 0x140081593
call fcn.1400b0948
lea rdx, [rbp - 1]
mov ecx, eax
call fcn.1400b0854
test eax, eax
jne 0x140081593
movsxd rbx, dword [rbp + 0x13]
test rbx, rbx
je 0x140081593
cmp rbx, 0x500000
jbe 0x1400814d3
mov qword [rdi + 0x18], reloc.WS2_32.dll_ntohs
mov qword [rdi + 0x10], r15
cmp qword [rdi + 0x18], 0x10
jb 0x1400814ac
mov rax, qword [rdi]
jmp 0x1400814af
mov rax, rdi
mov byte [rax], 0
xor r8d, r8d
lea rdx, [0x1400ea320]
mov rcx, rdi
call fcn.140009260
nop
lea rcx, [rbp - 0x59]
call fcn.140023f80
jmp 0x14008160c
mov rcx, rbx
call fcn.14009e2ac
mov rsi, rax
test rax, rax
je 0x140081494
mov r14, r15
mov r9, qword [rbp - 0x31]
test r9, r9
je 0x14008151b
mov r8, rbx
mov edx, 1
mov rcx, rax
call fcn.1400b10b0
test rax, rax
jne 0x140081518
test rbx, rbx
je 0x140081518
mov rcx, qword [rbp - 0x31]
call fcn.1400b0e04
test eax, eax
jne 0x14008151b
jmp 0x140081520
mov r14, rax
cmp r14, rbx
je 0x14008152d
mov rcx, rsi
call fcn.14009de9c
jmp 0x140081494
mov qword [rbp - 9], reloc.WS2_32.dll_ntohs
mov qword [rbp - 0x11], r15
mov byte [rbp - 0x21], 0
mov r8, r14
mov rdx, rsi
lea rcx, [rbp - 0x21]
call fcn.140009260
mov rcx, rsi
call fcn.14009de9c
mov qword [rdi + 0x18], reloc.WS2_32.dll_ntohs
mov qword [rdi + 0x10], r15
cmp qword [rdi + 0x18], 0x10
jb 0x14008156c
mov rax, qword [rdi]
jmp 0x14008156f
mov rax, rdi
mov byte [rax], 0
lea rdx, [rbp - 0x21]
mov rcx, rdi
call fcn.14000c290
lea rcx, [rbp - 0x21]
call fcn.140009040
nop
lea rcx, [rbp - 0x59]
call fcn.140023f80
jmp 0x14008160c
mov qword [rdi + 0x18], reloc.WS2_32.dll_ntohs
mov qword [rdi + 0x10], r15
cmp qword [rdi + 0x18], 0x10
jb 0x1400815ab
mov rax, qword [rdi]
jmp 0x1400815ae
mov rax, rdi
mov byte [rax], 0
xor r8d, r8d
lea rdx, [0x1400ea320]
mov rcx, rdi
call fcn.140009260
nop
mov qword [rbp - 0x59], r14
cmp qword [rbp - 0x31], 0
je 0x1400815dd
lea rcx, [rbp - 0x59]
call qword [0x1400eb5f0]
mov qword [rbp - 0x31], r15
mov qword [rbp - 0x59], rsi
lea rcx, [rbp - 0x51]
call fcn.140024770
nop
lea rax, vtable.talk_base::MessageHandler.0
mov qword [rbp - 0x59], rax
mov rcx, qword [0x140139118]
test rcx, rcx
je 0x14008160c
lea rdx, [rbp - 0x59]
call fcn.1400229e0
nop
mov rax, rdi
mov rcx, qword [rbp + 0x2f]
xor rcx, rsp
call fcn.14009d860
mov rbx, qword [rsp + 0xf0]
add rsp, 0xc0
pop r15
pop r14
pop rdi
pop rsi
pop rbp
ret