Function at 0x41a4c0
Capabilities:
Create thread

Disassembly:
mov eax, dword [0x441ff4]
sub esp, 0xc
test eax, eax
push ebx
push ebp
mov ebp, dword [sym.imp.KERNEL32.dll_GetLastError]
push esi
push edi
je 0x41a553
mov eax, dword [0x441fd4]
mov eax, dword [eax]
cmp eax, 3
je 0x41a4f2
mov ecx, dword [0x441fdc]
cmp dword [ecx], 0
jne 0x41a553
cmp eax, 3
jle 0x41a553
call dword [sym.imp.WS2_32.dll_WSAGetLastError]
mov esi, eax
call ebp
mov edi, eax
mov eax, dword [0x439d90]
test eax, eax
jge 0x41a513
mov edx, dword [0x441fa0]
mov dword [0x439d90], edx
call fcn.0041c4b1
test eax, eax
je 0x41a545
mov eax, dword [0x439d90]
push 3
push eax
push 0x6ae
push str.C:_build_rel_sp_8_4_6_2_srcwindows_atpclient_arr_srvs_body.cpp
call fcn.0041c4e1
push str.Array_VPN_Service__ver_8_4_6_40_:_DoDisonnect___n
call fcn.0041c506
add esp, 0x14
call fcn.0041c4cc
push esi
call dword [sym.imp.WS2_32.dll_WSASetLastError]
push edi
call dword [sym.imp.KERNEL32.dll_SetLastError]
mov edi, dword [sym.imp.KERNEL32.dll_OpenEventA]
push str.GlobalDisconnectCmd_Event
push 0
push 0x1f0003
call edi
mov ebx, dword [sym.imp.KERNEL32.dll_CloseHandle]
mov esi, eax
test esi, esi
je 0x41a688
mov eax, dword [0x441ff4]
test eax, eax
je 0x41a611
mov ecx, dword [0x441fd4]
mov eax, dword [ecx]
cmp eax, 3
je 0x41a5a1
mov edx, dword [0x441fdc]
cmp dword [edx], 0
jne 0x41a611
cmp eax, 3
jle 0x41a611
call dword [sym.imp.WS2_32.dll_WSAGetLastError]
mov ebp, eax
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov ebx, eax
mov eax, dword [0x439d90]
test eax, eax
jge 0x41a5c4
mov eax, dword [0x441fa0]
mov dword [0x439d90], eax
call fcn.0041c4b1
test eax, eax
je 0x41a5f7
mov ecx, dword [0x439d90]
push 3
push ecx
push 0x6b4
push str.C:_build_rel_sp_8_4_6_2_srcwindows_atpclient_arr_srvs_body.cpp
call fcn.0041c4e1
push str.DisconnectCmd_Thread_is_started_n
call fcn.0041c506
add esp, 0x14
call fcn.0041c4cc
push ebp
call dword [sym.imp.WS2_32.dll_WSASetLastError]
push ebx
call dword [sym.imp.KERNEL32.dll_SetLastError]
mov ebp, dword [sym.imp.KERNEL32.dll_GetLastError]
mov ebx, dword [sym.imp.KERNEL32.dll_CloseHandle]
push esi
call dword [sym.imp.KERNEL32.dll_SetEvent]
push esi
call ebx
xor esi, esi
push str.GlobalDisconnectCmd_Suc
push esi
push 0x1f0003
mov dword [esp + 0x20], esi
mov dword [esp + 0x24], esi
call edi
push str.GlobalDisconnectCmd_Fail
push esi
push 0x1f0003
mov dword [esp + 0x20], eax
call edi
mov ecx, dword [esp + 0x14]
mov dword [esp + 0x18], eax
cmp ecx, esi
je 0x41a67e
test eax, eax
je 0x41a67e
push 0xffffffffffffffff
lea edx, [esp + 0x18]
push esi
push edx
push 2
call dword [sym.imp.KERNEL32.dll_WaitForMultipleObjects]
mov esi, eax
mov eax, dword [esp + 0x14]
push eax
call ebx
mov ecx, dword [esp + 0x18]
push ecx
call ebx
cmp esi, 1
je 0x41ad25
jmp 0x41a688
push ecx
call ebx
mov edx, dword [esp + 0x18]
push edx
call ebx
mov ebx, dword [sym.imp.KERNEL32.dll_CreateEventA]
push str.ArrayL3DisConnectEvent
push 0
push 0
push 0
call ebx
test eax, eax
mov dword [esp + 0x14], eax
je 0x41a74d
call ebp
cmp eax, 0xb7
jne 0x41a74d
mov eax, dword [0x441ff4]
test eax, eax
je 0x41a73a
mov eax, dword [0x441fd4]
mov eax, dword [eax]
cmp eax, 2
je 0x41a6d9
mov ecx, dword [0x441fdc]
cmp dword [ecx], 0
jne 0x41a73a
cmp eax, 2
jle 0x41a73a
call dword [sym.imp.WS2_32.dll_WSAGetLastError]
mov esi, eax
call ebp
mov edi, eax
mov eax, dword [0x439d90]
test eax, eax
jge 0x41a6fa
mov edx, dword [0x441fa0]
mov dword [0x439d90], edx
call fcn.0041c4b1
test eax, eax
je 0x41a72c
mov eax, dword [0x439d90]
push 2
push eax
push 0x6d4
push str.C:_build_rel_sp_8_4_6_2_srcwindows_atpclient_arr_srvs_body.cpp
call fcn.0041c4e1
push str.Array_VPN_Service__ver_8_4_6_40_:_detected_active_L3_disconnect_attempt._quiting._n
call fcn.0041c506
add esp, 0x14
call fcn.0041c4cc
push esi
call dword [sym.imp.WS2_32.dll_WSASetLastError]
push edi
call dword [sym.imp.KERNEL32.dll_SetLastError]
mov ecx, dword [esp + 0x14]
push ecx
call dword [sym.imp.KERNEL32.dll_CloseHandle]
pop edi
pop esi
pop ebp
pop ebx
add esp, 0xc
ret
mov eax, dword [0x441ff4]
test eax, eax
je 0x41a7d4
mov edx, dword [0x441fd4]
mov eax, dword [edx]
cmp eax, 3
je 0x41a773
mov ecx, dword [0x441fdc]
cmp dword [ecx], 0
jne 0x41a7d4
cmp eax, 3
jle 0x41a7d4
call dword [sym.imp.WS2_32.dll_WSAGetLastError]
mov esi, eax
call ebp
mov edi, eax
mov eax, dword [0x439d90]
test eax, eax
jge 0x41a794
mov edx, dword [0x441fa0]
mov dword [0x439d90], edx
call fcn.0041c4b1
test eax, eax
je 0x41a7c6
mov eax, dword [0x439d90]
push 3
push eax
push 0x6d9
push str.C:_build_rel_sp_8_4_6_2_srcwindows_atpclient_arr_srvs_body.cpp
call fcn.0041c4e1
push str.Array_Service_8_4_6_40:_attempting_to_disconnect._n
call fcn.0041c506
add esp, 0x14
call fcn.0041c4cc
push esi
call dword [sym.imp.WS2_32.dll_WSASetLastError]
push edi
call dword [sym.imp.KERNEL32.dll_SetLastError]
mov eax, dword [esp + 0x24]
test eax, eax
jne 0x41a803
push 6
mov ecx, 0x442408
call fcn.004204c6
push 0
mov ecx, 0x442408
call fcn.004204e3
push str.Disconnecting...
mov ecx, 0x442408
call fcn.004200fb
push 1
call fcn.00414ec0
mov eax, dword [0x441e60]
add esp, 4
test eax, eax
je 0x41a8be
mov eax, dword [0x441ff4]
test eax, eax
je 0x41a8a0
mov ecx, dword [0x441fd4]
mov eax, dword [ecx]
cmp eax, 3
je 0x41a840
mov edx, dword [0x441fdc]
cmp dword [edx], 0
jne 0x41a8a0
cmp eax, 3
jle 0x41a8a0
call dword [sym.imp.WS2_32.dll_WSAGetLastError]
mov esi, eax
call ebp
mov edi, eax
mov eax, dword [0x439d90]
test eax, eax
jge 0x41a85f
mov eax, dword [0x441fa0]
mov dword [0x439d90], eax
call fcn.0041c4b1
test eax, eax
je 0x41a892
mov ecx, dword [0x439d90]
push 3
push ecx
push 0x6e6
push str.C:_build_rel_sp_8_4_6_2_srcwindows_atpclient_arr_srvs_body.cpp
call fcn.0041c4e1
push str.Array_Service_8_4_6_40:_disconnecting._n
call fcn.0041c506
add esp, 0x14
call fcn.0041c4cc
push esi
call dword [sym.imp.WS2_32.dll_WSASetLastError]
push edi
call dword [sym.imp.KERNEL32.dll_SetLastError]
push 0
push 0
push 0
push 1
push 2
push 0x10
call fcn.0041e7ec
add esp, 0x18
mov dword [0x441e60], 0
push 0
call fcn.00414ec0
add esp, 4
mov ecx, 0x442408
push 0
call fcn.00420362
push 0
mov ecx, 0x442408
call fcn.004204a9
push 0
mov ecx, 0x442408
call fcn.00420500
push 0
mov ecx, 0x442408
call fcn.0042051d
push str.None
mov ecx, 0x442408
call fcn.00420557
mov eax, dword [esp + 0x20]
test eax, eax
je 0x41aacc
mov eax, dword [0x441ff4]
test eax, eax
je 0x41a99a
mov edx, dword [0x441fd4]
mov eax, dword [edx]
cmp eax, 3
je 0x41a939
mov ecx, dword [0x441fdc]
cmp dword [ecx], 0
jne 0x41a99a
cmp eax, 3
jle 0x41a99a
call dword [sym.imp.WS2_32.dll_WSAGetLastError]
mov esi, eax
call ebp
mov edi, eax
mov eax, dword [0x439d90]
test eax, eax
jge 0x41a95a
mov edx, dword [0x441fa0]
mov dword [0x439d90], edx
call fcn.0041c4b1
test eax, eax
je 0x41a98c
mov eax, dword [0x439d90]
push 3
push eax
push 0x6f6
push str.C:_build_rel_sp_8_4_6_2_srcwindows_atpclient_arr_srvs_body.cpp
call fcn.0041c4e1
push str.Array_Service_8_4_6_40:_closeing_EXE._n
call fcn.0041c506
add esp, 0x14
call fcn.0041c4cc
push esi
call dword [sym.imp.WS2_32.dll_WSASetLastError]
push edi
call dword [sym.imp.KERNEL32.dll_SetLastError]
push str.GlobalArrayVPNStop
push 0
push 0
push 0
call ebx
mov ebx, eax
mov eax, dword [0x441ff4]
test ebx, ebx
je 0x41aa4a
test eax, eax
je 0x41aa37
mov ecx, dword [0x441fd4]
mov eax, dword [ecx]
cmp eax, 3
je 0x41a9d7
mov edx, dword [0x441fdc]
cmp dword [edx], 0
jne 0x41aa37
cmp eax, 3
jle 0x41aa37
call dword [sym.imp.WS2_32.dll_WSAGetLastError]
mov esi, eax
call ebp
mov edi, eax
mov eax, dword [0x439d90]
test eax, eax
jge 0x41a9f6
mov eax, dword [0x441fa0]
mov dword [0x439d90], eax
call fcn.0041c4b1
test eax, eax
je 0x41aa29
mov ecx, dword [0x439d90]
push 3
push ecx
push 0x6fa
push str.C:_build_rel_sp_8_4_6_2_srcwindows_atpclient_arr_srvs_body.cpp
call fcn.0041c4e1
push str.Array_Service_8_4_6_40:_setting_close_event._n
call fcn.0041c506
add esp, 0x14
call fcn.0041c4cc
push esi
call dword [sym.imp.WS2_32.dll_WSASetLastError]
push edi
call dword [sym.imp.KERNEL32.dll_SetLastError]
push ebx
call dword [sym.imp.KERNEL32.dll_SetEvent]
push ebx
call dword [sym.imp.KERNEL32.dll_CloseHandle]
jmp 0x41aacc
test eax, eax
je 0x41aacc
mov edx, dword [0x441fd4]
mov eax, dword [edx]
cmp eax, 2
je 0x41aa6b
mov ecx, dword [0x441fdc]
cmp dword [ecx], 0
jne 0x41aacc
cmp eax, 2
jle 0x41aacc
call dword [sym.imp.WS2_32.dll_WSAGetLastError]
mov esi, eax
call ebp
mov edi, eax
mov eax, dword [0x439d90]
test eax, eax
jge 0x41aa8c
mov edx, dword [0x441fa0]
mov dword [0x439d90], edx
call fcn.0041c4b1
test eax, eax
je 0x41aabe
mov eax, dword [0x439d90]
push 2
push eax
push 0x6ff
push str.C:_build_rel_sp_8_4_6_2_srcwindows_atpclient_arr_srvs_body.cpp
call fcn.0041c4e1
push str.Array_Service_8_4_6_40:_failed_to_open_stop_event._n
call fcn.0041c506
add esp, 0x14
call fcn.0041c4cc
push esi
call dword [sym.imp.WS2_32.dll_WSASetLastError]
push edi
call dword [sym.imp.KERNEL32.dll_SetLastError]
lea ecx, [esp + 0x13]
mov byte [esp + 0x13], 0
push ecx
call fcn.0041f84f
add esp, 4
test al, al
je 0x41aaef
mov al, byte [esp + 0x13]
test al, al
je 0x41aaef
call fcn.00406df0
mov eax, dword [esp + 0x14]
test eax, eax
je 0x41aafe
push eax
call dword [sym.imp.KERNEL32.dll_CloseHandle]
push 0
push 0
push 0
push 0
push 2
push 0x15
call fcn.0041e7ec
add esp, 0x18
xor bl, bl
mov eax, dword [0x441e28]
test eax, eax
jne 0x41ab3f
call fcn.004225b1
test eax, eax
je 0x41ab28
mov bl, 1
mov eax, dword [0x441e28]
test eax, eax
jne 0x41ab3f
push 0
call fcn.00422816
add esp, 4
test eax, eax
jne 0x41ab43
test bl, bl
je 0x41ab55
push 0
push 0
push 0x4102a0
call dword [sym.imp.MSVCRT.dll__beginthread]
add esp, 0xc
call fcn.00411770
call fcn.0041ad30
test eax, eax
je 0x41ac44
mov eax, dword [esp + 0x24]
test eax, eax
jne 0x41ad25
push 3
mov ecx, 0x442408
call fcn.004204c6
push 0
mov ecx, 0x442408
call fcn.004204e3
push str.Disconnected.
mov ecx, 0x442408
call fcn.004200fb
push 0x441e2c
mov ecx, 0x442408
call fcn.004202f3
mov eax, dword [0x441ff4]
test eax, eax
je 0x41ad25
mov edx, dword [0x441fd4]
mov eax, dword [edx]
cmp eax, 3
je 0x41abdb
mov ecx, dword [0x441fdc]
cmp dword [ecx], 0
jne 0x41ad25
cmp eax, 3
jle 0x41ad25
call dword [sym.imp.WS2_32.dll_WSAGetLastError]
mov esi, eax
call ebp
mov edi, eax
mov eax, dword [0x439d90]
test eax, eax
jge 0x41abfc
mov edx, dword [0x441fa0]
mov dword [0x439d90], edx
call fcn.0041c4b1
test eax, eax
je 0x41ac2e
mov eax, dword [0x439d90]
push 3
push eax
push 0x731
push str.C:_build_rel_sp_8_4_6_2_srcwindows_atpclient_arr_srvs_body.cpp
call fcn.0041c4e1
push str.Array_VPN_Service__ver_8_4_6_40_:_DoDisonnect__:_Disconnected_n
call fcn.0041c506
add esp, 0x14
call fcn.0041c4cc
push esi
call dword [sym.imp.WS2_32.dll_WSASetLastError]
push edi
call dword [sym.imp.KERNEL32.dll_SetLastError]
pop edi
pop esi
pop ebp
pop ebx
add esp, 0xc
ret
push 4
mov ecx, 0x442408
call fcn.004204c6
push 0
mov ecx, 0x442408
call fcn.004204e3
push 0x441e2c
mov ecx, 0x442408
call fcn.004202f3
push str.Some_VPN_components_cannot_be_stopped_or_killed__please_save_your_work_and_reboot_your_computer.
mov ecx, 0x442408
call fcn.004200fb
mov eax, dword [0x441ff4]
test eax, eax
je 0x41ad00
mov ecx, dword [0x441fd4]
mov eax, dword [ecx]
cmp eax, 1
je 0x41aca0
mov edx, dword [0x441fdc]
cmp dword [edx], 0
jne 0x41ad00
cmp eax, 1
jle 0x41ad00
call dword [sym.imp.WS2_32.dll_WSAGetLastError]
mov esi, eax
call ebp
mov edi, eax
mov eax, dword [0x439d90]
test eax, eax
jge 0x41acbf
mov eax, dword [0x441fa0]
mov dword [0x439d90], eax
call fcn.0041c4b1
test eax, eax
je 0x41acf2
mov ecx, dword [0x439d90]
push 1
push ecx
push 0x73b
push str.C:_build_rel_sp_8_4_6_2_srcwindows_atpclient_arr_srvs_body.cpp
call fcn.0041c4e1
push str.Array_VPN_Service__ver_8_4_6_40_:_DoDisonnect__:_Failed_to_disconnect_n
call fcn.0041c506
add esp, 0x14
call fcn.0041c4cc
push esi
call dword [sym.imp.WS2_32.dll_WSASetLastError]
push edi
call dword [sym.imp.KERNEL32.dll_SetLastError]
mov ecx, 0x442408
call fcn.00420a71
test eax, 0x80000000
jne 0x41ad25
push 0x40
push 0x436d98
push str.Some_VPN_components_cannot_be_stopped_or_killed__please_save_your_work_and_reboot_your_computer.
call fcn.0041dc48
add esp, 0xc
pop edi
pop esi
pop ebp
pop ebx
add esp, 0xc
ret