Function at 0x486ee6
Capabilities:
Check os version
Delete file
Get common file path
Move file

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x4a7732
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
mov eax, 0x1300
call sub.ntdll.dll__chkstk
push 1
lea ecx, [ebp - 0x1260]
call fcn.00416dd0
mov dword [ebp - 4], 0
mov dword [ebp - 0x1300], 0
lea ecx, [ebp - 0x12fc]
call fcn.00489d6d
mov byte [ebp - 4], 1
mov dword [ebp - 0x4e0], 0xea60
mov dword [ebp - 0x10], 0
push 0x104
lea eax, [ebp - 0x60c]
push eax
call dword [sym.imp.KERNEL32.dll_GetSystemDirectoryA]
mov dword [ebp - 0x12f4], 0x94
lea ecx, [ebp - 0x12f4]
push ecx
call dword [sym.imp.KERNEL32.dll_GetVersionExA]
test eax, eax
je 0x486fe0
cmp dword [ebp - 0x12f0], 5
jne 0x486fa7
cmp dword [ebp - 0x12ec], 0
jne 0x486fa7
lea edx, [ebp - 0x60c]
push edx
push 0x53b9e0
push 0x104
lea eax, [ebp - 0x2d4]
push eax
call fcn.0040a2c0
add esp, 0x10
jmp 0x486fde
cmp dword [ebp - 0x12f0], 5
jne 0x486fd2
lea ecx, [ebp - 0x60c]
push ecx
push 0x53b9ec
push 0x104
lea edx, [ebp - 0x2d4]
push edx
call fcn.0040a2c0
add esp, 0x10
jmp 0x486fde
mov dword [ebp - 0x10], 6
jmp 0x4872fe
jmp 0x486fec
mov dword [ebp - 0x10], 6
jmp 0x4872fe
mov dword [ebp - 0x1304], 0
lea eax, [ebp - 0x1304]
push eax
lea ecx, [ebp - 0x2d4]
push ecx
lea ecx, [ebp - 0x1260]
call fcn.00416ee0
lea edx, [ebp - 0x1260]
push edx
call fcn.00484a09
add esp, 4
lea eax, [ebp - 0x1260]
push eax
call fcn.00484be4
add esp, 4
test eax, eax
je 0x48703d
mov dword [ebp - 0x10], 6
jmp 0x4872fe
lea ecx, [ebp - 0x1260]
push ecx
call fcn.004874a3
add esp, 4
test eax, eax
je 0x487086
mov dword [ebp - 0x1308], 6
mov byte [ebp - 4], 0
lea ecx, [ebp - 0x12fc]
call fcn.00489d84
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x1260]
call fcn.00416e60
mov eax, dword [ebp - 0x1308]
jmp 0x48733d
lea edx, [ebp - 0x2c]
push edx
lea eax, [ebp - 0x2d4]
push eax
lea ecx, [ebp - 0x1260]
call fcn.004895c0
and eax, 0xff
test eax, eax
jne 0x4870b1
mov dword [ebp - 0x10], 6
jmp 0x4872fe
cmp dword [ebp - 0x16c], 0
jne 0x4870c3
cmp dword [ebp - 0x154], 0
je 0x4870cf
mov dword [ebp - 0x10], 6
jmp 0x4872fe
cmp dword [ebp - 0x164], 0
jne 0x4870e4
mov dword [ebp - 0x10], 6
jmp 0x4872fe
push 0x5c
lea ecx, [ebp - 0x2d4]
push ecx
call dword [sym.imp.ntdll.dll_strrchr]
add esp, 8
mov dword [ebp - 0x28], eax
cmp dword [ebp - 0x28], 0
jne 0x48710b
mov dword [ebp - 0x10], 6
jmp 0x4872fe
mov edx, dword [ebp - 0x28]
add edx, 1
mov dword [ebp - 0x28], edx
push 0x53b9fc
push 0x104
lea eax, [ebp - 0x3d8]
push eax
call fcn.00409190
mov ecx, dword [ebp - 0x28]
push ecx
push 0x104
lea edx, [ebp - 0x3d8]
push edx
call fcn.00408090
push 0x53ba00
push 0x104
lea eax, [ebp - 0x3d8]
push eax
call fcn.00408090
lea ecx, [ebp - 0x3d8]
push ecx
call dword [0x542978]
mov edx, 1
test edx, edx
je 0x4871d8
mov eax, dword [ebp - 0x4e0]
push eax
lea ecx, [ebp - 0x3d8]
push ecx
mov edx, dword [ebp - 0x164]
mov eax, dword [edx]
push eax
call fcn.0048a861
add esp, 0xc
mov dword [ebp - 0x4e4], eax
cmp dword [ebp - 0x4e4], 0
je 0x4871d8
cmp dword [ebp - 0x1300], 3
jge 0x4871cc
mov ecx, dword [ebp - 0x1300]
add ecx, 1
mov dword [ebp - 0x1300], ecx
mov edx, dword [ebp - 0x4e0]
shl edx, 1
mov dword [ebp - 0x4e0], edx
push 0x3e8
call dword [sym.imp.KERNEL32.dll_Sleep]
jmp 0x487162
mov dword [ebp - 0x10], 6
jmp 0x4872fe
push 0
lea eax, [ebp - 0x24]
push eax
lea ecx, [ebp - 0x3d8]
push ecx
call fcn.0042a2f3
add esp, 0xc
test eax, eax
jne 0x4871fd
mov dword [ebp - 0x10], 6
jmp 0x4872fe
lea edx, [ebp - 0x508]
push edx
lea eax, [ebp - 0x24]
push eax
call fcn.00486e66
add esp, 8
lea ecx, [ebp - 0x508]
push ecx
mov edx, dword [ebp - 0x164]
add edx, 4
push edx
call dword [sym.imp.KERNEL32.dll_lstrcmpiA]
test eax, eax
je 0x487237
mov dword [ebp - 0x10], 6
jmp 0x4872fe
mov eax, dword [ebp - 0x28]
push eax
push str.._s
push 0x104
mov ecx, dword [ebp + 8]
push ecx
call fcn.0040a2c0
add esp, 0x10
mov edx, dword [ebp + 8]
push edx
call fcn.0042ae0a
add esp, 4
test eax, eax
je 0x4872cd
mov eax, 1
test eax, eax
je 0x4872cd
call dword [sym.imp.MSVCRT.dll_rand]
mov dword [ebp - 0x14], eax
mov ecx, dword [ebp - 0x14]
push ecx
mov edx, dword [ebp + 8]
push edx
push str.._s._d
push 0x104
lea eax, [ebp - 0x4dc]
push eax
call fcn.0040a2c0
add esp, 0x14
lea ecx, [ebp - 0x4dc]
push ecx
call fcn.0042ae0a
add esp, 4
test eax, eax
je 0x4872a9
jmp 0x487261
push 1
lea edx, [ebp - 0x4dc]
push edx
mov eax, dword [ebp + 8]
push eax
call dword [sym.imp.KERNEL32.dll_MoveFileExA]
push 4
push 0
lea ecx, [ebp - 0x4dc]
push ecx
call dword [sym.imp.KERNEL32.dll_MoveFileExA]
push 0x53ba18
lea edx, [ebp - 0x3d8]
push edx
lea ecx, [ebp - 0x12fc]
call fcn.0048a0ca
test eax, eax
je 0x4872f7
lea eax, [ebp - 0x3d8]
push eax
call dword [0x542978]
jmp 0x4872fe
mov dword [ebp - 0x10], 6
lea ecx, [ebp - 0x1260]
push ecx
call fcn.0048734b
add esp, 4
mov edx, dword [ebp - 0x10]
mov dword [ebp - 0x130c], edx
mov byte [ebp - 4], 0
lea ecx, [ebp - 0x12fc]
call fcn.00489d84
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x1260]
call fcn.00416e60
mov eax, dword [ebp - 0x130c]
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
mov esp, ebp
pop ebp
ret