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

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x4d57a9
mov eax, dword fs:[0]
push eax
sub esp, 0xac
mov eax, dword [0x4fa7e0]
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 dword [ebp - 0x3c], ecx
mov ebx, dword [ebp + 8]
lea eax, [ebp - 0x28]
push eax
call fcn.00499780
push 0x19
push str.MozillaFirefoxProfiles
lea ecx, [ebp - 0x28]
mov dword [ebp - 4], 0
call fcn.00486e20
push dword [ebp - 0x28]
call dword [sym.imp.KERNEL32.dll_GetFileAttributesA]
cmp eax, 0xffffffff
jne 0x48b47d
mov edx, dword [ebp - 0x28]
or ecx, 0xffffffff
add edx, 0xfffffff0
mov dword [ebp - 4], eax
lea eax, [edx + 0xc]
lock xadd dword [eax], ecx
dec ecx
test ecx, ecx
jg 0x48bc32
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
jmp 0x48bc32
mov eax, dword [ebp - 0x28]
push str.default
push ecx
add eax, 0xfffffff0
mov esi, esp
push eax
call fcn.00486fe0
add eax, 0x10
add esp, 4
mov dword [esi], eax
lea eax, [ebp - 0x2c]
push eax
call fcn.0048ed80
push eax
lea ecx, [ebp - 0x28]
mov byte [ebp - 4], 1
call fcn.00486ab0
mov edx, dword [ebp - 0x2c]
or edi, 0xffffffff
add edx, 0xfffffff0
mov byte [ebp - 4], 0
mov eax, edi
lea ecx, [edx + 0xc]
lock xadd dword [ecx], eax
dec eax
test eax, eax
jg 0x48b4d2
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov eax, dword [ebp - 0x28]
cmp dword [eax - 0xc], 0
jne 0x48b502
lea edx, [eax - 0x10]
mov dword [ebp - 4], 0xffffffff
lea eax, [edx + 0xc]
lock xadd dword [eax], edi
dec edi
test edi, edi
jg 0x48bc32
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
jmp 0x48bc32
push 0x5c
lea ecx, [ebp - 0x28]
call fcn.00486b60
lea ecx, [ebp - 0x30]
call fcn.00476060
mov eax, dword [ebp - 0x28]
push ecx
add eax, 0xfffffff0
mov byte [ebp - 4], 2
mov esi, esp
push eax
call fcn.00486fe0
mov ecx, dword [ebp - 0x3c]
add esp, 4
add eax, 0x10
mov dword [esi], eax
call fcn.0048bc50
mov eax, dword [ebx]
cmp dword [eax - 0xc], 0
je 0x48b790
mov ax, word [0x4da938]
movq xmm0, qword [str.moz_hosts]
mov word [ebp - 0x18], ax
mov eax, dword [ebp - 0x28]
add eax, 0xfffffff0
movq qword [ebp - 0x20], xmm0
push eax
call fcn.00486fe0
add eax, 0x10
add esp, 4
mov dword [ebp - 0x40], eax
push 0x12
push str.permissions.sqlite
lea ecx, [ebp - 0x40]
mov byte [ebp - 4], 3
call fcn.00486e20
mov esi, dword [ebp - 0x40]
mov ecx, 1
sub ecx, dword [esi - 4]
mov eax, dword [esi - 8]
or eax, ecx
jge 0x48b5a1
push 0
lea ecx, [ebp - 0x40]
call fcn.00487c50
mov esi, dword [ebp - 0x40]
push esi
lea ecx, [ebp - 0x30]
call fcn.00486050
mov dword [ebp - 0x70], 0
mov dword [ebp - 0x6c], 0
push eax
lea ecx, [ebp - 0x70]
mov byte [ebp - 4], 4
call fcn.00485fb0
mov eax, dword [ebx]
mov ecx, 1
mov byte [ebp - 4], 5
sub ecx, dword [eax - 4]
mov eax, dword [eax - 8]
or eax, ecx
jge 0x48b5e3
push 0
mov ecx, ebx
call fcn.00487c50
push dword [ebx]
lea ecx, [ebp - 0x30]
call fcn.00486050
mov dword [ebp - 0x48], 0
mov dword [ebp - 0x44], 0
push eax
lea ecx, [ebp - 0x48]
mov byte [ebp - 4], 6
call fcn.00485fb0
lea ecx, [ebp - 0x9c]
mov byte [ebp - 4], 7
call fcn.00485600
mov dword [ebp - 0x9c], 0x4da3d4
xor eax, eax
mov byte [ebp - 4], 9
cmp dword [ebp - 0x6c], eax
lea ecx, [ebp - 0x9c]
cmovg eax, dword [ebp - 0x70]
push eax
call fcn.00485ff0
test al, al
je 0x48b745
lea eax, [ebp - 0x20]
push eax
lea ecx, [ebp - 0x9c]
call fcn.00485ed0
test al, al
je 0x48b745
lea ecx, [ebp - 0x2c]
call fcn.00476060
push dword [ebp - 0x44]
lea eax, [ebp - 0x20]
mov byte [ebp - 4], 0xa
push dword [ebp - 0x48]
push eax
lea eax, [ebp - 0x2c]
push str.select__from___s__where__host____s_
push eax
call fcn.00485e40
add esp, 0x14
lea eax, [ebp - 0xb8]
lea ecx, [ebp - 0x9c]
push dword [ebp - 0x2c]
push eax
call fcn.00485c40
lea ecx, [ebp - 0xb8]
mov byte [ebp - 4], 0xb
call fcn.004859f0
test al, al
je 0x48b6ee
lea ecx, [ebp - 0x3c]
call fcn.004862a0
push dword [ebp - 0x44]
lea eax, [ebp - 0x20]
mov byte [ebp - 4], 0xc
push dword [ebp - 0x48]
push eax
lea eax, [ebp - 0x3c]
push str.insert_into___s___host__type__permission__expireType__expireTime__appid__isInBrowserElement__values__s__popup__1__0__0__0__0__
push eax
call fcn.00487810
add esp, 0x14
lea ecx, [ebp - 0x30]
push dword [ebp - 0x3c]
call fcn.00486050
push eax
lea ecx, [ebp - 0x9c]
call fcn.00485be0
lea ecx, [ebp - 0x3c]
call fcn.004867a0
lea ecx, [ebp - 0xb8]
mov byte [ebp - 4], 0xa
call fcn.004857a0
lea ecx, [ebp - 0x2c]
mov byte [ebp - 4], 9
call fcn.00485700
jmp 0x48b745
mov dword [ebp - 4], 8
lea ecx, [ebp - 0x9c]
mov byte [ebp - 4], 7
call fcn.00485710
lea ecx, [ebp - 0x48]
mov byte [ebp - 4], 5
call fcn.00485f40
lea ecx, [ebp - 0x70]
mov byte [ebp - 4], 3
call fcn.00485f40
add esi, 0xfffffff0
mov byte [ebp - 4], 2
mov ecx, edi
lea eax, [esi + 0xc]
lock xadd dword [eax], ecx
dec ecx
test ecx, ecx
jg 0x48b790
mov ecx, dword [esi]
push esi
mov eax, dword [ecx]
call dword [eax + 4]
mov eax, dword [ebp - 0x28]
add eax, 0xfffffff0
push eax
call fcn.00486fe0
add eax, 0x10
add esp, 4
mov dword [ebp - 0x34], eax
push 0xd
push str.mimeTypes.rdf
lea ecx, [ebp - 0x34]
mov byte [ebp - 4], 0xf
call fcn.00486e20
mov eax, dword [ebp - 0x34]
push ecx
add eax, 0xfffffff0
mov esi, esp
push eax
call fcn.00486fe0
add eax, 0x10
add esp, 4
mov dword [esi], eax
lea eax, [ebp - 0x38]
push eax
call fcn.0048efe0
lea ecx, [ebp - 0x90]
mov byte [ebp - 4], 0x10
call fcn.0048ddd0
lea ecx, [ebp - 0x68]
mov byte [ebp - 4], 0x11
call fcn.0048ddd0
push 0
push 0x40
push dword [ebp - 0x34]
lea ecx, [ebp - 0x90]
mov byte [ebp - 4], 0x12
call fcn.0048e4e0
test eax, eax
jne 0x48b87f
lea ecx, [ebp - 0x68]
mov byte [ebp - 4], 0x11
call fcn.004ab214
lea ecx, [ebp - 0x90]
mov byte [ebp - 4], 0x10
call fcn.004ab214
mov edx, dword [ebp - 0x38]
mov ecx, edi
add edx, 0xfffffff0
mov byte [ebp - 4], 0xf
lea eax, [edx + 0xc]
lock xadd dword [eax], ecx
dec ecx
test ecx, ecx
jg 0x48b848
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov edx, dword [ebp - 0x34]
mov ecx, edi
add edx, 0xfffffff0
mov byte [ebp - 4], 2
lea eax, [edx + 0xc]
lock xadd dword [eax], ecx
dec ecx
test ecx, ecx
jg 0x48b868
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
lea ecx, [ebp - 0x30]
mov byte [ebp - 4], 0
call fcn.004994d0
mov edx, dword [ebp - 0x28]
add edx, 0xfffffff0
jmp 0x48b4de
lea ecx, [ebp - 0x90]
call fcn.004ab435
or eax, edx
lea ecx, [ebp - 0x90]
jne 0x48b90b
call fcn.004ab35d
lea ecx, [ebp - 0x68]
mov byte [ebp - 4], 0x11
call fcn.004ab214
lea ecx, [ebp - 0x90]
mov byte [ebp - 4], 0x10
call fcn.004ab214
mov edx, dword [ebp - 0x38]
mov ecx, edi
add edx, 0xfffffff0
mov byte [ebp - 4], 0xf
lea eax, [edx + 0xc]
lock xadd dword [eax], ecx
dec ecx
test ecx, ecx
jg 0x48b8d4
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov edx, dword [ebp - 0x34]
mov ecx, edi
add edx, 0xfffffff0
mov byte [ebp - 4], 2
lea eax, [edx + 0xc]
lock xadd dword [eax], ecx
dec ecx
test ecx, ecx
jg 0x48b8f4
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
lea ecx, [ebp - 0x30]
mov byte [ebp - 4], 0
call fcn.004994d0
mov edx, dword [ebp - 0x28]
add edx, 0xfffffff0
jmp 0x48b4de
push 1
call fcn.0048e900
lea ecx, [ebp - 0x24]
call fcn.004862a0
lea eax, [ebp - 0x24]
mov byte [ebp - 4], 0x13
push eax
lea ecx, [ebp - 0x90]
xor bl, bl
call fcn.0048e5f0
test eax, eax
je 0x48b9c6
jmp 0x48b940
mov ecx, dword [str.RDF:about_urn:mimetypes:root_]
test ecx, ecx
je 0x48b972
mov eax, dword [ebp - 0x24]
cmp dword [eax - 0xc], 0
jl 0x48b975
push ecx
push eax
call fcn.004b54c5
mov ecx, eax
add esp, 8
test ecx, ecx
je 0x48b972
mov eax, dword [ebp - 0x24]
sub ecx, eax
cmp ecx, 0xffffffff
je 0x48b975
or bl, 1
jmp 0x48b975
mov eax, dword [ebp - 0x24]
mov ecx, dword [str._RDF:li_RDF:resource_urn:mimetype:application_x_ez_ezrun___]
test ecx, ecx
je 0x48b99e
cmp dword [eax - 0xc], 0
jl 0x48b99e
push ecx
push eax
call fcn.004b54c5
add esp, 8
test eax, eax
je 0x48b99e
sub eax, dword [ebp - 0x24]
cmp eax, 0xffffffff
je 0x48b99e
or bl, 2
lea eax, [ebp - 0x24]
push eax
lea ecx, [ebp - 0x90]
call fcn.0048e5f0
test eax, eax
jne 0x48b940
cmp bl, 3
jne 0x48b9c6
lea ecx, [ebp - 0x90]
call fcn.004ab35d
jmp 0x48bbeb
mov eax, dword [ebp - 0x90]
lea ecx, [ebp - 0x90]
push 0
push 0
push 0
call dword [eax + 0x2c]
push 0
push 0x9002
push dword [ebp - 0x38]
lea ecx, [ebp - 0x68]
call fcn.0048e4e0
test eax, eax
je 0x48b9b6
push 1
lea ecx, [ebp - 0x68]
call fcn.0048e900
lea eax, [ebp - 0x24]
xor esi, esi
push eax
lea ecx, [ebp - 0x90]
call fcn.0048e5f0
test eax, eax
je 0x48bbcb
test esi, esi
jne 0x48bb26
mov ecx, dword [str.RDF:about_urn:mimetypes:root_]
test ecx, ecx
je 0x48ba4a
mov eax, dword [ebp - 0x24]
cmp dword [eax - 0xc], esi
jl 0x48ba4d
push ecx
push eax
call fcn.004b54c5
mov ecx, eax
add esp, 8
test ecx, ecx
je 0x48ba4a
mov eax, dword [ebp - 0x24]
sub ecx, eax
cmp ecx, 0xffffffff
jne 0x48ba83
jmp 0x48ba4d
mov eax, dword [ebp - 0x24]
mov ecx, dword [str.__RDF:RDF_]
test ecx, ecx
je 0x48bb82
cmp dword [eax - 0xc], 0
jl 0x48bb82
push ecx
push eax
call fcn.004b54c5
add esp, 8
test eax, eax
je 0x48bb82
sub eax, dword [ebp - 0x24]
cmp eax, 0xffffffff
je 0x48bb82
push str.___RDF:Description_RDF:about_urn:mimetype:application_x_ez_ezrun__n
lea ecx, [ebp - 0x68]
call fcn.0048ea20
push str.___________________NC:value_application_x_ez_ezrun__n
lea ecx, [ebp - 0x68]
call fcn.0048ea20
push str.___________________NC:editable_true__n
lea ecx, [ebp - 0x68]
call fcn.0048ea20
push str.___________________NC:fileExtensions_ezxml__n
lea ecx, [ebp - 0x68]
call fcn.0048ea20
push str.___________________NC:description____n
lea ecx, [ebp - 0x68]
call fcn.0048ea20
push str._______NC:handlerProp_RDF:resource_urn:mimetype:handler:application_x_ez_ezrun____n
lea ecx, [ebp - 0x68]
call fcn.0048ea20
push str.____RDF:Description__n
lea ecx, [ebp - 0x68]
call fcn.0048ea20
push str.___RDF:Description_RDF:about_urn:mimetype:handler:application_x_ez_ezrun__n
lea ecx, [ebp - 0x68]
call fcn.0048ea20
push str.___________________NC:alwaysAsk_false__n
lea ecx, [ebp - 0x68]
call fcn.0048ea20
push str.___________________NC:useSystemDefault_true___n
lea ecx, [ebp - 0x68]
call fcn.0048ea20
push str._____NC:externalApplication_RDF:resource_urn:mimetype:externalApplication:application_x_ez_ezrun____n
lea ecx, [ebp - 0x68]
call fcn.0048ea20
push str.____RDF:Description__n
lea ecx, [ebp - 0x68]
call fcn.0048ea20
mov esi, 1
jmp 0x48bb2b
cmp esi, 1
jne 0x48bb82
test bl, bl
jne 0x48bb82
push str.___RDF:Description_RDF:about_urn:mimetypes___n
lea ecx, [ebp - 0x68]
call fcn.0048ea20
push str._____NC:MIME_types_RDF:resource_urn:mimetypes:root____n
lea ecx, [ebp - 0x68]
call fcn.0048ea20
push str.____RDF:Description__n
lea ecx, [ebp - 0x68]
call fcn.0048ea20
push str.___RDF:Seq_RDF:about_urn:mimetypes:root___n
lea ecx, [ebp - 0x68]
call fcn.0048ea20
push str._____RDF:li_RDF:resource_urn:mimetype:application_x_ez_ezrun____n
lea ecx, [ebp - 0x68]
call fcn.0048ea20
push str.____RDF:Seq__n
lea ecx, [ebp - 0x68]
call fcn.0048ea20
mov esi, 2
push 1
push 0x4eeea4
lea ecx, [ebp - 0x24]
call fcn.00486e20
lea eax, [ebp - 0x24]
push eax
lea ecx, [ebp - 0x68]
call fcn.0048e980
cmp esi, 1
jne 0x48bbb4
push str._____RDF:li_RDF:resource_urn:mimetype:application_x_ez_ezrun____n
lea ecx, [ebp - 0x68]
call fcn.0048ea20
mov esi, 2
lea eax, [ebp - 0x24]
push eax
lea ecx, [ebp - 0x90]
call fcn.0048e5f0
test eax, eax
jne 0x48ba14
lea ecx, [ebp - 0x90]
call fcn.004ab35d
lea ecx, [ebp - 0x68]
call fcn.004ab35d
lea eax, [ebp - 0x34]
push eax
lea eax, [ebp - 0x38]
push eax
call fcn.0048f500
lea ecx, [ebp - 0x24]
call fcn.004867a0
lea ecx, [ebp - 0x68]
mov byte [ebp - 4], 0x11
call fcn.004ab214
lea ecx, [ebp - 0x90]
mov byte [ebp - 4], 0x10
call fcn.004ab214
lea ecx, [ebp - 0x38]
call fcn.004867a0
lea ecx, [ebp - 0x34]
call fcn.004867a0
lea ecx, [ebp - 0x30]
mov byte [ebp - 4], 0
call fcn.004994d0
lea ecx, [ebp - 0x28]
call fcn.004867a0
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.004b3861
mov esp, ebp
pop ebp
ret 8