Function at 0x140004720
Capabilities:
Check mutex on windows
Get file attributes
Print debug messages

Disassembly:
mov qword [rsp + 0x20], rbx
push rdi
sub rsp, 0x2d0
mov rax, qword [0x14000d018]
xor rax, rsp
mov qword [rsp + 0x2c0], rax
mov rbx, rcx
call fcn.140003500
mov rdi, qword [rbx + 0x10]
test rdi, rdi
je 0x140004a78
mov eax, dword [rdi]
test eax, eax
jns 0x1400047b3
btr eax, 0x1f
mov dword [rdi], eax
mov rcx, qword [rbx + 0x10]
lea rdx, [rcx + 0x1418]
add rcx, 0x1210
call qword [sym.imp.USER32.dll_FindWindowW]
test rax, rax
je 0x140004790
xor r9d, r9d
xor r8d, r8d
mov rcx, rax
lea edx, [r9 + 2]
call qword [sym.imp.USER32.dll_SendMessageW]
mov rcx, qword [rbx + 0x10]
test rcx, rcx
je 0x1400047a9
mov edx, 0x1828
call fcn.14000663c
xor edi, edi
mov qword [rbx + 0x10], rdi
mov eax, 0x80004004
jmp 0x140004a7d
cmp eax, 3
jg 0x140004a65
xor edx, edx
lea rcx, [rsp + 0xb0]
mov r8d, 0x208
call sub.VCRUNTIME140.dll_memset
mov r8d, dword [rdi + 4]
lea rdx, str.ARMOURY_CRATE_GPU_Switch_Message_ExecuteMutex__d
lea rcx, [rsp + 0xb0]
call fcn.140005440
lea r8, [rsp + 0xb0]
xor edx, edx
xor ecx, ecx
call qword [sym.imp.KERNEL32.dll_CreateMutexW]
mov rdi, rax
call qword [sym.imp.KERNEL32.dll_GetLastError]
cmp eax, 0xb7
je 0x140004a44
call qword [sym.imp.KERNEL32.dll_GetLastError]
cmp eax, 5
je 0x140004a44
xor edi, edi
mov qword [rsp + 0x2e8], rbp
lea rax, [0x140005130]
mov qword [rsp + 0x2f0], rsi
lea rsi, [0x140000000]
mov dword [rsp + 0x60], 0x50
xor ecx, ecx
mov dword [rsp + 0x64], 3
lea edx, [rdi + 0x65]
mov qword [rsp + 0x68], rax
mov dword [rsp + 0x70], edi
mov dword [rsp + 0x74], 8
mov qword [rsp + 0x78], rsi
call qword [sym.imp.USER32.dll_LoadIconW]
lea edx, [rdi + 0x65]
xor ecx, ecx
mov qword [rsp + 0x80], rax
call qword [sym.imp.USER32.dll_LoadIconW]
mov edx, 0x7f00
xor ecx, ecx
mov qword [rsp + 0xa8], rax
call qword [sym.imp.USER32.dll_LoadCursorW]
mov qword [rsp + 0x88], rax
xorps xmm0, xmm0
mov rax, qword [rbx + 0x10]
lea rcx, [rsp + 0x60]
add rax, 0x1210
movdqa xmmword [rsp + 0x90], xmm0
mov qword [rsp + 0xa0], rax
call qword [sym.imp.USER32.dll_RegisterClassExW]
lea ebp, [rdi + 1]
test ax, ax
je 0x1400049da
mov rdx, qword [rbx + 0x10]
xor ecx, ecx
mov qword [rsp + 0x58], rbx
mov r9d, 0xcf0000
mov qword [rsp + 0x50], rsi
mov qword [rsp + 0x48], rdi
mov qword [rsp + 0x40], rdi
lea r8, [rdx + 0x1418]
mov dword [rsp + 0x38], 0xc8
add rdx, 0x1210
mov dword [rsp + 0x30], 0x15e
mov dword [rsp + 0x28], 0x80000000
mov dword [rsp + 0x20], 0x80000000
call qword [sym.imp.USER32.dll_CreateWindowExW]
mov qword [rbx], rax
test rax, rax
je 0x1400049da
mov qword [rsp + 0x58], rdi
lea r8, str.View_Text_Toast
mov qword [rsp + 0x50], rsi
lea rdx, str.BUTTON
mov qword [rsp + 0x48], rbp
mov r9d, 0x50000000
mov qword [rsp + 0x40], rax
xor ecx, ecx
mov dword [rsp + 0x38], 0x19
mov dword [rsp + 0x30], ILFree
mov dword [rsp + 0x28], edi
mov dword [rsp + 0x20], edi
call qword [sym.imp.USER32.dll_CreateWindowExW]
mov rax, qword [rbx]
lea r8, str.Whatever_action_you_take_on_the_displayed_toast_will_be_shown_here.
mov qword [rsp + 0x58], rdi
lea rdx, str.EDIT
mov qword [rsp + 0x50], rsi
mov r9d, 0x50800804
mov qword [rsp + 0x48], rdi
xor ecx, ecx
mov qword [rsp + 0x40], rax
mov dword [rsp + 0x38], 0x32
mov dword [rsp + 0x30], 0x12c
mov dword [rsp + 0x28], 0x1e
mov dword [rsp + 0x20], edi
call qword [sym.imp.USER32.dll_CreateWindowExW]
mov rcx, qword [rbx]
xor edx, edx
mov qword [rbx + 8], rax
call qword [sym.imp.USER32.dll_ShowWindow]
lea rcx, str._ARMOURY_CRATE_Message__Create_shortcut_and_send_data_r_n
call qword [sym.imp.KERNEL32.dll_OutputDebugStringW]
mov rsi, qword [rbx + 0x10]
lea rcx, [rsi + 0x1008]
call qword [sym.imp.KERNEL32.dll_GetFileAttributesW]
cmp eax, 0xfffffff
jb 0x140004a0d
lea rdx, [rsi + 0x1008]
call fcn.1400044d0
mov ebp, eax
mov rcx, qword [rbx]
mov rsi, qword [rsp + 0x2f0]
test rcx, rcx
je 0x140004a38
test ebp, ebp
mov eax, 0x1388
mov edx, 0xffff0001
cmove edi, eax
xor r9d, r9d
mov r8d, edi
call qword [sym.imp.USER32.dll_SetTimer]
mov eax, ebp
mov rbp, qword [rsp + 0x2e8]
jmp 0x140004a7d
test rdi, rdi
je 0x140004a52
mov rcx, rdi
call qword [sym.imp.KERNEL32.dll_CloseHandle]
mov rcx, rbx
call fcn.140004aa0
mov rcx, qword [rbx + 0x10]
test rcx, rcx
je 0x140004a78
jmp 0x140004a68
mov rcx, rdi
mov edx, 0x1828
call fcn.14000663c
xor edi, edi
mov qword [rbx + 0x10], rdi
mov eax, 0x80004005
mov rcx, qword [rsp + 0x2c0]
xor rcx, rsp
call fcn.140006340
mov rbx, qword [rsp + 0x2f8]
add rsp, 0x2d0
pop rdi
ret