Function at 0x14000d690
Capabilities:
Get socket status
Receive data
Receive data on socket

Disassembly:
mov qword [rsp + 0x18], rbx
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
lea rbp, [rsp - 0x1210]
mov eax, 0x1310
call fcn.14019a9c0
sub rsp, rax
mov rax, qword [0x1402698e0]
xor rax, rsp
mov qword [rbp + 0x1200], rax
mov r12, rcx
xor esi, esi
xor ecx, ecx
mov rdi, rdx
mov qword [rsp + 0x60], rdx
mov ebx, esi
call fcn.140199f14
mov r14d, dword [rsp + 0x3c]
mov dword [rsp + 0x34], 0xffffffff
mov byte [rbp + 0xf80], bl
mov byte [rbp + 0xf8c], bl
mov r13d, esi
lea r15, [rax + 0xa]
mov byte [rsp + 0x38], 1
mov qword [rdi], rsi
nop dword [rax]
nop dword [rax + rax]
mov r9d, 2
lea rdx, [rbp + 0xf80]
mov rcx, r12
lea r8d, [r9 + 0xc]
mov dword [rsp + 0x3c], reloc.WS2_32.dll_recv
call qword [sym.imp.WS2_32.dll_recv]
inc ebx
movsxd rdi, eax
mov dword [rsp + 0x48], ebx
cmp ebx, 0x3e8
jg 0x14000dd71
cmp edi, 0xffffffff
jne 0x14000d90e
call qword [sym.imp.WS2_32.dll_WSAGetLastError]
sub eax, 0x2728
je 0x14000d770
sub eax, 0xb
je 0x14000d770
cmp eax, 0x14
jne 0x14000db8d
nop dword [rax + rax]
xor ecx, ecx
call fcn.140199f14
cmp r15, rax
js 0x14000dbba
xor ecx, ecx
call fcn.140199f14
mov ecx, r15d
lea rdx, [rsp + 0x70]
sub ecx, eax
mov eax, 1
xor r9d, r9d
mov dword [rsp + 0x70], eax
lea rax, [rsp + 0x40]
mov dword [rsp + 0x40], ecx
xor r8d, r8d
mov ecx, 0x200
mov dword [rsp + 0x44], esi
mov qword [rsp + 0x20], rax
mov qword [rsp + 0x78], r12
call qword [sym.imp.WS2_32.dll_select]
mov r14d, eax
cmp eax, 0xffffffff
jne 0x14000db69
call qword [sym.imp.WS2_32.dll_WSAGetLastError]
cmp eax, 0x2714
je 0x14000d770
mov ecx, 0x274c
call qword [sym.imp.WS2_32.dll_WSASetLastError]
mov rcx, qword [0x14027d328]
or edx, 0xffffffff
call qword [sym.imp.KERNEL32.dll_WaitForSingleObject]
cmp byte [0x14027d200], 0
je 0x14000d8f8
call fcn.140009400
lea rcx, [0x140227d9c]
lea rdx, [0x140227da0]
test al, al
cmovne rdx, rcx
lea rcx, [0x14027d200]
call fcn.140197bc8
mov rdi, rax
test rax, rax
je 0x14000d8f8
call qword [sym.imp.KERNEL32.dll_GetCurrentThreadId]
mov ebx, eax
call sub.KERNEL32.dll_GetCurrentProcessId
lea rdx, str.Process_ID:__d___Thread_ID:__ld
lea rcx, [rbp + 0x1100]
mov r9d, ebx
mov r8d, eax
call fcn.140197bf8
lea rcx, [rsp + 0x60]
call fcn.14019d5ac
lea rcx, [rsp + 0x60]
call fcn.14019d748
or rsi, 0xffffffffffffffff
lea rdx, [rbp + 0x1100]
mov rcx, rsi
nop dword [rax]
inc rcx
cmp byte [rdx + rcx], 0
jne 0x14000d880
lea rdx, [rbp + 0x1100]
lea r8, str.__m__d__Y__H:_M:_S
mov r9, rax
add rcx, rdx
mov edx, 0x3c
call fcn.140199be0
movzx r8d, word [rsp + 0x68]
lea rax, [rbp + 0x1100]
inc rsi
cmp byte [rax + rsi], 0
jne 0x14000d8b4
lea rcx, [rbp + 0x1100]
lea rdx, str.._3.3hu
add rcx, rsi
call fcn.140197bf8
lea r9, str.Msg_Receive_recv_timed_out
lea r8, [rbp + 0x1100]
lea rdx, str._n_s__s_n
mov rcx, rdi
call fcn.14019c0ec
mov rcx, rdi
call fcn.14019be84
mov rcx, qword [0x14027d328]
call qword [sym.imp.KERNEL32.dll_ReleaseMutex]
mov eax, dword [rsp + 0x34]
jmp 0x14000dd97
test eax, eax
je 0x14000dd6d
cmp rdi, 0xc
jb 0x14000d923
movsx esi, byte [rbp + 0xf8c]
cmp qword [rbp + 0x1270], 0
je 0x14000d999
lea eax, [rsi - 1]
cmp eax, 0xb
jbe 0x14000d999
movzx edx, byte [rbp + 0xf80]
cmp dl, 0x47
je 0x14000d946
cmp dl, 0x50
jne 0x14000d9a0
cmp edi, 4
jl 0x14000d973
lea rdx, str.GET
lea rcx, [rbp + 0xf80]
mov r8d, 4
call fcn.140199100
test eax, eax
je 0x14000dc5c
movzx edx, byte [rbp + 0xf80]
cmp edi, 5
jl 0x14000d9a0
lea rdx, str.POST
lea rcx, [rbp + 0xf80]
mov r8d, 5
call fcn.140199100
test eax, eax
je 0x14000dc5c
movzx edx, byte [rbp + 0xf80]
xor cl, cl
lea eax, [rsi - 1]
cmp eax, 0xb
mov eax, 1
movzx ecx, cl
cmovbe ecx, eax
test cl, cl
je 0x14000dcf1
movzx eax, byte [rbp + 0xf81]
mov byte [rsp + 0x30], dl
mov byte [rsp + 0x31], al
movzx eax, byte [rbp + 0xf82]
mov byte [rsp + 0x32], al
movzx eax, byte [rbp + 0xf83]
mov byte [rsp + 0x33], al
mov ecx, dword [rsp + 0x30]
call qword [sym.imp.WS2_32.dll_ntohl]
movsxd rbx, eax
mov dword [rsp + 0x34], ebx
cmp esi, 6
je 0x14000d9ff
cmp ebx, 0x3c
jg 0x14000dccc
cmp ebx, 0x1dcd6500
jg 0x14000dccc
test r13, r13
jne 0x14000da24
mov rcx, rbx
call fcn.140198304
mov r13, rax
test rax, rax
je 0x14000dc6e
mov r8, rbx
mov edx, 0x20
mov rcx, r13
call fcn.14019ab30
mov rax, qword [rsp + 0x60]
mov edi, ebx
mov qword [rax], r13
xor eax, eax
mov esi, eax
xor r9d, r9d
mov r8d, edi
mov rdx, r13
mov rcx, r12
call qword [sym.imp.WS2_32.dll_recv]
inc esi
movsxd rbx, eax
cmp esi, 0x186a0
jg 0x14000dcc0
cmp ebx, 0xffffffff
jne 0x14000da93
call qword [sym.imp.WS2_32.dll_WSAGetLastError]
sub eax, 0x2728
je 0x14000dad3
sub eax, 0xb
je 0x14000dad3
cmp eax, 0x14
je 0x14000dad3
call qword [sym.imp.WS2_32.dll_WSAGetLastError]
lea rdx, str.Msg_Receive_recv_returns__d
jmp 0x14000db9a
cmp dword [0x14027d0e0], 0
je 0x14000dace
movzx r9d, byte [rsp + 0x38]
lea rcx, str.Cli___Srv
mov r8d, ebx
mov rdx, r13
mov qword [rsp + 0x20], r12
call fcn.14000bda0
mov eax, dword [rsp + 0x38]
test ebx, ebx
movzx eax, al
mov ecx, 0
cmovg eax, ecx
mov dword [rsp + 0x38], eax
add r13, rbx
sub edi, ebx
test edi, edi
jle 0x14000db56
xor ecx, ecx
call fcn.140199f14
cmp r15, rax
js 0x14000dc8a
xor ecx, ecx
call fcn.140199f14
mov ecx, r15d
lea rdx, [rsp + 0x70]
sub ecx, eax
xor eax, eax
xor r9d, r9d
mov dword [rsp + 0x40], ecx
xor r8d, r8d
mov ecx, 0x200
mov dword [rsp + 0x44], eax
mov qword [rsp + 0x78], r12
mov dword [rsp + 0x70], 1
mov qword [rsp + 0x20], rax
call qword [sym.imp.WS2_32.dll_select]
mov r14d, eax
cmp eax, 0xffffffff
jne 0x14000db3c
call qword [sym.imp.WS2_32.dll_WSAGetLastError]
cmp eax, 0x2714
je 0x14000dad7
jmp 0x14000db56
test eax, eax
jle 0x14000db56
lea rdx, [rsp + 0x70]
mov rcx, r12
call qword [sym.imp.WS2_32.dll___WSAFDIsSet]
test eax, eax
jne 0x14000da42
mov eax, dword [rsp + 0x34]
cmp eax, 0xffffffff
jne 0x14000dc9c
mov ebx, dword [rsp + 0x48]
xor esi, esi
test r14d, r14d
jle 0x14000d7db
lea rdx, [rsp + 0x70]
mov rcx, r12
call qword [sym.imp.WS2_32.dll___WSAFDIsSet]
test eax, eax
jne 0x14000d710
jmp 0x14000d7db
call qword [sym.imp.WS2_32.dll_WSAGetLastError]
lea rdx, str.Msg_Receive_peek_recv_returns__d
mov r8d, eax
lea rcx, [rbp + 0xf90]
call fcn.140197bf8
lea rcx, [rbp + 0xf90]
call fcn.14000c360
jmp 0x14000dd94
lea rdx, str.Msg_Receive_nWaitSecs_timeout_exceeded__d
lea rcx, [rbp + 0xf90]
mov r8d, 0xa
call fcn.140197bf8
mov rcx, qword [0x14027d328]
or edx, 0xffffffff
call qword [sym.imp.KERNEL32.dll_WaitForSingleObject]
cmp byte [0x14027d200], 0
je 0x14000dc4a
call fcn.140009400
lea rcx, [0x140227d9c]
lea rdx, [0x140227da0]
test al, al
cmovne rdx, rcx
lea rcx, [0x14027d200]
call fcn.140197bc8
mov rbx, rax
test rax, rax
je 0x14000dc4a
lea rcx, [rbp + 0x1100]
call fcn.14000c430
lea r9, [rbp + 0xf90]
lea r8, [rbp + 0x1100]
lea rdx, str._n_s__s_n
mov rcx, rbx
call fcn.14019c0ec
mov rcx, rbx
call fcn.14019be84
mov rcx, qword [0x14027d328]
call qword [sym.imp.KERNEL32.dll_ReleaseMutex]
jmp 0x14000dd94
mov rax, qword [rsp + 0x60]
xor ecx, ecx
mov qword [rax], rcx
lea eax, [rcx - 2]
jmp 0x14000dd97
mov ecx, reloc.WS2_32.dll_ntohl
call qword [sym.imp.WS2_32.dll_WSASetLastError]
lea rcx, str.Msg_Receive_out_of_memory
call fcn.14000c360
jmp 0x14000dd94
mov r8d, 0xa
lea rdx, str.Msg_Receive_nWaitSecs_timeout_exceeded__d
jmp 0x14000db9d
test edi, edi
jle 0x14000dd97
mov ecx, 0x274c
call qword [sym.imp.WS2_32.dll_WSASetLastError]
lea rcx, str.Msg_Receive_recv_timed_out
call fcn.14000c360
jmp 0x14000dd94
lea rcx, str.TSFormatLib::Msg_Receive::doloop::2_possible_corrupt_message
jmp 0x14000dd78
lea rdx, str._d_is_a_valid_trillium_message_with_possible_corruption__length_d
lea rcx, [rbp + 0xf90]
mov r9d, ebx
mov r8d, esi
call fcn.140197bf8
lea rcx, [rbp + 0xf90]
jmp 0x14000dd78
lea r8, [rsp + 0x3c]
lea rdx, [rsp + 0x50]
mov rcx, r12
call qword [sym.imp.WS2_32.dll_getpeername]
test eax, eax
jne 0x14000dd4b
movzx ecx, word [rsp + 0x52]
call qword [sym.imp.WS2_32.dll_ntohs]
mov ecx, dword [rsp + 0x54]
movzx ebx, ax
call qword [sym.imp.WS2_32.dll_inet_ntoa]
lea rdx, str._d_is_not_a_valid_trillium_message__Message_length__d_IP_Address__s_Port__d
lea rcx, [rbp + 0xf90]
mov r9d, edi
mov r8d, esi
mov dword [rsp + 0x28], ebx
mov qword [rsp + 0x20], rax
call fcn.140197bf8
lea rcx, [rbp + 0xf90]
jmp 0x14000dd78
lea rdx, str._d_is_not_a_valid_trillium_message__Message_length__d
lea rcx, [rbp + 0xf90]
mov r9d, edi
mov r8d, esi
call fcn.140197bf8
lea rcx, [rbp + 0xf90]
jmp 0x14000dd78
mov eax, esi
jmp 0x14000dd97
lea rcx, str.TSFormatLib::Msg_Receive::doloop::1_possible_corrupt_message
call fcn.14000c360
xor r9d, r9d
lea rdx, [rbp + 0x1090]
lea r8d, [r9 + 0x64]
mov rcx, r12
call qword [sym.imp.WS2_32.dll_recv]
or eax, 0xffffffff
mov rcx, qword [rbp + 0x1200]
xor rcx, rsp
call fcn.14019aa20
mov rbx, qword [rsp + 0x1360]
add rsp, 0x1310
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret