Function at 0x1006d1f
Capabilities:
Set socket configuration

Disassembly:
push 0x5c0
push 0x1001a38
call fcn.0100b614
mov eax, dword [0x100e0a8]
mov dword [ebp - 0x1c], eax
mov edi, ecx
mov dword [ebp - 0x580], edi
xor esi, esi
inc esi
mov dword [ebp - 0x58c], esi
or dword [ebp - 0x574], 0xffffffff
push 0xf0000000
push esi
xor ebx, ebx
push ebx
push ebx
push 0x100f4d0
call dword [sym.imp.ADVAPI32.dll_CryptAcquireContextW]
test eax, eax
jne 0x1006d6f
call dword [sym.imp.KERNEL32.dll_GetLastError]
jmp 0x1006d8d
mov ecx, edi
call fcn.010062e8
test al, al
jne 0x1006d94
push 0x1001668
push 0xc0000fa4
push esi
call fcn.0100828a
add esp, 0xc
xor al, al
jmp 0x10072bd
push 0x8007
call dword [sym.imp.KERNEL32.dll_SetErrorMode]
mov eax, dword [0x100f488]
mov ecx, dword [eax + 0x170]
mov dword [ebp - 0x5a4], ecx
mov ecx, dword [eax + 0x14c]
mov dword [ebp - 0x5a0], ecx
mov ecx, dword [eax + 0x134]
mov dword [ebp - 0x59c], ecx
mov eax, dword [eax + 0x15c]
mov dword [ebp - 0x598], eax
push 4
mov ecx, 0x100eff0
call fcn.0100834a
jmp 0x1006de8
mov edi, dword [ebp - 0x580]
cmp dword [ebp - 0x58c], ebx
je 0x10071ff
xor esi, esi
mov dword [ebp - 0x594], esi
push 0xffffffffffffffff
push ebx
lea eax, [ebp - 0x5a4]
push eax
push 4
call dword [sym.imp.KERNEL32.dll_WaitForMultipleObjects]
mov ecx, eax
sub ecx, ebx
je 0x10071f4
dec ecx
je 0x1006e40
dec ecx
je 0x1006e8d
dec ecx
je 0x1006e37
cmp eax, 0xffffffff
jne 0x1006de8
call dword [sym.imp.KERNEL32.dll_GetLastError]
push eax
push ebx
push 1
call fcn.0100bb73
jmp 0x1006de8
xor esi, esi
inc esi
mov dword [ebp - 0x594], esi
mov byte [ebp - 0x56d], bl
mov dword [ebp - 0x584], ebx
mov dword [ebp - 0x578], ebx
mov dword [ebp - 0x5d0], ebx
mov edi, esi
shl edi, 4
mov eax, dword [0x100f488]
add eax, edi
lea ecx, [ebp - 0x5d0]
push ecx
push dword [eax + 0x14c]
push dword [eax + 0x148]
call dword [sym.imp.WS2_32.dll_WSAEnumNetworkEvents]
cmp eax, 0xffffffff
jne 0x1006eb1
call dword [sym.imp.WS2_32.dll_WSAGetLastError]
jmp 0x1006f47
mov ecx, edi
call fcn.0100649a
mov eax, dword [0x100f488]
push dword [eax + 0x134]
call dword [sym.imp.KERNEL32.dll_ResetEvent]
mov ecx, edi
call fcn.01005450
jmp 0x1006de8
test byte [ebp - 0x5d0], 8
je 0x10071cf
cmp dword [ebp - 0x574], 0xffffffff
je 0x1006ed3
push dword [ebp - 0x574]
call dword [sym.imp.WS2_32.dll_closesocket]
mov dword [ebp - 0x57c], 0x80
mov dword [ebp - 4], ebx
lea eax, [ebp - 0x57c]
push eax
lea eax, [ebp - 0x56c]
push eax
mov eax, dword [0x100f488]
push dword [edi + eax + 0x148]
call dword [sym.imp.WS2_32.dll_accept]
mov dword [ebp - 0x574], eax
or dword [ebp - 4], 0xffffffff
jmp 0x1006f31
cmp dword [ebp - 0x574], 0xffffffff
jne 0x1006f6d
call dword [sym.imp.WS2_32.dll_WSAGetLastError]
cmp eax, 0x2733
je 0x1006f53
push eax
call fcn.0100c10c
pop ecx
jmp 0x10071cf
shl esi, 4
mov eax, dword [0x100f488]
push dword [esi + eax + 0x14c]
call dword [sym.imp.WS2_32.dll_WSASetEvent]
jmp 0x10071cf
mov dword [ebp - 0x590], ebx
mov dword [ebp - 0x588], ebx
push 4
lea eax, [ebp - 0x588]
push eax
push 0x80
push 0xffff
push dword [ebp - 0x574]
mov edi, dword [sym.imp.WS2_32.dll_setsockopt]
call edi
mov dword [ebp - 0x588], 1
push 4
lea eax, [ebp - 0x588]
push eax
push 0xfffffffffffffffb
push 0xffff
push dword [ebp - 0x574]
call edi
shl esi, 4
mov eax, dword [0x100f488]
mov esi, dword [esi + eax + 0x14c]
cmp esi, ebx
je 0x10071cf
push ebx
push esi
mov edi, dword [ebp - 0x574]
push edi
call dword [sym.imp.WS2_32.dll_WSAEventSelect]
push ebx
push ebx
mov eax, dword [0x100f488]
add eax, 0x1c
push eax
call dword [sym.imp.KERNEL32.dll_InterlockedCompareExchange]
test eax, eax
jne 0x100702a
push 0x100
lea eax, [ebp - 0x368]
push eax
push 0x70
push dword [0x100f4a0]
call dword [sym.imp.USER32.dll_LoadStringA]
test eax, eax
je 0x10070c6
lea eax, [ebp - 0x368]
mov ecx, dword [ebp - 0x580]
jmp 0x10070bf
mov eax, 0x80
mov dword [ebp - 0x57c], eax
push eax
lea eax, [ebp - 0x4ec]
push eax
call fcn.0100b707
lea eax, [ebp - 0x57c]
push eax
lea eax, [ebp - 0x4ec]
push eax
push edi
call dword [sym.imp.WS2_32.dll_getpeername]
cmp eax, 0xffffffff
jne 0x1007067
call dword [sym.imp.KERNEL32.dll_GetLastError]
jmp 0x10071cf
push 2
push ebx
push ebx
push 0x40
lea eax, [ebp - 0x5c]
push eax
push dword [ebp - 0x57c]
lea eax, [ebp - 0x4ec]
push eax
call fcn.01004d2f
lea eax, [ebp - 0x5c]
push eax
mov esi, dword [ebp - 0x580]
mov ecx, dword [esi + 4]
call fcn.0100a1d6
test al, al
jne 0x10070d4
push 0x100
lea eax, [ebp - 0x46c]
push eax
push 0x75
push dword [0x100f4a0]
call dword [sym.imp.USER32.dll_LoadStringA]
test eax, eax
je 0x10070c6
lea eax, [ebp - 0x46c]
mov ecx, esi
push eax
push edi
call fcn.01005e55
push 2
push edi
call dword [sym.imp.WS2_32.dll_shutdown]
jmp 0x10071cf
lea eax, [ebp - 0x590]
push eax
lea eax, [ebp - 0x578]
push eax
lea eax, [ebp - 0x584]
push eax
push edi
mov ecx, esi
call fcn.01006aa0
test al, al
jne 0x100712b
push 0x100
lea eax, [ebp - 0x264]
push eax
push 0x71
push dword [0x100f4a0]
call dword [sym.imp.USER32.dll_LoadStringA]
test eax, eax
je 0x10071cf
lea eax, [ebp - 0x264]
push eax
push edi
mov ecx, esi
call fcn.01005e55
jmp 0x10071cf
or dword [ebp - 0x574], 0xffffffff
cmp dword [ebp - 0x578], ebx
je 0x10071cf
lea eax, [ebp - 0x56d]
push eax
lea eax, [ebp - 0x578]
push eax
lea eax, [ebp - 0x5c]
push eax
push dword [ebp - 0x584]
mov ecx, dword [esi + 4]
call fcn.0100a13b
test al, al
jne 0x1007197
push 0x100
lea eax, [ebp - 0x160]
push eax
push 0x75
push dword [0x100f4a0]
call dword [sym.imp.USER32.dll_LoadStringA]
test eax, eax
je 0x1007197
lea eax, [ebp - 0x160]
push eax
mov eax, dword [ebp - 0x590]
push dword [eax + 0xc]
mov ecx, esi
call fcn.01005e55
cmp byte [ebp - 0x56d], bl
je 0x10071c2
mov byte [ebp - 0x56d], bl
push dword [ebp - 0x584]
mov ecx, dword [esi + 4]
call fcn.01009efd
push 0x30
push dword [ebp - 0x578]
mov ecx, esi
call fcn.01005523
lea eax, [ebp - 0x578]
push eax
push ebx
call fcn.0100c1da
cmp dword [ebp - 0x574], 0xffffffff
je 0x1006de2
push dword [ebp - 0x574]
call dword [sym.imp.WS2_32.dll_closesocket]
or dword [ebp - 0x574], 0xffffffff
jmp 0x1006de2
mov dword [ebp - 0x58c], ebx
jmp 0x1006de8
mov eax, dword [0x100f488]
mov eax, dword [eax + 0x138]
cmp eax, ebx
je 0x1007215
push eax
call dword [sym.imp.ADVAPI32.dll_RegCloseKey]
mov eax, dword [0x100f488]
add eax, 0x134
push eax
push ebx
call fcn.0100c1da
mov eax, dword [0x100f488]
mov eax, dword [eax + 0x148]
or esi, 0xffffffff
cmp eax, esi
je 0x100724a
push eax
call dword [sym.imp.WS2_32.dll_closesocket]
mov eax, dword [0x100f488]
mov dword [eax + 0x148], esi
mov eax, dword [0x100f488]
mov eax, dword [eax + 0x158]
cmp eax, esi
je 0x100726b
push eax
call dword [sym.imp.WS2_32.dll_closesocket]
mov eax, dword [0x100f488]
mov dword [eax + 0x158], esi
mov eax, dword [0x100f488]
add eax, 0x170
push eax
push ebx
call fcn.0100c1da
mov eax, dword [edi + 0x14c]
cmp eax, ebx
je 0x100728d
push eax
call dword [sym.imp.WS2_32.dll_WSACloseEvent]
mov eax, dword [edi + 0x15c]
cmp eax, ebx
je 0x100729e
push eax
call dword [sym.imp.WS2_32.dll_WSACloseEvent]
mov eax, dword [0x100f4d0]
cmp eax, ebx
je 0x10072b5
push ebx
push eax
call dword [sym.imp.ADVAPI32.dll_CryptReleaseContext]
mov dword [0x100f4d0], ebx
call dword [sym.imp.WS2_32.dll_WSACleanup]
mov al, 1
mov ecx, dword [ebp - 0x1c]
call fcn.0100b28a
call fcn.0100b64f
ret