Function at 0x1002e1cd
Capabilities:
Set socket configuration

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x28
push ebx
push esi
push edi
push 0x10
pop esi
mov ecx, 0xb8cc
mov dword [ebp - 4], esi
call fcn.1000e7e0
mov edx, dword [ebp + 0xc]
mov ebx, eax
mov eax, dword [ebp + 8]
xor ecx, ecx
xor edi, edi
inc ecx
mov dword [ebx], eax
mov dword [ebx + 0x14], edx
mov dword [ebx + 0x44], edi
mov dword [ebx + 0x48], ecx
mov dword [ebx + 4], eax
inc dword [eax + 4]
mov dword [ebx + 0xc], edi
mov dword [ebx + 0x10], 0x1002da35
cmp dword [ebp + 0x10], edi
jne 0x1002e431
lea eax, [ebp - 4]
push eax
lea eax, [ebp - 0x28]
push eax
push edx
mov dword [ebp - 8], ecx
call sub.WS2_32.dll_getpeername
mov ecx, esi
call fcn.1000e7e0
mov dword [ebx + 0x18], eax
push dword [ebp - 0x24]
call sub.WS2_32.dll_inet_ntoa
lea esi, [eax + 1]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x1002e23d
push dword [ebp - 0x24]
sub eax, esi
mov dword [ebp + 0x10], eax
call sub.WS2_32.dll_inet_ntoa
mov edi, dword [ebx + 0x18]
mov ecx, dword [ebp + 0x10]
mov esi, eax
rep movsb byte es:[edi], byte [esi]
mov edi, dword [ebp + 8]
push edi
call fcn.1002e16a
pop ecx
mov esi, eax
mov eax, esi
call fcn.1002e1a7
test eax, eax
jne 0x1002e267
call fcn.1002e1c3
mov esi, dword [ebp + 0xc]
push 4
lea eax, [ebp - 8]
push eax
push 1
push 6
push esi
call dword [sym.imp.WS2_32.dll_setsockopt]
test eax, eax
jns 0x1002e29c
push esi
call sub.WS2_32.dll_closesocket
xor eax, eax
jmp 0x1002e498
mov ecx, dword [edi + 0x18c]
cmp ecx, 0x40
jae 0x1002e2b4
mov dword [edi + ecx*4 + 0x190], esi
inc dword [edi + 0x18c]
mov ecx, dword [edi + 0x188]
cmp esi, ecx
jle 0x1002e2c0
mov ecx, esi
mov dword [edi + 0x188], ecx
or dword [ebx + 0x38], 0xffffffff
xor esi, esi
push 0x30
pop eax
mov dword [ebx + 0x24], esi
mov dword [ebx + 0x28], esi
mov dword [ebx + 0x30], esi
mov dword [ebx + 0x34], esi
mov dword [ebx + 0x3c], eax
mov dword [ebx + 0x40], eax
mov dword [ebx + 0x78a0], esi
call fcn.10032dd4
mov dword [ebx + 0x60], eax
mov dword [ebx + 0x64], esi
mov dword [ebx + 0x68], esi
push dword [edi + 0x10]
push dword [edi + 8]
push esi
push esi
call fcn.10032dd9
add esp, 0x10
mov dword [ebx + 0x6c], eax
call fcn.10032dd4
mov esi, dword [ebx]
mov edx, dword [ebp + 8]
add esi, 0x2c
mov dword [ebx + 0x70], eax
lea edi, [ebx + 0x98]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
xor eax, eax
mov dword [ebx + 0x90], 0x10035f0b
mov dword [ebx + 0x94], eax
mov esi, dword [edx + 0x2e0]
mov dword [ebx + 0x789c], esi
mov dword [ebx + 0x7898], eax
mov esi, dword [edx + 0x2e0]
cmp esi, eax
je 0x1002e356
mov dword [esi + 0x7898], ebx
mov dword [edx + 0x2e0], ebx
mov dword [ebx + 0x7874], eax
mov dword [ebx + 0x7878], eax
mov dword [ebx + 0x787c], eax
mov dword [ebx + 0x7870], eax
mov dword [ebx + 0x786c], eax
mov dword [ebx + 0x7860], eax
mov dword [ebx + 0x7864], eax
mov dword [ebx + 0x7868], eax
or ecx, 0xffffffff
mov dword [ebx + 0x762c], ecx
mov dword [ebx + 0x7638], ecx
mov dword [ebx + 0x785c], ecx
mov esi, dword [edx + 0x2e8]
mov dword [ebx + 0x7888], esi
mov edx, dword [edx + 0x2ec]
mov dword [ebx + 0x7890], eax
mov dword [ebx + 0x7624], eax
mov dword [ebx + 0x75f4], eax
mov dword [ebx + 0x7600], eax
mov dword [ebx + 0x760c], eax
mov dword [ebx + 0x7610], eax
mov dword [ebx + 0x7614], eax
mov dword [ebx + 0xb8a8], eax
mov dword [ebx + 0xb8ac], eax
mov dword [ebx + 0x788c], edx
mov dword [ebx + 0x7628], 5
mov dword [ebx + 0x84], ecx
mov esi, str.RFB_003.006_n
lea edi, [ebp - 0x18]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
lea eax, [ebp - 0x18]
push 0xc
push eax
mov eax, ebx
movsb byte es:[edi], byte [esi]
call fcn.10033beb
pop ecx
pop ecx
test eax, eax
jns 0x1002e431
mov esi, ebx
call fcn.1003397f
mov edi, ebx
call fcn.1002e4c8
jmp 0x1002e295
call fcn.1002d8f5
mov edi, eax
jmp 0x1002e45f
mov eax, dword [edi]
and dword [ebp + 8], 0
test eax, eax
je 0x1002e45c
lea ecx, [ebp + 8]
push ecx
push ebx
call eax
pop ecx
pop ecx
test eax, eax
je 0x1002e45c
push dword [ebp + 8]
mov esi, ebx
call fcn.1002d90e
pop ecx
mov edi, dword [edi + 0x20]
test edi, edi
jne 0x1002e43a
mov eax, dword [ebx]
push ebx
call dword [eax + 0x32c]
sub eax, edi
pop ecx
je 0x1002e492
dec eax
je 0x1002e489
dec eax
jne 0x1002e496
mov esi, ebx
call fcn.1003397f
mov edi, ebx
call fcn.1002e4c8
xor ebx, ebx
jmp 0x1002e496
mov dword [ebx + 0x2c], 1
jmp 0x1002e496
and dword [ebx + 0x2c], 0
mov eax, ebx
pop edi
pop esi
pop ebx
leave
ret