Function at 0x140196c00
Capabilities:
Get local ipv4 addresses

Disassembly:
mov qword [rsp + 0x10], rdx
mov qword [rsp + 8], rcx
push rbp
push rsi
push r12
push r13
push r14
sub rsp, 0xa0
xor r13d, r13d
mov r14, rdx
mov dword [rdx], r13d
mov r12, rcx
xor edx, edx
mov qword [rcx], r13
xor r8d, r8d
lea ecx, [rdx + 6]
call fcn.140196b30
movsxd rbp, eax
test eax, eax
je 0x140196c42
lea esi, [r13 + 0xe]
jmp 0x140196c70
mov edx, 1
mov r8d, edx
lea ecx, [rdx + 4]
call fcn.140196b30
test eax, eax
jne 0x140196c6b
mov eax, 0xfffff02f
add rsp, 0xa0
pop r14
pop r13
pop r12
pop rsi
pop rbp
ret
mov esi, 0x1e
mov qword [rsp + 0x98], rbx
lea rax, [rsp + 0xe0]
mov qword [rsp + 0x90], rdi
xor r9d, r9d
mov qword [rsp + 0x88], r15
xor r8d, r8d
mov edx, esi
mov dword [rsp + 0xe0], r13d
xor ecx, ecx
mov qword [rsp + 0x58], r13
mov r15, r13
mov qword [rsp + 0x20], rax
call qword [sym.imp.IPHLPAPI.DLL_GetAdaptersAddresses]
mov edi, eax
test eax, eax
je 0x140196d35
nop dword [rax + rax]
call fcn.140369a80
mov rcx, r15
mov ebx, dword [rax]
call qword [fcn.140369ab4]
call fcn.140369a80
mov ecx, edi
mov dword [rax], ebx
sub ecx, 0x57
je 0x140196eeb
sub ecx, 0x18
jne 0x140196ea6
mov ecx, dword [rsp + 0xe0]
test rcx, rcx
je 0x14019719d
call qword [fcn.140369f54]
mov qword [rsp + 0x58], rax
mov r15, rax
test rax, rax
je 0x14019719d
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 0x140196cc0
mov dword [rsp + 0xe8], r13d
mov esi, r13d
mov qword [rsp + 0x48], r13
mov rdi, r13
mov rbx, r15
test r15, r15
je 0x140197186
cmp dword [rbx + 0x68], 1
jne 0x140196dcb
cmp qword [rbx + 0x18], r13
je 0x140196dcb
mov r8, qword [rbx + 0x48]
mov 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 0x140196ef5
cdqe
add rdi, rax
mov rax, qword [rbx + 0x18]
mov qword [rsp + 0x48], rdi
test rax, rax
je 0x140196dcb
nop word [rax + rax]
mov rax, qword [rax + 8]
inc esi
add rdi, 0x50
test rax, rax
jne 0x140196db0
mov dword [rsp + 0xe8], esi
mov qword [rsp + 0x48], rdi
mov rbx, qword [rbx + 8]
test rbx, rbx
jne 0x140196d54
test rdi, rdi
je 0x140197186
mov rcx, rdi
call qword [fcn.140369f54]
mov qword [rsp + 0x78], rax
mov r12, rax
test rax, rax
je 0x140197186
movsxd rcx, esi
mov rbx, rbp
mov r14, rax
mov qword [rsp + 0x70], r15
mov r13, r15
mov qword [rsp + 0x68], rbx
mov edx, 0x7fffffff
lea rcx, [rcx + rcx*4]
shl rcx, 4
add rcx, rax
mov qword [rsp + 0x50], rcx
cmp dword [r13 + 0x68], 1
jne 0x1401970fc
cmp qword [r13 + 0x18], 0
je 0x1401970fc
mov r8, qword [r13 + 0x48]
mov rax, rdi
sub rax, rcx
add rax, r12
cmp rax, rdx
cmova rax, rdx
xor esi, esi
mov qword [rsp + 0x38], rsi
xor edx, edx
mov qword [rsp + 0x30], rsi
mov dword [rsp + 0x28], eax
mov qword [rsp + 0x20], rcx
lea r9d, [rsi - 1]
mov ecx, 0xfde9
call qword [sym.imp.KERNEL32.dll_WideCharToMultiByte]
mov dword [rsp + 0x40], eax
test eax, eax
jle 0x140197147
mov rax, qword [r13 + 0x18]
mov qword [rsp + 0x60], rax
test rax, rax
je 0x1401970e5
lea rbp, [r14 + 0x14]
mov r12, qword [rax + 0x10]
test rbx, rbx
je 0x140196f02
movzx edi, byte [rax + 0x38]
jmp 0x140196fde
sub ecx, 0x79
je 0x140196ec9
cmp ecx, 0x3e4
je 0x140196ebf
mov ecx, edi
call fcn.14019e610
jmp 0x1401971a2
mov eax, 0xfffff008
jmp 0x1401971a2
mov ecx, 1
call qword [fcn.140369f54]
test rax, rax
je 0x14019719d
mov qword [r12], rax
xor eax, eax
mov dword [r14], r13d
jmp 0x1401971a2
mov eax, 0xfffff024
jmp 0x1401971a2
call fcn.140369a80
mov rcx, r15
jmp 0x140197168
mov r10, qword [r13 + 0xb0]
mov edi, esi
test r10, r10
je 0x140196fc7
movzx r15d, word [r12]
mov r13d, 4
nop
mov rcx, qword [r10 + 0x10]
cmp word [rcx], r15w
jne 0x140196faf
movsxd r11, dword [r10 + 0x20]
cmp r11d, edi
jbe 0x140196faf
cmp r15w, 0x17
mov eax, 8
mov r9, r11
cmovne rax, r13
xor r8d, r8d
sar r9, 3
lea rsi, [rax + rcx]
lea rbx, [rax + r12]
test r9, r9
jle 0x140196f78
mov rdx, rsi
mov rax, rbx
sub rdx, rbx
movzx ecx, byte [rdx + rax]
cmp byte [rax], cl
jne 0x140196faf
inc r8
inc rax
cmp r8, r9
jl 0x140196f65
mov ecx, r11d
and ecx, 0x80000007
jge 0x140196f8a
dec ecx
or ecx, 0xfffffff8
inc ecx
test ecx, ecx
je 0x140196fac
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 0x140196faf
mov edi, r11d
mov r10, qword [r10 + 8]
test r10, r10
jne 0x140196f20
mov r13, qword [rsp + 0x70]
test edi, edi
jne 0x140196fdc
xor esi, esi
cmp word [r12], 0x17
mov edi, 0x20
mov eax, 0x80
cmove edi, eax
jmp 0x140196fde
xor esi, esi
mov rax, qword [rsp + 0x50]
mov qword [r14 + 8], rsi
mov qword [r14 + 0x10], rsi
mov qword [r14 + 0x18], rsi
mov qword [r14 + 0x20], rsi
mov qword [r14 + 0x28], rsi
mov qword [r14 + 0x30], rsi
mov qword [r14 + 0x38], rsi
mov qword [r14 + 0x40], rsi
mov qword [r14 + 0x48], rsi
mov qword [r14], rax
cmp dword [r13 + 0x58], 6
jne 0x140197021
mov eax, dword [r13 + 0x50]
mov dword [rbp - 0xc], eax
movzx eax, word [r13 + 0x54]
mov word [rbp - 8], ax
cmp dword [r13 + 0x64], 0x18
mov eax, esi
sete al
mov dword [rbp - 4], eax
movups xmm0, xmmword [r12]
cmp word [r12], 0x17
movups xmmword [rbp], xmm0
jne 0x14019708d
movsd xmm1, qword [r12 + 0x10]
lea rcx, [rbp + 0x24]
movsd qword [rbp + 0x10], xmm1
mov edx, 0xff
mov eax, dword [r12 + 0x18]
mov dword [rbp + 0x18], eax
mov eax, reloc.WS2_32.dll_socket
mov ebx, edi
shr rbx, 3
mov r8, rbx
mov word [rbp + 0x1c], ax
call fcn.140362150
and edi, 7
je 0x1401970b7
mov ecx, 8
mov edx, 0xff
sub ecx, edi
shl dl, cl
mov byte [rbx + r14 + 0x38], dl
jmp 0x1401970b7
mov eax, 2
mov word [rbp + 0x1c], ax
test edi, edi
je 0x1401970b2
mov ecx, 0x20
mov edx, 0xffffffff
sub ecx, edi
shl edx, cl
mov ecx, edx
call qword [sym.imp.WS2_32.dll_htonl]
jmp 0x1401970b4
mov eax, esi
mov dword [rbp + 0x20], eax
mov rax, qword [rsp + 0x60]
add r14, 0x50
mov rbx, qword [rsp + 0x68]
add rbp, 0x50
mov rax, qword [rax + 8]
mov qword [rsp + 0x60], rax
test rax, rax
jne 0x140196e94
mov rdi, qword [rsp + 0x48]
mov r12, qword [rsp + 0x78]
mov rcx, qword [rsp + 0x50]
mov edx, 0x7fffffff
movsxd rax, dword [rsp + 0x40]
add rcx, rax
mov qword [rsp + 0x50], rcx
mov r13, qword [r13 + 8]
mov qword [rsp + 0x70], r13
test r13, r13
jne 0x140196e22
call fcn.140369a80
mov rcx, qword [rsp + 0x58]
mov ebx, dword [rax]
call qword [fcn.140369ab4]
call fcn.140369a80
mov rcx, qword [rsp + 0xd8]
mov dword [rax], ebx
mov rax, qword [rsp + 0xd0]
mov qword [rax], r12
mov eax, dword [rsp + 0xe8]
mov dword [rcx], eax
xor eax, eax
jmp 0x1401971a2
call fcn.140369a80
mov rcx, qword [rsp + 0x58]
mov ebx, dword [rax]
call qword [fcn.140369ab4]
call fcn.140369a80
mov dword [rax], ebx
call fcn.140369a80
mov rcx, r12
mov ebx, dword [rax]
call qword [fcn.140369ab4]
call fcn.140369a80
mov dword [rax], ebx
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov ecx, eax
call fcn.14019e610
jmp 0x1401971a2
call fcn.140369a80
mov rcx, r15
mov ebx, dword [rax]
call qword [fcn.140369ab4]
call fcn.140369a80
mov dword [rax], ebx
mov eax, 0xfffff027
mov rdi, qword [rsp + 0x90]
mov rbx, qword [rsp + 0x98]
mov r15, qword [rsp + 0x88]
add rsp, 0xa0
pop r14
pop r13
pop r12
pop rsi
pop rbp
ret