Function at 0x1400672e0
Capabilities:
Check if file exists
Get file attributes
Set current directory

Disassembly:
mov qword [rsp + 0x10], rdx
mov qword [rsp + 8], rcx
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
mov eax, 0x21920
call fcn.1400eb380
sub rsp, rax
lea rbp, [rsp + 0x50]
cmp dword [0x14013423c], 4
mov rax, rcx
mov rcx, qword [0x140136490]
mov r12, r9
mov qword [rbp + 0x28], rcx
mov rdi, r8
mov qword [rbp + 0x21920], rbx
mov r13, rdx
jl 0x14006734c
lea r9, [0x1400fb87c]
xor r8d, r8d
lea rdx, str.The_maximum_number_of_File_Dialogs_has_been_reached.
mov rcx, rax
call fcn.140051140
jmp 0x140067b72
xor esi, esi
mov word [rbp + 0x18d0], si
mov qword [rbp + 0x10], rsi
lea eax, [rsi + 0x5c]
test rdi, rdi
je 0x140067492
cmp word [r8], si
je 0x140067492
mov rbx, 0xffffffffffffffff
inc rbx
cmp word [r8 + rbx*2], si
jne 0x140067376
mov edx, eax
mov rcx, rdi
call fcn.1400cba50
mov r14, rax
test rax, rax
je 0x140067398
cmp word [rax + 2], si
je 0x1400673f5
mov r8d, 3
lea rdx, [0x1401196a0]
mov rcx, rdi
call fcn.1400dceb8
test eax, eax
jne 0x140067455
cmp rbx, 0x28
jne 0x140067467
cmp word [rdi + 0x4e], 0x7d
jne 0x140067467
test r14, r14
je 0x1400673f5
mov r8d, 0xfffe
lea rdx, [r14 + 2]
lea rcx, [rbp + 0x18d0]
call fcn.1400de184
mov rbx, r14
mov word [rbp + 0x218cc], si
sub rbx, rdi
sar rbx, 1
lea r14, [rbx + rbx]
mov qword [rbp + 0x10], rdi
cmp word [r14 + rdi], si
je 0x140067492
cmp rbx, 0x8000
jae 0x14006748e
lea rax, [r14 + 2]
lea rcx, [rax + 0xf]
cmp rcx, rax
ja 0x140067428
movabs rcx, 0xffffffffffffff0
and rcx, 0xfffffffffffffff0
mov rax, rcx
call fcn.1400eb380
sub rsp, rcx
mov r8, r14
mov rdx, rdi
lea rbx, [rsp + 0x50]
mov rcx, rbx
call fcn.1400cfd20
mov qword [rbp + 0x10], rax
mov word [r14 + rbx], si
jmp 0x140067492
mov rcx, rdi
call qword [sym.imp.KERNEL32.dll_GetFileAttributesW]
cmp eax, 0xffffffff
je 0x140067467
test al, 0x10
jne 0x1400673f5
test r14, r14
jne 0x1400673cf
mov r8d, 0xfffe
lea rcx, [rbp + 0x18d0]
mov rdx, rdi
call fcn.1400de184
mov word [rbp + 0x218cc], si
jmp 0x140067492
mov qword [rbp + 0x10], rsi
test r12, r12
je 0x1400674bc
cmp word [r12], si
je 0x1400674bc
mov r8d, 0x3ff
lea rcx, [rbp + 0x8d0]
mov rdx, r12
call fcn.1400de184
mov word [rbp + 0x10ce], si
jmp 0x1400674db
mov r9, qword [0x1401371d0]
lea r8, str.Select_File____s
mov edx, 0x400
lea rcx, [rbp + 0x8d0]
call fcn.1400acf50
mov rbx, qword [rbp + 0x21930]
mov word [rbp + 0x10d0], si
mov word [rbp + 0xd0], si
cmp word [rbx], si
je 0x1400676ff
mov edx, 0x28
mov rcx, rbx
call fcn.1400cbb24
lea rcx, [rbp + 0xd0]
mov r8d, 0x3ff
test rax, rax
je 0x14006754f
lea rdx, [rax + 2]
call fcn.1400de184
mov edx, 0x29
mov word [rbp + 0x8ce], si
lea rcx, [rbp + 0xd0]
call fcn.1400cba50
test rax, rax
je 0x140067543
mov word [rax], si
jmp 0x14006755e
mov word [rbp + 0xd0], si
jmp 0x1400676ff
mov rdx, rbx
call fcn.1400de184
mov word [rbp + 0x8ce], si
cmp word [rbp + 0xd0], si
je 0x1400676ff
mov r15d, 0xffffffff
lea rax, [rbp + 0xd0]
mov rbx, 0xffffffffffffffff
nop
inc rbx
cmp word [rax + rbx*2], si
jne 0x140067580
mov qword [rbp + 8], rsi
mov r14, rsi
mov qword [rbp + 0x18], rsi
cmp rbx, 0x1388
jb 0x1400677ae
mov edi, esi
lea r12, [rbp + 0xd0]
nop word [rax + rax]
lea rdx, [0x140117544]
mov rcx, r12
call fcn.1400cbe18
mov rcx, qword [rbp + 8]
mov r13, rax
test rax, rax
je 0x140067668
inc edi
dec r15d
mov dword [rbp], edi
mov rdi, rax
sub rdi, r12
sar rdi, 1
lea rdx, [rdi + rcx]
mov qword [rbp + 0x20], rdx
cmp rdx, qword [rbp + 0x18]
jb 0x14006763b
lea rcx, [rbp + 0xd0]
movsxd r9, ebx
sub rax, rcx
mov r8d, r15d
movsxd rcx, edx
mov edx, dword [rbp]
sar rax, 1
cdqe
mov qword [rsp + 0x28], rax
mov qword [rsp + 0x20], rcx
mov rcx, 0xffffffffffffffff
call fcn.1400adb60
mov rcx, r14
mov qword [rbp + 0x18], rax
lea rdx, [rax + rax]
call fcn.1400d29bc
test rax, rax
je 0x1400676ac
mov rcx, qword [rbp + 8]
mov r14, rax
test rdi, rdi
je 0x140067658
lea r8, [rdi + rdi]
mov rdx, r12
lea rcx, [r14 + rcx*2]
call fcn.1400cfd20
mov rcx, qword [rbp + 0x20]
mov qword [rbp + 8], rcx
mov edi, dword [rbp]
lea r12, [r13 + 2]
test r15d, r15d
jne 0x1400675b0
test edi, edi
je 0x1400676b9
lea rdx, [rbp + 0xd0]
mov rax, r12
sub rax, rdx
sar rax, 1
sub rbx, rax
je 0x14006778d
lea rdi, [rbx + rcx]
cmp rdi, qword [rbp + 0x18]
jb 0x14006777a
lea rdx, [rdi*2 + 2]
mov rcx, r14
call fcn.1400d29bc
test rax, rax
jne 0x140067773
test r14, r14
je 0x1400676b9
mov rcx, r14
call fcn.1400d29a8
mov r13, qword [rbp + 0x21918]
mov r9, qword [rbp + 0x21930]
lea rax, [rbp + 0xd0]
mov qword [rsp + 0x40], rsi
lea r8, str._s_c_s_cAll_Files__.__c._c
mov qword [rsp + 0x38], rsi
lea rcx, [rbp + 0x10d0]
mov qword [rsp + 0x30], rsi
mov edx, 0x400
mov qword [rsp + 0x28], rax
mov qword [rsp + 0x20], rsi
call fcn.1400acf50
mov rcx, qword [0x14012fc08]
xorps xmm0, xmm0
xor eax, eax
add rcx, 0x68
movups xmmword [rbp + 0x30], xmm0
mov dword [rbp + 0x30], 0x98
movups xmmword [rbp + 0x40], xmm0
mov qword [rbp + 0xc0], rax
movups xmmword [rbp + 0x50], xmm0
movups xmmword [rbp + 0x60], xmm0
movups xmmword [rbp + 0x70], xmm0
movups xmmword [rbp + 0x80], xmm0
movups xmmword [rbp + 0x90], xmm0
movups xmmword [rbp + 0xa0], xmm0
movups xmmword [rbp + 0xb0], xmm0
call fcn.14008c660
test rax, rax
je 0x14006780b
mov rax, qword [0x14012fc08]
mov rcx, qword [rax + 0x68]
mov rax, qword [rcx + 8]
mov qword [rbp + 0x38], rax
jmp 0x14006780f
mov rcx, qword [rbp + 8]
mov r14, rax
lea r8, [rbx + rbx]
mov rdx, r12
lea rcx, [r14 + rcx*2]
call fcn.1400cfd20
mov rcx, rdi
mov word [r14 + rcx*2], si
lea r8, [rcx*2 + 2]
lea rcx, [rbp + 0xd0]
mov rdx, r14
call fcn.1400cfd20
jmp 0x1400676b1
lea rdi, [rbp + 0xd0]
nop word [rax + rax]
lea rdx, [0x140117544]
mov rcx, rdi
call fcn.1400cbe18
mov rdi, rax
test rax, rax
je 0x1400676c0
lea rcx, [rbp + 0xd0]
mov r8, rbx
sub rax, rcx
lea rdx, [rdi + 2]
sar rax, 1
mov rcx, rdi
sub r8, rax
add r8, r8
call fcn.1400cfd20
dec rbx
add r15d, 0xffffffff
jne 0x1400677c0
jmp 0x1400676c0
mov qword [rbp + 0x38], rsi
cmp word [rbp + 0x10d0], si
lea rax, [rbp + 0x8d0]
movzx ebx, word [r13]
lea rcx, str.All_Files__._
mov qword [rbp + 0x88], rax
lea rax, [rbp + 0x10d0]
cmove rax, rcx
mov dword [rbp + 0x68], 0xfffe
mov qword [rbp + 0x48], rax
xor dil, dil
lea rax, [rbp + 0x18d0]
xor r14b, r14b
mov qword [rbp + 0x60], rax
mov rax, qword [rbp + 0x10]
mov qword [rbp + 0x80], rax
test ebx, 0xffffff80
jne 0x140067878
mov edx, 2
mov ecx, ebx
call fcn.1400d7464
mov esi, eax
mov eax, ebx
and eax, 0xffffffdf
test esi, esi
cmove eax, ebx
cmp eax, 0x4d
je 0x140067891
cmp eax, 0x53
jne 0x140067898
mov dil, 1
jmp 0x140067894
mov r14b, 1
add r13, 2
mov rcx, r13
call fcn.140005a80
mov rcx, r13
test al, al
je 0x1400678b4
xor edx, edx
lea r8d, [rdx + 0x10]
call fcn.1400d2570
jmp 0x1400678b9
call fcn.1400d278c
mov ecx, eax
mov edx, 0x180004
test cl, 0x20
mov eax, 0x80004
cmovne eax, edx
mov dword [rbp + 0x90], eax
test cl, 0x10
je 0x1400678df
or eax, 2
mov dword [rbp + 0x90], eax
test cl, 8
je 0x1400678ee
bts eax, 0xd
mov dword [rbp + 0x90], eax
test r14b, r14b
jne 0x1400678f8
test cl, 4
je 0x140067902
bts eax, 9
mov dword [rbp + 0x90], eax
test cl, 2
je 0x140067911
bts eax, 0xb
mov dword [rbp + 0x90], eax
test cl, 1
je 0x140067920
bts eax, 0xc
mov dword [rbp + 0x90], eax
call fcn.1400b3e50
mov rcx, qword [0x140134240]
xor r9d, r9d
mov r8d, 0x403
movzx ebx, al
lea edx, [r9 + 0x44]
call qword [sym.imp.USER32.dll_PostMessageW]
inc dword [0x14013423c]
test dil, dil
jne 0x140067969
mov eax, dword [rbp + 0x90]
test al, 2
je 0x14006795d
bt eax, 0xd
jae 0x140067969
lea rcx, [rbp + 0x30]
call qword [sym.imp.COMDLG32.dll_GetOpenFileNameW]
jmp 0x140067973
lea rcx, [rbp + 0x30]
call qword [sym.imp.COMDLG32.dll_GetSaveFileNameW]
dec dword [0x14013423c]
mov edi, eax
mov rax, qword [0x14012fc08]
mov byte [rax + 0x12e], bl
xor bl, 1
mov byte [rax + 0x12c], bl
mov rax, qword [0x1401320f0]
test rax, rax
je 0x1400679ba
mov rax, qword [rax]
lea rcx, [0x1400fb87c]
test rax, rax
cmovne rcx, rax
cmp word [rcx], 0
je 0x1400679ba
call qword [sym.imp.KERNEL32.dll_SetCurrentDirectoryW]
xor r9d, r9d
mov byte [rsp + 0x20], 1
lea r8, [r9 - 1]
test edi, edi
jne 0x140067a29
mov rcx, qword [rbp + 0x28]
xor edx, edx
call fcn.1400b0830
cmp eax, 1
je 0x1400679e1
xor eax, eax
jmp 0x140067b72
call qword [sym.imp.COMDLG32.dll_CommDlgExtendedError]
lea rdx, [0x14011037c]
test eax, eax
je 0x140067a1d
mov rax, qword [0x14012fc08]
test byte [rax + 0x140], 1
je 0x140067a1d
mov rcx, qword [rbp + 0x21910]
lea r9, [0x1400fb87c]
xor r8d, r8d
call fcn.140050b90
jmp 0x140067b72
mov rcx, qword [0x140134210]
jmp 0x140067b61
mov rcx, qword [0x140134210]
lea rdx, [0x1400fb96c]
call fcn.1400b0830
test dword [rbp + 0x90], 0x200
je 0x140067b56
test r14b, r14b
je 0x140067b28
lea rcx, [rbp + 0x18d0]
mov rax, 0xffffffffffffffff
cmp word [rcx + rax*2 + 2], 0
lea rax, [rax + 1]
jne 0x140067a63
cmp word [rbp + rax*2 + 0x18d2], 0
jne 0x140067af6
mov edi, 0x5c
lea rcx, [rbp + 0x18d0]
mov edx, edi
call fcn.1400cba50
mov rbx, rax
test rax, rax
je 0x140067b56
mov word [rax], 0xa
mov rcx, rbx
lea rax, [rbp + 0x18d0]
sub rcx, rax
and rcx, 0xfffffffffffffffe
cmp rcx, 4
jne 0x140067b56
cmp word [rbx - 2], 0x3a
jne 0x140067b56
mov r8, 0xffffffffffffffff
nop dword [rax + rax]
cmp word [rbx + r8*2 + 2], 0
lea r8, [r8 + 1]
jne 0x140067ad0
lea r8, [r8*2 + 2]
mov rdx, rbx
lea rcx, [rbx + 2]
call fcn.1400cfd20
mov word [rbx], di
jmp 0x140067b56
cmp word [rbp + 0x18d0], 0
lea rax, [rbp + 0x18d0]
je 0x140067b1a
nop word [rax + rax]
add rax, 2
cmp word [rax], 0
jne 0x140067b10
cmp word [rax + 2], 0
je 0x140067b56
mov word [rax], 0xa
jmp 0x140067b10
cmp word [rbp + 0x18d0], 0
lea rax, [rbp + 0x18d0]
je 0x140067b4a
nop dword [rax]
add rax, 2
cmp word [rax], 0
jne 0x140067b40
mov word [rax], 0xa
cmp word [rax + 2], 0
jne 0x140067b40
mov rcx, qword [rbp + 0x28]
lea rdx, [rbp + 0x18d0]
xor r9d, r9d
mov byte [rsp + 0x20], 1
lea r8, [r9 - 1]
call fcn.1400b0830
mov rbx, qword [rbp + 0x21920]
lea rsp, [rbp + 0x218d0]
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret