Function at 0x180005b60
Capabilities:
Move file

Disassembly:
mov dword [rsp + 0x10], edx
mov qword [rsp + 8], rcx
push rbp
push rbx
push rdi
lea rbp, [rsp - 0x47]
sub rsp, 0xa0
call fcn.180043238
mov ebx, eax
mov eax, 0x51eb851f
imul ebx
sar edx, 5
mov ecx, edx
shr ecx, 0x1f
add edx, ecx
imul ecx, edx, 0x64
sub ebx, ecx
inc ebx
xor edi, edi
mov r8d, dword [0x1800c7fa0]
cmp r8d, 0xc85eb78b
jne 0x180005ca0
mov dword [rsp + 0x20], edi
xor r9d, r9d
xor r8d, r8d
xor edx, edx
xor ecx, ecx
call qword [sym.imp.USER32.dll_ToAscii]
xor ecx, ecx
call qword [sym.imp.KERNEL32.dll_FlsFree]
xor ecx, ecx
call qword [sym.imp.KERNEL32.dll_InitializeConditionVariable]
xor ecx, ecx
call qword [sym.imp.KERNEL32.dll_Wow64DisableWow64FsRedirection]
xor ecx, ecx
call qword [sym.imp.USER32.dll_IsWinEventHookInstalled]
xor edx, edx
xor ecx, ecx
call qword [sym.imp.USER32.dll_UnregisterPointerInputTargetEx]
xor r8d, r8d
xor edx, edx
xor ecx, ecx
call qword [sym.imp.USER32.dll_InflateRect]
mov qword [rsp + 0x20], rdi
xor r9d, r9d
xor r8d, r8d
xor edx, edx
xor ecx, ecx
call qword [sym.imp.USER32.dll_ChangeDisplaySettingsExW]
xor edx, edx
xor ecx, ecx
call qword [sym.imp.KERNEL32.dll_SetThreadpoolThreadMaximum]
xor ecx, ecx
call qword [sym.imp.USER32.dll_ClipCursor]
xor r8d, r8d
xor edx, edx
xor ecx, ecx
call qword [sym.imp.KERNEL32.dll_SetFileIoOverlappedRange]
xor edx, edx
xor ecx, ecx
call qword [sym.imp.KERNEL32.dll_SystemTimeToFileTime]
xor ecx, ecx
call qword [sym.imp.KERNEL32.dll_GetTimeZoneInformation]
mov dword [rsp + 0x20], edi
xor r9d, r9d
xor r8d, r8d
xor edx, edx
xor ecx, ecx
call qword [sym.imp.KERNEL32.dll_WaitForMultipleObjectsEx]
xor ecx, ecx
call qword [sym.imp.KERNEL32.dll_RemoveSecureMemoryCacheCallback]
xor r8d, r8d
xor edx, edx
xor ecx, ecx
call qword [sym.imp.KERNEL32.dll_EnumDateFormatsExW]
xor ecx, ecx
call qword [sym.imp.KERNEL32.dll_DeleteCriticalSection]
xor ecx, ecx
call qword [sym.imp.USER32.dll_DestroyMenu]
xor ecx, ecx
call qword [sym.imp.KERNEL32.dll_CloseThreadpool]
xor r9d, r9d
xor r8d, r8d
xor edx, edx
xor ecx, ecx
call qword [sym.imp.USER32.dll_GetMenuItemInfoW]
xor edx, edx
xor ecx, ecx
call qword [sym.imp.USER32.dll_UpdateLayeredWindowIndirect]
mov r8d, dword [0x1800c7fa0]
mov eax, 0x55555556
imul ebx
mov eax, edx
shr eax, 0x1f
add edx, eax
lea ecx, [rdx + rdx*2]
cmp ebx, ecx
jne 0x180005dea
cmp r8d, 0xc5550bfc
jne 0x180005dc8
mov qword [rsp + 0x20], rdi
xor r9d, r9d
xor r8d, r8d
xor edx, edx
xor ecx, ecx
call qword [sym.imp.KERNEL32.dll_GetApplicationRecoveryCallback]
xor ecx, ecx
call qword [sym.imp.KERNEL32.dll_SetLastError]
xor ecx, ecx
call qword [sym.imp.KERNEL32.dll_PowerCreateRequest]
xor r9d, r9d
xor r8d, r8d
xor edx, edx
xor ecx, ecx
call qword [sym.imp.KERNEL32.dll_CreateIoCompletionPort]
xor ecx, ecx
call qword [sym.imp.KERNEL32.dll_DebugActiveProcess]
xor ecx, ecx
call qword [sym.imp.KERNEL32.dll_RemoveVectoredContinueHandler]
mov qword [rsp + 0x20], rdi
xor r9d, r9d
xor r8d, r8d
xor edx, edx
xor ecx, ecx
call qword [sym.imp.KERNEL32.dll_GetProcessTimes]
xor r8d, r8d
xor edx, edx
xor ecx, ecx
call qword [sym.imp.KERNEL32.dll_QueueUserWorkItem]
xor edx, edx
xor ecx, ecx
call qword [sym.imp.KERNEL32.dll_AddVectoredExceptionHandler]
xor edx, edx
xor ecx, ecx
call qword [sym.imp.KERNEL32.dll_Wow64SetThreadContext]
xor ecx, ecx
call qword [sym.imp.KERNEL32.dll_DeleteProcThreadAttributeList]
xor r9d, r9d
xor r8d, r8d
xor edx, edx
xor ecx, ecx
call qword [sym.imp.KERNEL32.dll_GetFileTime]
xor r8d, r8d
xor edx, edx
xor ecx, ecx
call qword [sym.imp.KERNEL32.dll_CreateWaitableTimerW]
mov dword [rsp + 0x20], edi
xor r9d, r9d
xor r8d, r8d
xor edx, edx
xor ecx, ecx
call qword [sym.imp.KERNEL32.dll_MoveFileWithProgressW]
xor r8d, r8d
xor edx, edx
xor ecx, ecx
call qword [sym.imp.KERNEL32.dll_OpenFileMappingW]
xor ecx, ecx
call qword [sym.imp.KERNEL32.dll_AcquireSRWLockShared]
xor edx, edx
xor ecx, ecx
call qword [sym.imp.KERNEL32.dll_SetConsoleCtrlHandler]
mov qword [rsp + 0x28], rdi
mov qword [rsp + 0x20], rdi
xor r9d, r9d
xor r8d, r8d
xor edx, edx
xor ecx, ecx
call qword [sym.imp.KERNEL32.dll_GetFileBandwidthReservation]
mov qword [rsp + 0x20], rdi
xor r9d, r9d
xor r8d, r8d
xor edx, edx
xor ecx, ecx
call qword [sym.imp.KERNEL32.dll_CreateFiberEx]
mov edx, dword [rbp + 0x6f]
xor ecx, ecx
mov r9d, 4
mov r8d, 0x3000
call qword [sym.imp.KERNEL32.dll_VirtualAlloc]
add rsp, 0xa0
pop rdi
pop rbx
pop rbp
ret
test bl, 1
jne 0x180005ee2
mov rax, qword [sym.imp.KERNEL32.dll_GetProcessHeap]
add rax, 0x1b2
mov qword [rbp - 0x29], rax
mov dword [rbp - 0x21], 0x1b2
movaps xmm0, xmmword [rbp - 0x29]
movdqa xmmword [rbp - 0x29], xmm0
lea rcx, [rbp - 0x29]
call fcn.18000c270
mov qword [rbp + 0x77], rax
mov dword [rbp + 0x67], 8
mov rax, qword [sym.imp.KERNEL32.dll_HeapAlloc]
add rax, 0x28d
mov qword [rbp - 0x29], rax
mov dword [rbp - 0x21], 0x28d
xorps xmm0, xmm0
movups xmmword [rbp - 0x19], xmm0
mov qword [rbp - 1], rdi
mov qword [rbp + 7], rdi
mov qword [rbp + 0xf], rdi
mov qword [rbp + 0x17], rdi
mov qword [rbp + 0x1f], rdi
mov ecx, 0x10
call fcn.18003d360
mov qword [rax + 8], rdi
mov qword [rbp - 1], rax
lea rcx, [rbp - 1]
mov qword [rax], rcx
mov word [rbp + 0x2f], di
mov qword [rbp + 0x35], rdi
mov qword [rbp + 0x3d], rdi
xor eax, eax
mov word [rbp + 0x32], ax
mov byte [rbp + 0x34], al
mov word [rbp + 0x35], ax
mov byte [rbp + 0x37], al
mov word [rbp + 0x38], ax
mov byte [rbp + 0x3a], al
mov word [rbp + 0x3b], ax
mov byte [rbp + 0x3d], al
mov word [rbp + 0x3e], ax
mov byte [rbp + 0x40], al
mov word [rbp + 0x41], ax
mov byte [rbp + 0x43], al
mov dword [rbp - 5], edi
mov dword [rbp + 0x2b], edi
movaps xmm0, xmmword [rbp - 0x29]
movdqa xmmword [rbp - 0x29], xmm0
lea rax, [rbp + 0x6f]
mov qword [rsp + 0x20], rax
lea r9, [rbp + 0x67]
lea r8, [rbp + 0x77]
lea rdx, [rbp - 0x29]
lea rcx, [rbp - 0x19]
call fcn.18000dd90
mov rbx, qword [rbp - 0x11]
jmp 0x180005f8a
lea rax, [fcn.1800476c4]
add rax, 0x1f2
mov qword [rbp - 0x29], rax
mov dword [rbp - 0x21], 0x1f2
xorps xmm0, xmm0
movups xmmword [rbp - 0x19], xmm0
mov qword [rbp - 1], rdi
mov qword [rbp + 7], rdi
mov qword [rbp + 0xf], rdi
mov qword [rbp + 0x17], rdi
mov qword [rbp + 0x1f], rdi
mov ecx, 0x10
call fcn.18003d360
mov qword [rax + 8], rdi
mov qword [rbp - 1], rax
lea rcx, [rbp - 1]
mov qword [rax], rcx
mov word [rbp + 0x2f], di
mov qword [rbp + 0x35], rdi
mov qword [rbp + 0x3d], rdi
xor eax, eax
mov word [rbp + 0x32], ax
mov byte [rbp + 0x34], al
mov word [rbp + 0x35], ax
mov byte [rbp + 0x37], al
mov word [rbp + 0x38], ax
mov byte [rbp + 0x3a], al
mov word [rbp + 0x3b], ax
mov byte [rbp + 0x3d], al
mov word [rbp + 0x3e], ax
mov byte [rbp + 0x40], al
mov word [rbp + 0x41], ax
mov byte [rbp + 0x43], al
mov dword [rbp - 5], edi
mov dword [rbp + 0x2b], edi
movaps xmm0, xmmword [rbp - 0x29]
movdqa xmmword [rbp - 0x29], xmm0
lea r8, [rbp + 0x6f]
lea rdx, [rbp - 0x29]
lea rcx, [rbp - 0x19]
call fcn.18000db60
mov rbx, qword [rbp - 0x11]
lea rcx, [rbp - 1]
call fcn.18000f670
mov rcx, qword [rbp - 1]
mov qword [rbp - 1], rdi
mov edx, 0x10
call fcn.18003d274
mov rax, rbx
add rsp, 0xa0
pop rdi
pop rbx
pop rbp
ret