Function at 0x4a9c50
Capabilities:
Get socket status

Disassembly:
push ebp
mov ebp, esp
push ebx
push edi
push esi
and esp, 0xfffffff8
sub esp, 0x40
mov esi, esp
mov eax, dword [0x594180]
xor eax, ebp
mov dword [esi + 0x38], eax
mov eax, dword [0x598438]
lea ecx, [eax + 1]
imul ecx, eax
mov eax, ecx
xor eax, 0xfffffffe
test eax, ecx
mov eax, dword [0x59843c]
sete byte [esi + 0xe]
cmp eax, 0xa
setl byte [esi + 0xf]
mov ecx, 0xb9550260
jmp 0x4a9cd0
mov eax, dword [0x598438]
lea ecx, [eax - 1]
imul ecx, eax
not ecx
or ecx, 0xfffffffe
cmp ecx, 0xffffffff
sete al
mov ecx, 0x2686425c
mov edi, 0x9d25f848
cmove ecx, edi
cmp dword [0x59843c], 0xa
mov edx, 0x2686425c
cmovge ecx, edx
setl dl
xor dl, al
cmovne ecx, edi
nop dword [eax + eax]
cmp ecx, 0xfb0d02d6
jg 0x4a9d40
cmp ecx, 0xc75614ea
jle 0x4a9da0
cmp ecx, 0xd23bff63
jle 0x4a9e1a
cmp ecx, 0xd52c4dbe
jg 0x4a9f49
cmp ecx, 0xd23bff64
je 0x4a9f81
cmp ecx, 0xd3b92ba3
jne 0x4a9cd0
mov eax, dword [0x598438]
lea ecx, [eax + 1]
imul ecx, eax
mov eax, ecx
xor eax, 0xfffffffe
test eax, ecx
sete al
mov ecx, 0xd23bff64
mov edi, 0xd52c4dbf
cmove ecx, edi
cmp dword [0x59843c], 0xa
mov edx, 0xd23bff64
jmp 0x4a9cc0
cmp ecx, 0x3419bb3c
jle 0x4a9de0
cmp ecx, 0x5dcb8c43
jg 0x4a9e48
cmp ecx, 0x387a5d1e
jle 0x4a9f6b
cmp ecx, 0x387a5d1f
je 0x4a9c91
cmp ecx, 0x46675f78
jne 0x4a9cd0
mov eax, dword [esi + 4]
cmp dword [eax], 0x40
mov ecx, 0x314e3f98
mov eax, 0x387a5d1f
cmovb ecx, eax
jmp 0x4a9cd0
cmp ecx, 0xaab650dc
jg 0x4a9e9f
cmp ecx, 0x930481dd
je 0x4a9f96
cmp ecx, 0x9d25f848
je 0x4a9fa0
cmp ecx, 0xa9dbac55
jne 0x4a9cd0
mov ecx, 0xb3124e56
jmp 0x4a9cd0
cmp ecx, 0x20dffc2f
jg 0x4a9ef2
cmp ecx, 0xfb0d02d7
je 0x4a9fe8
cmp ecx, 0xfc216ca8
je 0x4a9ffe
cmp ecx, 0xfca588f8
jne 0x4a9cd0
mov ecx, 0xc7bc35ca
jmp 0x4a9cd0
cmp ecx, 0xc75614eb
je 0x4aa008
cmp ecx, 0xc7bc35ca
je 0x4aa024
cmp ecx, 0xcc6b4985
jne 0x4a9cd0
mov ecx, 0xfb0d02d7
jmp 0x4a9cd0
cmp ecx, 0x5dcb8c44
je 0x4aa0d5
cmp ecx, 0x712e976d
je 0x4aa0df
cmp ecx, 0x741b3bdc
jne 0x4a9cd0
mov eax, dword [0x598438]
mov edx, dword [0x59843c]
lea ecx, [eax + 1]
imul ecx, eax
not ecx
or ecx, 0xfffffffe
cmp ecx, 0xffffffff
sete al
cmp edx, 0xa
setl ah
xor ah, al
mov eax, 0x3419bb3d
mov edi, 0xfc216ca8
jmp 0x4aa18e
cmp ecx, 0xaab650dd
je 0x4aa0ec
cmp ecx, 0xb3124e56
je 0x4aa10f
cmp ecx, 0xb9550260
jne 0x4a9cd0
movzx edx, byte [esi + 0xe]
movzx ecx, byte [esi + 0xf]
mov dh, cl
xor dh, dl
test cl, cl
mov ecx, 0xfca588f8
mov eax, 0xc7bc35ca
cmovne ecx, eax
test dl, dl
mov edi, 0xfca588f8
cmove ecx, edi
test dh, dh
cmovne ecx, eax
jmp 0x4a9cd0
cmp ecx, 0x20dffc30
je 0x4aa12b
cmp ecx, 0x2686425c
je 0x4aa135
cmp ecx, 0x314e3f98
jne 0x4a9cd0
mov eax, dword [0x598438]
lea ecx, [eax + 1]
imul ecx, eax
mov eax, ecx
xor eax, 0xfffffffe
test eax, ecx
sete al
mov ecx, 0x3419bb3d
mov edi, 0x741b3bdc
cmove ecx, edi
cmp dword [0x59843c], 0xa
mov edx, 0x3419bb3d
jmp 0x4a9cc0
cmp ecx, 0xd52c4dbf
je 0x4aa155
cmp ecx, 0xe3cfdf94
jne 0x4a9cd0
mov ecx, 0xc75614eb
jmp 0x4a9cd0
cmp ecx, 0x3419bb3d
jne 0x4aa1a4
mov ecx, 0x741b3bdc
jmp 0x4a9cd0
mov eax, dword [esi + 8]
mov eax, dword [eax]
inc eax
mov ecx, dword [esi + 8]
mov dword [ecx], eax
mov ecx, 0xd52c4dbf
jmp 0x4a9cd0
mov ecx, 0x314e3f98
jmp 0x4a9cd0
mov eax, dword [esi + 0x14]
mov eax, dword [eax]
mov ecx, dword [esi + 4]
mov edx, dword [esi + 8]
mov edx, dword [edx]
mov dword [ecx + edx*4 + 4], eax
mov eax, dword [esi + 4]
inc dword [eax]
mov eax, dword [0x598438]
mov edx, dword [0x59843c]
lea ecx, [eax + 1]
imul ecx, eax
mov eax, ecx
xor eax, 0xfffffffe
test eax, ecx
sete bl
cmp edx, 0xa
setl bh
xor bh, bl
mov ebx, 0x2686425c
mov edi, 0x930481dd
jmp 0x4aa0c0
mov eax, dword [esi + 8]
mov eax, dword [esi + 8]
mov dword [eax], 0
mov ecx, 0xb3124e56
jmp 0x4a9cd0
mov ecx, 0x712e976d
jmp 0x4a9cd0
mov eax, dword [esi + 8]
mov eax, dword [eax]
mov ecx, dword [esi + 4]
cmp eax, dword [ecx]
mov ecx, 0x712e976d
mov eax, 0x46675f78
cmove ecx, eax
jmp 0x4a9cd0
push eax
push eax
mov ecx, esp
and ecx, 0xfffffff8
mov esp, ecx
mov dword [esi + 0x20], ecx
push eax
push eax
mov ecx, esp
and ecx, 0xfffffff8
mov esp, ecx
mov dword [esi + 0x24], ecx
push eax
mov ecx, esp
mov dword [esi + 0x14], ecx
sub esp, 0x104
mov ecx, esp
mov dword [esi + 4], ecx
push eax
mov ecx, esp
mov dword [esi + 8], ecx
sub esp, 8
mov ecx, esp
mov dword [esi + 0x18], ecx
sub esp, 0xc
mov ecx, esp
mov dword [esi + 0x10], ecx
mov ecx, dword [esi + 0x20]
mov eax, dword [ebp + 0x18]
mov dword [ecx + 4], eax
mov eax, dword [ebp + 0x14]
mov dword [ecx], eax
mov ecx, dword [esi + 0x24]
mov eax, dword [ebp + 0x10]
mov dword [ecx + 4], eax
mov eax, dword [ebp + 0xc]
mov dword [ecx], eax
mov ecx, dword [esi + 0x14]
mov eax, dword [ebp + 8]
mov dword [ecx], eax
mov ecx, dword [esi + 4]
mov ecx, dword [esi + 4]
mov dword [ecx], 0
mov eax, dword [0x598438]
mov edx, dword [0x59843c]
lea ecx, [eax + 1]
imul ecx, eax
mov eax, ecx
xor eax, 0xfffffffe
test eax, ecx
sete bl
cmp edx, 0xa
setl bh
xor bh, bl
mov ebx, 0xfca588f8
mov edi, 0xcc6b4985
cmovne ebx, edi
test eax, ecx
mov ecx, ebx
cmove ecx, edi
cmp edx, 0xa
cmovge ecx, ebx
jmp 0x4a9cd0
mov ecx, 0x378c7273
jmp 0x4a9cd0
mov eax, dword [esi + 8]
mov ecx, 0x5dcb8c44
jmp 0x4a9cd0
mov eax, dword [esi + 4]
mov ecx, dword [esi + 8]
mov ecx, dword [ecx]
mov eax, dword [eax + ecx*4 + 4]
mov ecx, dword [esi + 0x14]
cmp eax, dword [ecx]
mov ecx, 0x20dffc30
mov eax, 0xe3cfdf94
cmove ecx, eax
jmp 0x4a9cd0
mov eax, dword [esi + 8]
mov eax, dword [eax]
mov ecx, dword [esi + 4]
cmp eax, dword [ecx]
mov ecx, 0xc75614eb
mov eax, 0xaab650dd
cmovb ecx, eax
jmp 0x4a9cd0
mov ecx, 0xd3b92ba3
jmp 0x4a9cd0
mov eax, dword [esi + 0x14]
mov eax, dword [eax]
mov ecx, dword [esi + 4]
mov edx, dword [esi + 8]
mov edx, dword [edx]
mov dword [ecx + edx*4 + 4], eax
mov eax, dword [esi + 4]
inc dword [eax]
mov ecx, 0x9d25f848
jmp 0x4a9cd0
mov eax, dword [esi + 8]
mov eax, dword [eax]
inc eax
mov ecx, dword [esi + 8]
mov dword [ecx], eax
mov eax, dword [0x598438]
mov edx, dword [0x59843c]
lea ecx, [eax + 1]
imul ecx, eax
not ecx
or ecx, 0xfffffffe
cmp ecx, 0xffffffff
sete al
cmp edx, 0xa
setl ah
xor ah, al
mov eax, 0xd23bff64
mov edi, 0xa9dbac55
cmovne eax, edi
cmp ecx, 0xffffffff
mov ecx, eax
cmove ecx, edi
cmp edx, 0xa
cmovge ecx, eax
jmp 0x4a9cd0
cmp ecx, 0x378c7273
jne 0x4a9cd0
mov eax, dword [esi + 0x18]
mov eax, dword [esi + 0x24]
mov eax, dword [eax]
mov ecx, dword [esi + 0x18]
mov dword [ecx], eax
mov eax, dword [esi + 0x20]
mov eax, dword [eax]
mov ecx, dword [esi + 0x18]
mov dword [ecx + 4], eax
mov eax, dword [esi + 0x10]
mov ecx, dword [esi + 0x14]
mov dword [eax], ecx
mov eax, dword [esi + 0x10]
mov ecx, dword [esi + 4]
mov dword [eax + 4], ecx
mov eax, dword [esi + 0x10]
mov ecx, dword [esi + 0x18]
mov dword [eax + 8], ecx
mov eax, dword [esi + 0x10]
mov eax, dword [eax]
mov dword [esi + 0x30], eax
mov eax, dword [esi + 0x10]
mov eax, dword [eax + 4]
mov dword [esi + 0x2c], eax
mov eax, dword [esi + 0x10]
mov eax, dword [eax + 8]
mov dword [esi + 0x28], eax
mov ecx, 0xa232156
mov dword [esi + 0x1c], 0
jmp 0x4aa210
mov ecx, 0x26d22fd2
nop
cmp ecx, 0xd3efe5c9
jle 0x4aa240
cmp ecx, 0x1a70c3b2
jg 0x4aa280
cmp ecx, 0xe01c8330
je 0x4aa20a
cmp ecx, 0xa232156
jne 0x4aa381
mov ecx, 0xbfec8427
jmp 0x4aa210
cmp ecx, 0xbfec8426
jg 0x4aa2e0
cmp ecx, 0xae0fd5d5
je 0x4aa2fe
cmp ecx, 0xbe3d37c4
jne 0x4aa210
call fcn.00566ab7
cmp dword [eax], 4
mov ecx, 0x1a70c3b3
je 0x4aa210
mov ecx, 0xc6bd1061
jmp 0x4aa210
cmp ecx, 0x1a70c3b3
je 0x4aa308
cmp ecx, 0x26d22fd2
jne 0x4aa210
mov eax, dword [0x598440]
lea edx, [eax + 1]
imul edx, eax
mov ebx, edx
xor ebx, 0xfffffffe
mov eax, 0xae0fd5d5
mov ecx, 0xe01c8330
mov edi, 0xae0fd5d5
test ebx, edx
sete dl
je 0x4aa2c3
mov edi, 0xe01c8330
cmp dword [0x598444], 0xa
cmovl ecx, edi
setl dh
xor dl, dh
cmovne ecx, eax
jmp 0x4aa210
cmp ecx, 0xbfec8427
je 0x4aa350
cmp ecx, 0xc6bd1061
jne 0x4aa210
mov ecx, 0xd3efe5ca
jmp 0x4aa210
mov ecx, 0xa232156
jmp 0x4aa210
mov eax, dword [0x598440]
mov ecx, dword [0x598444]
lea edx, [eax + 1]
imul edx, eax
mov ebx, edx
xor ebx, 0xfffffffe
test ebx, edx
sete al
mov dword [esi + 0x34], ecx
cmp ecx, 0xa
setl ah
xor ah, al
mov ecx, 0x26d22fd2
mov edi, 0x26d22fd2
jne 0x4aa33f
mov edi, 0xe01c8330
test ebx, edx
cmovne ecx, edi
cmp dword [esi + 0x34], 0xa
cmovge ecx, edi
jmp 0x4aa210
mov eax, dword [esi + 0x30]
mov eax, dword [eax]
inc eax
push dword [esi + 0x28]
push 0
push dword [esi + 0x2c]
push 0
push eax
call dword [sym.imp.WS2_32.dll_select]
mov ecx, 0xbe3d37c4
mov dword [esi + 0x1c], eax
test eax, eax
js 0x4aa210
mov ecx, 0xc6bd1061
jmp 0x4aa210
cmp ecx, 0xd3efe5ca
jne 0x4aa210
mov eax, dword [esi + 0x18]
mov eax, dword [esi + 4]
mov ecx, dword [esi + 0x38]
xor ecx, ebp
call fcn.0055d8e5
mov eax, dword [esi + 0x1c]
lea esp, [ebp - 0xc]
pop esi
pop edi
pop ebx
pop ebp
ret