Function at 0x430a40
Capabilities:
Check if file exists
Copy file
Create process on windows
Delete file
Get common file path
Get program files directory
Write and execute a file
Write file on windows

Disassembly:
push 0xffffffffffffffff
push 0x46e5fb
mov eax, dword fs:[0]
push eax
sub esp, 0x418
mov eax, dword [0x483390]
xor eax, esp
mov dword [esp + 0x414], eax
push ebx
push ebp
push esi
push edi
mov eax, dword [0x483390]
xor eax, esp
push eax
lea eax, [esp + 0x42c]
mov dword fs:[0], eax
push str.CRsFighting::ModifyInstallPathAccessRight
push 0x473ab0
push 0x80
call fcn.0040c5c0
xor ebx, ebx
push 0x103
lea eax, [esp + 0x12d]
push ebx
push eax
mov byte [esp + 0x134], bl
call fcn.00446e10
add esp, 0x18
push 1
push 0x26
lea ecx, [esp + 0x124]
push ecx
push ebx
call dword [sym.imp.SHELL32.dll_SHGetSpecialFolderPathA]
lea eax, [esp + 0x11c]
or ebp, 0xffffffff
add eax, ebp
lea ecx, [ecx]
mov cl, byte [eax + 1]
inc eax
cmp cl, bl
jne 0x430ad0
mov edx, dword [str.Rising]
mov ecx, dword [0x476354]
mov dword [eax], edx
lea edx, [esp + 0x11c]
push edx
mov dword [eax + 4], ecx
call dword [sym.imp.SHLWAPI.dll_PathFileExistsA]
test eax, eax
je 0x430bda
push 0x103
lea eax, [esp + 0x329]
push ebx
push eax
mov byte [esp + 0x330], bl
call fcn.00446e10
push 0x103
lea ecx, [esp + 0x29]
push ebx
push ecx
mov byte [esp + 0x30], bl
call fcn.00446e10
lea eax, [esp + 0x134]
add esp, 0x18
mov ecx, eax
lea esp, [esp]
mov dl, byte [eax]
inc eax
cmp dl, bl
jne 0x430b40
lea edi, [esp + 0x18]
sub eax, ecx
mov esi, ecx
add edi, ebp
mov cl, byte [edi + 1]
inc edi
cmp cl, bl
jne 0x430b51
mov ecx, eax
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
and ecx, 3
lea eax, [esp + 0x18]
rep movsb byte es:[edi], byte [esi]
add eax, ebp
lea ecx, [ecx]
mov cl, byte [eax + 1]
inc eax
cmp cl, bl
jne 0x430b70
mov edx, dword [str._rapdown.exe]
mov ecx, dword [0x4764bc]
mov dword [eax], edx
mov edx, dword [0x4764c0]
mov dword [eax + 4], ecx
mov cl, byte [0x4764c4]
mov dword [eax + 8], edx
push 0x104
lea edx, [esp + 0x328]
push edx
push ebx
mov byte [eax + 0xc], cl
call dword [sym.imp.KERNEL32.dll_GetModuleFileNameA]
push ebx
lea eax, [esp + 0x1c]
push eax
lea ecx, [esp + 0x32c]
push ecx
call dword [sym.imp.KERNEL32.dll_CopyFileA]
mov esi, eax
call dword [sym.imp.KERNEL32.dll_GetLastError]
cmp esi, ebx
je 0x430c07
lea edx, [esp + 0x18]
push edx
call dword [sym.imp.KERNEL32.dll_DeleteFileA]
mov eax, 1
mov ecx, dword [esp + 0x42c]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebp
pop ebx
mov ecx, dword [esp + 0x414]
xor ecx, esp
call fcn.004426a0
add esp, 0x424
ret
mov eax, dword [0x4863c4]
mov edx, dword [eax + 0xc]
mov ecx, 0x4863c4
call edx
add eax, 0x10
mov dword [esp + 0x14], eax
lea eax, [esp + 0x11c]
push eax
push str.echo_Ycacls___s___t__p_everyone:f
lea edi, [esp + 0x1c]
mov dword [esp + 0x43c], ebx
call fcn.004035e0
push 0x103
lea ecx, [esp + 0x22d]
push ebx
push ecx
mov byte [esp + 0x234], bl
call fcn.00446e10
add esp, 0x14
lea edx, [esp + 0x220]
push edx
push 0x104
call dword [sym.imp.KERNEL32.dll_GetTempPathA]
lea eax, [esp + 0x220]
add eax, ebp
mov cl, byte [eax + 1]
inc eax
cmp cl, bl
jne 0x430c73
mov ecx, dword [str.modify.bat]
mov edx, dword [0x4764f0]
mov dword [eax], ecx
mov ecx, dword [0x4764f4]
mov dword [eax + 4], edx
lea edx, [esp + 0x220]
push 0x473f84
push edx
mov dword [eax + 8], ecx
call fcn.00443d09
mov esi, dword [esp + 0x1c]
mov edi, eax
add esp, 8
cmp edi, ebx
je 0x430cfd
cmp dword [esi - 4], 1
mov ebp, dword [esi - 0xc]
jle 0x430cce
mov eax, ebp
push eax
lea ecx, [esp + 0x18]
push ecx
call fcn.00403530
mov esi, dword [esp + 0x14]
push edi
push 1
push ebp
push esi
call fcn.0044603e
push edi
call fcn.00443ddd
mov eax, dword [esi - 8]
push eax
push esi
call fcn.00442f3d
add esp, 0x1c
cmp eax, ebx
jl 0x430d5d
cmp eax, dword [esi - 8]
jg 0x430d5d
mov dword [esi - 0xc], eax
mov byte [eax + esi], bl
or ebp, 0xffffffff
push ebx
lea edx, [esp + 0x224]
push edx
call dword [sym.imp.KERNEL32.dll_WinExec]
cmp eax, 0x1f
jbe 0x430d67
push ebx
lea eax, [esp + 0x1c]
push eax
lea ecx, [esp + 0x32c]
push ecx
call dword [sym.imp.KERNEL32.dll_CopyFileA]
cmp eax, ebx
je 0x430d67
lea edx, [esp + 0x18]
push edx
call dword [sym.imp.KERNEL32.dll_DeleteFileA]
lea eax, [esi - 0x10]
mov dword [esp + 0x434], ebp
lea ecx, [eax + 0xc]
lock xadd dword [ecx], ebp
dec ebp
test ebp, ebp
jg 0x430bda
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
jmp 0x430bda
push 0x80070057
call fcn.00401000
lea eax, [esi - 0x10]
mov dword [esp + 0x434], ebp
lea ecx, [eax + 0xc]
lock xadd dword [ecx], ebp
dec ebp
test ebp, ebp
jg 0x430d87
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
xor eax, eax
jmp 0x430bdf