Function at 0x5a63251b
Capabilities:
Set socket configuration

Disassembly:
mov edi, edi
push ebp
mov ebp, esp
push ecx
push ecx
push ebx
mov ebx, dword [sym.imp.KERNEL32.dll_EnterCriticalSection]
push esi
push edi
mov edi, dword [ebp + 8]
lea eax, [edi + 0x1c4]
push eax
mov dword [ebp - 8], eax
call ebx
mov esi, dword [ebp + 0xc]
push 0
push esi
push edi
call fcn.5a6322e3
push esi
push edi
call fcn.5a631f4e
test byte [esi + 0x20], 0x80
je 0x5a63255a
push esi
push edi
call fcn.5a6322b4
test byte [esi + 0x20], 0x40
je 0x5a632567
push esi
push edi
call fcn.5a63214f
test byte [esi + 0x20], 0x20
je 0x5a632574
push esi
push edi
call fcn.5a6321c2
mov eax, dword [esi + 0x10]
cmp eax, 0xffffffff
mov edi, 0x5a63e640
je 0x5a632610
and word [ebp - 2], 0
push 4
lea ecx, [ebp - 4]
push ecx
push 0x80
push pe_overlay
push eax
mov word [ebp - 4], 1
call dword [sym.imp.WSOCK32.dll_setsockopt]
push edi
call ebx
push 0x30
call fcn.5a631cfe
mov ebx, eax
test ebx, ebx
pop ecx
jne 0x5a6325d7
push edi
call dword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
push dword [esi + 0x10]
push dword [ebp + 8]
call fcn.5a631d2e
cmp eax, 0xffffffff
jne 0x5a6325fc
call dword [sym.imp.WSOCK32.dll_WSAGetLastError]
jmp 0x5a6325fc
mov eax, dword [ebp + 8]
mov ecx, dword [eax + 0x24]
mov dword [ebx], ecx
mov dword [eax + 0x24], ebx
mov eax, dword [esi + 0x10]
mov dword [ebx + 0x1c], eax
call dword [sym.imp.WINMM.dll_timeGetTime]
and dword [ebx + 4], 0
push edi
mov dword [ebx + 0x2c], eax
call dword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
or dword [esi + 0x10], 0xffffffff
cmp dword [esi + 0x18], 0xffffffff
jne 0x5a63260c
and dword [esi + 0x20], 0xfffffff3
jmp 0x5a632610
and dword [esi + 0x20], 0xfffffffb
mov eax, dword [esi + 0x18]
cmp eax, 0xffffffff
je 0x5a63269f
and word [ebp - 2], 0
push 4
lea ecx, [ebp - 4]
push ecx
push 0x80
push pe_overlay
push eax
mov word [ebp - 4], 1
call dword [sym.imp.WSOCK32.dll_setsockopt]
push edi
call dword [sym.imp.KERNEL32.dll_EnterCriticalSection]
push 0x30
call fcn.5a631cfe
mov ebx, eax
test ebx, ebx
pop ecx
jne 0x5a632672
push edi
call dword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
push dword [esi + 0x18]
push dword [ebp + 8]
call fcn.5a631d2e
cmp eax, 0xffffffff
jne 0x5a632697
call dword [sym.imp.WSOCK32.dll_WSAGetLastError]
jmp 0x5a632697
mov eax, dword [ebp + 8]
mov ecx, dword [eax + 0x24]
mov dword [ebx], ecx
mov dword [eax + 0x24], ebx
mov eax, dword [esi + 0x18]
mov dword [ebx + 0x1c], eax
call dword [sym.imp.WINMM.dll_timeGetTime]
and dword [ebx + 4], 0
push edi
mov dword [ebx + 0x2c], eax
call dword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
or dword [esi + 0x18], 0xffffffff
and dword [esi + 0x20], 0xfffffff7
mov eax, dword [esi + 0x3c]
cmp eax, dword [esi + 0x40]
je 0x5a6326b4
push eax
call fcn.5a631cd5
mov eax, dword [esi + 0x40]
pop ecx
mov dword [esi + 0x3c], eax
lea ebx, [esi + 0x28]
cmp dword [ebx], ebx
je 0x5a632704
mov eax, dword [ebp + 8]
add eax, 0x120
mov dword [ebp + 8], eax
mov edi, dword [ebx]
sub edi, 0x74
lea eax, [edi + 0x74]
push eax
call fcn.5a63414f
push dword [ebp + 8]
mov dword [edi + 0xac], 0x88770168
call dword [sym.imp.KERNEL32.dll_EnterCriticalSection]
push dword [ebp + 8]
mov dword [edi + 0xa8], 1
call dword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
push edi
call fcn.5a634d04
cmp dword [ebx], ebx
jne 0x5a6326c6
push dword [ebp - 8]
call dword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
pop edi
mov eax, esi
pop esi
pop ebx
leave
ret 0xc