Function at 0x49aba0
Capabilities:
Get socket status

Disassembly:
push ebp
mov ebp, esp
push ebx
push edi
push esi
and esp, 0xfffffff8
sub esp, 0x68
mov esi, esp
mov eax, dword [0x5c0b00]
xor eax, ebp
mov dword [esi + 0x60], eax
mov eax, dword [0x5c4ce8]
lea ecx, [eax - 1]
imul ecx, eax
mov eax, dword [0x5c4cec]
not ecx
or ecx, 0xfffffffe
cmp ecx, 0xffffffff
sete byte [esi + 0x1b]
cmp eax, 0xa
setl byte [esi + 0x1c]
mov eax, 0xbbd982f4
jmp 0x49abf9
mov eax, 0xfeaf407e
movzx ecx, byte [esi + 0x1f]
mov dword [esi + 0x44], ecx
jmp 0x49ac40
mov eax, dword [0x5c4ce8]
lea ecx, [eax + 1]
imul ecx, eax
mov eax, ecx
xor eax, 0xfffffffe
test eax, ecx
sete cl
mov eax, 0x8ea3e241
mov edi, 0x407a237c
cmove eax, edi
cmp dword [0x5c4cec], 0xa
mov edx, 0x8ea3e241
cmovge eax, edx
setl dl
xor dl, cl
cmovne eax, edi
nop word [eax + eax]
cmp eax, 0xad4d279
jg 0x49ac90
cmp eax, 0xd4a543dd
jg 0x49ad10
cmp eax, 0xa7319758
jle 0x49ada1
cmp eax, 0xb58c7e87
jg 0x49b005
cmp eax, 0xa7319759
je 0x49b2d0
cmp eax, 0xacb0fc3d
je 0x49b315
cmp eax, 0xb175b848
jne 0x49ac40
mov eax, 0xe224113d
jmp 0x49ac40
cmp eax, 0x44bcd94e
jle 0x49ad60
cmp eax, 0x56dcb47c
jle 0x49aded
cmp eax, 0x739426c7
jg 0x49b05a
cmp eax, 0x56dcb47d
je 0x49b330
cmp eax, 0x66593f8f
je 0x49b342
cmp eax, 0x72bae266
jne 0x49ac40
mov edx, dword [0x5c4ce8]
mov ecx, dword [0x5c4cec]
lea eax, [edx + 1]
imul eax, edx
mov edx, eax
xor edx, 0xfffffffe
test edx, eax
sete bl
cmp ecx, 0xa
setl bh
xor bh, bl
mov edi, 0x56dcb47d
mov ebx, 0x5370c3ff
jmp 0x49b181
cmp eax, 0xe9aea899
jle 0x49ae26
cmp eax, 0xfeaf407d
jg 0x49b085
cmp eax, 0xe9aea89a
je 0x49b35d
cmp eax, 0xe9e9ea14
je 0x49b397
cmp eax, 0xea241012
jne 0x49ac40
mov eax, 0x23c17650
jmp 0x49ac40
cmp eax, 0x23c1764f
jle 0x49af91
cmp eax, 0x3d0176f2
jle 0x49b196
cmp eax, 0x3d0176f3
je 0x49b3b5
cmp eax, 0x407a237c
je 0x49b3cb
cmp eax, 0x435f9553
jne 0x49ac40
mov eax, 0x22276485
jmp 0x49ac40
cmp eax, 0x976e8c47
jle 0x49b1e0
cmp eax, 0x976e8c48
je 0x49b3d5
cmp eax, 0x9a5547f5
je 0x49b3e2
cmp eax, 0xa4a1a833
jne 0x49ac40
mov eax, dword [esi + 0xc]
push dword [esi]
push dword [eax]
call sub.WS2_32.dll___WSAFDIsSet
test eax, eax
mov eax, 0xd705a2a9
mov ecx, 0xdd0e4852
cmove eax, ecx
jmp 0x49ac40
cmp eax, 0x5358544d
jle 0x49b20b
cmp eax, 0x5358544e
je 0x49abfe
cmp eax, 0x5370c3ff
je 0x49b41f
cmp eax, 0x53713076
jne 0x49ac40
mov eax, dword [esi + 0x10]
mov eax, 0x759c3a6f
jmp 0x49ac40
cmp eax, 0xdd0e4851
jle 0x49b22b
cmp eax, 0xdd0e4852
je 0x49b476
cmp eax, 0xdd79a85d
je 0x49b497
cmp eax, 0xe224113d
jne 0x49ac40
mov eax, dword [esi + 0x2c]
push 0x104
push dword [esi]
push dword [esi + 0x2c]
call fcn.0058dc10
add esp, 0xc
mov eax, dword [esi + 0x40]
push 0x104
push dword [esi]
push dword [esi + 0x40]
call fcn.0058dc10
add esp, 0xc
mov eax, dword [esi + 0x30]
mov eax, dword [esi + 0x4c]
mov eax, dword [eax]
mov ecx, dword [esi + 0x30]
mov dword [ecx], eax
mov eax, dword [esi + 0x48]
mov eax, dword [eax]
mov ecx, dword [esi + 0x30]
mov dword [ecx + 4], eax
mov eax, dword [esi + 0x24]
mov eax, dword [esi + 0x28]
mov ecx, dword [esi + 0xc]
mov dword [eax], ecx
mov eax, dword [esi + 0x28]
mov ecx, dword [esi]
mov dword [eax + 4], ecx
mov eax, dword [esi + 0x28]
mov ecx, dword [esi + 0x2c]
mov dword [eax + 8], ecx
mov eax, dword [esi + 0x28]
mov ecx, dword [esi + 0x40]
mov dword [eax + 0xc], ecx
mov eax, dword [esi + 0x28]
mov ecx, dword [esi + 0x30]
mov dword [eax + 0x10], ecx
mov eax, dword [esi + 0x28]
mov ecx, dword [eax]
mov dword [esi + 0x5c], ecx
mov ecx, dword [eax + 4]
mov dword [esi + 0x58], ecx
mov ecx, dword [eax + 8]
mov dword [esi + 0x54], ecx
mov ecx, dword [eax + 0xc]
mov dword [esi + 0x50], ecx
mov ebx, dword [eax + 0x10]
mov eax, 0x996d1246
xor edi, edi
nop word cs:[eax + eax]
cmp eax, 0xde4f37a
jg 0x49af20
cmp eax, 0x996d1246
je 0x49af5f
cmp eax, 0xab8413c8
je 0x49af66
cmp eax, 0xc0bed796
jne 0x49aef0
jmp 0x49b4ae
cmp eax, 0xde4f37b
je 0x49af6d
cmp eax, 0x18a98658
je 0x49af77
cmp eax, 0x3f6af4bd
jne 0x49aef0
mov eax, dword [esi + 0x5c]
mov eax, dword [eax]
inc eax
push ebx
push dword [esi + 0x50]
push dword [esi + 0x54]
push dword [esi + 0x58]
push eax
call dword [sym.imp.WS2_32.dll_select]
mov edi, eax
test eax, eax
mov eax, 0xde4f37b
mov ecx, 0x18a98658
cmovs eax, ecx
jmp 0x49aef0
mov eax, 0x3f6af4bd
jmp 0x49aef0
mov eax, 0x996d1246
jmp 0x49aef0
mov eax, 0xc0bed796
jmp 0x49aef0
call fcn.005923b7
cmp dword [eax], 4
mov eax, 0xde4f37b
mov ecx, 0xab8413c8
cmove eax, ecx
jmp 0x49aef0
cmp eax, 0x1aeefe95
jle 0x49b29e
cmp eax, 0x1aeefe96
je 0x49b4cb
cmp eax, 0x217e134e
je 0x49abf0
cmp eax, 0x22276485
jne 0x49ac40
mov edx, dword [0x5c4ce8]
mov ecx, dword [0x5c4cec]
lea eax, [edx + 1]
imul eax, edx
not eax
or eax, 0xfffffffe
cmp eax, 0xffffffff
sete dl
cmp ecx, 0xa
setl dh
xor dh, dl
mov edx, 0x8ea3e241
mov edi, 0x5358544e
cmovne edx, edi
cmp eax, 0xffffffff
mov eax, edx
cmove eax, edi
cmp ecx, 0xa
mov ecx, dword [esi + 8]
cmovge eax, edx
jmp 0x49ac40
cmp eax, 0xb58c7e88
je 0x49b4d5
cmp eax, 0xbbd982f4
je 0x49b4eb
cmp eax, 0xc21be7d3
jne 0x49ac40
mov eax, dword [0x5c4ce8]
lea ecx, [eax - 1]
imul ecx, eax
not ecx
or ecx, 0xfffffffe
cmp ecx, 0xffffffff
sete cl
mov eax, 0x53713076
mov edi, 0x759c3a6f
cmove eax, edi
cmp dword [0x5c4cec], 0xa
mov edx, 0x53713076
jmp 0x49ac2c
cmp eax, 0x739426c8
je 0x49b515
cmp eax, 0x759c3a6f
je 0x49b52b
cmp eax, 0x7e4bd5ba
jne 0x49ac40
mov eax, 0x96c5fbf
jmp 0x49ac40
cmp eax, 0xfeaf407e
je 0x49b578
cmp eax, 0x23fb6
je 0x49b5c1
cmp eax, 0x96c5fbf
jne 0x49ac40
push eax
mov eax, esp
mov dword [esi + 0x20], eax
sub esp, 8
mov eax, esp
and eax, 0xfffffff8
mov esp, eax
mov dword [esi + 0x48], eax
push eax
push eax
mov eax, esp
and eax, 0xfffffff8
mov esp, eax
mov dword [esi + 0x4c], eax
push eax
mov eax, esp
mov dword [esi + 0xc], eax
sub esp, 0x104
mov eax, esp
mov dword [esi], eax
push eax
mov eax, esp
mov dword [esi + 8], eax
sub esp, 0x104
mov eax, esp
mov dword [esi + 0x2c], eax
sub esp, 0x104
mov eax, esp
mov dword [esi + 0x40], eax
sub esp, 8
mov eax, esp
mov dword [esi + 0x30], eax
push eax
mov eax, esp
mov dword [esi + 0x24], eax
sub esp, 0x14
mov eax, esp
mov dword [esi + 0x28], eax
push eax
mov eax, esp
mov dword [esi + 0x34], eax
push eax
mov eax, esp
mov dword [esi + 0x10], eax
push eax
mov eax, esp
mov dword [esi + 0x38], eax
push eax
mov eax, esp
mov dword [esi + 0x3c], eax
push eax
mov eax, esp
mov dword [esi + 0x14], eax
mov eax, dword [esi + 0x48]
mov ecx, dword [ebp + 0x18]
mov dword [eax + 4], ecx
mov ecx, dword [ebp + 0x14]
mov dword [eax], ecx
mov eax, dword [esi + 0x4c]
mov ecx, dword [ebp + 0x10]
mov dword [eax + 4], ecx
mov ecx, dword [ebp + 0xc]
mov dword [eax], ecx
mov eax, dword [esi + 0xc]
mov ecx, dword [ebp + 8]
mov dword [eax], ecx
mov eax, dword [esi]
mov eax, dword [esi]
mov dword [eax], 0
mov edx, dword [0x5c4ce8]
mov ecx, dword [0x5c4cec]
lea eax, [edx + 1]
imul eax, edx
mov edx, eax
xor edx, 0xfffffffe
test edx, eax
sete bl
cmp ecx, 0xa
setl bh
xor bh, bl
mov edi, 0x7e4bd5ba
mov ebx, 0x1aeefe96
cmovne edi, ebx
test edx, eax
mov eax, edi
cmove eax, ebx
cmp ecx, 0xa
cmovge eax, edi
jmp 0x49ac40
cmp eax, 0x27813cb9
je 0x49b634
cmp eax, 0x371a8f58
jne 0x49b6b3
mov edx, dword [0x5c4ce8]
mov ecx, dword [0x5c4cec]
lea eax, [edx + 1]
imul eax, edx
not eax
or eax, 0xfffffffe
cmp eax, 0xffffffff
sete dl
cmp ecx, 0xa
setl dh
xor dh, dl
mov edx, 0x976e8c48
mov edi, 0x9a5547f5
jmp 0x49b2ff
cmp eax, 0x8ea3e241
je 0x49b679
cmp eax, 0x9210a7fc
jne 0x49ac40
mov eax, dword [esi + 8]
mov eax, dword [eax]
inc eax
mov ecx, dword [esi + 8]
mov dword [ecx], eax
mov eax, 0xacb0fc3d
jmp 0x49ac40
cmp eax, 0x44bcd94f
je 0x49b683
cmp eax, 0x504a4772
jne 0x49ac40
mov eax, 0x66593f8f
jmp 0x49ac40
cmp eax, 0xd4a543de
je 0x49b68d
cmp eax, 0xd705a2a9
jne 0x49ac40
mov eax, dword [esi + 0x10]
mov eax, dword [esi + 0x10]
mov dword [eax], 0
mov eax, dword [esi + 0x38]
mov eax, dword [esi + 0x38]
mov dword [eax], 4
mov eax, dword [esi + 0x3c]
mov eax, dword [esi + 0xc]
push dword [esi + 0x38]
push dword [esi + 0x10]
push 0x1007
push 0xffff
push dword [eax]
call dword [sym.imp.WS2_32.dll_getsockopt]
mov ecx, dword [esi + 0x3c]
mov dword [ecx], eax
mov eax, dword [esi + 0x14]
mov eax, dword [esi + 0x3c]
cmp dword [eax], 0
mov eax, 0xfeaf407e
mov ecx, 0xc21be7d3
cmovns eax, ecx
mov dword [esi + 0x44], 0
jmp 0x49ac40
cmp eax, 0xad4d27a
je 0x49b6a9
cmp eax, 0x1549fcc7
jne 0x49ac40
mov eax, dword [esi + 0x20]
mov dword [eax], 0xd
mov eax, dword [esi + 0x34]
mov dword [eax], 1
mov eax, 0x27813cb9
jmp 0x49ac40
mov edx, dword [0x5c4ce8]
mov ecx, dword [0x5c4cec]
lea eax, [edx + 1]
imul eax, edx
not eax
or eax, 0xfffffffe
cmp eax, 0xffffffff
sete dl
cmp ecx, 0xa
setl dh
xor dh, dl
mov edx, 0x1549fcc7
mov edi, 0x27813cb9
cmovne edx, edi
cmp eax, 0xffffffff
mov eax, edx
cmove eax, edi
cmp ecx, 0xa
cmovge eax, edx
jmp 0x49ac40
mov eax, dword [esi + 8]
mov eax, dword [eax]
mov ecx, dword [esi]
cmp eax, dword [ecx]
mov eax, 0x66593f8f
mov ecx, 0x72bae266
cmovb eax, ecx
jmp 0x49ac40
mov eax, dword [esi]
mov eax, dword [esi + 8]
mov eax, dword [esi + 0xc]
mov eax, 0x5370c3ff
jmp 0x49ac40
mov eax, dword [esi + 8]
mov eax, dword [eax]
mov ecx, dword [esi]
cmp eax, dword [ecx]
mov eax, 0x22276485
mov ecx, 0xdd79a85d
cmove eax, ecx
jmp 0x49ac40
movzx eax, byte [esi + 7]
mov ecx, dword [esi + 0x14]
mov byte [ecx], al
mov eax, dword [esi + 0x14]
xor ecx, ecx
cmp byte [eax], 0
sete cl
add ecx, ecx
mov eax, dword [esi + 0x20]
mov dword [eax], ecx
mov eax, dword [esi + 0x34]
mov dword [eax], 1
mov eax, dword [esi + 0x14]
mov eax, dword [esi + 0x3c]
mov eax, dword [esi + 0x38]
mov eax, dword [esi + 0x10]
mov eax, 0x23fb6
jmp 0x49ac40
mov eax, dword [esi + 0xc]
mov eax, dword [eax]
mov ecx, dword [esi]
mov edx, dword [esi + 8]
mov edx, dword [edx]
mov dword [ecx + edx*4 + 4], eax
mov eax, dword [esi]
inc dword [eax]
mov eax, 0x435f9553
jmp 0x49ac40
cmp byte [esi + 0x1d], 0
mov eax, 0x44bcd94f
mov ecx, 0x504a4772
cmovne eax, ecx
jmp 0x49ac40
mov eax, 0xb175b848
jmp 0x49ac40
mov eax, dword [esi + 0x24]
mov eax, 0x9a5547f5
jmp 0x49ac40
mov eax, dword [esi + 0x24]
cmp dword [eax], 0
setg byte [esi + 0x1e]
mov eax, dword [0x5c4ce8]
lea ecx, [eax + 1]
imul ecx, eax
mov eax, ecx
xor eax, 0xfffffffe
test eax, ecx
sete cl
mov eax, 0x976e8c48
mov edi, 0xb58c7e88
cmove eax, edi
cmp dword [0x5c4cec], 0xa
mov edx, 0x976e8c48
jmp 0x49ac2c
mov edx, dword [0x5c4ce8]
mov ecx, dword [0x5c4cec]
lea eax, [edx + 1]
imul eax, edx
mov edi, eax
xor edi, 0xfffffffe
test edi, eax
sete dl
cmp ecx, 0xa
setl dh
xor dh, dl
mov edx, 0x56dcb47d
mov ebx, 0x3d0176f3
cmovne edx, ebx
test edi, eax
mov eax, edx
cmove eax, ebx
cmp ecx, 0xa
mov ecx, dword [esi]
cmovge eax, edx
mov edx, dword [esi + 8]
mov edx, dword [edx]
mov ecx, dword [ecx + edx*4 + 4]
mov edx, dword [esi + 0xc]
cmp ecx, dword [edx]
sete byte [esi + 0x1d]
jmp 0x49ac40
mov eax, dword [esi + 0xc]
push dword [esi + 0x2c]
push dword [eax]
call sub.WS2_32.dll___WSAFDIsSet
test eax, eax
mov eax, 0xd705a2a9
mov ecx, 0xd4a543de
cmove eax, ecx
jmp 0x49ac40
mov eax, dword [esi]
cmp dword [eax], 0x40
mov eax, 0x435f9553
mov ecx, 0xe9e9ea14
cmovb eax, ecx
jmp 0x49ac40
mov eax, dword [esi + 0x24]
mov dword [eax], edi
mov eax, dword [esi + 0x24]
cmp dword [eax], 0
mov eax, 0x371a8f58
mov ecx, 0xa7319759
cmove eax, ecx
jmp 0x49ac40
mov eax, 0x739426c8
jmp 0x49ac40
cmp byte [esi + 0x1e], 0
mov eax, 0xd4a543de
mov ecx, 0xa4a1a833
cmovne eax, ecx
jmp 0x49ac40
movzx ecx, byte [esi + 0x1b]
movzx eax, byte [esi + 0x1c]
mov edx, ecx
xor dl, al
mov edx, 0x7e4bd5ba
mov edi, 0x96c5fbf
cmovne edx, edi
test al, al
mov eax, edx
cmovne eax, edi
test cl, cl
cmove eax, edx
jmp 0x49ac40
mov eax, dword [esi + 8]
mov eax, dword [esi + 8]
mov dword [eax], 0
mov eax, 0xacb0fc3d
jmp 0x49ac40
mov edx, dword [0x5c4ce8]
mov ecx, dword [0x5c4cec]
lea eax, [edx + 1]
imul eax, edx
mov edx, eax
xor edx, 0xfffffffe
test edx, eax
sete bl
cmp ecx, 0xa
setl bh
xor bh, bl
mov edi, 0x53713076
mov ebx, 0x217e134e
cmovne edi, ebx
test edx, eax
mov eax, edi
cmove eax, ebx
cmp ecx, 0xa
cmovge eax, edi
mov ecx, dword [esi + 0x10]
cmp dword [ecx], 0
sete byte [esi + 0x1f]
jmp 0x49ac40
mov eax, dword [esi + 0x44]
mov ecx, eax
and cl, 1
mov eax, dword [0x5c4ce8]
lea edx, [eax + 1]
imul edx, eax
mov eax, edx
xor eax, 0xfffffffe
test eax, edx
sete dl
mov eax, 0xe9aea89a
mov edi, 0x23fb6
cmove eax, edi
cmp dword [0x5c4cec], 0xa
setl ch
mov ebx, 0xe9aea89a
cmovge eax, ebx
xor ch, dl
mov byte [esi + 7], cl
cmovne eax, edi
jmp 0x49ac40
movzx eax, byte [esi + 7]
mov ecx, dword [esi + 0x14]
mov byte [ecx], al
mov eax, dword [esi + 0x14]
xor ecx, ecx
cmp byte [eax], 0
sete cl
add ecx, ecx
mov eax, dword [esi + 0x20]
mov dword [eax], ecx
mov eax, dword [esi + 0x34]
mov dword [eax], 1
mov edx, dword [0x5c4ce8]
mov ecx, dword [0x5c4cec]
lea eax, [edx + 1]
imul eax, edx
mov edi, eax
xor edi, 0xfffffffe
test edi, eax
sete dl
cmp ecx, 0xa
setl dh
xor dh, dl
mov edx, 0xe9aea89a
mov ebx, 0xad4d27a
cmovne edx, ebx
test edi, eax
mov eax, edx
cmove eax, ebx
cmp ecx, 0xa
mov ecx, dword [esi + 0x14]
mov ecx, dword [esi + 0x3c]
mov ecx, dword [esi + 0x38]
cmovge eax, edx
mov ecx, dword [esi + 0x10]
jmp 0x49ac40
mov eax, dword [esi + 0x20]
mov dword [eax], 0xd
mov eax, dword [esi + 0x34]
mov dword [eax], 1
mov eax, dword [0x5c4ce8]
lea ecx, [eax + 1]
imul ecx, eax
mov eax, ecx
xor eax, 0xfffffffe
test eax, ecx
sete cl
mov eax, 0x1549fcc7
mov edi, 0xea241012
cmove eax, edi
cmp dword [0x5c4cec], 0xa
mov edx, 0x1549fcc7
jmp 0x49ac2c
mov eax, 0x5358544e
jmp 0x49ac40
mov eax, 0x9210a7fc
jmp 0x49ac40
mov eax, dword [esi + 0x20]
mov dword [eax], 2
mov eax, dword [esi + 0x34]
mov dword [eax], 1
mov eax, 0x23c17650
jmp 0x49ac40
mov eax, 0x23c17650
jmp 0x49ac40
cmp eax, 0x23c17650
jne 0x49ac40
mov eax, dword [esi + 0x24]
mov eax, dword [esi + 0x30]
mov eax, dword [esi + 0x40]
mov eax, dword [esi + 0x2c]
mov eax, dword [esi]
mov eax, dword [esi + 0x20]
mov edi, dword [eax]
mov ecx, dword [esi + 0x60]
xor ecx, ebp
call fcn.005892d5
mov eax, edi
lea esp, [ebp - 0xc]
pop esi
pop edi
pop ebx
pop ebp
ret