Function at 0x424c50
Capabilities:
Get local ipv4 addresses
Get socket information
Set socket configuration

Disassembly:
push ebp
mov ebp, esp
push edi
push esi
push ebx
sub esp, 0x6c
mov esi, dword [ebp + 8]
mov dword [esp], 0x424830
mov dword [esp + 4], 0x424ada
mov dword [esp + 8], 0x6a
call sym._updatecontext_f
mov eax, dword [0x431ae4]
mov dword [ebp - 0x2c], 0x10
test eax, eax
je 0x425080
mov eax, dword [0x431200]
test eax, eax
je 0x425000
mov eax, 2
mov dword [esi + 0x2dc], eax
mov eax, dword [0x431c04]
test eax, eax
jne 0x424fd0
mov eax, dword [esi + 0x4c]
mov dword [esp + 4], 0x10000
mov dword [esp], eax
call sym._open
mov dword [esi + 8], eax
test eax, eax
js 0x424fa0
mov dword [esp], eax
mov eax, dword [esi + 0x1c]
mov dword [esp + 8], 0
mov dword [esp + 4], eax
call sym._lseek
mov eax, dword [esi + 0x1c]
mov dword [esi + 0x10], eax
mov eax, dword [0x431c04]
mov dword [ebp - 0x34], 4
test eax, eax
jne 0x424f80
mov eax, dword [esi + 4]
lea ebx, [ebp - 0x30]
lea edi, [ebp - 0x34]
mov dword [esp + 4], 0xffff
mov dword [esp], eax
mov dword [esp + 8], 0x1001
mov dword [esp + 0xc], ebx
mov dword [esp + 0x10], edi
call sym._getsockopt
mov eax, dword [0x431c04]
test eax, eax
jne 0x424f60
mov dword [ebp - 0x30], 0xffff
mov eax, dword [esi + 4]
mov dword [esp + 0x10], 4
mov dword [esp + 4], 0xffff
mov dword [esp + 8], 0x1001
mov dword [esp], eax
mov dword [esp + 0xc], ebx
call sym._setsockopt
mov eax, dword [0x431c04]
test eax, eax
jne 0x424f40
mov eax, dword [esi + 4]
mov dword [esp + 0x10], edi
mov dword [esp + 4], 0xffff
mov dword [esp + 8], 0x1001
mov dword [esp], eax
mov dword [esp + 0xc], ebx
call sym._getsockopt
mov eax, dword [0x431c04]
test eax, eax
jne 0x424f20
mov eax, dword [esi + 4]
mov dword [esp + 4], 1
mov dword [esp], eax
call sym._set_socket_nonblocking
test eax, eax
js 0x424efa
mov eax, dword [0x431bd8]
lea edi, [ebp - 0x28]
mov dword [esi + 0x34], eax
mov eax, dword [0x431bd8]
mov dword [esi + 0x38], eax
mov eax, dword [esi + 0x4c]
mov ebx, dword [eax + 0xa04]
mov eax, dword [esi + 0x1c]
mov dword [esi + 0x48], ebx
lea ebx, [ebp - 0x2c]
mov dword [esi + 0x20], eax
mov eax, dword [esi + 4]
mov dword [esp + 4], edi
mov dword [esp + 8], ebx
mov dword [esp], eax
call sym._getpeername
test eax, eax
js 0x424ee1
movzx ecx, word [ebp - 0x26]
mov eax, dword [ebp - 0x24]
xchg ch, cl
xchg ah, al
ror eax, 0x10
xchg ah, al
mov dword [esi + 0x44], eax
mov word [esi + 0x3e], cx
mov eax, dword [esi + 4]
mov dword [esp + 8], ebx
mov dword [esp + 4], edi
mov dword [esp], eax
call sym._getsockname
test eax, eax
js 0x424ec8
mov eax, dword [ebp - 0x24]
xchg ah, al
ror eax, 0x10
xchg ah, al
mov dword [esi + 0x40], eax
mov dword [esp], 0
lea ebx, [esi + 0x60]
mov dword [esp + 4], 7
mov dword [esp + 8], 0x21
mov dword [esp + 0xc], 0x424af0
mov eax, dword [esi + 0xc]
mov dword [esp + 0x14], ebx
mov dword [esp + 0x10], eax
movzx edx, byte [esi + 0x47]
mov dword [esp + 0x18], edx
movzx edi, byte [esi + 0x46]
mov dword [esp + 0x1c], edi
movzx ecx, byte [esi + 0x45]
mov dword [esp + 0x20], ecx
movzx ebx, byte [esi + 0x44]
mov dword [esp + 0x24], ebx
movzx edx, word [esi + 0x3e]
mov dword [esp + 0x28], edx
movzx edi, byte [esi + 0x43]
mov dword [esp + 0x2c], edi
movzx ecx, byte [esi + 0x42]
mov dword [esp + 0x30], ecx
movzx ebx, byte [esi + 0x41]
mov dword [esp + 0x34], ebx
movzx edx, byte [esi + 0x40]
mov dword [esp + 0x38], edx
movzx edi, word [esi + 0x3c]
mov dword [esp + 0x3c], edi
call sym._ioutput
add esp, 0x6c
pop ebx
pop esi
pop edi
pop ebp
ret
mov dword [esp], 2
mov dword [esp + 4], 0x424b42
call sym._outerror
jmp 0x424e3e
mov dword [esp], 2
mov dword [esp + 4], 0x424b58
call sym._outerror
jmp 0x424e16
mov dword [esp], 2
mov dword [esp + 4], 0x424b6f
call sym._outerror
jmp 0x424dbc
mov dword [esp], 0x424b89
mov eax, dword [ebp - 0x30]
mov dword [esp + 4], eax
call sym._printf
jmp 0x424da1
mov dword [esp], 0x424b91
mov eax, dword [ebp - 0x30]
mov dword [esp + 4], eax
call sym._printf
jmp 0x424d71
mov dword [esp], 0x424b98
mov eax, dword [ebp - 0x30]
mov dword [esp + 4], eax
call sym._printf
jmp 0x424d36
mov dword [esp], 0x424b9f
call sym._printf
jmp 0x424d00
mov dword [esp], 1
mov dword [esp + 4], 0x424bb0
call sym._outerror
mov dword [esp], esi
mov dword [esp + 4], 0x424bf0
call sym._t_closeconn
jmp 0x424ec0
mov dword [esp], 0
mov dword [esp + 4], 1
mov dword [esp + 8], 0x21
mov dword [esp + 0xc], 0x424c1c
mov eax, dword [esi + 4]
mov dword [esp + 0x10], eax
call sym._ioutput
jmp 0x424cb1
mov eax, dword [esi]
lea ecx, [esi + 0x50]
lea edx, [ebp - 0x2c]
mov dword [esp + 4], ecx
mov dword [esp], eax
mov dword [esp + 8], edx
call sym._accept
mov dword [esi + 4], eax
test eax, eax
js 0x425051
mov edi, dword [esi]
mov eax, 0xfffffffe
mov ecx, edi
mov dword [esp], edi
and ecx, 0x1f
mov edx, edi
shr edx, 5
rol eax, cl
and dword [edx*4 + 0x431bdc], eax
call sym._close
mov dword [esi], 0x3e8
call sym._highestsock
jmp 0x424c99
mov dword [esp], 2
mov dword [esp + 4], 0x424c2c
call sym._outerror
mov dword [esp], esi
mov dword [esp + 4], 0x424872
jmp 0x424fbf
call sym._gototop
jmp 0x424c8c