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

Disassembly:
push ebp
mov ebp, esp
mov eax, 0xc028
call fcn.0063cb10
mov eax, dword [0x906648]
xor eax, ebp
mov dword [ebp - 4], eax
mov eax, dword [ebp + 8]
mov ecx, dword [ebp + 0xc]
mov edx, dword [ebp + 0x14]
push ebx
mov eax, dword [eax]
push esi
push edi
push dword [ebp + 0x10]
mov ebx, dword [eax + 0x60]
push 0
push ecx
mov dword [ebp - 0xc018], ecx
mov dword [ebp - 0xc020], edx
mov dword [ebp - 0xc014], 0
call sub.VCRUNTIME140.dll_memset
mov eax, dword [ebx + 0x9c]
mov esi, 1
mov dword [ebp - 0xc01c], eax
mov edi, esi
mov dword [ebp - 0xc010], 0
add esp, 0xc
mov eax, dword [ebx + 0x10]
mov dword [ebp - 0x4004], eax
mov dword [ebp - 0x4008], esi
mov eax, dword [ebx + 0x10]
mov dword [ebp - 0x8008], eax
mov eax, esi
mov dword [ebp - 0x800c], edi
mov ecx, dword [ebx]
shr ecx, 0x11
and ecx, esi
xor edx, edx
test ecx, ecx
jne 0x5c0cea
test eax, eax
je 0x5c0cea
push ecx
push 0x3e8
push dword [ebp + 0x1c]
push dword [ebp + 0x18]
call fcn.0063c9c0
xor ecx, ecx
mov dword [ebp - 0xc028], eax
mov dword [ebp - 0xc024], 0
test esi, esi
je 0x5c0c2e
mov eax, dword [ebx + 0x10]
nop dword [eax]
cmp dword [ebp + ecx*4 - 0x4004], eax
je 0x5c0c2e
inc ecx
cmp ecx, esi
jb 0x5c0c20
cmp ecx, esi
jne 0x5c0c4a
cmp esi, 0x1000
jae 0x5c0c4a
mov eax, dword [ebx + 0x10]
mov dword [ebp + ecx*4 - 0x4004], eax
inc dword [ebp - 0x4008]
xor ecx, ecx
test edi, edi
je 0x5c0c61
mov eax, dword [ebx + 0x10]
cmp dword [ebp + ecx*4 - 0x8008], eax
je 0x5c0c61
inc ecx
cmp ecx, edi
jb 0x5c0c53
cmp ecx, edi
jne 0x5c0c7d
cmp edi, 0x1000
jae 0x5c0c7d
mov eax, dword [ebx + 0x10]
mov dword [ebp + ecx*4 - 0x8008], eax
inc dword [ebp - 0x800c]
mov eax, dword [ebp + 0x18]
or eax, dword [ebp + 0x1c]
je 0x5c0c8d
lea eax, [ebp - 0xc028]
jmp 0x5c0c8f
xor eax, eax
push eax
lea eax, [ebp - 0x800c]
push eax
lea eax, [ebp - 0xc010]
push eax
lea eax, [ebp - 0x4008]
push eax
mov eax, dword [ebx + 0x10]
inc eax
push eax
call dword [sym.imp.WS2_32.dll_select]
test eax, eax
je 0x5c0e94
cmp eax, 0xffffffff
je 0x5c0f84
lea eax, [ebp - 0x800c]
push eax
push dword [ebx + 0x10]
call sub.WS2_32.dll___WSAFDIsSet
test eax, eax
jne 0x5c0f09
test dword [ebx], 0x800000
jne 0x5c0e5d
mov edx, dword [ebp - 0xc014]
mov eax, dword [ebp + 0x10]
mov ecx, dword [ebp - 0xc018]
sub eax, edx
add ecx, edx
mov dword [ebp - 0x4008], 0
cmp dword [ebp - 0xc01c], 0
mov dword [ebp - 0xc010], 0
mov dword [ebp - 0x800c], 0
je 0x5c0f2d
push eax
push ecx
push dword [ebx + 0x9c]
call fcn.004adff0
mov edi, eax
push edi
push dword [ebx + 0x9c]
call fcn.004b10a0
add esp, 0x14
cmp eax, 6
ja case.0x5c0d49.1
jmp dword [eax*4 + 0x5c0fc4]
xor eax, eax
jmp 0x5c0e34
mov esi, dword [ebp - 0x4008]
xor ecx, ecx
test esi, esi
je 0x5c0d74
mov eax, dword [ebx + 0x10]
cmp dword [ebp + ecx*4 - 0x4004], eax
je 0x5c0d74
inc ecx
cmp ecx, esi
jb 0x5c0d66
cmp ecx, esi
jne 0x5c0d97
cmp esi, 0x1000
jae 0x5c0d97
mov eax, dword [ebx + 0x10]
mov dword [ebp + ecx*4 - 0x4004], eax
mov esi, dword [ebp - 0x4008]
inc esi
mov dword [ebp - 0x4008], esi
mov eax, 1
xor edi, edi
jmp 0x5c0e3a
mov eax, dword [ebp - 0xc010]
xor ecx, ecx
test eax, eax
je 0x5c0dc0
mov edx, dword [ebx + 0x10]
cmp dword [ebp + ecx*4 - 0xc00c], edx
je 0x5c0dc0
inc ecx
cmp ecx, eax
jb 0x5c0db2
cmp ecx, eax
jne 0x5c0e2f
cmp eax, 0x1000
jae 0x5c0e2f
mov eax, dword [ebx + 0x10]
mov dword [ebp + ecx*4 - 0xc00c], eax
inc dword [ebp - 0xc010]
jmp 0x5c0e2f
call dword [sym.imp.WS2_32.dll_WSAGetLastError]
test edi, edi
jg case.0x5c0d49.1
cmp eax, 0xb
je 0x5c0e00
cmp eax, 4
je 0x5c0e00
cmp eax, 0x2733
jne 0x5c0e9e
test byte [0x9538a8], 0x10
je 0x5c0e2f
push edi
push eax
push str.Read_from_SSL_error__d__olen__d_._Retrying_n
push 0x4a9
push str.E:_workspace_AC_CC_Windows_TACC_MASTER_master_src_common_bxr_bxr_ipsock.c
push str._bxr_ipsock_read
push dword [0x905228]
push 0x10
call fcn.004f21c0
add esp, 0x20
xor edi, edi
lea eax, [edi + 1]
mov esi, dword [ebp - 0x4008]
mov edx, dword [ebp - 0xc014]
xor ecx, ecx
add edx, edi
mov dword [ebp - 0xc014], edx
test eax, eax
je 0x5c0f4b
mov edi, dword [ebp - 0x800c]
jmp 0x5c0be2
test byte [0x9538a8], 1
je 0x5c0e8a
push str._bxr_ipsock_read__SSL__state__ips_flags__BXR_OPT_SHUTDOWN
push 0x45e
push str.E:_workspace_AC_CC_Windows_TACC_MASTER_master_src_common_bxr_bxr_ipsock.c
push str._bxr_ipsock_read
push dword [0x905228]
push 1
call fcn.004f21c0
add esp, 0x18
mov ecx, 0x6c
jmp 0x5c0f95
mov ecx, 0x3e
jmp 0x5c0f95
test byte [0x9538a8], 1
je 0x5c0efa
push edi
push eax
push str.Read_from_SSL_error__d__olen__d__n
push 0x4b1
push str.E:_workspace_AC_CC_Windows_TACC_MASTER_master_src_common_bxr_bxr_ipsock.c
push str._bxr_ipsock_read
push dword [0x905228]
push 1
call fcn.004f21c0
add esp, 0x20
test byte [0x9538a8], 1
je 0x5c0efa
push str.Failed_to_read_from_SSL_n
push 0x4b6
push str.E:_workspace_AC_CC_Windows_TACC_MASTER_master_src_common_bxr_bxr_ipsock.c
push str._bxr_ipsock_read
push dword [0x905228]
push 1
call fcn.004f21c0
add esp, 0x18
push edi
push dword [ebx + 0x9c]
call fcn.005c1f00
add esp, 8
or ecx, 0xffffffff
jmp 0x5c0f95
test byte [0x9538a8], 1
je 0x5c0e8a
push str._bxr_ipsock_read__SSL____Peer_shutdown_SSL_n
push 0x495
jmp 0x5c0e70
push 0
push eax
push ecx
push dword [ebx + 0x10]
call dword [sym.imp.WS2_32.dll_recv]
cmp eax, 0xffffffff
je 0x5c0f84
test eax, eax
je 0x5c0f68
mov edx, dword [ebp - 0xc014]
add edx, eax
mov eax, dword [ebx]
cmp edx, 4
jne 0x5c0f5d
or eax, 0x20000
xor ecx, ecx
mov dword [ebx], eax
jmp 0x5c0f9b
and eax, 0xfffdffff
xor ecx, ecx
mov dword [ebx], eax
jmp 0x5c0f9b
test byte [0x9538a8], 1
je 0x5c0e8a
push str._bxr_ipsock_read__SSL____olen__0
push 0x4c6
jmp 0x5c0e70
call dword [sym.imp.WS2_32.dll_WSAGetLastError]
push eax
call fcn.004f1a60
mov ecx, eax
add esp, 4
mov edx, dword [ebp - 0xc014]
mov esi, dword [ebp - 0xc020]
test esi, esi
je 0x5c0fae
xor eax, eax
test ecx, ecx
cmove eax, edx
mov dword [esi], eax
mov eax, ecx
mov ecx, dword [ebp - 4]
pop edi
pop esi
xor ecx, ebp
pop ebx
call fcn.0063c972
mov esp, ebp
pop ebp
ret