Function at 0x140098fd4
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 - 0x910]
sub rsp, 0xa10
mov rax, qword [0x1402b1510]
xor rax, rsp
mov qword [rbp + 0x900], rax
mov rsi, qword [rcx]
mov rbx, rcx
or qword [rsp + 0x60], 0xffffffffffffffff
lea rcx, [rbp - 0x10]
mov dword [rsp + 0x40], edx
mov r8d, 0x100
xor edx, edx
mov qword [rsp + 0x38], rsi
call fcn.1401d2e50
mov rdi, qword [rsi + 0xc90]
xor r14d, r14d
mov qword [rsp + 0x50], r14
movzx r13d, r14w
mov rcx, qword [rsi + 0xc90]
movzx r12d, r14w
mov qword [rsp + 0x48], r14
mov r15d, r14d
lea edx, [r14 + 1]
mov byte [rsp + 0x30], dl
test rcx, rcx
je 0x14009926d
or r8, 0xffffffffffffffff
mov rax, r8
inc rax
cmp byte [rcx + rax], r14b
jne 0x140099068
cmp rax, rdx
jbe 0x14009926d
mov rax, r8
inc rax
cmp byte [rdi + rax], r14b
jne 0x14009907d
mov ecx, 0x41
cmp rax, rcx
jb 0x14009909c
mov rcx, r8
inc rcx
cmp byte [rdi + rcx], r14b
jne 0x140099093
inc rcx
call qword [fcn.1401d741c]
mov r15, rax
test rax, rax
jne 0x1400990b6
lea eax, [r15 + 0x1b]
jmp 0x14009971b
cmp byte [rdi], 0x5b
mov r12d, Ordinal_60
jne 0x140099166
lea edx, [r12 + 0x23]
mov rcx, rdi
lea r14, [rdi + 1]
call fcn.1401d2fe0
mov rsi, rax
test rax, rax
je 0x1400990ef
mov r8, rax
mov rdx, r14
sub r8, r14
mov rcx, r15
call fcn.1401e4520
xor r14d, r14d
mov edi, r14d
mov eax, r14d
test rsi, rsi
je 0x1400991e9
mov edx, r12d
mov rcx, rsi
call fcn.1401d2fe0
mov rsi, rax
movzx eax, r14w
test rsi, rsi
je 0x1400991e9
mov r12d, 0xa
lea rcx, [rsi + 1]
mov r8d, r12d
xor edx, edx
call fcn.1401e2ee4
mov ecx, eax
call fcn.14007fcb4
lea edx, [r12 + 0x23]
mov rcx, rsi
movzx edi, ax
call fcn.1401d2fe0
test rax, rax
je 0x1400991c5
lea rcx, [rax + 1]
mov r8d, r12d
xor edx, edx
call fcn.1401e2ee4
mov ecx, eax
call fcn.14007fcb4
jmp 0x1400991e9
cmp byte [rdi], r12b
jne 0x140099170
mov rsi, rdi
jmp 0x1400990f2
mov edx, r12d
mov rcx, rdi
call fcn.1401d2fe0
mov rsi, rax
test rax, rax
je 0x1400991ca
lea r8, [rsp + 0x70]
mov rdx, rdi
mov ecx, reloc.WS2_32.dll_socket
call fcn.14008b310
mov edx, 1
mov rcx, r15
cmp eax, edx
jne 0x1400991b2
sub rcx, rdi
mov al, byte [rdi]
mov byte [rdi + rcx], al
add rdi, rdx
test al, al
jne 0x1400991a4
jmp 0x1400991e1
mov r8, rsi
mov rdx, rdi
sub r8, rdi
call fcn.1401e4520
jmp 0x1400990f2
movzx eax, di
jmp 0x1400991e9
mov rcx, r15
mov edx, 1
sub rcx, rdi
mov al, byte [rdi]
mov byte [rdi + rcx], al
add rdi, rdx
test al, al
jne 0x1400991d5
movzx eax, r14w
movzx edi, r14w
cmp di, ax
mov r12d, r14d
mov r13d, r14d
cmovbe r12w, ax
cmovbe r13w, di
cmp byte [r15], r14b
je 0x140099268
mov rcx, qword [rbx + 0x70]
mov rcx, qword [rcx + 0x20]
call fcn.1400a3d08
mov r8d, dword [rbx + 0xb8]
lea rcx, [rbp + 0xf0]
mov edx, eax
mov dword [rsp + 0x28], 0x401
mov rax, qword [rbx + 0x70]
mov r9, r15
mov qword [rsp + 0x20], rcx
mov ecx, dword [rax + 4]
call fcn.140061320
test eax, eax
je 0x140099255
sub eax, 1
je 0x140099716
cmp eax, 1
jne 0x14009925a
lea rsi, [rbp + 0xf0]
jmp 0x14009925f
mov rsi, r15
jmp 0x14009925f
mov rsi, qword [rsp + 0x48]
test rsi, rsi
jne 0x1400992ed
mov rsi, qword [rsp + 0x38]
mov rcx, qword [rbx + 0x240]
lea r8, [rsp + 0x58]
lea rdx, [rsp + 0x70]
mov dword [rsp + 0x58], 0x80
call qword [sym.imp.WS2_32.dll_getsockname]
test eax, eax
je 0x1400992b2
call qword [sym.imp.WS2_32.dll_WSAGetLastError]
mov edx, eax
mov rcx, rbx
call fcn.1400a3b6c
mov r8, rax
lea rdx, str.getsockname___failed:__s
mov rcx, rsi
jmp 0x140099708
mov ecx, reloc.WS2_32.dll_socket
lea rax, [rsp + 0x78]
cmp word [rsp + 0x70], cx
lea rdx, [rsp + 0x74]
movzx ecx, word [rsp + 0x70]
lea r8, [rbp + 0xf0]
cmove rdx, rax
mov r9d, 0x401
call fcn.14008bdd0
lea rsi, [rbp + 0xf0]
mov byte [rsp + 0x30], r14b
lea r9, [rsp + 0x50]
xor r8d, r8d
mov rdx, rsi
mov rcx, rbx
call fcn.14007497c
cmp eax, 1
jne 0x140099312
lea rdx, [rsp + 0x50]
mov rcx, rbx
call fcn.140073d50
mov rdx, qword [rsp + 0x50]
mov rdi, qword [rsp + 0x38]
test rdx, rdx
je 0x1400996fb
mov r14, qword [rdx]
mov rcx, rdi
call fcn.140074ba0
test r14, r14
je 0x1400996fb
mov rcx, r15
call qword [fcn.1401d7128]
lea r9, [rsp + 0x60]
xor r8d, r8d
mov rdx, r14
mov rcx, rbx
call fcn.14007ef74
mov esi, eax
test eax, eax
je 0x14009938b
call qword [sym.imp.WS2_32.dll_WSAGetLastError]
mov r14, qword [r14 + 0x28]
test r14, r14
jne 0x140099342
mov edx, eax
mov rcx, rbx
call fcn.1400a3b6c
mov r8, rax
lea rdx, str.socket_failure:__s
mov rcx, rdi
call fcn.14007dc94
jmp 0x140099716
movsxd r8, dword [r14 + 0x10]
lea rcx, [rsp + 0x70]
mov rdx, qword [r14 + 0x20]
call fcn.1401d27a0
mov eax, dword [r14 + 0x10]
movzx edi, r13w
mov dword [rsp + 0x58], eax
cmp r13w, r12w
ja 0x140099441
mov r15b, byte [rsp + 0x30]
mov eax, 2
movzx ecx, di
call qword [sym.imp.WS2_32.dll_htons]
mov r8d, dword [rsp + 0x58]
lea rdx, [rsp + 0x70]
mov rcx, qword [rsp + 0x60]
mov word [rsp + 0x72], ax
call qword [sym.imp.WS2_32.dll_bind]
test eax, eax
je 0x1400994ae
call qword [sym.imp.WS2_32.dll_WSAGetLastError]
test r15b, r15b
je 0x140099428
cmp eax, 0x2741
jne 0x140099428
mov rcx, qword [rbx + 0x240]
lea r8, [rsp + 0x58]
lea rdx, [rsp + 0x70]
mov dword [rsp + 0x58], 0x80
call qword [sym.imp.WS2_32.dll_getsockname]
xor ecx, ecx
test eax, eax
jne 0x140099454
movzx edi, r13w
mov r15b, cl
jmp 0x140099437
cmp eax, 0x2740
je 0x140099434
cmp eax, 0xd
jne 0x14009948a
inc di
cmp di, r12w
jbe 0x1400993b8
mov rcx, qword [rsp + 0x38]
lea rdx, str.bind___failed__we_ran_out_of_ports_
call fcn.14007dc94
jmp 0x140099478
call qword [sym.imp.WS2_32.dll_WSAGetLastError]
mov edx, eax
mov rcx, rbx
call fcn.1400a3b6c
lea rdx, str.getsockname___failed:__s
mov rcx, qword [rsp + 0x38]
mov r8, rax
call fcn.14007dc94
mov rdx, qword [rsp + 0x60]
mov rcx, rbx
call fcn.14007e63c
jmp 0x140099716
mov edx, eax
mov rcx, rbx
call fcn.1400a3b6c
mov rcx, qword [rsp + 0x38]
lea rdx, str.bind_port_hu__failed:__s
mov r9, rax
movzx r8d, di
call fcn.14007dc94
jmp 0x140099478
cmp di, r12w
ja 0x140099441
mov rcx, qword [rsp + 0x60]
lea r8, [rsp + 0x58]
lea rdx, [rsp + 0x70]
mov dword [rsp + 0x58], 0x80
call qword [sym.imp.WS2_32.dll_getsockname]
xor r15d, r15d
test eax, eax
jne 0x140099454
mov rcx, qword [rsp + 0x60]
lea r12d, [r15 + 1]
mov edx, r12d
call qword [sym.imp.WS2_32.dll_listen]
test eax, eax
je 0x14009950e
call qword [sym.imp.WS2_32.dll_WSAGetLastError]
mov edx, eax
mov rcx, rbx
call fcn.1400a3b6c
lea rdx, str.socket_failure:__s
jmp 0x14009946b
mov r8d, 0x100
lea rdx, [rbp - 0x10]
mov rcx, r14
call fcn.140074948
cmp byte [rbx + 0x3d5], r15b
jne 0x140099539
cmp byte [rbx + 0x3cb], r15b
je 0x140099539
mov byte [rbx + 0x3d5], r12b
mov edi, dword [rsp + 0x40]
mov r14d, 2
cmp edi, r14d
je 0x14009959b
movzx eax, word [rsp + 0x70]
cmp byte [rbx + 0x3d5], r15b
jne 0x14009955a
test edi, edi
je 0x140099593
cmp edi, r12d
jne 0x140099565
cmp ax, r14w
jne 0x140099593
movzx ecx, ax
cmp ecx, r14d
je 0x140099572
cmp ecx, 0x17
jne 0x140099593
movzx ecx, word [rsp + 0x72]
call qword [sym.imp.WS2_32.dll_ntohs]
movzx r8d, ax
test edi, edi
je 0x140099679
cmp edi, r12d
je 0x1400995d3
movzx eax, word [rsp + 0x70]
add edi, r12d
cmp edi, r14d
jne 0x14009954d
lea r14, [rbx + 0x680]
mov rcx, rbx
mov dword [r14 + 0xb0], edi
call fcn.140097164
mov rax, qword [rsp + 0x60]
mov qword [rbx + 0x248], rax
mov byte [rbx + 0x3ce], r12b
mov dword [rbx + 0x73c], 0x1c
jmp 0x1400996f7
lea rcx, [rbp + 0x500]
lea rdx, [rbp - 0x10]
cmp byte [rdx], r15b
je 0x1400995fd
cmp byte [rdx], 0x2e
mov r9d, Ordinal_46
movzx eax, byte [rdx]
cmove eax, r9d
mov byte [rcx], al
add rcx, r12
add rdx, r12
jne 0x1400995de
movzx r9d, r8w
mov edx, reloc.WS2_32.dll_sendto
movzx eax, r9b
lea r8, str.__d__d
shr r9d, 8
mov dword [rsp + 0x20], eax
mov byte [rcx], r15b
call fcn.140089898
lea r14, [rbx + 0x680]
mov rcx, r14
lea r9, [rbp + 0x500]
lea r8, str.PORT
lea rdx, [0x140206ba0]
call fcn.1400cd8d4
mov esi, eax
test eax, eax
je 0x1400995a2
mov ecx, eax
call fcn.1400a3cf4
mov rcx, qword [rsp + 0x38]
lea rdx, str.Failure_sending_PORT_command:__s
mov r8, rax
call fcn.14007dc94
mov rdx, qword [rsp + 0x60]
mov rcx, rbx
call fcn.14007e63c
jmp 0x1400996f0
cmp word [rsp + 0x70], r14w
lea rdx, str._s__d_s_hu
movzx eax, r8w
lea r14, [rbx + 0x680]
mov r9d, r15d
mov dword [rsp + 0x28], eax
setne r9b
lea rax, [rbp - 0x10]
add r9d, r12d
mov qword [rsp + 0x20], rax
lea r8, str.EPRT
mov rcx, r14
call fcn.1400cd8d4
mov esi, eax
test eax, eax
je 0x1400995a2
mov ecx, eax
call fcn.1400a3cf4
mov rcx, qword [rsp + 0x38]
lea rdx, str.Failure_sending_EPRT_command:__s
mov r8, rax
call fcn.14007dc94
mov rdx, qword [rsp + 0x60]
mov rcx, rbx
call fcn.14007e63c
mov dword [r14 + 0xb0], r12d
mov dword [rbx + 0x73c], r15d
mov eax, esi
jmp 0x14009971b
mov r8, rsi
lea rdx, str.failed_to_resolve_the_address_provided_to_PORT:__s
mov rcx, rdi
call fcn.14007dc94
mov rcx, r15
call qword [fcn.1401d7128]
mov eax, reloc.WLDAP32.dll_Ordinal_30
mov rcx, qword [rbp + 0x900]
xor rcx, rsp
call fcn.1401d08c0
mov rbx, qword [rsp + 0xa60]
add rsp, 0xa10
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret