Function at 0x429930
Capabilities:
Get socket status

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x3ac
push esi
push edi
lea edi, [ebp - 0x3ac]
mov ecx, 0xeb
mov eax, 0xcccccccc
rep stosd dword es:[edi], eax
mov eax, dword [0x4c83a4]
xor eax, ebp
mov dword [ebp - 4], eax
xorps xmm0, xmm0
movlpd qword [ebp - 0x354], xmm0
mov dword [ebp - 0x34c], 0
mov dword [ebp - 0x35c], 0
cmp dword [ebp + 0x18], 0
jl 0x429993
jg 0x429987
cmp dword [ebp + 0x14], 0x7fffffff
jb 0x429993
xor eax, eax
mov dword [ebp + 0x14], accept
mov dword [ebp + 0x18], eax
cmp dword [ebp + 8], 0xffffffff
jne 0x4299c2
cmp dword [ebp + 0xc], 0xffffffff
jne 0x4299c2
cmp dword [ebp + 0x10], 0xffffffff
jne 0x4299c2
mov ecx, dword [ebp + 0x14]
push ecx
call fcn.0042a8b0
add esp, 4
mov dword [ebp - 0x360], eax
mov eax, dword [ebp - 0x360]
jmp 0x42a04a
cmp dword [ebp + 0x18], 0
jl 0x429a0b
jg 0x4299d0
cmp dword [ebp + 0x14], 0
jbe 0x429a0b
mov edx, dword [ebp + 0x14]
mov dword [ebp - 0x35c], edx
lea eax, [ebp - 0x390]
push eax
call fcn.004350c0
add esp, 4
mov ecx, dword [eax]
mov dword [ebp - 0x354], ecx
mov edx, dword [eax + 4]
mov dword [ebp - 0x350], edx
mov ecx, dword [eax + 8]
mov dword [ebp - 0x34c], ecx
mov edx, dword [eax + 0xc]
mov dword [ebp - 0x348], edx
mov dword [ebp - 0x338], 0
mov dword [ebp - 0x340], 0xffffffff
mov dword [ebp - 0x120], 0
cmp dword [ebp + 8], 0xffffffff
je 0x429b32
xor eax, eax
jne 0x429a33
mov dword [ebp - 0x368], 0
jmp 0x429a52
mov ecx, dword [ebp - 0x368]
add ecx, 1
mov dword [ebp - 0x368], ecx
mov edx, dword [ebp - 0x368]
cmp edx, dword [ebp - 0x120]
jae 0x429a76
mov eax, dword [ebp - 0x368]
mov ecx, dword [ebp + eax*4 - 0x11c]
cmp ecx, dword [ebp + 8]
jne 0x429a74
jmp 0x429a76
jmp 0x429a43
mov edx, dword [ebp - 0x368]
cmp edx, dword [ebp - 0x120]
jne 0x429aac
cmp dword [ebp - 0x120], 0x40
jae 0x429aac
mov eax, dword [ebp - 0x368]
mov ecx, dword [ebp + 8]
mov dword [ebp + eax*4 - 0x11c], ecx
mov edx, dword [ebp - 0x120]
add edx, 1
mov dword [ebp - 0x120], edx
xor eax, eax
jne 0x429a37
mov dword [ebp - 0x36c], 0
jmp 0x429acb
mov ecx, dword [ebp - 0x36c]
add ecx, 1
mov dword [ebp - 0x36c], ecx
mov edx, dword [ebp - 0x36c]
cmp edx, dword [ebp - 0x338]
jae 0x429aef
mov eax, dword [ebp - 0x36c]
mov ecx, dword [ebp + eax*4 - 0x334]
cmp ecx, dword [ebp + 8]
jne 0x429aed
jmp 0x429aef
jmp 0x429abc
mov edx, dword [ebp - 0x36c]
cmp edx, dword [ebp - 0x338]
jne 0x429b25
cmp dword [ebp - 0x338], 0x40
jae 0x429b25
mov eax, dword [ebp - 0x36c]
mov ecx, dword [ebp + 8]
mov dword [ebp + eax*4 - 0x334], ecx
mov edx, dword [ebp - 0x338]
add edx, 1
mov dword [ebp - 0x338], edx
xor eax, eax
jne 0x429ab0
mov ecx, dword [ebp + 8]
mov dword [ebp - 0x340], ecx
cmp dword [ebp + 0xc], 0xffffffff
je 0x429c46
xor edx, edx
jne 0x429b3c
mov dword [ebp - 0x370], 0
jmp 0x429b5b
mov eax, dword [ebp - 0x370]
add eax, 1
mov dword [ebp - 0x370], eax
mov ecx, dword [ebp - 0x370]
cmp ecx, dword [ebp - 0x120]
jae 0x429b7f
mov edx, dword [ebp - 0x370]
mov eax, dword [ebp + edx*4 - 0x11c]
cmp eax, dword [ebp + 0xc]
jne 0x429b7d
jmp 0x429b7f
jmp 0x429b4c
mov ecx, dword [ebp - 0x370]
cmp ecx, dword [ebp - 0x120]
jne 0x429bb5
cmp dword [ebp - 0x120], 0x40
jae 0x429bb5
mov edx, dword [ebp - 0x370]
mov eax, dword [ebp + 0xc]
mov dword [ebp + edx*4 - 0x11c], eax
mov ecx, dword [ebp - 0x120]
add ecx, 1
mov dword [ebp - 0x120], ecx
xor edx, edx
jne 0x429b40
mov dword [ebp - 0x374], 0
jmp 0x429bd4
mov eax, dword [ebp - 0x374]
add eax, 1
mov dword [ebp - 0x374], eax
mov ecx, dword [ebp - 0x374]
cmp ecx, dword [ebp - 0x338]
jae 0x429bf8
mov edx, dword [ebp - 0x374]
mov eax, dword [ebp + edx*4 - 0x334]
cmp eax, dword [ebp + 0xc]
jne 0x429bf6
jmp 0x429bf8
jmp 0x429bc5
mov ecx, dword [ebp - 0x374]
cmp ecx, dword [ebp - 0x338]
jne 0x429c2e
cmp dword [ebp - 0x338], 0x40
jae 0x429c2e
mov edx, dword [ebp - 0x374]
mov eax, dword [ebp + 0xc]
mov dword [ebp + edx*4 - 0x334], eax
mov ecx, dword [ebp - 0x338]
add ecx, 1
mov dword [ebp - 0x338], ecx
xor edx, edx
jne 0x429bb9
mov eax, dword [ebp + 0xc]
cmp eax, dword [ebp - 0x340]
jbe 0x429c46
mov ecx, dword [ebp + 0xc]
mov dword [ebp - 0x340], ecx
mov dword [ebp - 0x22c], 0
cmp dword [ebp + 0x10], 0xffffffff
je 0x429d64
xor edx, edx
jne 0x429c5a
mov dword [ebp - 0x378], 0
jmp 0x429c79
mov eax, dword [ebp - 0x378]
add eax, 1
mov dword [ebp - 0x378], eax
mov ecx, dword [ebp - 0x378]
cmp ecx, dword [ebp - 0x22c]
jae 0x429c9d
mov edx, dword [ebp - 0x378]
mov eax, dword [ebp + edx*4 - 0x228]
cmp eax, dword [ebp + 0x10]
jne 0x429c9b
jmp 0x429c9d
jmp 0x429c6a
mov ecx, dword [ebp - 0x378]
cmp ecx, dword [ebp - 0x22c]
jne 0x429cd3
cmp dword [ebp - 0x22c], 0x40
jae 0x429cd3
mov edx, dword [ebp - 0x378]
mov eax, dword [ebp + 0x10]
mov dword [ebp + edx*4 - 0x228], eax
mov ecx, dword [ebp - 0x22c]
add ecx, 1
mov dword [ebp - 0x22c], ecx
xor edx, edx
jne 0x429c5e
mov dword [ebp - 0x37c], 0
jmp 0x429cf2
mov eax, dword [ebp - 0x37c]
add eax, 1
mov dword [ebp - 0x37c], eax
mov ecx, dword [ebp - 0x37c]
cmp ecx, dword [ebp - 0x338]
jae 0x429d16
mov edx, dword [ebp - 0x37c]
mov eax, dword [ebp + edx*4 - 0x334]
cmp eax, dword [ebp + 0x10]
jne 0x429d14
jmp 0x429d16
jmp 0x429ce3
mov ecx, dword [ebp - 0x37c]
cmp ecx, dword [ebp - 0x338]
jne 0x429d4c
cmp dword [ebp - 0x338], 0x40
jae 0x429d4c
mov edx, dword [ebp - 0x37c]
mov eax, dword [ebp + 0x10]
mov dword [ebp + edx*4 - 0x334], eax
mov ecx, dword [ebp - 0x338]
add ecx, 1
mov dword [ebp - 0x338], ecx
xor edx, edx
jne 0x429cd7
mov eax, dword [ebp + 0x10]
cmp eax, dword [ebp - 0x340]
jbe 0x429d64
mov ecx, dword [ebp + 0x10]
mov dword [ebp - 0x340], ecx
cmp dword [ebp + 0x18], 0
jg 0x429d7e
jl 0x429d72
cmp dword [ebp + 0x14], 0
jae 0x429d7e
mov dword [ebp - 0x3a4], 0
jmp 0x429d87
lea edx, [ebp - 0x10]
mov dword [ebp - 0x3a4], edx
mov eax, dword [ebp - 0x3a4]
mov dword [ebp - 0x18], eax
cmp dword [ebp + 0x18], 0
jl 0x429dc8
jg 0x429d9e
cmp dword [ebp + 0x14], 0
jbe 0x429dc8
mov eax, dword [ebp - 0x35c]
cdq
mov ecx, 0x3e8
idiv ecx
mov dword [ebp - 0x10], eax
mov eax, dword [ebp - 0x35c]
cdq
mov ecx, 0x3e8
idiv ecx
imul edx, edx, 0x3e8
mov dword [ebp - 0xc], edx
jmp 0x429dde
mov eax, dword [ebp + 0x14]
or eax, dword [ebp + 0x18]
jne 0x429dde
mov dword [ebp - 0x10], 0
mov dword [ebp - 0xc], 0
cmp dword [ebp - 0x22c], 0
je 0x429df5
lea ecx, [ebp - 0x22c]
mov dword [ebp - 0x3a8], ecx
jmp 0x429dff
mov dword [ebp - 0x3a8], 0
cmp dword [ebp - 0x120], 0
je 0x429e16
lea edx, [ebp - 0x120]
mov dword [ebp - 0x3ac], edx
jmp 0x429e20
mov dword [ebp - 0x3ac], 0
mov esi, esp
mov eax, dword [ebp - 0x18]
push eax
lea ecx, [ebp - 0x338]
push ecx
mov edx, dword [ebp - 0x3a8]
push edx
mov eax, dword [ebp - 0x3ac]
push eax
mov ecx, dword [ebp - 0x340]
add ecx, 1
push ecx
call dword [sym.imp.WS2_32.dll_select]
cmp esi, esp
call fcn.00485c0f
mov dword [ebp - 0x360], eax
cmp dword [ebp - 0x360], 0xffffffff
je 0x429e66
jmp 0x429f35
mov esi, esp
call dword [sym.imp.WS2_32.dll_WSAGetLastError]
cmp esi, esp
call fcn.00485c0f
mov dword [ebp - 0x380], eax
cmp dword [ebp - 0x380], 0
je 0x429e9e
cmp dword [0x4c9528], 0
jne 0x429e99
cmp dword [ebp - 0x380], 0x2714
je 0x429e9e
jmp 0x429f35
cmp dword [ebp + 0x18], 0
jl 0x429f28
jg 0x429eb0
cmp dword [ebp + 0x14], 0
jbe 0x429f28
sub esp, 0x10
mov edx, esp
mov eax, dword [ebp - 0x354]
mov dword [edx], eax
mov ecx, dword [ebp - 0x350]
mov dword [edx + 4], ecx
mov eax, dword [ebp - 0x34c]
mov dword [edx + 8], eax
mov ecx, dword [ebp - 0x348]
mov dword [edx + 0xc], ecx
lea edx, [ebp - 0x3a0]
push edx
call fcn.004350c0
add esp, 0xfffffff4
mov ecx, esp
mov edx, dword [eax]
mov dword [ecx], edx
mov edx, dword [eax + 4]
mov dword [ecx + 4], edx
mov edx, dword [eax + 8]
mov dword [ecx + 8], edx
mov eax, dword [eax + 0xc]
mov dword [ecx + 0xc], eax
call fcn.00435210
add esp, 0x20
cdq
mov ecx, dword [ebp + 0x14]
sub ecx, eax
mov dword [ebp - 0x35c], ecx
cmp dword [ebp - 0x35c], 0
jg 0x429f28
mov dword [ebp - 0x360], 0
jmp 0x429f35
cmp dword [ebp - 0x360], 0xffffffff
je 0x429d90
cmp dword [ebp - 0x360], 0
jge 0x429f46
or eax, 0xffffffff
jmp 0x42a04a
cmp dword [ebp - 0x360], 0
jne 0x429f56
xor eax, eax
jmp 0x42a04a
mov dword [ebp - 0x364], 0
cmp dword [ebp + 8], 0xffffffff
je 0x429fac
lea edx, [ebp - 0x120]
push edx
mov eax, dword [ebp + 8]
push eax
call sub.WS2_32.dll___WSAFDIsSet
test eax, eax
je 0x429f89
mov ecx, dword [ebp - 0x364]
or ecx, 1
mov dword [ebp - 0x364], ecx
lea edx, [ebp - 0x338]
push edx
mov eax, dword [ebp + 8]
push eax
call sub.WS2_32.dll___WSAFDIsSet
test eax, eax
je 0x429fac
mov ecx, dword [ebp - 0x364]
or ecx, 4
mov dword [ebp - 0x364], ecx
cmp dword [ebp + 0xc], 0xffffffff
je 0x429ff8
lea edx, [ebp - 0x120]
push edx
mov eax, dword [ebp + 0xc]
push eax
call sub.WS2_32.dll___WSAFDIsSet
test eax, eax
je 0x429fd5
mov ecx, dword [ebp - 0x364]
or ecx, 8
mov dword [ebp - 0x364], ecx
lea edx, [ebp - 0x338]
push edx
mov eax, dword [ebp + 0xc]
push eax
call sub.WS2_32.dll___WSAFDIsSet
test eax, eax
je 0x429ff8
mov ecx, dword [ebp - 0x364]
or ecx, 4
mov dword [ebp - 0x364], ecx
cmp dword [ebp + 0x10], 0xffffffff
je 0x42a044
lea edx, [ebp - 0x22c]
push edx
mov eax, dword [ebp + 0x10]
push eax
call sub.WS2_32.dll___WSAFDIsSet
test eax, eax
je 0x42a021
mov ecx, dword [ebp - 0x364]
or ecx, 2
mov dword [ebp - 0x364], ecx
lea edx, [ebp - 0x338]
push edx
mov eax, dword [ebp + 0x10]
push eax
call sub.WS2_32.dll___WSAFDIsSet
test eax, eax
je 0x42a044
mov ecx, dword [ebp - 0x364]
or ecx, 4
mov dword [ebp - 0x364], ecx
mov eax, dword [ebp - 0x364]
push edx
mov ecx, ebp
push eax
lea edx, [0x42a078]
call fcn.00485bbb
pop eax
pop edx
pop edi
pop esi
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.004854a8
add esp, 0x3ac
cmp ebp, esp
call fcn.00485c0f
mov esp, ebp
pop ebp
ret