Function at 0x40d280
Capabilities:
Check os version
Copy file
Delete file
Hide graphical window
Set file attributes

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x4f8
mov eax, dword [0x4b6e40]
xor eax, ebp
mov dword [ebp - 4], eax
push ebx
mov ebx, dword [ebp + 8]
push esi
push edi
push 0x9c
lea eax, [ebp - 0x488]
push 0
push eax
mov dword [ebp - 0x4c8], ebx
call fcn.0041c510
add esp, 0xc
lea eax, [ebp - 0x488]
push eax
mov dword [ebp - 0x488], 0x9c
call dword [sym.imp.KERNEL32.dll_GetVersionExA]
mov ecx, dword [ebp - 0x484]
mov eax, dword [ebp - 0x480]
cmp ecx, 6
jb 0x40d412
cmp eax, 1
jae 0x40d305
cmp ecx, 6
jne 0x40d412
test eax, eax
jne 0x40d412
cmp word [ebp - 0x3f4], 2
jne 0x40d412
push 0
push 0
call fcn.0040128a
push eax
push str._s_smsign_new.exe
lea eax, [ebp - 0x324]
push 0xc8
push eax
call fcn.0041c5d0
lea eax, [ebp - 0x324]
push 0x495ff1
push eax
call fcn.00401a8c
add esp, 0x20
test eax, eax
jle 0x40d51d
push 0
push 0
call fcn.0040128a
push eax
push str._s_smsign.exe
lea eax, [ebp - 0x194]
push 0xc8
push eax
call fcn.0041c5d0
push 0
push 0
call fcn.0040128a
push eax
push str._s_smsign_new.exe
lea eax, [ebp - 0xcc]
push 0xc8
push eax
call fcn.0041c5d0
push 0
push 0
call fcn.0040128a
push eax
push str._s_smsign_legacy.exe
lea eax, [ebp - 0x3ec]
push 0xc8
push eax
call fcn.0041c5d0
add esp, 0x48
push 0
push 0
call fcn.0040128a
push eax
push str._s_scrollctl_legacy.dll
lea eax, [ebp - 0x25c]
push 0xc8
push eax
call fcn.0041c5d0
add esp, 0x18
lea eax, [ebp - 0x194]
push 0x80
push eax
call dword [sym.imp.KERNEL32.dll_SetFileAttributesA]
push 0
lea eax, [ebp - 0x194]
push eax
lea eax, [ebp - 0xcc]
push eax
call dword [sym.imp.KERNEL32.dll_CopyFileA]
mov esi, dword [sym.imp.KERNEL32.dll_DeleteFileA]
lea eax, [ebp - 0xcc]
push eax
call esi
lea eax, [ebp - 0x3ec]
push eax
call esi
lea eax, [ebp - 0x25c]
jmp 0x40d51a
push 0
push 0
call fcn.0040128a
push eax
push str._s_smsign_legacy.exe
lea eax, [ebp - 0x25c]
push 0xc8
push eax
call fcn.0041c5d0
lea eax, [ebp - 0x25c]
push 0x495ff1
push eax
call fcn.00401a8c
add esp, 0x20
test eax, eax
jle 0x40d51d
push 0
push 0
call fcn.0040128a
push eax
push str._s_smsign.exe
lea eax, [ebp - 0xcc]
push 0xc8
push eax
call fcn.0041c5d0
push 0
push 0
call fcn.0040128a
push eax
push str._s_smsign_new.exe
lea eax, [ebp - 0x3ec]
push 0xc8
push eax
call fcn.0041c5d0
push 0
push 0
call fcn.0040128a
push eax
push str._s_smsign_legacy.exe
lea eax, [ebp - 0x194]
push 0xc8
push eax
call fcn.0041c5d0
add esp, 0x48
push 0
push 0
call fcn.0040128a
push eax
push str._s_scrollctl_new.dll
lea eax, [ebp - 0x324]
push 0xc8
push eax
call fcn.0041c5d0
add esp, 0x18
lea eax, [ebp - 0xcc]
push 0x80
push eax
call dword [sym.imp.KERNEL32.dll_SetFileAttributesA]
push 0
lea eax, [ebp - 0xcc]
push eax
lea eax, [ebp - 0x194]
push eax
call dword [sym.imp.KERNEL32.dll_CopyFileA]
mov esi, dword [sym.imp.KERNEL32.dll_DeleteFileA]
lea eax, [ebp - 0x3ec]
push eax
call esi
lea eax, [ebp - 0x194]
push eax
call esi
lea eax, [ebp - 0x324]
push eax
call esi
mov esi, dword [sym.imp.USER32.dll_LoadIconA]
push 0x4b6cbc
push ebx
mov dword [ebp - 0x4f8], 0x30
mov dword [ebp - 0x4f4], 3
mov dword [ebp - 0x4f0], 0x4014dd
mov dword [ebp - 0x4ec], 0
mov dword [ebp - 0x4e8], 0x1e
mov dword [ebp - 0x4e4], ebx
call esi
push 0x7f00
push 0
mov dword [ebp - 0x4e0], eax
call dword [sym.imp.USER32.dll_LoadCursorA]
push 0x4b6cbc
push ebx
mov dword [ebp - 0x4dc], eax
mov dword [ebp - 0x4d8], 5
mov dword [ebp - 0x4d4], 0
mov dword [ebp - 0x4d0], 0x49741c
call esi
mov dword [ebp - 0x4cc], eax
lea eax, [ebp - 0x4f8]
push eax
call dword [sym.imp.USER32.dll_RegisterClassExA]
mov esi, dword [sym.imp.USER32.dll_RegisterWindowMessageA]
push str._MSGNET_CLIENT_CLOSED_
call esi
push str._MSGNET_CLIENT_BANNER_SOFTWARE_VERSION_MISMATCH_
mov dword [0x4bbf90], eax
call esi
push str._MSGNET_CLIENT_BANNER_PID_NOTIFY
mov dword [0x4bbf94], eax
call esi
push 0
push 0
push 0
push 0x4b6cbc
push ebx
mov dword [0x4bbf98], eax
call dword [sym.imp.USER32.dll_CreateDialogParamA]
push 1
mov ebx, eax
push 0x417
mov dword [ebp - 0x4c4], ebx
call dword [sym.imp.USER32.dll_ChangeWindowMessageFilter]
push 0
push ebx
call dword [sym.imp.USER32.dll_ShowWindow]
push 0xa
mov dword [0x4bb198], ebx
push ebx
mov ebx, dword [sym.imp.USER32.dll_GetDlgItem]
call ebx
push eax
call dword [sym.imp.USER32.dll_GetDC]
mov edi, eax
lea eax, [ebp - 0x4c0]
push eax
push edi
call dword [sym.imp.GDI32.dll_GetTextMetricsA]
mov ecx, dword [ebp - 0x4a8]
push edi
mov edi, dword [ebp - 0x4c4]
lea ecx, [ecx + ecx*4]
shl ecx, 4
push edi
movzx esi, cx
call dword [sym.imp.USER32.dll_ReleaseDC]
movsx eax, si
push 0
push eax
push 0x194
push 0xa
push edi
call ebx
push eax
call dword [sym.imp.USER32.dll_SendMessageA]
push dword [ebp - 0x4c8]
push edi
call fcn.0040e100
mov esi, dword [0x4bb198]
add esp, 8
call fcn.0040112c
mov ecx, dword [ebp - 4]
pop edi
mov eax, esi
pop esi
xor ecx, ebp
pop ebx
call fcn.0041c3d0
mov esp, ebp
pop ebp
ret