Function at 0x45ad20
Capabilities:
Check if file exists
Get common file path
Get file attributes

Disassembly:
mov eax, 0x1670
call fcn.006ab750
push ebx
push ebp
mov ebp, dword [esp + 0x167c]
push esi
push edi
push 0xa8e
push ebp
call fcn.00459d20
test al, al
je 0x45b255
push ebp
call fcn.0045ab30
mov esi, dword [sym.imp.SHELL32.dll_SHGetFolderPathW]
xor ebx, ebx
lea eax, [esp + 0x848]
push eax
push ebx
push ebx
push 0xe
push ebx
mov word [esp + 0x85c], bx
call esi
cmp word [esp + 0x848], bx
jne 0x45ad8e
lea ecx, [esp + 0x848]
push ecx
push ebx
push ebx
push 5
push ebx
mov word [esp + 0x85c], bx
call esi
push str.FindPlay
push str.SoftwareNCH_SoftwareDebut_s
mov esi, 0x104
lea edi, [esp + 0x648]
call fcn.004af0d0
add esp, 8
lea edx, [esp + 0xc58]
push edx
lea eax, [esp + 0x84c]
push eax
push str.SaveFolder
mov ecx, edi
mov edx, SysReAllocStringLen
call fcn.004af7e0
mov ecx, dword [ebp + 4]
mov edi, dword [sym.imp.USER32.dll_GetDlgItem]
push ebx
push ebx
push 0x1032
push 0x64
push ecx
call edi
mov esi, dword [sym.imp.USER32.dll_SendMessageW]
push eax
call esi
cmp eax, 1
jne 0x45b0a0
mov edx, dword [ebp + 4]
push 2
push 0xffffffffffffffff
push 0x100c
push 0x64
push edx
call edi
push eax
call esi
lea esi, [esp + 0x230]
mov edx, ebp
call fcn.0045aca0
lea edi, [esp + 0xa50]
call fcn.004ad1c0
mov ecx, 0x6ca7e8
mov eax, edi
lea esp, [esp]
mov dx, word [eax]
cmp dx, word [ecx]
jne 0x45ae56
cmp dx, bx
je 0x45ae52
mov dx, word [eax + 2]
cmp dx, word [ecx + 2]
jne 0x45ae56
add eax, 4
add ecx, 4
cmp dx, bx
jne 0x45ae30
xor eax, eax
jmp 0x45ae5b
sbb eax, eax
sbb eax, 0xffffffff
cmp eax, ebx
je 0x45aea6
mov ecx, 0x6ca7dc
lea eax, [esp + 0xa50]
jmp 0x45ae70
mov dx, word [eax]
cmp dx, word [ecx]
jne 0x45ae96
cmp dx, bx
je 0x45ae92
mov dx, word [eax + 2]
cmp dx, word [ecx + 2]
jne 0x45ae96
add eax, 4
add ecx, 4
cmp dx, bx
jne 0x45ae70
xor eax, eax
jmp 0x45ae9b
sbb eax, eax
sbb eax, 0xffffffff
cmp eax, ebx
je 0x45aea6
xor bl, bl
jmp 0x45af2d
lea eax, [esp + 0x640]
push eax
mov bl, 1
call fcn.00471440
push str.FindPlay
push str.SoftwareNCH_SoftwareDebut_s
mov esi, 0x104
lea edi, [esp + 0x1480]
call fcn.004af0d0
add esp, 8
lea ecx, [esp + 0x438]
push ecx
lea edx, [esp + 0x644]
push edx
push str.SaveFolderPhotos
mov ecx, edi
mov edx, SysReAllocStringLen
call fcn.004af7e0
lea eax, [esp + 0x438]
push eax
call dword [sym.imp.KERNEL32.dll_GetFileAttributesW]
cmp eax, 0xffffffff
jne 0x45af1a
lea edx, [esp + 0x640]
lea esi, [esp + 0x438]
call fcn.004011d0
lea edx, [esp + 0x438]
lea esi, [esp + 0xc58]
call fcn.004011d0
lea ecx, [esp + 0x230]
push ecx
call dword [sym.imp.KERNEL32.dll_GetFileAttributesW]
cmp eax, 0xffffffff
je 0x45b255
lea edx, [esp + 0x230]
lea esi, [esp + 0xe60]
call fcn.004ad160
push 0x6bc0cc
mov edx, esi
push edx
lea eax, [esp + 0x30]
push eax
lea eax, [esp + 0xc64]
call fcn.004ad3a0
test bl, bl
mov eax, str.Save_Image_As...
jne 0x45af7e
mov eax, str.Save_Recording_As...
mov edx, dword [ebp + 4]
push 0x6cdcf0
push eax
lea ecx, [esp + 0x30]
push ecx
push edx
lea eax, [esp + 0xa62]
lea ecx, [esp + 0xc68]
call fcn.004ac960
test al, al
je 0x45b255
lea eax, [esp + 0x28]
lea edi, [esp + 0x1068]
call fcn.004ad090
test bl, bl
mov eax, str.SaveFolderPhotos
jne 0x45afc6
mov eax, str.SaveFolder
lea ecx, [esp + 0x1068]
push ecx
push eax
mov eax, str.FindPlay
call fcn.00401870
lea esi, [esp + 0x28]
lea edi, [esp + 0x640]
call fcn.004ad1c0
mov ecx, edi
lea eax, [esp + 0xa50]
call fcn.00401160
test eax, eax
je 0x45b076
mov eax, dword [ebp + 4]
push eax
mov edx, esi
push edx
lea eax, [esp + 0x238]
push eax
call fcn.0042a0b0
test al, al
je 0x45b242
lea esi, [ebp + 0xde6]
lea edx, [esp + 0x28]
call fcn.004011d0
mov ecx, edi
mov eax, 0x6ccf00
call fcn.00401160
test eax, eax
mov eax, str.Recommended_GIF_length_is_6_seconds._Trim_your_video_using_VideoPad
je 0x45b040
mov eax, str.Edit_video_file_with_VideoPad
mov ecx, dword [ebp + 0x163]
push 0
push str.Show_in_Folder
push 0xa34
push str.Launch_VideoPad
push eax
push ecx
or eax, 0xffffffff
mov ecx, 0xa35
call fcn.00422ad0
mov eax, dword [ebp + 0x163]
call fcn.00403680
jmp 0x45b242
lea edx, [esp + 0x230]
lea ecx, [esp + 0x14]
mov dword [esp + 0x14], edx
mov edx, dword [ebp + 4]
push ecx
lea eax, [esp + 0x2c]
push edx
lea esi, [esp + 0x24]
mov dword [esp + 0x20], eax
call fcn.004884c0
jmp 0x45b242
xor eax, eax
jmp 0x45b0b0
movzx ecx, word [esp + eax + 0xc58]
mov word [esp + eax + 0x28], cx
add eax, 2
cmp cx, bx
jne 0x45b0b0
mov eax, dword [ebp + 4]
push str.Save
lea ecx, [esp + 0x18]
push ecx
push str.Save_recordings_into_folder...
lea edx, [esp + 0x34]
push edx
push eax
mov dword [esp + 0x28], 0x41
mov byte [esp + 0x2c], 0x7f
call fcn.004ac390
test al, al
je 0x45b255
mov eax, dword [ebp + 4]
push ebx
push ebx
push 0x1004
push 0x64
push eax
call dword [sym.imp.USER32.dll_SendDlgItemMessageW]
test eax, eax
mov dword [esp + 0x1c], eax
jle 0x45b20f
mov ecx, dword [ebp + 4]
push 2
push ebx
push 0x102c
push 0x64
push ecx
call dword [sym.imp.USER32.dll_GetDlgItem]
push eax
call dword [sym.imp.USER32.dll_SendMessageW]
shr eax, 1
test al, 1
je 0x45b202
lea esi, [esp + 0x230]
mov eax, ebx
mov edx, ebp
call fcn.0045aca0
mov edi, dword [sym.imp.KERNEL32.dll_GetFileAttributesW]
mov edx, esi
push edx
call edi
cmp eax, 0xffffffff
je 0x45b202
mov edx, esi
lea esi, [esp + 0xe60]
call fcn.004ad160
push 0x6bc0cc
mov eax, esi
push eax
lea ecx, [esp + 0x440]
push ecx
lea eax, [esp + 0x34]
call fcn.004ad3a0
lea edx, [esp + 0x438]
push edx
call edi
cmp eax, 0xffffffff
je 0x45b1d5
lea eax, [esp + 0x438]
push eax
push str.File___s__already_exists._Do_you_want_to_overwrite_it_
mov esi, 0x208
lea edi, [esp + 0x1070]
call fcn.004af0d0
mov edx, dword [ebp + 4]
add esp, 8
push str.File_Already_Exists
mov ecx, edi
push ecx
push edx
mov ecx, str.Skip
mov eax, str.Overwrite
call fcn.004f3920
test al, al
je 0x45b202
lea eax, [esp + 0x230]
lea edx, [esp + 0x20]
mov dword [esp + 0x20], eax
mov eax, dword [ebp + 4]
push edx
lea ecx, [esp + 0x43c]
push eax
lea esi, [esp + 0x1c]
mov dword [esp + 0x2c], ecx
call fcn.004884c0
cmp dword [eax], 0
jne 0x45b20f
add ebx, 1
cmp ebx, dword [esp + 0x1c]
jl 0x45b116
push str.FindPlay
push str.SoftwareNCH_SoftwareDebut_s
mov esi, 0x104
lea edi, [esp + 0x1070]
call fcn.004af0d0
add esp, 8
push str.SaveFolder
push SysReAllocStringLen
lea esi, [esp + 0x30]
mov edx, edi
call fcn.004af710
mov ecx, dword [ebp + 4]
push 0x64
push ecx
call dword [sym.imp.USER32.dll_GetDlgItem]
push eax
call dword [sym.imp.USER32.dll_SetFocus]
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x1670
ret 4