Function at 0x1800156b8
Capabilities:
Get common file path

Disassembly:
mov r11, rsp
push rbp
push rsi
push rdi
push r12
push r13
sub rsp, 0xb80
mov qword [rsp + 0x250], 0xfffffffffffffffe
mov qword [r11 + 0x18], rbx
mov rax, qword [0x18010e350]
xor rax, rsp
mov qword [rsp + 0xb70], rax
mov r12, rdx
mov rbp, rcx
test rcx, rcx
je 0x180016945
cmp word [rcx], 0
je 0x180016945
test rdx, rdx
je 0x180016945
cmp word [rdx], 0
je 0x180016945
xor edx, edx
lea rcx, [r11 - 0xae8]
call fcn.180078790
nop
mov dword [rsp + 0x20], 1
mov r9d, reloc.OLEAUT32.dll_VarI4FromDisp
lea r8d, [r9 - 0x20]
mov rdx, rbp
lea rcx, [rsp + 0x700]
call fcn.1800153c0
nop
lea rcx, [rsp + 0x890]
call fcn.180082b00
nop
mov r9b, 1
lea r8, [rsp + 0xc0]
lea rdx, [rsp + 0x700]
lea rcx, [rsp + 0x890]
call fcn.180086220
xor edi, edi
mov ecx, 0x3ee
test al, al
cmove edi, ecx
lea rcx, [rsp + 0x700]
call fcn.180014c78
nop
lea rcx, [rsp + 0x890]
call fcn.180015350
nop
lea rcx, [rsp + 0x700]
call fcn.180014bd4
xor edx, edx
lea rcx, [rsp + 0x60]
call fcn.180078790
nop
test edi, edi
js 0x1800157f2
lea rdx, str.addons
lea rcx, [rsp + 0xc0]
call fcn.18007d000
mov rdx, rax
lea rcx, [rsp + 0x60]
call fcn.18007b3a0
lea rcx, [rsp + 0x60]
call fcn.180070e80
mov ecx, 0x8000ffff
test al, al
cmove edi, ecx
xor bl, bl
xor r13b, r13b
test edi, edi
js 0x18001692b
xor esi, esi
lea rcx, [rsp + 0x60]
call fcn.180074240
test eax, eax
je 0x180015c34
mov edx, esi
lea rcx, [rsp + 0x60]
call fcn.18007c160
mov rdx, rax
lea rcx, [rsp + 0x48]
call fcn.18007b1b0
nop
lea rcx, [rsp + 0x48]
call fcn.180070ea0
test al, al
je 0x180015c0c
lea rdx, [0x1800d9558]
lea rcx, [rsp + 0x48]
call fcn.18007d000
mov rdx, rax
lea rcx, [rsp + 0x138]
call fcn.18007b1b0
nop
lea rcx, [rsp + 0x138]
call fcn.180070e70
test al, al
je 0x180015bfe
lea rcx, [rsp + 0x138]
call fcn.180070dd0
mov rdx, rax
lea rcx, [rsp + 0x78]
call fcn.18000b7f4
nop
mov rdx, r12
mov rcx, qword [rsp + 0x78]
call fcn.180086a50
test eax, eax
jne 0x180015bdc
mov r13b, 1
lea rdx, str.active
lea rcx, [rsp + 0x48]
call fcn.18007d000
mov rdx, rax
lea rcx, [rsp + 0x108]
call fcn.18007b1b0
nop
lea rdx, str.userDisabled
lea rcx, [rsp + 0x48]
call fcn.18007d000
mov rdx, rax
lea rcx, [rsp + 0xf0]
call fcn.18007b1b0
nop
lea rdx, str.appDisabled
lea rcx, [rsp + 0x48]
call fcn.18007d000
mov rdx, rax
lea rcx, [rsp + 0xd8]
call fcn.18007b1b0
nop
lea rdx, str.foreignInstall
lea rcx, [rsp + 0x48]
call fcn.18007d000
mov rdx, rax
lea rcx, [rsp + 0x150]
call fcn.18007b1b0
nop
lea rdx, str.signedState
lea rcx, [rsp + 0x48]
call fcn.18007d000
mov rdx, rax
lea rcx, [rsp + 0x120]
call fcn.18007b1b0
nop
lea rdx, str.visible
lea rcx, [rsp + 0x48]
call fcn.18007d000
mov rdx, rax
lea rcx, [rsp + 0x438]
call fcn.18007b1b0
nop
lea rcx, [rsp + 0x108]
call fcn.180070df0
test al, al
je 0x1800159da
lea rcx, [rsp + 0x108]
call fcn.180071d00
test al, al
jne 0x1800159da
mov dl, r13b
lea rcx, [rsp + 0x3c0]
call fcn.180070d90
nop
lea rdx, str.active
lea rcx, [rsp + 0x48]
call fcn.18007d000
mov rcx, rax
lea rdx, [rsp + 0x3c0]
call fcn.18007b3a0
nop
lea rcx, [rsp + 0x3c0]
call fcn.180078ba0
mov bl, r13b
lea rcx, [rsp + 0xf0]
call fcn.180070df0
test al, al
je 0x180015a3d
lea rcx, [rsp + 0xf0]
call fcn.180071d00
test al, al
je 0x180015a3d
xor edx, edx
lea rcx, [rsp + 0x1c8]
call fcn.180070d90
nop
lea rdx, str.userDisabled
lea rcx, [rsp + 0x48]
call fcn.18007d000
mov rcx, rax
lea rdx, [rsp + 0x1c8]
call fcn.18007b3a0
nop
lea rcx, [rsp + 0x1c8]
call fcn.180078ba0
mov bl, 1
lea rcx, [rsp + 0xd8]
call fcn.180070df0
test al, al
je 0x180015aa0
lea rcx, [rsp + 0xd8]
call fcn.180071d00
test al, al
je 0x180015aa0
xor edx, edx
lea rcx, [rsp + 0x3f0]
call fcn.180070d90
nop
lea rdx, str.appDisabled
lea rcx, [rsp + 0x48]
call fcn.18007d000
mov rcx, rax
lea rdx, [rsp + 0x3f0]
call fcn.18007b3a0
nop
lea rcx, [rsp + 0x3f0]
call fcn.180078ba0
mov bl, 1
lea rcx, [rsp + 0x150]
call fcn.180070df0
test al, al
je 0x180015b03
lea rcx, [rsp + 0x150]
call fcn.180071d00
test al, al
jne 0x180015b03
mov dl, 1
lea rcx, [rsp + 0x420]
call fcn.180070d90
nop
lea rdx, str.foreignInstall
lea rcx, [rsp + 0x48]
call fcn.18007d000
mov rcx, rax
lea rdx, [rsp + 0x420]
call fcn.18007b3a0
nop
lea rcx, [rsp + 0x420]
call fcn.180078ba0
mov bl, 1
lea rcx, [rsp + 0x120]
call fcn.180070e00
test al, al
je 0x180015b6a
lea rcx, [rsp + 0x120]
call fcn.180076090
cmp eax, 2
je 0x180015b6a
mov edx, 2
lea rcx, [rsp + 0x318]
call fcn.180070d10
nop
lea rdx, str.signedState
lea rcx, [rsp + 0x48]
call fcn.18007d000
mov rcx, rax
lea rdx, [rsp + 0x318]
call fcn.18007b3a0
nop
lea rcx, [rsp + 0x318]
call fcn.180078ba0
mov bl, 1
test bl, bl
je 0x180015b88
mov edx, esi
lea rcx, [rsp + 0x60]
call fcn.18007c160
mov rcx, rax
lea rdx, [rsp + 0x48]
call fcn.18007b3a0
nop
lea rcx, [rsp + 0x438]
call fcn.180078ba0
nop
lea rcx, [rsp + 0x120]
call fcn.180078ba0
nop
lea rcx, [rsp + 0x150]
call fcn.180078ba0
nop
lea rcx, [rsp + 0xd8]
call fcn.180078ba0
nop
lea rcx, [rsp + 0xf0]
call fcn.180078ba0
nop
lea rcx, [rsp + 0x108]
call fcn.180078ba0
nop
mov rdx, qword [rsp + 0x78]
add rdx, 0xffffffffffffffe8
or eax, 0xffffffff
lock xadd dword [rdx + 0x10], eax
add eax, 0xffffffff
test eax, eax
jg 0x180015bfe
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
nop
lea rcx, [rsp + 0x138]
call fcn.180078ba0
nop
lea rcx, [rsp + 0x48]
call fcn.180078ba0
add esi, 1
lea rcx, [rsp + 0x60]
call fcn.180074240
cmp esi, eax
jb 0x180015813
test r13b, r13b
jne 0x1800167d3
xor edx, edx
lea rcx, [rsp + 0x30]
call fcn.180078790
nop
mov rdx, r12
lea rcx, [rsp + 0x88]
call fcn.180013580
nop
mov rdx, qword [rsp + 0x88]
lea rcx, [rsp + 0x238]
call fcn.180072fa0
nop
lea rdx, [0x1800d9558]
lea rcx, [rsp + 0x30]
call fcn.18007d000
mov rcx, rax
lea rdx, [rsp + 0x238]
call fcn.18007b3a0
nop
lea rcx, [rsp + 0x238]
call fcn.180078ba0
lea rdx, str.app_system_user
lea rcx, [rsp + 0x3a8]
call fcn.180072fa0
nop
lea rdx, str.location
lea rcx, [rsp + 0x30]
call fcn.18007d000
mov rcx, rax
lea rdx, [rsp + 0x3a8]
call fcn.18007b3a0
nop
lea rcx, [rsp + 0x3a8]
call fcn.180078ba0
lea rdx, [0x1800d94e0]
lea rcx, [rsp + 0x258]
call fcn.180072fa0
nop
lea rdx, str.version
lea rcx, [rsp + 0x30]
call fcn.18007d000
mov rcx, rax
lea rdx, [rsp + 0x258]
call fcn.18007b3a0
nop
lea rcx, [rsp + 0x258]
call fcn.180078ba0
lea rdx, str.webextension
lea rcx, [rsp + 0x348]
call fcn.180072fa0
nop
lea rdx, [0x1800d94c0]
lea rcx, [rsp + 0x30]
call fcn.18007d000
mov rcx, rax
lea rdx, [rsp + 0x348]
call fcn.18007b3a0
nop
lea rcx, [rsp + 0x348]
call fcn.180078ba0
xor edx, edx
lea rcx, [rsp + 0x570]
call fcn.180078790
mov rbx, rax
lea rdx, str.internalName
lea rcx, [rsp + 0x30]
call fcn.18007d000
mov rcx, rax
mov rdx, rbx
call fcn.18007b3a0
nop
lea rcx, [rsp + 0x570]
call fcn.180078ba0
xor edx, edx
lea rcx, [rsp + 0x468]
call fcn.180078790
mov rbx, rax
lea rdx, str.updateURL
lea rcx, [rsp + 0x30]
call fcn.18007d000
mov rcx, rax
mov rdx, rbx
call fcn.18007b3a0
nop
lea rcx, [rsp + 0x468]
call fcn.180078ba0
xor edx, edx
lea rcx, [rsp + 0x5a0]
call fcn.180078790
mov rbx, rax
lea rdx, str.updateKey
lea rcx, [rsp + 0x30]
call fcn.18007d000
mov rcx, rax
mov rdx, rbx
call fcn.18007b3a0
nop
lea rcx, [rsp + 0x5a0]
call fcn.180078ba0
xor edx, edx
lea rcx, [rsp + 0x498]
call fcn.180078790
mov rbx, rax
lea rdx, str.optionsURL
lea rcx, [rsp + 0x30]
call fcn.18007d000
mov rcx, rax
mov rdx, rbx
call fcn.18007b3a0
nop
lea rcx, [rsp + 0x498]
call fcn.180078ba0
xor edx, edx
lea rcx, [rsp + 0x588]
call fcn.180078790
mov rbx, rax
lea rdx, str.optionsType
lea rcx, [rsp + 0x30]
call fcn.18007d000
mov rcx, rax
mov rdx, rbx
call fcn.18007b3a0
nop
lea rcx, [rsp + 0x588]
call fcn.180078ba0
xor edx, edx
lea rcx, [rsp + 0x4c8]
call fcn.180078790
mov rbx, rax
lea rdx, str.aboutURL
lea rcx, [rsp + 0x30]
call fcn.18007d000
mov rcx, rax
mov rdx, rbx
call fcn.18007b3a0
nop
lea rcx, [rsp + 0x4c8]
call fcn.180078ba0
xor edx, edx
lea rcx, [rsp + 0x5b8]
call fcn.180078790
mov rbx, rax
lea rdx, str.iconURL
lea rcx, [rsp + 0x30]
call fcn.18007d000
mov rcx, rax
mov rdx, rbx
call fcn.18007b3a0
nop
lea rcx, [rsp + 0x5b8]
call fcn.180078ba0
xor edx, edx
lea rcx, [rsp + 0x4f8]
call fcn.180078790
mov rbx, rax
lea rdx, str.icon64URL
lea rcx, [rsp + 0x30]
call fcn.18007d000
mov rcx, rax
mov rdx, rbx
call fcn.18007b3a0
nop
lea rcx, [rsp + 0x4f8]
call fcn.180078ba0
xor edx, edx
lea rcx, [rsp + 0x90]
call fcn.180078790
nop
lea rdx, str.WebSecurity
lea rcx, [rsp + 0x288]
call fcn.180072fa0
nop
lea rdx, [0x1800d942c]
lea rcx, [rsp + 0x90]
call fcn.18007d000
mov rcx, rax
lea rdx, [rsp + 0x288]
call fcn.18007b3a0
nop
lea rcx, [rsp + 0x288]
call fcn.180078ba0
xor edx, edx
lea rcx, [rsp + 0x5e8]
call fcn.180078790
mov rbx, rax
lea rdx, str.description
lea rcx, [rsp + 0x90]
call fcn.18007d000
mov rcx, rax
mov rdx, rbx
call fcn.18007b3a0
nop
lea rcx, [rsp + 0x5e8]
call fcn.180078ba0
xor edx, edx
lea rcx, [rsp + 0x528]
call fcn.180078790
mov rbx, rax
lea rdx, str.developers
lea rcx, [rsp + 0x90]
call fcn.18007d000
mov rcx, rax
mov rdx, rbx
call fcn.18007b3a0
nop
lea rcx, [rsp + 0x528]
call fcn.180078ba0
xor edx, edx
lea rcx, [rsp + 0x5d0]
call fcn.180078790
mov rbx, rax
lea rdx, str.translators
lea rcx, [rsp + 0x90]
call fcn.18007d000
mov rcx, rax
mov rdx, rbx
call fcn.18007b3a0
nop
lea rcx, [rsp + 0x5d0]
call fcn.180078ba0
xor edx, edx
lea rcx, [rsp + 0x558]
call fcn.180078790
mov rbx, rax
lea rdx, str.contributors
lea rcx, [rsp + 0x90]
call fcn.18007d000
mov rcx, rax
mov rdx, rbx
call fcn.18007b3a0
nop
lea rcx, [rsp + 0x558]
call fcn.180078ba0
lea rdx, str.defaultLocale
lea rcx, [rsp + 0x30]
call fcn.18007d000
mov rcx, rax
lea rdx, [rsp + 0x90]
call fcn.18007b3a0
mov dl, 1
lea rcx, [rsp + 0x408]
call fcn.180070d90
nop
lea rdx, str.visible
lea rcx, [rsp + 0x30]
call fcn.18007d000
mov rcx, rax
lea rdx, [rsp + 0x408]
call fcn.18007b3a0
nop
lea rcx, [rsp + 0x408]
call fcn.180078ba0
mov dl, 1
lea rcx, [rsp + 0x2b8]
call fcn.180070d90
nop
lea rdx, str.active
lea rcx, [rsp + 0x30]
call fcn.18007d000
mov rcx, rax
lea rdx, [rsp + 0x2b8]
call fcn.18007b3a0
nop
lea rcx, [rsp + 0x2b8]
call fcn.180078ba0
xor edx, edx
lea rcx, [rsp + 0x378]
call fcn.180070d90
nop
lea rdx, str.userDisabled
lea rcx, [rsp + 0x30]
call fcn.18007d000
mov rcx, rax
lea rdx, [rsp + 0x378]
call fcn.18007b3a0
nop
lea rcx, [rsp + 0x378]
call fcn.180078ba0
xor edx, edx
lea rcx, [rsp + 0x2e8]
call fcn.180070d90
nop
lea rdx, str.appDisabled
lea rcx, [rsp + 0x30]
call fcn.18007d000
mov rcx, rax
lea rdx, [rsp + 0x2e8]
call fcn.18007b3a0
nop
lea rcx, [rsp + 0x2e8]
call fcn.180078ba0
and word [rsp + 0x960], 0
xor edx, edx
mov r8d, 0x206
lea rcx, [rsp + 0x962]
call fcn.180086e90
lea r11, [rsp + 0x960]
mov qword [rsp + 0x20], r11
xor r9d, r9d
xor r8d, r8d
lea edx, [r9 + 0x1a]
xor ecx, ecx
call qword [sym.imp.SHELL32.dll_SHGetFolderPathW]
mov edi, eax
lea rdx, str.MozillaExtensionsec8030f7_c20a_464f_9b0e_13a3a9e97384_
lea rcx, [rsp + 0x960]
call qword [sym.imp.SHLWAPI.dll_PathAppendW]
lea rdx, str.websecurity_ati.org.xpi
lea rcx, [rsp + 0x960]
call qword [sym.imp.SHLWAPI.dll_PathAppendW]
lea rdx, [rsp + 0x960]
lea rcx, [rsp + 0x80]
call fcn.180013580
nop
mov rdx, qword [rsp + 0x80]
lea rcx, [rsp + 0x3d8]
call fcn.180072fa0
nop
lea rdx, str.descriptor
lea rcx, [rsp + 0x30]
call fcn.18007d000
mov rcx, rax
lea rdx, [rsp + 0x3d8]
call fcn.18007b3a0
nop
lea rcx, [rsp + 0x3d8]
call fcn.180078ba0
mov edx, 1
lea rcx, [rsp + 0x1e0]
call fcn.180070d10
nop
lea rdx, str.applyBackgroundUpdates
lea rcx, [rsp + 0x30]
call fcn.18007d000
mov rcx, rax
lea rdx, [rsp + 0x1e0]
call fcn.18007b3a0
nop
lea rcx, [rsp + 0x1e0]
call fcn.180078ba0
xor edx, edx
lea rcx, [rsp + 0x220]
call fcn.180070d90
nop
lea rdx, str.bootstrap
lea rcx, [rsp + 0x30]
call fcn.18007d000
mov rcx, rax
lea rdx, [rsp + 0x220]
call fcn.18007b3a0
nop
lea rcx, [rsp + 0x220]
call fcn.180078ba0
xor edx, edx
lea rcx, [rsp + 0x450]
call fcn.180078790
mov rbx, rax
lea rdx, str.sourceURI
lea rcx, [rsp + 0x30]
call fcn.18007d000
mov rcx, rax
mov rdx, rbx
call fcn.18007b3a0
nop
lea rcx, [rsp + 0x450]
call fcn.180078ba0
xor edx, edx
lea rcx, [rsp + 0x480]
call fcn.180078790
mov rbx, rax
lea rdx, str.releaseNotesURI
lea rcx, [rsp + 0x30]
call fcn.18007d000
mov rcx, rax
mov rdx, rbx
call fcn.18007b3a0
nop
lea rcx, [rsp + 0x480]
call fcn.180078ba0
xor edx, edx
lea rcx, [rsp + 0x180]
call fcn.180070d90
nop
lea rdx, str.softDisabled
lea rcx, [rsp + 0x30]
call fcn.18007d000
mov rcx, rax
lea rdx, [rsp + 0x180]
call fcn.18007b3a0
nop
lea rcx, [rsp + 0x180]
call fcn.180078ba0
mov dl, 1
lea rcx, [rsp + 0x270]
call fcn.180070d90
nop
lea rdx, str.foreignInstall
lea rcx, [rsp + 0x30]
call fcn.18007d000
mov rcx, rax
lea rdx, [rsp + 0x270]
call fcn.18007b3a0
nop
lea rcx, [rsp + 0x270]
call fcn.180078ba0
xor edx, edx
lea rcx, [rsp + 0x2a0]
call fcn.180070d90
nop
lea rdx, str.hasBinaryComponents
lea rcx, [rsp + 0x30]
call fcn.18007d000
mov rcx, rax
lea rdx, [rsp + 0x2a0]
call fcn.18007b3a0
nop
lea rcx, [rsp + 0x2a0]
call fcn.180078ba0
mov dl, 1
lea rcx, [rsp + 0x2d0]
call fcn.180070d90
nop
lea rdx, str.strictCompatibility
lea rcx, [rsp + 0x30]
call fcn.18007d000
mov rcx, rax
lea rdx, [rsp + 0x2d0]
call fcn.18007b3a0
nop
lea rcx, [rsp + 0x2d0]
call fcn.180078ba0
mov esi, 6
mov edx, esi
lea rcx, [rsp + 0x4b0]
call fcn.180078790
mov rbx, rax
lea rdx, str.locales
lea rcx, [rsp + 0x30]
call fcn.18007d000
mov rcx, rax
mov rdx, rbx
call fcn.18007b3a0
nop
lea rcx, [rsp + 0x4b0]
call fcn.180078ba0
xor edx, edx
lea rcx, [rsp + 0xa8]
call fcn.180078790
nop
lea rdx, str.toolkit_mozilla.org
lea rcx, [rsp + 0x300]
call fcn.180072fa0
nop
lea rdx, [0x1800d9558]
lea rcx, [rsp + 0xa8]
call fcn.18007d000
mov rcx, rax
lea rdx, [rsp + 0x300]
call fcn.18007b3a0
nop
lea rcx, [rsp + 0x300]
call fcn.180078ba0
lea rdx, str.48.0
lea rcx, [rsp + 0x330]
call fcn.180072fa0
nop
lea rdx, str.minVersion
lea rcx, [rsp + 0xa8]
call fcn.18007d000
mov rcx, rax
lea rdx, [rsp + 0x330]
call fcn.18007b3a0
nop
lea rcx, [rsp + 0x330]
call fcn.180078ba0
xor edx, edx
lea rcx, [rsp + 0x4e0]
call fcn.180078790
mov rbx, rax
lea rdx, str.maxVersion
lea rcx, [rsp + 0xa8]
call fcn.18007d000
mov rcx, rax
mov rdx, rbx
call fcn.18007b3a0
nop
lea rcx, [rsp + 0x4e0]
call fcn.180078ba0
xor edx, edx
lea rcx, [rsp + 0x168]
call fcn.180078790
nop
lea rdx, [rsp + 0xa8]
lea rcx, [rsp + 0x168]
call fcn.18007cac0
lea rdx, str.targetApplications
lea rcx, [rsp + 0x30]
call fcn.18007d000
mov rcx, rax
lea rdx, [rsp + 0x168]
call fcn.18007b3a0
mov edx, esi
lea rcx, [rsp + 0x510]
call fcn.180078790
mov rbx, rax
lea rdx, str.targetPlatforms
lea rcx, [rsp + 0x30]
call fcn.18007d000
mov rcx, rax
mov rdx, rbx
call fcn.18007b3a0
nop
lea rcx, [rsp + 0x510]
call fcn.180078ba0
mov dl, 1
lea rcx, [rsp + 0x360]
call fcn.180070d90
nop
lea rdx, str.multiprocessCompatible
lea rcx, [rsp + 0x30]
call fcn.18007d000
mov rcx, rax
lea rdx, [rsp + 0x360]
call fcn.18007b3a0
nop
lea rcx, [rsp + 0x360]
call fcn.180078ba0
lea edx, [rsi - 4]
lea rcx, [rsp + 0x390]
call fcn.180070d10
nop
lea rdx, str.signedState
lea rcx, [rsp + 0x30]
call fcn.18007d000
mov rcx, rax
lea rdx, [rsp + 0x390]
call fcn.18007b3a0
nop
lea rcx, [rsp + 0x390]
call fcn.180078ba0
mov dl, 1
lea rcx, [rsp + 0x198]
call fcn.180070d90
nop
lea rdx, str.seen
lea rcx, [rsp + 0x30]
call fcn.18007d000
mov rcx, rax
lea rdx, [rsp + 0x198]
call fcn.18007b3a0
nop
lea rcx, [rsp + 0x198]
call fcn.180078ba0
mov edx, esi
lea rcx, [rsp + 0x540]
call fcn.180078790
mov rbx, rax
lea rdx, str.dependencies
lea rcx, [rsp + 0x30]
call fcn.18007d000
mov rcx, rax
mov rdx, rbx
call fcn.18007b3a0
nop
lea rcx, [rsp + 0x540]
call fcn.180078ba0
xor edx, edx
lea rcx, [rsp + 0x1b0]
call fcn.180070d90
nop
lea rdx, str.hasEmbeddedWebExtension
lea rcx, [rsp + 0x30]
call fcn.18007d000
mov rcx, rax
lea rdx, [rsp + 0x1b0]
call fcn.18007b3a0
nop
lea rcx, [rsp + 0x1b0]
call fcn.180078ba0
lea rdx, [rsp + 0x30]
lea rcx, [rsp + 0x60]
call fcn.18007cac0
mov bl, 1
lea rcx, [rsp + 0x168]
call fcn.180078ba0
nop
lea rcx, [rsp + 0xa8]
call fcn.180078ba0
nop
mov rdx, qword [rsp + 0x80]
add rdx, 0xffffffffffffffe8
or esi, 0xffffffff
mov eax, esi
lock xadd dword [rdx + 0x10], eax
add eax, esi
test eax, eax
jg 0x180016798
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
nop
lea rcx, [rsp + 0x90]
call fcn.180078ba0
nop
mov rdx, qword [rsp + 0x88]
add rdx, 0xffffffffffffffe8
mov eax, esi
lock xadd dword [rdx + 0x10], eax
add eax, esi
test eax, eax
jg 0x1800167c9
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
nop
lea rcx, [rsp + 0x30]
call fcn.180078ba0
test bl, bl
je 0x18001692b
lea rdx, str.addons
lea rcx, [rsp + 0xc0]
call fcn.18007d000
mov rcx, rax
lea rdx, [rsp + 0x60]
call fcn.18007b3a0
test edi, edi
js 0x18001692b
mov dword [rsp + 0x20], 1
mov r9d, reloc.OLEAUT32.dll_VarI4FromDisp
lea r8d, [r9 - 0x20]
mov rdx, rbp
lea rcx, [rsp + 0x600]
call fcn.18001553c
nop
mov ebx, reloc.OLEAUT32.dll_SafeArrayDestroy
mov qword [rsp + 0x218], rbx
and qword [rsp + 0x210], 0
mov byte [rsp + 0x200], 0
lea rcx, reloc.OLEAUT32.dll_VariantCopy
call fcn.180088f40
mov r8, rax
lea rdx, reloc.OLEAUT32.dll_VariantCopy
lea rcx, [rsp + 0x1f8]
call fcn.18000abc4
lea rdx, [rsp + 0x1f8]
lea rcx, [rsp + 0x800]
call fcn.180068ed0
nop
lea r8, [rsp + 0xc0]
lea rdx, [rsp + 0x600]
lea rcx, [rsp + 0x800]
call fcn.180070680
lea rcx, [rsp + 0x600]
call fcn.180014d14
mov edi, 0x800705bb
cmp qword [rsp + 0x878], 0x10
jb 0x1800168c5
mov rcx, qword [rsp + 0x860]
call fcn.180086560
mov qword [rsp + 0x878], rbx
and qword [rsp + 0x870], 0
mov byte [rsp + 0x860], 0
cmp qword [rsp + 0x848], 0x10
jb 0x1800168f6
mov rcx, qword [rsp + 0x830]
call fcn.180086560
mov qword [rsp + 0x848], rbx
and qword [rsp + 0x840], 0
mov byte [rsp + 0x830], 0
lea rcx, [rsp + 0x800]
call fcn.180015080
nop
lea rcx, [rsp + 0x600]
call fcn.180014220
nop
lea rcx, [rsp + 0x60]
call fcn.180078ba0
nop
lea rcx, [rsp + 0xc0]
call fcn.180078ba0
jmp 0x18001694a
mov edi, 0x80070057
mov eax, edi
mov rcx, qword [rsp + 0xb70]
xor rcx, rsp
call fcn.180086e60
mov rbx, qword [rsp + 0xbc0]
add rsp, 0xb80
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret