Function at 0x4046d0
Capabilities:
Check if file exists
Check os version
Copy file
Create shortcut via ishelllink
Delete directory
Delete file
Get common file path
Get file attributes
Get installed programs
Move file
Persist via lnk shortcut
Set registry value

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x4133eb
mov eax, dword fs:[0]
push eax
mov eax, 0x2500
call fcn.00412dc0
mov eax, dword [section..data]
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 ebx, edx
mov dword [ebp - 0x24bc], ebx
mov edi, ecx
push 0x208
lea eax, [ebp - 0xe3c]
push 0
push eax
call fcn.00408020
add esp, 0xc
lea eax, [ebp - 0x145c]
push 0x20a
push 0
push eax
call fcn.00408020
add esp, 0xc
lea eax, [ebp - 0xc34]
push 0x408
push 0
push eax
call fcn.00408020
add esp, 0xc
lea eax, [ebp - 0x82c]
push 0x408
push 0
push eax
call fcn.00408020
add esp, 0xc
lea eax, [ebp - 0x1864]
push 0x408
push 0
push eax
call fcn.00408020
add esp, 0xc
lea eax, [ebp - 0x2074]
push 0x408
push 0
push eax
call fcn.00408020
add esp, 0xc
lea eax, [ebp - 0x1c6c]
push 0x408
push 0
push eax
call fcn.00408020
add esp, 0xc
lea eax, [ebp - 0x1044]
push 0x208
push 0
push eax
call fcn.00408020
add esp, 0xc
lea eax, [ebp - 0x21c]
push 0x208
push 0
push eax
call fcn.00408020
add esp, 0xc
lea eax, [ebp - 0x424]
push 0x208
push 0
push eax
call fcn.00408020
add esp, 0xc
mov dword [ebp - 0x24e0], 1
mov dword [ebp - 0x24ec], 0x3d090
push 0
push 0xa
push 0x402
push dword [0x41d3dc]
call dword [sym.imp.USER32.dll_SendMessageW]
lea ecx, [ebp - 0x145c]
mov esi, ebx
mov eax, ecx
mov edx, 0x104
sub esi, eax
lea eax, [edx + 0x7ffffefa]
test eax, eax
je 0x404840
movzx eax, word [esi + ecx]
test ax, ax
je 0x404840
mov word [ecx], ax
add ecx, 2
sub edx, 1
jne 0x404822
lea eax, [ecx - 2]
test edx, edx
xorps xmm0, xmm0
cmovne eax, ecx
movlpd qword [ebp - 0x250c], xmm0
xor ecx, ecx
movlpd qword [ebp - 0x2504], xmm0
push ebx
movlpd qword [ebp - 0x24fa], xmm0
mov word [eax], cx
mov eax, 0x614
mov dword [ebp - 0x24f2], ecx
mov word [ebp - 0x24fc], ax
call dword [sym.imp.KERNEL32.dll_GetFileAttributesW]
mov ebx, dword [sym.imp.SHELL32.dll_SHFileOperationW]
mov esi, dword [sym.imp.KERNEL32.dll_GetLastError]
cmp eax, 0xffffffff
je 0x4048e4
lea eax, [ebp - 0x145c]
mov dword [ebp - 0x2508], 3
mov dword [ebp - 0x2504], eax
lea eax, [ebp - 0x250c]
push eax
call ebx
test eax, eax
jne 0x4048ca
push dword [ebp - 0x24bc]
call dword [sym.imp.KERNEL32.dll_RemoveDirectoryW]
call esi
cmp eax, 0x91
jne 0x4048e4
push 0
push 0x4190b4
push str.Clearing_of_target_directory_failed._Supermium_is_likely_running_or_a_file_permission_issue_is_occurring._nCheck_Task_Managers_Processes_tab_for_instances_of_chrome.exe__close_them_and_try_again.
push edi
call dword [sym.imp.USER32.dll_MessageBoxW]
xor eax, eax
jmp 0x405c20
lea eax, [ebp - 0x1044]
push eax
push 0x104
call dword [sym.imp.KERNEL32.dll_GetCurrentDirectoryW]
test eax, eax
jne 0x404a15
call esi
mov edx, eax
lea ecx, [ebp - 0x249c]
call fcn.00406120
lea eax, [ebp - 0x249c]
mov dword [ebp - 4], 0
push eax
lea ecx, [ebp - 0x24b4]
call fcn.004062b0
add esp, 4
cmp dword [eax + 0x14], 7
jbe 0x404931
mov eax, dword [eax]
push 0x10
push str.Error
push eax
push edi
call dword [sym.imp.USER32.dll_MessageBoxW]
mov ecx, dword [ebp - 0x24a0]
cmp ecx, 7
jbe 0x404980
mov edx, dword [ebp - 0x24b4]
lea ecx, [ecx*2 + 2]
mov eax, edx
cmp ecx, 0x1000
jb 0x404976
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x405c3c
push ecx
push edx
call fcn.0040675b
add esp, 8
mov ecx, dword [ebp - 0x2488]
xor eax, eax
mov dword [ebp - 0x24a4], 0
mov dword [ebp - 0x24a0], 7
mov word [ebp - 0x24b4], ax
cmp ecx, 7
jbe 0x4049dd
mov edx, dword [ebp - 0x249c]
lea ecx, [ecx*2 + 2]
mov eax, edx
cmp ecx, 0x1000
jb 0x4049d3
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x405c3c
push ecx
push edx
call fcn.0040675b
add esp, 8
xor eax, eax
mov dword [ebp - 0x248c], 0
push eax
push eax
push 0x402
push dword [0x41d3dc]
mov word [ebp - 0x249c], ax
mov eax, dword [sym.imp.USER32.dll_SendMessageW]
mov dword [ebp - 0x2488], 7
call eax
xor eax, eax
jmp 0x405c20
call dword [sym.imp.KERNEL32.dll_GetVersion]
lea ecx, [ebp - 0x1044]
cmp al, 6
jb 0x404a2c
push 0x4192a4
jmp 0x404a31
push 0x4192c4
call fcn.00401160
lea eax, [ebp - 0x1044]
mov dword [ebp - 0x2508], 2
mov dword [ebp - 0x2504], eax
lea eax, [ebp - 0x145c]
mov dword [ebp - 0x2500], eax
lea eax, [ebp - 0x250c]
push eax
call ebx
test eax, eax
je 0x404aee
call esi
mov edx, eax
lea ecx, [ebp - 0x249c]
call fcn.00406120
lea eax, [ebp - 0x249c]
mov dword [ebp - 4], 1
push eax
lea ecx, [ebp - 0x24b4]
call fcn.004062b0
add esp, 4
cmp dword [eax + 0x14], 7
jbe 0x404a9c
mov eax, dword [eax]
push 0x10
push str.Error
push eax
push edi
call dword [sym.imp.USER32.dll_MessageBoxW]
mov ecx, dword [ebp - 0x24a0]
cmp ecx, 7
jbe 0x404980
mov edx, dword [ebp - 0x24b4]
lea ecx, [ecx*2 + 2]
mov eax, edx
cmp ecx, 0x1000
jb 0x404976
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x405c3c
jmp 0x404976
mov eax, dword [sym.imp.USER32.dll_SendMessageW]
push 0
push 0x32
push 0x402
push dword [0x41d3dc]
call eax
cmp dword [ebp + 0x10], 0
mov ebx, 0x82
jne 0x405872
call fcn.004011f0
lea eax, [ebp - 0x24d0]
push eax
push str.SupermiumHTM
push 0x80000000
call dword [sym.imp.ADVAPI32.dll_RegCreateKeyW]
test eax, eax
jne 0x405872
mov esi, dword [ebp - 0x24bc]
lea ecx, [ebp - 0xc34]
mov eax, ecx
mov edx, 0x102
sub esi, eax
nop dword [eax]
lea eax, [edx + 0x7ffffefc]
test eax, eax
je 0x404b6e
movzx eax, word [esi + ecx]
test ax, ax
je 0x404b6e
mov word [ecx], ax
add ecx, 2
sub edx, 1
jne 0x404b50
test edx, edx
lea eax, [ecx - 2]
mov esi, 0x4192fc
mov edx, 0x102
cmovne eax, ecx
xor ecx, ecx
mov word [eax], cx
lea ecx, [ebp - 0x82c]
mov eax, ecx
sub esi, eax
nop
lea eax, [edx + 0x7ffffefc]
test eax, eax
je 0x404bae
movzx eax, word [esi + ecx]
test ax, ax
je 0x404bae
mov word [ecx], ax
add ecx, 2
sub edx, 1
jne 0x404b90
test edx, edx
lea eax, [ecx - 2]
mov edx, 0x102
cmovne eax, ecx
xor ecx, ecx
mov word [eax], cx
lea eax, [ebp - 0x82c]
cmp word [eax], cx
je 0x404bd3
add eax, 2
sub edx, 1
jne 0x404bc6
mov ecx, 0x102
mov edi, edx
mov eax, ecx
sub eax, edx
neg edi
sbb edi, edi
and edi, eax
test edx, edx
je 0x404c2f
mov esi, ecx
lea edx, [ebp - 0x82c]
lea edx, [edx + edi*2]
sub esi, edi
je 0x404c22
mov ebx, dword [ebp - 0x24bc]
mov eax, 0x7ffffffe
sub ebx, edx
test eax, eax
je 0x404c1d
movzx edi, word [ebx + edx]
test di, di
je 0x404c1d
mov word [edx], di
dec eax
add edx, 2
sub esi, 1
jne 0x404c04
mov ebx, 0x82
test esi, esi
lea eax, [edx - 2]
cmovne eax, edx
xor edx, edx
mov word [eax], dx
mov edx, ecx
lea eax, [ebp - 0xc34]
cmp word [eax], 0
je 0x404c45
add eax, 2
sub edx, 1
jne 0x404c37
mov eax, ecx
mov edi, edx
sub eax, edx
neg edi
sbb edi, edi
and edi, eax
test edx, edx
je 0x404c9b
mov esi, ecx
lea edx, [ebp - 0xc34]
lea edx, [edx + edi*2]
sub esi, edi
je 0x404c8e
mov ebx, 0x419300
mov eax, 0x7ffffffe
sub ebx, edx
test eax, eax
je 0x404c89
movzx edi, word [ebx + edx]
test di, di
je 0x404c89
mov word [edx], di
dec eax
add edx, 2
sub esi, 1
jne 0x404c70
mov ebx, 0x82
test esi, esi
lea eax, [edx - 2]
cmovne eax, edx
xor edx, edx
mov word [eax], dx
mov edx, ecx
lea eax, [ebp - 0x82c]
cmp word [eax], 0
je 0x404cb1
add eax, 2
sub edx, 1
jne 0x404ca3
mov eax, ecx
mov edi, edx
sub eax, edx
neg edi
sbb edi, edi
and edi, eax
test edx, edx
je 0x404d0b
mov esi, ecx
lea edx, [ebp - 0x82c]
lea edx, [edx + edi*2]
sub esi, edi
je 0x404cfe
mov ebx, str.chrome.exe____single_argument__1
mov eax, 0x7ffffffe
sub ebx, edx
nop dword [eax]
test eax, eax
je 0x404cf9
movzx edi, word [ebx + edx]
test di, di
je 0x404cf9
mov word [edx], di
dec eax
add edx, 2
sub esi, 1
jne 0x404ce0
mov ebx, 0x82
test esi, esi
lea eax, [edx - 2]
cmovne eax, edx
xor edx, edx
mov word [eax], dx
lea edx, [ebp - 0x1864]
mov edi, 0x4192fc
mov eax, edx
mov esi, ecx
sub edi, eax
nop dword [eax]
lea eax, [esi + 0x7ffffefc]
test eax, eax
je 0x404d3e
movzx eax, word [edi + edx]
test ax, ax
je 0x404d3e
mov word [edx], ax
add edx, 2
sub esi, 1
jne 0x404d20
test esi, esi
lea eax, [edx - 2]
mov edi, 0x4192fc
mov esi, ecx
cmovne eax, edx
xor edx, edx
mov word [eax], dx
lea edx, [ebp - 0x2074]
mov eax, edx
sub edi, eax
nop dword [eax]
lea eax, [esi + 0x7ffffefc]
test eax, eax
je 0x404d7e
movzx eax, word [edx + edi]
test ax, ax
je 0x404d7e
mov word [edx], ax
add edx, 2
sub esi, 1
jne 0x404d60
test esi, esi
lea eax, [edx - 2]
mov edi, 0x4192fc
mov esi, ecx
cmovne eax, edx
xor edx, edx
mov word [eax], dx
lea edx, [ebp - 0x1c6c]
mov eax, edx
sub edi, eax
nop dword [eax]
lea eax, [esi + 0x7ffffefc]
test eax, eax
je 0x404dbe
movzx eax, word [edx + edi]
test ax, ax
je 0x404dbe
mov word [edx], ax
add edx, 2
sub esi, 1
jne 0x404da0
lea eax, [edx - 2]
test esi, esi
cmovne eax, edx
xor edx, edx
mov word [eax], dx
mov edx, ecx
lea eax, [ebp - 0x1864]
cmp word [eax], 0
je 0x404de1
add eax, 2
sub edx, 1
jne 0x404dd3
mov eax, ecx
mov edi, edx
sub eax, edx
neg edi
sbb edi, edi
and edi, eax
test edx, edx
je 0x404e3b
mov esi, ecx
lea edx, [ebp - 0x1864]
lea edx, [edx + edi*2]
sub esi, edi
je 0x404e2e
mov ebx, dword [ebp - 0x24bc]
mov eax, 0x7ffffffe
sub ebx, edx
nop dword [eax]
test eax, eax
je 0x404e29
movzx edi, word [edx + ebx]
test di, di
je 0x404e29
mov word [edx], di
dec eax
add edx, 2
sub esi, 1
jne 0x404e10
mov ebx, 0x82
test esi, esi
lea eax, [edx - 2]
cmovne eax, edx
xor edx, edx
mov word [eax], dx
mov edx, ecx
lea eax, [ebp - 0x2074]
cmp word [eax], 0
je 0x404e51
add eax, 2
sub edx, 1
jne 0x404e43
mov eax, ecx
mov edi, edx
sub eax, edx
neg edi
sbb edi, edi
and edi, eax
test edx, edx
je 0x404eab
mov esi, ecx
lea edx, [ebp - 0x2074]
lea edx, [edx + edi*2]
sub esi, edi
je 0x404e9e
mov ebx, dword [ebp - 0x24bc]
mov eax, 0x7ffffffe
sub ebx, edx
nop dword [eax]
test eax, eax
je 0x404e99
movzx edi, word [edx + ebx]
test di, di
je 0x404e99
mov word [edx], di
dec eax
add edx, 2
sub esi, 1
jne 0x404e80
mov ebx, 0x82
test esi, esi
lea eax, [edx - 2]
cmovne eax, edx
xor edx, edx
mov word [eax], dx
mov edx, ecx
lea eax, [ebp - 0x1c6c]
cmp word [eax], 0
je 0x404ec1
add eax, 2
sub edx, 1
jne 0x404eb3
mov eax, ecx
mov edi, edx
sub eax, edx
neg edi
sbb edi, edi
and edi, eax
test edx, edx
je 0x404f1b
mov esi, ecx
lea edx, [ebp - 0x1c6c]
lea edx, [edx + edi*2]
sub esi, edi
je 0x404f0e
mov ebx, dword [ebp - 0x24bc]
mov eax, 0x7ffffffe
sub ebx, edx
nop dword [eax]
test eax, eax
je 0x404f09
movzx edi, word [edx + ebx]
test di, di
je 0x404f09
mov word [edx], di
dec eax
add edx, 2
sub esi, 1
jne 0x404ef0
mov ebx, 0x82
test esi, esi
lea eax, [edx - 2]
cmovne eax, edx
xor edx, edx
mov word [eax], dx
mov edx, ecx
lea eax, [ebp - 0x1864]
cmp word [eax], 0
je 0x404f31
add eax, 2
sub edx, 1
jne 0x404f23
mov eax, ecx
mov edi, edx
sub eax, edx
neg edi
sbb edi, edi
and edi, eax
test edx, edx
je 0x404f8b
mov esi, ecx
lea edx, [ebp - 0x1864]
lea edx, [edx + edi*2]
sub esi, edi
je 0x404f7e
mov ebx, str.chrome.exe____hide_icons
mov eax, 0x7ffffffe
sub ebx, edx
nop dword [eax]
test eax, eax
je 0x404f79
movzx edi, word [edx + ebx]
test di, di
je 0x404f79
mov word [edx], di
dec eax
add edx, 2
sub esi, 1
jne 0x404f60
mov ebx, 0x82
test esi, esi
lea eax, [edx - 2]
cmovne eax, edx
xor edx, edx
mov word [eax], dx
mov edx, ecx
lea eax, [ebp - 0x2074]
cmp word [eax], 0
je 0x404fa1
add eax, 2
sub edx, 1
jne 0x404f93
mov eax, ecx
mov edi, edx
sub eax, edx
neg edi
sbb edi, edi
and edi, eax
test edx, edx
je 0x404ffb
mov esi, ecx
lea edx, [ebp - 0x2074]
lea edx, [edx + edi*2]
sub esi, edi
je 0x404fee
mov ebx, str.chrome.exe____make_default_browser
mov eax, 0x7ffffffe
sub ebx, edx
nop dword [eax]
test eax, eax
je 0x404fe9
movzx edi, word [edx + ebx]
test di, di
je 0x404fe9
mov word [edx], di
dec eax
add edx, 2
sub esi, 1
jne 0x404fd0
mov ebx, 0x82
test esi, esi
lea eax, [edx - 2]
cmovne eax, edx
xor edx, edx
mov word [eax], dx
mov edx, ecx
lea eax, [ebp - 0x1c6c]
cmp word [eax], 0
je 0x405011
add eax, 2
sub edx, 1
jne 0x405003
mov eax, ecx
mov esi, edx
sub eax, edx
neg esi
sbb esi, esi
and esi, eax
test edx, edx
je 0x405066
lea edx, [ebp - 0x1c6c]
lea edx, [edx + esi*2]
sub ecx, esi
je 0x405059
mov edi, str.chrome.exe____show_icons
mov eax, 0x7ffffffe
sub edi, edx
nop word [eax + eax]
test eax, eax
je 0x405059
movzx esi, word [edx + edi]
test si, si
je 0x405059
mov word [edx], si
dec eax
add edx, 2
sub ecx, 1
jne 0x405040
test ecx, ecx
lea eax, [edx - 2]
cmovne eax, edx
xor ecx, ecx
mov word [eax], cx
mov esi, dword [sym.imp.ADVAPI32.dll_RegSetValueW]
push 0x30
push str.Supermium_HTML_Document
push 1
push 0
push dword [ebp - 0x24d0]
call esi
lea ecx, [ebp - 0xc34]
lea edx, [ecx + 2]
nop dword [eax + eax]
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x405090
sub ecx, edx
sar ecx, 1
lea eax, [ecx + ecx]
push eax
lea eax, [ebp - 0xc34]
push eax
push 1
push str.DefaultIcon
push dword [ebp - 0x24d0]
call esi
lea ecx, [ebp - 0x82c]
lea edx, [ecx + 2]
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x4050c2
sub ecx, edx
sar ecx, 1
lea eax, [ecx + ecx]
push eax
lea eax, [ebp - 0x82c]
push eax
push 1
push str.shellopencommand
push dword [ebp - 0x24d0]
call esi
mov edi, dword [sym.imp.ADVAPI32.dll_RegCreateKeyW]
lea eax, [ebp - 0x24d4]
push eax
push str.SoftwareClassesSupermiumHTM
push 0x80000002
call edi
push 0x30
push str.Supermium_HTML_Document
push 1
push 0
push dword [ebp - 0x24d4]
call esi
lea ecx, [ebp - 0xc34]
lea edx, [ecx + 2]
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x405120
sub ecx, edx
sar ecx, 1
lea eax, [ecx + ecx]
push eax
lea eax, [ebp - 0xc34]
push eax
push 1
push str.DefaultIcon
push dword [ebp - 0x24d4]
call esi
lea ecx, [ebp - 0x82c]
lea edx, [ecx + 2]
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x405152
sub ecx, edx
sar ecx, 1
lea eax, [ecx + ecx]
push eax
lea eax, [ebp - 0x82c]
push eax
push 1
push str.shellopencommand
push dword [ebp - 0x24d4]
call esi
lea eax, [ebp - 0x24d8]
push eax
push str.SOFTWAREClientsStartMenuInternetSupemium
push 0x80000002
call edi
test eax, eax
jne 0x405872
push 0x14
push 0x418e50
push 1
push eax
push dword [ebp - 0x24d8]
call esi
lea ecx, [ebp - 0x82c]
lea edx, [ecx + 2]
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x4051b1
sub ecx, edx
sar ecx, 1
lea eax, [ecx + ecx]
push eax
lea eax, [ebp - 0x82c]
push eax
push 1
push str.shellopencommand
push dword [ebp - 0x24d8]
call esi
lea ecx, [ebp - 0xc34]
lea edx, [ecx + 2]
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x4051e3
sub ecx, edx
sar ecx, 1
lea eax, [ecx + ecx]
push eax
lea eax, [ebp - 0xc34]
push eax
push 1
push str.DefaultIcon
push dword [ebp - 0x24d8]
call esi
mov esi, dword [sym.imp.ADVAPI32.dll_RegCreateKeyW]
lea eax, [ebp - 0x24dc]
push eax
push str.SOFTWAREClientsStartMenuInternetSupemiumCapabilities
push 0x80000002
call esi
lea eax, [ebp - 0x24c0]
push eax
push str.SOFTWAREClientsStartMenuInternetSupemiumCapabilitiesFileAssociations
push 0x80000002
call esi
lea eax, [ebp - 0x24e8]
push eax
push str.SOFTWAREClientsStartMenuInternetSupemiumCapabilitiesStartMenu
push 0x80000002
call esi
lea eax, [ebp - 0x24b8]
push eax
push str.SOFTWAREClientsStartMenuInternetSupemiumCapabilitiesURLAssociations
push 0x80000002
call esi
mov edi, dword [sym.imp.ADVAPI32.dll_RegSetValueExW]
push 0xd6
push str.Supermium_is_a_web_browser_targetting_legacy_versions_of_Windows_and_has_various_other_important_features.
push 1
push 0
push str.ApplicationDescription
push dword [ebp - 0x24dc]
call edi
lea ecx, [ebp - 0xc34]
lea edx, [ecx + 2]
nop dword [eax + eax]
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x405290
sub ecx, edx
sar ecx, 1
lea eax, [ecx + ecx]
push eax
lea eax, [ebp - 0xc34]
push eax
push 1
push 0
push str.ApplicationIcon
push dword [ebp - 0x24dc]
call edi
push 0x14
push 0x418e50
push 1
push 0
push str.ApplicationName
push dword [ebp - 0x24dc]
call edi
push 0x1a
push str.SupermiumHTM
push 1
push 0
push str..htm
push dword [ebp - 0x24c0]
call edi
push 0x1a
push str.SupermiumHTM
push 1
push 0
push str..html
push dword [ebp - 0x24c0]
call edi
push 0x1a
push str.SupermiumHTM
push 1
push 0
push str..pdf
push dword [ebp - 0x24c0]
call edi
push 0x1a
push str.SupermiumHTM
push 1
push 0
push str..shtml
push dword [ebp - 0x24c0]
call edi
push 0x1a
push str.SupermiumHTM
push 1
push 0
push str..svg
push dword [ebp - 0x24c0]
call edi
push 0x1a
push str.SupermiumHTM
push 1
push 0
push str..webp
push dword [ebp - 0x24c0]
call edi
push 0x1a
push str.SupermiumHTM
push 1
push 0
push str..xht
push dword [ebp - 0x24c0]
call edi
push 0x1a
push str.SupermiumHTM
push 1
push 0
push str..xhtml
push dword [ebp - 0x24c0]
call edi
push 0x12
push str.Supemium
push 1
push 0
push str.StartMenuInternet
push dword [ebp - 0x24e8]
call edi
push 0x1a
push str.SupermiumHTM
push 1
push 0
push str.http
push dword [ebp - 0x24b8]
call edi
push 0x1a
push str.SupermiumHTM
push 1
push 0
push str.https
push dword [ebp - 0x24b8]
call edi
push 0x1a
push str.SupermiumHTM
push 1
push 0
push 0x419934
push dword [ebp - 0x24b8]
call edi
push 0x1a
push str.SupermiumHTM
push 1
push 0
push str.mailto
push dword [ebp - 0x24b8]
call edi
push 0x1a
push str.SupermiumHTM
push 1
push 0
push 0x41994c
push dword [ebp - 0x24b8]
call edi
push 0x1a
push str.SupermiumHTM
push 1
push 0
push str.news
push dword [ebp - 0x24b8]
call edi
push 0x1a
push str.SupermiumHTM
push 1
push 0
push str.nntp
push dword [ebp - 0x24b8]
call edi
push 0x1a
push str.SupermiumHTM
push 1
push 0
push 0x41996c
push dword [ebp - 0x24b8]
call edi
push 0x1a
push str.SupermiumHTM
push 1
push 0
push str.smsto
push dword [ebp - 0x24b8]
call edi
push 0x1a
push str.SupermiumHTM
push 1
push 0
push str.snews
push dword [ebp - 0x24b8]
call edi
push 0x1a
push str.SupermiumHTM
push 1
push 0
push 0x41998c
push dword [ebp - 0x24b8]
call edi
push 0x1a
push str.SupermiumHTM
push 1
push 0
push 0x419994
push dword [ebp - 0x24b8]
call edi
push 0x1a
push str.SupermiumHTM
push 1
push 0
push str.webcal
push dword [ebp - 0x24b8]
call edi
lea eax, [ebp - 0x24cc]
push eax
push str.SOFTWAREClientsStartMenuInternetSupemiumInstallInfo
push 0x80000002
call esi
lea ecx, [ebp - 0x1864]
lea edx, [ecx + 2]
nop
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x405500
sub ecx, edx
sar ecx, 1
lea eax, [ecx + ecx]
push eax
lea eax, [ebp - 0x1864]
push eax
push 1
push 0
push str.HideIconsCommand
push dword [ebp - 0x24cc]
call edi
lea ecx, [ebp - 0x1c6c]
lea edx, [ecx + 2]
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x405534
sub ecx, edx
sar ecx, 1
lea eax, [ecx + ecx]
push eax
lea eax, [ebp - 0x1c6c]
push eax
push 1
push 0
push str.ShowIconsCommand
push dword [ebp - 0x24cc]
call edi
lea ecx, [ebp - 0x2074]
lea edx, [ecx + 2]
nop dword [eax + eax]
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x405570
sub ecx, edx
sar ecx, 1
lea eax, [ecx + ecx]
push eax
lea eax, [ebp - 0x2074]
push eax
push 1
push 0
push str.ReinstallCommand
push dword [ebp - 0x24cc]
call edi
push 4
lea eax, [ebp - 0x24e0]
push eax
push 4
push 0
push str.IconsVisible
push dword [ebp - 0x24cc]
call edi
lea eax, [ebp - 0x24c4]
push eax
push str.SOFTWAREMicrosoftWindowsCurrentVersionUninstallSupermium
push 0x80000002
call esi
mov esi, dword [ebp - 0x24bc]
lea ecx, [ebp - 0x21c]
mov eax, ecx
mov edx, 0x82
sub esi, eax
nop dword [eax]
lea eax, [edx + 0x7fffff7c]
test eax, eax
je 0x4055fe
movzx eax, word [ecx + esi]
test ax, ax
je 0x4055fe
mov word [ecx], ax
add ecx, 2
sub edx, 1
jne 0x4055e0
lea eax, [ecx - 2]
test edx, edx
cmovne eax, ecx
xor ecx, ecx
mov word [eax], cx
mov ecx, 0x82
lea eax, [ebp - 0x21c]
cmp word [eax], 0
je 0x405624
add eax, 2
sub ecx, 1
jne 0x405616
mov eax, ebx
mov esi, ecx
sub eax, ecx
neg esi
sbb esi, esi
and esi, eax
test ecx, ecx
je 0x40567c
mov edx, ebx
lea ecx, [ebp - 0x21c]
lea ecx, [ecx + esi*2]
sub edx, esi
je 0x40566f
mov edi, str.chrome.exe
mov eax, 0x7ffffffe
sub edi, ecx
nop
test eax, eax
je 0x405669
movzx esi, word [ecx + edi]
test si, si
je 0x405669
mov word [ecx], si
dec eax
add ecx, 2
sub edx, 1
jne 0x405650
mov edi, dword [sym.imp.ADVAPI32.dll_RegSetValueExW]
test edx, edx
lea eax, [ecx - 2]
cmovne eax, ecx
xor ecx, ecx
mov word [eax], cx
lea ecx, [ebp - 0x21c]
lea edx, [ecx + 2]
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x405685
sub ecx, edx
sar ecx, 1
lea eax, [ecx + ecx]
push eax
lea eax, [ebp - 0x21c]
push eax
push 1
push 0
push str.DisplayIcon
push dword [ebp - 0x24c4]
call edi
push 0x14
push 0x418e50
push 1
push 0
push str.DisplayName
push dword [ebp - 0x24c4]
call edi
mov esi, dword [ebp - 0x24bc]
mov ecx, esi
lea edx, [ecx + 2]
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x4056d3
sub ecx, edx
sar ecx, 1
lea eax, [ecx + ecx]
push eax
push esi
push 1
push 0
push str.InstallLocation
push dword [ebp - 0x24c4]
call edi
push 4
lea eax, [ebp - 0x24e0]
push eax
push 4
push 0
push str.NoModify
push dword [ebp - 0x24c4]
call edi
push 4
lea eax, [ebp - 0x24e0]
push eax
push 4
push 0
push str.NoRepair
push dword [ebp - 0x24c4]
call edi
push 4
lea eax, [ebp - 0x24ec]
push eax
push 4
push 0
push str.EstimatedSize
push dword [ebp - 0x24c4]
call edi
push 0x1e
push str.122.0.6261.152
push 1
push 0
push str.DisplayVersion
push dword [ebp - 0x24c4]
call edi
lea ecx, [ebp - 0x424]
mov edx, 0x82
mov eax, ecx
sub esi, eax
nop dword [eax]
lea eax, [edx + 0x7fffff7c]
test eax, eax
je 0x40578e
movzx eax, word [ecx + esi]
test ax, ax
je 0x40578e
mov word [ecx], ax
add ecx, 2
sub edx, 1
jne 0x405770
lea eax, [ecx - 2]
test edx, edx
cmovne eax, ecx
xor ecx, ecx
mov word [eax], cx
mov ecx, 0x82
lea eax, [ebp - 0x424]
cmp word [eax], 0
je 0x4057b4
add eax, 2
sub ecx, 1
jne 0x4057a6
mov eax, ebx
mov esi, ecx
sub eax, ecx
neg esi
sbb esi, esi
and esi, eax
test ecx, ecx
je 0x40580c
mov edx, ebx
lea ecx, [ebp - 0x424]
lea ecx, [ecx + esi*2]
sub edx, esi
je 0x4057ff
mov edi, str.uninstall.exe
mov eax, 0x7ffffffe
sub edi, ecx
nop
test eax, eax
je 0x4057f9
movzx esi, word [ecx + edi]
test si, si
je 0x4057f9
mov word [ecx], si
dec eax
add ecx, 2
sub edx, 1
jne 0x4057e0
mov edi, dword [sym.imp.ADVAPI32.dll_RegSetValueExW]
test edx, edx
lea eax, [ecx - 2]
cmovne eax, ecx
xor ecx, ecx
mov word [eax], cx
lea ecx, [ebp - 0x424]
lea edx, [ecx + 2]
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x405815
sub ecx, edx
sar ecx, 1
lea eax, [ecx + ecx]
push eax
lea eax, [ebp - 0x424]
push eax
push 1
push 0
push str.UninstallString
push dword [ebp - 0x24c4]
call edi
lea eax, [ebp - 0x24e4]
push eax
push str.SOFTWARERegisteredApplications
push 0x80000002
call dword [sym.imp.ADVAPI32.dll_RegOpenKeyW]
test eax, eax
jne 0x405872
push 0x72
push str.SoftwareClientsStartMenuInternetSupemiumCapabilities
push 1
push eax
push str.Supemium
push dword [ebp - 0x24e4]
call edi
push 0
push 0x46
push 0x402
push dword [0x41d3dc]
call dword [sym.imp.USER32.dll_SendMessageW]
cmp dword [ebp + 8], 0
je 0x405937
push 0x104
lea eax, [ebp - 0xe3c]
push eax
call dword [sym.imp.KERNEL32.dll_GetWindowsDirectoryW]
mov ecx, 0x82
lea eax, [ebp - 0xe3c]
nop
cmp word [eax], 0
je 0x4058be
add eax, 2
sub ecx, 1
jne 0x4058b0
mov eax, ebx
mov esi, ecx
sub eax, ecx
neg esi
sbb esi, esi
and esi, eax
test ecx, ecx
je 0x405916
mov edx, ebx
lea ecx, [ebp - 0xe3c]
lea ecx, [ecx + esi*2]
sub edx, esi
je 0x405909
mov edi, str.FontsNotoEmoji.ttf
mov eax, 0x7ffffffe
sub edi, ecx
nop dword [eax]
test eax, eax
je 0x405909
movzx esi, word [edi + ecx]
test si, si
je 0x405909
mov word [ecx], si
dec eax
add ecx, 2
sub edx, 1
jne 0x4058f0
test edx, edx
lea eax, [ecx - 2]
cmovne eax, ecx
xor ecx, ecx
mov word [eax], cx
push 2
lea eax, [ebp - 0xe3c]
push eax
push str.NotoEmoji.ttf
call dword [sym.imp.KERNEL32.dll_MoveFileExW]
lea eax, [ebp - 0xe3c]
push eax
call dword [sym.imp.GDI32.dll_AddFontResourceW]
push 0
push 0x55
push 0x402
push dword [0x41d3dc]
call dword [sym.imp.USER32.dll_SendMessageW]
cmp dword [ebp + 0xc], 0
je 0x405c06
push 0
call dword [sym.imp.ole32.dll_CoInitialize]
test eax, eax
js 0x405c06
lea eax, [ebp - 0x24c8]
push eax
push 0x4141e0
push 1
push 0
push 0x414200
call dword [sym.imp.ole32.dll_CoCreateInstance]
test eax, eax
js 0x405c00
mov esi, dword [ebp - 0x24bc]
lea ecx, [ebp - 0x124c]
mov eax, ecx
mov edx, 0x82
sub esi, eax
nop
lea eax, [edx + 0x7fffff7c]
test eax, eax
je 0x4059be
movzx eax, word [ecx + esi]
test ax, ax
je 0x4059be
mov word [ecx], ax
add ecx, 2
sub edx, 1
jne 0x4059a0
lea eax, [ecx - 2]
test edx, edx
cmovne eax, ecx
xor ecx, ecx
mov word [eax], cx
mov ecx, 0x82
lea eax, [ebp - 0x124c]
cmp word [eax], 0
je 0x4059e4
add eax, 2
sub ecx, 1
jne 0x4059d6
mov eax, ebx
mov esi, ecx
sub eax, ecx
neg esi
sbb esi, esi
and esi, eax
test ecx, ecx
je 0x405a36
mov edx, ebx
lea ecx, [ebp - 0x124c]
lea ecx, [ecx + esi*2]
sub edx, esi
je 0x405a29
mov edi, str.chrome.exe
mov eax, 0x7ffffffe
sub edi, ecx
nop
test eax, eax
je 0x405a29
movzx esi, word [ecx + edi]
test si, si
je 0x405a29
mov word [ecx], si
dec eax
add ecx, 2
sub edx, 1
jne 0x405a10
test edx, edx
lea eax, [ecx - 2]
cmovne eax, ecx
xor ecx, ecx
mov word [eax], cx
mov eax, dword [ebp - 0x24c8]
lea edx, [ebp - 0x124c]
push edx
push eax
mov ecx, dword [eax]
call dword [ecx + 0x50]
mov eax, dword [ebp - 0x24c8]
push str.Supermium_Web_Browser
push eax
mov ecx, dword [eax]
call dword [ecx + 0x1c]
mov esi, dword [ebp + 0x14]
test esi, esi
je 0x405a72
mov eax, dword [ebp - 0x24c8]
push str.__ungoogled_supermium
push eax
mov ecx, dword [eax]
call dword [ecx + 0x2c]
cmp dword [ebp + 0x18], 0
je 0x405a9e
mov eax, dword [ebp - 0x24c8]
push str.__classic_omnibox___classic_omnibox_border___compact_ui___disable_featuresDownloadBubble_TabHoverCards_PowerBookmarksSidePanel___enable_featuresSupermiumCustomTabs
push eax
mov ecx, dword [eax]
call dword [ecx + 0x2c]
test esi, esi
je 0x405a9e
mov eax, dword [ebp - 0x24c8]
push str.__ungoogled_supermium___classic_omnibox___classic_omnibox_border___compact_ui___disable_featuresDownloadBubble_TabHoverCards_PowerBookmarksSidePanel___enable_featuresSupermiumCustomTabs
push eax
mov ecx, dword [eax]
call dword [ecx + 0x2c]
mov eax, dword [ebp - 0x24c8]
lea edx, [ebp - 0x24bc]
push edx
push 0x4141f0
push eax
mov ecx, dword [eax]
call dword [ecx]
test eax, eax
js 0x405bf4
mov esi, dword [sym.imp.SHELL32.dll_SHGetFolderPathW]
lea eax, [ebp - 0x227c]
push eax
push 0
push 0
push 0x10
push 0
call esi
lea eax, [ebp - 0x2484]
push eax
push 0
push 0
push 2
push 0
call esi
mov ecx, 0x82
lea eax, [ebp - 0x227c]
cmp word [eax], 0
je 0x405afe
add eax, 2
sub ecx, 1
jne 0x405af0
mov eax, ebx
mov esi, ecx
sub eax, ecx
neg esi
sbb esi, esi
and esi, eax
test ecx, ecx
je 0x405b56
mov edx, ebx
lea ecx, [ebp - 0x227c]
lea ecx, [ecx + esi*2]
sub edx, esi
je 0x405b49
mov edi, str.Supermium.lnk
mov eax, 0x7ffffffe
sub edi, ecx
nop dword [eax]
test eax, eax
je 0x405b49
movzx esi, word [edi + ecx]
test si, si
je 0x405b49
mov word [ecx], si
dec eax
add ecx, 2
sub edx, 1
jne 0x405b30
test edx, edx
lea eax, [ecx - 2]
cmovne eax, ecx
xor ecx, ecx
mov word [eax], cx
mov ecx, 0x82
lea eax, [ebp - 0x2484]
cmp word [eax], 0
je 0x405b6f
add eax, 2
sub ecx, 1
jne 0x405b61
mov eax, ebx
mov edx, ecx
sub eax, ecx
neg edx
sbb edx, edx
and edx, eax
test ecx, ecx
je 0x405bbe
lea ecx, [ebp - 0x2484]
lea ecx, [ecx + edx*2]
sub ebx, edx
je 0x405bb1
mov esi, str.Supermium.lnk
mov eax, 0x7ffffffe
sub esi, ecx
test eax, eax
je 0x405bb1
movzx edx, word [esi + ecx]
test dx, dx
je 0x405bb1
mov word [ecx], dx
dec eax
add ecx, 2
sub ebx, 1
jne 0x405b98
test ebx, ebx
lea eax, [ecx - 2]
cmovne eax, ecx
xor ecx, ecx
mov word [eax], cx
mov eax, dword [ebp - 0x24bc]
lea edx, [ebp - 0x227c]
push 1
push edx
push eax
mov ecx, dword [eax]
call dword [ecx + 0x18]
mov eax, dword [ebp - 0x24bc]
lea edx, [ebp - 0x2484]
push 1
push edx
push eax
mov ecx, dword [eax]
call dword [ecx + 0x18]
mov eax, dword [ebp - 0x24bc]
push eax
mov ecx, dword [eax]
call dword [ecx + 8]
mov eax, dword [ebp - 0x24c8]
push eax
mov ecx, dword [eax]
call dword [ecx + 8]
call dword [sym.imp.ole32.dll_CoUninitialize]
push 0
push 0x64
push 0x402
push dword [0x41d3dc]
call dword [sym.imp.USER32.dll_SendMessageW]
mov eax, 1
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.0040671d
mov esp, ebp
pop ebp
ret
call fcn.00409d6c
int3