Function at 0x47a250
Capabilities:
Create thread

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x4bbba4
mov eax, dword fs:[0]
push eax
push ecx
mov eax, 0x106c
call fcn.004aeb70
mov eax, dword [0x50dc94]
xor eax, ebp
mov dword [ebp - 0x14], eax
push ebx
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov dword [ebp - 0x10], esp
mov edi, ecx
mov dword [ebp - 0x1050], edi
mov eax, dword [ebp + 0x10]
mov esi, dword [ebp + 0xc]
mov dword [ebp - 0x1040], eax
mov dword [ebp - 0x1054], eax
xor eax, eax
mov dword [ebp - 0x1044], eax
mov dword [ebp - 0x1048], eax
mov eax, dword [ebp + 8]
mov dword [ebp - 0x1064], edi
mov dword [ebp - 0x104c], esi
cmp eax, 0x510
ja 0x47a66d
je 0x47a49d
cmp eax, 0x11
je 0x47a485
cmp eax, 0x16
je 0x47a2f1
cmp eax, 0x53
jne case.0x47bbb0.1860
call fcn.0046c550
xor eax, eax
jmp 0x47a5e8
lea eax, [ebp - 0x1044]
push eax
call dword [sym.imp.KERNEL32.dll_GetCurrentProcessId]
push eax
call dword [sym.imp.KERNEL32.dll_ProcessIdToSessionId]
test eax, eax
je 0x47a327
push 0
push 0
push dword [ebp - 0x1044]
push 9
push 0x80d1
push str..pipeFC_886C0338_4742_41e3_B721_9BAB02678391
call fcn.004a8142
add esp, 0x18
mov eax, dword [ebp - 0x1040]
test eax, eax
jns 0x47a455
test byte [0x50f810], 1
je 0x47a359
push str.Logging_out_of_Windows
push str.___info
push 0x1654
push 0
push 0
call fcn.00421090
add esp, 0x14
push 0
push 1
mov ecx, edi
call fcn.00465190
test eax, eax
jne 0x47a40b
call fcn.004a81c0
test eax, eax
je 0x47a40b
push str.softwareFortinetFortiClientFA_IKE
push reloc.SHELL32.dll_SHChangeNotifyRegister
mov dword [ebp - 0x104c], 0
call fcn.004a7eca
add esp, 8
mov dword [ebp - 0x1048], eax
test eax, eax
je 0x47a40b
lea ecx, [ebp - 0x1050]
mov dword [ebp - 0x1050], 0
push ecx
push str.logoffoption
push eax
call fcn.004a7ed6
add esp, 0xc
test al, al
je 0x47a3d8
xor eax, eax
mov ecx, 1
cmp dword [ebp - 0x1050], eax
cmovne eax, ecx
mov dword [ebp - 0x104c], eax
push dword [ebp - 0x1048]
call fcn.004a7ed0
add esp, 4
cmp dword [ebp - 0x104c], 0
je 0x47a40b
push 3
call fcn.004a820e
add esp, 4
push 0x64
call dword [sym.imp.KERNEL32.dll_Sleep]
push 3
call fcn.004a820e
add esp, 4
push str.0EAC67E7_01D4_4889_808D_D5D4CC0DE2A8
call fcn.00471e00
add esp, 4
push 0xffffffffffffffff
push dword [edi + 0x604]
call dword [sym.imp.KERNEL32.dll_WaitForSingleObject]
mov eax, dword [edi + 0x614]
test eax, eax
je 0x47a443
mov dword [eax], 0
mov eax, dword [edi + 0x614]
mov dword [eax + 0x18], 0
push dword [edi + 0x604]
call dword [sym.imp.KERNEL32.dll_ReleaseMutex]
mov eax, dword [ebp - 0x1040]
push eax
push esi
push 0x16
mov ecx, edi
call fcn.004b2e00
mov eax, dword [edi]
mov esi, dword [eax + 0x68]
mov ecx, esi
call dword [0x4c66dc]
mov ecx, edi
call esi
push str.Session_logoff__FortiTray_Desktop_is_destroyed
call fcn.0045c450
add esp, 4
xor eax, eax
jmp 0x47a5e8
push dword [ebp - 0x1040]
push esi
push 0x11
call fcn.004b2e00
mov eax, 1
jmp 0x47a5e8
cmp esi, 1
jne 0x47a606
cmp dword [ebp - 0x1040], 0
jle 0x47a606
lea ecx, [ebp - 0x1044]
call dword [0x4c5d94]
mov eax, dword [ebp - 0x1040]
mov dword [ebp - 4], 0x18
cmp eax, esi
jne 0x47a4e9
lea eax, [ebp - 0x1048]
push eax
call fcn.0045b1f0
push dword [eax]
mov byte [ebp - 4], 0x19
push 0xc6
jmp 0x47a518
cmp eax, 7
jne 0x47a501
push 0xec
lea ecx, [ebp - 0x1044]
call dword [0x4c5fac]
jmp 0x47a538
lea eax, [ebp - 0x1048]
push eax
call fcn.0045b1f0
push dword [eax]
mov byte [ebp - 4], 0x1a
push 0xc7
lea eax, [ebp - 0x1044]
push eax
call dword [0x4c5da4]
add esp, 0x10
mov byte [ebp - 4], 0x18
lea ecx, [ebp - 0x1048]
call dword [0x4c5d9c]
push 0x420
lea eax, [ebp - 0xf04]
push 0
push eax
call fcn.004b493e
push 0x104
push dword [ebp - 0x1044]
lea eax, [ebp - 0xcfa]
push eax
call dword [0x4c5ac4]
add esp, 0x18
cmp dword [ebp - 0x1040], 3
jne 0x47a5ac
push 0
lea ecx, [ebp - 0xd0]
call fcn.0049eaa0
lea ecx, [ebp - 0xd0]
mov byte [ebp - 4], 0x1b
call fcn.004b2fa0
cmp byte [ebp - 0x28], 0
je 0x47a59f
lea eax, [ebp - 0xf04]
mov ecx, edi
push eax
call fcn.00472180
lea ecx, [ebp - 0xd0]
call fcn.004b2fe6
jmp 0x47a5ba
lea eax, [ebp - 0xf04]
mov ecx, edi
push eax
call fcn.00472180
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x1044]
call dword [0x4c5d9c]
mov eax, dword [ebp - 0x1040]
mov ecx, dword [ebp - 0x1050]
push eax
push dword [ebp - 0x104c]
push dword [ebp + 8]
call fcn.004b2e00
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 0x14]
xor ecx, ebp
call fcn.004ae9c0
mov esp, ebp
pop ebp
ret 0xc
cmp dword [0x540c18], 0
jne case.0x47bbb0.1860
push 1
call fcn.004a7fe4
add esp, 4
test eax, eax
jne 0x47a62b
push 0xc
call fcn.004a7fe4
add esp, 4
test eax, eax
je case.0x47bbb0.1860
mov eax, dword [ebp - 0x1040]
test al, 3
je 0x47a5d3
push dword [edi + 0x660]
call dword [sym.imp.USER32.dll_IsWindow]
test eax, eax
jne case.0x47bbb0.1860
mov eax, dword [edi + 0x640]
push 0
push 0xb3
mov esi, dword [eax + 0x16c]
mov ecx, esi
call dword [0x4c66dc]
lea ecx, [edi + 0x640]
call esi
jmp case.0x47bbb0.1860
cmp eax, 0x620
ja 0x47b4de
je 0x47b498
add eax, 0xfffffaef
cmp eax, 0x86
ja case.0x47bbb0.1860
movzx eax, byte [eax + 0x47bd08]
jmp dword [eax*4 + 0x47bcac]
lea eax, [ebp - 0x1050]
mov dword [ebp - 0x1050], 0
push eax
call dword [sym.imp.KERNEL32.dll_GetCurrentProcessId]
push eax
call dword [sym.imp.KERNEL32.dll_ProcessIdToSessionId]
lea ecx, [ebp - 0x1048]
call dword [0x4c5d94]
push 0x12d
lea ecx, [ebp - 0x1048]
mov dword [ebp - 4], 0
call dword [0x4c5fac]
lea ecx, [ebp - 0x104c]
call dword [0x4c5d94]
push 0x12e
lea ecx, [ebp - 0x104c]
mov byte [ebp - 4], 1
call dword [0x4c5fac]
push 0
push 1
push 0x4e1bbc
push 0x4e1bec
push dword [ebp - 0x1050]
call fcn.004a824a
add esp, 0x14
lea ecx, [ebp - 0x104c]
call dword [0x4c5d9c]
lea ecx, [ebp - 0x1048]
call dword [0x4c5d9c]
xor eax, eax
jmp 0x47a5e8
cmp esi, 1
jne 0x47a788
call fcn.004a81d2
test eax, eax
je 0x47a759
push 0
push 0
push 0x672
call fcn.0045c9f0
add esp, 0xc
cmp dword [0x54180c], 0
jne 0x47a77c
push 0
push 0x1388
push 0xed
push dword [edi + 0x20]
call dword [sym.imp.USER32.dll_SetTimer]
mov dword [0x54180c], eax
mov ecx, edi
call fcn.00464eb0
jmp case.0x47bbb0.1860
push 0xed
push dword [edi + 0x20]
call dword [sym.imp.USER32.dll_KillTimer]
push 0
push 0
push 0x583
mov dword [0x54180c], 0
call fcn.0045c9f0
add esp, 0xc
jmp case.0x47bbb0.1860
test esi, esi
je 0x47a7c4
call fcn.004a4ef0
jmp case.0x47bbb0.1860
call fcn.004a5000
jmp case.0x47bbb0.1860
push str.3C78D6CA_E541_4a55_B6AD_F91CA12EFBDF
call fcn.00471e00
add esp, 4
mov dword [0x541a44], 1
test byte [0x50f810], 2
je 0x47a80e
push 0x4e1c28
push 0x4cc2e4
push str.__debug
push 0x1514
push 0
push 0
call fcn.00421090
add esp, 0x18
mov ecx, dword [ebp - 0x1040]
lea eax, [ecx + 0x820]
push eax
lea eax, [ecx + 0x618]
push eax
lea eax, [ecx + 0x410]
push eax
push ecx
mov ecx, edi
call fcn.00472e00
jmp case.0x47bbb0.1860
push 0
push dword [ebp - 0x1040]
call fcn.00465590
jmp case.0x47bbb0.1860
test byte [0x50f810], 1
je 0x47a86c
push str.Received_msg_WM_USER_VPN_DISCONNECT
push str.___info
push 0x1564
push 0
push 0
call fcn.00421090
add esp, 0x14
mov dword [edi + 0x5c0], 1
test byte [0x50f810], 2
je 0x47a8a1
push 1
push 0x1566
push str._d_set_m_bStopSSLVPNThread_d
push str.__debug
push 0x1566
push 0
push 0
call fcn.00421090
add esp, 0x1c
push 0x20a
lea eax, [ebp - 0x220]
push 0
push eax
call fcn.004b493e
lea eax, [ebp - 0x220]
push 0x104
push eax
call fcn.004a81e4
add esp, 0x14
test byte [0x50f810], 1
je 0x47a8f8
lea eax, [ebp - 0x220]
push eax
push str.CFortiTrayDlg::WindowProc
push str._ws____cfg_get_vpn_connection_name___returned__ws
push str.___info
push 0x1569
push 0
push 0
call fcn.00421090
add esp, 0x1c
cmp word [ebp - 0x220], 0
jne 0x47aa55
cmp dword [edi + 0x614], 0
je 0x47a988
push 0xffffffffffffffff
push dword [edi + 0x604]
call dword [sym.imp.KERNEL32.dll_WaitForSingleObject]
mov eax, dword [edi + 0x614]
push 0xffffffffffffffff
add eax, 0x2c
push eax
lea eax, [ebp - 0x220]
push 0x105
push eax
call dword [0x4c5af0]
add esp, 0x10
push dword [edi + 0x604]
call dword [sym.imp.KERNEL32.dll_ReleaseMutex]
test byte [0x50f810], 1
je 0x47a97a
lea eax, [ebp - 0x220]
push eax
push str.CFortiTrayDlg::WindowProc
push str._ws____obtained_connection_name__ws_from_shared_memory
push str.___info
push 0x1570
push 0
push 0
call fcn.00421090
add esp, 0x1c
cmp word [ebp - 0x220], 0
jne 0x47aa55
push str.3C78D6CA_E541_4a55_B6AD_F91CA12EFBDF
call dword [sym.imp.KERNEL32.dll_GlobalFindAtomW]
test ax, ax
jne 0x47a9b5
push str.3C78D6CA_E541_4a55_B6AD_F91CA12EFBDF
call dword [sym.imp.KERNEL32.dll_GlobalAddAtomW]
push str.CFortiTrayDlg::WindowProc
push str._ws_Add_ATOM_VPN_DISALLOW_KEEPRUNNING
call fcn.0047c780
add esp, 8
push str.0EAC67E7_01D4_4889_808D_D5D4CC0DE2A8
call dword [sym.imp.KERNEL32.dll_GlobalFindAtomW]
test ax, ax
jne 0x47a9e2
push str.0EAC67E7_01D4_4889_808D_D5D4CC0DE2A8
call dword [sym.imp.KERNEL32.dll_GlobalAddAtomW]
push str.CFortiTrayDlg::WindowProc
push str._ws_Add_ATOM_VPN_DISALLOW_AUTOCONNECT
call fcn.0047c780
add esp, 8
cmp dword [edi + 0x614], 0
je 0x47aa42
push 0xffffffffffffffff
push dword [edi + 0x604]
call dword [sym.imp.KERNEL32.dll_WaitForSingleObject]
mov eax, dword [edi + 0x614]
mov dword [eax], 1
mov eax, dword [edi + 0x614]
mov dword [eax + 0x18], 0
mov eax, dword [edi + 0x614]
mov dword [eax + 4], 0
push dword [edi + 0x604]
call dword [sym.imp.KERNEL32.dll_ReleaseMutex]
push 0x1592
push str.CFortiTrayDlg::WindowProc
push str._ws__d_m_bDisconnectedManually_has_been_set_to_TRUE
call fcn.0047c780
add esp, 0xc
push 0
push 0x671
mov ecx, edi
call fcn.0046a5c0
jmp case.0x47bbb0.1860
lea eax, [ebp - 0x220]
mov esi, 1
push 0x5c
push eax
call fcn.004b4984
add esp, 8
test eax, eax
je 0x47aaab
xor ecx, ecx
mov word [eax], cx
add eax, 2
mov dword [ebp - 0x1048], eax
lea eax, [ebp - 0x220]
push str.Sslvpn
push eax
call dword [0x4c5ae4]
add esp, 8
mov ecx, edi
neg eax
sbb esi, esi
mov eax, dword [ebp - 0x1048]
inc esi
push esi
push eax
call fcn.00465590
jmp case.0x47bbb0.1860
lea eax, [ebp - 0x220]
mov ecx, edi
push esi
push eax
call fcn.00465590
jmp case.0x47bbb0.1860
test byte [0x50f810], 4
je case.0x47bbb0.1860
push str._WM_USER_VPN_REDUNDANT_SORT_is_not_used_anymore.
push str.warning
push 0x159d
push 0
push 0
call fcn.00421090
add esp, 0x14
jmp case.0x47bbb0.1860
test byte [0x50f810], 2
je 0x47ab15
push str.CFortiTrayDlg::DoSAMLClearCookies
push 0x4cc2e4
push str.__debug
push 0x1daa
push 0
push 0
call fcn.00421090
add esp, 0x18
call fcn.00495d80
jmp case.0x47bbb0.1860
push dword [ebp - 0x1040]
push esi
call fcn.0045c8b0
mov esi, eax
add esp, 8
test esi, esi
jne 0x47ab42
mov ecx, edi
call fcn.004794a0
mov eax, esi
jmp 0x47a5e8
push 0xffffffffffffffff
push dword [edi + 0x604]
call dword [sym.imp.KERNEL32.dll_WaitForSingleObject]
mov eax, dword [edi + 0x614]
test eax, eax
je 0x47abce
push 0x202
add eax, 0x1132
push 0
push eax
call fcn.004b493e
mov eax, dword [ebp - 0x1040]
push 0xffffffffffffffff
mov eax, dword [eax + 4]
add eax, 4
push eax
mov eax, dword [edi + 0x614]
add eax, 0x1132
push 0x101
push eax
call dword [0x4c5af0]
mov eax, dword [ebp - 0x1040]
push 0xffffffffffffffff
mov eax, dword [eax + 4]
add eax, 0x106
push eax
mov eax, dword [edi + 0x614]
add eax, 0x1334
push 0x101
push eax
call dword [0x4c5af0]
mov eax, dword [edi + 0x614]
add eax, 0x1334
push eax
call sub.libcfg.dll_cfg_hash_stringW
add esp, 0x30
push dword [edi + 0x604]
call dword [sym.imp.KERNEL32.dll_ReleaseMutex]
mov eax, esi
jmp 0x47a5e8
push dword [ebp - 0x1040]
push esi
call fcn.0045c9e0
add esp, 8
jmp 0x47a5e8
cmp dword [0x5400b0], 0
je case.0x47bbb0.1860
push dword [ebp - 0x1040]
push esi
call fcn.0045a790
add esp, 8
jmp case.0x47bbb0.1860
call fcn.00459c20
push 0
push 0x671
mov ecx, edi
call fcn.0046a5c0
jmp case.0x47bbb0.1860
call fcn.004794a0
cmp dword [ebp - 0x1040], 0
mov ecx, str.FA_IKE
mov eax, str.FA_SSLVPN
cmove eax, ecx
push eax
call fcn.004a8052
add esp, 4
mov esi, eax
mov ecx, 0x50d678
mov dword [ebp - 0x1054], esi
call fcn.00410380
test esi, esi
je case.0x47bbb0.1860
call fcn.0042a440
call fcn.0042a450
test eax, eax
jne 0x47b181
lea eax, [ebp - 0x1060]
push eax
call fcn.004283b0
add esp, 4
mov edi, dword [ebp - 0x1060]
mov eax, dword [ebp - 0x105c]
mov dword [ebp - 4], 0x10
cmp edi, eax
je 0x47b170
nop word [eax + eax]
mov ecx, dword [edi]
cmp dword [ecx + 8], 0
jne 0x47b165
lea eax, [ebp - 0x1078]
push eax
call fcn.00428490
mov esi, dword [ebp - 0x1078]
mov byte [ebp - 4], 0x11
cmp esi, dword [ebp - 0x1074]
je 0x47b150
nop
mov eax, dword [esi]
lea ecx, [ebp - 0xa54]
add eax, 0x24
push eax
call fcn.00410760
mov eax, dword [ebp - 0x1044]
or eax, 0x10
mov dword [ebp - 0x1044], eax
mov dword [ebp - 0x1048], eax
cmp dword [ebp - 0xa44], 0
mov byte [ebp - 4], 0x12
jne 0x47ad32
mov ecx, dword [esi]
lea eax, [ebp - 0xa3c]
push eax
call fcn.00428600
mov ecx, eax
mov eax, dword [ebp - 0x1044]
mov byte [ebp - 4], 0x13
or eax, 1
jmp 0x47ad59
mov eax, dword [esi]
lea ecx, [ebp - 0xa6c]
add eax, 0x24
push eax
call fcn.00410760
mov eax, dword [ebp - 0x1044]
lea ecx, [ebp - 0xa6c]
mov dword [ebp - 4], 0x14
or eax, 0x22
push 0x4e1de0
mov dword [ebp - 0x1048], eax
mov dword [ebp - 0x1044], eax
lea eax, [ebp - 0xa84]
push ecx
push eax
call fcn.004580a0
add esp, 0xc
push eax
mov ecx, 0x50d678
mov dword [ebp - 4], 0x15
call fcn.00462dd0
mov edx, dword [ebp - 0xa70]
mov byte [ebp - 4], 0x14
cmp edx, 8
jb 0x47add0
mov ecx, dword [ebp - 0xa84]
lea edx, [edx*2 + 2]
mov eax, ecx
cmp edx, 0x1000
jb 0x47adc6
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x47b915
push edx
push ecx
call fcn.004aebf7
add esp, 8
xor eax, eax
mov dword [ebp - 0xa74], 0
mov word [ebp - 0xa84], ax
mov eax, dword [ebp - 0x1044]
mov dword [ebp - 0xa70], 7
mov dword [ebp - 4], 0x13
test al, 2
je 0x47ae6a
mov edx, dword [ebp - 0xa58]
and eax, 0xfffffffd
mov dword [ebp - 0x1044], eax
cmp edx, 8
jb 0x47ae4d
mov ecx, dword [ebp - 0xa6c]
lea edx, [edx*2 + 2]
mov eax, ecx
cmp edx, 0x1000
jb 0x47ae3d
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x47b915
push edx
push ecx
call fcn.004aebf7
mov eax, dword [ebp - 0x1044]
add esp, 8
xor ecx, ecx
mov dword [ebp - 0xa5c], 0
mov dword [ebp - 0xa58], 7
mov word [ebp - 0xa6c], cx
mov dword [ebp - 4], 0x12
test al, 1
je 0x47aedb
mov edx, dword [ebp - 0xa28]
and eax, 0xfffffffe
mov dword [ebp - 0x1044], eax
cmp edx, 8
jb 0x47aebe
mov ecx, dword [ebp - 0xa3c]
lea edx, [edx*2 + 2]
mov eax, ecx
cmp edx, 0x1000
jb 0x47aeb4
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x47b915
push edx
push ecx
call fcn.004aebf7
add esp, 8
xor eax, eax
mov dword [ebp - 0xa2c], 0
mov dword [ebp - 0xa28], 7
mov word [ebp - 0xa3c], ax
mov edx, dword [ebp - 0xa40]
mov byte [ebp - 4], 0x11
cmp edx, 8
jb 0x47af1f
mov ecx, dword [ebp - 0xa54]
lea edx, [edx*2 + 2]
mov eax, ecx
cmp edx, 0x1000
jb 0x47af15
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x47b915
push edx
push ecx
call fcn.004aebf7
add esp, 8
mov ecx, dword [esi]
lea eax, [ebp - 0xa54]
push eax
call fcn.00428600
cmp dword [eax + 0x14], 8
jb 0x47af35
mov eax, dword [eax]
cmp dword [ebp - 0x1040], 0
mov ecx, 0x1795d
push eax
push 0x4e1de8
mov eax, 0x1793f
cmovne eax, ecx
push 2
push eax
call fcn.004a8136
mov edx, dword [ebp - 0xa40]
add esp, 0x10
cmp edx, 8
jb 0x47af9a
mov ecx, dword [ebp - 0xa54]
lea edx, [edx*2 + 2]
mov eax, ecx
cmp edx, 0x1000
jb 0x47af90
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x47b915
push edx
push ecx
call fcn.004aebf7
add esp, 8
mov eax, dword [esi]
lea ecx, [ebp - 0xa9c]
add eax, 0x24
push eax
call fcn.00410760
mov eax, dword [ebp - 0x1044]
or eax, 0x40
mov dword [ebp - 0x1044], eax
mov dword [ebp - 0x1048], eax
cmp dword [ebp - 0xa8c], 0
mov byte [ebp - 4], 0x16
jne 0x47afea
mov ecx, dword [esi]
lea eax, [ebp - 0xa3c]
push eax
call fcn.00428600
mov ecx, eax
or dword [ebp - 0x1044], 4
mov byte [ebp - 4], 0x17
jmp 0x47b00b
mov eax, dword [esi]
lea ecx, [ebp - 0xa54]
add eax, 0x24
push eax
call fcn.00410760
or dword [ebp - 0x1044], 0x88
lea ecx, [ebp - 0xa54]
movups xmm0, xmmword [ecx]
sub esp, 0x18
mov eax, esp
push str._s_is_not_running
push dword [ebp - 0x1054]
movups xmmword [eax], xmm0
movq xmm0, qword [ecx + 0x10]
movq qword [eax + 0x10], xmm0
call fcn.004a7fa2
mov eax, dword [ebp - 0x1044]
add esp, 0x20
test al, 8
je 0x47b08c
mov edx, dword [ebp - 0xa40]
and eax, 0xfffffff7
mov dword [ebp - 0x1044], eax
cmp edx, 8
jb 0x47b08c
mov ecx, dword [ebp - 0xa54]
lea edx, [edx*2 + 2]
mov eax, ecx
cmp edx, 0x1000
jb 0x47b07c
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x47b915
push edx
push ecx
call fcn.004aebf7
mov eax, dword [ebp - 0x1044]
add esp, 8
mov dword [ebp - 4], 0x16
test al, 4
je 0x47b0fd
mov edx, dword [ebp - 0xa28]
and eax, 0xfffffffb
mov dword [ebp - 0x1044], eax
cmp edx, 8
jb 0x47b0e0
mov ecx, dword [ebp - 0xa3c]
lea edx, [edx*2 + 2]
mov eax, ecx
cmp edx, 0x1000
jb 0x47b0d6
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x47b915
push edx
push ecx
call fcn.004aebf7
add esp, 8
xor eax, eax
mov dword [ebp - 0xa2c], 0
mov dword [ebp - 0xa28], 7
mov word [ebp - 0xa3c], ax
mov edx, dword [ebp - 0xa88]
mov byte [ebp - 4], 0x11
cmp edx, 8
jb 0x47b141
mov ecx, dword [ebp - 0xa9c]
lea edx, [edx*2 + 2]
mov eax, ecx
cmp edx, 0x1000
jb 0x47b137
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x47b915
push edx
push ecx
call fcn.004aebf7
add esp, 8
add esi, 4
cmp esi, dword [ebp - 0x1074]
jne 0x47ace0
lea ecx, [ebp - 0x1078]
mov byte [ebp - 4], 0x10
call fcn.00427f30
mov eax, dword [ebp - 0x105c]
add edi, 4
cmp edi, eax
jne 0x47acb0
lea ecx, [ebp - 0x1060]
call fcn.00427f90
mov edi, dword [ebp - 0x1050]
push 0
push 0xa
push 0xec
push dword [edi + 0x20]
call dword [sym.imp.USER32.dll_SetTimer]
xor eax, eax
jmp 0x47a5e8
call fcn.0045a8d0
mov esi, eax
test esi, esi
jne 0x47abda
mov ecx, edi
call fcn.004794a0
mov eax, esi
jmp 0x47a5e8
push dword [ebp - 0x1040]
push esi
call fcn.0045a5b0
mov esi, eax
add esp, 8
test esi, esi
jne 0x47abda
mov ecx, edi
call fcn.004794a0
push esi
push 0x671
mov ecx, edi
call fcn.0046a5c0
mov eax, esi
jmp 0x47a5e8
push dword [ebp - 0x1040]
push str.Received_WM_USER_UPDATE_SUCCESS_message__lParam0x_lx
call fcn.0045c450
add esp, 8
push dword [edi + 0x660]
call dword [sym.imp.USER32.dll_IsWindow]
test eax, eax
je 0x47b226
push dword [ebp - 0x1040]
push esi
push 0x511
push dword [edi + 0x660]
call dword [sym.imp.USER32.dll_SendMessageW]
call fcn.004a808e
mov dword [0x540c18], eax
call fcn.0049c540
test eax, eax
jne 0x47b26c
call fcn.0047d6f0
test eax, eax
je 0x47b26c
call fcn.004a816c
test eax, eax
je case.0x47bbb0.1860
call fcn.0047d7e0
test eax, eax
jne 0x47b26c
push eax
push 0x2710
push 0xe1
push dword [edi + 0x20]
call dword [sym.imp.USER32.dll_SetTimer]
mov eax, dword [ebp - 0x1040]
cmp eax, 1
je 0x47a5d3
mov ecx, edi
call fcn.004722d0
call fcn.004a7fba
jmp case.0x47bbb0.1860
push 1
call fcn.004a7fe4
add esp, 4
test eax, eax
jne 0x47b2ac
push 0xc
call fcn.004a7fe4
add esp, 4
test eax, eax
je case.0x47bbb0.1860
cmp dword [0x540c18], 0
jne case.0x47bbb0.1860
push dword [edi + 0x660]
call dword [sym.imp.USER32.dll_IsWindow]
test eax, eax
jne 0x47b2f2
mov eax, dword [edi + 0x640]
push 0
push 0xb3
mov esi, dword [eax + 0x16c]
mov ecx, esi
call dword [0x4c66dc]
lea ecx, [edi + 0x640]
call esi
mov esi, dword [ebp - 0x104c]
push dword [edi + 0x660]
call dword [sym.imp.USER32.dll_IsIconic]
test eax, eax
jne 0x47b30d
lea ecx, [edi + 0x640]
call fcn.00485fc0
push dword [edi + 0x660]
call dword [sym.imp.USER32.dll_IsWindow]
test eax, eax
je case.0x47bbb0.1860
push dword [ebp - 0x1040]
push esi
push 0x592
push dword [edi + 0x660]
call dword [sym.imp.USER32.dll_SendMessageW]
jmp case.0x47bbb0.1860
cmp dword [edi + 0xd0], 0
je 0x47b35c
mov ecx, dword [edi + 0xe0]
push 0
push 0
push 0
push 0
push 0
call fcn.0049df50
cmp dword [0x540c18], 0
jne 0x47b3bf
push 1
call fcn.004a7fe4
add esp, 4
test eax, eax
je 0x47b3bf
push dword [edi + 0x660]
call dword [sym.imp.USER32.dll_IsWindow]
test eax, eax
je 0x47b3bf
push dword [edi + 0x660]
call dword [sym.imp.USER32.dll_IsIconic]
test eax, eax
jne 0x47b39e
lea ecx, [edi + 0x640]
call fcn.00485fc0
cmp dword [edi + 0x6ec], 0
je 0x47b3bf
push dword [ebp - 0x1040]
push esi
push 0x512
push dword [edi + 0x660]
call dword [sym.imp.USER32.dll_SendMessageW]
cmp esi, 0x258
jne 0x47b3cf
push esi
mov ecx, edi
call fcn.0047d500
call fcn.004a808e
mov dword [0x540c18], eax
jmp case.0x47bbb0.1860
call fcn.00482d10
jmp case.0x47bbb0.1860
cmp dword [edi + 0xe0], 0
je case.0x47bbb0.1860
push esi
call fcn.00472180
jmp case.0x47bbb0.1860
mov ecx, dword [edi + 0xe0]
test ecx, ecx
je case.0x47bbb0.1860
call fcn.0049d510
jmp case.0x47bbb0.1860
call fcn.004722d0
push 2
call fcn.004a7fe4
add esp, 4
test eax, eax
jne 0x47b451
push 0xb
call fcn.004a7fe4
add esp, 4
test eax, eax
jne 0x47b451
push 0xdc
mov dword [0x541a34], eax
push dword [edi + 0x20]
call dword [sym.imp.USER32.dll_KillTimer]
jmp case.0x47bbb0.1860
push 0
push 0x3e8
push 0xdc
mov dword [0x541a34], 1
push dword [edi + 0x20]
call dword [sym.imp.USER32.dll_SetTimer]
push 0xee
push dword [edi + 0x20]
call dword [sym.imp.USER32.dll_KillTimer]
push 0
push 0x1388
push 0xee
push dword [edi + 0x20]
call dword [sym.imp.USER32.dll_SetTimer]
jmp case.0x47bbb0.1860
lea ecx, [ebp - 0x1048]
call dword [0x4c5d94]
push 0x104
lea ecx, [ebp - 0x1048]
mov dword [ebp - 4], 0x1c
call dword [0x4c5fac]
push 0
push dword [ebp - 0x1048]
call fcn.004a8244
add esp, 8
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x1048]
jmp 0x47a5c7
cmp eax, 0x740
ja 0x47bba2
je 0x47b541
cmp eax, 0x622
jne case.0x47bbb0.1860
push 0xdf
push dword [edi + 0x20]
call dword [sym.imp.USER32.dll_KillTimer]
cmp dword [0x50d65c], 0xffffffff
je case.0x47bbb0.1860
mov eax, dword [0x541a40]
test eax, eax
je case.0x47bbb0.1860
cmp eax, 0xffffffff
je case.0x47bbb0.1860
push 0
push 0x1388
push 0xdf
push dword [edi + 0x20]
call dword [sym.imp.USER32.dll_SetTimer]
jmp case.0x47bbb0.1860
test byte [0x50f810], 1
je 0x47b56a
push 0x4e1c28
push str._s___WM_USER_SSL_CONNECT
push str.___info
push 0x151e
push 0
push 0
call fcn.00421090
add esp, 0x18
push str.3C78D6CA_E541_4a55_B6AD_F91CA12EFBDF
call fcn.00471e00
push 2
call dword [0x4c6394]
add esp, 8
mov dword [0x541a44], 1
lea ecx, [ebp - 0xd0]
call fcn.004618c0
xor eax, eax
mov dword [ebp - 4], 2
mov dword [ebp - 0xabc], 0
mov dword [ebp - 0xab8], 7
mov word [ebp - 0xacc], ax
push eax
lea eax, [ebp - 0xd0]
mov byte [ebp - 4], 3
push eax
push dword [ebp - 0x1040]
call fcn.00480450
add esp, 0xc
test eax, eax
je 0x47bb77
test byte [0x50f810], 1
je 0x47b601
push dword [ebp - 0x38]
push str.WM_USER_SSL_CONNECT_received._vpnconn.m_bRedundantMode_d
push str.___info
push 0x152c
push 0
push 0
call fcn.00421090
add esp, 0x18
push 0x802
lea eax, [ebp - 0xa24]
push 0
push eax
call fcn.004b493e
add esp, 0xc
cmp dword [ebp - 0x38], 0
je 0x47b750
lea ecx, [ebp - 0x103c]
call fcn.00461770
mov dword [ebp - 0x105c], 0
mov dword [ebp - 0x1058], 0
lea eax, [ebp - 0x106c]
mov byte [ebp - 4], 6
push eax
lea ecx, [ebp - 0x103c]
call fcn.0047ce20
push eax
lea ecx, [ebp - 0x105c]
call fcn.00462880
lea ecx, [ebp - 0x106c]
call fcn.00461d70
mov ecx, dword [ebp - 0x105c]
mov dword [ebp - 4], 5
test ecx, ecx
je 0x47b6ef
push dword [ebp - 0x1040]
call fcn.004a7dbe
jmp 0x47b718
test byte [0x50f810], 8
je 0x47b718
push 0x4e1c28
push str._s_sslvpn_obj_is_null
push str.__error
push 0x153e
push 0
push 0
call fcn.00421090
add esp, 0x18
push 0
push 0x400
lea eax, [ebp - 0xa24]
push eax
push dword [ebp - 0x1040]
call fcn.004a8238
add esp, 0x10
lea ecx, [ebp - 0x105c]
call fcn.00461d70
lea ecx, [ebp - 0x103c]
mov byte [ebp - 4], 3
call fcn.00462740
jmp 0x47b79e
test byte [0x50f810], 1
je 0x47b77b
lea eax, [ebp - 0xa24]
push eax
push str.Get_redundant_server:__ws
push str.___info
push 0x1545
push 0
push 0
call fcn.00421090
add esp, 0x18
mov eax, dword [ebp - 0x1040]
push 0xffffffffffffffff
add eax, 0x208
push eax
lea eax, [ebp - 0xa24]
push 0x400
push eax
call dword [0x4c5af0]
add esp, 0x10
mov eax, dword [ebp - 0x1040]
lea ecx, [ebp - 0xae4]
add eax, 0x1dee8
mov dword [ebp - 0x1068], edi
push eax
mov dword [ebp - 0x1058], 0x467be0
call fcn.004106c0
mov dword [ebp - 0x1064], eax
mov ecx, dword [ebp - 0x1040]
add ecx, 0xa28
mov byte [ebp - 4], 8
push ecx
lea ecx, [ebp - 0xa54]
call fcn.004106c0
mov dword [ebp - 0x1054], eax
mov ecx, dword [ebp - 0x1040]
add ecx, 0x820
mov byte [ebp - 4], 9
push ecx
lea ecx, [ebp - 0xa9c]
call fcn.004106c0
mov dword [ebp - 0x1048], eax
mov ecx, dword [ebp - 0x1040]
add ecx, 0x618
mov byte [ebp - 4], 0xa
push ecx
lea ecx, [ebp - 0xab4]
call fcn.004106c0
mov dword [ebp - 0x1044], eax
mov ecx, dword [ebp - 0x1040]
add ecx, 0x410
mov byte [ebp - 4], 0xb
push ecx
lea ecx, [ebp - 0xa6c]
call fcn.004106c0
mov edi, eax
lea eax, [ebp - 0xa24]
mov byte [ebp - 4], 0xc
push eax
lea ecx, [ebp - 0xa84]
call fcn.004106c0
mov esi, eax
push dword [ebp - 0x1040]
lea ecx, [ebp - 0xa3c]
mov byte [ebp - 4], 0xd
call fcn.004106c0
lea ecx, [ebp - 0x38]
mov byte [ebp - 4], 0xe
push ecx
push dword [ebp - 0x1064]
lea ecx, [ebp - 0x1c]
push dword [ebp - 0x1054]
push ecx
push dword [ebp - 0x1048]
lea ecx, [ebp - 0x1074]
push dword [ebp - 0x1044]
push edi
push esi
push eax
lea eax, [ebp - 0x1068]
push eax
lea eax, [ebp - 0x1058]
push eax
call fcn.0045fa20
mov ecx, eax
mov byte [ebp - 4], 0xf
call fcn.0047cab0
cmp dword [ebp - 0x1070], 0
mov byte [ebp - 4], 0xe
setne al
test al, al
je 0x47b8df
call dword [0x4c59e8]
mov edx, dword [ebp - 0xa28]
mov byte [ebp - 4], 0xd
cmp edx, 8
jb 0x47b925
mov ecx, dword [ebp - 0xa3c]
lea edx, [edx*2 + 2]
mov eax, ecx
cmp edx, 0x1000
jb 0x47b91b
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
jbe 0x47b91b
call dword [0x4c59b0]
push edx
push ecx
call fcn.004aebf7
add esp, 8
mov edx, dword [ebp - 0xa70]
xor eax, eax
mov dword [ebp - 0xa2c], 0
mov dword [ebp - 0xa28], 7
mov word [ebp - 0xa3c], ax
mov byte [ebp - 4], 0xc
cmp edx, 8
jb 0x47b988
mov ecx, dword [ebp - 0xa84]
lea edx, [edx*2 + 2]
mov eax, ecx
cmp edx, 0x1000
jb 0x47b97e
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
jbe 0x47b97e
call dword [0x4c59b0]
push edx
push ecx
call fcn.004aebf7
add esp, 8
mov edx, dword [ebp - 0xa58]
xor eax, eax
mov dword [ebp - 0xa74], 0
mov dword [ebp - 0xa70], 7
mov word [ebp - 0xa84], ax
mov byte [ebp - 4], 0xb
cmp edx, 8
jb 0x47b9eb
mov ecx, dword [ebp - 0xa6c]
lea edx, [edx*2 + 2]
mov eax, ecx
cmp edx, 0x1000
jb 0x47b9e1
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
jbe 0x47b9e1
call dword [0x4c59b0]
push edx
push ecx
call fcn.004aebf7
add esp, 8
mov edx, dword [ebp - 0xaa0]
xor eax, eax
mov dword [ebp - 0xa5c], 0
mov dword [ebp - 0xa58], 7
mov word [ebp - 0xa6c], ax
mov byte [ebp - 4], 0xa
cmp edx, 8
jb 0x47ba4e
mov ecx, dword [ebp - 0xab4]
lea edx, [edx*2 + 2]
mov eax, ecx
cmp edx, 0x1000
jb 0x47ba44
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
jbe 0x47ba44
call dword [0x4c59b0]
push edx
push ecx
call fcn.004aebf7
add esp, 8
mov edx, dword [ebp - 0xa88]
xor eax, eax
mov dword [ebp - 0xaa4], 0
mov dword [ebp - 0xaa0], 7
mov word [ebp - 0xab4], ax
mov byte [ebp - 4], 9
cmp edx, 8
jb 0x47bab1
mov ecx, dword [ebp - 0xa9c]
lea edx, [edx*2 + 2]
mov eax, ecx
cmp edx, 0x1000
jb 0x47baa7
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
jbe 0x47baa7
call dword [0x4c59b0]
push edx
push ecx
call fcn.004aebf7
add esp, 8
mov edx, dword [ebp - 0xa40]
xor eax, eax
mov dword [ebp - 0xa8c], 0
mov dword [ebp - 0xa88], 7
mov word [ebp - 0xa9c], ax
mov byte [ebp - 4], 8
cmp edx, 8
jb 0x47bb14
mov ecx, dword [ebp - 0xa54]
lea edx, [edx*2 + 2]
mov eax, ecx
cmp edx, 0x1000
jb 0x47bb0a
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
jbe 0x47bb0a
call dword [0x4c59b0]
push edx
push ecx
call fcn.004aebf7
add esp, 8
mov edx, dword [ebp - 0xad0]
xor eax, eax
mov dword [ebp - 0xa44], 0
mov dword [ebp - 0xa40], 7
mov word [ebp - 0xa54], ax
mov byte [ebp - 4], 3
cmp edx, 8
jb 0x47bb77
mov ecx, dword [ebp - 0xae4]
lea edx, [edx*2 + 2]
mov eax, ecx
cmp edx, 0x1000
jb 0x47bb6d
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
jbe 0x47bb6d
call dword [0x4c59b0]
push edx
push ecx
call fcn.004aebf7
add esp, 8
mov eax, dword [ebp - 0x1040]
test eax, eax
je 0x47bb8b
push eax
call dword [0x4c5958]
add esp, 4
lea ecx, [ebp - 0xd0]
mov dword [ebp - 4], 0xffffffff
call fcn.004627f0
jmp case.0x47bbb0.1860
add eax, 0xfffff8bf
cmp eax, 4
ja case.0x47bbb0.1860
jmp dword [eax*4 + 0x47bd90]
push 1
push dword [ebp - 0x1040]
call fcn.00465590
jmp case.0x47bbb0.1860
call fcn.004a81a8
mov edx, eax
mov eax, dword [ebp - 0x1040]
test edx, edx
je 0x47bbdf
mov ecx, dword [eax]
mov dword [edx + 4], ecx
mov eax, dword [eax]
mov dword [edi + 0x628], eax
cmp dword [0x541a30], 0
mov eax, dword [ebp - 0x1040]
je 0x47a5d3
mov ecx, dword [eax]
mov eax, dword [0x541a4c]
mov dword [eax + 0x460], ecx
jmp case.0x47bbb0.1860
push 0
push 0
push 0x541a58
push 0x4815f0
push 0
push 0
mov dword [0x541a58], esi
call dword [sym.imp.KERNEL32.dll_CreateThread]
test eax, eax
je case.0x47bbb0.1860
push eax
call dword [sym.imp.KERNEL32.dll_CloseHandle]
jmp case.0x47bbb0.1860
mov ecx, dword [0x541a4c]
xorps xmm0, xmm0
movlpd qword [ebp - 0x106c], xmm0
movlpd qword [ebp - 0x105c], xmm0
test ecx, ecx
je case.0x47bbb0.1860
lea eax, [ebp - 0x105c]
push eax
lea eax, [ebp - 0x106c]
push eax
call fcn.004a7d9a
mov edx, dword [ebp - 0x1040]
mov eax, dword [ebp - 0x105c]
mov ecx, dword [edx + 4]
mov dword [ecx], eax
mov eax, dword [ebp - 0x1058]
mov dword [ecx + 4], eax
mov ecx, dword [edx + 4]
mov eax, dword [ebp - 0x106c]
mov dword [ecx + 8], eax
mov eax, dword [ebp - 0x1068]
mov dword [ecx + 0xc], eax
mov eax, 1
jmp 0x47a5e8