Function at 0x52e4b0
Capabilities:
Set socket configuration

Disassembly:
sub esp, 0xc
push ebx
push ebp
push esi
push edi
mov edi, ecx
mov eax, dword [edi + 4]
xor esi, esi
xor ebx, ebx
cmp eax, esi
mov dword [esp + 0x18], edx
mov ebp, 1
mov dword [esp + 0x14], esi
mov dword [esp + 0x10], esi
je 0x52e52e
cmp byte [eax], 0x2d
jne 0x52e52e
push 0x64
push eax
call fcn.005912e0
add esp, 8
test eax, eax
je 0x52e4eb
mov ebx, ebp
mov eax, dword [edi + 4]
push 0x65
push eax
call fcn.005912e0
add esp, 8
test eax, eax
je 0x52e501
mov dword [esp + 0x10], ebp
cmp ebx, esi
mov ebp, 2
je 0x52e52e
mov eax, dword [edi + 8]
cmp eax, esi
je 0x52e722
push eax
call dword [sym.imp.WSOCK32.dll_inet_addr]
cmp eax, 0xffffffff
je 0x52e5c0
mov dword [esp + 0x14], ebp
mov ebp, 3
mov ecx, dword [edi + ebp*4]
cmp ecx, esi
je 0x52e722
cmp dword [edi + ebp*4 + 4], esi
je 0x52e722
cmp dword [edi + ebp*4 + 8], esi
je 0x52e722
call fcn.0052cde0
test eax, eax
je 0x52e569
xor edx, edx
mov ecx, 0x1453
call fcn.0041f1a0
mov ecx, dword [edi + ebp*4]
push eax
push ecx
jmp 0x52e58f
mov eax, dword [edi + ebp*4]
lea edx, [eax + 1]
nop
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x52e570
sub eax, edx
cmp eax, 0x5a
jbe 0x52e5ac
xor edx, edx
mov ecx, 0x1452
call fcn.0041f1a0
mov edx, dword [edi + ebp*4]
push eax
push edx
push str.__sockopen:__s__s
push 0x5cbac0
call dword [sym.imp.USER32.dll_wsprintfA]
add esp, 0x10
pop edi
pop esi
pop ebp
xor eax, eax
pop ebx
add esp, 0xc
ret
mov eax, dword [edi + ebp*4 + 8]
push eax
call fcn.005915c3
mov ebx, eax
add esp, 4
cmp bx, si
ja 0x52e5d4
mov edx, dword [edi]
push 3
push esi
xor ecx, ecx
call fcn.004803b0
pop edi
pop esi
pop ebp
pop ebx
add esp, 0xc
ret
call fcn.0052cb80
mov esi, eax
test esi, esi
jne 0x52e5f3
mov edx, dword [edi]
push 2
push eax
xor ecx, ecx
call fcn.004803b0
pop edi
pop esi
pop ebp
pop ebx
add esp, 0xc
ret
mov ecx, dword [edi + ebp*4]
push ecx
mov edx, 0x64
mov ecx, esi
call fcn.00420d70
mov edx, dword [edi + ebp*4 + 4]
push edx
lea ecx, [esi + 0x64]
mov edx, 0x64
call fcn.00420d70
mov eax, dword [edi + ebp*4 + 4]
push eax
lea ecx, [esi + 0xc8]
mov edx, 0x64
call fcn.00420d70
mov ecx, dword [esp + 0x10]
push 0
mov word [esi + 0x12c], bx
mov dword [esi + 0x1b0], 3
mov dword [esi + 0x1b4], 0
mov dword [esi + 0x1f4], ecx
call fcn.00591e16
mov dword [esi + 0x1e0], eax
mov dword [esi + 0x1e4], eax
mov eax, dword [esp + 0x18]
add esp, 4
test eax, eax
je 0x52e681
mov edx, dword [edi + eax*4]
push edx
lea ecx, [esi + 0x12e]
mov edx, 0x64
call fcn.00420d70
mov ebx, dword [esp + 0x18]
mov dword [esi + 0x204], ebx
mov eax, dword [edi + ebp*4 + 4]
push eax
call dword [sym.imp.WSOCK32.dll_inet_addr]
cmp eax, 0xffffffff
jne 0x52e6ec
mov dword [esi + 0x1b4], 4
mov ecx, dword [edi + ebp*4 + 4]
mov edx, dword [edi + ebp*4]
push 4
push 0
push ecx
mov ecx, dword [ebx]
call fcn.00475c40
test eax, eax
jne 0x52e6df
mov edx, dword [esi + 0x200]
push 0x274d0010
push edx
mov dword [esi + 0x1b4], eax
mov eax, dword [0x5f92ec]
push 0x8039
push eax
call dword [sym.imp.USER32.dll_PostMessageA]
pop edi
pop esi
pop ebp
mov eax, 1
pop ebx
add esp, 0xc
ret
mov ecx, esi
call fcn.0052e2e0
test eax, eax
jle 0x52e715
mov ecx, dword [esi + 0x200]
mov edx, dword [0x5f92ec]
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, 0xc
ret
mov edx, dword [edi]
push esi
push esi
xor ecx, ecx
call fcn.004803b0
pop edi
pop esi
pop ebp
pop ebx
add esp, 0xc
ret