Function at 0x40b210
Capabilities:
Get socket status

Disassembly:
sub esp, 0xb84
push ebx
push ebp
push esi
push edi
mov ecx, 0x11f
xor eax, eax
lea edi, [esp + 0x715]
mov byte [esp + 0x714], 0
rep stosd dword es:[edi], eax
stosw word es:[edi], ax
stosb byte es:[edi], al
mov ecx, 0x7f
xor eax, eax
lea edi, [esp + 0x115]
mov byte [esp + 0x114], 0
rep stosd dword es:[edi], eax
stosw word es:[edi], ax
stosb byte es:[edi], al
mov ecx, 0xff
xor eax, eax
lea edi, [esp + 0x315]
mov byte [esp + 0x314], 0
rep stosd dword es:[edi], eax
mov ebp, dword [sym.imp.KERNEL32.dll_EnterCriticalSection]
mov ebx, dword [sym.imp.KERNEL32.dll_GetCurrentThreadId]
mov esi, dword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
stosw word es:[edi], ax
stosb byte es:[edi], al
mov ecx, 0x80
xor eax, eax
lea edi, [esp + 0x114]
mov edx, dword [esp + 0xb9c]
rep stosd dword es:[edi], eax
mov ecx, 0x120
lea edi, [esp + 0x714]
rep stosd dword es:[edi], eax
mov ecx, 0x100
lea edi, [esp + 0x314]
mov edx, dword [edx + 4]
mov dword [esp + 0x10], 1
rep stosd dword es:[edi], eax
mov eax, dword [esp + 0xb98]
mov ecx, dword [eax + 4]
xor eax, eax
mov dword [esp + 0x14], ecx
lea ecx, [esp + 0x14]
cmp dword [ecx], edx
je 0x40b2dc
inc eax
add ecx, 4
cmp eax, 1
jb 0x40b2cf
cmp eax, 1
jne 0x40b2ed
mov dword [esp + 0x18], edx
mov dword [esp + 0x10], 2
push 0
push 0
lea eax, [esp + 0x18]
push 0
push eax
push 0
call dword [sym.imp.WSOCK32.dll_select]
cmp eax, 0xffffffff
jl 0x40b30d
test eax, eax
jle 0x40b99a
mov edi, dword [esp + 0xb98]
lea ecx, [esp + 0x10]
push ecx
mov edx, dword [edi + 4]
push edx
call sub.WSOCK32.dll___WSAFDIsSet
test eax, eax
je 0x40b488
lea edi, [esp + 0x314]
or ecx, 0xffffffff
xor eax, eax
push 0x418950
repne scasb al, byte es:[edi]
not ecx
dec ecx
lea edi, [esp + 0x318]
mov edx, ecx
shr ecx, 2
rep stosd dword es:[edi], eax
mov ecx, edx
and ecx, 3
rep stosb byte es:[edi], al
lea eax, [esp + 0x318]
push eax
call dword [sym.imp.MSVCRT.dll_strstr]
add esp, 8
test eax, eax
jne 0x40b3e5
mov ecx, dword [0x4221cc]
lea edx, [esp + 0x114]
push ecx
mov ecx, dword [esp + 0xb9c]
push 0x1ff
push edx
call fcn.0040f3e0
test eax, eax
jle 0x40b534
lea edi, [esp + 0x114]
or ecx, 0xffffffff
xor eax, eax
lea edx, [esp + 0x314]
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
push 0x418950
mov esi, edi
mov edi, edx
mov edx, ecx
or ecx, 0xffffffff
repne scasb al, byte es:[edi]
mov ecx, edx
dec edi
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, edx
lea eax, [esp + 0x318]
and ecx, 3
push eax
rep movsb byte es:[edi], byte [esi]
call dword [sym.imp.MSVCRT.dll_strstr]
add esp, 8
test eax, eax
je 0x40b36a
mov esi, dword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
mov edi, dword [esp + 0xba4]
push 4
lea ecx, [esp + 0x318]
push edi
push ecx
call dword [sym.imp.MSVCRT.dll__strnicmp]
add esp, 0xc
test eax, eax
je 0x40b652
lea edi, [esp + 0x314]
or ecx, 0xffffffff
xor eax, eax
lea edx, [esp + 0x314]
repne scasb al, byte es:[edi]
not ecx
dec ecx
push ecx
mov ecx, dword [esp + 0xba0]
push edx
call fcn.0040f370
test eax, eax
je 0x40b6cb
lea eax, [esp + 0x314]
lea ecx, [esp + 0x714]
push eax
push str.FormClient::_s
push ecx
call dword [sym.imp.MSVCRT.dll_sprintf]
add esp, 0xc
push 0x423658
call ebp
push 0xbb3
push str.C:TEMPRisingAutoLinkProduct2005AppPersonalRavMonRavMonDRavMonCoreRavMonCore.cpp
push 1
call ebx
lea edx, [esp + 0x720]
push eax
push edx
call fcn.00407b30
add esp, 0x14
push 0x423658
call esi
mov edi, dword [esp + 0xb98]
mov ecx, dword [esp + 0xb9c]
lea eax, [esp + 0x10]
push eax
mov edx, dword [ecx + 4]
push edx
call sub.WSOCK32.dll___WSAFDIsSet
test eax, eax
je 0x40b27d
mov eax, dword [0x4221cc]
lea ecx, [esp + 0x114]
push eax
push 0x1ff
push ecx
mov ecx, dword [esp + 0xba8]
call fcn.0040f3e0
test eax, eax
jle 0x40b7af
lea edx, [esp + 0x114]
push eax
push edx
mov ecx, edi
call fcn.0040f370
test eax, eax
je 0x40b8cd
lea eax, [esp + 0x114]
lea ecx, [esp + 0x714]
push eax
push str.FormServer::_s
push ecx
call dword [sym.imp.MSVCRT.dll_sprintf]
add esp, 0xc
push 0x423658
call ebp
push 0xbca
push str.C:TEMPRisingAutoLinkProduct2005AppPersonalRavMonRavMonDRavMonCoreRavMonCore.cpp
push 1
call ebx
lea edx, [esp + 0x720]
push eax
push edx
call fcn.00407b30
add esp, 0x14
push 0x423658
call esi
jmp 0x40b27d
mov edi, 0x419b74
or ecx, 0xffffffff
xor eax, eax
lea edx, [esp + 0x714]
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
push 0x423658
mov eax, ecx
mov esi, edi
mov edi, edx
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
and ecx, 3
rep movsb byte es:[edi], byte [esi]
call ebp
push 0xb9c
push str.C:TEMPRisingAutoLinkProduct2005AppPersonalRavMonRavMonDRavMonCoreRavMonCore.cpp
call dword [sym.imp.KERNEL32.dll_GetLastError]
push eax
call ebx
lea ecx, [esp + 0x720]
push eax
push ecx
call fcn.00407b30
add esp, 0x14
push 0x423658
call dword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
mov ecx, dword [esp + 0xb98]
call fcn.0040f340
mov ecx, dword [esp + 0xb9c]
call fcn.0040f340
mov ecx, dword [esp + 0x10]
xor eax, eax
test ecx, ecx
jbe 0x40b5f5
mov edx, dword [esp + 0xb98]
mov esi, dword [edx + 4]
lea edx, [esp + 0x14]
cmp dword [edx], esi
je 0x40b5d1
inc eax
add edx, 4
cmp eax, ecx
jb 0x40b5c3
jmp 0x40b5f5
lea edx, [ecx - 1]
cmp eax, edx
jae 0x40b5f0
lea edx, [esp + eax*4 + 0x14]
mov ecx, dword [edx + 4]
inc eax
mov dword [edx], ecx
mov ecx, dword [esp + 0x10]
add edx, 4
lea esi, [ecx - 1]
cmp eax, esi
jb 0x40b5dc
dec ecx
mov dword [esp + 0x10], ecx
xor eax, eax
test ecx, ecx
jbe 0x40b99a
mov edx, dword [esp + 0xb9c]
mov esi, dword [edx + 4]
lea edx, [esp + 0x14]
cmp dword [edx], esi
je 0x40b626
inc eax
add edx, 4
cmp eax, ecx
jb 0x40b60d
pop edi
pop esi
pop ebp
xor eax, eax
pop ebx
add esp, 0xb84
ret
dec ecx
cmp eax, ecx
jae 0x40b99a
lea ecx, [esp + eax*4 + 0x14]
mov edx, dword [ecx + 4]
inc eax
mov dword [ecx], edx
mov edx, dword [esp + 0x10]
add ecx, 4
dec edx
cmp eax, edx
jb 0x40b633
pop edi
pop esi
pop ebp
xor eax, eax
pop ebx
add esp, 0xb84
ret
mov eax, dword [esp + 0xbac]
lea edx, [esp + 0x714]
mov ecx, dword [eax]
push ecx
push edi
push 0x419b44
push edx
call dword [sym.imp.MSVCRT.dll_sprintf]
add esp, 0x10
push 0x423658
call ebp
push 0xba5
push str.C:TEMPRisingAutoLinkProduct2005AppPersonalRavMonRavMonDRavMonCoreRavMonCore.cpp
push 1
call ebx
push eax
lea eax, [esp + 0x724]
push eax
call fcn.00407b30
add esp, 0x14
push 0x423658
call esi
mov edx, dword [esp + 0xba0]
lea ecx, [esp + 0x314]
push 0x40
push ecx
push edx
call dword [sym.imp.MSVCRT.dll_strncpy]
add esp, 0xc
mov eax, 1
pop edi
pop esi
pop ebp
pop ebx
add esp, 0xb84
ret
push 0x423658
call ebp
push 0xbae
push str.C:TEMPRisingAutoLinkProduct2005AppPersonalRavMonRavMonDRavMonCoreRavMonCore.cpp
call dword [sym.imp.KERNEL32.dll_GetLastError]
push eax
call ebx
push eax
push 0x419b24
call fcn.00407b30
add esp, 0x14
push 0x423658
call esi
mov esi, dword [esp + 0xb98]
mov ecx, esi
call fcn.0040f340
mov edi, dword [esp + 0xb9c]
mov ecx, edi
call fcn.0040f340
mov ecx, dword [esp + 0x10]
xor eax, eax
test ecx, ecx
jbe 0x40b759
mov esi, dword [esi + 4]
lea edx, [esp + 0x14]
cmp dword [edx], esi
je 0x40b735
inc eax
add edx, 4
cmp eax, ecx
jb 0x40b727
jmp 0x40b759
lea edx, [ecx - 1]
cmp eax, edx
jae 0x40b754
lea edx, [esp + eax*4 + 0x14]
mov ecx, dword [edx + 4]
inc eax
mov dword [edx], ecx
mov ecx, dword [esp + 0x10]
add edx, 4
lea esi, [ecx - 1]
cmp eax, esi
jb 0x40b740
dec ecx
mov dword [esp + 0x10], ecx
xor eax, eax
test ecx, ecx
jbe 0x40b99a
mov esi, dword [edi + 4]
lea edx, [esp + 0x14]
cmp dword [edx], esi
je 0x40b783
inc eax
add edx, 4
cmp eax, ecx
jb 0x40b76a
pop edi
pop esi
pop ebp
xor eax, eax
pop ebx
add esp, 0xb84
ret
dec ecx
cmp eax, ecx
jae 0x40b99a
lea ecx, [esp + eax*4 + 0x14]
mov edx, dword [ecx + 4]
inc eax
mov dword [ecx], edx
mov edx, dword [esp + 0x10]
add ecx, 4
dec edx
cmp eax, edx
jb 0x40b790
pop edi
pop esi
pop ebp
xor eax, eax
pop ebx
add esp, 0xb84
ret
mov edi, 0x419b0c
or ecx, 0xffffffff
xor eax, eax
lea edx, [esp + 0x714]
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
push 0x423658
mov eax, ecx
mov esi, edi
mov edi, edx
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
and ecx, 3
rep movsb byte es:[edi], byte [esi]
call ebp
push 0xbbf
push str.C:TEMPRisingAutoLinkProduct2005AppPersonalRavMonRavMonDRavMonCoreRavMonCore.cpp
call dword [sym.imp.KERNEL32.dll_GetLastError]
push eax
call ebx
lea ecx, [esp + 0x720]
push eax
push ecx
call fcn.00407b30
add esp, 0x14
push 0x423658
call dword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
mov ecx, dword [esp + 0xb98]
call fcn.0040f340
mov ecx, dword [esp + 0xb9c]
call fcn.0040f340
mov ecx, dword [esp + 0x10]
xor eax, eax
test ecx, ecx
jbe 0x40b870
mov edx, dword [esp + 0xb98]
mov esi, dword [edx + 4]
lea edx, [esp + 0x14]
cmp dword [edx], esi
je 0x40b84c
inc eax
add edx, 4
cmp eax, ecx
jb 0x40b83e
jmp 0x40b870
lea edx, [ecx - 1]
cmp eax, edx
jae 0x40b86b
lea edx, [esp + eax*4 + 0x14]
mov ecx, dword [edx + 4]
inc eax
mov dword [edx], ecx
mov ecx, dword [esp + 0x10]
add edx, 4
lea esi, [ecx - 1]
cmp eax, esi
jb 0x40b857
dec ecx
mov dword [esp + 0x10], ecx
xor eax, eax
test ecx, ecx
jbe 0x40b99a
mov edx, dword [esp + 0xb9c]
mov esi, dword [edx + 4]
lea edx, [esp + 0x14]
cmp dword [edx], esi
je 0x40b8a1
inc eax
add edx, 4
cmp eax, ecx
jb 0x40b888
pop edi
pop esi
pop ebp
xor eax, eax
pop ebx
add esp, 0xb84
ret
dec ecx
cmp eax, ecx
jae 0x40b99a
lea ecx, [esp + eax*4 + 0x14]
mov edx, dword [ecx + 4]
inc eax
mov dword [ecx], edx
mov edx, dword [esp + 0x10]
add ecx, 4
dec edx
cmp eax, edx
jb 0x40b8ae
pop edi
pop esi
pop ebp
xor eax, eax
pop ebx
add esp, 0xb84
ret
push 0x423658
call ebp
push 0xbc5
push str.C:TEMPRisingAutoLinkProduct2005AppPersonalRavMonRavMonDRavMonCoreRavMonCore.cpp
call dword [sym.imp.KERNEL32.dll_GetLastError]
push eax
call ebx
push eax
push 0x419af0
call fcn.00407b30
add esp, 0x14
push 0x423658
call esi
mov ecx, edi
call fcn.0040f340
mov ecx, dword [esp + 0xb9c]
call fcn.0040f340
mov ecx, dword [esp + 0x10]
xor eax, eax
test ecx, ecx
jbe 0x40b952
mov edi, dword [edi + 4]
lea edx, [esp + 0x14]
cmp dword [edx], edi
je 0x40b92e
inc eax
add edx, 4
cmp eax, ecx
jb 0x40b920
jmp 0x40b952
lea edx, [ecx - 1]
cmp eax, edx
jae 0x40b94d
lea edx, [esp + eax*4 + 0x14]
mov ecx, dword [edx + 4]
inc eax
mov dword [edx], ecx
mov ecx, dword [esp + 0x10]
add edx, 4
lea esi, [ecx - 1]
cmp eax, esi
jb 0x40b939
dec ecx
mov dword [esp + 0x10], ecx
xor eax, eax
test ecx, ecx
jbe 0x40b99a
mov edx, dword [esp + 0xb9c]
mov esi, dword [edx + 4]
lea edx, [esp + 0x14]
cmp dword [edx], esi
je 0x40b97f
inc eax
add edx, 4
cmp eax, ecx
jb 0x40b966
pop edi
pop esi
pop ebp
xor eax, eax
pop ebx
add esp, 0xb84
ret
dec ecx
cmp eax, ecx
jae 0x40b99a
lea ecx, [esp + eax*4 + 0x14]
mov edx, dword [ecx + 4]
inc eax
mov dword [ecx], edx
mov edx, dword [esp + 0x10]
add ecx, 4
dec edx
cmp eax, edx
jb 0x40b988
pop edi
pop esi
pop ebp
xor eax, eax
pop ebx
add esp, 0xb84
ret