Function at 0x451290
Capabilities:
Get file version info
Persist via run registry key

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x5bc
mov eax, dword [0x4a8800]
xor eax, ebp
mov dword [ebp - 4], eax
mov eax, dword [0x4a9c14]
push esi
push edi
mov dword [ebp - 0x4e0], eax
lea eax, [ebp - 0x4e0]
push str.Writeing_reg_data
push eax
call fcn.0042c7e0
add esp, 8
push 0x130
push ecx
mov ecx, esp
push str.CBrowserInstaller::WriteToRegisterUninstallInfo
call fcn.00423c60
lea eax, [ebp - 0x4e0]
push eax
call fcn.0042cd50
mov ecx, eax
call fcn.0042d010
mov eax, dword [ebp - 0x4e0]
lea ecx, [eax - 0xc]
cmp ecx, dword [0x4a9c10]
je 0x45131a
add eax, 0xfffffff4
push eax
call dword [sym.imp.KERNEL32.dll_InterlockedDecrement]
test eax, eax
jg 0x45131a
mov eax, dword [ebp - 0x4e0]
add eax, 0xfffffff4
push eax
call fcn.0045a610
add esp, 4
lea eax, [ebp - 0x494]
push eax
call fcn.004256f0
add esp, 4
lea ecx, [ebp - 0x494]
push 0xc
push 0x495194
call fcn.00423270
push 9
xor eax, eax
mov dword [ebp - 0x408], 7
push str.Uninstall
lea ecx, [ebp - 0x41c]
mov dword [ebp - 0x40c], 0
mov word [ebp - 0x41c], ax
call fcn.00422d00
push 0x29
xor eax, eax
mov dword [ebp - 0x420], 7
push str.SoftwareMicrosoftWindowsCurrentVersion
lea ecx, [ebp - 0x434]
mov dword [ebp - 0x424], 0
mov word [ebp - 0x434], ax
call fcn.00422d00
lea eax, [ebp - 0x41c]
push eax
lea eax, [ebp - 0x434]
push eax
push SysReAllocStringLen
lea ecx, [ebp - 0x5bc]
call fcn.00426460
cmp dword [ebp - 0x420], 8
jb 0x4513ce
push dword [ebp - 0x434]
call fcn.0045a050
add esp, 4
xor eax, eax
mov dword [ebp - 0x420], 7
cmp dword [ebp - 0x408], 8
mov dword [ebp - 0x424], 0
mov word [ebp - 0x434], ax
jb 0x451402
push dword [ebp - 0x41c]
call fcn.0045a050
add esp, 4
lea ecx, [ebp - 0x5bc]
call fcn.00426700
push 0xa
xor eax, eax
mov dword [ebp - 0x408], 7
push 0x4962bc
lea ecx, [ebp - 0x41c]
mov dword [ebp - 0x40c], 0
mov word [ebp - 0x41c], ax
call fcn.00422d00
push 0x33
xor eax, eax
mov dword [ebp - 0x420], 7
push str.SoftwareMicrosoftWindowsCurrentVersionUninstall
lea ecx, [ebp - 0x434]
mov dword [ebp - 0x424], 0
mov word [ebp - 0x434], ax
call fcn.00422d00
lea eax, [ebp - 0x41c]
push eax
lea eax, [ebp - 0x434]
push eax
push SysReAllocStringLen
lea ecx, [ebp - 0x508]
call fcn.00426460
cmp dword [ebp - 0x420], 8
jb 0x4514a0
push dword [ebp - 0x434]
call fcn.0045a050
add esp, 4
xor eax, eax
mov dword [ebp - 0x420], 7
cmp dword [ebp - 0x408], 8
mov dword [ebp - 0x424], 0
mov word [ebp - 0x434], ax
jb 0x4514d4
push dword [ebp - 0x41c]
call fcn.0045a050
add esp, 4
push 0x480af8
lea eax, [ebp - 0x494]
push eax
lea eax, [ebp - 0x464]
push eax
call fcn.0042bb80
xor eax, eax
mov dword [ebp - 0x498], 7
add esp, 0xc
mov word [ebp - 0x4ac], ax
cmp dword [ebp - 0x450], 8
lea eax, [ebp - 0x464]
mov dword [ebp - 0x49c], 0
cmovae eax, dword [ebp - 0x464]
push 0
push eax
call sub.VERSION.dll_GetFileVersionInfoSizeW
mov edi, eax
test edi, edi
je 0x4515e5
push edi
call fcn.00459559
add esp, 4
lea ecx, [ebp - 0x464]
cmp dword [ebp - 0x450], 8
mov esi, eax
cmovae ecx, dword [ebp - 0x464]
push esi
push edi
push 0
push ecx
call sub.VERSION.dll_GetFileVersionInfoW
test eax, eax
je 0x4515dc
lea eax, [ebp - 0x4e4]
mov dword [ebp - 0x4e0], 0
push eax
lea eax, [ebp - 0x4e0]
push eax
push 0x4950f8
push esi
call sub.VERSION.dll_VerQueryValueW
test eax, eax
je 0x4515dc
cmp dword [ebp - 0x4e4], 0
je 0x4515dc
mov ecx, dword [ebp - 0x4e0]
cmp dword [ecx], 0xfeef04bd
jne 0x4515dc
movzx eax, byte [ecx + 0xc]
push eax
movzx eax, byte [ecx + 0xe]
push eax
movzx eax, byte [ecx + 8]
push eax
movzx eax, byte [ecx + 0xa]
push eax
push str._d._d._d._d
lea eax, [ebp - 0x404]
push 0x200
push eax
call fcn.0045aed7
add esp, 0x1c
lea eax, [ebp - 0x404]
lea ecx, [ebp - 0x4ac]
push eax
call fcn.00422aa0
push esi
call fcn.0045a610
add esp, 4
push 0xb
xor eax, eax
mov dword [ebp - 0x408], 7
push str.DisplayIcon
lea ecx, [ebp - 0x41c]
mov dword [ebp - 0x40c], 0
mov word [ebp - 0x41c], ax
call fcn.00422d00
lea eax, [ebp - 0x464]
push eax
lea eax, [ebp - 0x44c]
push 0x496558
push eax
call fcn.00422ea0
add esp, 0xc
mov ecx, eax
push 3
push 0x480b18
call fcn.00423270
mov esi, eax
mov dword [ebp - 0x420], 7
xor eax, eax
mov dword [ebp - 0x424], 0
mov word [ebp - 0x434], ax
cmp dword [esi + 0x14], 8
jae 0x45167d
mov eax, dword [esi + 0x10]
inc eax
je 0x45168b
add eax, eax
push eax
lea eax, [ebp - 0x434]
push esi
push eax
call fcn.0045a840
add esp, 0xc
jmp 0x45168b
mov eax, dword [esi]
mov dword [ebp - 0x434], eax
mov dword [esi], 0
mov eax, dword [esi + 0x10]
lea ecx, [ebp - 0x508]
mov dword [ebp - 0x424], eax
mov eax, dword [esi + 0x14]
mov dword [ebp - 0x420], eax
xor eax, eax
push eax
push 1
push eax
mov dword [esi + 0x14], 7
mov dword [esi + 0x10], 0
mov word [esi], ax
lea eax, [ebp - 0x434]
push eax
lea eax, [ebp - 0x41c]
push eax
call fcn.00426910
cmp dword [ebp - 0x420], 8
jb 0x4516e4
push dword [ebp - 0x434]
call fcn.0045a050
add esp, 4
xor eax, eax
mov dword [ebp - 0x420], 7
cmp dword [ebp - 0x438], 8
mov dword [ebp - 0x424], 0
mov word [ebp - 0x434], ax
jb 0x451718
push dword [ebp - 0x44c]
call fcn.0045a050
add esp, 4
xor eax, eax
mov dword [ebp - 0x438], 7
cmp dword [ebp - 0x408], 8
mov dword [ebp - 0x43c], 0
mov word [ebp - 0x44c], ax
jb 0x45174c
push dword [ebp - 0x41c]
call fcn.0045a050
add esp, 4
push 0xa
xor eax, eax
mov dword [ebp - 0x408], 7
push 0x4962bc
lea ecx, [ebp - 0x41c]
mov dword [ebp - 0x40c], 0
mov word [ebp - 0x41c], ax
call fcn.00422d00
push 0xb
xor eax, eax
mov dword [ebp - 0x420], 7
push str.DisplayName
lea ecx, [ebp - 0x434]
mov dword [ebp - 0x424], 0
mov word [ebp - 0x434], ax
call fcn.00422d00
push 0
push 1
push 0
lea eax, [ebp - 0x41c]
push eax
lea eax, [ebp - 0x434]
push eax
lea ecx, [ebp - 0x508]
call fcn.00426910
cmp dword [ebp - 0x420], 8
jb 0x4517e0
push dword [ebp - 0x434]
call fcn.0045a050
add esp, 4
xor eax, eax
mov dword [ebp - 0x420], 7
cmp dword [ebp - 0x408], 8
mov dword [ebp - 0x424], 0
mov word [ebp - 0x434], ax
jb 0x451814
push dword [ebp - 0x41c]
call fcn.0045a050
add esp, 4
push 0xe
xor eax, eax
mov dword [ebp - 0x408], 7
push str.DisplayVersion
lea ecx, [ebp - 0x41c]
mov dword [ebp - 0x40c], 0
mov word [ebp - 0x41c], ax
call fcn.00422d00
push 0
push 1
push 0
lea eax, [ebp - 0x4ac]
push eax
lea eax, [ebp - 0x41c]
push eax
lea ecx, [ebp - 0x508]
call fcn.00426910
cmp dword [ebp - 0x408], 8
jb 0x451879
push dword [ebp - 0x41c]
call fcn.0045a050
add esp, 4
push 0xd
xor eax, eax
mov dword [ebp - 0x408], 7
push str.CHICORAL_S.A.
lea ecx, [ebp - 0x41c]
mov dword [ebp - 0x40c], 0
mov word [ebp - 0x41c], ax
call fcn.00422d00
push 9
xor eax, eax
mov dword [ebp - 0x420], 7
push str.Publisher
lea ecx, [ebp - 0x434]
mov dword [ebp - 0x424], 0
mov word [ebp - 0x434], ax
call fcn.00422d00
push 0
push 1
push 0
lea eax, [ebp - 0x41c]
push eax
lea eax, [ebp - 0x434]
push eax
lea ecx, [ebp - 0x508]
call fcn.00426910
cmp dword [ebp - 0x420], 8
jb 0x45190d
push dword [ebp - 0x434]
call fcn.0045a050
add esp, 4
xor eax, eax
mov dword [ebp - 0x420], 7
cmp dword [ebp - 0x408], 8
mov dword [ebp - 0x424], 0
mov word [ebp - 0x434], ax
jb 0x451941
push dword [ebp - 0x41c]
call fcn.0045a050
add esp, 4
push 0xf
xor eax, eax
mov dword [ebp - 0x408], 7
push str.InstallLocation
lea ecx, [ebp - 0x41c]
mov dword [ebp - 0x40c], 0
mov word [ebp - 0x41c], ax
call fcn.00422d00
push 0
push 1
push 0
lea eax, [ebp - 0x494]
push eax
lea eax, [ebp - 0x41c]
push eax
lea ecx, [ebp - 0x508]
call fcn.00426910
cmp dword [ebp - 0x408], 8
jb 0x4519a6
push dword [ebp - 0x41c]
call fcn.0045a050
add esp, 4
push 0xf
xor eax, eax
mov dword [ebp - 0x408], 7
push str.UninstallString
lea ecx, [ebp - 0x41c]
mov dword [ebp - 0x40c], 0
mov word [ebp - 0x41c], ax
call fcn.00422d00
lea eax, [ebp - 0x494]
push eax
lea eax, [ebp - 0x44c]
push 0x496558
push eax
call fcn.00422ea0
add esp, 0xc
mov ecx, eax
push 0x1a
push str.SunnyDroid.exe___uninstall
call fcn.00423270
mov esi, eax
mov dword [ebp - 0x420], 7
xor eax, eax
mov dword [ebp - 0x424], 0
mov word [ebp - 0x434], ax
cmp dword [esi + 0x14], 8
jae 0x451a3e
mov eax, dword [esi + 0x10]
inc eax
je 0x451a4c
add eax, eax
push eax
lea eax, [ebp - 0x434]
push esi
push eax
call fcn.0045a840
add esp, 0xc
jmp 0x451a4c
mov eax, dword [esi]
mov dword [ebp - 0x434], eax
mov dword [esi], 0
mov eax, dword [esi + 0x10]
lea ecx, [ebp - 0x508]
mov dword [ebp - 0x424], eax
mov eax, dword [esi + 0x14]
mov dword [ebp - 0x420], eax
xor eax, eax
push eax
push 1
push eax
mov dword [esi + 0x14], 7
mov dword [esi + 0x10], 0
mov word [esi], ax
lea eax, [ebp - 0x434]
push eax
lea eax, [ebp - 0x41c]
push eax
call fcn.00426910
cmp dword [ebp - 0x420], 8
jb 0x451aa5
push dword [ebp - 0x434]
call fcn.0045a050
add esp, 4
xor eax, eax
mov dword [ebp - 0x420], 7
cmp dword [ebp - 0x438], 8
mov dword [ebp - 0x424], 0
mov word [ebp - 0x434], ax
jb 0x451ad9
push dword [ebp - 0x44c]
call fcn.0045a050
add esp, 4
xor eax, eax
mov dword [ebp - 0x438], 7
cmp dword [ebp - 0x408], 8
mov dword [ebp - 0x43c], 0
mov word [ebp - 0x44c], ax
jb 0x451b0d
push dword [ebp - 0x41c]
call fcn.0045a050
add esp, 4
push 0x16
xor eax, eax
mov dword [ebp - 0x420], 7
push str.http:__sunnydroid.com_
lea ecx, [ebp - 0x434]
mov dword [ebp - 0x424], 0
mov word [ebp - 0x434], ax
call fcn.00422d00
push str.URLInfoAbout
lea ecx, [ebp - 0x41c]
call fcn.00422790
push 0
push 1
push 0
lea eax, [ebp - 0x434]
push eax
lea eax, [ebp - 0x41c]
push eax
lea ecx, [ebp - 0x508]
call fcn.00426910
cmp dword [ebp - 0x408], 8
jb 0x451b82
push dword [ebp - 0x41c]
call fcn.0045a050
add esp, 4
xor eax, eax
mov dword [ebp - 0x408], 7
cmp dword [ebp - 0x420], 8
mov dword [ebp - 0x40c], 0
mov word [ebp - 0x41c], ax
jb 0x451bb6
push dword [ebp - 0x434]
call fcn.0045a050
add esp, 4
lea ecx, [ebp - 0x508]
call fcn.00426700
push 0x495130
lea ecx, [ebp - 0x44c]
call fcn.00422790
push str.SoftwareMicrosoftWindowsCurrentVersionRun
lea ecx, [ebp - 0x41c]
call fcn.00422790
lea eax, [ebp - 0x44c]
push eax
lea eax, [ebp - 0x41c]
push eax
push SysReAllocStringLen
lea ecx, [ebp - 0x550]
call fcn.00426460
cmp dword [ebp - 0x408], 8
jb 0x451c16
push dword [ebp - 0x41c]
call fcn.0045a050
add esp, 4
xor eax, eax
mov dword [ebp - 0x408], 7
cmp dword [ebp - 0x438], 8
mov dword [ebp - 0x40c], 0
mov word [ebp - 0x41c], ax
jb 0x451c4a
push dword [ebp - 0x44c]
call fcn.0045a050
add esp, 4
push 0x4962bc
lea ecx, [ebp - 0x434]
call fcn.00422790
lea eax, [ebp - 0x494]
push eax
lea eax, [ebp - 0x44c]
push 0x496558
push eax
call fcn.00422ea0
add esp, 0xc
mov ecx, eax
push 0xf
push str.SunnyDroid.exe_
call fcn.00423270
push eax
lea ecx, [ebp - 0x41c]
call fcn.004227f0
push 0
push 1
push 0
lea eax, [ebp - 0x41c]
push eax
lea eax, [ebp - 0x434]
push eax
lea ecx, [ebp - 0x550]
call fcn.00426910
cmp dword [ebp - 0x408], 8
jb 0x451cc5
push dword [ebp - 0x41c]
call fcn.0045a050
add esp, 4
xor eax, eax
mov dword [ebp - 0x408], 7
cmp dword [ebp - 0x438], 8
mov dword [ebp - 0x40c], 0
mov word [ebp - 0x41c], ax
jb 0x451cf9
push dword [ebp - 0x44c]
call fcn.0045a050
add esp, 4
xor eax, eax
mov dword [ebp - 0x438], 7
cmp dword [ebp - 0x420], 8
mov dword [ebp - 0x43c], 0
mov word [ebp - 0x44c], ax
jb 0x451d2d
push dword [ebp - 0x434]
call fcn.0045a050
add esp, 4
lea ecx, [ebp - 0x550]
call fcn.00426700
push str..apk
lea ecx, [ebp - 0x4dc]
call fcn.00422790
push str.SunnyDroid_apk
lea ecx, [ebp - 0x4c4]
call fcn.00422790
push 0x495130
lea ecx, [ebp - 0x44c]
call fcn.00422790
lea eax, [ebp - 0x4dc]
push eax
lea eax, [ebp - 0x44c]
push eax
push SysReAllocStringLen
lea ecx, [ebp - 0x598]
call fcn.00426460
cmp dword [ebp - 0x438], 8
jb 0x451d9d
push dword [ebp - 0x44c]
call fcn.0045a050
add esp, 4
push 0x495130
lea ecx, [ebp - 0x44c]
call fcn.00422790
push 0
push 1
push 0
lea eax, [ebp - 0x4c4]
push eax
lea eax, [ebp - 0x44c]
push eax
lea ecx, [ebp - 0x598]
call fcn.00426910
cmp dword [ebp - 0x438], 8
jb 0x451de3
push dword [ebp - 0x44c]
call fcn.0045a050
add esp, 4
lea ecx, [ebp - 0x598]
call fcn.00426700
push 0x495130
lea ecx, [ebp - 0x41c]
call fcn.00422790
push str._shellopencommand
lea eax, [ebp - 0x4c4]
push eax
lea eax, [ebp - 0x44c]
push eax
call fcn.0042bb80
add esp, 0xc
lea ecx, [ebp - 0x52c]
push eax
lea eax, [ebp - 0x41c]
push eax
push SysReAllocStringLen
call fcn.00426460
cmp dword [ebp - 0x438], 8
jb 0x451e48
push dword [ebp - 0x44c]
call fcn.0045a050
add esp, 4
xor eax, eax
mov dword [ebp - 0x438], 7
cmp dword [ebp - 0x408], 8
mov dword [ebp - 0x43c], 0
mov word [ebp - 0x44c], ax
jb 0x451e7c
push dword [ebp - 0x41c]
call fcn.0045a050
add esp, 4
push 0x495130
lea ecx, [ebp - 0x47c]
call fcn.00422790
lea eax, [ebp - 0x494]
push eax
lea eax, [ebp - 0x44c]
push 0x496558
push eax
call fcn.00422ea0
add esp, 0xc
mov ecx, eax
push 0xe
push 0x480af8
call fcn.00423270
push eax
lea ecx, [ebp - 0x434]
call fcn.004227f0
push 5
push str.___1_
lea ecx, [ebp - 0x434]
call fcn.00423270
push eax
lea ecx, [ebp - 0x41c]
call fcn.004227f0
push 0
push 1
push 0
lea eax, [ebp - 0x41c]
push eax
lea eax, [ebp - 0x47c]
push eax
lea ecx, [ebp - 0x52c]
call fcn.00426910
cmp dword [ebp - 0x408], 8
jb 0x451f15
push dword [ebp - 0x41c]
call fcn.0045a050
add esp, 4
xor eax, eax
mov dword [ebp - 0x408], 7
cmp dword [ebp - 0x420], 8
mov dword [ebp - 0x40c], 0
mov word [ebp - 0x41c], ax
jb 0x451f49
push dword [ebp - 0x434]
call fcn.0045a050
add esp, 4
xor eax, eax
mov dword [ebp - 0x420], 7
cmp dword [ebp - 0x438], 8
mov dword [ebp - 0x424], 0
mov word [ebp - 0x434], ax
jb 0x451f7d
push dword [ebp - 0x44c]
call fcn.0045a050
add esp, 4
xor eax, eax
mov dword [ebp - 0x438], 7
cmp dword [ebp - 0x468], 8
mov dword [ebp - 0x43c], 0
mov word [ebp - 0x44c], ax
jb 0x451fb1
push dword [ebp - 0x47c]
call fcn.0045a050
add esp, 4
lea ecx, [ebp - 0x52c]
call fcn.00426700
push 0x495130
lea ecx, [ebp - 0x47c]
call fcn.00422790
push str.DefaultIcon
lea eax, [ebp - 0x4c4]
push eax
lea eax, [ebp - 0x44c]
push eax
call fcn.0042bb80
add esp, 0xc
lea ecx, [ebp - 0x574]
push eax
lea eax, [ebp - 0x47c]
push eax
push SysReAllocStringLen
call fcn.00426460
cmp dword [ebp - 0x438], 8
jb 0x452016
push dword [ebp - 0x44c]
call fcn.0045a050
add esp, 4
xor eax, eax
mov dword [ebp - 0x438], 7
cmp dword [ebp - 0x468], 8
mov dword [ebp - 0x43c], 0
mov word [ebp - 0x44c], ax
jb 0x45204a
push dword [ebp - 0x47c]
call fcn.0045a050
add esp, 4
push 0x495130
lea ecx, [ebp - 0x47c]
call fcn.00422790
lea eax, [ebp - 0x494]
push eax
lea eax, [ebp - 0x44c]
push 0x496558
push eax
call fcn.00422ea0
add esp, 0xc
mov ecx, eax
push 0x11
push str.SunnyDroid.exe_1_
call fcn.00423270
push eax
lea ecx, [ebp - 0x41c]
call fcn.004227f0
push 0
push 1
push 0
lea eax, [ebp - 0x41c]
push eax
lea eax, [ebp - 0x47c]
push eax
lea ecx, [ebp - 0x574]
call fcn.00426910
cmp dword [ebp - 0x408], 8
jb 0x4520c5
push dword [ebp - 0x41c]
call fcn.0045a050
add esp, 4
xor eax, eax
mov dword [ebp - 0x408], 7
cmp dword [ebp - 0x438], 8
mov dword [ebp - 0x40c], 0
mov word [ebp - 0x41c], ax
jb 0x4520f9
push dword [ebp - 0x44c]
call fcn.0045a050
add esp, 4
xor eax, eax
mov dword [ebp - 0x438], 7
cmp dword [ebp - 0x468], 8
mov dword [ebp - 0x43c], 0
mov word [ebp - 0x44c], ax
jb 0x45212d
push dword [ebp - 0x47c]
call fcn.0045a050
add esp, 4
lea ecx, [ebp - 0x574]
call fcn.00426700
lea ecx, [ebp - 0x574]
call fcn.00426680
lea ecx, [ebp - 0x52c]
call fcn.00426680
lea ecx, [ebp - 0x598]
call fcn.00426680
cmp dword [ebp - 0x4b0], 8
jb 0x452170
push dword [ebp - 0x4c4]
call fcn.0045a050
add esp, 4
xor eax, eax
mov dword [ebp - 0x4b0], 7
cmp dword [ebp - 0x4c8], 8
mov dword [ebp - 0x4b4], 0
mov word [ebp - 0x4c4], ax
jb 0x4521a4
push dword [ebp - 0x4dc]
call fcn.0045a050
add esp, 4
xor eax, eax
mov dword [ebp - 0x4c8], 7
lea ecx, [ebp - 0x550]
mov dword [ebp - 0x4cc], 0
mov word [ebp - 0x4dc], ax
call fcn.00426680
cmp dword [ebp - 0x498], 8
jb 0x4521e3
push dword [ebp - 0x4ac]
call fcn.0045a050
add esp, 4
xor eax, eax
mov dword [ebp - 0x498], 7
cmp dword [ebp - 0x450], 8
mov dword [ebp - 0x49c], 0
mov word [ebp - 0x4ac], ax
jb 0x452217
push dword [ebp - 0x464]
call fcn.0045a050
add esp, 4
xor eax, eax
mov dword [ebp - 0x450], 7
lea ecx, [ebp - 0x508]
mov dword [ebp - 0x454], 0
mov word [ebp - 0x464], ax
call fcn.00426680
lea ecx, [ebp - 0x5bc]
call fcn.00426680
cmp dword [ebp - 0x480], 8
jb 0x452261
push dword [ebp - 0x494]
call fcn.0045a050
add esp, 4
mov ecx, dword [ebp - 4]
pop edi
xor ecx, ebp
pop esi
call fcn.0045b1f5
mov esp, ebp
pop ebp
ret