Function at 0x411af2
Capabilities:
Check if file exists

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
push 0xffffffffffffffff
push 0x4a551f
mov eax, dword fs:[0]
push eax
sub esp, 0x250
mov eax, dword [0x4de270]
xor eax, esp
mov dword [esp + 0x248], eax
push ebx
push esi
push edi
mov eax, dword [0x4de270]
xor eax, esp
push eax
lea eax, [esp + 0x260]
mov dword fs:[0], eax
mov eax, dword [ebp + 8]
push str.CFirefoxBrowser_HandleExtensionIni___start
lea esi, [esp + 0x14]
mov dword [esp + 0x30], eax
call fcn.00404db2
and dword [esp + 0x268], 0
call fcn.00404e64
xor ebx, ebx
push 0
inc ebx
push ebx
call fcn.00404f5a
lea edi, [esp + 0x1e4]
call fcn.00425b3e
mov dword [esp + 0x268], ebx
push 0
lea ecx, [esp + 0x1b0]
mov dword [esp + 0x1c8], 0xf
call fcn.004042d9
push str.extensions.ini
lea esi, [esp + 0x14]
mov byte [esp + 0x26c], 2
call fcn.00404db2
lea eax, [esp + 0x1ac]
push eax
mov edi, esi
mov byte [esp + 0x26c], 3
call fcn.00411873
push 0
push ebx
mov byte [esp + 0x270], 2
call fcn.00404f5a
push str.CFirefoxBrowser_HandleExtensionIni_sIniPath:
lea esi, [esp + 0x14]
call fcn.00404db2
mov byte [esp + 0x268], 4
cmp dword [esp + 0x1c4], 0x10
mov eax, dword [esp + 0x1b0]
jae 0x411bf6
lea eax, [esp + 0x1b0]
push 3
push eax
lea eax, [esp + 0x94]
lea ecx, [esp + 0x98]
push eax
mov dword [esp + 0x98], ecx
call fcn.0040894f
mov byte [esp + 0x268], 5
push dword [esp + 0x8c]
lea esi, [esp + 0x38]
call fcn.00404db2
lea ecx, [esp + 0x10]
push ecx
mov ebx, eax
mov byte [esp + 0x26c], 6
call fcn.00404975
pop ecx
xor edi, edi
push 0
inc edi
push edi
call fcn.00404f5a
lea eax, [esp + 0x90]
cmp dword [esp + 0x8c], eax
je 0x411c69
push dword [esp + 0x8c]
call fcn.00482ae9
pop ecx
push 0
push edi
lea esi, [esp + 0x18]
mov byte [esp + 0x270], 2
call fcn.00404f5a
cmp dword [esp + 0x1c4], 0x10
mov eax, dword [esp + 0x1b0]
jae 0x411c95
lea eax, [esp + 0x1b0]
push 3
push eax
lea eax, [esp + 0x94]
lea ecx, [esp + 0x98]
push eax
mov dword [esp + 0x98], ecx
call fcn.0040894f
mov byte [esp + 0x268], 7
push dword [esp + 0x8c]
lea esi, [esp + 0x38]
call fcn.00404db2
push eax
lea eax, [esp + 0x1e8]
push eax
mov byte [esp + 0x270], 8
call fcn.00425b9e
push 0
push edi
mov bl, al
call fcn.00404f5a
lea eax, [esp + 0x90]
mov byte [esp + 0x268], 2
cmp dword [esp + 0x8c], eax
je 0x411d10
push dword [esp + 0x8c]
call fcn.00482ae9
pop ecx
test bl, bl
je 0x412322
push str.SOFTWAREMozillaFirefoxextensions
lea esi, [esp + 0x14]
call fcn.00404db2
push reloc.OLEAUT32.dll_SysReAllocString
mov eax, esi
push eax
lea eax, [esp + 0x214]
push eax
mov byte [esp + 0x274], 9
call fcn.004054da
push 0
push edi
mov byte [esp + 0x270], 0xb
call fcn.00404f5a
push 0x4aec58
lea esi, [esp + 0x74]
call fcn.00404db2
mov byte [esp + 0x268], 0xc
mov ebx, dword [esp + 0x2c]
push ebx
lea eax, [esp + 0x210]
push eax
mov ecx, esi
lea edx, [esp + 0x1d0]
call fcn.004056c9
push 0
push edi
mov byte [esp + 0x270], 0xe
call fcn.00404f5a
push str.CFirefoxBrowser_HandleExtensionIni_szId:
lea esi, [esp + 0x14]
call fcn.00404db2
mov eax, esi
push eax
mov byte [esp + 0x26c], 0xf
call fcn.00404975
pop ecx
push 0
push edi
mov byte [esp + 0x270], 0xe
call fcn.00404f5a
push str.CFirefoxBrowser_HandleExtensionIni_value_of_::
lea esi, [esp + 0x14]
call fcn.00404db2
mov eax, esi
push eax
lea ebx, [esp + 0x1cc]
mov byte [esp + 0x26c], 0x10
call fcn.00404975
pop ecx
xor ebx, ebx
push ebx
push edi
call fcn.00404f5a
push ebx
lea ecx, [esp + 0x194]
mov dword [esp + 0x1ac], 0xf
call fcn.004042d9
push 0x4b7590
lea esi, [esp + 0x14]
mov byte [esp + 0x26c], 0x11
call fcn.00404db2
lea eax, [esp + 0x190]
push eax
mov edi, esi
mov byte [esp + 0x26c], 0x12
call fcn.00411873
xor edi, edi
mov byte [esp + 0x268], 0x11
push ebx
inc edi
push edi
call fcn.00404f5a
mov eax, dword [esp + 0x2c]
cmp dword [eax + 0x18], 8
jb 0x411e58
mov eax, dword [eax + 4]
jmp 0x411e5b
add eax, 4
push 3
push eax
lea eax, [esp + 0x94]
lea ecx, [esp + 0x98]
push eax
mov dword [esp + 0x98], ecx
call fcn.00408895
mov byte [esp + 0x268], 0x13
push dword [esp + 0x8c]
lea eax, [esp + 0x194]
push eax
call fcn.0041505e
lea eax, [esp + 0x90]
mov byte [esp + 0x268], 0x11
cmp dword [esp + 0x8c], eax
je 0x411eba
push dword [esp + 0x8c]
call fcn.00482ae9
pop ecx
push str.CFirefoxBrowser_HandleExtensionIni__sProfileExtensionPath:
lea esi, [esp + 0x14]
call fcn.00404db2
mov byte [esp + 0x268], 0x14
cmp dword [esp + 0x1a8], 0x10
mov eax, dword [esp + 0x194]
jae 0x411ee8
lea eax, [esp + 0x194]
push 3
push eax
lea eax, [esp + 0x94]
lea ecx, [esp + 0x98]
push eax
mov dword [esp + 0x98], ecx
call fcn.0040894f
mov byte [esp + 0x268], 0x15
push dword [esp + 0x8c]
lea esi, [esp + 0x38]
call fcn.00404db2
lea ecx, [esp + 0x10]
push ecx
mov ebx, eax
mov byte [esp + 0x26c], 0x16
call fcn.00404975
pop ecx
xor ebx, ebx
push ebx
push edi
call fcn.00404f5a
lea eax, [esp + 0x90]
cmp dword [esp + 0x8c], eax
je 0x411f59
push dword [esp + 0x8c]
call fcn.00482ae9
pop ecx
push ebx
push edi
lea esi, [esp + 0x18]
mov byte [esp + 0x270], 0x11
call fcn.00404f5a
cmp dword [esp + 0x1a8], 0x10
mov eax, dword [esp + 0x194]
jae 0x411f84
lea eax, [esp + 0x194]
push 3
push eax
lea eax, [esp + 0x94]
lea ecx, [esp + 0x98]
push eax
mov dword [esp + 0x98], ecx
call fcn.0040894f
push dword [esp + 0x8c]
call dword [sym.imp.SHLWAPI.dll_PathFileExistsW]
mov esi, eax
lea eax, [esp + 0x90]
cmp dword [esp + 0x8c], eax
je 0x411fce
push dword [esp + 0x8c]
call fcn.00482ae9
pop ecx
cmp esi, ebx
je 0x412077
push str.CFirefoxBrowser_HandleExtensionIni__sProfileExtensionPath_exists
lea esi, [esp + 0x14]
call fcn.00404db2
mov byte [esp + 0x268], 0x17
call fcn.00404e64
push ebx
push edi
mov byte [esp + 0x270], 0x11
call fcn.00404f5a
cmp dword [esp + 0x1a8], 0x10
mov eax, dword [esp + 0x194]
jae 0x412018
lea eax, [esp + 0x194]
push 3
push eax
lea eax, [esp + 0x94]
lea ecx, [esp + 0x98]
push eax
mov dword [esp + 0x98], ecx
call fcn.0040894f
mov byte [esp + 0x268], 0x18
push dword [esp + 0x8c]
lea eax, [esp + 0x1cc]
push eax
call fcn.00404d8d
lea eax, [esp + 0x90]
mov byte [esp + 0x268], 0x11
cmp dword [esp + 0x8c], eax
je 0x412077
push dword [esp + 0x8c]
call fcn.00482ae9
pop ecx
cmp dword [esp + 0x1dc], ebx
je 0x4122fa
push str.Extension
lea esi, [esp + 0x38]
call fcn.00404db2
mov ebx, str.ExtensionDirs
push ebx
lea esi, [esp + 0x14]
mov byte [esp + 0x26c], 0x19
call fcn.00404db2
lea eax, [esp + 0x34]
push eax
lea eax, [esp + 0x54]
push eax
mov ecx, esi
lea edi, [esp + 0x1ec]
mov byte [esp + 0x270], 0x1a
call fcn.004261ff
xor edi, edi
push edi
push 1
call fcn.00404f5a
push edi
push 1
lea esi, [esp + 0x3c]
mov byte [esp + 0x270], 0x1d
call fcn.00404f5a
lea eax, [esp + 0x70]
push eax
call fcn.0041ef75
cmp byte [ebp + 0xc], 0
mov byte [esp + 0x268], 0x1e
je 0x41216b
lea eax, [esp + 0x1c8]
push eax
lea eax, [esp + 0x54]
call fcn.00406493
push str.Extension
lea esi, [esp + 0x14]
call fcn.00404db2
push ebx
lea esi, [esp + 0x38]
mov byte [esp + 0x26c], 0x1f
call fcn.00404db2
lea eax, [esp + 0x50]
push eax
lea eax, [esp + 0x14]
push eax
mov eax, esi
push eax
lea eax, [esp + 0x1f0]
push eax
mov byte [esp + 0x278], 0x20
call fcn.004265eb
push edi
push 1
call fcn.00404f5a
push edi
push 1
lea esi, [esp + 0x18]
call fcn.00404f5a
jmp 0x412266
mov esi, dword [esp + 0x5c]
cmp esi, dword [esp + 0x60]
jbe 0x41217a
call fcn.00482522
mov eax, dword [esp + 0x50]
mov dword [esp + 0x2c], eax
mov dword [esp + 0x30], esi
mov esi, dword [esp + 0x60]
cmp dword [esp + 0x5c], esi
jbe 0x412195
call fcn.00482522
mov eax, dword [esp + 0x50]
mov dword [esp + 0x6c], esi
lea edi, [esp + 0x68]
lea esi, [esp + 0x2c]
mov dword [esp + 0x68], eax
call fcn.00406591
test al, al
je 0x4121e3
call fcn.0042d85c
mov ecx, eax
lea eax, [esp + 0x1c8]
call fcn.00406464
test eax, eax
je 0x4121d8
call fcn.0042d85c
push eax
lea eax, [esp + 0x74]
call fcn.00406493
lea esi, [esp + 0x2c]
call fcn.00406566
jmp 0x412186
push str.Extension
lea esi, [esp + 0x14]
call fcn.00404db2
push ebx
lea esi, [esp + 0x38]
mov byte [esp + 0x26c], 0x21
call fcn.00404db2
lea eax, [esp + 0x70]
push eax
lea eax, [esp + 0x14]
push eax
mov eax, esi
push eax
lea eax, [esp + 0x1f0]
push eax
mov byte [esp + 0x278], 0x22
call fcn.004265eb
xor edi, edi
push edi
push 1
call fcn.00404f5a
push edi
push 1
lea esi, [esp + 0x18]
mov byte [esp + 0x270], 0x1e
call fcn.00404f5a
push str.CFirefoxBrowser_HandleExtensionIni__SetTextVector_of_ExtensionDirs
lea esi, [esp + 0x38]
call fcn.00404db2
mov byte [esp + 0x268], 0x23
call fcn.00404e64
push edi
push 1
call fcn.00404f5a
lea esi, [esp + 0x70]
call fcn.00406678
push dword [esp + 0x70]
call fcn.004812c1
pop ecx
lea esi, [esp + 0x50]
call fcn.00406678
push dword [esp + 0x50]
call fcn.004812c1
pop ecx
push edi
push 1
lea ecx, [esp + 0x198]
call fcn.004042f5
push edi
push 1
lea esi, [esp + 0x1d0]
call fcn.00404f5a
lea ecx, [esp + 0x20c]
call fcn.004049f3
push 0
push 1
lea ecx, [esp + 0x1b4]
call fcn.004042f5
lea ecx, [esp + 0x1e4]
call fcn.00425b75
mov eax, edi
mov ecx, dword [esp + 0x260]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov ecx, dword [esp + 0x248]
xor ecx, esp
call fcn.004812cc
mov esp, ebp
pop ebp
ret 8
push ebx
push edi
lea ecx, [esp + 0x198]
call fcn.004042f5
push ebx
push edi
lea esi, [esp + 0x1d0]
call fcn.00404f5a
lea ecx, [esp + 0x20c]
call fcn.004049f3
push 2
pop edi
jmp 0x4122b6