Function at 0x551420
Capabilities:
Set socket configuration

Disassembly:
sub esp, 8
push ebx
push ebp
push esi
push edi
mov edi, dword [esp + 0x1c]
mov eax, dword [edi + 4]
xor esi, esi
xor ebx, ebx
cmp eax, esi
mov ebp, 1
mov dword [esp + 0x14], esi
mov dword [esp + 0x10], esi
je 0x5514c1
cmp byte [eax], 0x2d
jne 0x5514c1
push 0x64
push eax
call fcn.005d9b20
add esp, 8
test eax, eax
je 0x551459
mov ebx, ebp
mov eax, dword [edi + 4]
push 0x65
push eax
call fcn.005d9b20
add esp, 8
test eax, eax
je 0x55146f
mov dword [esp + 0x10], ebp
cmp ebx, esi
mov ebp, 2
je 0x5514c1
mov eax, dword [edi + 8]
cmp eax, esi
jne 0x551495
mov ecx, dword [edi]
push esi
push esi
push ecx
push esi
call fcn.0048bd90
add esp, 0x10
pop edi
pop esi
pop ebp
pop ebx
add esp, 8
ret
push eax
call dword [sym.imp.WSOCK32.dll_inet_addr]
cmp eax, 0xffffffff
jne 0x5514b8
mov edx, dword [edi]
push 3
push esi
push edx
push esi
call fcn.0048bd90
add esp, 0x10
pop edi
pop esi
pop ebp
pop ebx
add esp, 8
ret
mov dword [esp + 0x14], ebp
mov ebp, 3
mov eax, dword [edi + ebp*4]
cmp eax, esi
je 0x5516ca
cmp dword [edi + ebp*4 + 4], esi
je 0x5516ca
cmp dword [edi + ebp*4 + 8], esi
je 0x5516ca
push eax
call fcn.0054fb80
add esp, 4
test eax, eax
je 0x5514ff
push esi
push 0x1453
call fcn.00424130
push eax
mov eax, dword [edi + ebp*4]
push eax
jmp 0x551525
mov eax, dword [edi + ebp*4]
lea edx, [eax + 1]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x551505
sub eax, edx
cmp eax, 0x100
jb 0x55154f
push esi
push 0x1452
call fcn.00424130
mov ecx, dword [edi + ebp*4]
push eax
push ecx
push str.__sockopen:__s__s
push 0x643160
call fcn.005d9929
push 6
push esi
push 0x643160
push esi
call fcn.0048bd90
add esp, 0x28
pop edi
pop esi
pop ebp
xor eax, eax
pop ebx
add esp, 8
ret
mov edx, dword [edi + ebp*4 + 8]
push edx
call fcn.005d99cd
mov ebx, eax
add esp, 4
cmp bx, si
ja 0x55156a
push 3
jmp 0x5516cb
call fcn.0054f910
mov esi, eax
test esi, esi
jne 0x55158c
mov ecx, dword [edi]
push 2
push eax
push ecx
push eax
call fcn.0048bd90
add esp, 0x10
pop edi
pop esi
pop ebp
pop ebx
add esp, 8
ret
mov edx, dword [edi + ebp*4]
push edx
push 0x132
push esi
call fcn.00425550
mov eax, dword [edi + ebp*4 + 4]
push eax
lea ecx, [esi + 0x132]
push 0x132
push ecx
call fcn.00425550
mov edx, dword [edi + ebp*4 + 4]
push edx
lea eax, [esi + 0x264]
push 0x132
push eax
call fcn.00425550
mov ecx, dword [esp + 0x34]
push 0
mov word [esi + 0x396], bx
mov dword [esi + 0x4e8], 3
mov dword [esi + 0x4ec], 0
mov dword [esi + 0x538], ecx
call fcn.005daa26
mov dword [esi + 0x524], eax
mov dword [esi + 0x528], eax
mov eax, dword [esp + 0x3c]
add esp, 0x28
test eax, eax
je 0x551622
mov edx, dword [edi + eax*4]
push edx
lea eax, [esi + 0x398]
push 0x132
push eax
call fcn.00425550
add esp, 0xc
mov ebx, dword [esp + 0x20]
mov dword [esi + 0x548], ebx
mov ecx, dword [edi + ebp*4 + 4]
push ecx
call dword [sym.imp.WSOCK32.dll_inet_addr]
cmp eax, 0xffffffff
jne 0x551692
push 4
mov dword [esi + 0x4ec], 4
mov edx, dword [edi + ebp*4 + 4]
mov eax, dword [edi + ebp*4]
mov ecx, dword [ebx]
push 0
push edx
push eax
push ecx
call fcn.0047fc10
add esp, 0x14
test eax, eax
jne 0x551685
mov edx, dword [esi + 0x544]
push 0x274d0010
push edx
mov dword [esi + 0x4ec], eax
mov eax, dword [0x6a0f40]
push 0x8039
push eax
call dword [sym.imp.USER32.dll_PostMessageA]
pop edi
pop esi
pop ebp
mov eax, 1
pop ebx
add esp, 8
ret
push esi
call fcn.00551240
add esp, 4
test eax, eax
jle 0x5516bd
mov ecx, dword [esi + 0x544]
mov edx, dword [0x6a0f40]
push 0x274d0010
push ecx
push 0x8039
push edx
call dword [sym.imp.USER32.dll_PostMessageA]
pop edi
pop esi
pop ebp
mov eax, 1
pop ebx
add esp, 8
ret
push esi
mov eax, dword [edi]
push esi
push eax
push esi
call fcn.0048bd90
add esp, 0x10
pop edi
pop esi
pop ebp
pop ebx
add esp, 8
ret