Function at 0xc50e3f
Capabilities:
Check if file exists
Copy file
Delete file
Query or enumerate registry value
Write file on windows

Disassembly:
push 0x99c
mov eax, 0xb071e9
call fcn.00af8e2b
mov byte [ebp - 0x97b], dl
mov edi, ecx
test byte [0xc96fc1], 0x20
je 0xc50e78
lea eax, [ebp - 0x958]
mov edx, 0xa14ad0
push eax
push 1
push ecx
mov ecx, 0xc933f0
call fcn.00a4d1e0
push 0x82
lea eax, [ebp - 0x118]
xor ebx, ebx
push eax
push 2
push 0xa26728
mov edx, 0x9f3d98
mov byte [ebp - 0x97a], bl
mov ecx, reloc.OLEAUT32.dll_SysReAllocString
mov byte [ebp - 0x979], bl
call fcn.00aac1c5
test eax, eax
js 0xc511c5
mov byte [ebp - 0x97a], 1
mov dword [ebp - 0x994], ebx
mov dword [ebp - 0x990], ebx
mov dword [ebp - 0x98c], ebx
mov dword [ebp - 4], ebx
mov dword [ebp - 0x9a0], ebx
mov dword [ebp - 0x99c], ebx
mov dword [ebp - 0x998], ebx
lea ecx, [ebp - 0x9a0]
mov byte [ebp - 4], 1
call fcn.00a4539d
or esi, 0xffffffff
lea ecx, [ebp - 0x994]
mov dword [ebp - 0x99c], esi
mov dword [ebp - 0x998], esi
call fcn.00a4539d
lea eax, [ebp - 0x9a0]
mov dword [ebp - 0x990], esi
push eax
lea edx, [ebp - 0x994]
mov dword [ebp - 0x98c], esi
lea ecx, [ebp - 0x118]
call fcn.00a9b16a
test eax, eax
js 0xc511af
mov dword [ebp - 0x988], ebx
mov dword [ebp - 0x984], ebx
mov dword [ebp - 0x980], ebx
lea ecx, [ebp - 0x988]
mov byte [ebp - 4], 2
call fcn.00a4539d
mov ecx, dword [ebp - 0x994]
lea eax, [ebp - 0x988]
push eax
mov dword [ebp - 0x984], esi
mov dword [ebp - 0x980], esi
call fcn.00c7ac81
test eax, eax
js 0xc511a4
lea eax, [ebp - 0x9a4]
mov byte [ebp - 0x979], 1
push eax
lea eax, [ebp - 0x978]
mov dword [ebp - 0x9a4], 0x10
push eax
push ebx
push 8
push 0xa2670c
push 0x9f3758
push reloc.OLEAUT32.dll_SysReAllocString
call dword [sym.imp.api_ms_win_shcore_registry_l1_1_0.dll_SHRegGetValueW]
test eax, eax
jle 0xc50fbd
movzx eax, ax
or eax, 0x80070000
mov esi, 0x9f6984
test eax, eax
jns 0xc50fd0
mov edx, 0xf11
jmp 0xc51054
push 0xa26780
push dword [ebp - 0x988]
lea eax, [ebp - 0x320]
push 0x104
push eax
call dword [sym.imp.api_ms_win_core_path_l1_1_0.dll_PathCchCombine]
test eax, eax
jns 0xc50ff8
mov edx, 0xf15
jmp 0xc51054
lea eax, [ebp - 0x320]
push eax
call dword [sym.imp.api_ms_win_core_shlwapi_legacy_l1_1_0.dll_PathFileExistsW]
test eax, eax
jne 0xc510c3
push ebx
push 0x80
push 2
push ebx
push ebx
push 0x40000000
lea eax, [ebp - 0x320]
push eax
call dword [sym.imp.api_ms_win_core_file_l1_1_0.dll_CreateFileW]
mov esi, eax
cmp esi, 0xffffffff
jne 0xc51044
call dword [sym.imp.api_ms_win_core_errorhandling_l1_1_0.dll_GetLastError]
test eax, eax
jle 0xc51048
movzx eax, ax
or eax, 0x80070000
jmp 0xc51046
mov eax, ebx
test eax, eax
jns 0xc51060
mov esi, 0x9f6984
mov edx, 0xf1a
mov ecx, dword [ebp + 4]
push eax
push esi
call fcn.00ab606d
jmp 0xc510c3
push ebx
lea eax, [ebp - 0x9a8]
push eax
push 0x10
lea eax, [ebp - 0x978]
push eax
push esi
call dword [sym.imp.api_ms_win_core_file_l1_1_0.dll_WriteFile]
test eax, eax
jne 0xc510b7
call dword [sym.imp.api_ms_win_core_errorhandling_l1_1_0.dll_GetLastError]
test eax, eax
jle 0xc51090
movzx eax, ax
or eax, 0x80070000
test eax, eax
js 0xc51097
mov eax, 0x80004005
mov ecx, dword [ebp + 4]
mov edx, 0xf1d
push eax
push 0x9f6984
call fcn.00ab606d
lea eax, [ebp - 0x320]
push eax
call dword [sym.imp.api_ms_win_core_file_l1_1_0.dll_DeleteFileW]
push esi
call dword [sym.imp.api_ms_win_core_handle_l1_1_0.dll_CloseHandle]
mov esi, 0x9f6984
push 0x104
lea eax, [ebp - 0x528]
push eax
push 0xa26740
call dword [sym.imp.api_ms_win_core_shlwapi_legacy_l1_1_0.dll_SHExpandEnvironmentStringsW]
test eax, eax
jne 0xc510f1
mov ecx, dword [ebp + 4]
mov edx, 0xf2a
push esi
call fcn.00b6203c
jmp 0xc511a4
mov dword [ebp - 0x944], 0xa267c0
mov dword [ebp - 0x940], 0xa267a0
mov dword [ebp - 0x93c], 0xa267fc
push dword [ebp + ebx*4 - 0x944]
lea eax, [ebp - 0x528]
push eax
push 0x104
lea eax, [ebp - 0x938]
push eax
call dword [sym.imp.api_ms_win_core_path_l1_1_0.dll_PathCchCombine]
mov esi, eax
test esi, esi
jns 0xc5114c
mov ecx, dword [ebp + 4]
mov edx, 0xf30
push esi
push 0x9f6984
call fcn.00ab606d
test esi, esi
js 0xc5119a
push dword [ebp + ebx*4 - 0x944]
lea eax, [ebp - 0x730]
push dword [ebp - 0x988]
push 0x104
push eax
call dword [sym.imp.api_ms_win_core_path_l1_1_0.dll_PathCchCombine]
test eax, eax
jns 0xc51184
mov ecx, dword [ebp + 4]
mov edx, 0xf33
push eax
push 0x9f6984
call fcn.00ab606d
jmp 0xc5119a
push 1
lea eax, [ebp - 0x730]
push eax
lea eax, [ebp - 0x938]
push eax
call dword [sym.imp.api_ms_win_core_file_l2_1_2.dll_CopyFileW]
inc ebx
cmp ebx, 3
jb 0xc5110f
lea ecx, [ebp - 0x988]
call fcn.00a4539d
lea ecx, [ebp - 0x9a0]
call fcn.00a4539d
lea ecx, [ebp - 0x994]
call fcn.00a4539d
cmp byte [ebp - 0x97b], 0
je 0xc511e3
lea eax, [ebp - 0x979]
mov ecx, edi
push eax
lea eax, [ebp - 0x97a]
push eax
call fcn.00c17e7c
test byte [0xc96fc1], 0x20
je 0xc51205
lea eax, [ebp - 0x968]
mov edx, 0xa14ab0
push eax
push 1
push ecx
mov ecx, 0xc933f0
call fcn.00a4d1e0
call fcn.00af8dd5
ret