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

Disassembly:
push ebx
mov ebx, esp
sub esp, 8
and esp, 0xfffffff8
add esp, 4
push ebp
mov ebp, dword [ebx + 4]
mov dword [esp + 4], ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x4130c0
mov eax, dword fs:[0]
push eax
push ebx
mov eax, 0x1d00
call fcn.00412aa0
mov eax, dword [0x41c004]
xor eax, ebp
mov dword [ebp - 0x14], eax
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov edi, edx
mov dword [ebp - 0x1cec], ecx
push 0x208
lea eax, [ebp - 0x248]
push 0
push eax
call fcn.00407d90
add esp, 0xc
lea eax, [ebp - 0xc68]
push 0x20a
push 0
push eax
call fcn.00407d90
add esp, 0xc
lea eax, [ebp - 0xa58]
push 0x408
push 0
push eax
call fcn.00407d90
add esp, 0xc
lea eax, [ebp - 0x650]
push 0x408
push 0
push eax
call fcn.00407d90
add esp, 0xc
lea eax, [ebp - 0x1070]
push 0x408
push 0
push eax
call fcn.00407d90
add esp, 0xc
lea eax, [ebp - 0x1880]
push 0x408
push 0
push eax
call fcn.00407d90
add esp, 0xc
lea eax, [ebp - 0x1478]
push 0x408
push 0
push eax
call fcn.00407d90
add esp, 0xc
mov dword [ebp - 0x1ce8], 1
push 0
push 0xa
push 0x402
push dword [0x41d388]
call dword [sym.imp.USER32.dll_SendMessageW]
lea ecx, [ebp - 0xc68]
mov esi, edi
mov eax, ecx
mov edx, 0x104
sub esi, eax
nop word [eax + eax]
lea eax, [edx + 0x7ffffefa]
test eax, eax
je 0x4044de
movzx eax, word [esi + ecx]
test ax, ax
je 0x4044de
mov word [ecx], ax
add ecx, 2
sub edx, 1
jne 0x4044c0
lea eax, [ecx - 2]
test edx, edx
xorps xmm0, xmm0
cmovne eax, ecx
movlpd qword [ebp - 0x1cfe], xmm0
xor ecx, ecx
push edi
mov dword [ebp - 0x1d10], ecx
mov word [eax], cx
mov eax, 0x614
mov dword [ebp - 0x1d04], ecx
mov dword [ebp - 0x1cf6], ecx
mov word [ebp - 0x1d00], ax
call dword [sym.imp.KERNEL32.dll_GetFileAttributesW]
mov esi, dword [sym.imp.SHELL32.dll_SHFileOperationW]
cmp eax, 0xffffffff
je 0x40454c
lea eax, [ebp - 0xc68]
mov dword [ebp - 0x1d0c], 3
mov dword [ebp - 0x1d08], eax
lea eax, [ebp - 0x1d10]
push eax
call esi
push edi
call dword [sym.imp.KERNEL32.dll_RemoveDirectoryW]
lea eax, [ebp - 0xc68]
mov dword [ebp - 0x1d08], str..Supermium
mov dword [ebp - 0x1d04], eax
lea eax, [ebp - 0x1d10]
push eax
mov dword [ebp - 0x1d0c], 2
call esi
test eax, eax
je 0x4047fc
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov ecx, eax
lea esi, [ebp - 0x16]
nop dword [eax + eax]
mov eax, 0xcccccccd
sub esi, 2
mul ecx
shr edx, 3
lea eax, [edx + edx*4]
add eax, eax
sub ecx, eax
add ecx, 0x30
mov word [esi], cx
mov ecx, edx
test ecx, ecx
jne 0x404590
xor eax, eax
mov dword [ebp - 0x1ca8], edx
mov word [ebp - 0x1ca8], ax
mov edx, 7
lea eax, [ebp - 0x16]
mov dword [ebp - 0x1c98], ecx
mov dword [ebp - 0x1c94], edx
cmp esi, eax
je 0x4045f4
sub eax, esi
lea ecx, [ebp - 0x1ca8]
sar eax, 1
push eax
push esi
call fcn.00406070
mov edx, dword [ebp - 0x1c94]
mov ecx, dword [ebp - 0x1c98]
mov eax, edx
mov dword [ebp - 4], 0
sub eax, ecx
cmp eax, 0x1b
jb 0x404699
cmp edx, 8
lea edi, [ebp - 0x1ca8]
lea eax, [ecx + 0x1b]
cmovae edi, dword [ebp - 0x1ca8]
mov dword [ebp - 0x1c98], eax
cmp edi, 0x419042
jae 0x40464b
lea eax, [edi + ecx*2]
cmp eax, str.Error._Win32_error_code_is
jb 0x40464b
cmp edi, str.Error._Win32_error_code_is
ja 0x40463f
xor esi, esi
jmp 0x404650
mov esi, edi
sub esi, str.Error._Win32_error_code_is
sar esi, 1
jmp 0x404650
mov esi, 0x1b
lea eax, [ecx*2 + 2]
push eax
lea eax, [edi + 0x36]
push edi
push eax
call fcn.004091f0
add esp, 0xc
add esi, esi
push esi
push str.Error._Win32_error_code_is
push edi
call fcn.004091f0
add esp, 0xc
mov eax, 0x36
sub eax, esi
push eax
lea eax, [esi + 0x419042]
push eax
lea eax, [esi + edi]
push eax
call fcn.004091f0
add esp, 0xc
lea eax, [ebp - 0x1ca8]
jmp 0x4046b8
push 0x1b
sub esp, 8
mov byte [ebp - 0x1cd4], 0
lea ecx, [ebp - 0x1ca8]
push dword [ebp - 0x1cd4]
push 0x1b
call fcn.00406440
mov dword [ebp - 0x1cc0], 0
xor ecx, ecx
mov dword [ebp - 0x1cb0], 0
mov dword [ebp - 0x1cac], 0
movups xmm0, xmmword [eax]
push 0x10
push str.Error
movups xmmword [ebp - 0x1cc0], xmm0
movq xmm0, qword [eax + 0x10]
movq qword [ebp - 0x1cb0], xmm0
mov dword [eax + 0x10], 0
mov dword [eax + 0x14], 7
mov word [eax], cx
lea eax, [ebp - 0x1cc0]
cmp dword [ebp - 0x1cac], 8
cmovae eax, dword [ebp - 0x1cc0]
push eax
push dword [ebp - 0x1cec]
call dword [sym.imp.USER32.dll_MessageBoxW]
mov ecx, dword [ebp - 0x1cac]
cmp ecx, 8
jb 0x404768
mov edx, dword [ebp - 0x1cc0]
lea ecx, [ecx*2 + 2]
mov eax, edx
cmp ecx, 0x1000
jb 0x40475e
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x405273
push ecx
push edx
call fcn.004065e3
add esp, 8
mov ecx, dword [ebp - 0x1c94]
xor eax, eax
mov dword [ebp - 0x1cb0], 0
mov dword [ebp - 0x1cac], 7
mov word [ebp - 0x1cc0], ax
cmp ecx, 8
jb 0x4047c5
mov edx, dword [ebp - 0x1ca8]
lea ecx, [ecx*2 + 2]
mov eax, edx
cmp ecx, 0x1000
jb 0x4047bb
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x405273
push ecx
push edx
call fcn.004065e3
add esp, 8
xor eax, eax
mov dword [ebp - 0x1c98], 0
push eax
push eax
push 0x402
push dword [0x41d388]
mov dword [ebp - 0x1c94], 7
mov word [ebp - 0x1ca8], ax
call dword [sym.imp.USER32.dll_SendMessageW]
xor eax, eax
jmp 0x405255
mov esi, dword [sym.imp.USER32.dll_SendMessageW]
push 0
push 0x32
push 0x402
push dword [0x41d388]
call esi
cmp dword [ebx + 0x10], 0
jne 0x40508b
call fcn.00401210
lea eax, [ebp - 0x1cd8]
push eax
push str.SupermiumHTM
push 0x80000000
call dword [sym.imp.ADVAPI32.dll_RegCreateKeyW]
test eax, eax
jne 0x40508b
push ecx
push edi
push ecx
mov esi, 0x102
lea ecx, [ebp - 0xa58]
mov edx, esi
call fcn.004011b0
push ecx
push 0x419060
push ecx
mov edx, esi
lea ecx, [ebp - 0x650]
call fcn.004011b0
mov ecx, esi
lea eax, [ebp - 0x650]
cmp word [eax], 0
je 0x404880
add eax, 2
sub ecx, 1
jne 0x404872
test ecx, ecx
je 0x4048b0
mov edx, ecx
lea eax, [ecx - 0x102]
neg edx
push ecx
sbb edx, edx
and edx, eax
mov eax, esi
sub eax, ecx
add edx, esi
push edi
push ecx
add eax, eax
neg ecx
sbb ecx, ecx
and ecx, eax
lea eax, [ebp - 0x650]
add ecx, eax
call fcn.004011b0
mov ecx, esi
lea eax, [ebp - 0xa58]
cmp word [eax], 0
je 0x4048c6
add eax, 2
sub ecx, 1
jne 0x4048b8
test ecx, ecx
je 0x4048fa
mov edx, ecx
lea eax, [ecx - 0x102]
neg edx
push ecx
sbb edx, edx
and edx, eax
mov eax, esi
sub eax, ecx
add edx, esi
push str.chrome.exe_0
push ecx
add eax, eax
neg ecx
sbb ecx, ecx
and ecx, eax
lea eax, [ebp - 0xa58]
add ecx, eax
call fcn.004011b0
mov ecx, esi
lea eax, [ebp - 0x650]
cmp word [eax], 0
je 0x404910
add eax, 2
sub ecx, 1
jne 0x404902
test ecx, ecx
je 0x404944
mov edx, ecx
lea eax, [ecx - 0x102]
neg edx
push ecx
sbb edx, edx
and edx, eax
mov eax, esi
sub eax, ecx
add edx, esi
push str.chrome.exe____single_argument__1
push ecx
add eax, eax
neg ecx
sbb ecx, ecx
and ecx, eax
lea eax, [ebp - 0x650]
add ecx, eax
call fcn.004011b0
push ecx
push 0x419060
push ecx
mov edx, esi
lea ecx, [ebp - 0x1070]
call fcn.004011b0
push ecx
push 0x419060
push ecx
mov edx, esi
lea ecx, [ebp - 0x1880]
call fcn.004011b0
push ecx
push 0x419060
push ecx
mov edx, esi
lea ecx, [ebp - 0x1478]
call fcn.004011b0
mov ecx, esi
lea eax, [ebp - 0x1070]
cmp word [eax], 0
je 0x404996
add eax, 2
sub ecx, 1
jne 0x404988
test ecx, ecx
je 0x4049c6
mov edx, ecx
lea eax, [ecx - 0x102]
neg edx
push ecx
sbb edx, edx
and edx, eax
mov eax, esi
sub eax, ecx
add edx, esi
push edi
push ecx
add eax, eax
neg ecx
sbb ecx, ecx
and ecx, eax
lea eax, [ebp - 0x1070]
add ecx, eax
call fcn.004011b0
mov ecx, esi
lea eax, [ebp - 0x1880]
nop
cmp word [eax], 0
je 0x4049de
add eax, 2
sub ecx, 1
jne 0x4049d0
test ecx, ecx
je 0x404a0e
mov edx, ecx
lea eax, [ecx - 0x102]
neg edx
push ecx
sbb edx, edx
and edx, eax
mov eax, esi
sub eax, ecx
add edx, esi
push edi
push ecx
add eax, eax
neg ecx
sbb ecx, ecx
and ecx, eax
lea eax, [ebp - 0x1880]
add ecx, eax
call fcn.004011b0
mov ecx, esi
lea eax, [ebp - 0x1478]
cmp word [eax], 0
je 0x404a24
add eax, 2
sub ecx, 1
jne 0x404a16
test ecx, ecx
je 0x404a54
mov edx, ecx
lea eax, [ecx - 0x102]
neg edx
push ecx
sbb edx, edx
and edx, eax
mov eax, esi
sub eax, ecx
add edx, esi
push edi
push ecx
add eax, eax
neg ecx
sbb ecx, ecx
and ecx, eax
lea eax, [ebp - 0x1478]
add ecx, eax
call fcn.004011b0
mov ecx, esi
lea eax, [ebp - 0x1070]
nop dword [eax]
cmp word [eax], 0
je 0x404a6e
add eax, 2
sub ecx, 1
jne 0x404a60
test ecx, ecx
je 0x404aa2
mov edx, ecx
lea eax, [ecx - 0x102]
neg edx
push ecx
sbb edx, edx
and edx, eax
mov eax, esi
sub eax, ecx
add edx, esi
push str.chrome.exe____hide_icons
push ecx
add eax, eax
neg ecx
sbb ecx, ecx
and ecx, eax
lea eax, [ebp - 0x1070]
add ecx, eax
call fcn.004011b0
mov ecx, esi
lea eax, [ebp - 0x1880]
nop word [eax + eax]
cmp word [eax], 0
je 0x404abe
add eax, 2
sub ecx, 1
jne 0x404ab0
test ecx, ecx
je 0x404af2
mov edx, ecx
lea eax, [ecx - 0x102]
neg edx
push ecx
sbb edx, edx
and edx, eax
mov eax, esi
sub eax, ecx
add edx, esi
push str.chrome.exe____make_default_browser
push ecx
add eax, eax
neg ecx
sbb ecx, ecx
and ecx, eax
lea eax, [ebp - 0x1880]
add ecx, eax
call fcn.004011b0
mov ecx, esi
lea eax, [ebp - 0x1478]
nop word [eax + eax]
cmp word [eax], 0
je 0x404b0e
add eax, 2
sub ecx, 1
jne 0x404b00
test ecx, ecx
je 0x404b40
mov edx, ecx
lea eax, [ecx - 0x102]
neg edx
push ecx
sbb edx, edx
and edx, eax
lea eax, [ebp - 0x1478]
add edx, esi
sub esi, ecx
push str.chrome.exe____show_icons
push ecx
add esi, esi
neg ecx
sbb ecx, ecx
and ecx, esi
add ecx, eax
call fcn.004011b0
mov esi, dword [sym.imp.ADVAPI32.dll_RegSetValueW]
push 0x30
push str.Supermium_HTML_Document
push 1
push 0
push dword [ebp - 0x1cd8]
call esi
lea ecx, [ebp - 0xa58]
lea edx, [ecx + 2]
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x404b62
sub ecx, edx
sar ecx, 1
lea eax, [ecx + ecx]
push eax
lea eax, [ebp - 0xa58]
push eax
push 1
push str.DefaultIcon
push dword [ebp - 0x1cd8]
call esi
lea ecx, [ebp - 0x650]
lea edx, [ecx + 2]
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x404b94
sub ecx, edx
sar ecx, 1
lea eax, [ecx + ecx]
push eax
lea eax, [ebp - 0x650]
push eax
push 1
push str.shellopencommand
push dword [ebp - 0x1cd8]
call esi
lea eax, [ebp - 0x1cdc]
push eax
push str.SoftwareClassesSupermiumHTM
push 0x80000002
call dword [sym.imp.ADVAPI32.dll_RegCreateKeyW]
push 0x30
push str.Supermium_HTML_Document
push 1
push 0
push dword [ebp - 0x1cdc]
call esi
lea ecx, [ebp - 0xa58]
lea edx, [ecx + 2]
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x404bf0
sub ecx, edx
sar ecx, 1
lea eax, [ecx + ecx]
push eax
lea eax, [ebp - 0xa58]
push eax
push 1
push str.DefaultIcon
push dword [ebp - 0x1cdc]
call esi
lea ecx, [ebp - 0x650]
lea edx, [ecx + 2]
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x404c22
sub ecx, edx
sar ecx, 1
lea eax, [ecx + ecx]
push eax
lea eax, [ebp - 0x650]
push eax
push 1
push str.shellopencommand
push dword [ebp - 0x1cdc]
call esi
lea eax, [ebp - 0x1ce0]
push eax
push str.SOFTWAREClientsStartMenuInternetSupemium
push 0x80000002
call dword [sym.imp.ADVAPI32.dll_RegCreateKeyW]
test eax, eax
jne 0x405085
push 0x14
push 0x418e00
push 1
push eax
push dword [ebp - 0x1ce0]
call esi
lea ecx, [ebp - 0x650]
lea edx, [ecx + 2]
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x404c85
sub ecx, edx
sar ecx, 1
lea eax, [ecx + ecx]
push eax
lea eax, [ebp - 0x650]
push eax
push 1
push str.shellopencommand
push dword [ebp - 0x1ce0]
call esi
lea ecx, [ebp - 0xa58]
lea edx, [ecx + 2]
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x404cb7
sub ecx, edx
sar ecx, 1
lea eax, [ecx + ecx]
push eax
lea eax, [ebp - 0xa58]
push eax
push 1
push str.DefaultIcon
push dword [ebp - 0x1ce0]
call esi
mov esi, dword [sym.imp.ADVAPI32.dll_RegCreateKeyW]
lea eax, [ebp - 0x1ce4]
push eax
push str.SOFTWAREClientsStartMenuInternetSupemiumCapabilities
push 0x80000002
call esi
lea eax, [ebp - 0x1cc8]
push eax
push str.SOFTWAREClientsStartMenuInternetSupemiumCapabilitiesFileAssociations
push 0x80000002
call esi
lea eax, [ebp - 0x1cf0]
push eax
push str.SOFTWAREClientsStartMenuInternetSupemiumCapabilitiesStartmenu
push 0x80000002
call esi
lea eax, [ebp - 0x1cc4]
push eax
push str.SOFTWAREClientsStartMenuInternetSupemiumCapabilitiesURLAssociations
push 0x80000002
call esi
mov esi, 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 - 0x1ce4]
call esi
lea ecx, [ebp - 0xa58]
lea edx, [ecx + 2]
nop dword [eax]
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x404d60
sub ecx, edx
sar ecx, 1
lea eax, [ecx + ecx]
push eax
lea eax, [ebp - 0xa58]
push eax
push 1
push 0
push str.ApplicationIcon
push dword [ebp - 0x1ce4]
call esi
push 0x14
push 0x418e00
push 1
push 0
push str.ApplicationName
push dword [ebp - 0x1ce4]
call esi
push 0x1a
push str.SupermiumHTM
push 1
push 0
push str..htm
push dword [ebp - 0x1cc8]
call esi
push 0x1a
push str.SupermiumHTM
push 1
push 0
push str..html
push dword [ebp - 0x1cc8]
call esi
push 0x1a
push str.SupermiumHTM
push 1
push 0
push str..pdf
push dword [ebp - 0x1cc8]
call esi
push 0x1a
push str.SupermiumHTM
push 1
push 0
push str..shtml
push dword [ebp - 0x1cc8]
call esi
push 0x1a
push str.SupermiumHTM
push 1
push 0
push str..svg
push dword [ebp - 0x1cc8]
call esi
push 0x1a
push str.SupermiumHTM
push 1
push 0
push str..webp
push dword [ebp - 0x1cc8]
call esi
push 0x1a
push str.SupermiumHTM
push 1
push 0
push str..xht
push dword [ebp - 0x1cc8]
call esi
push 0x1a
push str.SupermiumHTM
push 1
push 0
push str..xhtml
push dword [ebp - 0x1cc8]
call esi
push 0x12
push str.Supemium
push 1
push 0
push str.StartMenuInternet
push dword [ebp - 0x1cf0]
call esi
push 0x1a
push str.SupermiumHTM
push 1
push 0
push str.http
push dword [ebp - 0x1cc4]
call esi
push 0x1a
push str.SupermiumHTM
push 1
push 0
push str.https
push dword [ebp - 0x1cc4]
call esi
push 0x1a
push str.SupermiumHTM
push 1
push 0
push 0x4196c4
push dword [ebp - 0x1cc4]
call esi
push 0x1a
push str.SupermiumHTM
push 1
push 0
push str.mailto
push dword [ebp - 0x1cc4]
call esi
push 0x1a
push str.SupermiumHTM
push 1
push 0
push 0x4196dc
push dword [ebp - 0x1cc4]
call esi
push 0x1a
push str.SupermiumHTM
push 1
push 0
push str.news
push dword [ebp - 0x1cc4]
call esi
push 0x1a
push str.SupermiumHTM
push 1
push 0
push str.nntp
push dword [ebp - 0x1cc4]
call esi
push 0x1a
push str.SupermiumHTM
push 1
push 0
push 0x4196fc
push dword [ebp - 0x1cc4]
call esi
push 0x1a
push str.SupermiumHTM
push 1
push 0
push str.smsto
push dword [ebp - 0x1cc4]
call esi
push 0x1a
push str.SupermiumHTM
push 1
push 0
push str.snews
push dword [ebp - 0x1cc4]
call esi
push 0x1a
push str.SupermiumHTM
push 1
push 0
push 0x41971c
push dword [ebp - 0x1cc4]
call esi
push 0x1a
push str.SupermiumHTM
push 1
push 0
push 0x419724
push dword [ebp - 0x1cc4]
call esi
push 0x1a
push str.SupermiumHTM
push 1
push 0
push str.webcal
push dword [ebp - 0x1cc4]
call esi
lea eax, [ebp - 0x1ccc]
push eax
push str.SOFTWAREClientsStartMenuInternetSupemiumInstallInfo
push 0x80000002
call dword [sym.imp.ADVAPI32.dll_RegCreateKeyW]
lea ecx, [ebp - 0x1070]
lea edx, [ecx + 2]
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x404fd3
sub ecx, edx
sar ecx, 1
lea eax, [ecx + ecx]
push eax
lea eax, [ebp - 0x1070]
push eax
push 1
push 0
push str.HideIconsCommand
push dword [ebp - 0x1ccc]
call esi
lea ecx, [ebp - 0x1478]
lea edx, [ecx + 2]
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x405007
sub ecx, edx
sar ecx, 1
lea eax, [ecx + ecx]
push eax
lea eax, [ebp - 0x1478]
push eax
push 1
push 0
push str.ShowIconsCommand
push dword [ebp - 0x1ccc]
call esi
lea ecx, [ebp - 0x1880]
lea edx, [ecx + 2]
nop dword [eax + eax]
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x405040
sub ecx, edx
sar ecx, 1
lea eax, [ecx + ecx]
push eax
lea eax, [ebp - 0x1880]
push eax
push 1
push 0
push str.ReinstallCommand
push dword [ebp - 0x1ccc]
call esi
push 4
lea eax, [ebp - 0x1ce8]
push eax
push 4
push 0
push str.IconsVisible
push dword [ebp - 0x1ccc]
call esi
mov esi, dword [sym.imp.USER32.dll_SendMessageW]
push 0
push 0x46
push 0x402
push dword [0x41d388]
call esi
cmp dword [ebx + 8], 0
je 0x40512d
push 0x104
lea eax, [ebp - 0x248]
push eax
call dword [sym.imp.KERNEL32.dll_GetWindowsDirectoryW]
mov ecx, 0x82
lea eax, [ebp - 0x248]
cmp word [eax], 0
je 0x4050d1
add eax, 2
sub ecx, 1
jne 0x4050c3
test ecx, ecx
je 0x40510c
mov edx, ecx
lea eax, [ecx - 0x82]
neg edx
push ecx
sbb edx, edx
and edx, eax
mov eax, 0x82
sub eax, ecx
add edx, 0x82
push str.FontsNotoEmoji.ttf
push ecx
add eax, eax
neg ecx
sbb ecx, ecx
and ecx, eax
lea eax, [ebp - 0x248]
add ecx, eax
call fcn.004011b0
push 2
lea eax, [ebp - 0x248]
push eax
push str.NotoEmoji.ttf
call dword [sym.imp.KERNEL32.dll_MoveFileExW]
lea eax, [ebp - 0x248]
push eax
call dword [sym.imp.GDI32.dll_AddFontResourceW]
push 0
push 0x55
push 0x402
push dword [0x41d388]
call esi
cmp dword [ebx + 0xc], 0
je 0x40523f
push 0
call dword [sym.imp.ole32.dll_CoInitialize]
test eax, eax
js 0x40523f
lea eax, [ebp - 0x1cd0]
push eax
push 0x414200
push 1
push 0
push 0x414220
call dword [sym.imp.ole32.dll_CoCreateInstance]
test eax, eax
js 0x405239
push ecx
push edi
push ecx
mov edx, 0x82
lea ecx, [ebp - 0x1a88]
call fcn.004011b0
push str.chrome.exe
mov edx, 0x104
lea ecx, [ebp - 0x1a88]
call fcn.00401140
mov eax, dword [ebp - 0x1cd0]
lea edx, [ebp - 0x1a88]
push edx
push eax
mov ecx, dword [eax]
call dword [ecx + 0x50]
mov eax, dword [ebp - 0x1cd0]
push str.Supermium_Web_Browser
push eax
mov ecx, dword [eax]
call dword [ecx + 0x1c]
mov eax, dword [ebp - 0x1cd0]
lea edx, [ebp - 0x1cd4]
push edx
push 0x414210
push eax
mov ecx, dword [eax]
call dword [ecx]
test eax, eax
js 0x40522d
lea eax, [ebp - 0x1c90]
push eax
push 0
push 0
push 0x10
push 0
call dword [sym.imp.SHELL32.dll_SHGetFolderPathW]
push str.Supermium.lnk
mov edx, 0x104
lea ecx, [ebp - 0x1c90]
call fcn.00401140
mov eax, dword [ebp - 0x1cd4]
lea edx, [ebp - 0x1c90]
push 1
push edx
push eax
mov ecx, dword [eax]
call dword [ecx + 0x18]
mov eax, dword [ebp - 0x1cd4]
push eax
mov ecx, dword [eax]
call dword [ecx + 8]
mov eax, dword [ebp - 0x1cd0]
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 [0x41d388]
call esi
mov eax, 1
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
mov ecx, dword [ebp - 0x14]
xor ecx, ebp
call fcn.004065a5
mov esp, ebp
pop ebp
mov esp, ebx
pop ebx
ret
call fcn.00409acc
int3