Function at 0x10007257
Capabilities:
Get socket status

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x35c
push ebx
push esi
push edi
mov edi, dword [0x100367f8]
xor ebx, ebx
mov dword [ebp - 4], edi
mov dword [ebp - 0x20], ebx
mov dword [ebp - 0x1c], 0x64
cmp edi, ebx
je 0x10007496
jmp 0x10007285
mov edi, dword [ebp - 4]
cmp dword [edi + 4], 2
jne 0x10007488
push dword [edi]
call sub.WS2_32.dll_htonl
mov dword [ebp - 8], eax
mov dword [ebp - 0x358], ebx
mov dword [ebp - 0x250], ebx
mov dword [ebp - 0x148], ebx
mov eax, dword [edi + 0x1c]
mov dword [ebp - 0x354], eax
xor esi, esi
inc esi
mov dword [ebp - 0x358], esi
mov eax, dword [edi + 0x1c]
mov dword [ebp - 0x24c], eax
mov dword [ebp - 0x250], esi
mov eax, dword [edi + 0x1c]
mov dword [ebp - 0x144], eax
lea eax, [ebp - 0x20]
push eax
lea eax, [ebp - 0x250]
push eax
lea eax, [ebp - 0x358]
push eax
lea eax, [ebp - 0x148]
push eax
push ebx
mov dword [ebp - 0x148], esi
call dword [sym.imp.WS2_32.dll_select]
mov eax, dword [edi + 0x10]
cmp eax, 2
jne 0x10007391
lea eax, [ebp - 0x148]
push eax
push dword [edi + 0x1c]
call sub.WS2_32.dll___WSAFDIsSet
test eax, eax
je 0x10007488
push ebx
push ebx
push dword [edi + 0x1c]
call dword [sym.imp.WS2_32.dll_accept]
mov ecx, eax
call fcn.10007241
push esi
push ebx
push ebx
push 0x2bf20
push ecx
mov ebx, eax
mov dword [ebp - 8], eax
call fcn.10006e60
add esp, 0x14
lea eax, [ebp - 0x18]
push 0x80
push eax
call fcn.100015eb
push ebx
lea esi, [ebp - 0x18]
call fcn.1000161e
add esp, 0xc
push dword [edi + 0x14]
call fcn.1000161e
pop ecx
push 0x17
mov eax, esi
call fcn.100016c7
push eax
mov eax, esi
call fcn.100016c4
push eax
call fcn.1000133b
add esp, 0xc
mov eax, esi
call fcn.100016ab
xor ebx, ebx
jmp 0x10007488
cmp eax, 3
jne 0x100073ec
lea eax, [ebp - 0x148]
push eax
push dword [edi + 0x1c]
call sub.WS2_32.dll___WSAFDIsSet
test eax, eax
je 0x10007488
push ebx
push ebx
push dword [edi + 0x1c]
call dword [sym.imp.WS2_32.dll_accept]
mov edi, eax
lea esi, [ebp - 0x40]
call fcn.10006916
mov esi, eax
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x14]
sub esp, 0x20
push 8
pop ecx
or eax, 0x110000
mov edi, esp
push eax
rep movsd dword es:[edi], dword [esi]
call fcn.1000614f
mov edi, dword [ebp - 4]
add esp, 0x24
xor ebx, ebx
jmp 0x10007488
lea eax, [ebp - 0x250]
push eax
push dword [edi + 0x1c]
call sub.WS2_32.dll___WSAFDIsSet
test eax, eax
jne 0x10007475
lea eax, [ebp - 0x358]
push eax
push dword [edi + 0x1c]
call sub.WS2_32.dll___WSAFDIsSet
test eax, eax
je 0x10007419
mov dword [edi + 4], esi
push 6
jmp 0x1000747a
lea eax, [ebp - 0x148]
push eax
push dword [edi + 0x1c]
call sub.WS2_32.dll___WSAFDIsSet
test eax, eax
je 0x10007467
mov eax, dword [edi + 0x1c]
push ebx
push ebx
push eax
mov dword [ebp - 4], eax
call dword [sym.imp.WS2_32.dll_accept]
mov dword [edi + 0x1c], eax
cmp eax, 0xffffffff
lea eax, [ebp - 8]
jne 0x1000744d
mov dword [edi + 4], ebx
push 4
jmp 0x10007452
mov dword [edi + 4], esi
push 6
push 4
push eax
call fcn.1000133b
add esp, 0xc
push dword [ebp - 4]
call sub.WS2_32.dll_closesocket
jmp 0x10007488
call dword [sym.imp.KERNEL32.dll_GetTickCount]
sub eax, dword [edi + 0x18]
cmp eax, dword [edi + 8]
jbe 0x10007488
push 4
mov dword [edi + 4], ebx
lea eax, [ebp - 8]
push 4
push eax
call fcn.1000133b
add esp, 0xc
mov eax, dword [edi + 0x20]
mov dword [ebp - 4], eax
cmp eax, ebx
jne 0x10007282
pop edi
pop esi
pop ebx
leave
ret