Function at 0x409fe7
Capabilities:
Set socket configuration

Disassembly:
mov eax, 0x450025
call fcn.0041db18
sub esp, 0x114
push ebx
push esi
mov esi, ecx
push edi
lea edi, [esi + 0x2e30]
xor ebx, ebx
mov ecx, edi
mov dword [ebp - 0x14], ebx
call fcn.0041176a
push str.STA2
push ebx
mov ecx, edi
call fcn.0041194c
push 0x100
lea eax, [ebp - 0x120]
push ebx
push eax
call fcn.0041dc40
push dword [esi + 0x2e44]
lea eax, [ebp - 0x120]
push str._04d
push eax
call fcn.0041df39
add esp, 0x18
mov ecx, esi
call fcn.004052b8
lea eax, [ebp - 0x120]
push eax
inc ebx
push ebx
mov ecx, edi
call fcn.0041194c
push 3
lea eax, [esi + 0x142c]
push eax
mov ecx, edi
push 2
call fcn.0041187d
cmp dword [ebp + 8], 0
mov ecx, edi
push 0x40
lea eax, [esi + 0xa8]
jne 0x40a086
lea eax, [esi + 0xe8]
push eax
push 3
call fcn.0041187d
lea ecx, [ebp - 0x14]
push ecx
lea eax, [esi + 0x1aa4]
push eax
mov ecx, edi
mov dword [ebp - 0x14], 0x1388
call fcn.00411737
mov eax, dword [esi + 0x14c]
cmp byte [eax + 0x14], 0x31
jne 0x40a0c4
mov ecx, eax
mov eax, dword [ecx]
call dword [eax + 0x10]
mov eax, dword [esi + 0x14c]
mov byte [eax + 0x14], 0x30
mov eax, dword [esi + 0x14c]
cmp byte [eax + 0x14], 0x30
jne 0x40a1cf
mov dword [ebp - 0x18], ebx
or dword [eax + 4], 0xffffffff
call fcn.0042d3f5
mov edx, dword [eax]
mov ecx, eax
call dword [edx + 0xc]
add eax, 0x10
mov dword [ebp - 0x10], eax
xor edi, edi
cmp dword [ebp + 8], edi
mov dword [ebp - 4], edi
lea ecx, [ebp - 0x10]
lea eax, [esi + 0x80]
jne 0x40a106
lea eax, [esi + 0x8c]
push eax
call fcn.00401c11
push dword [ebp - 0x10]
mov ecx, dword [esi + 0x14c]
push 0x3f
push ebx
push edi
call fcn.0044f09c
test eax, eax
je 0x40a181
mov eax, dword [esi + 0x14c]
mov edi, dword [sym.imp.WS2_32.dll_setsockopt]
push 4
lea ecx, [ebp - 0x18]
push ecx
push 8
mov ebx, 0xffff
push ebx
push dword [eax + 4]
call edi
mov eax, dword [esi + 0x14c]
and dword [ebp - 0x18], 0
push 4
lea ecx, [ebp - 0x18]
push ecx
push 0xffffff7f
push ebx
push dword [eax + 4]
call edi
push dword [esi + 0x78]
mov eax, dword [esi + 0x128]
mov ecx, dword [esi + 0x14c]
push eax
call fcn.0044ea8e
test eax, eax
je 0x40a1c0
mov eax, dword [esi + 0x14c]
mov byte [eax + 0x14], 0x31
jmp 0x40a1c0
call dword [sym.imp.KERNEL32.dll_GetLastError]
push 0xa
lea ecx, [ebp - 0x20]
push ecx
push eax
call fcn.00421c41
lea edi, [esi + 0x148]
mov ecx, dword [edi]
mov eax, dword [ecx]
add esp, 0xc
call dword [eax + 0x10]
mov eax, dword [edi]
push str.The_sockect_to_host_cant_create_error_no_is
mov ecx, esi
mov byte [eax + 0x18], 0x30
call fcn.00408751
lea eax, [ebp - 0x20]
push eax
mov ecx, esi
call fcn.00408751
mov ecx, dword [ebp - 0x10]
or dword [ebp - 4], 0xffffffff
add ecx, 0xfffffff0
call fcn.004011ce
push dword [ebp - 0x14]
lea edi, [esi + 0x144]
mov ecx, dword [edi]
lea ebx, [esi + 0x1aa4]
push ebx
call fcn.004105e8
mov ecx, dword [edi]
push 1
call fcn.004111b9
mov eax, dword [esi + 0x14c]
cmp byte [eax + 0x14], 0x30
je 0x40a20d
push 0
push dword [ebp - 0x14]
mov ecx, eax
mov eax, dword [ecx]
push ebx
call dword [eax + 0x18]
cmp eax, 0xffffffff
jne 0x40a214
push 0x458164
jmp 0x40a219
push 0x458148
mov ecx, esi
call fcn.00408751
mov ecx, dword [ebp - 0xc]
pop edi
pop esi
pop ebx
mov dword fs:[0], ecx
leave
ret 4