Function at 0x140032340
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 - 0x900]
sub rsp, 0xa00
mov rax, qword [0x14009d810]
xor rax, rsp
mov qword [rbp + 0x8f0], rax
mov r15, qword [rcx]
or qword [rsp + 0x38], 0xffffffffffffffff
mov rbx, rcx
mov r13d, edx
xor eax, eax
lea rcx, [rbp - 0x1f]
xor edx, edx
mov r8d, 0xff
mov byte [rbp - 0x20], al
call fcn.1400467a0
mov rdi, qword [r15 + 0x870]
xor edx, edx
mov qword [rsp + 0x50], rdx
mov rcx, qword [r15 + 0x870]
lea r8d, [rdx + 1]
movzx r12d, dx
movzx esi, dx
mov dword [rsp + 0x44], r8d
mov r14d, edx
mov dword [rsp + 0x48], r12d
mov dword [rsp + 0x40], esi
test rcx, rcx
je 0x14003254d
or r9, 0xffffffffffffffff
mov rax, r9
inc rax
cmp byte [rcx + rax], dl
jne 0x1400323d6
cmp rax, r8
jbe 0x14003254d
mov rax, r9
inc rax
cmp byte [rdi + rax], dl
jne 0x1400323ea
mov ecx, reloc.WLDAP32.dll_Ordinal_22
cmp rax, rcx
jb 0x140032407
mov rcx, r9
inc rcx
cmp byte [rdi + rcx], dl
jne 0x1400323ff
inc rcx
mov rdx, r8
call qword [fcn.140045fec]
mov r14, rax
test rax, rax
jne 0x140032424
lea eax, [r14 + 0x1b]
jmp 0x1400328db
cmp byte [rdi], 0x3a
jne 0x14003242e
mov rsi, rdi
jmp 0x140032465
mov edx, Ordinal_60
mov rcx, rdi
call fcn.140046cfc
mov rcx, r14
mov rsi, rax
test rax, rax
je 0x140032456
mov r8, rax
mov rdx, rdi
sub r8, rdi
call fcn.140047660
jmp 0x140032465
sub rcx, rdi
mov al, byte [rdi]
mov byte [rcx + rdi], al
inc rdi
test al, al
jne 0x140032459
xor edi, edi
test rsi, rsi
je 0x1400324eb
lea edx, [rdi + 0x3a]
mov rcx, rsi
call fcn.140046cfc
mov rdi, rax
test rax, rax
je 0x1400324e9
mov esi, 0xa
lea rcx, [rax + 1]
xor edx, edx
mov r8d, esi
call fcn.140048598
mov ecx, eax
call fcn.140020954
lea edx, [rsi + 0x23]
mov rcx, rdi
movzx r12d, ax
mov dword [rsp + 0x48], r12d
call fcn.140046cfc
xor edi, edi
test rax, rax
je 0x1400324ce
lea rcx, [rax + 1]
mov r8d, esi
xor edx, edx
call fcn.140048598
mov ecx, eax
call fcn.140020954
movzx esi, ax
jmp 0x1400324d2
movzx esi, r12w
mov dword [rsp + 0x40], esi
cmp r12w, si
jbe 0x1400324eb
mov dword [rsp + 0x40], edi
mov r12d, edi
mov dword [rsp + 0x48], edi
jmp 0x1400324eb
xor edi, edi
cmp byte [r14], dil
je 0x14003253f
mov rcx, qword [rbx + 0x70]
mov rcx, qword [rcx + 0x20]
call fcn.1400185f4
mov r8d, dword [rbx + 0xb8]
lea rcx, [rbp + 0xe0]
mov edx, eax
mov rax, qword [rbx + 0x70]
mov dword [rsp + 0x28], 0x401
mov qword [rsp + 0x20], rcx
mov ecx, dword [rax + 4]
mov r9, r14
call fcn.1400185f4
test eax, eax
je 0x14003253a
dec eax
je 0x14003259d
dec eax
jne 0x14003254f
jmp 0x1400325c7
mov rsi, r14
jmp 0x140032542
mov rsi, rdi
test rsi, rsi
jne 0x1400325ce
jmp 0x14003254f
xor edi, edi
mov rcx, qword [rbx + 0x238]
lea r8, [rsp + 0x30]
lea rdx, [rsp + 0x60]
mov dword [rsp + 0x30], 0x80
call qword [sym.imp.WS2_32.dll_getsockname]
test eax, eax
je 0x1400325a7
call qword [sym.imp.WS2_32.dll_WSAGetLastError]
mov rcx, rbx
mov edx, eax
call fcn.140023890
lea rdx, str.getsockname___failed:__s
mov r8, rax
mov rcx, r15
call fcn.140015ff0
mov rcx, r14
call qword [fcn.140043a0c]
mov eax, reloc.WLDAP32.dll_Ordinal_30
jmp 0x1400328db
movzx ecx, word [rsp + 0x60]
lea r8, [rbp + 0xe0]
lea rdx, [rsp + 0x64]
mov r9d, 0x401
call fcn.140024318
mov dword [rsp + 0x44], edi
lea rsi, [rbp + 0xe0]
lea r9, [rsp + 0x50]
xor r8d, r8d
mov rdx, rsi
mov rcx, rbx
call fcn.14000c5a0
cmp eax, 1
jne 0x1400325f3
lea rdx, [rsp + 0x50]
mov rcx, rbx
call fcn.14000bb2c
mov rdx, qword [rsp + 0x50]
test rdx, rdx
je 0x140032608
mov rdi, qword [rdx]
mov rcx, r15
call fcn.14000c734
test rdi, rdi
jne 0x14003261c
mov r8, rsi
lea rdx, str.failed_to_resolve_the_address_provided_to_PORT:__s
jmp 0x14003258c
mov rcx, r14
call qword [fcn.140043a0c]
or qword [rsp + 0x38], 0xffffffffffffffff
xor r14d, r14d
lea r9, [rsp + 0x38]
xor r8d, r8d
mov rdx, rdi
mov rcx, rbx
call fcn.1400171b8
mov esi, eax
test eax, eax
je 0x140032659
call qword [sym.imp.WS2_32.dll_WSAGetLastError]
mov rdi, qword [rdi + 0x28]
mov r14d, eax
test rdi, rdi
jne 0x14003262e
test rdi, rdi
jne 0x140032680
mov edx, r14d
mov rcx, rbx
call fcn.140023890
lea rdx, str.socket_failure:__s
mov rcx, r15
mov r8, rax
call fcn.140015ff0
jmp 0x14003259d
movsxd r8, dword [rdi + 0x10]
mov rdx, qword [rdi + 0x20]
lea rcx, [rsp + 0x60]
call fcn.1400430e0
mov eax, dword [rdi + 0x10]
movzx r14d, r12w
mov dword [rsp + 0x30], eax
movzx eax, word [rsp + 0x40]
movzx r12d, r12w
mov ecx, 2
cmp r12d, eax
jg 0x1400327cb
cmp word [rsp + 0x60], cx
jne 0x1400326ca
movzx ecx, r14w
call qword [sym.imp.WS2_32.dll_htons]
mov word [rsp + 0x62], ax
mov r8d, dword [rsp + 0x30]
mov rcx, qword [rsp + 0x38]
lea rdx, [rsp + 0x60]
call qword [sym.imp.WS2_32.dll_bind]
test eax, eax
je 0x1400327cb
call qword [sym.imp.WS2_32.dll_WSAGetLastError]
cmp dword [rsp + 0x44], 0
je 0x14003274b
mov ecx, 0x2741
cmp eax, ecx
jne 0x14003274b
mov edx, ecx
mov rcx, rbx
call fcn.140023890
lea rdx, str.bind_port_hu__on_non_local_address_failed:__s_n
mov r8d, r12d
mov r9, rax
mov rcx, r15
call fcn.1400160e8
mov rcx, qword [rbx + 0x238]
lea r8, [rsp + 0x30]
lea rdx, [rsp + 0x60]
mov dword [rsp + 0x30], 0x80
call qword [sym.imp.WS2_32.dll_getsockname]
test eax, eax
jne 0x140032775
movzx r14d, word [rsp + 0x48]
and dword [rsp + 0x44], eax
jmp 0x14003275b
cmp eax, 0x2740
je 0x140032757
cmp eax, 0xd
jne 0x1400327a9
inc r14w
mov ecx, dword [rsp + 0x40]
movzx r12d, r14w
movzx eax, cx
cmp r12d, eax
jg 0x1400327cb
mov ecx, 2
jmp 0x1400326b4
call qword [sym.imp.WS2_32.dll_WSAGetLastError]
mov rcx, rbx
mov edx, eax
call fcn.140023890
lea rdx, str.getsockname___failed:__s
mov r8, rax
mov rcx, r15
call fcn.140015ff0
mov rdx, qword [rsp + 0x38]
mov rcx, rbx
call fcn.1400168c4
jmp 0x14003259d
mov edx, eax
mov rcx, rbx
call fcn.140023890
lea rdx, str.bind_port_hu__failed:__s
movzx r8d, r14w
mov r9, rax
mov rcx, r15
call fcn.140015ff0
jmp 0x140032797
cmp r14w, word [rsp + 0x40]
jbe 0x1400327e4
lea rdx, str.bind___failed__we_ran_out_of_ports_
mov rcx, r15
call fcn.140015ff0
jmp 0x140032797
mov rcx, qword [rsp + 0x38]
lea r8, [rsp + 0x30]
lea rdx, [rsp + 0x60]
mov dword [rsp + 0x30], 0x80
call qword [sym.imp.WS2_32.dll_getsockname]
xor r14d, r14d
test eax, eax
jne 0x140032775
mov rcx, qword [rsp + 0x38]
lea r12d, [r14 + 1]
mov edx, r12d
call qword [sym.imp.WS2_32.dll_listen]
test eax, eax
je 0x14003283e
call qword [sym.imp.WS2_32.dll_WSAGetLastError]
mov rcx, rbx
mov edx, eax
call fcn.140023890
lea rdx, str.socket_failure:__s
jmp 0x14003278c
lea rdx, [rbp - 0x20]
mov r8d, 0x100
mov rcx, rdi
call fcn.14000c57c
mov edi, 2
cmp r13d, edi
je 0x1400328a6
movzx eax, word [rsp + 0x60]
cmp dword [rbx + 0x404], r14d
jne 0x14003286d
test r13d, r13d
je 0x14003289e
cmp r13d, r12d
jne 0x140032877
cmp ax, di
jne 0x14003289e
cmp ax, di
jne 0x14003289e
movzx ecx, word [rsp + 0x62]
call qword [sym.imp.WS2_32.dll_ntohs]
movzx r8d, ax
test r13d, r13d
je 0x1400329b3
cmp r13d, r12d
je 0x140032905
movzx eax, word [rsp + 0x60]
add r13d, r12d
cmp r13d, edi
jne 0x14003285f
lea rdi, [rbx + 0x7c0]
mov rcx, rbx
mov dword [rdi + 0xb8], r13d
call fcn.1400300dc
mov rax, qword [rsp + 0x38]
mov dword [rbx + 0x3e8], r12d
mov qword [rbx + 0x240], rax
mov dword [rbx + 0x884], 0x1c
mov eax, esi
mov rcx, qword [rbp + 0x8f0]
xor rcx, rsp
call fcn.140042af0
mov rbx, qword [rsp + 0xa50]
add rsp, 0xa00
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret
lea rcx, [rbp + 0x4f0]
lea rdx, [rbp - 0x20]
cmp byte [rdx], r14b
je 0x14003292f
movzx eax, byte [rdx]
cmp byte [rdx], 0x2e
mov r9d, Ordinal_45
cmove eax, r9d
mov byte [rcx], al
add rcx, r12
add rdx, r12
jne 0x140032910
movzx r9d, r8w
lea r8, str.__d__d
mov edx, reloc.WS2_32.dll_sendto
movzx eax, r9b
shr r9d, 8
mov byte [rcx], r14b
mov dword [rsp + 0x20], eax
call fcn.140021c0c
lea rdi, [rbx + 0x7c0]
lea r9, [rbp + 0x4f0]
lea r8, str.PORT
lea rdx, [0x14007e548]
mov rcx, rdi
call fcn.14003d5d4
mov esi, eax
test eax, eax
je 0x1400328ad
mov ecx, eax
call fcn.1400239cc
lea rdx, str.Failure_sending_PORT_command:__s
mov rcx, r15
mov r8, rax
call fcn.140015ff0
mov rdx, qword [rsp + 0x38]
mov rcx, rbx
call fcn.1400168c4
mov dword [rbx + 0x884], r14d
jmp 0x1400328d9
cmp word [rsp + 0x60], di
movzx eax, r8w
mov r9d, r14d
mov dword [rsp + 0x28], eax
setne r9b
lea rax, [rbp - 0x20]
lea rdi, [rbx + 0x7c0]
lea r8, str.EPRT
lea rdx, str._s__d_s_hu
add r9d, r12d
mov rcx, rdi
mov qword [rsp + 0x20], rax
call fcn.14003d5d4
mov esi, eax
test eax, eax
je 0x1400328ad
mov ecx, eax
call fcn.1400239cc
lea rdx, str.Failure_sending_EPRT_command:__s
mov rcx, r15
mov r8, rax
call fcn.140015ff0
mov rdx, qword [rsp + 0x38]
mov rcx, rbx
call fcn.1400168c4
mov dword [rdi + 0xb8], r12d
jmp 0x1400329a7