Function at 0x1001e810
Capabilities:
Get socket status

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x670
mov eax, dword [0x10048024]
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 0x1001e884
push 0x819
push 0x1003c530
push str.RecvBuf
call dword [sym.imp.MSVCR80.dll__wassert]
add esp, 0xc
mov ecx, dword [ebp - 0x670]
cmp dword [ecx + 0x148], 0
jne 0x1001e8bc
push 0x19a
lea ecx, [ebp - 0x644]
call fcn.10009f00
mov edx, dword [eax]
mov dword [ebp - 0x640], edx
push 0x10042bf4
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 0x1001ec86
mov dword [ebp - 0x110], 0
mov dword [ebp - 0x228], 0
mov dword [ebp - 0x22c], 0
jmp 0x1001e8fb
mov edx, dword [ebp - 0x22c]
add edx, 1
mov dword [ebp - 0x22c], edx
mov eax, dword [ebp - 0x22c]
cmp eax, dword [ebp - 0x110]
jae 0x1001e928
mov ecx, dword [ebp - 0x22c]
mov edx, dword [ebp - 0x670]
mov eax, dword [ebp + ecx*4 - 0x10c]
cmp eax, dword [edx + 0x14c]
jne 0x1001e926
jmp 0x1001e928
jmp 0x1001e8ec
mov ecx, dword [ebp - 0x22c]
cmp ecx, dword [ebp - 0x110]
jne 0x1001e967
cmp dword [ebp - 0x110], 0x40
jae 0x1001e967
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 0x1001e8e0
cmp dword [ebp - 0x120], 0
je 0x1001ea0b
mov dword [ebp - 0x230], 0
jmp 0x1001e997
mov ecx, dword [ebp - 0x230]
add ecx, 1
mov dword [ebp - 0x230], ecx
mov edx, dword [ebp - 0x230]
cmp edx, dword [ebp - 0x228]
jae 0x1001e9c4
mov eax, dword [ebp - 0x230]
mov ecx, dword [ebp - 0x670]
mov edx, dword [ebp + eax*4 - 0x224]
cmp edx, dword [ecx + 0x14c]
jne 0x1001e9c2
jmp 0x1001e9c4
jmp 0x1001e988
mov eax, dword [ebp - 0x230]
cmp eax, dword [ebp - 0x228]
jne 0x1001ea03
cmp dword [ebp - 0x228], 0x40
jae 0x1001ea03
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 0x1001e97c
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 0x1001ea7b
mov dword [ebp - 0x110], 0
mov dword [ebp - 0x228], 0
push 0x6d
lea ecx, [ebp - 0x64c]
call fcn.10009f00
mov edx, dword [eax]
mov dword [ebp - 0x648], edx
push 0x10042bf4
lea eax, [ebp - 0x648]
push eax
call sub.MSVCR80.dll__CxxThrowException
cmp dword [ebp - 8], 0
jne 0x1001eabe
mov dword [ebp - 0x110], 0
mov dword [ebp - 0x228], 0
push 0x192
lea ecx, [ebp - 0x654]
call fcn.10009f00
mov ecx, dword [eax]
mov dword [ebp - 0x650], ecx
push 0x10042bf4
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 0x1001eb09
cmp dword [ebp - 0x120], 0
je 0x1001ec81
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 0x1001ec81
mov eax, 1
test eax, eax
je 0x1001ec81
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 0x1001ec0a
mov edx, dword [ebp - 0x11c]
add edx, dword [ebp - 8]
cmp edx, 0x1bff
jle 0x1001ebb6
mov dword [ebp - 0x110], 0
mov dword [ebp - 0x228], 0
push 0x198
lea ecx, [ebp - 0x65c]
call fcn.10009f00
mov eax, dword [eax]
mov dword [ebp - 0x658], eax
push 0x10042bf4
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 0x1001ec02
jmp 0x1001eb09
mov byte [ebp - 1], 1
jmp 0x1001ec81
cmp dword [ebp - 0x234], 6
jne 0x1001ec1b
mov byte [ebp - 1], 1
jmp 0x1001ec81
cmp dword [ebp - 0x234], 2
jne 0x1001ec28
jmp 0x1001ec81
cmp dword [ebp - 0x234], 3
jne 0x1001ec3f
mov dword [ebp - 0x120], 1
jmp 0x1001ec81
mov dword [ebp - 0x110], 0
mov dword [ebp - 0x228], 0
push 0x19e
lea ecx, [ebp - 0x664]
call fcn.10009f00
mov edx, dword [eax]
mov dword [ebp - 0x660], edx
push 0x10042bf4
lea eax, [ebp - 0x660]
push eax
call sub.MSVCR80.dll__CxxThrowException
jmp 0x1001eb09
jmp 0x1001e8c0
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 0x1001ece2
push 0x190
lea ecx, [ebp - 0x66c]
call fcn.10009f00
mov ecx, dword [eax]
mov dword [ebp - 0x668], ecx
push 0x10042bf4
lea edx, [ebp - 0x668]
push edx
call sub.MSVCR80.dll__CxxThrowException
mov ecx, dword [ebp - 0x238]
xor ecx, ebp
call fcn.1000f672
mov esp, ebp
pop ebp
ret 8