Function at 0x692820
Capabilities:
Set socket configuration

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x82fa68
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
sub esp, 0x1f8
push ebx
push esi
mov esi, ecx
push edi
mov dword [ebp - 0x10], esp
mov dword [ebp - 0x40], esi
mov eax, dword [esi + 0x18]
cmp eax, 0xffffffff
jne 0x692bb9
lea ecx, [esi + 8]
call fcn.005e6286
test al, al
jne 0x692bb9
lea ecx, [esi + 0x14]
mov dword [ebp - 4], 4
call fcn.005e6b8d
mov edi, dword [ebp + 8]
test edi, edi
je 0x692a14
lea eax, [ebp - 0x50]
mov ecx, 0x9518b0
push eax
call fcn.0057ded0
cmp dword [eax], 2
jne 0x69297f
lea ecx, [ebp - 0x50]
push ecx
mov ecx, 0x9518b0
call fcn.0057ded0
push 0x866ab8
mov ecx, eax
call fcn.0057dac0
test al, al
jne 0x6928c7
mov ecx, 0x9518b0
call fcn.0057df80
cmp eax, 4
jl 0x69297f
mov eax, dword [esi + 0x18]
lea edx, [ebp - 0x44]
push 4
push edx
push 0xfffffffffffffffb
push 0xffff
push eax
mov dword [ebp - 0x44], 1
call dword [sym.imp.WS2_32.dll_setsockopt]
test eax, eax
je 0x692a14
cmp edi, 2
jne 0x692a14
call dword [sym.imp.KERNEL32.dll_GetACP]
mov esi, eax
lea eax, [ebp + 0xb]
push eax
lea ecx, [ebp - 0x38]
call fcn.00478ac0
mov dword [ebp - 0x3c], vtable.basic_string_ext_char_.0
lea ecx, [ebp - 0x11]
mov byte [ebp - 4], 9
push ecx
lea ecx, [ebp - 0x24]
mov dword [ebp - 0x28], esi
call fcn.00478ac0
lea ecx, [ebp - 0x3c]
mov byte [ebp - 4], 0xa
mov dword [ebp - 0x3c], vtable.dbcsstring.0
call fcn.00577bc0
mov edi, str.setsockopt__
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
dec ecx
push ecx
push str.setsockopt__
lea ecx, [ebp - 0x38]
call fcn.004030a0
mov byte [ebp - 4], 0xb
call dword [sym.imp.WS2_32.dll_WSAGetLastError]
lea edx, [ebp - 0x3c]
push eax
push edx
lea ecx, [ebp - 0x164]
call fcn.005842f0
lea eax, [ebp - 0x164]
push 0x89b94c
push eax
call fcn.007ac5c6
cmp edi, 2
jne 0x692a14
call dword [sym.imp.KERNEL32.dll_GetACP]
lea ecx, [ebp + 0xb]
mov esi, eax
push ecx
lea ecx, [ebp - 0x38]
call fcn.00478ac0
mov dword [ebp - 0x3c], vtable.basic_string_ext_char_.0
lea edx, [ebp - 0x11]
lea ecx, [ebp - 0x24]
push edx
mov byte [ebp - 4], 5
mov dword [ebp - 0x28], esi
call fcn.00478ac0
lea ecx, [ebp - 0x3c]
mov byte [ebp - 4], 6
mov dword [ebp - 0x3c], vtable.dbcsstring.0
call fcn.00577bc0
mov edi, str.ListeningSocket:_Exclusive_socket_binding_not_supported_on_this_platform
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
dec ecx
push ecx
push str.ListeningSocket:_Exclusive_socket_binding_not_supported_on_this_platform
lea ecx, [ebp - 0x38]
call fcn.004030a0
lea eax, [ebp - 0x3c]
lea ecx, [ebp - 0xc8]
push eax
mov byte [ebp - 4], 7
call fcn.00432800
lea ecx, [ebp - 0xc8]
push 0x89b95c
push ecx
mov dword [ebp - 0xc8], vtable.AException.0
call fcn.007ac5c6
mov eax, dword [esi + 0x20]
lea ecx, [esi + 0x20]
test eax, eax
jne 0x692a30
mov edx, dword [esi + 0x38]
lea edi, [esi + 0x14]
push 0
push edx
mov ecx, edi
call fcn.005e7351
jmp 0x692a49
lea eax, [ebp - 0x54]
push eax
call fcn.00692190
lea ecx, [ebp - 0x54]
push 0x10
lea edi, [esi + 0x14]
push ecx
mov ecx, edi
call fcn.005e73e0
push 5
mov ecx, edi
call fcn.005e7409
push 1
push 0
push 0
push 1
push 0
call dword [sym.imp.KERNEL32.dll_CreateEventW]
lea edi, [esi + 8]
push eax
mov ecx, edi
call fcn.005e6299
mov ecx, edi
call fcn.005e6286
test al, al
jne 0x692afe
call dword [sym.imp.KERNEL32.dll_GetACP]
lea ecx, [ebp - 0x3c]
mov esi, eax
call fcn.004034c0
mov dl, byte [ebp + 0xb]
push 0
lea ecx, [ebp - 0x24]
mov byte [ebp - 4], 0xd
mov dword [ebp - 0x28], esi
mov byte [ebp - 0x24], dl
call fcn.00404c40
lea ecx, [ebp - 0x3c]
mov byte [ebp - 4], 0xe
mov dword [ebp - 0x3c], vtable.dbcsstring.0
call fcn.00577bc0
mov edi, str.CreateEvent__
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
dec ecx
push ecx
push str.CreateEvent__
lea ecx, [ebp - 0x38]
call fcn.004030a0
mov byte [ebp - 4], 0xf
call dword [sym.imp.KERNEL32.dll_GetLastError]
push eax
lea eax, [ebp - 0x3c]
push eax
lea ecx, [ebp - 0x1b4]
call fcn.005842f0
lea ecx, [ebp - 0x1b4]
push 0x89b94c
push ecx
call fcn.007ac5c6
mov eax, dword [esi + 0xc]
mov esi, dword [esi + 0x18]
push 8
push eax
push esi
call dword [sym.imp.WS2_32.dll_WSAEventSelect]
test eax, eax
je 0x692c44
call dword [sym.imp.KERNEL32.dll_GetACP]
lea ecx, [ebp - 0x7c]
mov esi, eax
call fcn.004034c0
lea edx, [ebp - 0x11]
lea ecx, [ebp - 0x64]
push edx
mov byte [ebp - 4], 0x11
mov dword [ebp - 0x68], esi
call fcn.00478ac0
lea ecx, [ebp - 0x7c]
mov byte [ebp - 4], 0x12
mov dword [ebp - 0x7c], vtable.dbcsstring.0
call fcn.00577bc0
mov edi, str.WSAEventSelect__
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
dec ecx
push ecx
push str.WSAEventSelect__
lea ecx, [ebp - 0x78]
call fcn.004030a0
mov byte [ebp - 4], 0x13
call dword [sym.imp.KERNEL32.dll_GetLastError]
push eax
lea eax, [ebp - 0x7c]
push eax
lea ecx, [ebp - 0x204]
call fcn.005842f0
lea ecx, [ebp - 0x204]
push 0x89b94c
push ecx
call fcn.007ac5c6
mov ecx, dword [ebp - 0x40]
mov dword [ebp - 0x10], esp
mov byte [ebp - 4], 0x16
call fcn.00692df0
push 0
push 0
mov dword [ebp - 4], 0x15
call fcn.007ac5c6
mov eax, 0x692ba3
ret
call dword [sym.imp.KERNEL32.dll_GetACP]
lea ecx, [ebp - 0x3c]
mov esi, eax
call fcn.004034c0
mov dl, byte [ebp + 0xb]
push 0
lea ecx, [ebp - 0x24]
mov dword [ebp - 4], 0
mov dword [ebp - 0x28], esi
mov byte [ebp - 0x24], dl
call fcn.00404c40
lea ecx, [ebp - 0x3c]
mov byte [ebp - 4], 1
mov dword [ebp - 0x3c], vtable.dbcsstring.0
call fcn.00577bc0
mov edi, str.StartListening___should_not_be_called_more_than_once_without_a_call_to_Reset__
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
dec ecx
push ecx
push str.StartListening___should_not_be_called_more_than_once_without_a_call_to_Reset__
lea ecx, [ebp - 0x38]
call fcn.004030a0
lea eax, [ebp - 0x3c]
lea ecx, [ebp - 0x114]
push eax
mov dword [ebp - 4], 2
call fcn.00432800
lea ecx, [ebp - 0x114]
push 0x89b95c
push ecx
mov dword [ebp - method.CryptBlockError.virtual_0], vtable.AException.0
call fcn.007ac5c6
mov ecx, dword [ebp - 0xc]
pop edi
pop esi
mov dword fs:[0], ecx
pop ebx
mov esp, ebp
pop ebp
ret 4