Function at 0x140084a30
Capabilities:
Check if file exists

Disassembly:
push rdi
push r12
push r13
push r14
push r15
sub rsp, 0x30
mov qword [rsp + 0x20], 0xfffffffffffffffe
mov qword [rsp + 0x68], rbx
mov qword [rsp + 0x70], rbp
mov qword [rsp + 0x78], rsi
mov rsi, rcx
mov rax, qword [rcx + 0x8d0]
mov r14, qword [rax + 0x40]
movzx r12d, byte [r14 + 0x48]
movzx r13d, r12b
lea r15, [r14 + 0xb0]
mov rcx, r15
cmp qword [r15 + 0x18], 8
jb 0x140084a81
mov rcx, qword [r15]
call qword [sym.imp.SHLWAPI.dll_PathFileExistsW]
test eax, eax
setne byte [rsp + 0x60]
xor ebx, ebx
test r12b, r12b
jne 0x140084bb3
mov edi, ebx
mov edx, 4
mov ecx, dword [0x1402be238]
mov rax, qword gs:[0x58]
mov rbp, qword [rax + rcx*8]
add rbp, rdx
nop word [rax + rax]
mov eax, dword [0x1402bbb60]
cmp eax, dword [rbp]
jle 0x140084b2c
lea rcx, [0x1402bbb60]
call fcn.14017fc1c
mov eax, dword [0x1402bbb60]
cmp eax, 0xffffffff
jne 0x140084b2c
xorps xmm0, xmm0
movdqa xmmword [0x1402bbb20], xmm0
mov qword [0x1402bbb38], rbx
xorps xmm1, xmm1
movdqa xmmword [0x1402bbb40], xmm1
mov qword [0x1402bbb50], rbx
mov qword [0x1402bbb58], rbx
lea rcx, [0x1401df970]
call fcn.14017f9ec
nop
lea rcx, [0x1402bbb60]
call fcn.14017fbbc
mov eax, dword [0x1402bbb60]
cmp rdi, qword [0x1402bbb58]
jae 0x140084bb3
cmp eax, dword [rbp]
jle 0x140084b93
lea rcx, [0x1402bbb60]
call fcn.14017fc1c
cmp dword [0x1402bbb60], 0xffffffff
jne 0x140084b93
xorps xmm0, xmm0
movdqa xmmword [0x1402bbb20], xmm0
mov qword [0x1402bbb38], rbx
xorps xmm1, xmm1
movdqa xmmword [0x1402bbb40], xmm1
mov qword [0x1402bbb50], rbx
mov qword [0x1402bbb58], rbx
lea rcx, [0x1401df970]
call fcn.14017f9ec
nop
lea rcx, [0x1402bbb60]
call fcn.14017fbbc
mov rdx, rdi
lea rcx, [0x1402bbb20]
call fcn.14001eea0
cmp byte [rax + 0x48], 0
jne 0x140084bb0
inc rdi
jmp 0x140084ac0
mov r13b, 1
mov edi, dword [r14 + 0xa0]
mov ebp, 3
mov r8d, ebp
test r12b, r12b
cmovne r8d, ebx
mov edx, 0xa02e
mov rcx, qword [rsi + 0x979d0]
call qword [sym.imp.USER32.dll_EnableMenuItem]
movzx r9d, r12b
mov edx, 0x401
mov r8d, 0xa02e
mov rcx, qword [rsi + 0xa30]
call qword [sym.imp.USER32.dll_SendMessageW]
mov r8d, ebp
test r13b, r13b
cmovne r8d, ebx
mov edx, 0xa02f
mov rcx, qword [rsi + 0x979d0]
call qword [sym.imp.USER32.dll_EnableMenuItem]
movzx r9d, r13b
mov edx, 0x401
mov r8d, 0xa02f
mov rcx, qword [rsi + 0xa30]
call qword [sym.imp.USER32.dll_SendMessageW]
test r12b, r12b
jne 0x140084c3d
cmp edi, 2
je 0x140084c3d
mov al, 1
jmp 0x140084c3f
xor al, al
mov r8d, ebp
test al, al
cmovne r8d, ebx
mov edx, 0x2713
mov rcx, qword [rsi + 0x979d0]
call qword [sym.imp.USER32.dll_EnableMenuItem]
test r12b, r12b
jne 0x140084c68
cmp edi, 2
je 0x140084c68
mov al, 1
jmp 0x140084c6a
xor al, al
mov r8d, ebp
test al, al
cmovne r8d, ebx
mov edx, 0x2714
mov rcx, qword [rsi + 0x979d0]
call qword [sym.imp.USER32.dll_EnableMenuItem]
movzx edi, byte [r14 + 0xac]
mov r8d, ebp
test dil, dil
cmovne r8d, ebx
mov edx, 0xa431
mov rcx, qword [rsi + 0x979d0]
call qword [sym.imp.USER32.dll_EnableMenuItem]
cmp byte [r14 + 0x110], 0
jne 0x140084cbc
test dil, dil
jne 0x140084cbc
mov al, 1
jmp 0x140084cbe
xor al, al
mov r8d, ebp
test al, al
cmovne r8d, ebx
mov edx, 0xa42c
mov rcx, qword [rsi + 0x979d0]
call qword [sym.imp.USER32.dll_EnableMenuItem]
movzx eax, byte [r14 + 0x54]
neg al
sbb r8d, r8d
and r8d, 8
mov edx, 0xa42c
mov rcx, qword [rsi + 0x979d0]
call qword [sym.imp.USER32.dll_CheckMenuItem]
mov edi, ebp
cmp byte [rsp + 0x60], 0
cmovne edi, ebx
mov r8d, edi
mov edx, 0xa038
mov rcx, qword [rsi + 0x979d0]
call qword [sym.imp.USER32.dll_EnableMenuItem]
mov r8d, edi
mov edx, 0xa03c
mov rcx, qword [rsi + 0x979d0]
call qword [sym.imp.USER32.dll_EnableMenuItem]
mov r8d, edi
mov edx, 0xa03b
mov rcx, qword [rsi + 0x979d0]
call qword [sym.imp.USER32.dll_EnableMenuItem]
mov r8d, edi
mov edx, 0xa036
mov rcx, qword [rsi + 0x979d0]
call qword [sym.imp.USER32.dll_EnableMenuItem]
cmp qword [r15 + 0x18], 8
jb 0x140084d61
mov r15, qword [r15]
mov rcx, r15
call fcn.14002a380
mov r8d, ebp
test al, al
cmovne r8d, ebx
mov edx, 0xa03f
mov rcx, qword [rsi + 0x979d0]
call qword [sym.imp.USER32.dll_EnableMenuItem]
mov r8d, edi
mov edx, 0xac44
mov rcx, qword [rsi + 0x979d0]
call qword [sym.imp.USER32.dll_EnableMenuItem]
mov r8d, edi
mov edx, 0xac45
mov rcx, qword [rsi + 0x979d0]
call qword [sym.imp.USER32.dll_EnableMenuItem]
mov r8d, edi
mov edx, 0xac47
mov rcx, qword [rsi + 0x979d0]
call qword [sym.imp.USER32.dll_EnableMenuItem]
mov r8d, edi
mov edx, 0xac46
mov rcx, qword [rsi + 0x979d0]
call qword [sym.imp.USER32.dll_EnableMenuItem]
movzx edx, byte [r14 + 0x49]
mov rcx, rsi
call fcn.140089770
mov rcx, rsi
call fcn.140085580
mov edx, 0xffffffff
mov rcx, rsi
call fcn.140084eb0
mov rcx, qword [rsi + 0x983a8]
test rcx, rcx
je 0x140084e0b
call fcn.140010570
mov edi, dword [r14 + 0xa0]
cmp edi, 2
cmovne ebp, ebx
mov r8d, ebp
mov edx, 0xac41
mov rcx, qword [rsi + 0x979d0]
call qword [sym.imp.USER32.dll_EnableMenuItem]
cmp edi, 2
setne bl
mov r9, rbx
mov edx, 0x401
mov r8d, 0xac41
mov rcx, qword [rsi + 0xa30]
call qword [sym.imp.USER32.dll_SendMessageW]
movzx eax, byte [r14 + 0x110]
neg al
sbb r8d, r8d
and r8d, 8
mov edx, 0xac41
mov rcx, qword [rsi + 0x979d0]
call qword [sym.imp.USER32.dll_CheckMenuItem]
movzx r9d, byte [r14 + 0x110]
mov edx, 0x402
mov r8d, 0xac41
mov rcx, qword [rsi + 0xa30]
mov rbx, qword [rsp + 0x68]
mov rbp, qword [rsp + 0x70]
mov rsi, qword [rsp + 0x78]
add rsp, 0x30
pop r15
pop r14
pop r13
pop r12
pop rdi
jmp qword [sym.imp.USER32.dll_SendMessageW]