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

Disassembly:
push 0x468
mov eax, 0x4d5570
call fcn.004b6799
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 0x4657be
lea eax, [ebp - 0x424]
push eax
xor ecx, ecx
call fcn.004661ec
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.00402a07
mov ecx, dword [ebp - 0x424]
add esp, 0xc
add ecx, 0xfffffff0
call fcn.00402845
xor eax, eax
jmp 0x465a49
mov eax, dword [esi + 8]
mov dword [ebp - 0x448], eax
call fcn.0045c16c
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 0x46584c
lea eax, [ebp - 0x424]
push eax
call fcn.004661ec
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.00402a07
mov ecx, dword [ebp - 0x424]
add esp, 0xc
add ecx, 0xfffffff0
call fcn.00402845
push dword [ebp - 0x428]
call dword [sym.imp.KERNEL32.dll_CloseHandle]
jmp 0x4657b7
mov dword [ebp - 0x424], ecx
cmp dword [ebp - 0x448], ecx
jbe 0x465980
mov dword [ebp - 0x430], ecx
jmp 0x46586c
mov esi, dword [ebp - 0x438]
cmp dword [ebp - 0x430], 0
jl 0x465a61
mov eax, dword [ebp - 0x424]
cmp eax, dword [esi + 8]
jge 0x465a61
mov edi, dword [esi + 4]
add edi, dword [ebp - 0x430]
lea eax, [ebp - 0x464]
push eax
call fcn.00464b2d
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 0x465a51
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 0x465a51
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 0x465a57
call fcn.004656e6
inc dword [ebp - 0x424]
mov eax, dword [ebp - 0x424]
add dword [ebp - 0x430], 0x18
cmp eax, dword [ebp - 0x448]
jb 0x465866
push dword [ebp - 0x428]
call dword [sym.imp.KERNEL32.dll_CloseHandle]
cmp dword [ebp - 0x42c], 0
jne 0x4659e2
lea eax, [ebp - 0x438]
push eax
xor ecx, ecx
call fcn.004661ec
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.00402a07
or dword [ebp - 4], 0xffffffff
mov ecx, dword [ebp - 0x438]
add esp, 0xc
add ecx, 0xfffffff0
call fcn.00402845
lea eax, [ebp - 0x218]
push eax
call dword [sym.imp.KERNEL32.dll_DeleteFileW]
xor eax, eax
movzx ecx, word [eax + 0x543478]
mov word [ebp + eax - 0x420], cx
inc eax
inc eax
test cx, cx
jne 0x4659e4
lea eax, [ebp - 0x218]
mov edx, eax
mov cx, word [eax]
inc eax
inc eax
test cx, cx
jne 0x465a02
sub eax, edx
lea edi, [ebp - 0x420]
dec edi
dec edi
mov cx, word [edi + 2]
inc edi
inc edi
test cx, cx
jne 0x465a16
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.0040272d
mov eax, dword [ebp - 0x42c]
call fcn.004b681c
ret 4
lea esi, [ebp - 0x464]
call fcn.004656e6
jmp 0x465980
call fcn.004920bc
int3