Function at 0x140068f60
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 r12
push r13
push r15
lea rbp, [rsp - 0x21a40]
mov eax, 0x21b40
call fcn.1400fe470
sub rsp, rax
cmp dword [0x14014a3d8], 4
mov rsi, r9
mov r13, qword [0x14014c6e0]
mov r10, r8
mov qword [rsp + 0x60], r13
mov r15, rdx
mov r12, rcx
jl 0x140068fce
lea r9, [0x14010d28c]
xor r8d, r8d
lea rdx, str.The_maximum_number_of_File_Dialogs_has_been_reached.
call fcn.140050440
add rsp, 0x21b40
pop r15
pop r13
pop r12
pop rsi
pop rbp
ret
mov qword [rsp + 0x21b80], rbx
mov qword [rsp + 0x21b38], rdi
xor edi, edi
mov qword [rsp + 0x21b30], r14
mov word [rbp + 0x1a30], di
lea ebx, [rdi + 0x5c]
test r10, r10
je 0x14006911a
cmp word [r8], di
je 0x14006911a
mov rax, 0xffffffffffffffff
nop dword [rax]
inc rax
cmp word [r8 + rax*2], di
jne 0x140069010
cmp rax, 0x104
jb 0x140069037
mov r8d, 0x104
lea rdx, [rbp + 0x20]
mov rcx, r10
call qword [sym.imp.KERNEL32.dll_GetShortPathNameW]
jmp 0x140069050
mov r8d, 0x103
lea rcx, [rbp + 0x20]
mov rdx, r10
call fcn.1400eadcc
mov word [rbp + 0x226], di
mov r8d, 3
lea rdx, [0x14012c730]
lea rcx, [rbp + 0x20]
call fcn.1400ef87c
test eax, eax
lea rcx, [rbp + 0x20]
sete r14b
test eax, eax
jne 0x1400690b4
lea edx, [rax + 0x7d]
call fcn.1400e1554
test rax, rax
je 0x14006911e
cmp word [rax + 2], di
je 0x14006911e
lea rcx, [rbp + 0x20]
mov rax, 0xffffffffffffffff
nop word [rax + rax]
cmp word [rcx + rax*2 + 2], di
lea rax, [rax + 1]
jne 0x1400690a0
cmp word [rbp + rax*2 + 0x1e], bx
je 0x14006911e
jmp 0x1400690c3
call qword [sym.imp.KERNEL32.dll_GetFileAttributesW]
cmp eax, 0xffffffff
je 0x1400690c3
test al, 0x10
jne 0x14006911e
mov edx, ebx
lea rcx, [rbp + 0x20]
call fcn.1400e17e8
mov rbx, rax
test rax, rax
je 0x1400690f8
lea rdx, [rax + 2]
mov r8d, 0xfffe
lea rcx, [rbp + 0x1a30]
call fcn.1400eadcc
mov word [rbp + 0x21a2c], di
mov word [rbx], di
jmp 0x14006911e
test r14b, r14b
jne 0x14006911e
mov r8d, 0xfffe
lea rdx, [rbp + 0x20]
lea rcx, [rbp + 0x1a30]
call fcn.1400eadcc
mov word [rbp + 0x21a2c], di
mov word [rbp + 0x20], di
test rsi, rsi
je 0x140069146
cmp word [rsi], di
je 0x140069146
mov r8d, 0x3ff
lea rcx, [rbp + 0xa30]
mov rdx, rsi
call fcn.1400eadcc
mov word [rbp + 0x122e], di
jmp 0x140069165
mov r9, qword [0x14014e4a0]
lea r8, str.Select_File____s
mov edx, 0x400
lea rcx, [rbp + 0xa30]
call fcn.1400c16a0
mov rbx, qword [rbp + 0x21a90]
mov word [rbp + 0x1230], di
mov word [rbp + 0x230], di
cmp word [rbx], di
je 0x1400693a6
mov edx, 0x28
mov rcx, rbx
call fcn.1400e1554
lea rcx, [rbp + 0x230]
mov r8d, 0x3ff
test rax, rax
je 0x1400691d9
lea rdx, [rax + 2]
call fcn.1400eadcc
mov edx, 0x29
mov word [rbp + 0xa2e], di
lea rcx, [rbp + 0x230]
call fcn.1400e17e8
test rax, rax
je 0x1400691cd
mov word [rax], di
jmp 0x1400691e8
mov word [rbp + 0x230], di
jmp 0x1400693a6
mov rdx, rbx
call fcn.1400eadcc
mov word [rbp + 0xa2e], di
cmp word [rbp + 0x230], di
je 0x1400693a6
mov r14d, 0xffffffff
lea rax, [rbp + 0x230]
mov rbx, 0xffffffffffffffff
nop dword [rax]
inc rbx
cmp word [rax + rbx*2], di
jne 0x140069210
mov qword [rsp + 0x58], rdi
mov r15, rdi
mov qword [rsp + 0x68], rdi
cmp rbx, 0x1388
jb 0x140069447
mov esi, edi
lea r12, [rbp + 0x230]
nop dword [rax]
lea rdx, [0x140129fb4]
mov rcx, r12
call fcn.1400e15d0
mov rcx, qword [rsp + 0x58]
mov r13, rax
test rax, rax
je 0x140069302
inc esi
dec r14d
mov dword [rsp + 0x50], esi
mov rsi, rax
sub rsi, r12
sar rsi, 1
lea rdx, [rsi + rcx]
mov qword [rsp + 0x70], rdx
cmp rdx, qword [rsp + 0x68]
jb 0x1400692d2
lea rcx, [rbp + 0x230]
movsxd r9, ebx
sub rax, rcx
mov r8d, r14d
movsxd rcx, edx
mov edx, dword [rsp + 0x50]
sar rax, 1
cdqe
mov qword [rsp + 0x28], rax
mov qword [rsp + 0x20], rcx
mov rcx, 0xffffffffffffffff
call fcn.1400c23c0
mov rcx, r15
mov qword [rsp + 0x68], rax
lea rdx, [rax + rax]
call fcn.1400e89f4
test rax, rax
je 0x140069347
mov rcx, qword [rsp + 0x58]
mov r15, rax
test rsi, rsi
je 0x1400692f1
lea r8, [rsi + rsi]
mov rdx, r12
lea rcx, [r15 + rcx*2]
call fcn.1400e1c80
mov rcx, qword [rsp + 0x70]
mov qword [rsp + 0x58], rcx
mov esi, dword [rsp + 0x50]
lea r12, [r13 + 2]
test r14d, r14d
jne 0x140069240
test esi, esi
je 0x140069354
lea rdx, [rbp + 0x230]
mov rax, r12
sub rax, rdx
sar rax, 1
sub rbx, rax
je 0x140069426
lea rsi, [rbx + rcx]
cmp rsi, qword [rsp + 0x68]
jb 0x140069413
lea rdx, [rsi*2 + 2]
mov rcx, r15
call fcn.1400e89f4
test rax, rax
jne 0x14006940b
test r15, r15
je 0x140069354
mov rcx, r15
call fcn.1400e89fc
mov r13, qword [rsp + 0x60]
mov r12, qword [rbp + 0x21a70]
mov r9, qword [rbp + 0x21a90]
lea rax, [rbp + 0x230]
mov qword [rsp + 0x40], rdi
lea r8, str._s_c_s_cAll_Files__.__c._c
mov qword [rsp + 0x38], rdi
lea rcx, [rbp + 0x1230]
mov qword [rsp + 0x30], rdi
mov edx, 0x400
mov qword [rsp + 0x28], rax
mov qword [rsp + 0x20], rdi
call fcn.1400c16a0
mov r15, qword [rbp + 0x21a78]
mov rcx, qword [0x140145a80]
xorps xmm0, xmm0
xor eax, eax
add rcx, 0x68
movups xmmword [rbp - 0x80], xmm0
mov dword [rbp - 0x80], 0x98
movups xmmword [rbp - 0x70], xmm0
mov qword [rbp + 0x10], rax
movups xmmword [rbp - 0x60], xmm0
movups xmmword [rbp - 0x50], xmm0
movups xmmword [rbp - 0x40], xmm0
movups xmmword [rbp - 0x30], xmm0
movups xmmword [rbp - 0x20], xmm0
movups xmmword [rbp - 0x10], xmm0
movups xmmword [rbp], xmm0
call fcn.1400930a0
test rax, rax
je 0x14006949b
mov rax, qword [0x140145a80]
mov rcx, qword [rax + 0x68]
mov rax, qword [rcx + 8]
mov qword [rbp - 0x78], rax
jmp 0x14006949f
mov rcx, qword [rsp + 0x58]
mov r15, rax
lea r8, [rbx + rbx]
mov rdx, r12
lea rcx, [r15 + rcx*2]
call fcn.1400e1c80
mov rcx, rsi
mov word [r15 + rcx*2], di
lea r8, [rcx*2 + 2]
lea rcx, [rbp + 0x230]
mov rdx, r15
call fcn.1400e1c80
jmp 0x14006934c
lea rsi, [rbp + 0x230]
nop
lea rdx, [0x140129fb4]
mov rcx, rsi
call fcn.1400e15d0
mov rsi, rax
test rax, rax
je 0x140069360
lea rcx, [rbp + 0x230]
mov r8, rbx
sub rax, rcx
lea rdx, [rsi + 2]
sar rax, 1
mov rcx, rsi
sub r8, rax
add r8, r8
call fcn.1400e1c80
dec rbx
add r14d, 0xffffffff
jne 0x140069450
jmp 0x140069360
mov qword [rbp - 0x78], rdi
cmp word [rbp + 0x1230], di
lea rax, [rbp + 0xa30]
movzx ebx, word [r15]
lea rcx, str.All_Files__._
mov qword [rbp - 0x28], rax
lea rax, [rbp + 0x1230]
cmove rax, rcx
mov dword [rbp - 0x48], 0xfffe
cmp word [rbp + 0x20], di
mov qword [rbp - 0x68], rax
lea rax, [rbp + 0x1a30]
mov qword [rbp - 0x50], rax
lea rax, [rbp + 0x20]
cmove rax, rdi
xor r14b, r14b
xor sil, sil
mov qword [rbp - 0x30], rax
test ebx, 0xffffff80
jne 0x140069509
mov edx, 2
mov ecx, ebx
call fcn.1400e8e20
mov edi, eax
mov eax, ebx
and eax, 0xffffffdf
test edi, edi
cmove eax, ebx
cmp eax, 0x4d
je 0x140069522
cmp eax, 0x53
jne 0x140069529
mov r14b, 1
jmp 0x140069525
mov sil, 1
add r15, 2
mov rcx, r15
nop dword [rax]
movzx eax, word [rcx]
cmp ax, 0x20
je 0x14006953f
cmp ax, 9
jne 0x140069545
add rcx, 2
jmp 0x140069530
test ax, ax
je 0x140069595
cmp ax, 0x2d
je 0x140069556
cmp ax, 0x2b
jne 0x140069560
lea rax, [rcx + 2]
mov rcx, rax
movzx eax, word [rax]
cmp ax, 0x30
jne 0x140069595
movzx eax, word [rcx + 2]
mov edx, 0xffdf
sub ax, 0x58
test dx, ax
jne 0x140069595
movzx ecx, word [rcx + 4]
call fcn.1400ea440
test eax, eax
je 0x140069595
xor edx, edx
mov rcx, r15
lea r8d, [rdx + 0x10]
call fcn.1400ea654
jmp 0x14006959d
mov rcx, r15
call fcn.1400e9e88
mov ecx, eax
mov edx, 0x180004
test cl, 0x20
mov eax, 0x80004
cmovne eax, edx
mov dword [rbp - 0x20], eax
test cl, 0x10
je 0x1400695bd
or eax, 2
mov dword [rbp - 0x20], eax
test cl, 8
je 0x1400695c9
bts eax, 0xd
mov dword [rbp - 0x20], eax
test sil, sil
jne 0x1400695d3
test cl, 4
je 0x1400695da
bts eax, 9
mov dword [rbp - 0x20], eax
test cl, 2
je 0x1400695e6
bts eax, 0xb
mov dword [rbp - 0x20], eax
test cl, 1
je 0x1400695f2
bts eax, 0xc
mov dword [rbp - 0x20], eax
call fcn.1400c9fe0
mov rcx, qword [0x14014a3e0]
xor r9d, r9d
mov r8d, 0x403
movzx edi, al
lea edx, [r9 + 0x44]
call qword [sym.imp.USER32.dll_PostMessageW]
inc dword [0x14014a3d8]
test r14b, r14b
mov r14, qword [rsp + 0x21b30]
jne 0x140069641
mov ecx, dword [rbp - 0x20]
test cl, 2
je 0x140069635
bt ecx, 0xd
jae 0x140069641
lea rcx, [rbp - 0x80]
call qword [sym.imp.COMDLG32.dll_GetOpenFileNameW]
jmp 0x14006964b
lea rcx, [rbp - 0x80]
call qword [sym.imp.COMDLG32.dll_GetSaveFileNameW]
dec dword [0x14014a3d8]
mov ebx, eax
mov rcx, qword [0x140145a80]
test dil, dil
sete al
mov byte [rcx + 0x12c], al
mov byte [rcx + 0x12e], dil
mov rax, qword [0x1401481b8]
test rax, rax
je 0x140069696
mov rax, qword [rax]
lea rcx, [0x14010d28c]
test rax, rax
cmovne rcx, rax
cmp word [rcx], 0
je 0x140069696
call qword [sym.imp.KERNEL32.dll_SetCurrentDirectoryW]
xor r9d, r9d
mov byte [rsp + 0x20], 1
lea r8, [r9 - 1]
test ebx, ebx
jne 0x140069700
xor edx, edx
mov rcx, r13
call fcn.1400c6a70
cmp eax, 1
je 0x1400696bc
xor eax, eax
jmp 0x140069856
call qword [sym.imp.COMDLG32.dll_CommDlgExtendedError]
lea rdx, [0x14012296c]
test eax, eax
je 0x1400696f4
mov rax, qword [0x140145a80]
test byte [rax + 0x140], 1
je 0x1400696f4
lea r9, [0x14010d28c]
xor r8d, r8d
mov rcx, r12
call fcn.140050010
jmp 0x140069856
mov rcx, qword [0x14014a3b0]
jmp 0x140069845
mov rcx, qword [0x14014a3b0]
lea rdx, [0x14010d31c]
call fcn.1400c6a70
test dword [rbp - 0x20], 0x200
je 0x14006983b
test sil, sil
je 0x14006980d
lea rcx, [rbp + 0x1a30]
mov rax, 0xffffffffffffffff
nop word [rax + rax]
cmp word [rcx + rax*2 + 2], 0
lea rax, [rax + 1]
jne 0x140069740
cmp word [rbp + rax*2 + 0x1a32], 0
jne 0x1400697d6
mov edi, 0x5c
lea rcx, [rbp + 0x1a30]
mov edx, edi
call fcn.1400e17e8
mov rbx, rax
test rax, rax
je 0x14006983b
mov ecx, 0xa
mov word [rax], cx
lea rax, [rbp + 0x1a30]
mov rcx, rbx
sub rcx, rax
and rcx, 0xfffffffffffffffe
cmp rcx, 4
jne 0x14006983b
cmp word [rbx - 2], 0x3a
jne 0x14006983b
mov r8, 0xffffffffffffffff
nop dword [rax + rax]
cmp word [rbx + r8*2 + 2], 0
lea r8, [r8 + 1]
jne 0x1400697b0
lea r8, [r8*2 + 2]
mov rdx, rbx
lea rcx, [rbx + 2]
call fcn.1400e1c80
mov word [rbx], di
jmp 0x14006983b
movzx edx, word [rbp + 0x1a30]
lea rax, [rbp + 0x1a30]
mov ecx, 0xa
nop dword [rax]
test dx, dx
je 0x1400697ff
add rax, 2
cmp word [rax], 0
jne 0x1400697f5
cmp word [rax + 2], 0
je 0x14006983b
mov word [rax], cx
mov edx, ecx
jmp 0x1400697f0
movzx edx, word [rbp + 0x1a30]
lea rax, [rbp + 0x1a30]
mov ecx, 0xa
test dx, dx
je 0x14006982f
add rax, 2
cmp word [rax], 0
jne 0x140069825
mov word [rax], cx
mov edx, ecx
cmp word [rax + 2], 0
jne 0x140069820
lea rdx, [rbp + 0x1a30]
mov rcx, r13
xor r9d, r9d
mov byte [rsp + 0x20], 1
lea r8, [r9 - 1]
call fcn.1400c6a70
mov rbx, qword [rsp + 0x21b80]
mov rdi, qword [rsp + 0x21b38]
add rsp, 0x21b40
pop r15
pop r13
pop r12
pop rsi
pop rbp
ret