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

Disassembly:
mov qword [rsp + 0x18], rbx
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
lea rbp, [rsp - 0x970]
sub rsp, 0xa70
mov rax, qword [0x14016a100]
xor rax, rsp
mov qword [rbp + 0x960], rax
mov r15, qword [rcx]
mov r13d, edx
or qword [rsp + 0x40], 0xffffffffffffffff
mov rbx, rcx
xor edx, edx
lea rcx, [rbp + 0x50]
mov r8d, 0x100
call fcn.140087ba0
mov rdi, qword [r15 + 0xc28]
xor r14d, r14d
mov qword [rsp + 0x48], r14
mov r12d, r14d
mov rcx, qword [r15 + 0xc28]
mov esi, r14d
mov word [rsp + 0x32], r14w
mov word [rsp + 0x34], r14w
mov byte [rsp + 0x30], 1
test rcx, rcx
je 0x140045bc8
call fcn.1400b39f0
cmp rax, 1
jbe 0x140045bc8
mov rcx, rdi
call fcn.1400b39f0
lea ecx, [r14 + 0x16]
cmp rax, rcx
jb 0x140045a7d
mov rcx, rdi
call fcn.1400b39f0
mov rcx, rax
inc rcx
mov edx, 1
call qword [fcn.1400af7e4]
mov rsi, rax
test rax, rax
jne 0x140045a9b
lea eax, [rsi + 0x1b]
jmp 0x14004608f
cmp byte [rdi], 0x3a
jne 0x140045aa5
mov r14, rdi
jmp 0x140045ad2
mov edx, Ordinal_60
mov rcx, rdi
call fcn.140088138
mov r14, rax
mov rdx, rdi
mov rcx, rsi
test rax, rax
je 0x140045acd
mov r8, rax
sub r8, rdi
call fcn.1400cbc00
jmp 0x140045ad2
call fcn.1400c8a90
test r14, r14
je 0x140045b39
mov edx, Ordinal_60
mov rcx, r14
call fcn.140088138
mov rdi, rax
test rax, rax
je 0x140045b39
xor edx, edx
lea rcx, [rax + 1]
lea r8d, [rdx + 0xa]
call fcn.1400c8824
mov ecx, eax
call fcn.14002bd6c
mov edx, reloc.WLDAP32.dll_Ordinal_45
mov rcx, rdi
movzx r14d, ax
call fcn.140088138
test rax, rax
je 0x140045b33
xor edx, edx
lea rcx, [rax + 1]
lea r8d, [rdx + 0xa]
call fcn.1400c8824
mov ecx, eax
call fcn.14002bd6c
movzx ecx, ax
jmp 0x140045b41
movzx ecx, r14w
jmp 0x140045b41
movzx ecx, r12w
movzx r14d, cx
xor edi, edi
cmp r14w, cx
cmovbe di, cx
xor eax, eax
cmp r14w, cx
cmovbe ax, r14w
xor r14d, r14d
mov word [rsp + 0x32], ax
cmp byte [rsi], r14b
je 0x140045bba
mov rcx, qword [rbx + 0x70]
mov rcx, qword [rcx + 0x20]
call fcn.1400527cc
mov r8d, dword [rbx + 0xb8]
lea rcx, [rbp + 0x150]
mov edx, eax
mov dword [rsp + 0x28], 0x401
mov rax, qword [rbx + 0x70]
mov r9, rsi
mov qword [rsp + 0x20], rcx
mov ecx, dword [rax + 4]
call fcn.1400527c8
test eax, eax
je 0x140045bb7
sub eax, 1
je 0x14004608a
cmp eax, 1
jne 0x140045bba
lea r12, [rbp + 0x150]
jmp 0x140045bba
mov r12, rsi
mov word [rsp + 0x34], di
test r12, r12
jne 0x140045c48
mov rcx, qword [rbx + 0x240]
lea r8, [rsp + 0x38]
mov edi, 0x80
lea rdx, [rsp + 0x50]
mov dword [rsp + 0x38], edi
call qword [sym.imp.WS2_32.dll_getsockname]
test eax, eax
je 0x140045c20
call qword [sym.imp.WS2_32.dll_WSAGetLastError]
mov r8d, edi
lea rdx, [rbp - 0x30]
mov ecx, eax
call fcn.140051cb0
mov r8, rax
lea rdx, str.getsockname___failed:__s
mov rcx, r15
call fcn.140029b2c
mov rcx, rsi
call qword [str._P_t_]
jmp 0x14004608a
movzx ecx, word [rsp + 0x50]
lea r8, [rbp + 0x150]
mov r9d, 0x401
lea rdx, [rsp + 0x54]
call fcn.140038f08
lea r12, [rbp + 0x150]
mov byte [rsp + 0x30], r14b
lea r9, [rsp + 0x48]
xor r8d, r8d
mov rdx, r12
mov rcx, rbx
call fcn.140020230
cmp eax, 1
jne 0x140045c6d
lea rdx, [rsp + 0x48]
mov rcx, rbx
call fcn.14001f590
mov rdx, qword [rsp + 0x48]
test rdx, rdx
je 0x140045c84
mov rdi, qword [rdx]
mov rcx, r15
call fcn.140020430
jmp 0x140045c87
mov rdi, r14
test rdi, rdi
jne 0x140045c9b
mov r8, r12
lea rdx, str.failed_to_resolve_the_address_provided_to_PORT:__s
jmp 0x140045c0a
mov rcx, rsi
call qword [str._P_t_]
lea r9, [rsp + 0x40]
xor r8d, r8d
mov rdx, rdi
mov rcx, rbx
call fcn.14002aeb8
mov esi, eax
test eax, eax
je 0x140045ccf
call qword [sym.imp.WS2_32.dll_WSAGetLastError]
mov rdi, qword [rdi + 0x28]
mov r14d, eax
test rdi, rdi
jne 0x140045ca4
test rdi, rdi
jne 0x140045cfd
mov r8d, 0x80
lea rdx, [rbp - 0x30]
mov ecx, r14d
call fcn.140051cb0
mov r8, rax
lea rdx, str.socket_failure:__s
mov rcx, r15
call fcn.140029b2c
jmp 0x14004608a
movsxd r8, dword [rdi + 0x10]
lea rcx, [rsp + 0x50]
mov rdx, qword [rdi + 0x20]
call fcn.140087d60
mov eax, dword [rdi + 0x10]
movzx r12d, word [rsp + 0x34]
mov dword [rsp + 0x38], eax
movzx r14d, word [rsp + 0x32]
cmp r14w, r12w
ja 0x14004606e
mov eax, 2
cmp word [rsp + 0x50], ax
jne 0x140045d47
movzx ecx, r14w
call qword [sym.imp.WS2_32.dll_htons]
mov word [rsp + 0x52], ax
mov r8d, dword [rsp + 0x38]
lea rdx, [rsp + 0x50]
mov rcx, qword [rsp + 0x40]
call qword [sym.imp.WS2_32.dll_bind]
test eax, eax
je 0x140045e3a
call qword [sym.imp.WS2_32.dll_WSAGetLastError]
cmp byte [rsp + 0x30], 0
je 0x140045dce
mov ecx, 0x2741
cmp eax, ecx
jne 0x140045dce
mov r8d, 0x80
lea rdx, [rbp - 0x30]
call fcn.140051cb0
mov r9, rax
movzx r8d, r14w
lea rdx, str.bind_port_hu__on_non_local_address_failed:__s_n
mov rcx, r15
call fcn.140029c14
mov rcx, qword [rbx + 0x240]
lea r8, [rsp + 0x38]
mov r14d, 0x80
lea rdx, [rsp + 0x50]
mov dword [rsp + 0x38], r14d
call qword [sym.imp.WS2_32.dll_getsockname]
test eax, eax
jne 0x140045de3
mov byte [rsp + 0x30], al
jmp 0x140045d1c
cmp eax, 0x2740
je 0x140045dda
cmp eax, 0xd
jne 0x140045e0e
inc r14w
jmp 0x140045d22
call qword [sym.imp.WS2_32.dll_WSAGetLastError]
mov r8, r14
mov ecx, eax
lea rdx, [rbp - 0x30]
call fcn.140051cb0
lea rdx, str.getsockname___failed:__s
mov r8, rax
mov rcx, r15
call fcn.140029b2c
jmp 0x14004607d
mov r8d, 0x80
lea rdx, [rbp - 0x30]
mov ecx, eax
call fcn.140051cb0
mov r9, rax
movzx r8d, r14w
lea rdx, str.bind_port_hu__failed:__s
mov rcx, r15
call fcn.140029b2c
jmp 0x14004607d
cmp r14w, r12w
ja 0x14004606e
mov rcx, qword [rsp + 0x40]
lea r8, [rsp + 0x38]
mov r12d, 0x80
lea rdx, [rsp + 0x50]
mov dword [rsp + 0x38], r12d
call qword [sym.imp.WS2_32.dll_getsockname]
test eax, eax
je 0x140045e76
call qword [sym.imp.WS2_32.dll_WSAGetLastError]
mov r8d, r12d
jmp 0x140045dec
mov rcx, qword [rsp + 0x40]
mov r14d, 1
mov edx, r14d
call qword [sym.imp.WS2_32.dll_listen]
test eax, eax
je 0x140045eae
call qword [sym.imp.WS2_32.dll_WSAGetLastError]
mov r8, r12
lea rdx, [rbp - 0x30]
mov ecx, eax
call fcn.140051cb0
lea rdx, str.socket_failure:__s
jmp 0x140045dfe
mov r8d, 0x100
lea rdx, [rbp + 0x50]
mov rcx, rdi
call fcn.14002020c
mov edi, 2
cmp r13d, edi
je 0x140045f19
movzx eax, word [rsp + 0x50]
test dword [rbx + 0x3c4], 0x40000
jne 0x140045ee0
test r13d, r13d
je 0x140045f11
cmp r13d, r14d
jne 0x140045eea
cmp ax, di
jne 0x140045f11
cmp ax, di
jne 0x140045f11
movzx ecx, word [rsp + 0x52]
call qword [sym.imp.WS2_32.dll_ntohs]
movzx r8d, ax
test r13d, r13d
je 0x140045fef
cmp r13d, r14d
je 0x140045f4c
movzx eax, word [rsp + 0x50]
add r13d, r14d
cmp r13d, edi
jne 0x140045ecf
lea rdi, [rbx + 0x798]
mov rcx, rbx
mov dword [rdi + 0xb0], r13d
call fcn.1400437b8
mov rax, qword [rsp + 0x40]
mov edx, Ordinal_30
mov qword [rbx + 0x248], rax
mov byte [rbx + 0x3c3], r14b
jmp 0x140046062
lea rcx, [rbp + 0x560]
lea rdx, [rbp + 0x50]
cmp byte [rdx], 0
je 0x140045f76
cmp byte [rdx], 0x2e
mov r9d, Ordinal_46
movzx eax, byte [rdx]
cmove eax, r9d
mov byte [rcx], al
add rcx, r14
add rdx, r14
jne 0x140045f57
mov r9d, r8d
movzx eax, r8b
shr r9d, 8
lea r8, str.__d__d
mov edx, reloc.WS2_32.dll_sendto
mov byte [rcx], 0
mov dword [rsp + 0x20], eax
call fcn.140036b1c
lea rdi, [rbx + 0x798]
mov rcx, rdi
lea r9, [rbp + 0x560]
lea r8, str.PORT
lea rdx, [0x14011d918]
call fcn.1400575f4
mov esi, eax
test eax, eax
je 0x140045f20
mov ecx, eax
call fcn.140051de4
mov r8, rax
lea rdx, str.Failure_sending_PORT_command:__s
mov rcx, r15
call fcn.140029b2c
mov rdx, qword [rsp + 0x40]
mov rcx, rbx
call fcn.14002a620
jmp 0x140046060
xor r9d, r9d
mov dword [rsp + 0x28], r8d
cmp word [rsp + 0x50], di
lea rax, [rbp + 0x50]
lea rdi, [rbx + 0x798]
mov qword [rsp + 0x20], rax
setne r9b
lea r8, str.EPRT
add r9d, r14d
lea rdx, str._s__d_s_hu
mov rcx, rdi
call fcn.1400575f4
mov esi, eax
test eax, eax
je 0x140045f20
mov ecx, eax
call fcn.140051de4
mov r8, rax
lea rdx, str.Failure_sending_EPRT_command:__s
mov rcx, r15
call fcn.140029b2c
mov rdx, qword [rsp + 0x40]
mov rcx, rbx
call fcn.14002a620
mov dword [rdi + 0xb0], r14d
xor edx, edx
mov rcx, rbx
call fcn.1400437b0
mov eax, esi
jmp 0x14004608f
lea rdx, str.bind___failed__we_ran_out_of_ports_
mov rcx, r15
call fcn.140029b2c
mov rdx, qword [rsp + 0x40]
mov rcx, rbx
call fcn.14002a620
mov eax, reloc.WLDAP32.dll_Ordinal_30
mov rcx, qword [rbp + 0x960]
xor rcx, rsp
call fcn.140085010
mov rbx, qword [rsp + 0xac0]
add rsp, 0xa70
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret