Function at 0x14000bea0
Capabilities:
Create thread

Disassembly:
push r12
lea rdx, [0x140010242]
push rbp
push rdi
mov rdi, rcx
push rsi
push rbx
sub rsp, 0x70
call sub.msvcrt.dll_strcmp
test eax, eax
je 0x14000c2af
mov edx, 0x3d
mov rcx, rdi
call sub.msvcrt.dll_strchr
mov edx, 0x2f
mov rcx, rdi
mov rsi, rax
call sub.msvcrt.dll_strchr
mov edx, 0x3a
mov rcx, rdi
mov rbx, rax
call sub.msvcrt.dll_strchr
mov qword [0x14000df20], rdi
test rsi, rsi
je 0x14000bf07
mov byte [rsi], 0
inc rsi
mov qword [str.10.10.10.9], rsi
test rbx, rbx
je 0x14000bf19
mov byte [rbx], 0
inc rbx
mov qword [0x14000df10], rbx
test rax, rax
je 0x14000bf2b
mov byte [rax], 0
inc rax
mov qword [0x14000df00], rax
mov rcx, qword [str.10.10.10.9]
call qword [sym.imp.WS2_32.dll_inet_addr]
lea rcx, str.Fatal:__s_is_not_a_valid_IPv4_address_n
mov edx, eax
inc eax
bswap edx
mov dword [0x14000da80], edx
mov rdx, qword [str.10.10.10.9]
je 0x14000bf8f
mov rcx, qword [0x14000df10]
lea rsi, [rsp + 0x60]
mov r8d, 0xa
mov rdx, rsi
call sub.msvcrt.dll_strtol
mov edi, eax
mov rax, qword [rsp + 0x60]
cmp byte [rax], 0
jne 0x14000bf81
lea eax, [rdi - 8]
cmp al, 0x16
jbe 0x14000bf9e
mov rdx, qword [0x14000df10]
lea rcx, str.Fatal:___s_is_not_a_valid_CIDR_mask_between__8_and__30_n
call fcn.14000aa60
mov ecx, 0x57
call sub.msvcrt.dll_exit
mov rcx, qword [0x14000df00]
call fcn.14000c360
mov dword [0x14000d860], eax
test eax, eax
jne 0x14000bfc7
mov edx, 0x4f
lea rcx, str.Fatal:_No_valid_time_span_specified_in_option___c._n
call fcn.14000aa60
jmp 0x14000bf94
mov ecx, edi
or ebx, 0xffffffff
mov edx, dword [0x14000da80]
shr ebx, cl
mov eax, ebx
lea ecx, [rdx + 1]
or ebx, edx
not eax
mov dword [0x14000db10], eax
and eax, edx
mov dword [0x14000db80], eax
cmp ecx, ebx
jae 0x14000bff3
cmp eax, edx
jb 0x14000c05e
lea esi, [rax + 1]
mov rdi, qword [sym.imp.WS2_32.dll_inet_ntoa]
sub ebx, 2
mov ecx, esi
mov ebp, ebx
bswap ecx
call rdi
bswap ebp
mov rcx, rax
call fcn.14000c6e0
mov ecx, ebp
mov qword [rsp + 0x38], rax
call rdi
mov rcx, rax
call fcn.14000c6e0
lea rcx, str.Fatal:_For_this_subnet_the_IPv4_address_must_be
mov qword [rsp + 0x30], rax
call fcn.14000aa60
cmp esi, ebx
mov r8, qword [rsp + 0x30]
mov rdx, qword [rsp + 0x38]
lea rcx, [0x140010308]
je 0x14000bf8f
lea rcx, str.between__s_and__s_n
call fcn.14000aa60
jmp 0x14000bf94
call fcn.140007570
mov r8d, 4
mov ecx, 0x22000c
lea rdx, [0x14000db40]
mov qword [0x14000dc10], rax
call fcn.1400071c0
mov r8d, 0x10
mov ecx, 0x220008
lea rdx, [0x14000d880]
call fcn.1400071c0
mov eax, dword [0x14000da80]
lea rdx, [rsp + 0x54]
mov r8d, 0xc
mov ecx, 0x220028
bswap eax
mov dword [rsp + 0x54], eax
mov eax, dword [0x14000db80]
bswap eax
mov dword [rsp + 0x58], eax
mov eax, dword [0x14000db10]
bswap eax
mov dword [rsp + 0x5c], eax
call fcn.1400071c0
mov eax, dword [0x14000da80]
mov r8d, 0x10
mov ecx, 0x22001c
mov edx, eax
inc eax
bswap edx
mov dword [rsp + 0x60], edx
mov edx, dword [0x14000db10]
bswap eax
mov dword [rsp + 0x68], eax
mov eax, dword [0x14000d860]
bswap edx
mov dword [rsp + 0x64], edx
mov rdx, rsi
mov dword [rsp + 0x6c], eax
call fcn.1400071c0
lea rdx, [rsp + 0x4c]
mov r8d, 4
mov ecx, 0x220018
mov dword [rsp + 0x4c], 1
call fcn.1400071c0
mov ecx, dword [0x14000db40]
call fcn.14000c6c0
xor edx, edx
xor ecx, ecx
xor r9d, r9d
mov qword [rsp + 0x28], rdx
lea r8, [0x1400082c0]
xor edx, edx
mov dword [rsp + 0x20], ecx
xor ecx, ecx
mov qword [0x14000da90], rax
call qword [sym.imp.KERNEL32.dll_CreateThread]
mov rcx, rax
test rax, rax
jne 0x14000c18d
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov ecx, eax
mov ebx, eax
call fcn.14000c810
lea rcx, str.Fatal:_Unable_to_start_VPN_thread:__s_n
mov rdx, rax
call fcn.14000aa60
mov ecx, ebx
jmp 0x14000bf99
call qword [sym.imp.KERNEL32.dll_CloseHandle]
mov rax, qword [0x14000d0a0]
mov r9d, dword [0x14000d884]
lea rcx, str._s__u._u._u_device___s__started_n
mov r8d, dword [0x14000d880]
mov ebx, 0x15
lea rsi, [rsp + 0x50]
mov rdx, qword [0x14000d0b0]
mov qword [rsp + 0x28], rax
mov eax, dword [0x14000d888]
mov dword [rsp + 0x20], eax
call fcn.140009ea0
mov rdi, qword [sym.imp.KERNEL32.dll_Sleep]
xor eax, eax
mov ecx, 0x1c
mov dword [rsp + 0x50], eax
call fcn.14000c6c0
xor r8d, r8d
mov rdx, rsi
mov rcx, rax
mov rbp, rax
call sub.IPHLPAPI.DLL_GetIpAddrTable
mov rcx, rbp
mov r12d, eax
call sub.msvcrt.dll_free
cmp r12d, 0x7a
jne 0x14000c278
mov ecx, dword [rsp + 0x50]
call fcn.14000c6c0
xor r8d, r8d
mov rdx, rsi
mov rcx, rax
mov qword [rsp + 0x30], rax
call sub.IPHLPAPI.DLL_GetIpAddrTable
mov rcx, qword [rsp + 0x30]
test eax, eax
je 0x14000c239
call sub.msvcrt.dll_free
jmp 0x14000c278
mov edx, dword [rcx]
mov r8d, dword [0x14000da80]
lea rax, [rcx + 4]
imul rdx, rdx, 0x18
bswap r8d
add rdx, rax
cmp rax, rdx
jae 0x14000c266
cmp dword [rax], r8d
jne 0x14000c260
test byte [rax + 0x16], 0xc8
je 0x14000c26a
add rax, 0x18
jmp 0x14000c250
xor ebp, ebp
jmp 0x14000c26f
mov ebp, 1
call sub.msvcrt.dll_free
test ebp, ebp
jne 0x14000c28a
dec ebx
je 0x14000c288
mov ecx, 0xc8
call rdi
jmp 0x14000c1db
xor ebp, ebp
mov rdx, qword [str.10.10.10.9]
test ebp, ebp
jne 0x14000c2a3
lea rcx, str.Warning:_IPv4_address__s_not_assigned_n
call fcn.14000aa60
jmp 0x14000c2af
lea rcx, str.IPv4_address__s_assigned_n
call fcn.140009ea0
add rsp, 0x70
pop rbx
pop rsi
pop rdi
pop rbp
pop r12
ret