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

Disassembly:
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbp
push rbx
sub rsp, 0x2a8
movapd xmmword [rsp + 0x290], xmm7
movapd xmmword [rsp + 0x280], xmm6
mov qword [rsp + 0x68], r9
mov rdi, r8
mov qword [rsp + 0x78], rdx
mov qword [rsp + 0x70], rcx
mov rax, qword [0x1402161d8]
cmp rax, 2
jne 0x1401b5450
movzx eax, byte [0x1402161e1]
test al, al
je 0x1401b5464
mov qword [rsp + 0x60], rdi
lea rdx, [0x141a95e58]
lea rcx, [rsp + 0x80]
mov r8d, 0xb
call fcn.1401508b0
mov rax, qword [rsp + 0x80]
mov qword [rsp + 0x40], rax
test rax, rax
je 0x1401b55d6
mov rdi, qword [rsp + 0x88]
mov rax, qword [rsp + 0x90]
mov qword [rsp + 0x48], rax
mov r14, qword [rsp + 0x98]
cmp rdi, r14
je 0x1401b55ce
xor r12d, r12d
xorpd xmm6, xmm6
jmp 0x1401b4b8d
mov rcx, qword [0x141ada118]
xor edx, edx
mov r8, rbx
call fcn.1401cdfe4
dec r13
mov rcx, qword [0x141ada118]
xor edx, edx
mov r8, r13
call fcn.1401cdfe4
add rdi, 0x20
cmp rdi, r14
je 0x1401b55ce
movzx ebx, word [rdi]
cmp bx, 2
je 0x1401b55ce
mov r13, r12
mov ebp, dword [rdi + 0x14]
mov esi, dword [rdi + 0x18]
movzx r15d, word [rdi + 0x1c]
movzx eax, word [rdi + 0x12]
mov word [rsp + 0x190], ax
movups xmm0, xmmword [rdi + 2]
movaps xmmword [rsp + 0x180], xmm0
mov rax, qword [0x141ada0f0]
cmp rax, 3
jne 0x1401b4cf5
mov ecx, ebx
call fcn.14015ce50
mov r12, rdx
test rax, rax
je 0x1401b4bf0
test r13, r13
jne 0x1401b4cac
jmp 0x1401b4b80
test bx, bx
je 0x1401b4c0f
rol r15w, 8
movupd xmm7, xmmword [rsp + 0x182]
mov r8d, 0x1c
mov ax, 0x17
jmp 0x1401b4c36
movzx r15d, word [rsp + 0x184]
rol r15w, 8
mov ebp, dword [rsp + 0x180]
movsd xmm7, xmm6
mov r8d, 0x10
mov ax, 2
mov esi, dword [rsp + 0x30]
mov word [rsp + 0x80], ax
mov word [rsp + 0x82], r15w
mov dword [rsp + 0x84], ebp
movupd xmmword [rsp + 0x88], xmm7
mov dword [rsp + 0x98], esi
mov rcx, r12
lea rdx, [rsp + 0x80]
call sub.ws2_32.dll_bind
cmp eax, 0xffffffff
je 0x1401b4c85
mov rcx, r12
mov edx, pe_nt_image_headers64
call sub.ws2_32.dll_listen
cmp eax, 0xffffffff
jne 0x1401b4cff
mov dword [rsp + 0x30], esi
call sub.ws2_32.dll_WSAGetLastError
mov ebx, eax
shl rbx, 0x20
or rbx, 2
mov rcx, r12
call sub.ws2_32.dll_closesocket
mov r12, rbx
test r13, r13
je 0x1401b4b80
mov eax, r13d
and eax, 3
lea rcx, [rax - 2]
cmp rcx, 2
jb 0x1401b4b80
test rax, rax
je 0x1401b4b80
mov rbx, qword [r13 - 1]
mov rsi, qword [r13 + 7]
mov rcx, rbx
call qword [rsi]
cmp qword [rsi + 8], 0
je 0x1401b4b6c
cmp qword [rsi + 0x10], 0x11
jb 0x1401b4b5b
mov rbx, qword [rbx - 8]
jmp 0x1401b4b5b
call fcn.14015cd30
jmp 0x1401b4bd1
cmp qword [rsp + 0x48], 0
je 0x1401b4d1a
mov rcx, qword [0x141ada118]
xor edx, edx
mov r8, qword [rsp + 0x40]
call fcn.1401cdfe4
test r13, r13
je 0x1401b4d79
mov eax, r13d
and eax, 3
lea rcx, [rax - 2]
cmp rcx, 2
jb 0x1401b4d79
test rax, rax
je 0x1401b4d79
lea rbx, [r13 - 1]
mov r14, qword [r13 - 1]
mov rsi, qword [r13 + 7]
mov rcx, r14
call qword [rsi]
cmp qword [rsi + 8], 0
je 0x1401b4d68
cmp qword [rsi + 0x10], 0x11
jb 0x1401b4d57
mov r14, qword [r14 - 8]
mov rcx, qword [0x141ada118]
xor edx, edx
mov r8, r14
call fcn.1401cdfe4
mov rcx, qword [0x141ada118]
xor edx, edx
mov r8, rbx
call fcn.1401cdfe4
xorps xmm0, xmm0
movaps xmmword [rsp + 0xf0], xmm0
movaps xmmword [rsp + 0xe0], xmm0
movaps xmmword [rsp + 0xd0], xmm0
movaps xmmword [rsp + 0xc0], xmm0
movaps xmmword [rsp + 0xb0], xmm0
movaps xmmword [rsp + 0xa0], xmm0
movaps xmmword [rsp + 0x90], xmm0
movaps xmmword [rsp + 0x80], xmm0
mov dword [rsp + 0x180], pe_nt_image_headers64
lea rdx, [rsp + 0x80]
lea r8, [rsp + 0x180]
mov rcx, r12
call sub.ws2_32.dll_getsockname
cmp eax, 0xffffffff
je 0x1401b55ed
mov eax, dword [rsp + 0x180]
movzx ecx, word [rsp + 0x80]
cmp ecx, 0x17
je 0x1401b4e0f
cmp ecx, 2
jne 0x1401b55d6
cmp eax, 0xf
ja 0x1401b4e18
jmp 0x1401b55d6
cmp eax, 0x1b
jbe 0x1401b55d6
movzx eax, word [rsp + 0x82]
rol ax, 8
mov word [rsp + 0x2e], ax
movzx eax, byte [0x141ada129]
mov edx, 0x18
xor ecx, ecx
call fcn.14014fee0
test rax, rax
je 0x1401b55d6
mov rdi, rax
mov qword [rax], 1
mov qword [rax + 8], 1
mov byte [rax + 0x10], 0
lock inc qword [rax]
jle 0x1401b55d6
call fcn.14015c8d0
mov rbp, rax
movzx eax, byte [0x141ada129]
mov edx, 0x30
xor ecx, ecx
call fcn.14014fee0
test rax, rax
je 0x1401b55d6
mov r13, rax
mov qword [rax], 1
mov qword [rax + 8], 1
mov qword [rax + 0x18], 0
mov rax, qword [0x141ada110]
nop word [rax + rax]
mov rcx, rax
inc rcx
je 0x1401b55d6
lock cmpxchg qword [0x141ada110], rcx
jne 0x1401b4eb0
mov qword [r13 + 0x10], rcx
mov byte [r13 + 0x28], 0
lock inc qword [r13]
jle 0x1401b55d6
movzx eax, byte [0x141ada129]
mov edx, 0x30
xor ecx, ecx
call fcn.14014fee0
test rax, rax
je 0x1401b55d6
mov rbx, rax
mov qword [rax], 1
mov qword [rax + 8], 1
xorps xmm0, xmm0
movups xmmword [rax + 0x10], xmm0
mov qword [rsp + 0x80], rax
lock inc qword [rax]
jle 0x1401b55d6
movzx eax, byte [0x141ada080]
test al, al
je 0x1401b4f81
mov byte [0x141ada080], 1
xor ecx, ecx
call fcn.140151550
test rax, rax
je 0x1401b55d6
mov r14, qword [rax]
mov qword [rax], 0
test r14, r14
je 0x1401b4f81
lock inc qword [r14]
jle 0x1401b55d6
mov byte [0x141ada080], 1
xor ecx, ecx
call fcn.140151550
test rax, rax
je 0x1401b5625
mov rcx, qword [rax]
mov qword [rax], r14
test rcx, rcx
jne 0x1401b4fb9
jmp 0x1401b4fc4
movzx eax, byte [0x141ada080]
test al, al
je 0x1401b5433
mov byte [0x141ada080], 1
xor ecx, ecx
call fcn.140151550
test rax, rax
je 0x1401b55d6
mov rcx, qword [rax]
mov qword [rax], 0
xor r14d, r14d
test rcx, rcx
je 0x1401b4fc4
lock dec qword [rcx]
jne 0x1401b4fc4
call fcn.14016eb90
mov rsi, qword [rsp + 0x80]
mov rcx, qword [rsi + 0x10]
test rcx, rcx
je 0x1401b4fe0
lock inc qword [rcx + 0x18]
jle 0x1401b5618
movzx eax, byte [0x141ada129]
mov edx, 0x30
xor ecx, ecx
call fcn.14014fee0
test rax, rax
je 0x1401b55d6
mov qword [rax], r13
mov qword [rax + 8], rbx
mov qword [rax + 0x10], r14
mov qword [rax + 0x18], r12
mov qword [rax + 0x20], rdi
lea rcx, [0x1401aea00]
mov qword [rax + 0x28], rcx
lea r8, [0x141a95e08]
mov rcx, rbp
mov rdx, rax
call fcn.140150f60
test rax, rax
jne 0x1401b55f4
mov qword [rsp + 0x80], r13
mov qword [rsp + 0x88], rsi
mov qword [rsp + 0x90], rdx
mov rcx, rdx
call sub.KERNEL32.dll_CloseHandle
lock dec qword [r13]
jne 0x1401b5069
mov rcx, qword [rsp + 0x80]
call fcn.1401a5be0
mov qword [rsp + 0x30], rdi
mov rax, qword [rsp + 0x88]
lock dec qword [rax]
jne 0x1401b5089
lea rcx, [rsp + 0x88]
call fcn.14006afd0
lea rdi, [rsp + 0x2e]
lea r14, [0x140047dc0]
lea r15, [0x141a95e48]
lea rsi, [rsp + 0x50]
lea r12, [rsp + 0x180]
lea r13, [rsp + 0x80]
lea rbp, [0x140221010]
jmp 0x1401b50eb
xor r14d, r14d
mov rsi, qword [rsp + 0x80]
mov rcx, qword [rsi + 0x10]
test rcx, rcx
jne 0x1401b4fd5
jmp 0x1401b4fe0
call fcn.1401a6610
movzx eax, byte [0x1402161e1]
test al, al
jne 0x1401b4af7
lea rbx, [rsp + 0x80]
mov rcx, rbx
call fcn.1401b0f00
cmp qword [rsp + 0x48], 0
jne 0x1401b55d8
mov rcx, qword [0x141ada118]
xor edx, edx
mov r8, qword [rsp + 0x40]
call fcn.1401cdfe4
ud2
call sub.ws2_32.dll_WSAGetLastError
ud2
lock dec qword [rsi]
jne 0x1401b5607
lea rcx, [rsp + 0x80]
call fcn.14006afd0
lock dec qword [r13]
jne 0x1401b55d6
mov rcx, r13
call fcn.1401a5be0
ud2
add rcx, 0x10
xor edx, edx
call fcn.14015bdc0
ud2
lock dec qword [r14]
jne 0x1401b55d6
mov rcx, r14
call fcn.14015bae0
ud2