Function at 0x14000d600
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.14019aba0
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.14019a0f4
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 0x14000dce1
cmp edi, 0xffffffff
jne 0x14000d87e
call qword [sym.imp.WS2_32.dll_WSAGetLastError]
sub eax, 0x2728
je 0x14000d6e0
sub eax, 0xb
je 0x14000d6e0
cmp eax, 0x14
jne 0x14000dafd
nop dword [rax + rax]
xor ecx, ecx
call fcn.14019a0f4
cmp r15, rax
js 0x14000db2a
xor ecx, ecx
call fcn.14019a0f4
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 0x14000dad9
call qword [sym.imp.WS2_32.dll_WSAGetLastError]
cmp eax, 0x2714
je 0x14000d6e0
mov ecx, 0x274c
call qword [sym.imp.WS2_32.dll_WSASetLastError]
mov rcx, qword [0x14027d2e8]
or edx, 0xffffffff
call qword [sym.imp.KERNEL32.dll_WaitForSingleObject]
cmp byte [0x14027d1c0], 0
je 0x14000d868
call fcn.1400093c0
lea rcx, [0x140227eec]
lea rdx, [0x140227ef0]
test al, al
cmovne rdx, rcx
lea rcx, [0x14027d1c0]
call fcn.140197a78
mov rdi, rax
test rax, rax
je 0x14000d868
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.140197aa8
lea rcx, [rsp + 0x60]
call fcn.14019d81c
lea rcx, [rsp + 0x60]
call fcn.14019d9b8
or rsi, 0xffffffffffffffff
lea rdx, [rbp + 0x1100]
mov rcx, rsi
nop dword [rax]
inc rcx
cmp byte [rdx + rcx], 0
jne 0x14000d7f0
lea rdx, [rbp + 0x1100]
lea r8, str.__m__d__Y__H:_M:_S
mov r9, rax
add rcx, rdx
mov edx, 0x3c
call fcn.140199dc0
movzx r8d, word [rsp + 0x68]
lea rax, [rbp + 0x1100]
inc rsi
cmp byte [rax + rsi], 0
jne 0x14000d824
lea rcx, [rbp + 0x1100]
lea rdx, str.._3.3hu
add rcx, rsi
call fcn.140197aa8
lea r9, str.Msg_Receive_recv_timed_out
lea r8, [rbp + 0x1100]
lea rdx, str._n_s__s_n
mov rcx, rdi
call fcn.14019c35c
mov rcx, rdi
call fcn.14019c0f4
mov rcx, qword [0x14027d2e8]
call qword [sym.imp.KERNEL32.dll_ReleaseMutex]
mov eax, dword [rsp + 0x34]
jmp 0x14000dd07
test eax, eax
je 0x14000dcdd
cmp rdi, 0xc
jb 0x14000d893
movsx esi, byte [rbp + 0xf8c]
cmp qword [rbp + 0x1270], 0
je 0x14000d909
lea eax, [rsi - 1]
cmp eax, 0xb
jbe 0x14000d909
movzx edx, byte [rbp + 0xf80]
cmp dl, 0x47
je 0x14000d8b6
cmp dl, 0x50
jne 0x14000d910
cmp edi, 4
jl 0x14000d8e3
lea rdx, str.GET
lea rcx, [rbp + 0xf80]
mov r8d, 4
call fcn.1401992e0
test eax, eax
je 0x14000dbcc
movzx edx, byte [rbp + 0xf80]
cmp edi, 5
jl 0x14000d910
lea rdx, str.POST
lea rcx, [rbp + 0xf80]
mov r8d, 5
call fcn.1401992e0
test eax, eax
je 0x14000dbcc
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 0x14000dc61
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 0x14000d96f
cmp ebx, 0x3c
jg 0x14000dc3c
cmp ebx, 0x1dcd6500
jg 0x14000dc3c
test r13, r13
jne 0x14000d994
mov rcx, rbx
call fcn.140198594
mov r13, rax
test rax, rax
je 0x14000dbde
mov r8, rbx
mov edx, 0x20
mov rcx, r13
call fcn.14019ad10
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 0x14000dc30
cmp ebx, 0xffffffff
jne 0x14000da03
call qword [sym.imp.WS2_32.dll_WSAGetLastError]
sub eax, 0x2728
je 0x14000da43
sub eax, 0xb
je 0x14000da43
cmp eax, 0x14
je 0x14000da43
call qword [sym.imp.WS2_32.dll_WSAGetLastError]
lea rdx, str.Msg_Receive_recv_returns__d
jmp 0x14000db0a
cmp dword [0x14027d0a0], 0
je 0x14000da3e
movzx r9d, byte [rsp + 0x38]
lea rcx, str.Cli___Srv
mov r8d, ebx
mov rdx, r13
mov qword [rsp + 0x20], r12
call fcn.14000bd10
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 0x14000dac6
xor ecx, ecx
call fcn.14019a0f4
cmp r15, rax
js 0x14000dbfa
xor ecx, ecx
call fcn.14019a0f4
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 0x14000daac
call qword [sym.imp.WS2_32.dll_WSAGetLastError]
cmp eax, 0x2714
je 0x14000da47
jmp 0x14000dac6
test eax, eax
jle 0x14000dac6
lea rdx, [rsp + 0x70]
mov rcx, r12
call qword [sym.imp.WS2_32.dll___WSAFDIsSet]
test eax, eax
jne 0x14000d9b2
mov eax, dword [rsp + 0x34]
cmp eax, 0xffffffff
jne 0x14000dc0c
mov ebx, dword [rsp + 0x48]
xor esi, esi
test r14d, r14d
jle 0x14000d74b
lea rdx, [rsp + 0x70]
mov rcx, r12
call qword [sym.imp.WS2_32.dll___WSAFDIsSet]
test eax, eax
jne 0x14000d680
jmp 0x14000d74b
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.140197aa8
lea rcx, [rbp + 0xf90]
call fcn.14000c2d0
jmp 0x14000dd04
lea rdx, str.Msg_Receive_nWaitSecs_timeout_exceeded__d
lea rcx, [rbp + 0xf90]
mov r8d, 0xa
call fcn.140197aa8
mov rcx, qword [0x14027d2e8]
or edx, 0xffffffff
call qword [sym.imp.KERNEL32.dll_WaitForSingleObject]
cmp byte [0x14027d1c0], 0
je 0x14000dbba
call fcn.1400093c0
lea rcx, [0x140227eec]
lea rdx, [0x140227ef0]
test al, al
cmovne rdx, rcx
lea rcx, [0x14027d1c0]
call fcn.140197a78
mov rbx, rax
test rax, rax
je 0x14000dbba
lea rcx, [rbp + 0x1100]
call fcn.14000c3a0
lea r9, [rbp + 0xf90]
lea r8, [rbp + 0x1100]
lea rdx, str._n_s__s_n
mov rcx, rbx
call fcn.14019c35c
mov rcx, rbx
call fcn.14019c0f4
mov rcx, qword [0x14027d2e8]
call qword [sym.imp.KERNEL32.dll_ReleaseMutex]
jmp 0x14000dd04
mov rax, qword [rsp + 0x60]
xor ecx, ecx
mov qword [rax], rcx
lea eax, [rcx - 2]
jmp 0x14000dd07
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.14000c2d0
jmp 0x14000dd04
mov r8d, 0xa
lea rdx, str.Msg_Receive_nWaitSecs_timeout_exceeded__d
jmp 0x14000db0d
test edi, edi
jle 0x14000dd07
mov ecx, 0x274c
call qword [sym.imp.WS2_32.dll_WSASetLastError]
lea rcx, str.Msg_Receive_recv_timed_out
call fcn.14000c2d0
jmp 0x14000dd04
lea rcx, str.TSFormatLib::Msg_Receive::doloop::2_possible_corrupt_message
jmp 0x14000dce8
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.140197aa8
lea rcx, [rbp + 0xf90]
jmp 0x14000dce8
lea r8, [rsp + 0x3c]
lea rdx, [rsp + 0x50]
mov rcx, r12
call qword [sym.imp.WS2_32.dll_getpeername]
test eax, eax
jne 0x14000dcbb
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.140197aa8
lea rcx, [rbp + 0xf90]
jmp 0x14000dce8
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.140197aa8
lea rcx, [rbp + 0xf90]
jmp 0x14000dce8
mov eax, esi
jmp 0x14000dd07
lea rcx, str.TSFormatLib::Msg_Receive::doloop::1_possible_corrupt_message
call fcn.14000c2d0
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.14019ac00
mov rbx, qword [rsp + 0x1360]
add rsp, 0x1310
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret