Function at 0x14000e290
Capabilities:
Create thread

Disassembly:
push r12
lea rdx, [0x140012272]
push rbp
push rdi
mov rdi, rcx
push rsi
push rbx
sub rsp, 0x70
call sub.msvcrt.dll_strcmp
test eax, eax
je 0x14000e69f
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 [0x14000ff40], rdi
test rsi, rsi
je 0x14000e2f7
mov byte [rsi], 0
inc rsi
mov qword [str.10.10.10.9], rsi
test rbx, rbx
je 0x14000e309
mov byte [rbx], 0
inc rbx
mov qword [0x14000ff30], rbx
test rax, rax
je 0x14000e31b
mov byte [rax], 0
inc rax
mov qword [0x14000ff20], 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 [0x14000faa0], edx
mov rdx, qword [str.10.10.10.9]
je 0x14000e37f
mov rcx, qword [0x14000ff30]
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 0x14000e371
lea eax, [rdi - 8]
cmp al, 0x16
jbe 0x14000e38e
mov rdx, qword [0x14000ff30]
lea rcx, str.Fatal:___s_is_not_a_valid_CIDR_mask_between__8_and__30_n
call fcn.14000ce50
mov ecx, 0x57
call sub.msvcrt.dll_exit
mov rcx, qword [0x14000ff20]
call fcn.14000e750
mov dword [0x14000f880], eax
test eax, eax
jne 0x14000e3b7
mov edx, 0x4f
lea rcx, str.Fatal:_No_valid_time_span_specified_in_option___c._n
call fcn.14000ce50
jmp 0x14000e384
mov ecx, edi
or ebx, 0xffffffff
mov edx, dword [0x14000faa0]
shr ebx, cl
mov eax, ebx
lea ecx, [rdx + 1]
or ebx, edx
not eax
mov dword [0x14000fb30], eax
and eax, edx
mov dword [0x14000fba0], eax
cmp ecx, ebx
jae 0x14000e3e3
cmp eax, edx
jb 0x14000e44e
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.14000ead0
mov ecx, ebp
mov qword [rsp + 0x38], rax
call rdi
mov rcx, rax
call fcn.14000ead0
lea rcx, str.Fatal:_For_this_subnet_the_IPv4_address_must_be
mov qword [rsp + 0x30], rax
call fcn.14000ce50
cmp esi, ebx
mov r8, qword [rsp + 0x30]
mov rdx, qword [rsp + 0x38]
lea rcx, [0x140012338]
je 0x14000e37f
lea rcx, str.between__s_and__s_n
call fcn.14000ce50
jmp 0x14000e384
call fcn.140009960
mov r8d, 4
mov ecx, 0x22000c
lea rdx, [0x14000fb60]
mov qword [0x14000fc30], rax
call fcn.1400095b0
mov r8d, 0x10
mov ecx, 0x220008
lea rdx, [0x14000f8a0]
call fcn.1400095b0
mov eax, dword [0x14000faa0]
lea rdx, [rsp + 0x54]
mov r8d, 0xc
mov ecx, 0x220028
bswap eax
mov dword [rsp + 0x54], eax
mov eax, dword [0x14000fba0]
bswap eax
mov dword [rsp + 0x58], eax
mov eax, dword [0x14000fb30]
bswap eax
mov dword [rsp + 0x5c], eax
call fcn.1400095b0
mov eax, dword [0x14000faa0]
mov r8d, 0x10
mov ecx, 0x22001c
mov edx, eax
inc eax
bswap edx
mov dword [rsp + 0x60], edx
mov edx, dword [0x14000fb30]
bswap eax
mov dword [rsp + 0x68], eax
mov eax, dword [0x14000f880]
bswap edx
mov dword [rsp + 0x64], edx
mov rdx, rsi
mov dword [rsp + 0x6c], eax
call fcn.1400095b0
lea rdx, [rsp + 0x4c]
mov r8d, 4
mov ecx, 0x220018
mov dword [rsp + 0x4c], 1
call fcn.1400095b0
mov ecx, dword [0x14000fb60]
call fcn.14000eab0
xor edx, edx
xor ecx, ecx
xor r9d, r9d
mov qword [rsp + 0x28], rdx
lea r8, [0x14000a6b0]
xor edx, edx
mov dword [rsp + 0x20], ecx
xor ecx, ecx
mov qword [0x14000fab0], rax
call qword [sym.imp.KERNEL32.dll_CreateThread]
mov rcx, rax
test rax, rax
jne 0x14000e57d
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov ecx, eax
mov ebx, eax
call fcn.14000ec00
lea rcx, str.Fatal:_Unable_to_start_VPN_thread:__s_n
mov rdx, rax
call fcn.14000ce50
mov ecx, ebx
jmp 0x14000e389
call qword [sym.imp.KERNEL32.dll_CloseHandle]
mov rax, qword [0x14000f0b0]
mov r9d, dword [0x14000f8a4]
lea rcx, str._s__u._u._u_device___s__started_n
mov r8d, dword [0x14000f8a0]
mov ebx, 0x15
lea rsi, [rsp + 0x50]
mov rdx, qword [0x14000f0c0]
mov qword [rsp + 0x28], rax
mov eax, dword [0x14000f8a8]
mov dword [rsp + 0x20], eax
call fcn.14000c290
mov rdi, qword [sym.imp.KERNEL32.dll_Sleep]
xor eax, eax
mov ecx, 0x1c
mov dword [rsp + 0x50], eax
call fcn.14000eab0
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 0x14000e668
mov ecx, dword [rsp + 0x50]
call fcn.14000eab0
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 0x14000e629
call sub.msvcrt.dll_free
jmp 0x14000e668
mov edx, dword [rcx]
mov r8d, dword [0x14000faa0]
lea rax, [rcx + 4]
imul rdx, rdx, 0x18
bswap r8d
add rdx, rax
cmp rax, rdx
jae 0x14000e656
cmp dword [rax], r8d
jne 0x14000e650
test byte [rax + 0x16], 0xc8
je 0x14000e65a
add rax, 0x18
jmp 0x14000e640
xor ebp, ebp
jmp 0x14000e65f
mov ebp, 1
call sub.msvcrt.dll_free
test ebp, ebp
jne 0x14000e67a
dec ebx
je 0x14000e678
mov ecx, 0xc8
call rdi
jmp 0x14000e5cb
xor ebp, ebp
mov rdx, qword [str.10.10.10.9]
test ebp, ebp
jne 0x14000e693
lea rcx, str.Warning:_IPv4_address__s_not_assigned_n
call fcn.14000ce50
jmp 0x14000e69f
lea rcx, str.IPv4_address__s_assigned_n
call fcn.14000c290
add rsp, 0x70
pop rbx
pop rsi
pop rdi
pop rbp
pop r12
ret