Function at 0x1400017f0
Capabilities:
Get routing table
Initialize winsock library
Print debug messages
Resolve dns

Disassembly:
push rbp
push rbx
push rsi
push rdi
push r12
push r13
push r14
push r15
lea rbp, [rsp - 0x3f8]
sub rsp, 0x4f8
mov rax, qword [section..data]
xor rax, rsp
mov qword [rbp + 0x3e0], rax
xor edi, edi
mov qword [rsp + 0x48], r9
mov r13, r8
mov rbx, rdx
mov r15, rcx
mov rsi, 0xffffffffffffffff
test rdx, rdx
je 0x14000202e
mov rax, rsi
inc rax
cmp byte [rdx + rax], dil
jne 0x140001840
mov r12, rdi
test rax, rax
je 0x140002024
cmp dword [0x140032748], edi
mov esi, 1
mov qword [rsp + 0x40], rdi
jne 0x14000188d
xor edx, edx
lea rcx, [rbp - 0x30]
mov r8d, 0x198
call fcn.14001f350
mov ecx, 0x202
lea rdx, [rbp - 0x30]
call qword [sym.imp.WS2_32.dll_WSAStartup]
mov dword [0x140032748], esi
xorps xmm0, xmm0
mov qword [rsp + 0x58], rdi
xorps xmm1, xmm1
mov dword [rsp + 0x60], esi
lea r9, [rsp + 0x40]
mov dword [rsp + 0x64], 6
lea r8, [rsp + 0x58]
xor edx, edx
mov rcx, rbx
movdqu xmmword [rsp + 0x68], xmm0
movdqu xmmword [rsp + 0x78], xmm1
call qword [sym.imp.WS2_32.dll_getaddrinfo]
mov ebx, eax
test eax, eax
je 0x140001924
xor edx, edx
lea rcx, [rbp - 0x30]
mov r8d, 0x410
call fcn.14001f350
mov ecx, ebx
call fcn.140003b20
mov r9, rax
lea r8, str.getaddrinfo_failed_with_error:__s_n
mov edx, 0x208
lea rcx, [rbp - 0x30]
mov rbx, rax
call fcn.140001010
lea rcx, [rbp - 0x30]
call qword [sym.imp.KERNEL32.dll_OutputDebugStringW]
mov rcx, rbx
call fcn.14000f528
mov rbx, 0xffffffffffffffff
mov r12, rdi
call fcn.140004250
jmp 0x14000205d
mov rbx, qword [rsp + 0x40]
test rbx, rbx
je 0x14000200d
mov edx, esi
lea rcx, str.getaddrinfo_response__d_n
call fcn.140001070
mov edx, dword [rbx]
lea rcx, str._tFlags:_0x_x_n
inc esi
call fcn.140001070
cmp dword [rbx + 4], 2
je 0x14000197e
mov rbx, qword [rbx + 0x28]
test rbx, rbx
jne 0x140001932
mov rcx, qword [rsp + 0x40]
call qword [sym.imp.WS2_32.dll_freeaddrinfo]
mov rbx, 0xffffffffffffffff
mov r12, rdi
call fcn.140004250
jmp 0x14000205d
lea rcx, str.AF_INET__IPv4__n
call fcn.140001070
mov rbx, qword [rbx + 0x20]
mov ecx, 0x64
call fcn.14000f53c
mov r12, rax
mov r14, rax
test rax, rax
je 0x140002005
mov ecx, dword [rbx + 4]
call qword [sym.imp.WS2_32.dll_inet_ntoa]
mov rdx, rax
mov rcx, r14
call qword [sym.imp.KERNEL32.dll_lstrcpyA]
mov rcx, qword [rsp + 0x40]
call qword [sym.imp.WS2_32.dll_freeaddrinfo]
mov rcx, r13
call qword [sym.imp.KERNEL32.dll_lstrlenA]
test eax, eax
je 0x140001a75
test r13, r13
je 0x140001a5c
mov rcx, r13
call qword [sym.imp.KERNEL32.dll_lstrlenA]
mov r12d, eax
test eax, eax
jle 0x140001a5c
mov dword [rsp + 0x28], edi
mov r9d, eax
mov r8, r13
mov qword [rsp + 0x20], rdi
xor edx, edx
mov ecx, 0xfde9
call qword [sym.imp.KERNEL32.dll_MultiByteToWideChar]
test eax, eax
jle 0x140001a5c
inc eax
movsxd rsi, eax
add rsi, rsi
mov dword [rsp + 0x38], eax
mov rcx, rsi
call fcn.14000f53c
mov rbx, rax
test rax, rax
je 0x140001a5c
mov r8, rsi
xor edx, edx
mov rcx, rax
call fcn.14001f350
mov eax, dword [rsp + 0x38]
mov r9d, r12d
mov dword [rsp + 0x28], eax
mov r8, r13
xor edx, edx
mov qword [rsp + 0x20], rbx
mov ecx, 0xfde9
call qword [sym.imp.KERNEL32.dll_MultiByteToWideChar]
jmp 0x140001a5f
mov rbx, rdi
mov rdx, rbx
mov rcx, r15
call qword [sym.imp.KERNEL32.dll_lstrcpyW]
mov rcx, rbx
call fcn.14000f528
jmp 0x140001a85
lea rdx, str.ssr_route_tap0
mov rcx, r15
call qword [sym.imp.KERNEL32.dll_lstrcpyW]
mov rcx, r15
call fcn.140003da0
mov esi, eax
mov r12, r14
mov qword [rsp + 0x50], rsi
test eax, eax
jne 0x14000203b
mov rcx, r14
call qword [sym.imp.KERNEL32.dll_lstrlenA]
mov r12d, eax
test eax, eax
jg 0x140001ab4
mov rbx, rdi
jmp 0x140001b22
mov dword [rsp + 0x28], edi
mov r9d, r12d
mov r8, r14
mov qword [rsp + 0x20], rdi
xor edx, edx
mov ecx, 0xfde9
call qword [sym.imp.KERNEL32.dll_MultiByteToWideChar]
test eax, eax
jg 0x140001ad9
mov rbx, rdi
jmp 0x140001b22
lea r13d, [rax + 1]
movsxd rsi, r13d
add rsi, rsi
mov rcx, rsi
call fcn.14000f53c
mov rbx, rax
test rax, rax
jne 0x140001af8
mov rbx, rdi
jmp 0x140001b22
mov r8, rsi
xor edx, edx
mov rcx, rbx
call fcn.14001f350
mov r9d, r12d
mov dword [rsp + 0x28], r13d
mov r8, r14
mov qword [rsp + 0x20], rbx
xor edx, edx
mov ecx, 0xfde9
call qword [sym.imp.KERNEL32.dll_MultiByteToWideChar]
test rbx, rbx
lea rdx, [0x140029a38]
lea rcx, [r15 + 0x290]
cmovne rdx, rbx
call qword [sym.imp.KERNEL32.dll_lstrcpyW]
mov rcx, rbx
call fcn.14000f528
mov r8, r15
lea rdx, [0x140002120]
call fcn.1400039c0
lea rcx, [r15 + 0x82]
call qword [sym.imp.KERNEL32.dll_lstrlenW]
test eax, eax
jne 0x140001c3b
mov rbx, qword [rsp + 0x48]
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_lstrlenA]
test eax, eax
je 0x140001c27
test rbx, rbx
je 0x140001bff
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_lstrlenA]
mov esi, eax
test eax, eax
jle 0x140001bff
mov dword [rsp + 0x28], edi
mov r9d, eax
mov r8, rbx
mov qword [rsp + 0x20], rdi
xor edx, edx
mov ecx, 0xfde9
call qword [sym.imp.KERNEL32.dll_MultiByteToWideChar]
test eax, eax
jle 0x140001bff
lea r13d, [rax + 1]
movsxd r12, r13d
add r12, r12
mov rcx, r12
call fcn.14000f53c
mov rbx, rax
test rax, rax
je 0x140001bff
mov r8, r12
xor edx, edx
mov rcx, rax
call fcn.14001f350
mov r8, qword [rsp + 0x48]
mov r9d, esi
xor edx, edx
mov dword [rsp + 0x28], r13d
mov ecx, 0xfde9
mov qword [rsp + 0x20], rbx
call qword [sym.imp.KERNEL32.dll_MultiByteToWideChar]
jmp 0x140001c02
mov rbx, rdi
test rbx, rbx
lea rdx, [0x140029a38]
lea rcx, [r15 + 0x82]
cmovne rdx, rbx
call qword [sym.imp.KERNEL32.dll_lstrcpyW]
mov rcx, rbx
call fcn.14000f528
jmp 0x140001c3b
lea rdx, str.10.0.85.1
lea rcx, [r15 + 0x82]
call qword [sym.imp.KERNEL32.dll_lstrcpyW]
mov r8, r15
lea rdx, [0x140002090]
call fcn.1400039c0
mov r12d, dword [r15 + 0x28c]
lea rdx, [rsp + 0x38]
xorps xmm0, xmm0
mov dword [rbp - 0x78], r12d
xor eax, eax
mov dword [rbp - 0x74], edi
xor ecx, ecx
mov dword [rbp - 0x40], eax
movups xmmword [rbp - 0x70], xmm0
mov dword [rsp + 0x38], edi
lea r8d, [rax + 1]
mov qword [rsp + 0x30], r14
movups xmmword [rbp - 0x60], xmm0
movups xmmword [rbp - 0x50], xmm0
call qword [sym.imp.IPHLPAPI.DLL_GetIpForwardTable]
cmp eax, 0x7a
jne 0x140001d67
mov ebx, dword [rsp + 0x38]
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov r8d, ebx
xor edx, edx
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_HeapAlloc]
mov qword [rsp + 0x30], r14
mov r13, rax
test rax, rax
je 0x140001d67
mov r8d, 1
mov qword [rsp + 0x30], r14
lea rdx, [rsp + 0x38]
mov rcx, rax
call qword [sym.imp.IPHLPAPI.DLL_GetIpForwardTable]
test eax, eax
jne 0x140001d53
movsxd rsi, dword [r13]
mov qword [rsp + 0x30], r14
test rsi, rsi
jle 0x140001d53
mov qword [rsp + 0x30], r14
lea rbx, [r13 + 4]
mov r14d, dword [rbp - 0x50]
cmp dword [rbx], edi
jne 0x140001d49
cmp dword [rbx + 0x10], r12d
je 0x140001d49
mov r8d, 0x38
lea rdx, [0x14002a018]
lea rcx, [rbp - 0x74]
call fcn.14001fd90
test eax, eax
je 0x140001d1e
cmp dword [rbx + 0x24], r14d
jae 0x140001d49
movups xmm0, xmmword [rbx]
movups xmm2, xmmword [rbx + 0x20]
movups xmm1, xmmword [rbx + 0x10]
movups xmmword [rbp - 0x74], xmm0
movsd xmm0, qword [rbx + 0x30]
movups xmmword [rbp - 0x54], xmm2
psrldq xmm2, 4
movsd qword [rbp - 0x44], xmm0
movd r14d, xmm2
movups xmmword [rbp - 0x64], xmm1
add rbx, 0x38
sub rsi, 1
jne 0x140001cf4
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov r8, r13
xor edx, edx
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_HeapFree]
mov r8d, 0x38
lea rdx, [0x140029fd0]
lea rcx, [rbp - 0x74]
call fcn.14001fd90
test eax, eax
je 0x140002053
mov eax, dword [rbp - 0x64]
mov ecx, dword [rbp - 0x68]
mov dword [r15 + 0x8a8], eax
call qword [sym.imp.WS2_32.dll_inet_ntoa]
mov rsi, rax
test rax, rax
je 0x140001e1a
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_lstrlenA]
mov r12d, eax
test eax, eax
jle 0x140001e1a
mov dword [rsp + 0x28], edi
mov r9d, eax
mov r8, rsi
mov qword [rsp + 0x20], rdi
xor edx, edx
mov ecx, 0xfde9
call qword [sym.imp.KERNEL32.dll_MultiByteToWideChar]
test eax, eax
jle 0x140001e1a
lea r13d, [rax + 1]
movsxd r14, r13d
add r14, r14
mov rcx, r14
call fcn.14000f53c
mov rbx, rax
test rax, rax
je 0x140001e1a
mov r8, r14
xor edx, edx
mov rcx, rax
call fcn.14001f350
mov r9d, r12d
mov dword [rsp + 0x28], r13d
mov r8, rsi
mov qword [rsp + 0x20], rbx
xor edx, edx
mov ecx, 0xfde9
call qword [sym.imp.KERNEL32.dll_MultiByteToWideChar]
jmp 0x140001e1d
mov rbx, rdi
test rbx, rbx
lea rdx, [0x140029a38]
mov r8d, 0x104
lea rcx, [r15 + 0x498]
cmovne rdx, rbx
call qword [sym.imp.KERNEL32.dll_lstrcpynW]
mov rcx, rbx
call fcn.14000f528
mov ebx, edi
lea rsi, str.0.0.0.0_1
nop
mov r14, qword [rsi]
lea r9, [r15 + 0x82]
mov r8, r14
mov qword [rsp + 0x20], r15
lea rdx, str.interface_ipv4_add_route__s_nexthop_s_interface_s_metric0_storeactive
lea rcx, str.netsh
call fcn.1400042d0
test eax, eax
je 0x140001e9f
lea r9, [r15 + 0x82]
mov qword [rsp + 0x20], r15
mov r8, r14
lea rdx, str.interface_ipv4_set_route__s_nexthop_s_interface_s_metric0_storeactive
lea rcx, str.netsh
call fcn.1400042d0
test eax, eax
jne 0x140001eaa
inc ebx
add rsi, 8
cmp ebx, 2
jb 0x140001e50
mov ebx, eax
test eax, eax
jne 0x140002047
call fcn.140003940
mov r14d, eax
lea rbx, str.fc00::_7
mov esi, edi
nop word [rax + rax]
mov r8, qword [rbx]
lea rdx, str.interface_ipv6_add_route__s_interface_d_metric0_storeactive
mov r9d, r14d
lea rcx, str.netsh
call fcn.1400042d0
test eax, eax
je 0x140001f0a
mov r8, qword [rbx]
lea rdx, str.interface_ipv6_set_route__s_interface_d_metric0_storeactive
mov r9d, r14d
lea rcx, str.netsh
call fcn.1400042d0
test eax, eax
jne 0x140001f15
inc esi
add rbx, 8
cmp esi, 3
jb 0x140001ed0
mov ebx, eax
test eax, eax
jne 0x140002047
mov eax, dword [r15 + 0x8a8]
lea r9, [r15 + 0x498]
lea r8, [r15 + 0x290]
mov dword [rsp + 0x20], eax
lea rdx, str.change__s__s_if__d
lea rcx, str.route
call fcn.1400042d0
test eax, eax
je 0x140001f7b
mov eax, dword [r15 + 0x8a8]
lea r9, [r15 + 0x498]
lea r8, [r15 + 0x290]
mov dword [rsp + 0x20], eax
lea rdx, str.interface_ipv4_add_route__s_32_nexthop_s_interface__d__metric0_storeactive
lea rcx, str.netsh
call fcn.1400042d0
mov ebx, eax
test eax, eax
jne 0x140002047
lea rbx, str.0.0.0.0_8
nop dword [rax]
mov eax, dword [r15 + 0x8a8]
lea r9, [r15 + 0x498]
mov r8, qword [rbx]
lea rdx, str.change__s__s_if__d
lea rcx, str.route
mov dword [rsp + 0x20], eax
call fcn.1400042d0
test eax, eax
je 0x140001fe8
mov eax, dword [r15 + 0x8a8]
lea r9, [r15 + 0x498]
mov r8, qword [rbx]
lea rdx, str.interface_ipv4_add_route__s_nexthop_s_interface__d__metric0_storeactive
lea rcx, str.netsh
mov dword [rsp + 0x20], eax
call fcn.1400042d0
test eax, eax
jne 0x140001ff3
inc edi
add rbx, 8
cmp edi, 0x10
jb 0x140001f90
mov r12, qword [rsp + 0x30]
mov ebx, eax
test eax, eax
je 0x14000205d
call fcn.140004250
jmp 0x14000205d
mov rbx, qword [rsp + 0x40]
mov r12, rax
mov rcx, rbx
call qword [sym.imp.WS2_32.dll_freeaddrinfo]
mov rbx, 0xffffffffffffffff
call fcn.140004250
jmp 0x14000205d
mov rbx, rsi
call fcn.140004250
jmp 0x14000205d
mov rbx, rsi
mov r12, rdi
call fcn.140004250
jmp 0x14000205d
mov rbx, qword [rsp + 0x50]
call fcn.140004250
jmp 0x14000205d
mov r12, qword [rsp + 0x30]
call fcn.140004250
jmp 0x14000205d
mov rbx, qword [rsp + 0x50]
mov r12, qword [rsp + 0x30]
mov rcx, r12
call fcn.14000f528
mov eax, ebx
mov rcx, qword [rbp + 0x3e0]
xor rcx, rsp
call fcn.140005350
add rsp, 0x4f8
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbx
pop rbp
ret