Function at 0x448c4d
Capabilities:
Get socket status

Disassembly:
push ebp
lea ebp, [esp - 0x6c]
sub esp, 0x380
mov eax, dword [0x4bf070]
xor eax, ebp
mov dword [ebp + 0x68], eax
push esi
push edi
xorps xmm0, xmm0
movlpd qword [ebp + 0x58], xmm0
and dword [ebp + 0x60], 0
mov byte [ebp - 0x2bd], 1
and dword [ebp - 0x2d0], 0
cmp dword [ebp + 0x74], 0
je 0x448cbf
and dword [ebp - 0x2b8], 0
jmp 0x448c9a
mov eax, dword [ebp - 0x2b8]
inc eax
mov dword [ebp - 0x2b8], eax
mov eax, dword [ebp - 0x2b8]
cmp eax, dword [ebp + 0x78]
jae 0x448cbf
mov eax, dword [ebp - 0x2b8]
mov ecx, dword [ebp + 0x74]
cmp dword [ecx + eax*8], 0xffffffff
je 0x448cbd
mov byte [ebp - 0x2bd], 0
jmp 0x448cbf
jmp 0x448c8d
movzx eax, byte [ebp - 0x2bd]
test eax, eax
je 0x448ce4
push dword [ebp + 0x7c]
call fcn.004492b9
pop ecx
mov dword [ebp - 0x2bc], eax
mov eax, dword [ebp - 0x2bc]
jmp 0x4492a6
cmp dword [ebp + 0x7c], 0
jle 0x448d09
mov eax, dword [ebp + 0x7c]
mov dword [ebp - 0x2d0], eax
lea eax, [ebp - 0x304]
push eax
call fcn.0045423f
pop ecx
mov esi, eax
lea edi, [ebp + 0x58]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
and dword [ebp - 0xac], 0
and dword [ebp - 0x1b0], 0
and dword [ebp - 0x2b4], 0
or dword [ebp - 0x2d4], 0xffffffff
and dword [ebp - 0x2b8], 0
jmp 0x448d3b
mov eax, dword [ebp - 0x2b8]
inc eax
mov dword [ebp - 0x2b8], eax
mov eax, dword [ebp - 0x2b8]
cmp eax, dword [ebp + 0x78]
jae 0x448f94
xor eax, eax
mov ecx, dword [ebp - 0x2b8]
mov edx, dword [ebp + 0x74]
mov word [edx + ecx*8 + 6], ax
mov eax, dword [ebp - 0x2b8]
mov ecx, dword [ebp + 0x74]
cmp dword [ecx + eax*8], 0xffffffff
jne 0x448d6b
jmp 0x448d2e
xor eax, eax
jne 0x448d6b
mov eax, dword [ebp - 0x2b8]
mov ecx, dword [ebp + 0x74]
movsx eax, word [ecx + eax*8 + 4]
and eax, 0x710
je 0x448f8f
mov eax, dword [ebp - 0x2b8]
mov ecx, dword [ebp + 0x74]
mov eax, dword [ecx + eax*8]
cmp eax, dword [ebp - 0x2d4]
jbe 0x448dae
mov eax, dword [ebp - 0x2b8]
mov ecx, dword [ebp + 0x74]
mov eax, dword [ecx + eax*8]
mov dword [ebp - 0x2d4], eax
mov eax, dword [ebp - 0x2b8]
mov ecx, dword [ebp + 0x74]
movsx eax, word [ecx + eax*8 + 4]
and eax, 0x300
je 0x448e4f
and dword [ebp - 0x2c4], 0
jmp 0x448ddd
mov eax, dword [ebp - 0x2c4]
inc eax
mov dword [ebp - 0x2c4], eax
mov eax, dword [ebp - 0x2c4]
cmp eax, dword [ebp - 0xac]
jae 0x448e0a
mov eax, dword [ebp - 0x2c4]
mov ecx, dword [ebp - 0x2b8]
mov edx, dword [ebp + 0x74]
mov eax, dword [ebp + eax*4 - 0xa8]
cmp eax, dword [edx + ecx*8]
jne 0x448e08
jmp 0x448e0a
jmp 0x448dd0
mov eax, dword [ebp - 0x2c4]
cmp eax, dword [ebp - 0xac]
jne 0x448e47
cmp dword [ebp - 0xac], 0x40
jae 0x448e47
mov eax, dword [ebp - 0x2c4]
mov ecx, dword [ebp - 0x2b8]
mov edx, dword [ebp + 0x74]
mov ecx, dword [edx + ecx*8]
mov dword [ebp + eax*4 - 0xa8], ecx
mov eax, dword [ebp - 0xac]
inc eax
mov dword [ebp - 0xac], eax
xor eax, eax
jne 0x448dc7
mov eax, dword [ebp - 0x2b8]
mov ecx, dword [ebp + 0x74]
movsx eax, word [ecx + eax*8 + 4]
and eax, 0x10
je 0x448eee
and dword [ebp - 0x2c8], 0
jmp 0x448e7c
mov eax, dword [ebp - 0x2c8]
inc eax
mov dword [ebp - 0x2c8], eax
mov eax, dword [ebp - 0x2c8]
cmp eax, dword [ebp - 0x1b0]
jae 0x448ea9
mov eax, dword [ebp - 0x2c8]
mov ecx, dword [ebp - 0x2b8]
mov edx, dword [ebp + 0x74]
mov eax, dword [ebp + eax*4 - 0x1ac]
cmp eax, dword [edx + ecx*8]
jne 0x448ea7
jmp 0x448ea9
jmp 0x448e6f
mov eax, dword [ebp - 0x2c8]
cmp eax, dword [ebp - 0x1b0]
jne 0x448ee6
cmp dword [ebp - 0x1b0], 0x40
jae 0x448ee6
mov eax, dword [ebp - 0x2c8]
mov ecx, dword [ebp - 0x2b8]
mov edx, dword [ebp + 0x74]
mov ecx, dword [edx + ecx*8]
mov dword [ebp + eax*4 - 0x1ac], ecx
mov eax, dword [ebp - 0x1b0]
inc eax
mov dword [ebp - 0x1b0], eax
xor eax, eax
jne 0x448e66
mov eax, dword [ebp - 0x2b8]
mov ecx, dword [ebp + 0x74]
movsx eax, word [ecx + eax*8 + 4]
and eax, 0x600
je 0x448f8f
and dword [ebp - 0x2cc], 0
jmp 0x448f1d
mov eax, dword [ebp - 0x2cc]
inc eax
mov dword [ebp - 0x2cc], eax
mov eax, dword [ebp - 0x2cc]
cmp eax, dword [ebp - 0x2b4]
jae 0x448f4a
mov eax, dword [ebp - 0x2cc]
mov ecx, dword [ebp - 0x2b8]
mov edx, dword [ebp + 0x74]
mov eax, dword [ebp + eax*4 - 0x2b0]
cmp eax, dword [edx + ecx*8]
jne 0x448f48
jmp 0x448f4a
jmp 0x448f10
mov eax, dword [ebp - 0x2cc]
cmp eax, dword [ebp - 0x2b4]
jne 0x448f87
cmp dword [ebp - 0x2b4], 0x40
jae 0x448f87
mov eax, dword [ebp - 0x2cc]
mov ecx, dword [ebp - 0x2b8]
mov edx, dword [ebp + 0x74]
mov ecx, dword [edx + ecx*8]
mov dword [ebp + eax*4 - 0x2b0], ecx
mov eax, dword [ebp - 0x2b4]
inc eax
mov dword [ebp - 0x2b4], eax
xor eax, eax
jne 0x448f07
jmp 0x448d2e
cmp dword [ebp - 0xac], 0
jne 0x448fc9
cmp dword [ebp - 0x1b0], 0
jne 0x448fc9
cmp dword [ebp - 0x2b4], 0
jne 0x448fc9
push dword [ebp + 0x7c]
call fcn.004492b9
pop ecx
mov dword [ebp - 0x2bc], eax
mov eax, dword [ebp - 0x2bc]
jmp 0x4492a6
cmp dword [ebp + 0x7c], 0
jge 0x448fd8
and dword [ebp - 0x2d8], 0
jmp 0x448fe4
lea eax, [ebp - 0x2f0]
mov dword [ebp - 0x2d8], eax
mov eax, dword [ebp - 0x2d8]
mov dword [ebp - 0x2f4], eax
cmp dword [ebp + 0x7c], 0
jle 0x449026
mov eax, dword [ebp - 0x2d0]
cdq
mov ecx, 0x3e8
idiv ecx
mov dword [ebp - 0x2f0], eax
mov eax, dword [ebp - 0x2d0]
cdq
mov ecx, 0x3e8
idiv ecx
imul eax, edx, 0x3e8
mov dword [ebp - 0x2ec], eax
jmp 0x44903a
cmp dword [ebp + 0x7c], 0
jne 0x44903a
and dword [ebp - 0x2f0], 0
and dword [ebp - 0x2ec], 0
cmp dword [ebp - 0x2b4], 0
je 0x449051
lea eax, [ebp - 0x2b4]
mov dword [ebp - 0x2dc], eax
jmp 0x449058
and dword [ebp - 0x2dc], 0
cmp dword [ebp - 0x1b0], 0
je 0x44906f
lea eax, [ebp - 0x1b0]
mov dword [ebp - 0x2e0], eax
jmp 0x449076
and dword [ebp - 0x2e0], 0
cmp dword [ebp - 0xac], 0
je 0x44908d
lea eax, [ebp - 0xac]
mov dword [ebp - 0x2e4], eax
jmp 0x449094
and dword [ebp - 0x2e4], 0
push dword [ebp - 0x2f4]
push dword [ebp - 0x2dc]
push dword [ebp - 0x2e0]
push dword [ebp - 0x2e4]
mov eax, dword [ebp - 0x2d4]
inc eax
push eax
call dword [sym.imp.WS2_32.dll_select]
mov dword [ebp - 0x2bc], eax
cmp dword [ebp - 0x2bc], 0xffffffff
je 0x4490ce
jmp 0x449156
call dword [sym.imp.WS2_32.dll_WSAGetLastError]
mov dword [ebp - 0x2e8], eax
cmp dword [ebp - 0x2e8], 0
je 0x4490fa
cmp dword [0x4cc7f0], 0
jne 0x4490f8
cmp dword [ebp - 0x2e8], 0x2714
je 0x4490fa
jmp 0x449156
cmp dword [ebp + 0x7c], 0
jle 0x449149
sub esp, 0x10
lea esi, [ebp + 0x58]
mov edi, esp
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
lea eax, [ebp - 0x314]
push eax
call fcn.0045423f
pop ecx
sub esp, 0x10
mov esi, eax
mov edi, esp
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
call fcn.004542ad
add esp, 0x20
mov ecx, dword [ebp + 0x7c]
sub ecx, eax
mov dword [ebp - 0x2d0], ecx
cmp dword [ebp - 0x2d0], 0
jg 0x449149
and dword [ebp - 0x2bc], 0
jmp 0x449156
cmp dword [ebp - 0x2bc], 0xffffffff
je 0x448ff0
cmp dword [ebp - 0x2bc], 0
jge 0x449167
or eax, 0xffffffff
jmp 0x4492a6
cmp dword [ebp - 0x2bc], 0
jne 0x449177
xor eax, eax
jmp 0x4492a6
and dword [ebp - 0x2bc], 0
and dword [ebp - 0x2b8], 0
jmp 0x449194
mov eax, dword [ebp - 0x2b8]
inc eax
mov dword [ebp - 0x2b8], eax
mov eax, dword [ebp - 0x2b8]
cmp eax, dword [ebp + 0x78]
jae 0x4492a0
xor eax, eax
mov ecx, dword [ebp - 0x2b8]
mov edx, dword [ebp + 0x74]
mov word [edx + ecx*8 + 6], ax
mov eax, dword [ebp - 0x2b8]
mov ecx, dword [ebp + 0x74]
cmp dword [ecx + eax*8], 0xffffffff
jne 0x4491c4
jmp 0x449187
lea eax, [ebp - 0xac]
push eax
mov eax, dword [ebp - 0x2b8]
mov ecx, dword [ebp + 0x74]
push dword [ecx + eax*8]
call dword [sym.imp.WS2_32.dll___WSAFDIsSet]
test eax, eax
je 0x449202
mov eax, dword [ebp - 0x2b8]
mov ecx, dword [ebp + 0x74]
movsx eax, word [ecx + eax*8 + 6]
or eax, 0x300
mov ecx, dword [ebp - 0x2b8]
mov edx, dword [ebp + 0x74]
mov word [edx + ecx*8 + 6], ax
lea eax, [ebp - 0x1b0]
push eax
mov eax, dword [ebp - 0x2b8]
mov ecx, dword [ebp + 0x74]
push dword [ecx + eax*8]
call dword [sym.imp.WS2_32.dll___WSAFDIsSet]
test eax, eax
je 0x44923e
mov eax, dword [ebp - 0x2b8]
mov ecx, dword [ebp + 0x74]
movsx eax, word [ecx + eax*8 + 6]
or eax, 0x10
mov ecx, dword [ebp - 0x2b8]
mov edx, dword [ebp + 0x74]
mov word [edx + ecx*8 + 6], ax
lea eax, [ebp - 0x2b4]
push eax
mov eax, dword [ebp - 0x2b8]
mov ecx, dword [ebp + 0x74]
push dword [ecx + eax*8]
call dword [sym.imp.WS2_32.dll___WSAFDIsSet]
test eax, eax
je 0x44927c
mov eax, dword [ebp - 0x2b8]
mov ecx, dword [ebp + 0x74]
movsx eax, word [ecx + eax*8 + 6]
or eax, 0x400
mov ecx, dword [ebp - 0x2b8]
mov edx, dword [ebp + 0x74]
mov word [edx + ecx*8 + 6], ax
mov eax, dword [ebp - 0x2b8]
mov ecx, dword [ebp + 0x74]
movsx eax, word [ecx + eax*8 + 6]
test eax, eax
je 0x44929b
mov eax, dword [ebp - 0x2bc]
inc eax
mov dword [ebp - 0x2bc], eax
jmp 0x449187
mov eax, dword [ebp - 0x2bc]
pop edi
pop esi
mov ecx, dword [ebp + 0x68]
xor ecx, ebp
call fcn.0041553e
add ebp, 0x6c
mov esp, ebp
pop ebp
ret