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

Disassembly:
push ebp
lea ebp, [esp - 0x92c]
sub esp, 0x9ac
mov eax, dword [0x48dcc0]
xor eax, ebp
mov dword [ebp + 0x928], eax
or dword [ebp - 0x64], 0xffffffff
push ebx
push esi
push edi
push 0xff
mov edi, ecx
mov esi, dword [edi]
xor ebx, ebx
lea eax, [ebp + 0x829]
push ebx
push eax
mov dword [ebp - 0x68], esi
mov byte [ebp + 0x828], 0
call fcn.00451d90
lea eax, [esi + 0x484]
mov esi, dword [eax]
mov dword [ebp - 0x80], ebx
mov eax, dword [eax]
add esp, 0xc
mov dword [ebp - 0x78], ebx
mov dword [ebp - 0x74], ebx
mov dword [ebp - 0x7c], 1
mov dword [ebp - 0x6c], ebx
cmp eax, ebx
je 0x42c989
push eax
call fcn.00451f40
pop ecx
cmp eax, 1
jbe 0x42c989
push esi
call fcn.00451f40
pop ecx
cmp eax, 0x16
jae 0x42c876
push 0x16
pop eax
jmp 0x42c87d
push esi
call fcn.00451f40
pop ecx
inc eax
push 1
push eax
call dword [0x48d010]
pop ecx
pop ecx
mov dword [ebp - 0x6c], eax
cmp eax, ebx
jne 0x42c898
push 0x1b
pop eax
jmp 0x42ccd6
cmp byte [esi], 0x3a
jne 0x42c8a2
mov dword [ebp - 0x60], esi
jmp 0x42c8cf
push 0x3a
push esi
call fcn.00451fe0
pop ecx
pop ecx
mov dword [ebp - 0x60], eax
cmp eax, ebx
je 0x42c8c4
sub eax, esi
push eax
push esi
push dword [ebp - 0x6c]
call fcn.00451e10
add esp, 0xc
jmp 0x42c8cf
push esi
push dword [ebp - 0x6c]
call fcn.004520a0
pop ecx
pop ecx
cmp dword [ebp - 0x60], ebx
je 0x42c938
push 0x3a
push dword [ebp - 0x60]
call fcn.00451fe0
mov esi, eax
pop ecx
pop ecx
cmp esi, ebx
je 0x42c938
push 0xa
lea eax, [esi + 1]
push ebx
push eax
call fcn.00450fd9
push eax
call fcn.0041e03c
movzx eax, ax
push 0x2d
push esi
mov dword [ebp - 0x78], eax
call fcn.00451fe0
add esp, 0x18
cmp eax, ebx
je 0x42c925
push 0xa
inc eax
push ebx
push eax
call fcn.00450fd9
push eax
call fcn.0041e03c
add esp, 0x10
movzx eax, ax
jmp 0x42c929
movzx eax, word [ebp - 0x78]
mov dword [ebp - 0x74], eax
cmp word [ebp - 0x78], ax
jbe 0x42c938
mov dword [ebp - 0x74], ebx
mov dword [ebp - 0x78], ebx
mov eax, dword [ebp - 0x6c]
cmp byte [eax], bl
je 0x42c981
push 0x401
lea ecx, [ebp + 0x424]
push ecx
push eax
push dword [edi + 0x90]
mov eax, dword [edi + 0x54]
push dword [eax + 0x18]
call fcn.0041174f
pop ecx
push eax
mov eax, dword [edi + 0x54]
push dword [eax + 4]
call fcn.0041174f
add esp, 0x18
sub eax, ebx
je 0x42c979
dec eax
je 0x42c9cf
dec eax
jne 0x42c989
jmp 0x42c9f6
mov eax, dword [ebp - 0x6c]
mov dword [ebp - 0x60], eax
jmp 0x42c984
mov dword [ebp - 0x60], ebx
cmp dword [ebp - 0x60], ebx
jne 0x42c9ff
lea eax, [ebp - 0x70]
push eax
lea eax, [ebp - 0x5c]
push eax
push dword [edi + 0x1a8]
mov dword [ebp - 0x70], 0x80
call dword [sym.imp.WS2_32.dll_getsockname]
test eax, eax
je 0x42c9d6
call dword [sym.imp.WS2_32.dll_WSAGetLastError]
push eax
push edi
call fcn.0041fc3e
push eax
push str.getsockname___failed:__s
push dword [ebp - 0x68]
call fcn.0041acea
push dword [ebp - 0x6c]
call dword [0x48d004]
add esp, 0x18
push 0x1e
jmp 0x42c892
push 0x401
lea eax, [ebp + 0x424]
push eax
lea eax, [ebp - 0x58]
push eax
movzx eax, word [ebp - 0x5c]
push eax
call fcn.004233c3
add esp, 0x10
mov dword [ebp - 0x7c], ebx
lea eax, [ebp + 0x424]
mov dword [ebp - 0x60], eax
lea eax, [ebp - 0x80]
push eax
push ebx
push dword [ebp - 0x60]
push edi
call fcn.00411bcf
add esp, 0x10
cmp eax, 1
jne 0x42ca21
lea eax, [ebp - 0x80]
push eax
push edi
call fcn.00410c81
pop ecx
pop ecx
mov eax, dword [ebp - 0x80]
cmp eax, ebx
je 0x42ca37
mov esi, dword [eax]
push eax
push dword [ebp - 0x68]
call fcn.00411ffe
pop ecx
pop ecx
jmp 0x42ca39
xor esi, esi
cmp esi, ebx
jne 0x42ca5e
push dword [ebp - 0x60]
push str.failed_to_resolve_the_address_provided_to_PORT:__s
push dword [ebp - 0x68]
call fcn.0041acea
push dword [ebp - 0x6c]
call dword [0x48d004]
add esp, 0x10
jmp 0x42c9cf
push dword [ebp - 0x6c]
call dword [0x48d004]
or dword [ebp - 0x64], 0xffffffff
pop ecx
mov dword [ebp - 0x6c], ebx
lea eax, [ebp - 0x64]
push eax
push ebx
push esi
push edi
call fcn.0041d532
add esp, 0x10
mov dword [ebp - 0x60], eax
cmp eax, ebx
je 0x42ca95
call dword [sym.imp.WS2_32.dll_WSAGetLastError]
mov esi, dword [esi + 0x1c]
mov dword [ebp - 0x6c], eax
cmp esi, ebx
jne 0x42ca6f
cmp esi, ebx
jne 0x42cab8
push dword [ebp - 0x6c]
push edi
call fcn.0041fc3e
push eax
push str.socket_failure:__s
push dword [ebp - 0x68]
call fcn.0041acea
add esp, 0x14
jmp 0x42c9cf
push dword [esi + 0x10]
lea eax, [ebp - 0x5c]
push dword [esi + 0x18]
push eax
call fcn.00452230
mov eax, dword [esi + 0x10]
movzx ebx, word [ebp - 0x78]
mov dword [ebp - 0x70], eax
mov ax, word [ebp - 0x74]
add esp, 0xc
cmp word [ebp - 0x78], ax
ja 0x42cb7e
cmp word [ebp - 0x5c], 2
jne 0x42caf4
push ebx
call dword [sym.imp.WS2_32.dll_htons]
mov word [ebp - 0x5a], ax
push dword [ebp - 0x70]
lea eax, [ebp - 0x5c]
push eax
push dword [ebp - 0x64]
call dword [sym.imp.WS2_32.dll_bind]
test eax, eax
je 0x42cb78
call dword [sym.imp.WS2_32.dll_WSAGetLastError]
cmp dword [ebp - 0x7c], 0
je 0x42cb61
mov ecx, 0x2741
cmp eax, ecx
jne 0x42cb61
push ecx
push edi
call fcn.0041fc3e
push eax
movzx eax, bx
push eax
push str.bind_port_hu__on_non_local_address_failed:__s_n
push dword [ebp - 0x68]
call fcn.0041ac80
add esp, 0x18
lea eax, [ebp - 0x70]
push eax
lea eax, [ebp - 0x5c]
push eax
push dword [edi + 0x1a8]
mov dword [ebp - 0x70], 0x80
call dword [sym.imp.WS2_32.dll_getsockname]
test eax, eax
jne 0x42cb99
movzx ebx, word [ebp - 0x78]
and dword [ebp - 0x7c], eax
jmp 0x42cb6e
cmp eax, 0x2740
je 0x42cb6d
cmp eax, 0xd
jne 0x42cbc5
inc ebx
cmp bx, word [ebp - 0x74]
jbe 0x42cae2
cmp bx, word [ebp - 0x74]
jbe 0x42cbef
push str.bind___failed__we_ran_out_of_ports_
push dword [ebp - 0x68]
call fcn.0041acea
push dword [ebp - 0x64]
push edi
call fcn.0041d4e1
jmp 0x42ca56
call dword [sym.imp.WS2_32.dll_WSAGetLastError]
push eax
push edi
call fcn.0041fc3e
push eax
push str.getsockname___failed:__s
push dword [ebp - 0x68]
call fcn.0041acea
push dword [ebp - 0x64]
push edi
call fcn.0041d4e1
add esp, 0x1c
jmp 0x42c9cf
push eax
push edi
call fcn.0041fc3e
push eax
movzx eax, bx
push eax
push str.bind_port_hu__failed:__s
push dword [ebp - 0x68]
call fcn.0041acea
push dword [ebp - 0x64]
push edi
call fcn.0041d4e1
add esp, 0x20
jmp 0x42c9cf
lea eax, [ebp - 0x70]
push eax
lea eax, [ebp - 0x5c]
push eax
push dword [ebp - 0x64]
mov dword [ebp - 0x70], 0x80
call dword [sym.imp.WS2_32.dll_getsockname]
test eax, eax
jne 0x42cb99
push 1
push dword [ebp - 0x64]
call dword [sym.imp.WS2_32.dll_listen]
test eax, eax
je 0x42cc32
call dword [sym.imp.WS2_32.dll_WSAGetLastError]
push eax
push edi
call fcn.0041fc3e
push eax
push str.socket_failure:__s
jmp 0x42cbac
push pe_nt_image_headers32
lea eax, [ebp + 0x828]
push eax
push esi
call fcn.0041193a
add esp, 0xc
push 2
pop ebx
jmp 0x42cc9d
cmp dword [edi + 0x414], 0
jne 0x42cc5e
cmp dword [ebp + 0x934], 0
je 0x42cc97
cmp dword [ebp + 0x934], 1
jne 0x42cc6d
cmp word [ebp - 0x5c], bx
jne 0x42cc97
movzx eax, word [ebp - 0x5c]
sub eax, ebx
jne 0x42cc97
push dword [ebp - 0x5a]
call dword [sym.imp.WS2_32.dll_ntohs]
cmp dword [ebp + 0x934], 0
movzx esi, ax
je 0x42ccee
cmp dword [ebp + 0x934], 1
je 0x42cd5f
inc dword [ebp + 0x934]
cmp dword [ebp + 0x934], ebx
jne 0x42cc4c
mov eax, dword [ebp + 0x934]
mov dword [edi + 0x72c], eax
call fcn.0042c474
mov eax, dword [ebp - 0x64]
mov dword [edi + 0x1ac], eax
mov dword [edi + 0x3f8], 1
mov dword [edi + 0x738], 0x1c
mov eax, dword [ebp - 0x60]
mov ecx, dword [ebp + 0x928]
pop edi
pop esi
xor ecx, ebp
pop ebx
call fcn.0044e6cf
add ebp, 0x92c
leave
ret
movzx eax, si
push eax
lea eax, [ebp + 0x828]
push eax
xor eax, eax
cmp word [ebp - 0x5c], bx
lea esi, [edi + 0x6b8]
setne al
inc eax
push eax
push str.EPRT
push str._s__d_s_hu
push esi
call fcn.00439f91
mov ebx, eax
add esp, 0x18
mov dword [ebp - 0x60], ebx
test ebx, ebx
je 0x42cca5
push ebx
call fcn.0041f510
push eax
push str.Failure_sending_EPRT_command:__s
push dword [ebp - 0x68]
call fcn.0041acea
push dword [ebp - 0x64]
push edi
call fcn.0041d4e1
add esp, 0x18
mov dword [esi + 0x74], 1
and dword [edi + 0x738], 0
mov eax, ebx
jmp 0x42ccd6
lea ecx, [ebp + 0x24]
lea edx, [ebp + 0x828]
mov al, byte [edx]
test al, al
je 0x42cd7d
cmp al, 0x2e
jne 0x42cd77
mov byte [ecx], 0x2c
jmp 0x42cd79
mov byte [ecx], al
inc ecx
inc edx
jne 0x42cd68
movzx eax, si
mov edx, eax
and edx, 0xff
push edx
shr eax, 8
push eax
push str.__d__d
push 0x14
push ecx
mov byte [ecx], 0
call fcn.0041eae2
lea eax, [ebp + 0x24]
push eax
push str.PORT
lea eax, [edi + 0x6b8]
push 0x46fff4
push eax
call fcn.00439f91
add esp, 0x24
mov dword [ebp - 0x60], eax
test eax, eax
je 0x42cca5
push eax
call fcn.0041f510
push eax
push str.Failure_sending_PORT_command:__s
push dword [ebp - 0x68]
call fcn.0041acea
push dword [ebp - 0x64]
push edi
call fcn.0041d4e1
add esp, 0x18
and dword [edi + 0x738], 0
jmp 0x42ccd3