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

Disassembly:
push r15
push r14
push r13
push r12
push rbp
push rdi
push rsi
push rbx
sub rsp, 0x9f8
mov r12, qword [rcx]
xor eax, eax
lea rdi, [rsp + 0xe8]
mov rsi, rcx
mov ecx, 0x1f
mov dword [rsp + 0xa48], edx
mov qword [rsp + 0x50], 0xffffffffffffffff
mov rbx, qword [r12 + 0x510]
mov qword [rsp + 0xe0], 0
rep stosq qword [rdi], rax
mov qword [rsp + 0x58], 0
test rbx, rbx
je 0x42b644
mov rcx, rbx
call sub.msvcrt.dll_strlen
cmp rax, 1
jbe 0x42b644
cmp rax, 0x16
lea rdx, [rax + 1]
mov rax, qword [0x00474c10]
mov ecx, 0x17
cmovae rcx, rdx
mov edx, 1
call qword [rax]
mov rdi, rax
mov eax, 0x1b
test rdi, rdi
je 0x42b630
cmp byte [rbx], 0x3a
je 0x42b9d0
mov edx, 0x3a
mov rcx, rbx
call sub.msvcrt.dll_strchr
test rax, rax
mov rbp, rax
je 0x42ba30
mov r8, rax
mov rdx, rbx
mov rcx, rdi
sub r8, rbx
call sub.msvcrt.dll_strncpy
mov edx, 0x3a
mov rcx, rbp
call sub.msvcrt.dll_strchr
test rax, rax
mov rbx, rax
je 0x42b7c0
lea rcx, [rbx + 1]
xor edx, edx
mov r8d, 0xa
call sub.msvcrt.dll_strtoul
mov ecx, eax
call fcn.00424920
mov edx, 0x2d
mov rcx, rbx
mov r13d, eax
call sub.msvcrt.dll_strchr
test rax, rax
je 0x42b7c3
lea rcx, [rax + 1]
xor edx, edx
mov r8d, 0xa
call sub.msvcrt.dll_strtoul
mov ecx, eax
call fcn.00424920
cmp r13w, ax
jbe 0x42bd1d
xor edx, edx
xor r13d, r13d
mov word [rsp + 0x36], dx
cmp byte [rdi], 0
jne 0x42b7d2
lea rbx, [rsp + 0x60]
mov dword [rsp + 0x4c], pe_nt_image_headers64
mov rcx, qword [rsi + 0x1a8]
lea r8, [rsp + 0x4c]
lea r14, [rsp + 0x5e0]
mov rdx, rbx
call qword [sym.imp.WS2_32.dll_getsockname]
test eax, eax
je 0x42b8fd
call qword [sym.imp.WS2_32.dll_WSAGetLastError]
mov rcx, rsi
mov edx, eax
call fcn.00423f60
lea rdx, str.getsockname___failed:__s
mov r8, rax
mov rcx, r12
call fcn.00416f80
mov rax, qword [0x00474c20]
mov rcx, rdi
call qword [rax]
mov eax, 0x1e
nop word [rax + rax]
add rsp, 0x9f8
pop rbx
pop rsi
pop rdi
pop rbp
pop r12
pop r13
pop r14
pop r15
ret
lea rbx, [rsp + 0x60]
mov dword [rsp + 0x4c], pe_nt_image_headers64
mov rcx, qword [rsi + 0x1a8]
lea r8, [rsp + 0x4c]
mov rdx, rbx
call qword [sym.imp.WS2_32.dll_getsockname]
test eax, eax
jne 0x42b9fd
movzx ecx, word [rsp + 0x60]
lea r14, [rsp + 0x5e0]
lea rdx, [rbx + 4]
xor eax, eax
mov r9d, 0x401
xor r13d, r13d
mov r8, r14
mov word [rsp + 0x36], ax
xor edi, edi
call fcn.00423800
lea r9, [rsp + 0x58]
xor r8d, r8d
mov rdx, r14
mov rcx, rsi
call fcn.004177e0
mov rdx, qword [rsp + 0x58]
test rdx, rdx
je 0x42bd01
mov rbp, qword [rdx]
mov rcx, r12
call fcn.00417a80
test rbp, rbp
je 0x42b9d8
xor r15d, r15d
test rdi, rdi
je 0x42b6e2
mov rax, qword [0x00474c20]
mov rcx, rdi
call qword [rax]
lea rbx, [rsp + 0x50]
mov qword [rsp + 0x50], 0xffffffffffffffff
xor r8d, r8d
mov r9, rbx
mov rdx, rbp
mov rcx, rsi
call fcn.00415ad0
test eax, eax
jne 0x42b990
movsxd r8, dword [rbp + 0x10]
lea rbx, [rsp + 0x60]
mov rdx, qword [rbp + 0x20]
mov rcx, rbx
call sub.msvcrt.dll_memcpy
mov eax, dword [rbp + 0x10]
mov dword [rsp + 0x4c], eax
movzx eax, word [rsp + 0x36]
cmp r13w, ax
jb 0x42b796
mov edi, eax
mov r14, qword [sym.imp.WS2_32.dll_WSAGetLastError]
lea rax, [rsp + 0x4c]
mov qword [rsp + 0x38], rax
cmp word [rsp + 0x60], 2
je 0x42b8c0
mov r8d, dword [rsp + 0x4c]
mov rdx, rbx
mov rcx, qword [rsp + 0x50]
call qword [sym.imp.WS2_32.dll_bind]
test eax, eax
je 0x42ba90
call r14
cmp eax, 0x2741
jne 0x42b77d
test r15b, r15b
jne 0x42b860
cmp eax, 0xd
je 0x42b78d
cmp eax, 0x2740
jne 0x42ba50
add edi, 1
cmp di, r13w
jbe 0x42b743
lea rdx, str.bind___failed__we_ran_out_of_ports_
mov rcx, r12
call fcn.00416f80
mov rdx, qword [rsp + 0x50]
mov rcx, rsi
call fcn.00415a60
mov eax, 0x1e
jmp 0x42b630
xor r13d, r13d
cmp byte [rdi], 0
mov word [rsp + 0x36], r13w
je 0x42b5c5
mov rax, qword [rsi + 0x58]
mov edx, dword [rsi + 0xa0]
lea r14, [rsp + 0x5e0]
mov r8, rdi
mov r9, r14
mov ecx, dword [rax + 4]
mov dword [rsp + 0x20], 0x401
call fcn.00424a20
mov edx, eax
mov eax, 0x1e
cmp edx, 1
je 0x42b630
jb 0x42bac0
cmp edx, 2
jne 0x42b8d3
lea r9, [rsp + 0x58]
xor r8d, r8d
mov rdx, r14
mov rcx, rsi
call fcn.004177e0
mov rdx, qword [rsp + 0x58]
test rdx, rdx
je 0x42b935
mov rbp, qword [rdx]
mov rcx, r12
call fcn.00417a80
test rbp, rbp
je 0x42b935
mov r15d, 1
jmp 0x42b6d6
mov edx, 0x2741
mov rcx, rsi
call fcn.00423f60
lea rdx, str.bind_port_hu__on_non_local_address_failed:__s_n
mov r9, rax
movzx r8d, di
mov rcx, r12
call fcn.00416ed0
mov dword [rsp + 0x4c], pe_nt_image_headers64
mov rcx, qword [rsi + 0x1a8]
mov rdx, rbx
mov r8, qword [rsp + 0x38]
call qword [sym.imp.WS2_32.dll_getsockname]
test eax, eax
jne 0x42b950
xor r15d, r15d
cmp word [rsp + 0x60], 2
movzx edi, word [rsp + 0x36]
jne 0x42b74f
nop dword [rax]
movzx ecx, di
call qword [sym.imp.WS2_32.dll_htons]
mov word [rsp + 0x62], ax
jmp 0x42b74f
lea rbx, [rsp + 0x60]
mov dword [rsp + 0x4c], pe_nt_image_headers64
mov rcx, qword [rsi + 0x1a8]
lea r8, [rsp + 0x4c]
mov rdx, rbx
call qword [sym.imp.WS2_32.dll_getsockname]
test eax, eax
jne 0x42b5f7
movzx ecx, word [rsp + 0x60]
lea rdx, [rbx + 4]
mov r9d, 0x401
mov r8, r14
call fcn.00423800
lea r9, [rsp + 0x58]
xor r8d, r8d
mov rdx, r14
mov rcx, rsi
call fcn.004177e0
mov rdx, qword [rsp + 0x58]
test rdx, rdx
jne 0x42b6ba
lea rdx, str.failed_to_resolve_the_address_provided_to_PORT:__s
mov r8, r14
mov rcx, r12
call fcn.00416f80
jmp 0x42b619
call r14
mov edx, eax
mov rcx, rsi
call fcn.00423f60
lea rdx, str.getsockname___failed:__s
mov r8, rax
mov rcx, r12
call fcn.00416f80
mov rdx, qword [rsp + 0x50]
mov rcx, rsi
call fcn.00415a60
mov eax, 0x1e
jmp 0x42b630
call qword [sym.imp.WS2_32.dll_WSAGetLastError]
mov rbp, qword [rbp + 0x28]
test rbp, rbp
jne 0x42b6f0
mov edx, eax
mov rcx, rsi
call fcn.00423f60
lea rdx, str.socket_failure:__s
mov r8, rax
mov rcx, r12
call fcn.00416f80
mov eax, 0x1e
jmp 0x42b630
mov rbp, rbx
jmp 0x42b546
lea rdx, str.failed_to_resolve_the_address_provided_to_PORT:__s
mov r8, r14
mov rcx, r12
call fcn.00416f80
test rdi, rdi
mov eax, 0x1e
jne 0x42b619
jmp 0x42b630
call qword [sym.imp.WS2_32.dll_WSAGetLastError]
mov rcx, rsi
mov edx, eax
call fcn.00423f60
lea rdx, str.getsockname___failed:__s
mov r8, rax
mov rcx, r12
call fcn.00416f80
mov eax, 0x1e
jmp 0x42b630
mov rcx, rdi
mov rdx, rbx
xor r13d, r13d
call sub.msvcrt.dll_strcpy
xor ecx, ecx
mov word [rsp + 0x36], cx
jmp 0x42b5bc
mov edx, eax
mov rcx, rsi
call fcn.00423f60
lea rdx, str.bind_port_hu__failed:__s
mov r9, rax
movzx r8d, di
mov rcx, r12
call fcn.00416f80
mov rdx, qword [rsp + 0x50]
mov rcx, rsi
call fcn.00415a60
mov eax, 0x1e
jmp 0x42b630
mov dword [rsp + 0x4c], pe_nt_image_headers64
lea r8, [rsp + 0x4c]
mov rdx, rbx
mov rcx, qword [rsp + 0x50]
call qword [sym.imp.WS2_32.dll_getsockname]
test eax, eax
je 0x42bac8
call qword [sym.imp.WS2_32.dll_WSAGetLastError]
jmp 0x42b953
mov r14, rdi
jmp 0x42b819
mov edx, 1
mov rcx, qword [rsp + 0x50]
call qword [sym.imp.WS2_32.dll_listen]
test eax, eax
mov edi, eax
je 0x42bafd
call qword [sym.imp.WS2_32.dll_WSAGetLastError]
mov rcx, rsi
mov edx, eax
call fcn.00423f60
lea rdx, str.socket_failure:__s
mov r8, rax
jmp 0x42b967
lea r13, [rsp + 0xe0]
mov rcx, rbp
mov r8d, 0x100
mov rdx, r13
call fcn.00417640
cmp dword [rsp + 0xa48], 2
mov rbp, qword [sym.imp.WS2_32.dll_ntohs]
mov r14d, dword [rsp + 0xa48]
jne 0x42bb42
jmp 0x42bbe7
add r14d, 1
cmp r14d, 2
je 0x42bbe7
test r14d, r14d
sete bl
cmp byte [rsi + 0x279], bl
jb 0x42bb34
cmp r14d, 1
je 0x42bc2f
cmp word [rsp + 0x60], 2
jne 0x42bb34
movzx ecx, word [rsp + 0x62]
call rbp
test bl, bl
je 0x42bb34
xor edx, edx
cmp word [rsp + 0x60], 2
movzx eax, ax
lea rcx, [rsi + 0x490]
lea r8, str.EPRT
mov dword [rsp + 0x28], eax
mov qword [rsp + 0x20], r13
setne dl
lea r9d, [rdx + 1]
lea rdx, str._s__d_s_hu
call fcn.00445f90
test eax, eax
mov ebx, eax
jne 0x42bbee
mov rdx, qword [rsi + 0x1b0]
mov dword [rsi + 0x52c], edi
cmp rdx, 0xffffffffffffffff
je 0x42bbc3
mov rcx, rsi
call fcn.00415a60
mov rax, qword [rsp + 0x50]
mov byte [rsi + 0x272], 1
mov dword [rsi + 0x538], 0x1c
mov qword [rsi + 0x1b0], rax
xor eax, eax
jmp 0x42b630
mov edi, 2
jmp 0x42bba8
mov ecx, eax
call fcn.004238f0
lea rdx, str.Failure_sending_EPRT_command:__s
mov r8, rax
mov rcx, r12
call fcn.00416f80
mov rdx, qword [rsp + 0x50]
mov rcx, rsi
call fcn.00415a60
mov dword [rsi + 0x52c], 1
mov dword [rsi + 0x538], 0
mov eax, ebx
jmp 0x42b630
cmp word [rsp + 0x60], 2
jne 0x42bbe7
movzx ecx, word [rsp + 0x62]
call qword [sym.imp.WS2_32.dll_ntohs]
test bl, bl
jne 0x42bb6d
lea rbx, [rsp + 0x1e0]
mov r8d, 0x2c
mov rcx, rbx
jmp 0x42bc74
cmp dl, 0x2e
cmove edx, r8d
add rcx, 1
mov byte [rcx - 1], dl
add r13, 1
je 0x42bc7d
movzx edx, byte [r13]
test dl, dl
jne 0x42bc60
movzx edi, ah
lea r8, str.__d__d
movzx eax, al
mov byte [rcx], 0
mov r9d, edi
mov edx, 0x14
mov dword [rsp + 0x20], eax
mov edi, 1
call fcn.00413d50
lea rcx, [rsi + 0x490]
lea r8, str.PORT
lea rdx, [0x0046b298]
mov r9, rbx
call fcn.00445f90
test eax, eax
mov ebx, eax
je 0x42bba8
mov ecx, eax
call fcn.004238f0
lea rdx, str.Failure_sending_PORT_command:__s
mov r8, rax
mov rcx, r12
call fcn.00416f80
mov rdx, qword [rsp + 0x50]
mov rcx, rsi
call fcn.00415a60
mov dword [rsi + 0x538], 0
mov eax, ebx
jmp 0x42b630
lea rdx, str.failed_to_resolve_the_address_provided_to_PORT:__s
mov r8, r14
mov rcx, r12
call fcn.00416f80
mov eax, 0x1e
jmp 0x42b630
mov word [rsp + 0x36], r13w
mov r13d, eax
jmp 0x42b5bc