Function at 0x1400090d0
Capabilities:
Read file on windows
Receive data
Receive data on socket

Disassembly:
mov qword [rsp + 8], rbx
mov qword [rsp + 0x10], rbp
mov qword [rsp + 0x18], rsi
push rdi
push r12
push r13
push r14
push r15
sub rsp, 0x30
mov ebx, dword [0x1401b9958]
lea eax, [rdx - 1]
mov edx, dword [0x1401b9954]
lea r12, [0x1401b9960]
xor r13d, r13d
movsxd r15, eax
mov esi, r13d
mov r14d, r13d
mov rbp, rcx
test ebx, ebx
jne 0x140009265
nop dword [rax]
cmp dword [0x1401b9418], 2
jne 0x140009156
mov rcx, qword [0x140175908]
xor r9d, r9d
mov r8d, 0x400
mov dword [0x1401b98d4], 1
mov rdx, r12
call sub.WS2_32.dll_recv
mov ebx, eax
mov dword [0x1401b98d4], r13d
jmp 0x140009199
mov rax, qword [0x1401758d0]
cmp rax, 0xffffffffffffffff
jne 0x140009175
mov ecx, 0xfffffff6
call qword [sym.imp.KERNEL32.dll_GetStdHandle]
mov qword [0x1401758d0], rax
lea r9, [0x1401b9930]
mov qword [rsp + 0x20], r13
mov r8d, 0x400
mov rdx, r12
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_ReadFile]
mov ebx, dword [0x1401b9930]
test ebx, ebx
jg 0x140009257
movsxd rax, dword [0x1401ba7d4]
imul rcx, rax, 0x38
cmp dword [0x1401b9418], 2
mov rax, qword [0x140175020]
jne 0x1400091e8
test byte [rcx + rax + 0x18], 1
je 0x140009226
mov r8, qword [rcx + rax]
lea rcx, str._s_MONITOR:_s:
mov rdx, qword [section..data]
call fcn.140002310
call sub.WS2_32.dll_WSAGetLastError
lea rcx, [0x140176b38]
jmp 0x140009213
test byte [rcx + rax + 0x18], 1
je 0x14000921d
mov r8, qword [rcx + rax]
lea rcx, str._s_MONITOR:_s:
mov rdx, qword [section..data]
call fcn.140002310
call qword [sym.imp.KERNEL32.dll_GetLastError]
lea rcx, str.dvconChildRead___read_bailed_out__d__d_n
mov r8d, eax
mov edx, ebx
call fcn.140001fb0
cmp dword [0x1401b9418], 2
jne 0x14000922a
test ebx, ebx
je 0x140009232
test ebx, ebx
jns 0x140009120
lea rdx, str.Child_lost_connection_to_Parent_n
mov ecx, 1
call fcn.140002870
mov eax, 0xffffffff
mov dword [0x1401b9954], 0xffffffff
jmp 0x140009302
mov edx, ebx
mov dword [0x1401b9954], ebx
mov dword [0x1401b9958], ebx
movsxd rdi, edx
movsxd rax, ebx
sub rdi, rax
add rdi, r12
test ebx, ebx
je 0x1400092ab
nop word [rax + rax]
movsxd rcx, esi
cmp r14, r15
je 0x1400093b0
movzx eax, byte [rdi]
dec ebx
mov byte [r14 + rbp], al
inc rdi
inc r14
mov dword [0x1401b9958], ebx
inc esi
cmp al, 0xa
je 0x14000931f
test ebx, ebx
jne 0x140009280
cmp dword [0x1401b9414], 3
jne 0x140009111
movsxd rax, esi
mov byte [rax + rbp], r13b
movsxd rax, dword [0x1401ba7d4]
imul rcx, rax, 0x38
mov rax, qword [0x140175020]
test byte [rcx + rax + 0x18], 1
je 0x140009300
mov r8, qword [rcx + rax]
lea rcx, str._s_MONITOR:_s:
mov rdx, qword [section..data]
call fcn.140002310
mov r8, rbp
lea rcx, str.dvconChildReadLine_returning__d___s__n
mov edx, esi
call fcn.140001fb0
mov eax, esi
mov rbx, qword [rsp + 0x60]
mov rbp, qword [rsp + 0x68]
mov rsi, qword [rsp + 0x70]
add rsp, 0x30
pop r15
pop r14
pop r13
pop r12
pop rdi
ret
cmp esi, 1
jle 0x140009332
cmp byte [rcx + rbp - 1], 0xd
jne 0x140009332
mov esi, ecx
mov byte [rcx + rbp - 1], 0xa
movsxd rax, esi
mov byte [rax + rbp], r13b
movsxd rax, dword [0x1401ba7d4]
imul rdx, rax, 0x38
mov rax, qword [0x140175020]
test byte [rdx + rax + 0x18], 1
je 0x14000937a
mov r8, qword [rdx + rax]
lea rcx, str._s_MONITOR:_s:
mov rdx, qword [section..data]
call fcn.140002310
mov r8, rbp
lea rcx, [0x140176bb8]
mov edx, esi
call fcn.140001fb0
mov r8d, 3
lea rcx, [0x140175f0c]
mov rdx, rdi
call qword [sym.imp.api_ms_win_crt_string_l1_1_0.dll_strncmp]
test eax, eax
jne 0x140009300
mov ecx, dword [0x1401b9958]
cmp ecx, 3
cmove ecx, r13d
mov dword [0x1401b9958], ecx
jmp 0x140009300
movsxd rax, esi
mov byte [rax + rbp], r13b
jmp 0x140009300