Function at 0x180003a20
Capabilities:
Delete directory
Delete file
Get file size
Identify system language via api

Disassembly:
mov qword [rsp + 0x10], rbx
mov qword [rsp + 0x18], rsi
push rdi
sub rsp, 0x40
cmp dword [rcx + 0x18], 0
mov rbx, rcx
jne 0x180003ac5
call fcn.18004a078
mov r9d, eax
mov eax, 0x55555556
imul r9d
mov r8d, edx
shr r8d, 0x1f
add edx, r8d
lea ecx, [rdx + rdx*2]
sub r9d, ecx
mov ecx, 1
inc r9d
mov dword [rbx + 0x18], r9d
call fcn.18004421c
mov edx, dword [rbx + 0x18]
mov rdi, rax
sub edx, 1
je 0x180003aa8
sub edx, 1
je 0x180003a95
cmp edx, 1
jne 0x180003ab8
mov edx, 0x3ec0
mov rcx, rax
call fcn.1800055c0
mov qword [rbx + 0x10], rax
jmp 0x180003ab8
mov edx, 0x3ec0
mov rcx, rdi
call fcn.1800055c0
mov qword [rbx + 8], rax
jmp 0x180003ab8
mov edx, 0x3ec0
mov rcx, rdi
call fcn.1800055c0
mov qword [rbx], rax
mov edx, 1
mov rcx, rdi
call fcn.180044130
mov edx, dword [0x1800d3574]
xor esi, esi
cmp edx, 0xaf0e51a7
jne 0x180003c0c
xor edx, edx
xor ecx, ecx
call qword [sym.imp.USER32.dll_GetGUIThreadInfo]
xor r9d, r9d
xor r8d, r8d
xor edx, edx
xor ecx, ecx
call qword [sym.imp.USER32.dll_MessageBoxW]
xor r9d, r9d
xor r8d, r8d
xor edx, edx
xor ecx, ecx
call qword [sym.imp.KERNEL32.dll_CreateMutexExW]
xor r8d, r8d
xor edx, edx
xor ecx, ecx
call qword [sym.imp.KERNEL32.dll_FindResourceW]
call qword [sym.imp.USER32.dll_GetMessageTime]
xor ecx, ecx
call qword [sym.imp.USER32.dll_MessageBeep]
xor r9d, r9d
xor r8d, r8d
xor edx, edx
xor ecx, ecx
call qword [sym.imp.KERNEL32.dll_GetProcessMitigationPolicy]
mov qword [rsp + 0x38], rsi
xor r9d, r9d
mov dword [rsp + 0x30], esi
xor r8d, r8d
mov dword [rsp + 0x28], esi
xor edx, edx
xor ecx, ecx
mov dword [rsp + 0x20], esi
call qword [sym.imp.USER32.dll_DdeClientTransaction]
xor r9d, r9d
xor r8d, r8d
xor edx, edx
xor ecx, ecx
call qword [sym.imp.KERNEL32.dll_EnumSystemLocalesEx]
xor edx, edx
xor ecx, ecx
xor r8d, r8d
call qword [sym.imp.KERNEL32.dll_DosDateTimeToFileTime]
xor ecx, ecx
call qword [sym.imp.USER32.dll_WindowFromDC]
xor r8d, r8d
xor edx, edx
xor ecx, ecx
call qword [sym.imp.KERNEL32.dll_BuildCommDCBAndTimeoutsW]
xor ecx, ecx
xor r8d, r8d
xor edx, edx
call qword [sym.imp.KERNEL32.dll_GetProcessorSystemCycleTime]
xor ecx, ecx
call qword [sym.imp.KERNEL32.dll_ReleaseSRWLockShared]
call qword [sym.imp.USER32.dll_CreatePopupMenu]
xor edx, edx
xor ecx, ecx
call qword [sym.imp.KERNEL32.dll_SizeofResource]
xor ecx, ecx
call qword [sym.imp.KERNEL32.dll_FlsGetValue]
xor ecx, ecx
call qword [sym.imp.KERNEL32.dll_RemoveDirectoryW]
xor edx, edx
xor ecx, ecx
call qword [sym.imp.KERNEL32.dll_ReclaimVirtualMemory]
xor r9d, r9d
mov dword [rsp + 0x28], esi
xor r8d, r8d
mov qword [rsp + 0x20], rsi
xor edx, edx
xor ecx, ecx
call qword [sym.imp.KERNEL32.dll_OpenFileById]
xor ecx, ecx
call qword [sym.imp.KERNEL32.dll_RemoveVectoredExceptionHandler]
xor ecx, ecx
call qword [sym.imp.KERNEL32.dll_IsProcessorFeaturePresent]
xor r9d, r9d
mov qword [rsp + 0x20], rsi
xor r8d, r8d
xor edx, edx
xor ecx, ecx
call qword [sym.imp.USER32.dll_InsertMenuW]
xor ecx, ecx
call qword [sym.imp.KERNEL32.dll_DeleteFileW]
mov edx, dword [0x1800d3574]
mov ecx, dword [rbx + 0x18]
mov rdi, rsi
sub ecx, 1
je 0x180003c2d
sub ecx, 1
je 0x180003c27
cmp ecx, 1
jne 0x180003c30
mov rdi, qword [rbx + 0x10]
jmp 0x180003c30
mov rdi, qword [rbx + 8]
jmp 0x180003c30
mov rdi, qword [rbx]
cmp edx, 0xbb08ccba
jne 0x180003d9d
xor r9d, r9d
xor r8d, r8d
xor edx, edx
xor ecx, ecx
call qword [sym.imp.KERNEL32.dll_GetUserPreferredUILanguages]
xor r9d, r9d
xor r8d, r8d
xor edx, edx
xor ecx, ecx
call qword [sym.imp.USER32.dll_SendNotifyMessageW]
xor edx, edx
xor ecx, ecx
call qword [sym.imp.KERNEL32.dll_GetFileSizeEx]
xor r9d, r9d
xor r8d, r8d
xor edx, edx
xor ecx, ecx
call qword [sym.imp.USER32.dll_SetTimer]
mov dword [rsp + 0x38], esi
xor r9d, r9d
mov dword [rsp + 0x30], esi
xor r8d, r8d
mov qword [rsp + 0x28], rsi
xor edx, edx
xor ecx, ecx
mov qword [rsp + 0x20], rsi
call qword [sym.imp.USER32.dll_PrivateExtractIconsW]
xor r8d, r8d
xor edx, edx
xor ecx, ecx
call qword [sym.imp.KERNEL32.dll_GetLongPathNameW]
xor ecx, ecx
call qword [sym.imp.KERNEL32.dll_InitOnceInitialize]
xor r9d, r9d
xor r8d, r8d
xor edx, edx
xor ecx, ecx
call qword [sym.imp.USER32.dll_SendNotifyMessageW]
xor edx, edx
xor ecx, ecx
call qword [sym.imp.KERNEL32.dll_GetNumaNodeNumberFromHandle]
xor r9d, r9d
mov qword [rsp + 0x20], rsi
xor r8d, r8d
xor edx, edx
xor ecx, ecx
call qword [sym.imp.USER32.dll_CreateDialogIndirectParamW]
xor ecx, ecx
call qword [sym.imp.KERNEL32.dll_DebugActiveProcess]
xor ecx, ecx
call qword [sym.imp.KERNEL32.dll_CreateMemoryResourceNotification]
xor edx, edx
xor ecx, ecx
call qword [sym.imp.KERNEL32.dll_EndUpdateResourceW]
xor ecx, ecx
call qword [sym.imp.KERNEL32.dll_SetConsoleHistoryInfo]
xor edx, edx
xor ecx, ecx
call qword [sym.imp.KERNEL32.dll_SetThreadPriorityBoost]
xor r9d, r9d
mov dword [rsp + 0x28], esi
xor r8d, r8d
mov qword [rsp + 0x20], rsi
xor edx, edx
xor ecx, ecx
call qword [sym.imp.KERNEL32.dll_OpenFileById]
xor r8d, r8d
xor edx, edx
xor ecx, ecx
call qword [sym.imp.USER32.dll_wvsprintfW]
xor r9d, r9d
xor r8d, r8d
xor edx, edx
xor ecx, ecx
call qword [sym.imp.KERNEL32.dll_SetFileTime]
xor ecx, ecx
call qword [sym.imp.USER32.dll_UnhookWindowsHookEx]
xor r9d, r9d
xor r8d, r8d
xor edx, edx
xor ecx, ecx
call qword [sym.imp.USER32.dll_DlgDirSelectComboBoxExW]
xor ecx, ecx
call qword [sym.imp.USER32.dll_GetDisplayAutoRotationPreferences]
mov r9d, dword [rsp + 0x50]
xor edx, edx
xor r8d, r8d
mov qword [rsp + 0x20], rsi
xor ecx, ecx
call qword [sym.imp.KERNEL32.dll_FillConsoleOutputCharacterW]
xor r9d, r9d
mov dword [rsp + 0x28], esi
xor r8d, r8d
mov dword [rsp + 0x20], esi
xor edx, edx
xor ecx, ecx
call qword [sym.imp.USER32.dll_ToUnicode]
call qword [sym.imp.KERNEL32.dll_GetSystemDefaultUILanguage]
xor edx, edx
xor ecx, ecx
call qword [sym.imp.KERNEL32.dll_SetProcessAffinityUpdateMode]
mov rbx, qword [rsp + 0x58]
mov rax, rdi
mov rsi, qword [rsp + 0x60]
add rsp, 0x40
pop rdi
ret