Function at 0x1002c1b0
Capabilities:
Get socket status

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x90
mov eax, dword [ebp + 0x20]
push ebx
lea edx, [eax + 0x14b5]
push esi
mov esi, dword [ebp + 0x20]
mov ecx, eax
push edi
mov dword [ebp - 0xc], ecx
mov dword [ebp - 0x80], edx
cmp eax, edx
ja 0x1002bf5e
mov ebx, dword [ebp - 0x50]
jmp 0x1002bf10
mov edx, dword [ebp + 0xc]
mov edi, dword [ebp + 0x1c]
cmp ecx, 0x33f9
ja 0x1002c44c
je 0x1002c59c
cmp ecx, 0x32dc
ja 0x1002c373
je 0x1002c330
cmp ecx, 0x326a
ja 0x1002c2fc
je 0x1002c2c8
mov eax, ecx
sub eax, 0xa09
je 0x1002bf67
sub eax, 0x39
jne case.0x1002c476.19614
pop edi
mov eax, esi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
cmp dword [ebp + 0x18], 0
mov dword [ebp - 0x48], 0
je 0x1002c57c
mov eax, 0x4bc7
mov dword [ebp - 0x54], eax
cmp eax, 0x4c73
ja 0x1002c0c9
je 0x1002c0b6
add eax, 0xffffb439
cmp eax, 0x81
ja case.0x1002c0e0.19615
movzx eax, byte [eax + 0x1002c5d4]
jmp dword [eax*4 + 0x1002c5c0]
xor eax, eax
xor ecx, ecx
mov dword [ebp - 0x24], eax
mov dword [ebp - 0x20], ecx
jmp case.0x1002c0e0.19615
mov ecx, dword [ebp + 0x18]
mov dword [ebp - 0x18], ecx
jmp case.0x1002c0e0.19615
mov edx, dword [ebp + 8]
mov eax, dword [edx]
mov ecx, dword [ebp - 0x18]
add eax, eax
add eax, eax
lea ebx, [eax + ecx + 4]
lea edx, [eax + ebx + 4]
mov dword [ebp - 0x50], ebx
mov dword [ebp - 0x30], edx
mov dword [ebp - 0x4c], 0
jmp case.0x1002c0e0.19615
mov eax, dword [ebp - 0x30]
mov ecx, dword [ebp - 0x18]
mov edx, dword [ebp + 8]
mov dword [eax], 0
mov dword [ebx], 0
mov dword [ecx], 0
cmp dword [edx], 0
mov dword [ebp - 0x1c], 0
jle 0x1002c0a0
mov ecx, dword [ebp + 0x10]
mov edi, dword [ebp + 0xc]
sub edi, ecx
mov edx, 0x7ef
mov eax, edx
sub eax, 0x7ef
je 0x1002c065
sub eax, 0x25
jne 0x1002c084
test byte [ebp - 0x60], 2
je 0x1002c045
inc dword [ebx]
mov eax, dword [ebx]
mov esi, dword [ebp - 0x2c]
mov dword [ebx + eax*4], esi
test byte [ebp - 0x60], 4
mov esi, dword [ebp - 0x2c]
je 0x1002c05b
mov ebx, dword [ebp - 0x30]
inc dword [ebx]
mov eax, dword [ebx]
mov dword [ebx + eax*4], esi
mov ebx, dword [ebp - 0x50]
cmp esi, dword [ebp - 0x4c]
jle 0x1002c084
mov dword [ebp - 0x4c], esi
jmp 0x1002c084
mov eax, dword [edi + ecx]
mov esi, dword [ecx]
mov dword [ebp - 0x60], eax
mov dword [ebp - 0x2c], esi
test al, 1
je 0x1002c084
mov esi, dword [ebp - 0x18]
inc dword [esi]
mov ebx, dword [ebp - 0x2c]
mov eax, dword [esi]
mov dword [esi + eax*4], ebx
mov ebx, dword [ebp - 0x50]
add edx, 0x25
cmp edx, 0x814
jbe 0x1002c027
mov eax, dword [ebp - 0x1c]
mov edx, dword [ebp + 8]
inc eax
add ecx, 4
mov dword [ebp - 0x1c], eax
cmp eax, dword [edx]
jl 0x1002c022
mov ecx, dword [ebp - 0x18]
mov eax, dword [ecx]
neg eax
sbb eax, eax
and eax, ecx
mov dword [ebp - 0x90], eax
jmp case.0x1002c0e0.19615
mov eax, dword [ebx]
neg eax
sbb eax, eax
and eax, ebx
mov dword [ebp - 0x84], eax
jmp case.0x1002c0e0.19615
add eax, 0xffffb362
cmp eax, 0x81
ja case.0x1002c0e0.19615
movzx eax, byte [eax + 0x1002c66c]
jmp dword [eax*4 + 0x1002c658]
mov ecx, dword [ebp + 0x14]
mov eax, dword [ecx]
cdq
mov ecx, 0x3e8
idiv ecx
imul edx, edx, 0x3e8
mov dword [ebp - 0x24], eax
mov dword [ebp - 0x20], edx
jmp case.0x1002c0e0.19615
mov eax, dword [ebp + 0x14]
xor edx, edx
cmp dword [eax], edx
mov eax, dword [ebp - 0x84]
setl dl
lea ecx, [ebp - 0x24]
dec edx
and edx, ecx
mov ecx, dword [ebp - 0x90]
push edx
mov edx, dword [ebp - 0x8c]
push edx
mov edx, dword [ebp - 0x4c]
push eax
push ecx
inc edx
push edx
call dword [sym.imp.WS2_32.dll_select]
jmp case.0x1002c0e0.19615
ficom word [ecx - 0x39]
loope 0x1002c168
mov eax, dword [ebp + 8]
cmp dword [eax], 0
mov dword [ebp - 0x1c], 0
jle case.0x1002c0e0.19615
mov eax, dword [ebp + 0xc]
mov ecx, dword [ebp + 0x1c]
mov esi, dword [ebp - 0x6c]
mov edi, dword [ebp - 0x18]
sub ecx, eax
mov dword [ebp - 0x88], ecx
mov ecx, dword [ebp + 0x10]
sub ecx, eax
mov dword [ebp - 0x28], eax
dec ebp
adc byte [ebx], ch
enter 0x4589, 0xffffffffffffffd8
mov dword [ebp - 0x10], ecx
mov edx, eax
jmp 0x1002c180
mov ecx, 0x387d
lea eax, [ecx - 0x387d]
cmp eax, 0xcf
ja case.0x1002c19d.14462
movzx eax, byte [eax + 0x1002c704]
jmp dword [eax*4 + 0x1002c6f0]
mov dword [ebp - 0x14], 0
jmp case.0x1002c19d.14462
mov eax, dword [ebp - 0x58]
and eax, dword [ebp - 0x14]
cmp dword [ebp - 0x14], 0
mov edi, dword [ebp - 0x88]
mov dword [edi + edx], eax
mov edi, dword [ebp - 0x18]
je case.0x1002c19d.14462
inc dword [ebp - 0x48]
jmp case.0x1002c19d.14462
inc edx
nop
push ebx
xchg edx, eax
pop ecx
mov dl, byte [ebp - 0x58]
test dl, 1
je 0x1002c207
xor eax, eax
cmp dword [edi], eax
jle 0x1002c202
lea ecx, [edi + 4]
lea ebx, [ebx]
cmp dword [ecx], esi
je 0x1002c1fe
inc eax
add ecx, 4
cmp eax, dword [edi]
jl 0x1002c1f0
jmp 0x1002c202
or dword [ebp - 0x14], 1
mov ecx, 0x3907
test dl, 2
je 0x1002c22c
xor eax, eax
cmp dword [ebx], eax
jle 0x1002c227
lea ecx, [ebx + 4]
cmp dword [ecx], esi
je 0x1002c223
inc eax
add ecx, 4
cmp eax, dword [ebx]
jl 0x1002c215
jmp 0x1002c227
or dword [ebp - 0x14], 2
mov ecx, 0x3907
test dl, 4
je 0x1002c257
mov edx, dword [ebp - 0x30]
xor eax, eax
cmp dword [edx], eax
jle 0x1002c252
lea ecx, [edx + 4]
lea ecx, [ecx]
cmp dword [ecx], esi
je 0x1002c24e
inc eax
add ecx, 4
cmp eax, dword [edx]
jl 0x1002c240
jmp 0x1002c252
or dword [ebp - 0x14], 4
mov ecx, 0x3907
mov edx, dword [ebp - 0x28]
add ecx, 0x45
cmp ecx, 0x394c
jbe 0x1002c185
mov eax, dword [ebp - 0x1c]
mov ecx, dword [ebp + 8]
inc eax
add edx, 4
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0x28], edx
cmp eax, dword [ecx]
jl 0x1002c180
mov dword [ebp - 0x6c], esi
jmp case.0x1002c0e0.19615
in al, dx
fstp xword [edx]
adc al, 0xfb
mov eax, dword [edx]
mov dword [ebp - 0x58], eax
mov eax, dword [ebp - 0x10]
mov esi, dword [eax + edx]
jmp case.0x1002c19d.14462
mov ecx, dword [ebp - 0x30]
mov eax, dword [ecx]
neg eax
sbb eax, eax
and eax, ecx
mov dword [ebp - 0x8c], eax
mov eax, dword [ebp - 0x54]
add eax, 0x2b
mov dword [ebp - 0x54], eax
cmp eax, 0x4d1f
jbe 0x1002bf80
mov esi, dword [ebp - 0x48]
mov ecx, dword [ebp - 0xc]
jmp case.0x1002c476.19614
mov ecx, dword [ebp + 0x10]
push 0x537
lea edx, [ebp - 0x10]
push edx
lea eax, [ebp - 0x40]
push eax
add ecx, 0x78
push ecx
mov dword [ebp - 0x10], 4
call fcn.1000f120
add esp, 0x10
cmp eax, 4
jl 0x1002c5a6
mov ecx, dword [ebp - 0xc]
jmp case.0x1002c476.19614
cmp ecx, 0x32a3
jne case.0x1002c476.19614
aas
out 0xe8, al
mov ecx, 0xfc558d4d
push edx
lea eax, [ebp - 0x40]
push eax
push 0
push 0x3384
call fcn.10069ec0
mov ecx, dword [ebp - 0xc]
add esp, 0x10
sub dword [ebp - 4], 0xe
jmp case.0x1002c476.19614
cmp dword [ebp + 0x14], 0
je 0x1002c59c
mov ecx, dword [ebp - 4]
mov edx, dword [ebp + 0x18]
cmp dword [edx], ecx
jl 0x1002c590
mov eax, dword [ebp + 0x10]
add eax, 0x78
push eax
push 0x574b
lea ecx, [ebp - 0x10]
push ecx
lea edx, [ebp - 0x40]
push edx
mov dword [ebp - 0x10], 0xe
call fcn.1002bdb0
mov ecx, dword [ebp - 0xc]
add esp, 0x10
jmp case.0x1002c476.19614
lea eax, [ecx - 0x3315]
cmp eax, 0xab
ja case.0x1002c476.19614
movzx eax, byte [eax + 0x1002c7e8]
jmp dword [eax*4 + 0x1002c7d4]
push 0
push 0
push 0x2bb1
lea ecx, [ebp + 0x20]
push ecx
push 0
lea edx, [ebp - 0x3c]
push edx
push 0
call fcn.10033260
movzx eax, word [ebp + 0x20]
lea ecx, [ebp - 8]
push ecx
lea edx, [ebp - 0x3a]
push edx
push 0x4553
mov dword [ebp - 0x74], eax
call fcn.10008940
mov ecx, dword [ebp - 0xc]
add esp, 0x28
jmp case.0x1002c476.19614
test edx, edx
je 0x1002c3d9
mov eax, dword [ebp - 0x74]
mov dword [edx], eax
test edi, edi
je 0x1002c3e2
mov edx, dword [ebp - 0x64]
mov dword [edi], edx
cmp dword [ebp + 8], 0
je case.0x1002c476.19614
mov eax, dword [ebp - 0x7c]
mov edx, dword [ebp + 8]
mov dword [edx], eax
jmp case.0x1002c476.19614
mov eax, dword [ebp - 8]
lea ecx, [ebp - 8]
push ecx
lea edx, [ebp - 0x36]
push edx
push 0x4553
mov dword [ebp - 0x64], eax
call fcn.10008940
mov eax, dword [ebp - 8]
mov ecx, dword [ebp - 0xc]
add esp, 0xc
mov dword [ebp - 0x7c], eax
jmp case.0x1002c476.19614
mov edx, dword [ebp + 0x10]
mov ecx, dword [ebp - 4]
add edx, 0x78
push edx
push 0x574b
lea eax, [ebp - 0x10]
mov dword [ebp - 0x10], ecx
mov ecx, dword [ebp + 0x14]
push eax
push ecx
call fcn.1002bdb0
mov ecx, dword [ebp - 0xc]
add esp, 0x10
jmp case.0x1002c476.19614
cmp ecx, 0x6b21
ja 0x1002c521
je 0x1002c517
lea eax, [ecx - 0x4c9d]
cmp eax, 0xab
ja case.0x1002c476.19614
movzx edx, byte [eax + 0x1002c8a8]
jmp dword [edx*4 + 0x1002c894]
mov eax, dword [ebp - 0x5c]
mov edi, dword [ebp + 0x10]
push 0x7fe5
lea ecx, [ebp - 0x10]
push ecx
mov dword [ebp - 0x10], eax
mov eax, dword [edi]
push 0
push eax
push 0
call fcn.10001090
add esp, 0x14
mov dword [ebp - 0x5c], eax
test eax, eax
js 0x1002c5a6
mov edx, dword [edi]
mov ecx, dword [edx + 0x60]
mov edx, dword [ecx + eax*4]
mov ecx, dword [ebp - 0xc]
mov dword [ebp - 0x44], edx
jmp case.0x1002c476.19614
cmp dword [ebp - 0x44], 0
jne case.0x1002c476.19614
push 0x6886
push 0
push 0
call fcn.1004c4c0
mov ecx, dword [ebp - 0xc]
add esp, 0xc
jmp case.0x1002c476.19614
mov ecx, dword [ebp + 0x10]
mov edi, dword [ebp + 0xc]
mov eax, dword [edi]
push ecx
lea edx, [ebp - 0x68]
push 0x60fd
push edx
mov dword [ebp - 0x68], eax
call fcn.1002e320
mov ecx, dword [edi]
and ecx, 0xffff
add esp, 0xc
mov dword [ebp - 0x44], eax
mov dword [ebp - 0x5c], ecx
test eax, eax
je 0x1002c5a6
mov ecx, dword [ebp - 0xc]
jmp case.0x1002c476.19614
cli
and al, 0xf2
lodsb al, byte [esi]
mov al, 0x89
push ebp
nop
jmp case.0x1002c476.19614
mov eax, ecx
sub eax, 0x6b5a
je 0x1002c558
sub eax, 0x39
jne case.0x1002c476.19614
mov eax, dword [ebp - 0x78]
mov dword [ebp - 0x10], eax
mov eax, dword [ebp - 0x70]
mov ecx, dword [eax]
mov eax, dword [eax + 8]
add ecx, 4
push ecx
push 0x574b
lea edx, [ebp - 0x10]
push edx
push eax
call fcn.1002bdb0
mov ecx, dword [ebp - 0xc]
add esp, 0x10
jmp case.0x1002c476.19614
mov edx, dword [ebp + 0x10]
mov eax, dword [edx]
add eax, eax
add eax, eax
mov dword [ebp - 0x78], eax
add ecx, 0x39
mov dword [ebp - 0xc], ecx
cmp ecx, dword [ebp - 0x80]
jbe 0x1002bf10
pop edi
mov eax, esi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov eax, dword [ebp + 8]
mov eax, dword [eax]
lea eax, [eax + eax*2 + 3]
pop edi
add eax, eax
pop esi
add eax, eax
pop ebx
mov esp, ebp
pop ebp
ret
pop edi
pop esi
mov eax, 0xfffffffe
pop ebx
mov esp, ebp
pop ebp
ret
mov eax, dword [ebp - 4]
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
pop edi
pop esi
or eax, 0xffffffff
pop ebx
mov esp, ebp
pop ebp
ret
mov ecx, dword [ebp - 0x44]
mov eax, dword [ecx + 0xc]
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret