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

Disassembly:
mov eax, 0x1180
call fcn.00488a80
push ebx
push ebp
push esi
xor ebp, ebp
push edi
mov dword [esp + 0x44], ebp
call fcn.004cc640
test al, al
je 0x468029
or ecx, 0xffffffff
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 + 0x30], ebp
mov dword [esp + 0x1c], ebp
call fcn.0049d9d0
mov eax, dword [esp + 0x44]
cmp eax, ebp
je 0x467454
add eax, 4
jmp 0x467459
mov eax, 0x6b6e10
push 1
lea ecx, [esp + 0x18]
push ecx
push 0x6b6e10
push eax
push SysReAllocString
lea ecx, [esp + 0x8c]
call fcn.0043c7f0
lea ecx, [esp + 0x14]
call fcn.004039f0
or ecx, 0xffffffff
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], ebp
call fcn.0049d9d0
mov ebx, dword [esp + 0x1194]
lea edx, [esp + 0x10]
push ebx
push edx
call fcn.00465490
mov eax, dword [eax]
add esp, 8
cmp eax, ebp
je 0x4674c2
add eax, 4
jmp 0x4674c4
xor eax, eax
push 1
push 1
lea ecx, [esp + 0x1c]
push ecx
push eax
push str.Preferences
lea ecx, [esp + 0x74]
call fcn.0046b970
lea ecx, [esp + 0x10]
call fcn.004039f0
lea ecx, [esp + 0x14]
mov dword [esp + 0x10], ebp
call fcn.004039f0
mov eax, dword [esp + 0x68]
cmp eax, ebp
je 0x46750a
test dword [eax], 0xffffff00
je 0x46750a
lea ecx, [eax + 4]
cmp byte [ecx], 0
jne 0x46750c
xor ecx, ecx
mov eax, dword [esp + 0x64]
cmp eax, ebp
je 0x467519
add eax, 4
jmp 0x46751b
xor eax, eax
mov edx, dword [esp + 0x60]
push ecx
push eax
push edx
call fcn.004cd210
mov esi, dword [sym.imp.KERNEL32.dll_InterlockedIncrement]
add esp, 0xc
test al, al
mov edi, 0x1000
je 0x46770b
lea ecx, [esp + 0x2c]
mov dword [esp + 0x10], ebp
call fcn.004ccff0
mov eax, dword [esp + 0x68]
cmp eax, ebp
je 0x467557
lea ecx, [eax + 4]
jmp 0x467559
xor ecx, ecx
mov eax, dword [esp + 0x64]
cmp eax, ebp
je 0x467566
add eax, 4
jmp 0x467568
xor eax, eax
push 0x20019
push ecx
push eax
mov eax, dword [esp + 0x6c]
push eax
lea ecx, [esp + 0x3c]
call fcn.004cd0a0
test eax, eax
jne 0x4675e6
lea ecx, [esp + 0x10]
push ecx
push edi
lea edx, [esp + 0x198]
push edx
lea ecx, [esp + 0x78]
mov dword [esp + 0x20], edi
call fcn.0049da40
mov eax, dword [esp + 0x74]
push eax
lea ecx, [esp + 0x18]
push ecx
lea edx, [esp + 0x198]
push edx
lea ecx, [esp + 0x38]
call fcn.004cd430
test eax, eax
je 0x4675c3
mov eax, dword [esp + 0x10]
mov dword [esp + 0x14], eax
lea ecx, [esp + 0x2c]
call fcn.004cd270
mov eax, dword [esp + 0x14]
cmp eax, ebp
je 0x4675e6
push eax
lea ecx, [esp + 0x194]
push ecx
lea ecx, [esp + 0x74]
call fcn.0049dad0
lea ecx, [esp + 0x2c]
call fcn.004cd000
mov eax, dword [esp + 0x6c]
cmp eax, ebp
je 0x46770b
test dword [eax], 0xffffff00
je 0x46770b
mov cl, byte [eax + 4]
test cl, cl
je 0x46770b
lea ecx, [esp + 0x2c]
mov dword [esp + 0x10], ebp
call fcn.004ccff0
mov eax, dword [esp + 0x68]
cmp eax, ebp
je 0x46762c
lea ecx, [eax + 4]
jmp 0x46762e
xor ecx, ecx
mov eax, dword [esp + 0x64]
cmp eax, ebp
je 0x46763b
add eax, 4
jmp 0x46763d
xor eax, eax
mov edx, dword [esp + 0x60]
push 0x20019
push ecx
push eax
push edx
lea ecx, [esp + 0x3c]
call fcn.004cd0a0
test eax, eax
jne 0x4676bb
lea eax, [esp + 0x10]
push eax
push edi
lea ecx, [esp + 0x198]
push ecx
lea ecx, [esp + 0x78]
mov dword [esp + 0x20], edi
call fcn.0049da40
mov edx, dword [esp + 0x74]
push edx
lea eax, [esp + 0x18]
push eax
lea ecx, [esp + 0x198]
push ecx
lea ecx, [esp + 0x38]
call fcn.004cd430
test eax, eax
je 0x467698
mov edx, dword [esp + 0x10]
mov dword [esp + 0x14], edx
lea ecx, [esp + 0x2c]
call fcn.004cd270
mov eax, dword [esp + 0x14]
cmp eax, ebp
je 0x4676bb
push eax
lea eax, [esp + 0x194]
push eax
lea ecx, [esp + 0x74]
call fcn.0049dad0
lea ecx, [esp + 0x2c]
call fcn.004cd000
mov eax, dword [esp + 0x28]
cmp eax, dword [esp + 0x6c]
je 0x46770f
lea ecx, [esp + 0x28]
call fcn.004039f0
mov eax, dword [esp + 0x6c]
cmp eax, ebp
mov dword [esp + 0x28], eax
je 0x467722
mov ecx, dword [eax]
and ecx, 0xff
cmp ecx, 0x80
jae 0x467702
push eax
call esi
and eax, 0xff
cmp eax, 0xff
jne 0x46770b
lea ecx, [esp + 0x28]
call fcn.0049d350
mov eax, dword [esp + 0x28]
cmp eax, ebp
je 0x467722
test dword [eax], 0xffffff00
je 0x467722
mov cl, byte [eax + 4]
test cl, cl
jne 0x46779a
xor eax, eax
mov edi, 0x6999c0
mov ecx, 0xffffffff
repne scasb al, byte es:[edi]
not ecx
dec ecx
push ecx
push 0x6999c0
lea ecx, [esp + 0x1c]
mov dword [esp + 0x1c], ebp
call fcn.0049d9d0
mov edx, dword [esp + 0x28]
cmp edx, dword [esp + 0x14]
je 0x46778d
lea ecx, [esp + 0x28]
call fcn.004039f0
mov eax, dword [esp + 0x14]
cmp eax, ebp
mov dword [esp + 0x28], eax
je 0x46778d
mov ecx, dword [eax]
and ecx, 0xff
cmp ecx, 0x80
jae 0x467784
push eax
call esi
and eax, 0xff
cmp eax, 0xff
jne 0x46778d
lea ecx, [esp + 0x28]
call fcn.0049d350
lea ecx, [esp + 0x14]
call fcn.004039f0
mov eax, dword [esp + 0x28]
cmp eax, ebp
je 0x4678b1
test dword [eax], 0xffffff00
je 0x4678b1
mov cl, byte [eax + 4]
test cl, cl
je 0x4678b1
call fcn.00514570
mov eax, dword [esp + 0x28]
cmp eax, ebp
je 0x4677cb
add eax, 4
jmp 0x4677cd
xor eax, eax
push eax
lea ecx, [esp + 0x1c]
call fcn.004a03e0
mov eax, dword [ebx]
cmp eax, ebp
je 0x4677e2
add eax, 4
jmp 0x4677e4
xor eax, eax
push eax
lea ecx, [esp + 0x18]
call fcn.004a03e0
lea edx, [esp + 0x10]
push edx
push str._n_vSN
push 3
push ebp
push 0x660e54
call dword [sym.imp.ole32.dll_CoCreateInstance]
test eax, eax
jl 0x46783f
mov eax, dword [esp + 0x14]
cmp eax, ebp
je 0x467817
lea edx, [eax + 4]
jmp 0x467819
xor edx, edx
mov eax, dword [esp + 0x18]
cmp eax, ebp
je 0x467826
lea ecx, [eax + 4]
jmp 0x467828
xor ecx, ecx
mov eax, dword [esp + 0x10]
mov esi, dword [eax]
push ebp
push edx
push ecx
push eax
call dword [esi + 0x18]
mov eax, dword [esp + 0x10]
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
call fcn.00514590
lea ecx, [esp + 0x2c]
call fcn.004ccff0
mov eax, dword [esp + 0x68]
cmp eax, ebp
je 0x46785a
lea ecx, [eax + 4]
jmp 0x46785c
xor ecx, ecx
mov eax, dword [esp + 0x64]
cmp eax, ebp
je 0x467869
add eax, 4
jmp 0x46786b
xor eax, eax
mov edx, dword [esp + 0x60]
push 0xf003f
push ecx
push eax
push edx
lea ecx, [esp + 0x3c]
call fcn.004cd0a0
test eax, eax
lea ecx, [esp + 0x2c]
jne 0x467891
call fcn.004cd300
lea ecx, [esp + 0x2c]
call fcn.004cd000
lea ecx, [esp + 0x14]
call fcn.004039f0
lea ecx, [esp + 0x18]
mov dword [esp + 0x14], ebp
call fcn.004039f0
jmp 0x468009
lea ecx, [esp + 0x2c]
mov dword [esp + 0x20], ebp
mov dword [esp + 0x24], ebp
call fcn.004ccff0
mov eax, dword [esp + 0x80]
cmp eax, ebp
je 0x4678d2
lea ecx, [eax + 4]
jmp 0x4678d4
xor ecx, ecx
mov eax, dword [esp + 0x7c]
cmp eax, ebp
je 0x4678e1
add eax, 4
jmp 0x4678e3
xor eax, eax
push 0x20019
push ecx
push eax
mov eax, dword [esp + 0x84]
push eax
lea ecx, [esp + 0x3c]
call fcn.004cd0a0
test eax, eax
mov ebp, pe_nt_image_headers32
jne 0x4679e8
xor esi, esi
lea ecx, [esp + 0x18]
push ecx
mov ecx, dword [esp + 0x30]
push esi
push esi
push esi
lea edx, [esp + 0x20]
push edx
lea eax, [esp + 0xa4]
push eax
push esi
push ecx
mov dword [esp + 0x30], ebp
call dword [0x6b952c]
test eax, eax
jne 0x4679e8
or ecx, 0xffffffff
xor eax, eax
lea edi, [esp + 0x90]
repne scasb al, byte es:[edi]
not ecx
dec ecx
push ecx
lea edx, [esp + 0x94]
push edx
lea ecx, [esp + 0x1c]
mov dword [esp + 0x1c], 0
call fcn.0049d9d0
mov eax, dword [esp + 0x24]
test al, 1
jne 0x4679ae
mov ecx, eax
shr ecx, 1
lea edx, [ecx - 1]
test ecx, edx
jne 0x467986
lea ecx, [esp + 0x20]
call fcn.004400e0
test eax, eax
je 0x4679ae
mov eax, dword [esp + 0x24]
mov edx, dword [esp + 0x20]
lea ecx, [esp + 0x14]
shr eax, 1
push ecx
lea ecx, [edx + eax*4]
call fcn.00436200
mov eax, dword [esp + 0x24]
mov ecx, eax
and ecx, 0xfffffffe
add ecx, 2
and eax, 1
xor ecx, eax
mov dword [esp + 0x24], ecx
lea ecx, [esp + 0x14]
call fcn.004039f0
lea edx, [esp + 0x18]
push edx
mov edx, dword [esp + 0x30]
push 0
push 0
push 0
lea eax, [esp + 0x20]
push eax
lea ecx, [esp + 0xa4]
push ecx
inc esi
push esi
push edx
mov dword [esp + 0x30], ebp
call dword [0x6b952c]
test eax, eax
je 0x467937
lea ecx, [esp + 0x2c]
call fcn.004cd000
test dword [esp + 0x24], 0xfffffffe
jne 0x467ba5
xor esi, esi
lea ecx, [esp + 0x2c]
mov dword [esp + 0x18], esi
mov dword [esp + 0x1c], esi
call fcn.004ccff0
mov eax, dword [esp + 0x80]
cmp eax, esi
je 0x467a22
lea ecx, [eax + 4]
jmp 0x467a24
xor ecx, ecx
mov eax, dword [esp + 0x7c]
cmp eax, esi
je 0x467a31
add eax, 4
jmp 0x467a33
xor eax, eax
push 0x20019
push ecx
push eax
mov eax, dword [esp + 0x84]
push eax
lea ecx, [esp + 0x3c]
call fcn.004cd0a0
test eax, eax
jne 0x467b2e
mov eax, dword [esp + 0x2c]
push esi
push esi
push esi
push esi
lea ecx, [esp + 0x24]
push ecx
lea edx, [esp + 0xa4]
push edx
push esi
push eax
mov dword [esp + 0x34], ebp
call dword [0x6b9528]
cmp eax, esi
jne 0x467b2e
lea esp, [esp]
or ecx, 0xffffffff
xor eax, eax
lea edi, [esp + 0x90]
repne scasb al, byte es:[edi]
not ecx
dec ecx
push ecx
lea ecx, [esp + 0x94]
push ecx
lea ecx, [esp + 0x18]
mov dword [esp + 0x18], 0
call fcn.0049d9d0
mov eax, dword [esp + 0x1c]
test al, 1
jne 0x467af7
mov ecx, eax
shr ecx, 1
lea edx, [ecx - 1]
test ecx, edx
jne 0x467acf
lea ecx, [esp + 0x18]
call fcn.004400e0
test eax, eax
je 0x467af7
mov eax, dword [esp + 0x1c]
mov edx, dword [esp + 0x18]
lea ecx, [esp + 0x10]
shr eax, 1
push ecx
lea ecx, [edx + eax*4]
call fcn.00436200
mov eax, dword [esp + 0x1c]
mov ecx, eax
and ecx, 0xfffffffe
add ecx, 2
and eax, 1
xor ecx, eax
mov dword [esp + 0x1c], ecx
lea ecx, [esp + 0x10]
call fcn.004039f0
mov ecx, dword [esp + 0x2c]
push 0
push 0
push 0
push 0
lea edx, [esp + 0x24]
push edx
lea eax, [esp + 0xa4]
push eax
inc esi
push esi
push ecx
mov dword [esp + 0x34], ebp
call dword [0x6b9528]
test eax, eax
je 0x467a80
lea ecx, [esp + 0x2c]
call fcn.004cd000
mov edx, dword [esp + 0x1c]
and edx, 0xfffffffe
cmp edx, 2
ja 0x467b9c
lea ecx, [esp + 0x2c]
call fcn.004ccff0
mov eax, dword [esp + 0x80]
test eax, eax
je 0x467b5c
lea ecx, [eax + 4]
jmp 0x467b5e
xor ecx, ecx
mov eax, dword [esp + 0x7c]
test eax, eax
je 0x467b6b
add eax, 4
jmp 0x467b6d
xor eax, eax
push 0xf003f
push ecx
push eax
mov eax, dword [esp + 0x84]
push eax
lea ecx, [esp + 0x3c]
call fcn.004cd0a0
test eax, eax
lea ecx, [esp + 0x2c]
jne 0x467b97
push eax
call fcn.004cd2a0
lea ecx, [esp + 0x2c]
call fcn.004cd000
lea ecx, [esp + 0x18]
call fcn.00437be0
lea ecx, [esp + 0x20]
call fcn.00437be0
mov eax, dword [ebx]
test eax, eax
je 0x467bb9
add eax, 4
jmp 0x467bbe
mov eax, 0x6b6e10
mov ecx, dword [str.SoftwareClasses]
push eax
push ecx
lea edx, [esp + 0x4c]
push 0x699994
push edx
call fcn.00403a60
or ecx, 0xffffffff
add esp, 0x10
xor eax, eax
xor ebx, ebx
mov edi, 0x6b6e10
repne scasb al, byte es:[edi]
not ecx
dec ecx
push ecx
push 0x6b6e10
lea ecx, [esp + 0x18]
mov dword [esp + 0x18], ebx
call fcn.0049d9d0
mov eax, dword [esp + 0x44]
cmp eax, ebx
je 0x467c09
add eax, 4
jmp 0x467c0e
mov eax, 0x6b6e10
push 1
lea ecx, [esp + 0x14]
push ecx
push 0x6b6e10
push eax
push reloc.OLEAUT32.dll_SysReAllocString
lea ecx, [esp + 0x5c]
call fcn.0043c7f0
lea ecx, [esp + 0x10]
call fcn.004039f0
mov eax, dword [esp + 0x4c]
cmp eax, ebx
je 0x467c3f
add eax, 4
jmp 0x467c41
xor eax, eax
mov edx, dword [esp + 0x48]
push ebx
push eax
push edx
call fcn.004cd210
add esp, 0xc
test al, al
je 0x468000
lea ecx, [esp + 0x2c]
mov dword [esp + 0x18], ebx
call fcn.004ccff0
mov eax, dword [esp + 0x50]
cmp eax, ebx
je 0x467c72
lea ecx, [eax + 4]
jmp 0x467c74
xor ecx, ecx
mov eax, dword [esp + 0x4c]
cmp eax, ebx
je 0x467c81
add eax, 4
jmp 0x467c83
xor eax, eax
push 0x20019
push ecx
push eax
mov eax, dword [esp + 0x54]
push eax
lea ecx, [esp + 0x3c]
call fcn.004cd0a0
test eax, eax
jne 0x467d09
lea ecx, [esp + 0x18]
push ecx
push 0x1000
lea edx, [esp + 0x198]
push edx
lea ecx, [esp + 0x60]
mov dword [esp + 0x1c], 0x1000
call fcn.0049da40
mov eax, dword [esp + 0x5c]
push eax
lea ecx, [esp + 0x14]
push ecx
lea edx, [esp + 0x198]
push edx
lea ecx, [esp + 0x38]
call fcn.004cd430
test eax, eax
je 0x467ce6
mov eax, dword [esp + 0x18]
mov dword [esp + 0x10], eax
lea ecx, [esp + 0x2c]
call fcn.004cd270
mov eax, dword [esp + 0x10]
cmp eax, ebx
je 0x467d09
push eax
lea ecx, [esp + 0x194]
push ecx
lea ecx, [esp + 0x5c]
call fcn.0049dad0
lea ecx, [esp + 0x2c]
call fcn.004cd000
mov eax, dword [esp + 0x54]
cmp eax, ebx
je 0x467d2d
test dword [eax], 0xffffff00
je 0x467d2d
mov cl, byte [eax + 4]
test cl, cl
jne 0x468000
lea ecx, [esp + 0x2c]
mov dword [esp + 0x18], ebx
mov dword [esp + 0x1c], ebx
call fcn.004ccff0
mov eax, dword [esp + 0x50]
cmp eax, ebx
je 0x467d4b
lea ecx, [eax + 4]
jmp 0x467d4d
xor ecx, ecx
mov eax, dword [esp + 0x4c]
cmp eax, ebx
je 0x467d5a
add eax, 4
jmp 0x467d5c
xor eax, eax
mov edx, dword [esp + 0x48]
push 0x20019
push ecx
push eax
push edx
lea ecx, [esp + 0x3c]
call fcn.004cd0a0
test eax, eax
jne 0x467e52
lea eax, [esp + 0x20]
push eax
mov eax, dword [esp + 0x30]
push ebx
push ebx
push ebx
lea ecx, [esp + 0x24]
push ecx
lea edx, [esp + 0xa4]
push edx
push ebx
push eax
xor esi, esi
mov dword [esp + 0x34], ebp
call dword [0x6b952c]
cmp eax, ebx
jne 0x467e52
or ecx, 0xffffffff
xor eax, eax
lea edi, [esp + 0x90]
repne scasb al, byte es:[edi]
not ecx
dec ecx
push ecx
lea ecx, [esp + 0x94]
push ecx
lea ecx, [esp + 0x18]
mov dword [esp + 0x18], ebx
call fcn.0049d9d0
mov eax, dword [esp + 0x1c]
test al, 1
jne 0x467e1b
mov ecx, eax
shr ecx, 1
lea edx, [ecx - 1]
test ecx, edx
jne 0x467df3
lea ecx, [esp + 0x18]
call fcn.004400e0
test eax, eax
je 0x467e1b
mov eax, dword [esp + 0x1c]
mov edx, dword [esp + 0x18]
lea ecx, [esp + 0x10]
shr eax, 1
push ecx
lea ecx, [edx + eax*4]
call fcn.00436200
mov eax, dword [esp + 0x1c]
mov ecx, eax
and ecx, 0xfffffffe
add ecx, 2
and eax, 1
xor ecx, eax
mov dword [esp + 0x1c], ecx
lea ecx, [esp + 0x10]
call fcn.004039f0
lea edx, [esp + 0x20]
push edx
mov edx, dword [esp + 0x30]
push ebx
push ebx
push ebx
lea eax, [esp + 0x24]
push eax
lea ecx, [esp + 0xa4]
push ecx
inc esi
push esi
push edx
mov dword [esp + 0x34], ebp
call dword [0x6b952c]
cmp eax, ebx
je 0x467da8
lea ecx, [esp + 0x2c]
call fcn.004cd000
test dword [esp + 0x1c], 0xfffffffe
jne 0x467ff7
lea ecx, [esp + 0x2c]
mov dword [esp + 0x20], ebx
mov dword [esp + 0x24], ebx
call fcn.004ccff0
mov eax, dword [esp + 0x50]
cmp eax, ebx
je 0x467e87
lea ecx, [eax + 4]
jmp 0x467e89
xor ecx, ecx
mov eax, dword [esp + 0x4c]
cmp eax, ebx
je 0x467e96
add eax, 4
jmp 0x467e98
xor eax, eax
push 0x20019
push ecx
push eax
mov eax, dword [esp + 0x54]
push eax
lea ecx, [esp + 0x3c]
call fcn.004cd0a0
test eax, eax
jne 0x467f86
mov eax, dword [esp + 0x2c]
push ebx
push ebx
push ebx
push ebx
lea ecx, [esp + 0x24]
push ecx
lea edx, [esp + 0xa4]
push edx
push ebx
push eax
xor esi, esi
mov dword [esp + 0x34], ebp
call dword [0x6b9528]
cmp eax, ebx
jne 0x467f86
or ecx, 0xffffffff
xor eax, eax
lea edi, [esp + 0x90]
repne scasb al, byte es:[edi]
not ecx
dec ecx
push ecx
lea ecx, [esp + 0x94]
push ecx
lea ecx, [esp + 0x18]
mov dword [esp + 0x18], ebx
call fcn.0049d9d0
mov eax, dword [esp + 0x24]
test al, 1
jne 0x467f53
mov ecx, eax
shr ecx, 1
lea edx, [ecx - 1]
test ecx, edx
jne 0x467f2b
lea ecx, [esp + 0x20]
call fcn.004400e0
test eax, eax
je 0x467f53
mov eax, dword [esp + 0x24]
mov edx, dword [esp + 0x20]
lea ecx, [esp + 0x10]
shr eax, 1
push ecx
lea ecx, [edx + eax*4]
call fcn.00436200
mov eax, dword [esp + 0x24]
mov ecx, eax
and ecx, 0xfffffffe
add ecx, 2
and eax, 1
xor ecx, eax
mov dword [esp + 0x24], ecx
lea ecx, [esp + 0x10]
call fcn.004039f0
mov ecx, dword [esp + 0x2c]
push ebx
push ebx
push ebx
push ebx
lea edx, [esp + 0x24]
push edx
lea eax, [esp + 0xa4]
push eax
inc esi
push esi
push ecx
mov dword [esp + 0x34], ebp
call dword [0x6b9528]
cmp eax, ebx
je 0x467ee0
lea ecx, [esp + 0x2c]
call fcn.004cd000
mov edx, dword [esp + 0x24]
and edx, 0xfffffffe
cmp edx, 2
ja 0x467fee
lea ecx, [esp + 0x2c]
call fcn.004ccff0
mov eax, dword [esp + 0x50]
cmp eax, ebx
je 0x467fb1
lea ecx, [eax + 4]
jmp 0x467fb3
xor ecx, ecx
mov eax, dword [esp + 0x4c]
cmp eax, ebx
je 0x467fc0
add eax, 4
jmp 0x467fc2
xor eax, eax
push 0xf003f
push ecx
push eax
mov eax, dword [esp + 0x54]
push eax
lea ecx, [esp + 0x3c]
call fcn.004cd0a0
test eax, eax
lea ecx, [esp + 0x2c]
jne 0x467fe9
push ebx
call fcn.004cd2a0
lea ecx, [esp + 0x2c]
call fcn.004cd000
lea ecx, [esp + 0x20]
call fcn.00437be0
lea ecx, [esp + 0x18]
call fcn.00437be0
lea ecx, [esp + 0x48]
call fcn.0043b130
lea ecx, [esp + 0x60]
call fcn.0043b130
lea ecx, [esp + 0x78]
call fcn.0043b130
lea ecx, [esp + 0x28]
call fcn.004039f0
jmp 0x4686cc
mov ebx, dword [esp + 0x1194]
mov eax, dword [ebx]
cmp eax, ebp
je 0x46803b
add eax, 4
jmp 0x468040
mov eax, 0x6b6e10
mov ecx, dword [str.SoftwareMicrosoftWindowsCurrentVersionExplorerFileExts]
push eax
push ecx
lea edx, [esp + 0x4c]
push 0x699994
push edx
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 + 0x18]
mov dword [esp + 0x18], ebp
call fcn.0049d9d0
mov eax, dword [esp + 0x44]
cmp eax, ebp
je 0x468089
add eax, 4
jmp 0x46808e
mov eax, 0x6b6e10
mov edx, dword [str.ProgID]
push 1
lea ecx, [esp + 0x14]
push ecx
push edx
push eax
push SysReAllocString
lea ecx, [esp + 0x5c]
call fcn.0043c7f0
lea ecx, [esp + 0x10]
call fcn.004039f0
mov eax, dword [esp + 0x50]
cmp eax, ebp
je 0x4680ce
test dword [eax], 0xffffff00
je 0x4680ce
mov cl, byte [eax + 4]
add eax, 4
test cl, cl
jne 0x4680d0
xor eax, eax
mov ecx, dword [esp + 0x4c]
cmp ecx, ebp
je 0x4680dd
add ecx, 4
jmp 0x4680df
xor ecx, ecx
push eax
mov eax, dword [esp + 0x4c]
push ecx
push eax
call fcn.004cd210
add esp, 0xc
test al, al
je 0x46826a
lea ecx, [esp + 0x2c]
mov dword [esp + 0x18], ebp
call fcn.004ccff0
mov eax, dword [esp + 0x50]
cmp eax, ebp
je 0x468110
lea ecx, [eax + 4]
jmp 0x468112
xor ecx, ecx
mov eax, dword [esp + 0x4c]
cmp eax, ebp
je 0x46811f
add eax, 4
jmp 0x468121
xor eax, eax
push 0x20019
push ecx
mov ecx, dword [esp + 0x50]
push eax
push ecx
lea ecx, [esp + 0x3c]
call fcn.004cd0a0
test eax, eax
jne 0x4681a7
lea edx, [esp + 0x18]
push edx
push 0x1000
lea eax, [esp + 0x198]
push eax
lea ecx, [esp + 0x60]
mov dword [esp + 0x1c], 0x1000
call fcn.0049da40
mov ecx, dword [esp + 0x5c]
push ecx
lea edx, [esp + 0x14]
push edx
lea eax, [esp + 0x198]
push eax
lea ecx, [esp + 0x38]
call fcn.004cd430
test eax, eax
je 0x468184
mov ecx, dword [esp + 0x18]
mov dword [esp + 0x10], ecx
lea ecx, [esp + 0x2c]
call fcn.004cd270
mov eax, dword [esp + 0x10]
cmp eax, ebp
je 0x4681a7
push eax
lea edx, [esp + 0x194]
push edx
lea ecx, [esp + 0x5c]
call fcn.0049dad0
lea ecx, [esp + 0x2c]
call fcn.004cd000
mov ecx, dword [esp + 0x54]
cmp ecx, ebp
mov eax, dword [str.Google.PhotoViewer.3.0]
je 0x468204
lea esi, [ecx + 4]
cmp esi, ebp
je 0x4681f7
cmp eax, ebp
je 0x4681f7
mov dl, byte [eax]
mov cl, dl
cmp dl, byte [esi]
jne 0x4681ee
test cl, cl
je 0x4681e8
mov dl, byte [eax + 1]
mov cl, dl
cmp dl, byte [esi + 1]
jne 0x4681ee
add eax, 2
add esi, 2
test cl, cl
jne 0x4681c8
xor eax, eax
cmp eax, ebp
jmp 0x468211
sbb eax, eax
sbb eax, 0xffffffff
cmp eax, ebp
jmp 0x468211
test dword [ecx], 0xffffff00
je 0x468204
cmp byte [esi], 0
jne 0x46820f
cmp eax, ebp
je 0x468218
cmp byte [eax], 0
jne 0x46826a
jmp 0x468218
cmp esi, eax
sete al
test al, al
je 0x46826a
lea ecx, [esp + 0x2c]
call fcn.004ccff0
mov eax, dword [esp + 0x50]
cmp eax, ebp
je 0x46822e
lea ecx, [eax + 4]
jmp 0x468230
xor ecx, ecx
mov eax, dword [esp + 0x4c]
cmp eax, ebp
je 0x46823d
add eax, 4
jmp 0x46823f
xor eax, eax
push 0xf003f
push ecx
push eax
mov eax, dword [esp + 0x54]
push eax
lea ecx, [esp + 0x3c]
call fcn.004cd0a0
test eax, eax
lea ecx, [esp + 0x2c]
jne 0x468265
call fcn.004cd300
lea ecx, [esp + 0x2c]
call fcn.004cd000
mov eax, dword [ebx]
cmp eax, ebp
je 0x468275
add eax, 4
jmp 0x46827a
mov eax, 0x6b6e10
mov ecx, dword [str.SoftwareClasses]
push eax
push ecx
lea edx, [esp + 0x4c]
push 0x699994
push edx
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 + 0x18]
mov dword [esp + 0x18], ebp
call fcn.0049d9d0
mov eax, dword [esp + 0x44]
cmp eax, ebp
je 0x4682c3
add eax, 4
jmp 0x4682c8
mov eax, 0x6b6e10
push 1
lea ecx, [esp + 0x14]
push ecx
push 0x6b6e10
push eax
push SysReAllocString
lea ecx, [esp + 0x8c]
call fcn.0043c7f0
lea ecx, [esp + 0x10]
call fcn.004039f0
or ecx, 0xffffffff
xor eax, eax
mov edi, 0x6b6e10
repne scasb al, byte es:[edi]
not ecx
dec ecx
push ecx
push 0x6b6e10
lea ecx, [esp + 0x18]
mov dword [esp + 0x18], ebp
call fcn.0049d9d0
lea edx, [esp + 0x18]
push ebx
push edx
call fcn.00465490
mov eax, dword [eax]
add esp, 8
cmp eax, ebp
je 0x46832a
add eax, 4
jmp 0x46832c
xor eax, eax
push 1
push 1
lea ecx, [esp + 0x18]
push ecx
push eax
push str.Preferences
lea ecx, [esp + 0x74]
call fcn.0046b970
lea ecx, [esp + 0x18]
call fcn.004039f0
lea ecx, [esp + 0x10]
mov dword [esp + 0x18], ebp
call fcn.004039f0
mov eax, dword [esp + 0x68]
cmp eax, ebp
je 0x468374
test dword [eax], 0xffffff00
je 0x468374
mov cl, byte [eax + 4]
add eax, 4
test cl, cl
jne 0x468376
xor eax, eax
mov ecx, dword [esp + 0x64]
cmp ecx, ebp
je 0x468383
add ecx, 4
jmp 0x468385
xor ecx, ecx
mov edx, dword [esp + 0x60]
push eax
push ecx
push edx
call fcn.004cd210
add esp, 0xc
test al, al
je 0x46844f
lea ecx, [esp + 0x60]
call fcn.0043c8c0
mov eax, dword [eax]
cmp eax, ebp
je 0x46844f
mov ecx, dword [eax]
shr ecx, 8
cmp ecx, ebp
je 0x46844f
cmp eax, ebp
je 0x4683c5
add eax, 4
jmp 0x4683c7
xor eax, eax
cmp byte [eax], 0
je 0x46844f
lea ecx, [esp + 0x60]
call fcn.0043c8c0
mov esi, dword [eax]
cmp esi, ebp
mov dword [esp + 0x18], esi
je 0x4683fd
mov eax, dword [esi]
and eax, 0xff
cmp eax, 0x80
jae 0x4683f8
push esi
call dword [sym.imp.KERNEL32.dll_InterlockedIncrement]
lea edx, [esi + 4]
jmp 0x468402
mov edx, 0x6b6e10
cmp edx, ebp
mov dword [esp + 0x10], ebp
je 0x468421
or ecx, 0xffffffff
xor eax, eax
mov edi, edx
repne scasb al, byte es:[edi]
not ecx
dec ecx
push ecx
push edx
lea ecx, [esp + 0x18]
call fcn.0049d9d0
lea ecx, [esp + 0x10]
push ecx
lea ecx, [esp + 0x7c]
call fcn.00437cc0
lea ecx, [esp + 0x10]
call fcn.004039f0
lea ecx, [esp + 0x60]
call fcn.0046bca0
lea ecx, [esp + 0x18]
call fcn.004039f0
jmp 0x4686b1
mov eax, dword [esp + 0x80]
cmp eax, ebp
je 0x46846c
test dword [eax], 0xffffff00
je 0x46846c
mov cl, byte [eax + 4]
add eax, 4
test cl, cl
jne 0x46846e
xor eax, eax
mov ecx, dword [esp + 0x7c]
cmp ecx, ebp
je 0x46847b
add ecx, 4
jmp 0x46847d
xor ecx, ecx
mov edx, dword [esp + 0x78]
push eax
push ecx
push edx
call fcn.004cd210
add esp, 0xc
test al, al
je 0x4686b1
lea ecx, [esp + 0x78]
call fcn.0043c8c0
mov eax, dword [eax]
cmp eax, ebp
mov edx, dword [str.Google.PhotoViewer.3.0]
je 0x46850d
lea ecx, [eax + 4]
cmp ecx, ebp
je 0x4684f0
cmp edx, ebp
je 0x4684f0
cmp eax, ebp
je 0x4684bd
lea esi, [eax + 4]
jmp 0x4684bf
xor esi, esi
mov eax, edx
mov dl, byte [eax]
mov cl, dl
cmp dl, byte [esi]
jne 0x4684e7
test cl, cl
je 0x4684e1
mov dl, byte [eax + 1]
mov cl, dl
cmp dl, byte [esi + 1]
jne 0x4684e7
add eax, 2
add esi, 2
test cl, cl
jne 0x4684c1
xor eax, eax
cmp eax, ebp
jmp 0x468529
sbb eax, eax
sbb eax, 0xffffffff
cmp eax, ebp
jmp 0x468529
cmp eax, ebp
je 0x46850d
mov ecx, dword [eax]
shr ecx, 8
cmp ecx, ebp
je 0x46850d
cmp eax, ebp
je 0x468506
lea ecx, [eax + 4]
jmp 0x468508
xor ecx, ecx
cmp byte [ecx], 0
jne 0x46851c
cmp edx, ebp
je 0x468534
cmp byte [edx], 0
jne 0x4686b1
jmp 0x468534
cmp eax, ebp
je 0x468525
add eax, 4
jmp 0x468527
xor eax, eax
cmp eax, edx
sete al
test al, al
je 0x4686b1
lea ecx, [esp + 0x18]
call fcn.00513c10
lea eax, [esp + 0x18]
push eax
lea ecx, [esp + 0x7c]
call fcn.0046bdd0
mov eax, dword [esp + 0x1c]
mov esi, 0xfffffffe
test esi, eax
jne 0x46858c
lea ecx, [esp + 0x20]
call fcn.00513c10
lea ecx, [esp + 0x20]
push ecx
lea ecx, [esp + 0x7c]
call fcn.0046c130
mov edx, dword [esp + 0x24]
and edx, esi
cmp edx, 2
ja 0x468583
lea ecx, [esp + 0x78]
call fcn.0046bd00
lea ecx, [esp + 0x20]
call fcn.00437be0
lea ecx, [esp + 0x18]
call fcn.00437be0
mov eax, dword [ebx]
cmp eax, ebp
je 0x4685a0
add eax, 4
jmp 0x4685a5
mov eax, 0x6b6e10
push eax
mov eax, dword [str.SoftwareClasses]
push eax
lea ecx, [esp + 0x4c]
push 0x699994
push ecx
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 + 0x18]
mov dword [esp + 0x18], ebp
call fcn.0049d9d0
mov eax, dword [esp + 0x44]
cmp eax, ebp
je 0x4685ed
add eax, 4
jmp 0x4685f2
mov eax, 0x6b6e10
lea edx, [esp + 0x10]
push edx
push 0x6b6e10
push eax
push reloc.OLEAUT32.dll_SysReAllocString
lea ecx, [esp + 0x3c]
call fcn.004686f0
lea ecx, [esp + 0x10]
call fcn.004039f0
push ebp
lea ecx, [esp + 0x30]
call fcn.0046bd60
test al, al
je 0x4686a8
lea ecx, [esp + 0x2c]
call fcn.0043c8c0
mov eax, dword [eax]
cmp eax, ebp
je 0x46864e
mov ecx, dword [eax]
shr ecx, 8
cmp ecx, ebp
je 0x46864e
cmp eax, ebp
je 0x468647
add eax, 4
jmp 0x468649
xor eax, eax
cmp byte [eax], 0
jne 0x4686a8
lea ecx, [esp + 0x18]
call fcn.00513c10
lea eax, [esp + 0x18]
push eax
lea ecx, [esp + 0x30]
call fcn.0046bdd0
test dword [esp + 0x1c], esi
jne 0x46869f
lea ecx, [esp + 0x20]
call fcn.00513c10
lea ecx, [esp + 0x20]
push ecx
lea ecx, [esp + 0x30]
call fcn.0046c130
mov edx, dword [esp + 0x24]
and edx, esi
cmp edx, 2
ja 0x468696
lea ecx, [esp + 0x2c]
call fcn.0046bd00
lea ecx, [esp + 0x20]
call fcn.00437be0
lea ecx, [esp + 0x18]
call fcn.00437be0
lea ecx, [esp + 0x2c]
call fcn.0043b130
lea ecx, [esp + 0x60]
call fcn.0043b130
lea ecx, [esp + 0x78]
call fcn.0043b130
lea ecx, [esp + 0x48]
call fcn.0043b130
lea ecx, [esp + 0x44]
call fcn.004039f0
pop edi
pop esi
pop ebp
xor eax, eax
pop ebx
add esp, 0x1180
ret