Function at 0x40afbc
Capabilities:
Contain obfuscated stackstrings
Create process on windows
Resolve function by parsing pe exports

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
push 0xffffffffffffffff
push 0x44c3bc
mov eax, dword fs:[0]
push eax
push ecx
mov eax, 0x11dc
call fcn.00435c10
push ebx
push esi
push edi
mov eax, dword [0x4645f4]
xor eax, esp
push eax
lea eax, [esp + 0x11f0]
mov dword fs:[0], eax
call fcn.00412e4c
push eax
lea ecx, [esp + 0x2c]
call fcn.004018b8
xor edi, edi
mov dword [esp + 0x11f8], edi
call fcn.00412e4c
push eax
lea ecx, [esp + 0x34]
call fcn.004018b8
mov esi, dword [ebp + 8]
lea eax, [esp + 0x28]
push eax
lea ecx, [esi + 0x4a4]
mov byte [esp + 0x11fc], 1
call fcn.004177e7
lea eax, [esp + 0x30]
push eax
lea ecx, [esi + 0x4f8]
call fcn.004177e7
mov eax, dword [esp + 0x28]
cmp dword [eax - 0xc], edi
push edi
push edi
jne 0x40b08a
push 0x455c10
call fcn.0041abb6
mov ecx, dword [esp + 0x30]
add ecx, 0xfffffff0
call fcn.00401aaa
mov ecx, dword [esp + 0x28]
add ecx, 0xfffffff0
call fcn.00401aaa
mov ecx, dword [esp + 0x11f0]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 4
push 0xf0
push dword [esi + 0x56c]
call dword [0x44d5f0]
mov ebx, eax
neg ebx
sbb ebx, ebx
neg ebx
call fcn.0041eda2
mov eax, dword [eax + 4]
push ebx
push str.SavePassword
mov edi, str.Main
push edi
mov ecx, eax
call fcn.0041ef92
test ebx, ebx
je 0x40b11d
mov ebx, dword [esp + 0x28]
call fcn.0041eda2
mov eax, dword [eax + 4]
push ebx
push str.Username
push edi
mov ecx, eax
call fcn.0041f019
mov eax, dword [esp + 0x30]
mov ecx, dword [eax - 0xc]
lea ecx, [ecx + ecx + 2]
push ecx
call fcn.0040f4e8
mov ebx, eax
call fcn.0041eda2
push dword [ebx]
mov eax, dword [eax + 4]
push dword [ebx + 4]
mov ecx, eax
push str.Password
push edi
call fcn.0041f0b2
push dword [ebx + 4]
call dword [0x44d330]
push ebx
call fcn.00412a0e
pop ecx
xor ebx, ebx
jmp 0x40b14b
call fcn.0041eda2
mov eax, dword [eax + 4]
xor ebx, ebx
push ebx
push str.Username
push edi
mov ecx, eax
call fcn.0041f019
call fcn.0041eda2
mov eax, dword [eax + 4]
push ebx
push str.Password
push edi
mov ecx, eax
call fcn.0041f019
push ebx
push ecx
mov ecx, esp
mov dword [esp + 0x1c], esp
push 0x455c24
call fcn.00406bac
mov ecx, esi
call fcn.0040c256
push str.vpn123.ini
lea eax, [esp + 0x48]
push 0x468f80
push eax
call fcn.00407276
add esp, 0xc
mov byte [esp + 0x11f8], 2
push dword [esp + 0x44]
lea ecx, [esp + 0x30]
call fcn.00406bac
mov byte [esp + 0x11f8], 3
call fcn.00412e4c
push eax
lea ecx, [esp + 0x3c]
call fcn.004018b8
push 0x67
lea ecx, [esp + 0x3c]
mov byte [esp + 0x11fc], 4
call fcn.004068e6
push ecx
mov eax, esp
mov dword [esp + 0x18], esp
push str..ini
push 0x468f74
push eax
call fcn.00407276
add esp, 0xc
lea eax, [esp + 0x38]
push eax
call fcn.0040f592
push ebx
push ecx
mov byte [esp + 0x1200], 5
mov ecx, esp
mov dword [esp + 0x1c], esp
push str.NoLogin
call fcn.00406bac
push ecx
mov byte [esp + 0x1204], 6
mov ecx, esp
mov dword [esp + 0x30], esp
push edi
call fcn.00406bac
lea eax, [esp + 0x40]
push eax
mov byte [esp + 0x1208], 5
call fcn.0040f65c
push ecx
mov dword [esp + 0x54], eax
lea eax, [esp + 0x3c]
mov dword [esp + 0x18], esp
mov ecx, esp
push eax
call fcn.00406bf0
push ecx
mov byte [esp + 0x1200], 7
mov ecx, esp
mov dword [esp + 0x2c], esp
push str.LoginURL
call fcn.00406bac
push ecx
mov byte [esp + 0x1204], 8
mov ecx, esp
mov dword [esp + 0x54], esp
push edi
call fcn.00406bac
lea eax, [esp + 0x2c]
push eax
lea eax, [esp + 0x44]
push eax
mov byte [esp + 0x120c], 5
call fcn.0040f5d0
push eax
lea ecx, [esp + 0x3c]
mov byte [esp + 0x11fc], 9
call fcn.00406c69
mov byte [esp + 0x11f8], 5
mov ecx, dword [esp + 0x20]
add ecx, 0xfffffff0
call fcn.00401aaa
lea ecx, [esp + 0x70]
call fcn.0042079d
mov byte [esp + 0x11f8], 0xa
mov dword [esp + 0x18], ebx
lea eax, [esp + 0x18]
push eax
push 0x455c80
lea eax, [esp + 0x28]
push eax
lea ecx, [esp + 0x44]
call fcn.0040cc5f
mov edi, eax
mov byte [esp + 0x11f8], 0xb
call fcn.0040cd12
push eax
lea ecx, [esp + 0x40]
call fcn.00406bf0
mov byte [esp + 0x11f8], 0xd
mov ecx, dword [esp + 0x20]
add ecx, 0xfffffff0
call fcn.00401aaa
mov eax, dword [esp + 0x3c]
cmp dword [eax - 0xc], ebx
je 0x40b314
lea eax, [esp + 0x3c]
push eax
push dword [esp + 0x7c]
lea ecx, [esp + 0x78]
call fcn.00420ae8
mov byte [esp + 0x11f8], 0xa
mov ecx, dword [esp + 0x3c]
add ecx, 0xfffffff0
call fcn.00401aaa
cmp dword [esp + 0x18], 0xffffffff
jne 0x40b2b4
cmp dword [esp + 0x50], ebx
mov dword [esp + 0x20], ebx
jne 0x40b576
lea eax, [esp + 0x86c]
push eax
call fcn.00407d7b
mov byte [esp + 0x11f8], 0xe
xor edi, edi
cmp dword [esp + 0x78], ebx
jle 0x40b468
cmp edi, ebx
jl 0x40b492
cmp edi, dword [esp + 0x78]
jge 0x40b492
mov eax, dword [esp + 0x74]
lea eax, [eax + edi*4]
push str.client_login.php_username
push eax
lea eax, [esp + 0x54]
push eax
call fcn.00407276
add esp, 0xc
lea ecx, [esp + 0x28]
push ecx
push eax
lea eax, [esp + 0x24]
push eax
mov byte [esp + 0x1204], 0xf
call fcn.00403437
add esp, 0xc
push str.password
push eax
lea eax, [esp + 0x44]
push eax
mov byte [esp + 0x1204], 0x10
call fcn.00407276
add esp, 0xc
lea ecx, [esp + 0x30]
push ecx
push eax
lea eax, [esp + 0x20]
push eax
mov byte [esp + 0x1204], 0x11
call fcn.00403437
add esp, 8
mov ecx, esp
mov byte [esp + 0x11fc], 0x12
mov dword [esp + 0x18], esp
push 0x455c84
push eax
push ecx
call fcn.00407276
add esp, 0xc
lea eax, [esp + 0x24]
push eax
call fcn.0040c342
mov byte [esp + 0x11f8], 0x13
push dword [eax]
lea eax, [esp + 0x870]
push eax
call fcn.00407f53
mov ecx, dword [esp + 0x20]
add ecx, 0xfffffff0
call fcn.00401aaa
mov ecx, dword [esp + 0x18]
add ecx, 0xfffffff0
call fcn.00401aaa
mov ecx, dword [esp + 0x3c]
add ecx, 0xfffffff0
call fcn.00401aaa
mov ecx, dword [esp + 0x1c]
add ecx, 0xfffffff0
call fcn.00401aaa
mov byte [esp + 0x11f8], 0xe
mov ecx, dword [esp + 0x4c]
add ecx, 0xfffffff0
call fcn.00401aaa
inc edi
cmp edi, dword [esp + 0x78]
jl 0x40b35e
push 0x10
call fcn.004129e3
pop ecx
mov dword [esp + 0x14], eax
cmp eax, ebx
mov byte [esp + 0x11f8], 0x14
je 0x40b497
push 0x1001
push dword [esp + 0x48]
mov ecx, eax
call fcn.0041db8b
jmp 0x40b499
call fcn.00412d43
xor eax, eax
mov byte [esp + 0x11f8], 0xe
lea ecx, [esp + 0x86c]
mov dword [esp + 0x8e0], eax
call fcn.00419b4a
cmp eax, 1
mov ecx, dword [esp + 0x8e0]
je 0x40b54c
cmp ecx, ebx
je 0x40b4cf
mov eax, dword [ecx]
push 1
call dword [eax + 4]
push ebx
push ecx
mov ecx, esp
mov dword [esp + 0x1c], esp
push 0x455cec
call fcn.00406bac
mov ecx, esi
call fcn.0040c256
lea ecx, [esp + 0x86c]
mov byte [esp + 0x11f8], 0xa
call fcn.00407e0b
lea ecx, [esp + 0x70]
mov byte [esp + 0x11f8], 5
call fcn.0042096f
mov ecx, dword [esp + 0x34]
add ecx, 0xfffffff0
call fcn.00401aaa
mov ecx, dword [esp + 0x38]
add ecx, 0xfffffff0
call fcn.00401aaa
push dword [esp + 0x2c]
call dword [0x44d340]
mov ecx, dword [esp + 0x2c]
add ecx, 0xfffffff0
call fcn.00401aaa
mov ecx, dword [esp + 0x44]
add ecx, 0xfffffff0
call fcn.00401aaa
jmp 0x40b05a
cmp ecx, ebx
mov eax, dword [esp + 0x8e4]
mov dword [esp + 0x20], eax
je 0x40b562
mov eax, dword [ecx]
push 1
call dword [eax + 4]
lea ecx, [esp + 0x86c]
mov byte [esp + 0x11f8], 0xa
call fcn.00407e0b
lea eax, [esp + 0x44]
push eax
lea ecx, [esp + 0x1c]
call fcn.00406bf0
lea edi, [esi + 0x84]
lea eax, [esp + 0x18]
mov byte [esp + 0x11f8], 0x15
push eax
mov ecx, edi
mov dword [esp + 0x20], edi
call fcn.00406c69
mov byte [esp + 0x11f8], 0xa
mov ecx, dword [esp + 0x18]
add ecx, 0xfffffff0
call fcn.00401aaa
push ecx
mov ecx, esp
mov dword [esp + 0x18], esp
push 0x454bd0
call fcn.00406bac
push ecx
mov byte [esp + 0x1200], 0x16
mov ecx, esp
mov dword [esp + 0x2c], esp
push str.RequiredClientVersion
call fcn.00406bac
push ecx
mov byte [esp + 0x1204], 0x17
mov ecx, esp
mov dword [esp + 0x54], esp
push 0x455d24
call fcn.00406bac
lea eax, [esp + 0x60]
push eax
push edi
mov byte [esp + 0x120c], 0xa
call fcn.0040f5d0
mov dword [esp + 0xe4], vtable.CModuleVersion.0
mov dword [esp + 0x11c], ebx
mov byte [esp + 0x11f8], 0x19
mov ecx, dword [0x468f74]
lea ebx, [esp + 0xe4]
call fcn.0040f78c
xor eax, eax
xor ebx, ebx
mov dword [esp + 0x90], ebx
lea edi, [esp + 0x94]
stosd dword es:[edi], eax
stosd dword es:[edi], eax
stosd dword es:[edi], eax
lea eax, [esp + 0x9c]
push eax
lea eax, [esp + 0x9c]
push eax
lea eax, [esp + 0x9c]
push eax
lea eax, [esp + 0x9c]
push eax
push str._u._u._u._u
push dword [esp + 0x68]
call fcn.0043346b
add esp, 0x18
cmp eax, 4
je 0x40b6ba
push 1
push ecx
mov ecx, esp
mov dword [esp + 0x1c], esp
push 0x455d44
call fcn.00406bac
mov ecx, esi
call fcn.0040c256
lea ecx, [esp + 0xe4]
call fcn.0040f77c
mov ecx, dword [esp + 0x54]
add ecx, 0xfffffff0
call fcn.00401aaa
jmp 0x40b4fc
mov eax, dword [esp + 0x90]
mov ecx, 0x10000
mul ecx
mov ecx, dword [esp + 0x94]
push ebx
xor edi, edi
add eax, ecx
push 0x10000
adc edx, edi
push edx
push eax
call fcn.00436230
mov ecx, dword [esp + 0x98]
push ebx
add eax, ecx
push 0x10000
adc edx, edi
push edx
push eax
call fcn.00436230
mov ecx, dword [esp + 0x9c]
push 1
push ebx
mov edi, edx
xor edx, edx
push ebx
push dword [esp + 0xfc]
add eax, ecx
mov dword [esp + 0x94], eax
adc edi, edx
call fcn.00436230
mov ecx, dword [esp + 0xf4]
mov dword [esp + 0x60], edx
xor edx, edx
add eax, ecx
mov ecx, dword [esp + 0x60]
adc ecx, edx
cmp ecx, edi
ja 0x40b7e1
jb 0x40b74c
cmp eax, dword [esp + 0x84]
jae 0x40b7e1
push ebx
push ebx
push 0x455d78
call fcn.0041abb6
push ecx
mov ecx, esp
mov dword [esp + 0x18], esp
mov edi, 0x454bd0
push edi
call fcn.00406bac
push ecx
mov byte [esp + 0x1200], 0x1a
mov ecx, esp
mov dword [esp + 0x2c], esp
push str.UpdateURL
call fcn.00406bac
push ecx
mov byte [esp + 0x1204], 0x1b
mov ecx, esp
mov dword [esp + 0x54], esp
push 0x455d24
call fcn.00406bac
lea eax, [esp + 0x24]
push eax
push dword [esp + 0x2c]
mov byte [esp + 0x120c], 0x19
call fcn.0040f5d0
mov esi, dword [esi + 0x20]
push 5
push edi
push edi
push dword [esp + 0x24]
push str.open
push esi
call dword [0x44d408]
push ebx
call dword [0x44d5e0]
mov ecx, dword [esp + 0x18]
add ecx, 0xfffffff0
call fcn.00401aaa
jmp 0x40b69d
push ecx
mov ecx, esp
mov dword [esp + 0x18], esp
mov edi, 0x454bd0
push edi
call fcn.00406bac
push ecx
mov byte [esp + 0x1200], 0x1c
mov ecx, esp
mov dword [esp + 0x2c], esp
push str.AuthResult
call fcn.00406bac
push ecx
mov byte [esp + 0x1204], 0x1d
mov ecx, esp
mov dword [esp + 0x54], esp
push 0x455d24
call fcn.00406bac
lea eax, [esp + 0x4c]
push eax
push dword [esp + 0x2c]
mov byte [esp + 0x120c], 0x19
call fcn.0040f5d0
mov byte [esp + 0x11f8], 0x1e
push 0x455e34
push dword [esp + 0x44]
call fcn.004332e4
test eax, eax
pop ecx
pop ecx
je 0x40ba22
push str.WrongPassword
push dword [esp + 0x44]
call fcn.004332e4
test eax, eax
pop ecx
pop ecx
je 0x40b9f4
mov eax, dword [esp + 0x40]
cmp dword [eax - 0xc], ebx
je 0x40b9f4
push str.Locked
push eax
call fcn.004332e4
test eax, eax
pop ecx
pop ecx
jne 0x40b8af
push ebx
push ebx
push 0x455eb0
call fcn.0041abb6
push ebx
push ecx
mov ecx, esp
mov dword [esp + 0x1c], esp
push 0x455ee0
jmp 0x40ba0d
push str.Expired
push dword [esp + 0x44]
call fcn.004332e4
test eax, eax
pop ecx
pop ecx
jne 0x40b8f4
push ebx
push ebx
push 0x455f00
call fcn.0041abb6
push ebx
push ecx
mov ecx, esp
mov dword [esp + 0x1c], esp
push 0x455f44
call fcn.00406bac
mov ecx, esi
call fcn.0040c256
mov ecx, esi
call fcn.0040cb27
jmp 0x40ba19
push str.ErrorByMessage
push dword [esp + 0x44]
call fcn.004332e4
test eax, eax
pop ecx
pop ecx
jne 0x40b9bc
push ebx
push ebx
push ecx
mov ecx, esp
mov dword [esp + 0x20], esp
push edi
call fcn.00406bac
push ecx
mov byte [esp + 0x1208], 0x1f
mov ecx, esp
mov dword [esp + 0x34], esp
push str.AuthResultMessage
call fcn.00406bac
push ecx
mov byte [esp + 0x120c], 0x20
mov ecx, esp
mov dword [esp + 0x5c], esp
push 0x455d24
call fcn.00406bac
lea eax, [esp + 0x34]
push eax
push dword [esp + 0x34]
mov byte [esp + 0x1214], 0x1e
call fcn.0040f5d0
lea ecx, [esp + 0x54]
push 0x455f94
push ecx
mov ecx, eax
mov byte [esp + 0x1208], 0x21
call fcn.004072da
pop ecx
pop ecx
mov byte [esp + 0x1200], 0x22
push dword [eax]
call fcn.0041abb6
mov ecx, dword [esp + 0x4c]
add ecx, 0xfffffff0
call fcn.00401aaa
mov byte [esp + 0x11f8], 0x1e
mov ecx, dword [esp + 0x20]
add ecx, 0xfffffff0
call fcn.00401aaa
push ebx
push ecx
mov ecx, esp
mov dword [esp + 0x1c], esp
push 0x455fa0
jmp 0x40ba0d
push str.vU_1Y_
lea ecx, [esp + 0x24]
call fcn.00406bac
lea ecx, [esp + 0x40]
push ecx
push eax
lea eax, [esp + 0x54]
push eax
mov byte [esp + 0x1204], 0x23
call fcn.00403437
add esp, 0xc
push ebx
mov byte [esp + 0x11fc], 0x24
mov eax, dword [eax]
push ebx
push eax
jmp 0x40b988
push ebx
push ebx
push 0x455e58
call fcn.0041abb6
push ebx
push ecx
mov ecx, esp
mov dword [esp + 0x1c], esp
push 0x455e94
call fcn.00406bac
mov ecx, esi
call fcn.0040c256
mov ecx, dword [esp + 0x40]
jmp 0x40b7d4
lea eax, [esp + 0x124]
push eax
call fcn.0040d1b0
mov byte [esp + 0x11f8], 0x25
cmp dword [esp + 0x50], ebx
jne 0x40ba81
lea ecx, [esp + 0x124]
call fcn.00419b4a
cmp eax, 1
je 0x40bad6
push ebx
push ecx
mov ecx, esp
mov dword [esp + 0x1c], esp
push 0x455fc0
call fcn.00406bac
mov ecx, esi
call fcn.0040c256
lea ecx, [esp + 0x124]
mov byte [esp + 0x11f8], 0x1e
call fcn.0040d297
jmp 0x40ba19
or dword [esp + 0x1b4], 0xffffffff
or dword [esp + 0x1b8], 0xffffffff
push 1
push ecx
mov ecx, esp
mov dword [esp + 0x1c], esp
push str.VpnType
call fcn.00406bac
push ecx
mov byte [esp + 0x1204], 0x26
mov ecx, esp
mov dword [esp + 0x30], esp
push str.Main
call fcn.00406bac
lea eax, [esp + 0x40]
push eax
mov byte [esp + 0x1208], 0x25
call fcn.0040f65c
mov dword [esp + 0x1bc], eax
call fcn.00412e4c
push eax
lea ecx, [esp + 0x40]
call fcn.004018b8
mov byte [esp + 0x11f8], 0x27
push dword [esp + 0x1b4]
lea eax, [esp + 0x40]
push str.RouteId_d
push eax
call fcn.00406b83
add esp, 0xc
lea eax, [esp + 0xd2c]
push eax
call fcn.00407d7b
push 0x400
lea ecx, [esp + 0xc0]
mov byte [esp + 0x11fc], 0x28
call fcn.004131e4
push ecx
mov byte [esp + 0x11fc], 0x29
mov ecx, esp
mov dword [esp + 0x50], esp
push edi
call fcn.00406bac
push ecx
mov byte [esp + 0x1200], 0x2a
lea eax, [esp + 0x44]
mov dword [esp + 0x8c], esp
mov ecx, esp
push eax
call fcn.00406bf0
push ecx
mov byte [esp + 0x1204], 0x2b
mov ecx, esp
mov dword [esp + 0x68], esp
push str.Routes
call fcn.00406bac
lea eax, [esp + 0x20]
push eax
push dword [esp + 0x2c]
mov byte [esp + 0x120c], 0x29
call fcn.0040f5d0
mov dword [esp + 0x4c], eax
mov byte [esp + 0x11f8], 0x2c
mov eax, dword [esp + 0x20]
cmp eax, ebx
jl 0x40b492
cmp eax, dword [esp + 0x78]
jge 0x40b492
mov ecx, dword [esp + 0x74]
lea eax, [ecx + eax*4]
push str.client_login.php_username
push eax
lea eax, [esp + 0x2c]
push eax
call fcn.00407276
add esp, 0xc
lea ecx, [esp + 0x28]
push ecx
push eax
lea eax, [esp + 0x50]
push eax
mov byte [esp + 0x1204], 0x2d
call fcn.00403437
add esp, 0xc
push str.password
push eax
lea eax, [esp + 0x74]
push eax
mov byte [esp + 0x1204], 0x2e
call fcn.00407276
add esp, 0xc
lea ecx, [esp + 0x30]
push ecx
push eax
lea eax, [esp + 0x70]
push eax
mov byte [esp + 0x1204], 0x2f
call fcn.00403437
add esp, 0xc
push str.cmdgetvpnroutes
push eax
lea eax, [esp + 0xac]
push eax
mov byte [esp + 0x1204], 0x30
call fcn.00407276
add esp, 0xc
push str.id
push eax
lea eax, [esp + 0xa8]
push eax
mov byte [esp + 0x1204], 0x31
call fcn.00407276
add esp, 8
mov byte [esp + 0x11fc], 0x32
mov ecx, esp
mov dword [esp + 0x60], esp
push dword [esp + 0x50]
push eax
push ecx
call fcn.00403437
add esp, 0xc
lea eax, [esp + 0x1c]
push eax
call fcn.0040c342
mov byte [esp + 0x11f8], 0x33
push dword [eax]
lea eax, [esp + 0xd30]
push eax
call fcn.00407f53
mov ecx, dword [esp + 0x18]
add ecx, 0xfffffff0
call fcn.00401aaa
mov ecx, dword [esp + 0xa0]
add ecx, 0xfffffff0
call fcn.00401aaa
mov ecx, dword [esp + 0xa4]
add ecx, 0xfffffff0
call fcn.00401aaa
mov ecx, dword [esp + 0x68]
add ecx, 0xfffffff0
call fcn.00401aaa
mov ecx, dword [esp + 0x6c]
add ecx, 0xfffffff0
call fcn.00401aaa
mov ecx, dword [esp + 0x48]
add ecx, 0xfffffff0
call fcn.00401aaa
mov ecx, dword [esp + 0x24]
add ecx, 0xfffffff0
call fcn.00401aaa
mov byte [esp + 0x11f8], 0x29
mov ecx, dword [esp + 0x14]
add ecx, 0xfffffff0
call fcn.00401aaa
cmp dword [esp + 0x50], ebx
lea eax, [esp + 0xbc]
mov dword [esp + 0xda0], eax
jne 0x40bd77
lea ecx, [esp + 0xd2c]
call fcn.00419b4a
cmp eax, 1
je 0x40bd77
push ebx
push ecx
mov ecx, esp
mov dword [esp + 0x64], esp
push 0x455cec
call fcn.00406bac
mov ecx, esi
call fcn.0040c256
lea ecx, [esp + 0xbc]
mov byte [esp + 0x11f8], 0x28
call fcn.00413588
lea ecx, [esp + 0xd2c]
mov byte [esp + 0x11f8], 0x27
call fcn.00407e0b
mov ecx, dword [esp + 0x3c]
add ecx, 0xfffffff0
call fcn.00401aaa
jmp 0x40ba6b
cmp dword [esp + 0x1bc], ebx
jle 0x40be13
cmp dword [esp + 0x1bc], 2
jle 0x40bdbb
cmp dword [esp + 0x1bc], 3
jne 0x40be13
push 0x16c
call fcn.004129e3
pop ecx
mov dword [esp + 0x5c], eax
cmp eax, ebx
mov byte [esp + 0x11f8], 0x34
je 0x40be03
push eax
call fcn.0040f890
jmp 0x40be05
push 0xe4
call fcn.004129e3
pop ecx
mov dword [esp + 0x14], eax
cmp eax, ebx
mov byte [esp + 0x11f8], 0x35
je 0x40be03
mov ecx, dword [esp + 0x1bc]
push eax
mov dword [esp + 0x28], ecx
call fcn.0040e59f
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x24]
mov dword [eax], vtable.CWindowsVpn.0
mov dword [eax + 0xdc], ebx
mov dword [eax + 0xe0], ecx
jmp 0x40be05
xor eax, eax
mov byte [esp + 0x11f8], 0x29
mov dword [esi + 0x88], eax
mov eax, dword [esi + 0x88]
lea ecx, [esi + 0x7c]
mov dword [eax + 4], ecx
call fcn.00412e4c
push eax
lea ecx, [esp + 0x1c]
call fcn.004018b8
mov byte [esp + 0x11f8], 0x36
call fcn.00412e4c
push eax
lea ecx, [esp + 0x54]
call fcn.004018b8
mov byte [esp + 0x11f8], 0x37
push dword [esp + 0x1b8]
lea eax, [esp + 0x1c]
push str.ServerHost_d
push eax
call fcn.00406b83
pop ecx
pop ecx
mov ebx, esp
mov dword [esp + 0x60], esp
push ecx
mov ecx, esp
mov dword [esp + 0x8c], esp
push edi
call fcn.00406bac
push ecx
mov byte [esp + 0x1204], 0x38
mov ecx, esp
mov dword [esp + 0x20], esp
push str.VpnServerHost
call fcn.00406bac
push ecx
mov byte [esp + 0x1208], 0x39
mov ecx, esp
mov dword [esp + 0x58], esp
push str.Main
call fcn.00406bac
push ebx
lea eax, [esp + 0x48]
push eax
mov byte [esp + 0x1210], 0x37
call fcn.0040f5d0
push ecx
mov byte [esp + 0x1200], 0x3a
lea eax, [esp + 0x20]
mov dword [esp + 0x8c], esp
mov ecx, esp
push eax
call fcn.00406bf0
push ecx
mov byte [esp + 0x1204], 0x3b
mov ecx, esp
mov dword [esp + 0x20], esp
push str.Servers
call fcn.00406bac
lea eax, [esp + 0x30]
push eax
push dword [esp + 0x2c]
mov byte [esp + 0x120c], 0x37
call fcn.0040f5d0
mov byte [esp + 0x11f8], 0x3c
mov ecx, dword [esp + 0x28]
mov eax, dword [eax]
mov edi, dword [esi + 0x88]
mov ebx, dword [esp + 0x30]
mov dword [esp + 0x14], ecx
lea ecx, [edi + 0xb4]
push eax
call fcn.004067d1
push dword [esp + 0x14]
lea ecx, [edi + 0xb8]
call fcn.004067d1
add edi, 0xbc
push ebx
mov ecx, edi
call fcn.004067d1
mov byte [esp + 0x11f8], 0x37
mov ecx, dword [esp + 0x24]
add ecx, 0xfffffff0
call fcn.00401aaa
push 0
push str.Password
mov ebx, str.Proxy
push ebx
lea eax, [esp + 0x74]
mov edi, 0x468ed0
push eax
mov ecx, edi
call fcn.0041f18f
mov dword [esp + 0x14], eax
push 0
push str.Username
push ebx
lea eax, [esp + 0x78]
push eax
mov ecx, edi
mov byte [esp + 0x1208], 0x3d
call fcn.0041f18f
mov dword [esp + 0x24], eax
push 0
push str.Server
push ebx
lea eax, [esp + 0x54]
push eax
mov ecx, edi
mov byte [esp + 0x1208], 0x3e
call fcn.0041f18f
mov byte [esp + 0x11f8], 0x3f
mov ecx, dword [esp + 0x14]
mov ecx, dword [ecx]
mov edx, dword [esp + 0x24]
mov edx, dword [edx]
mov eax, dword [eax]
push ecx
push edx
push 0
push str.Port
push ebx
mov ecx, edi
mov dword [esp + 0x28], eax
call fcn.0041ef29
push eax
push dword [esp + 0x20]
mov ecx, edi
push 0
push 0x4552a0
push ebx
call fcn.0041ef29
mov esi, dword [esi + 0x88]
call fcn.0040f094
mov ecx, dword [esp + 0x48]
add ecx, 0xfffffff0
call fcn.00401aaa
mov ecx, dword [esp + 0x6c]
add ecx, 0xfffffff0
call fcn.00401aaa
mov byte [esp + 0x11f8], 0x37
mov ecx, dword [esp + 0x68]
add ecx, 0xfffffff0
call fcn.00401aaa
push dword [esp + 0x1b4]
lea eax, [esp + 0x54]
push str.ModifyDefaultGateway_d
push eax
call fcn.00406b83
add esp, 0xc
xor ebx, ebx
push ebx
push ecx
mov dword [esp + 0x64], esp
lea eax, [esp + 0x58]
mov ecx, esp
push eax
call fcn.00406bf0
push ecx
mov byte [esp + 0x1204], 0x40
mov ecx, esp
mov dword [esp + 0x90], esp
push str.Routes
call fcn.00406bac
push dword [esp + 0x28]
mov byte [esp + 0x1208], 0x37
call fcn.0040f65c
mov ecx, dword [ebp + 8]
mov ecx, dword [ecx + 0x88]
mov dword [ecx + 0xc0], eax
lea ecx, [esp + 0xa8]
call fcn.0042079d
lea eax, [esp + 0x1c]
push eax
call fcn.0040176d
mov byte [esp + 0x11f8], 0x42
call fcn.00412e4c
push eax
lea ecx, [esp + 0x5c]
call fcn.004018b8
push ebx
push ebx
push ebx
lea ecx, [esp + 0xc8]
mov byte [esp + 0x1204], 0x43
call fcn.004133ff
lea ecx, [esp + 0xbc]
call fcn.004132fb
push eax
lea ecx, [esp + 0xc0]
call fcn.004132fb
push eax
lea eax, [esp + 0x24]
push eax
call fcn.00401895
push eax
lea ecx, [esp + 0xc4]
call fcn.0041334f
cmp dword [esp + 0x1c], ebx
jne 0x40c120
xor eax, eax
jmp 0x40c12a
push dword [esp + 0x1c]
call fcn.00430710
pop ecx
push eax
lea ecx, [esp + 0x20]
call fcn.00401945
mov dword [esp + 0x20], ebx
lea eax, [esp + 0x14]
push eax
lea eax, [esp + 0x20]
push eax
lea esi, [esp + 0x28]
call fcn.004085a6
mov byte [esp + 0x11f8], 0x44
push dword [eax]
lea ecx, [esp + 0x5c]
call fcn.004073fb
mov byte [esp + 0x11f8], 0x43
mov ecx, dword [esp + 0x14]
add ecx, 0xfffffff0
call fcn.00401aaa
lea edi, [esp + 0x58]
call fcn.0040cda2
mov eax, dword [esp + 0x58]
cmp dword [eax - 0xc], ebx
je 0x40c19a
mov eax, edi
push eax
push dword [esp + 0xb4]
lea ecx, [esp + 0xb0]
call fcn.00420ae8
cmp dword [esp + 0x20], 0xffffffff
jne 0x40c138
mov esi, dword [ebp + 8]
mov eax, dword [esi + 0x88]
lea edi, [eax + 0x78]
push 0xffffffffffffffff
push ebx
mov ecx, edi
call fcn.0042083b
lea eax, [esp + 0xa8]
push eax
mov ecx, edi
call fcn.00420aa9
mov ecx, dword [esi + 0x88]
mov eax, dword [ecx]
call dword [eax + 4]
cmp eax, ebx
je 0x40c1f4
cmp eax, 3
je 0x40c1e8
call fcn.0040c295
mov eax, esi
call fcn.0040af6e
jmp 0x40c20d
push ebx
push ebx
push 0x4560ac
call fcn.0041abb6
push ebx
lea ecx, [esi + 0x604]
call fcn.0041a08e
push 1
lea ecx, [esi + 0x6bc]
call fcn.0041a08e
mov ecx, dword [esp + 0x58]
add ecx, 0xfffffff0
call fcn.00401aaa
mov ecx, dword [esp + 0x1c]
add ecx, 0xfffffff0
call fcn.00401aaa
lea ecx, [esp + 0xa8]
mov byte [esp + 0x11f8], 0x37
call fcn.0042096f
mov ecx, dword [esp + 0x50]
add ecx, 0xfffffff0
call fcn.00401aaa
mov ecx, dword [esp + 0x18]
add ecx, 0xfffffff0
call fcn.00401aaa
jmp 0x40bd3e