Function at 0x5a6c90
Capabilities:
Get socket status

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x62dde8
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
sub esp, 0x98
mov eax, dword [0x6d3510]
push ebx
push esi
push edi
mov dword [ebp - 0x10], esp
mov esi, ecx
xor ebx, ebx
push 1
push eax
mov dword [ebp - 0x54], esi
mov dword [ebp - 4], ebx
call fcn.005a81e0
mov ecx, esi
call fcn.005a8d50
mov ecx, esi
call fcn.005a97b0
mov ecx, dword [0x6cd768]
mov dword [ebp - 0x14], ecx
mov ecx, esi
mov byte [ebp - 4], 1
call fcn.005a84b0
mov edx, dword [esi + 0xc]
cmp dword [edx + 0x24], 5
jne 0x5a6d02
mov dword [ebp - 0x44], ebx
mov dword [ebp - 0x40], 0xc8
jmp 0x5a6d0c
mov dword [ebp - 0x44], 3
mov dword [ebp - 0x40], ebx
lea eax, [ebp - 0xa4]
push eax
call fcn.005e8b67
lea ecx, [ebp - 0x50]
push ecx
call fcn.005e8b67
add esp, 8
mov dword [ebp - 0x20], ebx
mov dword [ebp - 0x1c], ebx
cmp dword [esi + 0x1c], ebx
je 0x5a6d89
lea ecx, [esi + 0x28]
call fcn.0054b6d0
mov eax, dword [esi + 0x1b8]
mov ecx, dword [esi + 0x1bc]
mov dword [ebp - 0x8c], eax
mov eax, dword [esi + 0x1c0]
mov dword [ebp - 0x88], ecx
mov ecx, dword [esi + 0x1c4]
mov dword [ebp - 0x84], eax
mov eax, dword [esi + 0x10]
lea edx, [ebp - 0x8c]
mov dword [ebp - 0x80], ecx
mov dword [ebp - 0x7c], ebx
mov ecx, dword [eax]
push edx
push 0x1471
push 0x111
push ecx
call dword [sym.imp.USER32.dll_SendMessageA]
jmp 0x5a71e9
mov ecx, esi
call fcn.005a7fe0
test al, al
mov byte [ebp - 0x3c], al
je 0x5a6db8
lea edx, [ebp - 0x98]
push edx
call fcn.005e8b67
mov eax, dword [esi + 0x1c0]
mov ecx, dword [esi + 0x1c4]
add esp, 4
mov dword [ebp - 0x20], eax
mov dword [ebp - 0x1c], ecx
lea edx, [ebp - 0x44]
lea eax, [esi + 0x64c]
push edx
lea ecx, [esi + 0x448]
push eax
lea edx, [esi + 0x244]
push ecx
push edx
push ebx
call sub.WS2_32.dll_select
mov edi, eax
mov eax, dword [esi + 0x1c]
cmp eax, ebx
jne 0x5a71e1
mov eax, dword [esi + 0x1c0]
mov ecx, dword [esi + 0x1c4]
or eax, ecx
jne 0x5a6e35
lea eax, [ebp - 0x50]
push eax
call fcn.005e8b67
mov ecx, dword [ebp - 0x50]
mov edx, dword [ebp - 0xa4]
sub ecx, edx
add esp, 4
cmp ecx, 0x12c
jle 0x5a6e35
lea ecx, [ebp - 0x14]
mov byte [ebp - 4], 0
call fcn.00603a3c
mov eax, 0x7532
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
cmp edi, 0xffffffff
je 0x5a6e81
cmp edi, ebx
je 0x5a6e81
mov dword [esi + 0x858], ebx
xor edi, edi
cmp edi, dword [esi + 0x1a8]
jge 0x5a6e8e
lea eax, [edi + edi*2]
shl eax, 5
sub eax, edi
lea eax, [eax + eax*4]
lea edx, [eax + eax*4]
mov eax, dword [esi + 0x240]
lea ecx, [eax + edx*8]
mov eax, dword [eax + edx*8 + 0x84]
cmp eax, ebx
je 0x5a6e7e
cmp dword [esi + 0x1c], ebx
jne 0x5a71e1
call fcn.0059e550
inc edi
jmp 0x5a6e46
mov ecx, esi
call fcn.005a74e0
inc dword [esi + 0x858]
mov ecx, dword [ebp - 0x3c]
push ecx
push ebx
mov ecx, esi
call fcn.005a8580
lea edx, [ebp - 0x68]
push edx
call fcn.005e8b67
mov eax, dword [ebp - 0x68]
mov ecx, dword [ebp - 0x50]
sub eax, ecx
add esp, 4
lea ecx, [eax + eax*2]
lea eax, [eax + ecx*8]
mov ecx, dword [ebp - 0x64]
and ecx, 0xffff
lea edx, [eax + eax*4]
mov eax, dword [ebp - 0x4c]
shl edx, 3
and eax, 0xffff
sub edx, eax
add edx, ecx
cmp edx, 0xfa
jl 0x5a6f5d
lea edx, [ebp - 0x50]
push edx
call fcn.005e8b67
add esp, 4
xor ebx, ebx
cmp ebx, dword [esi + 0x1a8]
jge 0x5a6f5d
lea eax, [ebx + ebx*2]
mov ecx, dword [esi + 0x240]
shl eax, 5
sub eax, ebx
lea eax, [eax + eax*4]
lea eax, [eax + eax*4]
lea edi, [ecx + eax*8]
mov eax, dword [ecx + eax*8 + 0x84]
test eax, eax
je 0x5a6f5a
mov edx, dword [edi + 0xa0]
mov eax, dword [edx]
cmp dword [eax], 0
je 0x5a6f5a
mov ecx, dword [edi + 0x68]
mov eax, dword [edi + 0x6c]
or ecx, eax
je 0x5a6f5a
lea eax, [edi + 0x3e8]
mov ecx, edi
push eax
call fcn.005515d0
mov edx, dword [edi + 0xa0]
lea eax, [edi + 0x3e8]
push eax
push 0x13ef
mov eax, dword [edx]
push 0x111
mov ecx, dword [eax]
push ecx
call dword [sym.imp.USER32.dll_PostMessageA]
inc ebx
jmp 0x5a6ee9
mov al, byte [0x6d2454]
test al, al
jne 0x5a6fa5
mov eax, dword [esi + 0xc]
mov cl, byte [eax + 0x31e]
test cl, cl
je 0x5a6fa5
fld qword [eax + 0x360]
fcomp qword [0x634d48]
fnstsw ax
test ah, 0x41
je 0x5a6f95
mov edx, dword [esi + 0x240]
cmp dword [edx + 0xd4], 0x64
jbe 0x5a6fa5
mov ecx, dword [esi + 0x240]
mov eax, dword [ecx]
call dword [eax + 0x20]
jmp 0x5a71e1
mov al, byte [ebp - 0x3c]
test al, al
je 0x5a71c1
mov ecx, dword [esi + 0x1c4]
mov eax, dword [esi + 0x1c0]
test ecx, ecx
jl 0x5a71c1
jg 0x5a6fd1
cmp eax, 0x400
jbe 0x5a71c1
mov ecx, esi
call fcn.005a7fa0
lea ecx, [ebp - 0x74]
mov dword [ebp - 0x28], eax
push ecx
mov ebx, edx
call fcn.005e8b67
mov eax, dword [esi + 0x1c0]
mov edi, dword [ebp - 0x20]
mov ecx, dword [esi + 0x1c4]
mov edx, dword [ebp - 0x1c]
add esp, 4
sub eax, edi
sbb ecx, edx
mov dword [ebp - 0x38], eax
mov dword [ebp - 0x34], ecx
js 0x5a71c1
jg 0x5a7015
test eax, eax
jbe 0x5a71c1
mov eax, dword [ebp - 0x74]
mov edx, dword [ebp - 0x98]
sub eax, edx
mov ecx, dword [ebp - 0x94]
and ecx, 0xffff
lea edx, [eax + eax*2]
lea eax, [eax + edx*8]
mov edx, dword [ebp - 0x70]
and edx, 0xffff
lea eax, [eax + eax*4]
shl eax, 3
sub eax, ecx
add eax, edx
mov dword [ebp - 0x18], eax
jne 0x5a7051
mov dword [ebp - 0x18], 1
fild qword [ebp - 0x38]
fmul dword [0x636a28]
fidiv dword [ebp - 0x18]
call fcn.005e7794
mov edi, edx
mov ecx, eax
cmp edi, ebx
jl 0x5a71c1
jg 0x5a7079
cmp ecx, dword [ebp - 0x28]
jbe 0x5a71c1
mov edx, dword [ebp - 0x28]
mov eax, dword [ebp - 0x18]
sub ecx, edx
cdq
sbb edi, ebx
push edx
push eax
push edi
push ecx
call fcn.005e9a70
mov ecx, dword [ebp - 0x28]
push ebx
push ecx
push edx
push eax
call fcn.005e9080
mov edi, eax
mov eax, dword [esi + 0x1c8]
cdq
mov dword [ebp - 0x2c], edx
mov edx, dword [ebp - 0x28]
push 0
push 2
push ebx
push edx
mov dword [ebp - 0x30], eax
call fcn.005e9080
cmp dword [ebp - 0x2c], edx
jg 0x5a70d7
jl 0x5a70c2
cmp dword [ebp - 0x30], eax
jae 0x5a70d7
mov eax, 0x66666667
imul edi
sar edx, 3
mov eax, edx
shr eax, 0x1f
add edx, eax
mov edi, edx
jmp 0x5a7105
mov ecx, dword [ebp - 0x28]
push 0
push 9
push ebx
push ecx
call fcn.005e9a70
push 0
push 0xa
push edx
push eax
call fcn.005e9080
cmp dword [ebp - 0x2c], edx
jg 0x5a7105
jl 0x5a70fc
cmp dword [ebp - 0x30], eax
jae 0x5a7105
mov eax, edi
cdq
sub eax, edx
sar eax, 1
mov edi, eax
cmp edi, 0x2ee0
jle 0x5a7114
mov edi, 0x2ee0
jmp 0x5a711c
test edi, edi
jle 0x5a71c1
mov eax, dword [esi + 0x850]
cmp eax, 0xffffffff
je 0x5a71ba
lea ecx, [esi + 0x244]
lea ebx, [esi + 0x64c]
mov dword [esi + 0x448], 0
mov dword [ecx], 0
mov dword [ebx], 0
mov dword [esi + 0x248], eax
mov eax, dword [ecx]
inc eax
mov dword [ecx], eax
mov eax, dword [ebx]
cmp eax, 0x80
jae 0x5a7173
mov edx, dword [esi + 0x850]
mov dword [esi + eax*4 + 0x650], edx
mov eax, dword [ebx]
inc eax
mov dword [ebx], eax
mov eax, 0x10624dd3
imul edi
sar edx, 6
mov eax, edx
shr eax, 0x1f
add edx, eax
mov dword [ebp - 0x5c], edx
lea eax, [edx + edx*2]
lea edx, [edx + eax*8]
lea edx, [edx + edx*4]
shl edx, 3
sub edi, edx
lea eax, [edi + edi*2]
lea edi, [edi + eax*8]
lea eax, [ebp - 0x5c]
push eax
lea eax, [esi + 0x448]
lea edx, [edi + edi*4]
push ebx
push eax
push ecx
shl edx, 3
push 0
mov dword [ebp - 0x58], edx
call sub.WS2_32.dll_select
jmp 0x5a71c1
push edi
call dword [sym.imp.KERNEL32.dll_Sleep]
mov ecx, esi
call fcn.005a7570
mov edi, eax
test edi, edi
je 0x5a720b
push str.Flagexit_n
mov ecx, esi
call fcn.005a8330
mov eax, dword [esi + 0x1c]
test eax, eax
je 0x5a7219
lea ecx, [esi + 0x28]
call fcn.0054b6d0
lea ecx, [ebp - 0x14]
mov byte [ebp - 4], 0
call fcn.00603a3c
mov eax, 0x7540
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov ecx, esi
call fcn.005a7800
xor ebx, ebx
jmp 0x5a6d2a
cmp edi, 0x753c
je 0x5a736d
cmp edi, 0xffffffff
je 0x5a736d
mov ecx, dword [esi + 0x1c4]
mov edx, dword [esi + 0x1c0]
mov eax, dword [0x6d3514]
push ecx
push edx
lea ecx, [ebp - 0x14]
push eax
push ecx
call fcn.005fc86b
mov edx, dword [ebp - 0x14]
add esp, 0x10
mov ecx, esi
push 1
push edx
call fcn.005a81e0
mov eax, dword [esi + 0x1c4]
mov edx, dword [esi + 0x1c0]
mov ecx, dword [esi + 0x1bc]
mov dword [ebp - 0x34], eax
mov eax, dword [esi + 0x1b8]
cmp edx, eax
jne 0x5a7283
mov edi, dword [ebp - 0x34]
mov ebx, ecx
cmp edi, ebx
je 0x5a72d8
mov edi, eax
or edi, ecx
je 0x5a72d8
mov esi, dword [ebp - 0x34]
cmp esi, ecx
jl 0x5a72b8
jg 0x5a7296
cmp edx, eax
jbe 0x5a72b8
lea ecx, [ebp - 0x14]
mov byte [ebp - 4], 0
call fcn.00603a3c
mov eax, 0x7570
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
lea ecx, [ebp - 0x14]
mov byte [ebp - 4], 0
call fcn.00603a3c
or eax, 0xffffffff
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
xor ebx, ebx
cmp ebx, dword [esi + 0x1a8]
jge 0x5a734e
lea eax, [ebx + ebx*2]
mov edx, dword [esi + 0x240]
shl eax, 5
sub eax, ebx
lea eax, [eax + eax*4]
lea ecx, [eax + eax*4]
mov eax, dword [edx + ecx*8 + 0x84]
test eax, eax
lea edi, [edx + ecx*8]
je 0x5a734b
mov eax, dword [edi + 0xa0]
mov ecx, dword [eax]
cmp dword [ecx], 0
je 0x5a734b
mov edx, dword [edi + 0x68]
mov eax, dword [edi + 0x6c]
or edx, eax
je 0x5a734b
lea eax, [edi + 0x3e8]
mov ecx, edi
push eax
call fcn.005515d0
lea eax, [edi + 0x3e8]
push eax
mov eax, dword [edi + 0xa0]
push 0x13ef
push 0x111
mov ecx, dword [eax]
mov edx, dword [ecx]
push edx
call dword [sym.imp.USER32.dll_PostMessageA]
inc ebx
jmp 0x5a72da
lea ecx, [ebp - 0x14]
mov byte [ebp - 4], 0
call fcn.00603a3c
xor eax, eax
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov eax, dword [esi + 0x1c4]
mov ecx, dword [esi + 0x1c0]
mov edx, dword [0x6d3508]
push eax
push ecx
lea eax, [ebp - 0x14]
push edx
push eax
call fcn.005fc86b
mov ecx, dword [ebp - 0x14]
add esp, 0x10
push 1
push ecx
mov ecx, esi
call fcn.005a81e0
mov esi, dword [esi + 0x140]
test esi, esi
je 0x5a73ad
cmp edi, 0x753c
je 0x5a73af
mov esi, edi
lea ecx, [ebp - 0x14]
mov byte [ebp - 4], 0
call fcn.00603a3c
mov ecx, dword [ebp - 0xc]
mov eax, esi
pop edi
pop esi
mov dword fs:[0], ecx
pop ebx
mov esp, ebp
pop ebp
ret