Function at 0x10003fa0
Capabilities:
Get socket status

Disassembly:
mov eax, 0xfb10
call fcn.10016ca0
push ebx
push ebp
mov ebp, dword [esp + 0xfb1c]
mov eax, 0x10624dd3
push esi
push edi
mov ecx, dword [ebp + 8]
mov dword [esp + 0x1c], 1
imul ecx
sar edx, 6
mov eax, edx
shr eax, 0x1f
add edx, eax
mov dword [esp + 0x14], edx
lea eax, [edx + edx*4]
lea eax, [eax + eax*4]
lea edx, [eax + eax*4]
shl edx, 3
sub ecx, edx
lea edx, [esp + 0x1c]
lea eax, [ecx + ecx*4]
lea ecx, [esp + 0x14]
push ecx
push 0
lea eax, [eax + eax*4]
push 0
push edx
lea eax, [eax + eax*4]
shl eax, 3
mov dword [esp + 0x28], eax
mov eax, dword [ebp + 0x1e8]
mov dword [esp + 0x30], eax
inc eax
push eax
call dword [sym.imp.WS2_32.dll_select]
cmp eax, 0xffffffff
jne 0x1000403f
add ebp, 0xc4
push 0x100
push ebp
push str.select__:
call fcn.100071f0
add esp, 0xc
or eax, 0xffffffff
pop edi
pop esi
pop ebp
pop ebx
add esp, 0xfb10
ret
test eax, eax
jne 0x10004050
pop edi
pop esi
pop ebp
xor eax, eax
pop ebx
add esp, 0xfb10
ret
mov al, byte [ebp + 0x1ec]
lea edi, [ebp + 0xc4]
test al, 2
push 0x100
mov dword [esp + 0x14], 0
push edi
je 0x1000409e
mov ecx, dword [ebp + 0x1e8]
push 0
lea eax, [esp + 0x12c]
push 0xfa00
push eax
push ecx
call fcn.10007960
add esp, 0x18
cmp eax, 0xffffffff
jne 0x100040c2
pop edi
pop esi
pop ebp
or eax, eax
pop ebx
add esp, 0xfb10
ret
mov eax, dword [ebp + 0x1e8]
push 1
lea edx, [esp + 0x12c]
push 8
push edx
push eax
call fcn.10007960
add esp, 0x18
cmp eax, 0xffffffff
je 0x100042b8
mov edx, dword [ebp + 0x1e8]
push 0
lea ecx, [esp + 0x124]
push 7
push ecx
push edx
push edi
call fcn.10006dc0
add esp, 0x14
cmp eax, 7
je 0x10004107
cmp eax, 0xfffffffd
je 0x100042b8
jle 0x10004043
test eax, eax
jge 0x10004043
pop edi
pop esi
pop ebp
xor eax, eax
pop ebx
add esp, 0xfb10
ret
test byte [ebp + 0x1ec], 2
jne 0x1000413e
mov ecx, dword [ebp + 0x1e8]
push 0x100
push edi
push 1
lea eax, [esp + 0x134]
push 0x14
push eax
push ecx
call fcn.10007960
add esp, 0x18
cmp eax, 0xffffffff
mov dword [esp + 0x10], eax
je 0x100042b8
mov edx, dword [esp + 0x130]
mov ebx, dword [sym.imp.WS2_32.dll_ntohl]
push edx
call ebx
mov ecx, dword [ebp + 0x8c]
add eax, 0x10
cmp eax, ecx
ja 0x100042a5
mov esi, dword [esp + 0xfb28]
mov eax, dword [ebp + 0x90]
mov edx, dword [esp + 0xfb2c]
mov dword [esi], eax
mov ecx, dword [ebp + 0x90]
mov eax, dword [esp + 0x130]
add ecx, 0x10
push eax
mov dword [edx], ecx
call ebx
mov ecx, dword [esi]
mov dword [ecx + 8], eax
mov edx, dword [esp + 0x134]
push edx
call ebx
mov ecx, dword [esi]
mov dword [ecx + 0xc], eax
mov edx, dword [esp + 0x128]
push edx
call ebx
mov ecx, dword [esi]
mov dword [ecx], eax
mov edx, dword [esp + 0x12c]
push edx
call ebx
mov ecx, dword [esi]
mov dword [ecx + 4], eax
mov ecx, dword [ebp + 0x88]
mov al, byte [ebp + 0x1ec]
inc ecx
test al, 2
mov dword [ebp + 0x88], ecx
je 0x10004235
mov edx, dword [esi]
mov eax, dword [esp + 0xfb2c]
lea esi, [esp + 0x13c]
mov ecx, dword [edx + 8]
mov edi, dword [eax]
mov edx, ecx
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, edx
and ecx, 3
rep movsb byte es:[edi], byte [esi]
mov eax, dword [esp + 0x138]
push eax
call ebx
mov ecx, dword [ebp + 0x88]
cmp ecx, eax
je 0x10004295
mov edx, eax
pop edi
sub edx, ecx
mov ecx, dword [ebp + 0x84]
add ecx, edx
mov dword [ebp + 0x88], eax
mov dword [ebp + 0x84], ecx
pop esi
pop ebp
mov eax, 1
pop ebx
add esp, 0xfb10
ret
mov eax, dword [esi]
mov edx, dword [esp + 0xfb2c]
push 0x100
push edi
mov ecx, dword [eax + 8]
mov eax, dword [edx]
push 1
push ecx
mov ecx, dword [ebp + 0x1e8]
push eax
push ecx
call fcn.10007960
mov esi, dword [esp + 0x28]
add esp, 0x18
add esi, eax
cmp esi, 0xffffffff
je 0x100042b8
mov edx, dword [esp + 0x124]
push edx
call ebx
cmp esi, eax
je 0x10004295
mov eax, dword [esp + 0x124]
push 0
push 0
push eax
call ebx
mov ecx, dword [ebp + 0x1e8]
sub eax, esi
push eax
push ecx
call fcn.10007a10
add esp, 0x10
pop edi
pop esi
pop ebp
mov eax, 1
pop ebx
add esp, 0xfb10
ret
push str.Received_a_packet_that_is_larger_than_the_internal_buffer_size.
push 0x100
push edi
call fcn.10016898
add esp, 0xc
pop edi
pop esi
pop ebp
or eax, 0xffffffff
pop ebx
add esp, 0xfb10
ret