Function at 0x10007c10
Capabilities:
Accept command line arguments

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x124
mov eax, dword [0x1005f00c]
xor eax, ebp
mov dword [ebp - 4], eax
movups xmm0, xmmword [str.vpn_win_ov]
mov eax, dword [ebp + 8]
push ebx
push esi
push edi
mov edi, ecx
mov dword [ebp - 0x124], eax
movups xmmword [edi], xmm0
mov eax, dword [0x10051e2c]
mov dword [edi + 0x10], eax
xor eax, eax
mov word [edi + 0x14], ax
call dword [sym.imp.KERNEL32.dll_GetCommandLineW]
mov ecx, eax
lea ebx, [edi + 0x17c]
mov esi, ecx
lea edx, [esi + 2]
nop dword [eax]
mov ax, word [esi]
add esi, 2
test ax, ax
jne 0x10007c60
sub esi, edx
mov eax, 0x4ff
sar esi, 1
cmp esi, 0x500
cmovge esi, eax
add esi, esi
push esi
push ecx
push ebx
call fcn.1002f310
add esp, 0xc
xor eax, eax
mov word [esi + ebx], ax
lea edx, [eax + 0x2f]
movzx ecx, word [ebx]
test cx, cx
je 0x10007cae
cmp ecx, 0x5c
jne 0x10007ca3
mov word [ebx], dx
inc eax
add ebx, 2
cmp eax, 0x500
jb 0x10007c93
push str.TurboVPN
push 0x10057df0
lea eax, [edi + 0xe92]
push 0x22
push eax
call fcn.100071c0
add esp, 0x10
mov word [edi + 0x1c70], 0x100
lea eax, [ebp - 0x120]
mov byte [edi + 0x1c72], 0
mov dword [ebp - 0x120], 0x114
push eax
call dword [sym.imp.KERNEL32.dll_GetVersionExW]
mov eax, dword [ebp - 0x11c]
test eax, eax
je 0x10007d27
lea ecx, [ebp - 0x10c]
push ecx
push dword [ebp - 0x114]
push dword [ebp - 0x118]
push eax
push str._d._d._d__s
lea eax, [edi + 0xb7c]
push 0x103
push eax
call fcn.100071c0
add esp, 0x1c
lea esi, [edi + 0x5e98]
mov ecx, esi
mov byte [esi], 0
call fcn.10010d80
cmp byte [esi], 0
jne 0x10007d55
movups xmm0, xmmword [str.empty_na]
xor eax, eax
movups xmmword [edi + 0xe4c], xmm0
mov word [edi + 0xe5c], ax
jmp 0x10007d7e
mov ebx, dword [sym.imp.KERNEL32.dll_MultiByteToWideChar]
push 0
push 0
push 0xffffffffffffffff
push esi
push 0
push 0
call ebx
cmp eax, 0x23
ja 0x10007d7e
push eax
lea eax, [edi + 0xe4c]
push eax
push 0xffffffffffffffff
push esi
push 0
push 0
call ebx
mov ebx, dword [ebp - 0x124]
lea ecx, [edi + 0x1c20]
xor eax, eax
mov word [ecx], ax
test ebx, ebx
je 0x10007dab
mov eax, dword [ebx]
test eax, eax
je 0x10007dab
push dword [eax]
push str.0x_08x
push 0x13
push ecx
call fcn.100071c0
add esp, 0x10
xor eax, eax
lea esi, [edi + 0x5c90]
mov word [esi], ax
test ebx, ebx
je 0x10007eb8
mov ebx, dword [ebx]
test ebx, ebx
je 0x10007eb8
mov ebx, dword [ebx + 0xc]
test ebx, ebx
je 0x10007eb8
lea eax, [edi + 0x1c74]
xorps xmm0, xmm0
push 0x1c
movups xmmword [eax], xmm0
push eax
movq qword [eax + 0x10], xmm0
push ebx
mov dword [eax + 0x18], 0
call dword [sym.imp.KERNEL32.dll_VirtualQuery]
test eax, eax
je 0x10007eb8
mov eax, dword [edi + 0x1c78]
mov dword [ebp - 0x124], eax
test eax, eax
je 0x10007eb8
push 0x103
push esi
push eax
call dword [sym.imp.KERNEL32.dll_GetModuleFileNameW]
test eax, eax
je 0x10007eb8
sub ebx, dword [ebp - 0x124]
lea eax, [edi + 0x1bbc]
push ecx
push eax
push esi
mov ecx, edi
call fcn.10007f20
push esi
call dword [sym.imp.SHLWAPI.dll_PathFindFileNameW]
test eax, eax
cmove eax, esi
push eax
lea eax, [edi + 0xf3c]
push eax
push str._s__s
lea eax, [edi + 0x17ac]
push 0x103
push eax
call fcn.10007160
add esp, 0x14
lea eax, [edi + 0x1c48]
push ebx
push str.0x_08x
push 0x13
push eax
call fcn.10008e20
lea edx, [edi + 0x1bbc]
add esp, 0x10
mov ecx, edx
lea esi, [ecx + 2]
nop dword [eax + eax]
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x10007e90
sub ecx, esi
sar ecx, 1
jne 0x10007f01
push str.0.0.0.0
push 0x10057df0
push 0x31
push edx
call fcn.100071c0
add esp, 0x10
jmp 0x10007f01
push 0x100578fc
lea eax, [edi + 0x17ac]
push 0x103
push eax
call fcn.100071c0
add esp, 0xc
lea eax, [edi + 0x1bbc]
push str.0.0.0.0
push 0x10057df0
push 0x31
push eax
call fcn.100071c0
push 0
push str.0x_08x
lea eax, [edi + 0x1c48]
push 0x13
push eax
call fcn.100071c0
add esp, 0x20
push ecx
mov ecx, edi
call fcn.10007fc0
mov ecx, dword [ebp - 4]
pop edi
pop esi
xor ecx, ebp
pop ebx
call fcn.100170ad
mov esp, ebp
pop ebp
ret 8