Function at 0x14000c520
Capabilities:
Get local ipv4 addresses

Disassembly:
mov qword [rsp + 0x10], rdx
mov qword [rsp + 8], rcx
push rbp
push rsi
push r12
push r14
sub rsp, 0xa8
mov r14, rdx
mov r12, rcx
xor edx, edx
xor r8d, r8d
lea ecx, [rdx + 6]
call fcn.14000c450
movsxd rbp, eax
test eax, eax
je 0x14000c558
mov esi, recv
jmp 0x14000c584
mov edx, 1
mov r8d, edx
lea ecx, [rdx + 4]
call fcn.14000c450
test eax, eax
jne 0x14000c57f
mov eax, 0xfffff02f
add rsp, 0xa8
pop r14
pop r12
pop rsi
pop rbp
ret
mov esi, 0x1e
mov qword [rsp + 0xa0], rbx
lea rax, [rsp + 0xe0]
mov qword [rsp + 0x98], rdi
xor r9d, r9d
mov qword [rsp + 0x90], r13
xor r8d, r8d
xor r13d, r13d
mov qword [rsp + 0x88], r15
mov edx, esi
mov dword [rsp + 0xe0], r13d
xor ecx, ecx
mov qword [rsp + 0x60], r13
mov r15d, r13d
mov qword [rsp + 0x20], rax
call qword [sym.imp.IPHLPAPI.DLL_GetAdaptersAddresses]
mov edi, eax
test eax, eax
je 0x14000c64c
nop word [rax + rax]
call fcn.14002dfd0
mov rcx, r15
mov ebx, dword [rax]
call qword [fcn.14002dff0]
call fcn.14002dfd0
mov ecx, edi
mov dword [rax], ebx
sub ecx, 0x57
je 0x14000c75c
sub ecx, 0x18
jne 0x14000c71d
mov ecx, dword [rsp + 0xe0]
call qword [fcn.14002e1e4]
mov qword [rsp + 0x60], rax
mov r15, rax
test rax, rax
je 0x14000c713
lea rax, [rsp + 0xe0]
mov r9, r15
xor r8d, r8d
mov qword [rsp + 0x20], rax
mov edx, esi
xor ecx, ecx
call qword [sym.imp.IPHLPAPI.DLL_GetAdaptersAddresses]
mov edi, eax
test eax, eax
jne 0x14000c5e0
mov dword [rsp + 0xe8], r13d
mov r14d, r13d
mov qword [rsp + 0x50], r13
mov rdi, r13
mov rbx, r15
test r15, r15
je 0x14000c6e6
cmp dword [rbx + 0x68], 1
jne 0x14000c6dd
cmp qword [rbx + 0x18], r13
je 0x14000c6dd
mov r8, qword [rbx + 0x48]
or r9d, 0xffffffff
mov qword [rsp + 0x38], r13
xor edx, edx
mov qword [rsp + 0x30], r13
mov ecx, 0xfde9
mov dword [rsp + 0x28], r13d
mov qword [rsp + 0x20], r13
call qword [sym.imp.KERNEL32.dll_WideCharToMultiByte]
test eax, eax
jle 0x14000c766
cdqe
add rdi, rax
mov rax, qword [rbx + 0x18]
mov qword [rsp + 0x50], rdi
test rax, rax
je 0x14000c6dd
nop word [rax + rax]
mov rax, qword [rax + 8]
inc r14d
add rdi, 0x50
test rax, rax
jne 0x14000c6c0
mov dword [rsp + 0xe8], r14d
mov qword [rsp + 0x50], rdi
mov rbx, qword [rbx + 8]
test rbx, rbx
jne 0x14000c667
mov rcx, rdi
call qword [fcn.14002e1e4]
mov qword [rsp + 0x78], rax
mov r12, rax
test rax, rax
jne 0x14000c773
call fcn.14002dfd0
mov rcx, r15
mov ebx, dword [rax]
call qword [fcn.14002dff0]
call fcn.14002dfd0
mov dword [rax], ebx
mov eax, 0xfffff027
jmp 0x14000ca6b
sub ecx, 0x79
je 0x14000c740
cmp ecx, 0x3e4
je 0x14000c736
mov ecx, edi
call fcn.140018f20
jmp 0x14000ca6b
mov eax, 0xfffff008
jmp 0x14000ca6b
mov ecx, 1
call qword [fcn.14002e1e4]
test rax, rax
je 0x14000c713
mov dword [r14], r13d
mov qword [r12], rax
jmp 0x14000ca69
mov eax, 0xfffff024
jmp 0x14000ca6b
call fcn.14002dfd0
mov rcx, r15
jmp 0x14000caba
movsxd rax, r14d
mov rbx, rbp
mov rsi, r12
mov qword [rsp + 0x48], r12
mov r13, r15
mov qword [rsp + 0x70], r15
mov qword [rsp + 0x68], rbx
lea rcx, [rax + rax*4]
shl rcx, 4
add rcx, r12
mov qword [rsp + 0x58], rcx
test r15, r15
je 0x14000ca3c
mov edx, 0x7fffffff
nop dword [rax]
cmp dword [r13 + 0x68], 1
jne 0x14000ca1d
cmp qword [r13 + 0x18], 0
je 0x14000ca1d
mov r8, qword [r13 + 0x48]
mov rax, rdi
sub rax, rcx
mov qword [rsp + 0x38], 0
add rax, r12
mov qword [rsp + 0x30], 0
cmp rax, rdx
cmova rax, rdx
or r9d, 0xffffffff
mov dword [rsp + 0x28], eax
xor edx, edx
mov qword [rsp + 0x20], rcx
mov ecx, 0xfde9
call qword [sym.imp.KERNEL32.dll_WideCharToMultiByte]
mov dword [rsp + 0x40], eax
test eax, eax
jle 0x14000ca99
mov r12, qword [r13 + 0x18]
test r12, r12
je 0x14000ca04
lea r14, [rsi + 0x14]
mov r15, qword [r12 + 0x10]
test rbx, rbx
je 0x14000c838
movzx edi, byte [r12 + 0x38]
jmp 0x14000c917
mov r10, qword [r13 + 0xb0]
xor edi, edi
test r10, r10
je 0x14000c905
movzx ebp, word [r15]
lea r13d, [rdi + 4]
mov rcx, qword [r10 + 0x10]
cmp word [rcx], bp
jne 0x14000c8ea
movsxd r11, dword [r10 + 0x20]
cmp r11d, edi
jbe 0x14000c8ea
cmp bp, 0x17
mov eax, 8
mov r9, r11
cmovne rax, r13
xor r8d, r8d
sar r9, 3
lea rsi, [rax + rcx]
lea rbx, [rax + r15]
test r9, r9
jle 0x14000c8b3
mov rdx, rsi
mov rax, rbx
sub rdx, rbx
nop dword [rax]
movzx ecx, byte [rdx + rax]
cmp byte [rax], cl
jne 0x14000c8ea
inc r8
inc rax
cmp r8, r9
jl 0x14000c8a0
mov ecx, r11d
and ecx, 0x80000007
jge 0x14000c8c5
dec ecx
or ecx, 0xfffffff8
inc ecx
test ecx, ecx
je 0x14000c8e7
mov eax, 8
mov edx, 0xff
sub eax, ecx
movzx ecx, al
movzx eax, byte [rbx + r8]
shl edx, cl
and edx, eax
cmp byte [rsi + r8], dl
jne 0x14000c8ea
mov edi, r11d
mov r10, qword [r10 + 8]
test r10, r10
jne 0x14000c852
mov r13, qword [rsp + 0x70]
mov rsi, qword [rsp + 0x48]
test edi, edi
jne 0x14000c917
cmp word [r15], 0x17
mov edi, 0x20
mov eax, 0x80
cmove edi, eax
xor edx, edx
mov rcx, rsi
lea r8d, [rdx + 0x50]
call fcn.14002c100
mov rax, qword [rsp + 0x58]
mov qword [rsi], rax
cmp dword [r13 + 0x58], 6
jne 0x14000c946
mov eax, dword [r13 + 0x50]
mov dword [r14 - 0xc], eax
movzx eax, word [r13 + 0x54]
mov word [r14 - 8], ax
xor eax, eax
cmp dword [r13 + 0x64], 0x18
sete al
mov dword [r14 - 4], eax
movups xmm0, xmmword [r15]
cmp word [r15], 0x17
movups xmmword [r14], xmm0
jne 0x14000c9b1
movsd xmm1, qword [r15 + 0x10]
lea rcx, [r14 + 0x24]
movsd qword [r14 + 0x10], xmm1
mov edx, 0xff
mov eax, dword [r15 + 0x18]
mov dword [r14 + 0x18], eax
mov eax, reloc.WS2_32.dll_socket
mov ebx, edi
shr rbx, 3
mov r8, rbx
mov word [r14 + 0x1c], ax
call fcn.14002c100
and edi, 7
je 0x14000c9db
mov ecx, 8
mov edx, 0xff
sub ecx, edi
shl dl, cl
mov byte [rbx + rsi + 0x38], dl
jmp 0x14000c9db
mov eax, 2
mov word [r14 + 0x1c], ax
test edi, edi
je 0x14000c9d5
mov ecx, 0x20
or edx, 0xffffffff
sub ecx, edi
shl edx, cl
mov ecx, edx
call qword [sym.imp.WS2_32.dll_htonl]
jmp 0x14000c9d7
xor eax, eax
mov dword [r14 + 0x20], eax
mov r12, qword [r12 + 8]
add rsi, 0x50
mov rbx, qword [rsp + 0x68]
add r14, 0x50
mov qword [rsp + 0x48], rsi
test r12, r12
jne 0x14000c823
mov rdi, qword [rsp + 0x50]
mov eax, dword [rsp + 0x40]
mov rcx, qword [rsp + 0x58]
mov edx, 0x7fffffff
mov r12, qword [rsp + 0x78]
cdqe
add rcx, rax
mov qword [rsp + 0x58], rcx
mov r13, qword [r13 + 8]
mov qword [rsp + 0x70], r13
test r13, r13
jne 0x14000c7b0
mov r14d, dword [rsp + 0xe8]
mov r15, qword [rsp + 0x60]
call fcn.14002dfd0
mov rcx, r15
mov ebx, dword [rax]
call qword [fcn.14002dff0]
call fcn.14002dfd0
mov dword [rax], ebx
mov rax, qword [rsp + 0xd0]
mov qword [rax], r12
mov rax, qword [rsp + 0xd8]
mov dword [rax], r14d
xor eax, eax
mov r13, qword [rsp + 0x90]
mov rdi, qword [rsp + 0x98]
mov rbx, qword [rsp + 0xa0]
mov r15, qword [rsp + 0x88]
add rsp, 0xa8
pop r14
pop r12
pop rsi
pop rbp
ret
call fcn.14002dfd0
mov rcx, qword [rsp + 0x60]
mov ebx, dword [rax]
call qword [fcn.14002dff0]
call fcn.14002dfd0
mov dword [rax], ebx
call fcn.14002dfd0
mov rcx, r12
mov ebx, dword [rax]
call qword [fcn.14002dff0]
call fcn.14002dfd0
mov dword [rax], ebx
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov ecx, eax
call fcn.140018f20
jmp 0x14000ca6b