Function at 0x4ae730
Capabilities:
Get socket status

Disassembly:
mov qword [rsp + 8], rcx
mov rax, rsp
sub rsp, 0x6a8
mov qword [rax - 8], rbp
mov qword [rax - 0x10], rsi
mov qword [rax - 0x18], rdi
xor edi, edi
test rcx, rcx
mov qword [rax - 0x28], r13
mov qword [rax - 0x38], r15
mov esi, edx
mov rbp, rcx
mov dword [rsp + 0x30], edi
mov dword [rsp + 0x34], edi
mov r13d, r8d
mov r15d, edi
je 0x4ae789
test edx, edx
mov r9d, edi
je 0x4ae789
mov rax, rcx
cmp qword [rax], 0xffffffffffffffff
jne 0x4ae7ba
inc r9d
add rax, 0x10
cmp r9d, esi
jb 0x4ae777
test r8d, r8d
je 0x4ae7b3
test r8d, r8d
jns 0x4ae7aa
mov ecx, 0x2726
call qword [sym.imp.WS2_32.dll_WSASetLastError]
mov edi, 0xffffffff
mov eax, edi
jmp 0x4aea76
mov ecx, r8d
call qword [sym.imp.KERNEL32.dll_Sleep]
mov eax, edi
jmp 0x4aea76
test r8d, r8d
mov qword [rsp + reloc.MFC42u.dll_CWnd::CancelToolTips], rbx
jle 0x4ae7d4
mov r15d, r8d
call fcn.004b2570
mov rbx, rax
jmp 0x4ae7d9
mov rbx, qword [rsp + 0x30]
mov qword [rsp + CWnd::BindProperty], r12
mov qword [rsp + 0x678], r14
mov r9d, edi
mov r14, rsi
mov dword [rsp + 0x40], edi
mov r10d, edi
mov dword [rsp + 0x250], edi
mov r8d, edi
mov dword [rsp + AfxDaoInit], edi
mov r12, 0xffffffffffffffff
nop
mov rdx, qword [rbp]
mov word [rbp + 0xa], di
cmp rdx, 0xffffffffffffffff
je 0x4ae90a
movzx r11d, word [rbp + 8]
test r11b, 7
je 0x4ae90a
cmp rdx, r12
cmova r12, rdx
test r11b, 1
je 0x4ae876
test r9d, r9d
mov ecx, edi
mov rax, rdi
je 0x4ae859
cmp qword [rsp + rax*8 + 0x48], rdx
je 0x4ae859
inc ecx
inc rax
cmp ecx, r9d
jb 0x4ae848
cmp ecx, r9d
jne 0x4ae876
cmp r9d, 0x40
jae 0x4ae876
mov qword [rsp + rax*8 + 0x48], rdx
mov r9d, dword [rsp + 0x40]
inc r9d
mov dword [rsp + 0x40], r9d
test r11b, 4
je 0x4ae8c0
test r10d, r10d
mov ecx, edi
mov rax, rdi
je 0x4ae89a
cmp qword [rsp + rax*8 + 0x258], rdx
je 0x4ae89a
inc ecx
inc rax
cmp ecx, r10d
jb 0x4ae886
cmp ecx, r10d
jne 0x4ae8c0
cmp r10d, 0x40
jae 0x4ae8c0
mov qword [rsp + rax*8 + 0x258], rdx
mov r10d, dword [rsp + 0x250]
inc r10d
mov dword [rsp + 0x250], r10d
test r11b, 2
je 0x4ae90a
test r8d, r8d
mov ecx, edi
mov rax, rdi
je 0x4ae8e4
cmp qword [rsp + rax*8 + 0x468], rdx
je 0x4ae8e4
inc ecx
inc rax
cmp ecx, r8d
jb 0x4ae8d0
cmp ecx, r8d
jne 0x4ae90a
cmp r8d, 0x40
jae 0x4ae90a
mov qword [rsp + rax*8 + 0x468], rdx
mov r8d, dword [rsp + 0x460]
inc r8d
mov dword [rsp + AfxDaoInit], r8d
add rbp, 0x10
dec rsi
jne 0x4ae810
lea rbp, [rsp + 0x30]
test r13d, r13d
cmovs rbp, rdi
test r13d, r13d
jle 0x4ae955
mov eax, 0x10624dd3
imul r15d
sar edx, 6
mov eax, edx
shr eax, 0x1f
add edx, eax
mov eax, r15d
mov dword [rsp + 0x30], edx
imul edx, edx, 0x3e8
sub eax, edx
imul eax, eax, 0x3e8
mov dword [rsp + 0x34], eax
jmp 0x4ae962
test r13d, r13d
jne 0x4ae962
mov dword [rsp + 0x30], edi
mov dword [rsp + 0x34], edi
lea r9, [rsp + 0x460]
lea r8, [rsp + 0x250]
lea rdx, [rsp + 0x40]
lea ecx, [r12 + 1]
mov qword [rsp + 0x20], rbp
call qword [sym.imp.WS2_32.dll_select]
cmp eax, 0xffffffff
mov esi, eax
jne 0x4ae9c7
call qword [sym.imp.WS2_32.dll_WSAGetLastError]
test eax, eax
je 0x4ae99f
cmp eax, 0x2714
jne 0x4ae9c7
test r13d, r13d
jle 0x4ae923
call fcn.004b2570
mov rdx, rbx
mov rcx, rax
call fcn.004b25b0
mov r15d, r13d
sub r15d, eax
test r15d, r15d
jg 0x4ae923
test esi, esi
mov r12, qword [rsp + 0x688]
jns 0x4ae9dd
mov eax, 0xffffffff
jmp 0x4aea66
test esi, esi
jne 0x4ae9e8
xor eax, eax
jmp 0x4aea66
mov rbx, qword [rsp + 0x6b0]
add rbx, 0xa
nop
nop
nop
mov rcx, qword [rbx - 0xa]
mov word [rbx], 0
cmp rcx, 0xffffffffffffffff
je 0x4aea5b
lea rdx, [rsp + 0x40]
call sub.WS2_32.dll___WSAFDIsSet
test eax, eax
je 0x4aea21
or word [rbx], 1
mov rcx, qword [rbx - 0xa]
lea rdx, [rsp + 0x250]
call sub.WS2_32.dll___WSAFDIsSet
test eax, eax
je 0x4aea3a
or word [rbx], 4
mov rcx, qword [rbx - 0xa]
lea rdx, [rsp + 0x460]
call sub.WS2_32.dll___WSAFDIsSet
test eax, eax
je 0x4aea53
or word [rbx], 2
cmp word [rbx], 0
je 0x4aea5b
inc edi
add rbx, 0x10
dec r14
jne 0x4aea00
mov eax, edi
mov r14, qword [rsp + 0x678]
mov rbx, qword [rsp + reloc.MFC42u.dll_CWnd::CancelToolTips]
mov r15, qword [rsp + 0x670]
mov r13, qword [rsp + 0x680]
mov rdi, qword [rsp + 0x690]
mov rsi, qword [rsp + 0x698]
mov rbp, qword [rsp + 0x6a0]
add rsp, 0x6a8
ret