Function at 0x402940
Capabilities:
Check if file exists
Get file attributes

Disassembly:
push 0xa50
mov eax, 0x40a1b7
call fcn.00409e70
mov eax, dword [0x41376c]
xor ebx, ebx
mov dword [ebp - 0xa3c], eax
xor eax, eax
push 0x206
mov word [ebp - 0x218], ax
lea eax, [ebp - 0x216]
push ebx
push eax
call sub.VCRUNTIME140.dll_memset
mov esi, 0x208
lea eax, [ebp - 0x628]
push esi
push ebx
push eax
call sub.VCRUNTIME140.dll_memset
push esi
lea eax, [ebp - 0x420]
push ebx
push eax
call sub.VCRUNTIME140.dll_memset
add esp, 0x24
mov esi, 0x40b468
mov edx, esi
mov ecx, str.Entering_EnableChromeExtension
call fcn.0040172d
lea ecx, [ebp - 0x218]
call fcn.00401ea5
test al, al
je 0x402d4d
lea ecx, [ebp - 0x218]
lea edx, [ecx + 2]
mov ax, word [ecx]
add ecx, 2
cmp ax, bx
jne 0x4029c8
sub ecx, edx
sar ecx, 1
je 0x402d4d
mov dword [ebp - method.RegUtil.virtual_0], vtable.RegUtil.0
mov dword [ebp - 0xa48], ebx
mov dword [ebp - 0xa4c], ebx
push ecx
push ecx
mov dword [ebp - 4], ebx
call fcn.00408c1b
xor ebx, ebx
mov dword [ebp - 0xa44], eax
test eax, eax
setne bl
or dword [ebp - 4], 0xffffffff
xor ecx, ecx
call fcn.0040276d
xor ecx, ecx
mov edi, eax
inc ecx
call fcn.0040276d
push ecx
mov ecx, dword [ebp - 0xa3c]
mov esi, eax
push str.Stage1
push esi
push edi
mov edx, ebx
call fcn.0040281d
add esp, 0x10
lea ecx, [ebp - 0x628]
call fcn.00403a12
lea eax, [ebp - 0x218]
test esi, esi
je 0x402a55
push str.GoogleChrome_BetaUser_Data_
jmp 0x402a5a
push str.GoogleChromeUser_Data_
push 0x104
push eax
call dword [sym.imp.api_ms_win_crt_string_l1_1_0.dll_wcscat_s]
add esp, 0xc
lea eax, [ebp - 0x628]
push eax
lea eax, [ebp - 0x218]
push 0x104
push eax
call dword [sym.imp.api_ms_win_crt_string_l1_1_0.dll_wcscat_s]
lea eax, [ebp - 0x218]
push eax
lea eax, [ebp - 0x420]
push 0x104
push eax
call dword [sym.imp.api_ms_win_crt_string_l1_1_0.dll_wcscpy_s]
push str.Preferences
lea eax, [ebp - 0x218]
push 0x104
push eax
call dword [sym.imp.api_ms_win_crt_string_l1_1_0.dll_wcscat_s]
push str.Secure_Preferences
lea eax, [ebp - 0x420]
push 0x104
push eax
call dword [sym.imp.api_ms_win_crt_string_l1_1_0.dll_wcscat_s]
add esp, 0x30
lea eax, [ebp - 0x218]
push eax
call dword [sym.imp.KERNEL32.dll_GetFileAttributesW]
mov edx, ebx
push ecx
mov ecx, dword [ebp - 0xa3c]
cmp eax, 0xffffffff
je 0x402aee
push str.Stage21
jmp 0x402af3
push str.Stage20
push esi
push edi
call fcn.0040281d
add esp, 0x10
lea eax, [ebp - 0x420]
push eax
call dword [sym.imp.KERNEL32.dll_GetFileAttributesW]
mov edx, ebx
push ecx
mov ecx, dword [ebp - 0xa3c]
cmp eax, 0xffffffff
je 0x402b1f
push str.Stage31
jmp 0x402b24
push str.Stage30
push esi
push edi
call fcn.0040281d
add esp, 0x10
lea ecx, [ebp - 0x420]
call fcn.0040365f
mov dword [ebp - 0xa40], eax
cmp eax, 2
jbe 0x402be4
lea ecx, [ebp - 0x218]
call fcn.0040365f
mov dword [ebp - 0xa40], eax
call fcn.004035aa
mov ecx, eax
mov eax, dword [ebp - 0xa40]
push ecx
test eax, eax
jne 0x402b75
push str.Stage50
jmp 0x402c0d
cmp eax, 1
jne 0x402b84
push str.Stage51
jmp 0x402c0d
cmp eax, 2
jne 0x402b90
push str.Stage52
jmp 0x402c0d
mov edx, ebx
cmp eax, 0xfffffffd
jne 0x402baf
test ecx, ecx
mov ecx, dword [ebp - 0xa3c]
je 0x402ba8
push str.Stage531
jmp 0x402c15
push str.Stage530
jmp 0x402c15
cmp eax, 0xfffffffb
jne 0x402bcc
test ecx, ecx
mov ecx, dword [ebp - 0xa3c]
je 0x402bc5
push str.Stage551
jmp 0x402c15
push str.Stage550
jmp 0x402c15
test ecx, ecx
mov ecx, dword [ebp - 0xa3c]
je 0x402bdd
push str.Stage561
jmp 0x402c15
push str.Stage560
jmp 0x402c15
push ecx
test eax, eax
jne 0x402bf0
push str.Stage40
jmp 0x402c0d
cmp eax, 1
jne 0x402bfc
push str.Stage41
jmp 0x402c0d
cmp eax, 2
jne 0x402c08
push str.Stage42
jmp 0x402c0d
push str.Stage4X
mov ecx, dword [ebp - 0xa3c]
mov edx, ebx
push esi
push edi
call fcn.0040281d
add esp, 0x10
call fcn.004035aa
cmp dword [ebp - 0xa44], 0
mov edx, eax
jne 0x402c3b
test edi, edi
jne 0x402c3b
test esi, esi
jne 0x402c3b
xor ecx, ecx
jmp 0x402c3e
xor ecx, ecx
inc ecx
mov eax, dword [ebp - 0xa40]
cmp eax, 0xfffffffd
je 0x402c52
cmp eax, 0xfffffffb
jne 0x402d48
test edx, edx
jne 0x402d48
test ecx, ecx
je 0x402d48
push ecx
mov ecx, dword [ebp - 0xa3c]
mov edx, ebx
push str.Stage6
push esi
push edi
call fcn.0040281d
push 0x208
lea eax, [ebp - 0x830]
push 0
push eax
call sub.VCRUNTIME140.dll_memset
push str.HKEY_LOCAL_MACHINESOFTWAREGoogleChromeExtensionsefaidnbmnnnibpcajpcglclefindmkaj
lea eax, [ebp - 0x830]
push 0x104
push eax
call dword [sym.imp.api_ms_win_crt_string_l1_1_0.dll_wcscpy_s]
and dword [ebp - 0xa48], 0
and dword [ebp - 0xa4c], 0
mov dword [ebp - method.RegUtil.virtual_0], vtable.RegUtil.0
add esp, 0x1c
mov dword [ebp - 4], 1
lea eax, [ebp - 0x830]
push eax
call fcn.0040895f
push ecx
mov ecx, dword [ebp - 0xa3c]
mov edx, ebx
push str.Stage7
push esi
push edi
call fcn.0040281d
xor esi, esi
mov dword [ebp - method.RegUtil.virtual_0], vtable.RegUtil.0
mov dword [ebp - 0xa54], esi
mov dword [ebp - 0xa58], esi
push 0x208
lea eax, [ebp - 0xa38]
mov byte [ebp - 4], 2
push esi
push eax
call sub.VCRUNTIME140.dll_memset
add esp, 0x1c
lea edx, [ebp - 0xa38]
cmp dword [ebp - 0xa3c], 1
mov eax, str.SoftwareAdobeAcrobat_ReaderDCAVGeneral
mov ecx, str.SoftwareAdobeAdobe_AcrobatDCAVGeneral
cmove ecx, eax
call fcn.00403f5e
push esi
push 1
push str.bChromeExtnRepromptDone
lea ecx, [ebp - 0xa38]
push ecx
call fcn.00408ae9
xor eax, eax
inc eax
jmp 0x402d5c
mov edx, esi
mov ecx, str.EnableChromeExtension::_FAILED_to_get_local_appdata_folder_path
call fcn.0040172d
or eax, 0xffffffff
call fcn.00409e2e
ret