Function at 0x4261c0
Capabilities:
Get installed programs

Disassembly:
stc
add al, byte [eax]
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x5bda99
mov eax, dword fs:[0]
push eax
sub esp, 0xd40
mov eax, dword [0x634274]
add byte [eax], al
add byte [eax - 0x7f], dl
in al, dx
inc eax
or eax, 0x74a10000
inc edx
arpl word [eax], ax
xor eax, ebp
mov dword [ebp - 0x10], eax
push ebx
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov ebx, dword [ebp + 0xc]
mov eax, dword [ebp + 8]
neg ebx
mov dword [ebp - 0xd3c], eax
sbb ebx, ebx
add ebx, reloc.OLEAUT32.dll_SysReAllocString
mov dword [ebp - 0xd4c], ebx
call fcn.004607e6
test al, al
je 0x426223
add byte [eax - 0xd4b6277], al
invalid
pop ecx
shr bh, 1
push eax
cmp edi, dword [edi - 0x6e]
jb 0x4261cd
loop 0x426223
or ch, byte [ecx]
jg 0x4261b7
cdq
call fcn.004600e4
test al, al
je 0x426243
outsd dx, dword [esi]
cmp byte [ecx - 0x705cb4d8], ah
int 0xb3
dec eax
push ecx
jb 0x426202
inc eax
aam 0x8f
add al, 0x8b
popfd
mov ah, 0xf2
invalid
call fcn.00460129
test al, al
je 0x426261
std
sub al, 0xe9
jmp 0x426280
lea eax, [ebp - 0xd38]
push eax
push 0xf003f
push 0
push str.softwareMicrosoftWindowsCurrentVersionUninstall
push ebx
call dword [sym.imp.ADVAPI32.dll_RegOpenKeyExW]
test eax, eax
je 0x4262a9
push 0
lea eax, [ebp - 0xd38]
push eax
push 0
push 0xf003f
push 0
add byte [ebp - 0xd377b], cl
call dword [eax + 0x6a]
add byte [eax + 0x3f], ch
add byte [edi], cl
add byte [edx], ch
push 0
push 0
push str.SoftWareMicrosoftWindowsCurrentVersionUninstall
push ebx
call dword [sym.imp.ADVAPI32.dll_RegCreateKeyExW]
test eax, eax
jne 0x426cf6
call fcn.00460420
test al, al
je 0x4262c8
dec edi
in al, dx
cmp esp, dword [esi + eax]
inc esi
daa
mov esi, 0x4502a5bc
mov byte [0x53aa8198], al
loop 0x426315
mov esp, 0xa24502a5
cwde
sub dword [edx - 0x17b21dad], 0x39f70
call fcn.0046023d
add eax, dword [eax]
test al, al
je 0x4262e7
pushal
fld qword [ebx + 0x17]
mov eax, dword [0x75842be5]
push ebx
mov byte [ebx], cl
int 0x8b
push 0xffffffffffffffdf
outsb dx, byte [esi]
jle 0x426304
hlt
call fcn.00460534
test al, al
je 0x426305
xor al, 0xfc
int1
rcr bl, 1
insd dword es:[edi], dx
pushal
ja 0x42631e
inc edx
clc
xchg esi, ebx
cmp byte [eax], al
movsb byte es:[edi], byte [esi]
jns 0x4262bd
jmp 0xa1e34bf5
in eax, dx
call fcn.004604aa
test al, al
je 0x42632e
stosd dword es:[edi], eax
pop ss
cmc
jne 0x42638a
mov byte [0xa15f1f50], al
inc eax
jmp 0x42634c
pop ds
pop edi
mov eax, dword [0xf031eb40]
sub dword [eax - 0x50], ebp
pop dword [ebx + 0x70]
lea edx, [ecx + 0x6e0ca576]
mov al, 0x8f
inc ebx
jo 0x4262b0
xchg ecx, eax
jbe 0x4262cb
or al, 0x6e
mov ebp, dword [ebp - 0x7adc4ddf]
push 0
lea eax, [ebp - 0xd34]
push eax
push 0
push 0xf003f
push 0
push 0
push 0
push str.SmartCloudWB
push dword [ebp - 0xd38]
call dword [sym.imp.ADVAPI32.dll_RegCreateKeyExW]
test eax, eax
je 0x42636a
add byte [eax - 0x54], ch
pop eax
pop esp
add bh, bh
mov ch, 0xc8
invalid
push dword [ebp - 0xd38]
call dword [sym.imp.ADVAPI32.dll_RegCloseKey]
jmp 0x426cf6
call fcn.004607a1
test al, al
je 0x426390
test dword [edi - 0x334a7f06], eax
add dword [edi + 0x34a1140c], ecx
arpl word [ecx*2 + 0x2f0b2db4], dx
mov ebx, 0xeabe630e
jp 0x42639a
ljmp 0xe860:0x149f0d7a
lahf
adc al, 0x60
call fcn.00460579
test al, al
je 0x4263b5
aas
pop es
mov eax, 0xa08055fe
js 0x426343
dec esp
xchg ebp, eax
cmp byte [ebp - 0x47db3145], dh
invalid
push 0x208
lea eax, [ebp - 0x628]
push 0
push eax
call fcn.00486960
push 0x208
lea eax, [ebp - 0x218]
push 0
push eax
call fcn.00486960
push 0x208
lea eax, [ebp - 0x420]
push 0
push eax
call fcn.00486960
push 0x208
lea eax, [ebp - 0xa38]
push 0
push eax
call fcn.00486960
push 0x208
lea eax, [ebp - 0xc40]
push 0
push eax
call fcn.00486960
push 0x208
lea eax, [ebp - 0x830]
push 0
push eax
call fcn.00486960
add esp, 0x48
lea ecx, [ebp - 0xd18]
push str.1.7.1.0
call fcn.004023b0
push 0x5c6704
lea ecx, [ebp - 0xd00]
mov dword [ebp - 4], 0
call fcn.004023b0
mov ebx, dword [ebp - 0xd3c]
lea ecx, [ebp - 0xd30]
push ebx
mov byte [ebp - 4], 1
call fcn.004023b0
mov byte [ebp - 4], 2
call fcn.004607e6
add eax, 0x8680006
add al, byte [eax]
add byte [ebp - 0x82f7b], cl
jmp [edx]
add ch, al
jbe 0x426411
add eax, dword [eax]
test al, al
je 0x42648a
jmp 0x42646a
cmp dword [ebp - 0xd20], 0
je 0x4265df
push 0xffffffffffffffff
push 0
lea eax, [ebp - 0xd30]
push eax
lea ecx, [ebp - 0xd18]
call fcn.00402760
mov dword [ebp - 0xd48], 0
mov dword [ebp - 0xd44], 0
mov dword [ebp - 0xd40], 0
push 0x626010
lea ecx, [ebp - 0xc70]
mov byte [ebp - 4], 3
call fcn.004023b0
push ebx
lea ecx, [ebp - 0xce8]
mov byte [ebp - 4], 4
call fcn.004023b0
lea eax, [ebp - 0xd48]
mov byte [ebp - 4], 5
push eax
lea eax, [ebp - 0xc70]
push eax
lea eax, [ebp - 0xce8]
push eax
call fcn.0046e149
mov eax, dword [ebp - 0xcd4]
add esp, 0xc
cmp eax, 8
jb 0x42652e
inc eax
lea ecx, [ebp - 0xce8]
push eax
push dword [ebp - 0xce8]
call fcn.00402610
xor eax, eax
mov dword [ebp - 0xcd4], 7
mov word [ebp - 0xce8], ax
mov eax, dword [ebp - 0xc5c]
mov dword [ebp - 0xcd8], 0
mov byte [ebp - 4], 3
cmp eax, 8
jb 0x42656d
inc eax
lea ecx, [ebp - 0xc70]
push eax
push dword [ebp - 0xc70]
call fcn.00402610
mov ecx, dword [ebp - 0xd44]
mov eax, 0x2aaaaaab
mov esi, dword [ebp - 0xd48]
sub ecx, esi
imul ecx
sar edx, 2
mov eax, edx
shr eax, 0x1f
add eax, edx
cmp eax, 4
jne 0x4265d0
lea eax, [ebp - 0xd00]
cmp eax, esi
je 0x4265a7
push 0xffffffffffffffff
push 0
push esi
mov ecx, eax
call fcn.00402760
push 0x626010
lea ecx, [ebp - 0xd00]
call fcn.00403ea0
mov eax, dword [ebp - 0xd48]
lea ecx, [ebp - 0xd00]
push 0xffffffffffffffff
add eax, 0x18
push 0
push eax
call fcn.004042c0
lea ecx, [ebp - 0xd48]
mov byte [ebp - 4], 2
call fcn.00406170
call fcn.00460534
test al, al
je 0x4265fb
popfd
or eax, dword gs:[eax + 0x7ac3a851]
mov eax, 0x608cfdee
std
mov word [ecx + ebx*4], ds
out dx, al
push edi
call fcn.00427060
mov esi, eax
mov dword [ebp - 0xc74], 7
xor eax, eax
mov dword [ebp - 0xc78], 0
mov word [ebp - 0xc88], ax
mov dword [ebp - 0xc44], 7
mov dword [ebp - 0xc48], eax
mov word [ebp - 0xc58], ax
mov byte [ebp - 4], 7
test esi, esi
je 0x4266ae
mov eax, dword [esi]
lea ecx, [ebp - 0xc70]
push ecx
mov ecx, esi
call dword [eax + 0x18]
push eax
lea ecx, [ebp - 0xc88]
call fcn.00403f10
mov eax, dword [ebp - 0xc5c]
cmp eax, 8
jb 0x426676
inc eax
lea ecx, [ebp - 0xc70]
push eax
push dword [ebp - 0xc70]
call fcn.00402610
mov eax, dword [esi]
lea ecx, [ebp - 0xc70]
push ecx
mov ecx, esi
call dword [eax + 0x1c]
push eax
lea ecx, [ebp - 0xc58]
call fcn.00403f10
mov eax, dword [ebp - 0xc5c]
cmp eax, 8
jb 0x4266ae
inc eax
lea ecx, [ebp - 0xc70]
push eax
push dword [ebp - 0xc70]
call fcn.00402610
call fcn.0046030c
test al, al
je 0x4266d4
jl 0x426712
invalid
cmp dword [ebp - 0xc78], 0
jne 0x4266ef
push 8
push 0x5c7818
lea ecx, [ebp - 0xc88]
call fcn.00402510
call fcn.004607a1
test al, al
je 0x426715
in eax, dx
dec esi
stosd dword es:[edi], eax
and dword [edi - 0x310d46bd], ecx
inc esp
movsb byte es:[edi], byte [esi]
pop esi
adc byte [edi + 0x7d], ch
outsd dx, dword [esi]
aaa
xor eax, 0xfcb91c98
imul esi, dword [ecx + 0x2bf9b656], 0xfffffff0
stc
sub esi, eax
call fcn.00460579
test al, al
je 0x42673a
mov al, byte [0x8b7bd7d9]
mov dword [0xf247d37], eax
jp 0x42672d
lock xor byte [edx + 0x2b], 0x85
mov ebx, 0x81a9faa9
pop esp
dec eax
mov eax, dword [0x83ec9f5e]
sub eax, dword [ebp - 0x56055645]
sbb dword [eax + ecx*2 - 0x5f], 0x83ec9f5e
cmp dword [ebp - 0xc48], 0
jne 0x426755
mov ebp, 0xfffff3b8
add byte [ebp + 0x12], dh
push 0x17
push str.http:__www.znshuru.com_
lea ecx, [ebp - 0xc58]
call fcn.00402510
push 1
push 0x5c8338
lea ecx, [ebp - 0xc88]
call fcn.00404190
push 0xffffffffffffffff
push 0
lea eax, [ebp - 0xd00]
push eax
lea ecx, [ebp - 0xc88]
call fcn.004042c0
call fcn.004607e6
test al, al
je 0x426796
call 0xbb7f3cee
or ah, byte [esi + 0x25]
shr byte [0x49f202cd], 0x60
mov dl, 0xe8
mov ch, 0x2a
invalid
call fcn.00409250
mov ecx, eax
call fcn.004617b1
push eax
lea ecx, [ebp - 0xcb8]
call fcn.004023b0
push 0xd
push 0x5c71a0
lea ecx, [ebp - 0xcb8]
mov byte [ebp - 4], 8
call fcn.00404190
call fcn.00460534
test al, al
je 0x4267e0
cmp byte [edx - 0x66242d6f], cl
ffree st(0)
cwde
sub al, 0x7d
mov edx, 0xcac5a1ed
in eax, dx
jecxz 0x426848
call fcn.00409250
mov ecx, eax
call fcn.004617b1
push eax
lea ecx, [ebp - 0xca0]
call fcn.004023b0
push 0xc
push 0x5c833c
lea ecx, [ebp - 0xca0]
mov byte [ebp - 4], 9
call fcn.00404190
call fcn.0046030c
test al, al
je 0x426834
das
sbb eax, 0xc624bdb1
push edx
ljmp 0xa98a
push 0x5c7818
lea ecx, [ebp - 0xcd0]
call fcn.004023b0
cmp dword [ebp - 0xca4], 8
lea ecx, [ebp - 0xcb8]
mov byte [ebp - 4], 0xa
lea edx, [ebp - 0x628]
cmovae ecx, dword [ebp - 0xcb8]
invalid
movzx eax, word [ecx]
lea ecx, [ecx + 2]
mov word [edx], ax
lea edx, [edx + 2]
test ax, ax
jne 0x426862
cmp dword [ebp - 0xc74], 8
lea ecx, [ebp - 0xc88]
lea edx, [ebp - 0x218]
cmovae ecx, dword [ebp - 0xc88]
nop dword [eax]
movzx eax, word [ecx]
lea ecx, [ecx + 2]
mov word [edx], ax
lea edx, [edx + 2]
test ax, ax
jne 0x426890
cmp dword [ebp - 0xc8c], 8
lea ecx, [ebp - 0xca0]
lea edx, [ebp - 0x420]
cmovae ecx, dword [ebp - 0xca0]
nop dword [eax + eax]
movzx eax, word [ecx]
lea ecx, [ecx + 2]
mov word [edx], ax
lea edx, [edx + 2]
test ax, ax
jne 0x4268c0
cmp dword [ebp - 0xcbc], 8
lea ecx, [ebp - 0xcd0]
lea edx, [ebp - 0xa38]
cmovae ecx, dword [ebp - 0xcd0]
nop dword [eax + eax]
movzx eax, word [ecx]
lea ecx, [ecx + 2]
mov word [edx], ax
lea edx, [edx + 2]
test ax, ax
jne 0x4268f0
cmp dword [ebp - 0xc44], 8
lea ecx, [ebp - 0xc58]
lea edx, [ebp - 0xc40]
cmovae ecx, dword [ebp - 0xc58]
nop dword [eax + eax]
pop ds
inc esp
add byte [eax], al
movzx eax, word [ecx]
lea ecx, [ecx + 2]
mov word [edx], ax
lea edx, [edx + 2]
test ax, ax
jne 0x426920
add dword [ebp - 0x7699fdb7], ecx
add cl, byte [ebp - 0x7a99fdae]
sal byte [ebp - 0x11], 0x83
mov ebp, 0xfffff2fc
or byte [ebp - 0xd1773], cl
dec dword [ebp - 0x82f6b]
dec dword [edi]
inc ebx
invalid
cmp dword [ebp - 0xd04], 8
lea ecx, [ebp - 0xd18]
lea edx, [ebp - 0x830]
cmovae ecx, dword [ebp - 0xd18]
nop dword [eax + eax]
movzx eax, word [ecx]
lea ecx, [ecx + 2]
mov word [edx], ax
lea edx, [edx + 2]
test ax, ax
jne 0x426950
call fcn.004606d2
test al, al
je 0x426988
mov cl, 0x15
adc al, 0x26
adc eax, 0xe2502afb
outsb dx, byte [esi]
jne 0x426944
popfd
jae 0x42691c
pushfd
movsb byte es:[edi], byte [esi]
pop eax
xor al, al
sub byte [eax - 0x735c7868], dh
mov dword [esi], ebp
sbb al, ch
loope 0x426922
call fcn.0046016e
add eax, dword [eax]
test al, al
je 0x4269a7
jns 0x4269d9
jge 0x426973
mov esp, dword [edi]
invalid
lea ecx, [ebp - 0x218]
lea edx, [ecx + 2]
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x4269b0
mov esi, dword [sym.imp.ADVAPI32.dll_RegSetValueExW]
sub ecx, edx
sar ecx, 1
lea eax, [ecx*2 + 2]
push eax
lea eax, [ebp - 0x218]
push eax
push 1
push 0
push 0x5c8358
push dword [ebp - 0xd34]
call esi
lea ecx, [ebp - 0x420]
lea edx, [ecx + 2]
nop
pop eax
sbb dword [eax + eax - 1], 0xffffffb5
int3
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x4269f0
sub ecx, edx
sar ecx, 1
lea eax, [ecx*2 + 2]
push eax
lea eax, [ebp - 0x420]
push eax
push 1
push 0
push str.UninstallString
push dword [ebp - 0xd34]
call esi
lea ecx, [ebp - 0x628]
lea edx, [ecx + 2]
nop dword [eax + eax]
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x426a30
sub ecx, edx
sar ecx, 1
lea eax, [ecx*2 + 2]
push eax
lea eax, [ebp - 0x628]
push eax
push 1
push 0
push str.DisplayIcon
push dword [ebp - 0xd34]
call esi
lea ecx, [ebp - 0x830]
lea edx, [ecx + 2]
nop dword [eax + eax]
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x426a70
sub ecx, edx
sar ecx, 1
lea eax, [ecx*2 + 2]
push eax
lea eax, [ebp - 0x830]
push eax
push 1
push 0
push str.DisplayVersion
push dword [ebp - 0xd34]
call esi
lea ecx, [ebp - 0xa38]
lea edx, [ecx + 2]
nop dword [eax + eax]
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x426ab0
sub ecx, edx
sar ecx, 1
lea eax, [ecx*2 + 2]
push eax
lea eax, [ebp - 0xa38]
push eax
push 1
push 0
push str.Publisher
push dword [ebp - 0xd34]
call esi
lea ecx, [ebp - 0xc40]
lea edx, [ecx + 2]
nop dword [eax + eax]
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x426af0
sub ecx, edx
sar ecx, 1
lea eax, [ecx*2 + 2]
push eax
lea eax, [ebp - 0xc40]
push eax
push 1
push 0
push str.URLInfoAbout
push dword [ebp - 0xd34]
call esi
call fcn.004607e6
test al, al
je 0x426b41
mov bh, 0xad
sbb edx, edx
push ds
adc al, 0xc3
cld
dec eax
xchg dword [ecx + 0x2a9a3e16], ecx
popfd
out dx, eax
out dx, al
dec ebx
pop esp
ljmp 0x59e8
call fcn.0046009f
test al, al
je 0x426b5f
wait
cmpsd dword [esi], dword es:[edi]
ficom dword [edx + 0x39ec54f4]
jle 0x426bb9
loope 0x426b63
dec ecx
jl 0x426bc9
mov byte [0x38633fd5], al
sub eax, 0xf2ccb5ff
push dword [ebp - 0xd34]
mov esi, dword [sym.imp.ADVAPI32.dll_RegCloseKey]
call esi
push dword [ebp - 0xd38]
call esi
call fcn.00460396
test al, al
je 0x426b96
invalid
pand mm4, qword [eax - 0x71]
jbe 0x426bc9
imul edx, dword [edx], 0xffffffdd
rcr byte [edx], cl
sal byte [edi + 0x4e], 0x88
invalid
call fcn.0046082b
test al, al
je 0x426bbc
mov cl, 9
add al, 0xd
test eax, 0x9acee1
ror dword [ecx], 0x9a
out 0xaf, al
aam 3
mov edi, 0xcf63f413
lodsd eax, dword [esi]
fsubr dword [edi - 0x13c99a56]
in al, dx
scasd eax, dword es:[edi]
call fcn.004601b3
test al, al
je 0x426bde
movsd dword es:[edi], dword [esi]
not dword [ebx - 0x40a59a2a]
les esi, [edi - 0x436ad044]
call 0x98cc06
mov dh, 0x42
mov dl, 0x40
adc bh, dl
pop edx
mov edi, 0x2fbcb7c4
xchg ebp, eax
mov esp, 0x56602fe8
add byte [esi + 0x1040b242], dh
xlatb
jnp 0x35b068
mov eax, dword [ebp - 0xcbc]
cmp eax, 8
jb 0x426bfc
inc dword [ebx + 0x137208f8]
inc eax
lea ecx, [ebp - 0xcd0]
push eax
push dword [ebp - 0xcd0]
call fcn.00402610
xor eax, eax
mov dword [ebp - 0xcbc], 7
mov word [ebp - 0xcd0], ax
mov eax, dword [ebp - 0xc8c]
mov dword [ebp - 0xcc0], 0
cmp eax, 8
jb 0x426c37
inc eax
lea ecx, [ebp - 0xca0]
push eax
push dword [ebp - 0xca0]
call fcn.00402610
xor eax, eax
mov dword [ebp - 0xc8c], 7
mov word [ebp - 0xca0], ax
mov eax, dword [ebp - 0xca4]
mov dword [ebp - 0xc90], 0
cmp eax, 8
jb 0x426c72
inc eax
lea ecx, [ebp - 0xcb8]
push eax
push dword [ebp - 0xcb8]
call fcn.00402610
xor eax, eax
mov dword [ebp - 0xca4], 7
mov word [ebp - 0xcb8], ax
mov eax, dword [ebp - 0xc44]
mov dword [ebp - 0xca8], 0
cmp eax, 8
jb 0x426cad
inc eax
lea ecx, [ebp - 0xc58]
push eax
push dword [ebp - 0xc58]
call fcn.00402610
xor eax, eax
mov dword [ebp - 0xc44], 7
lea ecx, [ebp - 0xc88]
mov dword [ebp - 0xc48], 0
mov word [ebp - 0xc58], ax
call fcn.00402370
lea ecx, [ebp - 0xd30]
call fcn.00402370
lea ecx, [ebp - 0xd00]
call fcn.00402370
lea ecx, [ebp - 0xd18]
call fcn.00402370
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 0x10]
xor ecx, ebp
call fcn.00455afe
mov esp, ebp
pop ebp
ret 8