Function at 0x1001e860
Capabilities:
Get socket status

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x670
mov eax, dword [0x1004c024]
xor eax, ebp
mov dword [ebp - 0x238], eax
mov dword [ebp - 0x670], ecx
mov dword [ebp - 8], 0
mov dword [ebp - 0x11c], 0
mov dword [ebp - 0x120], 0
mov eax, dword [ebp + 0xc]
mov ecx, dword [eax + 8]
mov dword [ebp - 0x118], ecx
mov dword [ebp - 0x114], 0
mov edx, dword [ebp - 0x670]
cmp dword [edx + 0x148], 0
jne 0x1001e8d4
push 0x825
push 0x1003ea40
push str.RecvBuf
call dword [sym.imp.MSVCR80.dll__wassert]
add esp, 0xc
mov ecx, dword [ebp - 0x670]
cmp dword [ecx + 0x148], 0
jne 0x1001e90c
push 0x19a
lea ecx, [ebp - 0x644]
call fcn.10007900
mov edx, dword [eax]
mov dword [ebp - 0x640], edx
push 0x10046434
lea eax, [ebp - 0x640]
push eax
call sub.MSVCR80.dll__CxxThrowException
mov byte [ebp - 1], 0
movzx ecx, byte [ebp - 1]
test ecx, ecx
jne 0x1001ecd6
mov dword [ebp - 0x110], 0
mov dword [ebp - 0x228], 0
mov dword [ebp - 0x22c], 0
jmp 0x1001e94b
mov edx, dword [ebp - 0x22c]
add edx, 1
mov dword [ebp - 0x22c], edx
mov eax, dword [ebp - 0x22c]
cmp eax, dword [ebp - 0x110]
jae 0x1001e978
mov ecx, dword [ebp - 0x22c]
mov edx, dword [ebp - 0x670]
mov eax, dword [ebp + ecx*4 - 0x10c]
cmp eax, dword [edx + 0x14c]
jne 0x1001e976
jmp 0x1001e978
jmp 0x1001e93c
mov ecx, dword [ebp - 0x22c]
cmp ecx, dword [ebp - 0x110]
jne 0x1001e9b7
cmp dword [ebp - 0x110], 0x40
jae 0x1001e9b7
mov edx, dword [ebp - 0x22c]
mov eax, dword [ebp - 0x670]
mov ecx, dword [eax + 0x14c]
mov dword [ebp + edx*4 - 0x10c], ecx
mov edx, dword [ebp - 0x110]
add edx, 1
mov dword [ebp - 0x110], edx
xor eax, eax
jne 0x1001e930
cmp dword [ebp - 0x120], 0
je 0x1001ea5b
mov dword [ebp - 0x230], 0
jmp 0x1001e9e7
mov ecx, dword [ebp - 0x230]
add ecx, 1
mov dword [ebp - 0x230], ecx
mov edx, dword [ebp - 0x230]
cmp edx, dword [ebp - 0x228]
jae 0x1001ea14
mov eax, dword [ebp - 0x230]
mov ecx, dword [ebp - 0x670]
mov edx, dword [ebp + eax*4 - 0x224]
cmp edx, dword [ecx + 0x14c]
jne 0x1001ea12
jmp 0x1001ea14
jmp 0x1001e9d8
mov eax, dword [ebp - 0x230]
cmp eax, dword [ebp - 0x228]
jne 0x1001ea53
cmp dword [ebp - 0x228], 0x40
jae 0x1001ea53
mov ecx, dword [ebp - 0x230]
mov edx, dword [ebp - 0x670]
mov eax, dword [edx + 0x14c]
mov dword [ebp + ecx*4 - 0x224], eax
mov ecx, dword [ebp - 0x228]
add ecx, 1
mov dword [ebp - 0x228], ecx
xor edx, edx
jne 0x1001e9cc
lea eax, [ebp - 0x118]
push eax
push 0
lea ecx, [ebp - 0x228]
push ecx
lea edx, [ebp - 0x110]
push edx
mov eax, dword [ebp - 0x670]
mov ecx, dword [eax + 0x14c]
add ecx, 1
push ecx
call dword [sym.imp.WS2_32.dll_select]
mov dword [ebp - 8], eax
cmp dword [ebp - 8], 0xffffffff
jne 0x1001eacb
mov dword [ebp - 0x110], 0
mov dword [ebp - 0x228], 0
push 0x6d
lea ecx, [ebp - 0x64c]
call fcn.10007900
mov edx, dword [eax]
mov dword [ebp - 0x648], edx
push 0x10046434
lea eax, [ebp - 0x648]
push eax
call sub.MSVCR80.dll__CxxThrowException
cmp dword [ebp - 8], 0
jne 0x1001eb0e
mov dword [ebp - 0x110], 0
mov dword [ebp - 0x228], 0
push 0x192
lea ecx, [ebp - 0x654]
call fcn.10007900
mov ecx, dword [eax]
mov dword [ebp - 0x650], ecx
push 0x10046434
lea edx, [ebp - 0x650]
push edx
call sub.MSVCR80.dll__CxxThrowException
lea eax, [ebp - 0x110]
push eax
mov ecx, dword [ebp - 0x670]
mov edx, dword [ecx + 0x14c]
push edx
call sub.WS2_32.dll___WSAFDIsSet
test eax, eax
jne 0x1001eb59
cmp dword [ebp - 0x120], 0
je 0x1001ecd1
lea eax, [ebp - 0x228]
push eax
mov ecx, dword [ebp - 0x670]
mov edx, dword [ecx + 0x14c]
push edx
call sub.WS2_32.dll___WSAFDIsSet
test eax, eax
je 0x1001ecd1
mov eax, 1
test eax, eax
je 0x1001ecd1
mov dword [ebp - 0x120], 0
mov dword [ebp - 0x63c], 0x400
push 0x400
lea ecx, [ebp - 0x638]
push ecx
mov edx, dword [ebp + 8]
push edx
call sub.libssl_1_1.dll_SSL_read
add esp, 0xc
mov dword [ebp - 8], eax
mov eax, dword [ebp - 8]
push eax
mov ecx, dword [ebp + 8]
push ecx
call sub.libssl_1_1.dll_SSL_get_error
add esp, 8
mov dword [ebp - 0x234], eax
cmp dword [ebp - 0x234], 0
jne 0x1001ec5a
mov edx, dword [ebp - 0x11c]
add edx, dword [ebp - 8]
cmp edx, 0x1bff
jle 0x1001ec06
mov dword [ebp - 0x110], 0
mov dword [ebp - 0x228], 0
push 0x198
lea ecx, [ebp - 0x65c]
call fcn.10007900
mov eax, dword [eax]
mov dword [ebp - 0x658], eax
push 0x10046434
lea ecx, [ebp - 0x658]
push ecx
call sub.MSVCR80.dll__CxxThrowException
mov edx, dword [ebp - 8]
push edx
lea eax, [ebp - 0x638]
push eax
mov ecx, dword [ebp - 0x670]
mov edx, dword [ecx + 0x148]
add edx, dword [ebp - 0x11c]
push edx
call sub.ntdll.dll_memcpy
add esp, 0xc
mov eax, dword [ebp - 0x11c]
add eax, dword [ebp - 8]
mov dword [ebp - 0x11c], eax
mov ecx, dword [ebp + 8]
push ecx
call sub.libssl_1_1.dll_SSL_pending
add esp, 4
test eax, eax
je 0x1001ec52
jmp 0x1001eb59
mov byte [ebp - 1], 1
jmp 0x1001ecd1
cmp dword [ebp - 0x234], 6
jne 0x1001ec6b
mov byte [ebp - 1], 1
jmp 0x1001ecd1
cmp dword [ebp - 0x234], 2
jne 0x1001ec78
jmp 0x1001ecd1
cmp dword [ebp - 0x234], 3
jne 0x1001ec8f
mov dword [ebp - 0x120], 1
jmp 0x1001ecd1
mov dword [ebp - 0x110], 0
mov dword [ebp - 0x228], 0
push 0x19e
lea ecx, [ebp - 0x664]
call fcn.10007900
mov edx, dword [eax]
mov dword [ebp - 0x660], edx
push 0x10046434
lea eax, [ebp - 0x660]
push eax
call sub.MSVCR80.dll__CxxThrowException
jmp 0x1001eb59
jmp 0x1001e910
mov dword [ebp - 0x110], 0
mov dword [ebp - 0x228], 0
mov ecx, dword [ebp - 0x670]
mov edx, dword [ecx + 0x148]
mov eax, dword [ebp - 0x11c]
mov byte [edx + eax], 0
cmp dword [ebp - 0x11c], 0
jne 0x1001ed32
push 0x190
lea ecx, [ebp - 0x66c]
call fcn.10007900
mov ecx, dword [eax]
mov dword [ebp - 0x668], ecx
push 0x10046434
lea edx, [ebp - 0x668]
push edx
call sub.MSVCR80.dll__CxxThrowException
mov ecx, dword [ebp - 0x238]
xor ecx, ebp
call fcn.1000f6c2
mov esp, ebp
pop ebp
ret 8