Function at 0x424274
Capabilities:
Get local ipv4 addresses
Get socket information

Disassembly:
push ebp
mov ebp, esp
sub esp, 0xb0
push ebx
push esi
mov esi, dword [ebp + 8]
push edi
cmp dword [esi + 0x209c], 0
je 0x42429e
push 1
push esi
call fcn.0042366a
pop ecx
test eax, eax
pop ecx
je 0x42443f
push 0x100c
push 1
call sym.stub.exe__ecalloc
mov edi, eax
pop ecx
pop ecx
or dword [edi], 0xffffffff
or dword [edi + 4], 0xffffffff
mov eax, dword [esi + 0x2098]
push 0
mov dword [edi + 8], eax
push 1
movzx eax, word [esi + 4]
push eax
call sub.WSOCK32.dll_socket
mov ebx, eax
cmp ebx, 0xffffffff
jne 0x424302
mov esi, dword [sym.imp.MSVCRT.dll__errno]
call esi
push dword [eax]
call esi
push dword [eax]
call dword [sym.imp.MSVCRT.dll_strerror]
pop ecx
push eax
push str.socket___failed:__s___d__n
push 2
push dword [ebp + 0xc]
push 0
call sym.stub.exe_php_error_docref0
add esp, 0x18
jmp 0x424438
cmp dword [esi + 0x209c], 0
je 0x424373
lea eax, [esi + 0x20a0]
mov dword [esi + 0x209c], 1
push eax
call fcn.004061a3
mov ecx, dword [esi + 0x2120]
and dword [ebp - 0xc], 0
mov dword [ebp - 0x10], ecx
lea ecx, [ebp - 0x10]
push ecx
mov dword [ebp + 8], eax
push eax
lea eax, [esi + 0x20a0]
push eax
push ebx
call sym.stub.exe_php_connect_nonb
add esp, 0x14
cmp eax, 0xffffffff
jne 0x42436b
mov esi, dword [sym.imp.MSVCRT.dll__errno]
call esi
push dword [eax]
call esi
push dword [eax]
call dword [sym.imp.MSVCRT.dll_strerror]
pop ecx
push eax
push str.php_connect_nonb___failed:__s___d__n
jmp 0x424423
mov dword [edi + 4], ebx
jmp 0x4244ab
lea eax, [ebp - 0xb0]
push 0
push eax
movzx eax, word [esi + 4]
push eax
call fcn.00406168
lea eax, [ebp - 0xb0]
push eax
call fcn.004061a3
add esp, 0x10
mov dword [ebp + 8], eax
push eax
lea eax, [ebp - 0xb0]
push eax
push ebx
call sub.WSOCK32.dll_bind
cmp eax, 0xffffffff
jne 0x4243c8
mov esi, dword [sym.imp.MSVCRT.dll__errno]
call esi
push dword [eax]
call esi
push dword [eax]
call dword [sym.imp.MSVCRT.dll_strerror]
pop ecx
push eax
push str.bind___failed:__s___d__n
jmp 0x424423
lea eax, [ebp + 8]
push eax
lea eax, [ebp - 0xb0]
push eax
push ebx
call sub.WSOCK32.dll_getsockname
cmp eax, 0xffffffff
jne 0x4243fb
mov esi, dword [sym.imp.MSVCRT.dll__errno]
call esi
push dword [eax]
call esi
push dword [eax]
call dword [sym.imp.MSVCRT.dll_strerror]
pop ecx
push eax
push str.getsockname___failed:__s___d__n
jmp 0x424423
push 5
push ebx
call sub.WSOCK32.dll_listen
cmp eax, 0xffffffff
jne 0x424446
mov esi, dword [sym.imp.MSVCRT.dll__errno]
call esi
push dword [eax]
call esi
push dword [eax]
call dword [sym.imp.MSVCRT.dll_strerror]
pop ecx
push eax
push str.listen___failed:__s___d__n
push 2
push dword [ebp + 0xc]
push 0
call sym.stub.exe_php_error_docref0
add esp, 0x18
push ebx
call sub.WSOCK32.dll_closesocket
push edi
call sym.stub.exe__efree
pop ecx
xor eax, eax
pop edi
pop esi
pop ebx
leave
ret
mov dword [edi], ebx
mov eax, dword [esi + 8]
movzx ecx, byte [ebp - 0xad]
push ecx
mov dword [ebp - 8], eax
movzx ecx, byte [ebp - 0xae]
push ecx
movzx ecx, byte [ebp - 5]
push ecx
movzx ecx, byte [ebp - 6]
push ecx
movzx ecx, ah
movzx eax, al
push ecx
push eax
lea eax, [ebp - 0x30]
push str._u__u__u__u__u__u
push eax
call sym.stub.exe_php_sprintf
lea eax, [ebp - 0x30]
push eax
push str.PORT
push esi
call fcn.00423dfe
add esp, 0x2c
test eax, eax
je 0x424432
push esi
call fcn.00423e96
test eax, eax
pop ecx
je 0x424432
cmp dword [esi + 0x84], 0xc8
jne 0x424432
mov dword [esi + 0x212c], edi
mov eax, edi
jmp 0x424441