Function at 0x4795b0
Capabilities:
Delete file
Get common file path
Write file on windows

Disassembly:
push 0x468
mov eax, 0x4d73b0
call fcn.004bed19
mov eax, dword [ebp + 8]
mov dword [ebp - 0x44c], eax
push 0x104
lea eax, [ebp - 0x218]
mov edi, ecx
mov esi, edx
xor ebx, ebx
push eax
mov dword [ebp - 0x43c], edi
mov dword [ebp - 0x438], esi
mov dword [ebp - 0x434], ebx
call dword [sym.imp.KERNEL32.dll_GetSystemDirectoryW]
push str.ASOROSet.bin
lea eax, [ebp - 0x218]
push eax
call dword [sym.imp.SHLWAPI.dll_PathAppendW]
push ebx
push 0x80
push 2
push ebx
push ebx
push 0x40000000
lea eax, [ebp - 0x218]
push eax
call dword [sym.imp.KERNEL32.dll_CreateFileW]
mov dword [ebp - 0x428], eax
cmp eax, 0xffffffff
jne 0x479668
lea eax, [ebp - 0x424]
push eax
xor ecx, ecx
call fcn.0047a096
mov dword [ebp - 4], 3
push dword [eax]
add edi, 8
push str.Install_failed__r_nFailed_to_create_parameter_file2._r_n_s
push edi
call fcn.00402967
mov ecx, dword [ebp - 0x424]
add esp, 0xc
add ecx, 0xfffffff0
call fcn.004027b0
xor eax, eax
jmp 0x4798f3
mov eax, dword [esi + 8]
mov dword [ebp - 0x448], eax
call fcn.004729c0
push ebx
mov ebx, dword [sym.imp.KERNEL32.dll_WriteFile]
mov dword [ebp - 0x444], eax
lea eax, [ebp - 0x434]
push eax
push 0xc
lea eax, [ebp - 0x448]
push eax
push dword [ebp - 0x428]
mov dword [ebp - 0x440], 2
call ebx
xor ecx, ecx
mov dword [ebp - 0x42c], eax
cmp eax, ecx
jne 0x4796f6
lea eax, [ebp - 0x424]
push eax
call fcn.0047a096
mov dword [ebp - 4], 4
push dword [eax]
add edi, 8
push str.Install_failed__r_nError_during_file_write._r_n_s
push edi
call fcn.00402967
mov ecx, dword [ebp - 0x424]
add esp, 0xc
add ecx, 0xfffffff0
call fcn.004027b0
push dword [ebp - 0x428]
call dword [sym.imp.KERNEL32.dll_CloseHandle]
jmp 0x479661
mov dword [ebp - 0x424], ecx
cmp dword [ebp - 0x448], ecx
jbe 0x47982a
mov dword [ebp - 0x430], ecx
jmp 0x479716
mov esi, dword [ebp - 0x438]
cmp dword [ebp - 0x430], 0
jl 0x47990b
mov eax, dword [ebp - 0x424]
cmp eax, dword [esi + 8]
jge 0x47990b
mov edi, dword [esi + 4]
add edi, dword [ebp - 0x430]
lea eax, [ebp - 0x464]
push eax
call fcn.004789e1
mov eax, dword [ebp - 0x454]
mov dword [ebp - 0x46c], eax
mov eax, dword [ebp - 0x458]
mov dword [ebp - 0x468], eax
mov eax, dword [ebp - 0x460]
mov eax, dword [eax - 0xc]
mov dword [ebp - 0x470], eax
mov eax, dword [ebp - 0x464]
mov eax, dword [eax - 0xc]
mov dword [ebp - 0x474], eax
xor esi, esi
push esi
lea eax, [ebp - 0x434]
push eax
push 0x10
lea eax, [ebp - 0x474]
push eax
push dword [ebp - 0x428]
call ebx
mov dword [ebp - 0x42c], eax
cmp eax, esi
je 0x4798fb
push esi
lea eax, [ebp - 0x434]
push eax
mov eax, dword [ebp - 0x474]
add eax, eax
push eax
push dword [ebp - 0x464]
push dword [ebp - 0x428]
call ebx
mov dword [ebp - 0x42c], eax
cmp eax, esi
je 0x4798fb
push esi
lea eax, [ebp - 0x434]
push eax
mov eax, dword [ebp - 0x470]
add eax, eax
push eax
push dword [ebp - 0x460]
push dword [ebp - 0x428]
call ebx
cmp eax, esi
mov dword [ebp - 0x42c], eax
lea esi, [ebp - 0x464]
je 0x479901
call fcn.00479590
inc dword [ebp - 0x424]
mov eax, dword [ebp - 0x424]
add dword [ebp - 0x430], 0x18
cmp eax, dword [ebp - 0x448]
jb 0x479710
push dword [ebp - 0x428]
call dword [sym.imp.KERNEL32.dll_CloseHandle]
cmp dword [ebp - 0x42c], 0
jne 0x47988c
lea eax, [ebp - 0x438]
push eax
xor ecx, ecx
call fcn.0047a096
mov dword [ebp - 4], 5
push dword [eax]
mov eax, dword [ebp - 0x43c]
add eax, 8
push str.Install_failed__r_nError_during_file_write._r_n_s
push eax
call fcn.00402967
or dword [ebp - 4], 0xffffffff
mov ecx, dword [ebp - 0x438]
add esp, 0xc
add ecx, 0xfffffff0
call fcn.004027b0
lea eax, [ebp - 0x218]
push eax
call dword [sym.imp.KERNEL32.dll_DeleteFileW]
xor eax, eax
movzx ecx, word [eax + 0x551210]
mov word [ebp + eax - 0x420], cx
inc eax
inc eax
test cx, cx
jne 0x47988e
lea eax, [ebp - 0x218]
mov edx, eax
mov cx, word [eax]
inc eax
inc eax
test cx, cx
jne 0x4798ac
sub eax, edx
lea edi, [ebp - 0x420]
dec edi
dec edi
mov cx, word [edi + 2]
inc edi
inc edi
test cx, cx
jne 0x4798c0
mov ecx, eax
shr ecx, 2
mov esi, edx
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
and ecx, 3
lea eax, [ebp - 0x420]
rep movsb byte es:[edi], byte [esi]
mov ecx, dword [ebp - 0x44c]
push eax
call fcn.004026bd
mov eax, dword [ebp - 0x42c]
call fcn.004bed9c
ret 4
lea esi, [ebp - 0x464]
call fcn.00479590
jmp 0x47982a
call fcn.004998d4
int3