Function at 0x465560
Capabilities:
Resolve function by parsing pe exports

Disassembly:
mov eax, 0x1064
call fcn.00488a80
push ebp
mov ebp, dword [esp + 0x1070]
push esi
push ebp
call fcn.004652f0
add esp, 4
test al, al
jne 0x4655d8
push 0
push 0
lea eax, [esp + 0x14]
push eax
push 1
push ebp
mov dword [esp + 0x20], 0
call fcn.0043fc50
mov eax, dword [esp + 0x20]
mov esi, dword [esp + 0x1084]
add esp, 0x14
test eax, eax
mov dword [esi], eax
je 0x4655c4
mov ecx, dword [eax]
and ecx, 0xff
cmp ecx, 0x80
jae 0x4655c4
push eax
call dword [sym.imp.KERNEL32.dll_InterlockedIncrement]
lea ecx, [esp + 0xc]
call fcn.004039f0
mov eax, esi
pop esi
pop ebp
add esp, 0x1064
ret
mov eax, dword [ebp]
xor esi, esi
cmp eax, esi
mov dword [esp + 0x18], esi
je 0x4655ea
add eax, 4
jmp 0x4655ef
mov eax, 0x6b6e10
mov edx, dword [str.SoftwareClasses]
push ebx
push edi
push eax
push edx
lea eax, [esp + 0x28]
push 0x699994
push eax
call fcn.00403a60
or ecx, 0xffffffff
add esp, 0x10
xor eax, eax
mov edi, 0x6b6e10
repne scasb al, byte es:[edi]
not ecx
dec ecx
push ecx
push 0x6b6e10
lea ecx, [esp + 0x1c]
mov dword [esp + 0x1c], esi
call fcn.0049d9d0
mov eax, dword [esp + 0x20]
cmp eax, esi
je 0x46563a
add eax, 4
jmp 0x46563f
mov eax, 0x6b6e10
push 1
lea ecx, [esp + 0x18]
push ecx
push 0x6b6e10
push eax
push SysReAllocString
lea ecx, [esp + 0x3c]
call fcn.0043c7f0
lea ecx, [esp + 0x14]
call fcn.004039f0
lea ecx, [esp + 0x4c]
mov dword [esp + 0x40], esi
call fcn.004ccff0
mov eax, dword [esp + 0x30]
cmp eax, esi
je 0x46567d
lea ecx, [eax + 4]
jmp 0x46567f
xor ecx, ecx
mov eax, dword [esp + 0x2c]
cmp eax, esi
je 0x46568c
add eax, 4
jmp 0x46568e
xor eax, eax
mov edx, dword [esp + 0x28]
push 0x20019
push ecx
push eax
push edx
lea ecx, [esp + 0x5c]
call fcn.004cd0a0
test eax, eax
jne 0x46570b
lea eax, [esp + 0x40]
push eax
push 0x1000
lea ecx, [esp + 0x7c]
push ecx
lea ecx, [esp + 0x40]
mov dword [esp + 0x30], 0x1000
call fcn.0049da40
mov edx, dword [esp + 0x3c]
push edx
lea eax, [esp + 0x28]
push eax
lea ecx, [esp + 0x7c]
push ecx
lea ecx, [esp + 0x58]
call fcn.004cd430
test eax, eax
je 0x4656eb
mov edx, dword [esp + 0x40]
mov dword [esp + 0x24], edx
lea ecx, [esp + 0x4c]
call fcn.004cd270
mov eax, dword [esp + 0x24]
cmp eax, esi
je 0x46570b
push eax
lea eax, [esp + 0x78]
push eax
lea ecx, [esp + 0x3c]
call fcn.0049dad0
lea ecx, [esp + 0x4c]
call fcn.004cd000
mov eax, dword [esp + 0x34]
cmp eax, esi
mov ebx, dword [sym.imp.KERNEL32.dll_InterlockedIncrement]
mov edi, eax
mov dword [esp + 0x48], edi
je 0x46573b
mov ecx, dword [eax]
and ecx, 0xff
cmp ecx, 0x80
jae 0x46573b
push eax
call ebx
cmp edi, esi
mov eax, dword [str.Google.PhotoViewer.3.0]
mov dword [esp + 0x10], esi
je 0x465799
lea esi, [edi + 4]
test esi, esi
je 0x465788
test eax, eax
je 0x465788
mov dl, byte [eax]
mov cl, dl
cmp dl, byte [esi]
jne 0x46577c
test cl, cl
je 0x465773
mov dl, byte [eax + 1]
mov cl, dl
cmp dl, byte [esi + 1]
jne 0x46577c
add eax, 2
add esi, 2
test cl, cl
jne 0x465753
xor eax, eax
test eax, eax
jmp 0x4658c0
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
jmp 0x4658c0
test dword [edi], 0xffffff00
je 0x465799
cmp byte [esi], 0
jne 0x4658be
test eax, eax
je 0x4658cb
cmp byte [eax], 0
je 0x4658cb
lea ecx, [esp + 0x28]
call fcn.0043c8c0
mov eax, dword [eax]
test eax, eax
mov dword [esp + 0x18], eax
je 0x4657d4
mov edx, dword [eax]
and edx, 0xff
cmp edx, 0x80
jae 0x4657d4
push eax
call ebx
mov eax, dword [esp + 0x18]
cmp dword [esp + 0x10], eax
je 0x465817
lea ecx, [esp + 0x10]
call fcn.004039f0
mov eax, dword [esp + 0x18]
test eax, eax
mov dword [esp + 0x10], eax
je 0x465817
mov ecx, dword [eax]
and ecx, 0xff
cmp ecx, 0x80
jae 0x46580e
push eax
call ebx
and eax, 0xff
cmp eax, 0xff
jne 0x465817
lea ecx, [esp + 0x10]
call fcn.0049d350
lea ecx, [esp + 0x18]
call fcn.004039f0
xor esi, esi
mov edi, dword [esp + 0x10]
xor eax, eax
cmp edi, esi
mov dword [esp + 0x1c], eax
je 0x465887
test dword [edi], 0xffffff00
je 0x46585d
mov cl, byte [edi + 4]
test cl, cl
je 0x46585d
push esi
push esi
lea edx, [esp + 0x24]
push edx
lea eax, [esp + 0x1c]
push 1
push eax
call fcn.0043fc50
mov edi, dword [esp + 0x24]
mov eax, dword [esp + 0x30]
add esp, 0x14
cmp edi, esi
je 0x465887
test dword [edi], 0xffffff00
je 0x465887
mov cl, byte [edi + 4]
test cl, cl
je 0x465887
cmp eax, esi
je 0x465887
test dword [eax], 0xffffff00
je 0x465887
mov cl, byte [eax + 4]
test cl, cl
jne 0x465aef
xor eax, eax
mov edi, 0x6b6e10
mov ecx, 0xffffffff
repne scasb al, byte es:[edi]
not ecx
dec ecx
push ecx
push 0x6b6e10
lea ecx, [esp + 0x20]
mov dword [esp + 0x20], esi
call fcn.0049d9d0
mov eax, dword [ebp]
cmp eax, esi
je 0x4659c0
add eax, 4
jmp 0x4659c5
cmp esi, eax
sete al
test al, al
je 0x4657aa
or ecx, 0xffffffff
xor eax, eax
xor esi, esi
mov edi, 0x6b6e10
repne scasb al, byte es:[edi]
not ecx
dec ecx
push ecx
push 0x6b6e10
lea ecx, [esp + 0x20]
mov dword [esp + 0x20], esi
call fcn.0049d9d0
lea eax, [esp + 0x44]
push ebp
push eax
call fcn.00465490
mov eax, dword [eax]
add esp, 8
cmp eax, esi
je 0x465908
add eax, 4
jmp 0x46590a
xor eax, eax
push 1
push 1
lea ecx, [esp + 0x20]
push ecx
push eax
push str.Preferences
lea ecx, [esp + 0x70]
call fcn.0046b970
lea ecx, [esp + 0x5c]
call fcn.0043c8c0
mov eax, dword [eax]
cmp eax, esi
mov dword [esp + 0x14], eax
je 0x46594c
mov edx, dword [eax]
and edx, 0xff
cmp edx, 0x80
jae 0x46594c
push eax
call ebx
mov eax, dword [esp + 0x14]
cmp dword [esp + 0x10], eax
je 0x46598f
lea ecx, [esp + 0x10]
call fcn.004039f0
mov eax, dword [esp + 0x14]
cmp eax, esi
mov dword [esp + 0x10], eax
je 0x46598f
mov ecx, dword [eax]
and ecx, 0xff
cmp ecx, 0x80
jae 0x465986
push eax
call ebx
and eax, 0xff
cmp eax, 0xff
jne 0x46598f
lea ecx, [esp + 0x10]
call fcn.0049d350
lea ecx, [esp + 0x14]
call fcn.004039f0
lea ecx, [esp + 0x5c]
mov dword [esp + 0x14], esi
call fcn.0043b130
lea ecx, [esp + 0x44]
call fcn.004039f0
lea ecx, [esp + 0x18]
mov dword [esp + 0x44], esi
call fcn.004039f0
jmp 0x465822
mov eax, 0x6b6e10
push 1
lea ecx, [esp + 0x1c]
push ecx
push 0x6b6e10
push eax
push SysReAllocString
lea ecx, [esp + 0x70]
call fcn.0043c7f0
lea ecx, [esp + 0x5c]
call fcn.0043c8c0
mov eax, dword [eax]
cmp eax, esi
mov dword [esp + 0x14], eax
je 0x465a0a
mov edx, dword [eax]
and edx, 0xff
cmp edx, 0x80
jae 0x465a0a
push eax
call ebx
mov eax, dword [esp + 0x14]
cmp dword [esp + 0x10], eax
je 0x465a4d
lea ecx, [esp + 0x10]
call fcn.004039f0
mov eax, dword [esp + 0x14]
cmp eax, esi
mov dword [esp + 0x10], eax
je 0x465a4d
mov ecx, dword [eax]
and ecx, 0xff
cmp ecx, 0x80
jae 0x465a44
push eax
call ebx
and eax, 0xff
cmp eax, 0xff
jne 0x465a4d
lea ecx, [esp + 0x10]
call fcn.0049d350
lea ecx, [esp + 0x14]
call fcn.004039f0
lea ecx, [esp + 0x5c]
mov dword [esp + 0x14], esi
call fcn.0043b130
lea ecx, [esp + 0x18]
call fcn.004039f0
mov edi, dword [esp + 0x10]
cmp edi, esi
je 0x465aeb
test dword [edi], 0xffffff00
je 0x465aeb
mov al, byte [edi + 4]
test al, al
lea esi, [edi + 4]
je 0x465aeb
test esi, esi
mov eax, dword [str.Google.PhotoViewer.3.0]
je 0x465ac6
test eax, eax
je 0x465ac6
mov dl, byte [eax]
mov bl, byte [esi]
mov cl, dl
cmp dl, bl
jne 0x465abd
test cl, cl
je 0x465ab7
mov dl, byte [eax + 1]
mov bl, byte [esi + 1]
mov cl, dl
cmp dl, bl
jne 0x465abd
add eax, 2
add esi, 2
test cl, cl
jne 0x465a93
xor eax, eax
test eax, eax
jmp 0x465ac8
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
jmp 0x465ac8
cmp esi, eax
sete al
test al, al
jne 0x465aeb
push 0
push 0
lea eax, [esp + 0x24]
push eax
lea ecx, [esp + 0x1c]
push 1
push ecx
call fcn.0043fc50
mov edi, dword [esp + 0x24]
add esp, 0x14
mov eax, dword [esp + 0x1c]
test eax, eax
mov ebx, dword [esp + 0x1078]
mov ebp, dword [sym.imp.KERNEL32.dll_InterlockedDecrement]
mov dword [ebx], eax
je 0x465b7c
mov edx, dword [eax]
and edx, 0xff
cmp edx, 0x80
jae 0x465b21
push eax
call dword [sym.imp.KERNEL32.dll_InterlockedIncrement]
mov edi, dword [esp + 0x10]
mov eax, dword [esp + 0x1c]
test eax, eax
je 0x465b7c
mov ecx, dword [eax]
and ecx, 0xff
cmp ecx, 0x80
mov esi, eax
jae 0x465b7c
push eax
call ebp
and eax, 0xff
cmp eax, 0x7f
jne 0x465b67
mov edx, dword [esi]
and edx, 0xff
cmp edx, 0x80
jae 0x465b62
push esi
call dword [sym.imp.KERNEL32.dll_InterlockedIncrement]
and eax, 0xff
jmp 0x465b67
mov eax, 0xff
test eax, eax
jne 0x465b78
mov eax, dword [esp + 0x1c]
push eax
call fcn.00499410
add esp, 4
mov edi, dword [esp + 0x10]
test edi, edi
mov dword [esp + 0x1c], 0
je 0x465bdb
mov ecx, dword [edi]
and ecx, 0xff
cmp ecx, 0x80
mov esi, edi
jae 0x465bdb
push edi
call ebp
and eax, 0xff
cmp eax, 0x7f
jne 0x465bca
mov edx, dword [esi]
and edx, 0xff
cmp edx, 0x80
jae 0x465bc5
push esi
call dword [sym.imp.KERNEL32.dll_InterlockedIncrement]
and eax, 0xff
jmp 0x465bca
mov eax, 0xff
test eax, eax
jne 0x465bdb
mov eax, dword [esp + 0x10]
push eax
call fcn.00499410
add esp, 4
mov esi, dword [esp + 0x48]
xor edi, edi
cmp esi, edi
mov dword [esp + 0x10], edi
je 0x465c36
mov ecx, dword [esi]
and ecx, 0xff
cmp ecx, 0x80
jae 0x465c36
push esi
call ebp
and eax, 0xff
cmp eax, 0x7f
jne 0x465c29
mov edx, dword [esi]
and edx, 0xff
cmp edx, 0x80
jae 0x465c24
push esi
call dword [sym.imp.KERNEL32.dll_InterlockedIncrement]
and eax, 0xff
jmp 0x465c29
mov eax, 0xff
cmp eax, edi
jne 0x465c36
push esi
call fcn.00499410
add esp, 4
lea ecx, [esp + 0x38]
call fcn.004039f0
lea ecx, [esp + 0x34]
mov dword [esp + 0x38], edi
call fcn.004039f0
mov eax, dword [esp + 0x30]
cmp eax, edi
mov dword [esp + 0x34], edi
je 0x465cab
mov ecx, dword [eax]
and ecx, 0xff
cmp ecx, 0x80
mov esi, eax
jae 0x465cab
push eax
call ebp
and eax, 0xff
cmp eax, 0x7f
jne 0x465c9a
mov edx, dword [esi]
and edx, 0xff
cmp edx, 0x80
jae 0x465c95
push esi
call dword [sym.imp.KERNEL32.dll_InterlockedIncrement]
and eax, 0xff
jmp 0x465c9a
mov eax, 0xff
cmp eax, edi
jne 0x465cab
mov eax, dword [esp + 0x30]
push eax
call fcn.00499410
add esp, 4
mov eax, dword [esp + 0x2c]
cmp eax, edi
mov dword [esp + 0x30], edi
je 0x465d0a
mov ecx, dword [eax]
and ecx, 0xff
cmp ecx, 0x80
mov esi, eax
jae 0x465d0a
push eax
call ebp
and eax, 0xff
cmp eax, 0x7f
jne 0x465cf9
mov edx, dword [esi]
and edx, 0xff
cmp edx, 0x80
jae 0x465cf4
push esi
call dword [sym.imp.KERNEL32.dll_InterlockedIncrement]
and eax, 0xff
jmp 0x465cf9
mov eax, 0xff
cmp eax, edi
jne 0x465d0a
mov eax, dword [esp + 0x2c]
push eax
call fcn.00499410
add esp, 4
mov eax, dword [esp + 0x20]
cmp eax, edi
mov dword [esp + 0x2c], edi
je 0x465d69
mov ecx, dword [eax]
and ecx, 0xff
cmp ecx, 0x80
mov esi, eax
jae 0x465d69
push eax
call ebp
and eax, 0xff
cmp eax, 0x7f
jne 0x465d58
mov edx, dword [esi]
and edx, 0xff
cmp edx, 0x80
jae 0x465d53
push esi
call dword [sym.imp.KERNEL32.dll_InterlockedIncrement]
and eax, 0xff
jmp 0x465d58
mov eax, 0xff
cmp eax, edi
jne 0x465d69
mov eax, dword [esp + 0x20]
push eax
call fcn.00499410
add esp, 4
pop edi
mov eax, ebx
pop ebx
pop esi
pop ebp
add esp, 0x1064
ret