Function at 0x1400f0890
Capabilities:
Check if file exists
Get file attributes

Disassembly:
push rbp
push rbx
push rsi
push rdi
push r12
push r13
push r14
push r15
lea rbp, [rsp - 0x4a8]
sub rsp, 0x5b8
mov rax, qword [0x1401f7280]
xor rax, rsp
mov qword [rbp + 0x490], rax
mov r13, qword [rbp + 0x520]
mov rsi, qword [rbp + 0x528]
mov r14, qword [rbp + 0x530]
mov r15, rdx
xor r12d, r12d
mov edx, 0x70e
mov dword [rbp - 0x64], r9d
mov dword [rbp - 0x70], r8d
mov rbx, rcx
mov edi, r12d
call qword [sym.imp.USER32.dll_GetDlgItem]
lea rdx, [rbp - 0x60]
mov rcx, rax
call qword [sym.imp.USER32.dll_GetWindowRect]
cmp dword [rbp + 0x510], edi
je 0x1400f0954
mov edx, 0x70b
mov rcx, rbx
call qword [sym.imp.USER32.dll_IsDlgButtonChecked]
test eax, eax
jne 0x1400f0954
mov edx, 0x70d
mov rcx, rbx
call qword [sym.imp.USER32.dll_GetDlgItem]
lea r8d, [r12 + 1]
xor edx, edx
mov rcx, rax
call qword [sym.imp.USER32.dll_InvalidateRect]
mov edx, 0x70d
mov rcx, rbx
call qword [sym.imp.USER32.dll_GetDlgItem]
mov rcx, rax
call qword [sym.imp.USER32.dll_UpdateWindow]
xor eax, eax
jmp 0x1400f118a
mov rcx, r15
call qword [sym.imp.KERNEL32.dll_GetFileAttributesW]
cmp eax, 0xffffffff
je 0x1400f09a7
test al, 0x10
je 0x1400f09a7
cmp dword [rbp + 0x518], edi
je 0x1400f0983
lea r8, [0x140181e34]
mov edx, 0x70f
mov rcx, rbx
call qword [sym.imp.USER32.dll_SetDlgItemTextW]
xor r9d, r9d
xor r8d, r8d
xor edx, edx
mov rcx, rbx
mov dword [rsp + 0x28], 1
mov dword [rsp + 0x20], r12d
call fcn.1400eebd0
xor eax, eax
jmp 0x1400f118a
test r15, r15
je 0x1400f1136
cmp word [r15], di
je 0x1400f1136
lea rdx, [0x1401878dc]
mov rcx, r15
call fcn.1400fafe4
test rax, rax
je 0x1400f1136
mov rcx, rax
call fcn.1400fa904
xor edx, edx
mov rcx, rbx
lea r8d, [rdx + 1]
call qword [sym.imp.USER32.dll_InvalidateRect]
mov rcx, rbx
call qword [sym.imp.USER32.dll_UpdateWindow]
mov r12d, dword [rbp + 0x518]
test r12d, r12d
je 0x1400f0aa1
mov r8d, dword [rbp - 0x58]
mov r9d, dword [rbp - 0x70]
mov dword [rsp + 0x80], 1
sub r8d, dword [rbp - 0x60]
mov dword [rsp + 0x78], 1
xor ecx, ecx
mov dword [rsp + 0x70], ecx
lea rax, [rbp - 0x68]
xor edx, edx
mov qword [rsp + 0x68], rax
lea rax, [rbp - 0x6c]
mov qword [rsp + 0x60], rax
mov qword [rsp + 0x58], rcx
lea rax, [rbp - 0x80]
mov qword [rsp + 0x50], rax
lea rax, [rbp - 0x7c]
mov qword [rsp + 0x48], rax
lea rax, [rbp - 0x78]
mov qword [rsp + 0x40], rax
lea rax, [rbp - 0x74]
mov qword [rsp + 0x38], rax
mov dword [rsp + 0x30], ecx
mov dword [rsp + 0x28], ecx
mov dword [rsp + 0x20], ecx
mov rcx, r15
call fcn.1400a0d70
mov rdi, rax
test r13, r13
je 0x1400f0a87
mov ecx, dword [rbp - 0x80]
mov dword [r13], ecx
test rsi, rsi
je 0x1400f0a91
mov ecx, dword [rbp - 0x6c]
mov dword [rsi], ecx
xor r13d, r13d
test r14, r14
je 0x1400f0b0b
mov eax, dword [rbp - 0x68]
mov dword [r14], eax
jmp 0x1400f0b0b
mov edx, dword [rbp - 0x58]
mov r8d, dword [rbp - 0x70]
xor r13d, r13d
sub edx, dword [rbp - 0x60]
mov qword [rsp + 0x78], r13
mov qword [rsp + 0x70], r13
mov dword [rsp + 0x68], r13d
mov dword [rsp + 0x60], 1
mov dword [rsp + 0x58], 1
mov dword [rsp + 0x50], r13d
mov qword [rsp + 0x48], r13
mov dword [rsp + 0x40], r13d
mov qword [rsp + 0x38], r13
lea rax, [rbp - 0x80]
lea r9, [rbp - 0x74]
mov qword [rsp + 0x30], rax
lea rax, [rbp - 0x7c]
mov rcx, r15
mov qword [rsp + 0x28], rax
lea rax, [rbp - 0x78]
mov qword [rsp + 0x20], rax
call fcn.1400a17b0
mov rdi, rax
mov rcx, rbx
test rdi, rdi
je 0x1400f0efe
lea r8, [0x140181e34]
mov edx, 0x70d
call qword [sym.imp.USER32.dll_SetDlgItemTextW]
mov rcx, rdi
call qword [sym.imp.KERNEL32.dll_GlobalLock]
test rax, rax
je 0x1400f0bfa
cmp dword [rax + 0x18], 1
jne 0x1400f0b45
mov dword [rax + 0x18], r13d
cmp dword [rax + 0x1c], 1
jne 0x1400f0b4f
mov dword [rax + 0x1c], r13d
mov esi, dword [rax + 4]
mov r14d, dword [rax + 8]
mov rcx, rdi
call qword [sym.imp.KERNEL32.dll_GlobalUnlock]
test esi, esi
je 0x1400f0bfa
test r14d, r14d
je 0x1400f0bfa
mov rcx, qword [rbp - 0x58]
mov rax, qword [rbp - 0x60]
movsd xmm3, qword [0x140183398]
mov edx, ecx
shr rcx, 0x20
movd xmm2, esi
sub edx, eax
shr rax, 0x20
movd xmm0, r14d
sub ecx, eax
sub edx, 2
cvtdq2ps xmm2, xmm2
sub ecx, 2
cvtdq2ps xmm0, xmm0
divss xmm2, xmm0
cmp r14d, ecx
jle 0x1400f0bc5
movd xmm0, ecx
mov r14d, ecx
cvtdq2ps xmm0, xmm0
mulss xmm0, xmm2
cvtps2pd xmm1, xmm0
addsd xmm1, xmm3
cvttsd2si esi, xmm1
cmp esi, edx
jle 0x1400f0be2
movd xmm0, edx
mov esi, edx
cvtdq2ps xmm0, xmm0
divss xmm0, xmm2
cvtps2pd xmm1, xmm0
addsd xmm1, xmm3
cvttsd2si r14d, xmm1
sub edx, esi
sub ecx, r14d
mov eax, edx
cdq
sub eax, edx
sar eax, 1
mov r10d, eax
mov eax, ecx
cdq
sub eax, edx
sar eax, 1
jmp 0x1400f0c08
mov esi, 1
mov r10d, r13d
mov eax, r13d
mov r14d, esi
mov r9d, esi
mov r8d, eax
mov edx, r10d
mov rcx, rbx
mov dword [rsp + 0x28], r13d
mov dword [rsp + 0x20], r14d
call fcn.1400eebd0
cmp dword [rbp + 0x538], 0
mov r8d, r14d
mov edx, esi
mov rcx, rdi
je 0x1400f0c5e
mov dword [rsp + 0x38], 1
mov dword [rsp + 0x30], 1
mov r9d, 5
mov dword [rsp + 0x28], r13d
mov dword [rsp + 0x20], 1
call fcn.1400ae670
jmp 0x1400f0c63
call fcn.1400af950
mov rsi, rax
test r12d, r12d
jne 0x1400f0c80
mov rcx, rdi
call qword [sym.imp.KERNEL32.dll_GlobalUnlock]
mov rcx, rdi
call qword [sym.imp.KERNEL32.dll_GlobalFree]
mov rdi, r13
test rsi, rsi
je 0x1400f1187
mov eax, dword [0x1402094d4]
xor r9d, r9d
mov r8, rsi
mov dword [rsp + 0x28], eax
mov edx, 0x70d
mov rcx, rbx
mov dword [rsp + 0x20], r13d
call fcn.1400eeec0
mov rcx, rsi
call qword [sym.imp.KERNEL32.dll_GlobalUnlock]
mov rcx, rsi
call qword [sym.imp.KERNEL32.dll_GlobalFree]
mov rcx, rbx
call qword [sym.imp.USER32.dll_SetActiveWindow]
test r12d, r12d
je 0x1400f1110
mov rcx, qword [0x1401fbba0]
lea r8, [rbp]
mov r9d, 0x20
mov edx, 0x513
call qword [sym.imp.USER32.dll_LoadStringW]
mov rcx, qword [0x1401fbba0]
lea r8, [rbp + 0x140]
mov r9d, 0x20
mov edx, 0x514
call qword [sym.imp.USER32.dll_LoadStringW]
mov rcx, qword [0x1401fbba0]
lea r8, [rbp + 0xc0]
mov r9d, 0x20
mov edx, 0x515
call qword [sym.imp.USER32.dll_LoadStringW]
mov rcx, qword [0x1401fbba0]
lea r8, [rbp + 0x100]
mov r9d, 0x20
mov edx, 0x516
call qword [sym.imp.USER32.dll_LoadStringW]
mov rcx, qword [0x1401fbba0]
lea r8, [rbp + 0x200]
mov r9d, 0x20
mov edx, 0x4e7c
call qword [sym.imp.USER32.dll_LoadStringW]
mov rcx, qword [0x1401fbba0]
lea r8, [rbp - 0x40]
mov r9d, 0x20
mov edx, 0x528
call qword [sym.imp.USER32.dll_LoadStringW]
mov eax, dword [rbp - 0x74]
mov ecx, dword [rbp - 0x7c]
imul eax, ecx
add eax, 0x1f
cdq
and edx, 0x1f
add eax, edx
sar eax, 5
shl eax, 2
movsxd rsi, eax
movsxd rax, dword [rbp - 0x78]
imul rsi, rax
add rsi, 0x28
cmp ecx, 8
jg 0x1400f0dba
mov eax, 1
shl eax, cl
lea rsi, [rsi + rax*4]
xor r9d, r9d
lea rdx, [rbp + 0x180]
mov rcx, r15
lea r8d, [r9 + 1]
call fcn.1400ecf30
mov r9d, dword [rbp - 0x74]
lea rax, [rbp + 0x180]
xorps xmm1, xmm1
cvtsi2ss xmm1, rsi
mov qword [rsp + 0x58], rax
lea rax, [rbp + 0x100]
lea r8, [rbp]
mov qword [rsp + 0x50], rax
lea rax, [rbp + 0x200]
lea rdx, str._s:_t_t_d_n_s:_t_t_d_n_s:_t_t_d_bpp_n_s:_t_.2f_MB_n_s:_t_s
mulss xmm1, dword [0x14018ff6c]
mulss xmm1, dword [0x14018ff6c]
lea rcx, [rbp + 0x280]
cvtps2pd xmm2, xmm1
movsd qword [rsp + 0x48], xmm2
mov qword [rsp + 0x40], rax
mov eax, dword [rbp - 0x7c]
mov dword [rsp + 0x38], eax
lea rax, [rbp + 0xc0]
mov qword [rsp + 0x30], rax
mov eax, dword [rbp - 0x78]
mov dword [rsp + 0x28], eax
lea rax, [rbp + 0x140]
mov qword [rsp + 0x20], rax
call fcn.1400f98c8
mov r8d, dword [rbp - 0x6c]
cmp r8d, 1
jle 0x1400f0ea4
lea r9, [rbp - 0x40]
lea rdx, str._n__d__s_
lea rcx, [rbp + 0x40]
call fcn.1400f98c8
lea rcx, [rbp + 0x280]
sub rcx, 2
nop
cmp word [rcx + 2], 0
lea rcx, [rcx + 2]
jne 0x1400f0e80
lea r8, [rbp + 0x40]
xor edx, edx
movzx eax, word [r8 + rdx*2]
lea rdx, [rdx + 1]
mov word [rcx + rdx*2 - 2], ax
test ax, ax
jne 0x1400f0e91
mov eax, dword [rbp - 0x64]
cmp eax, 1
jle 0x1400f0ef4
lea r9, [rbp - 0x40]
lea rdx, str._n__d__s_
lea rcx, [rbp + 0x40]
mov r8d, eax
call fcn.1400f98c8
lea rcx, [rbp + 0x280]
sub rcx, 2
nop
cmp word [rcx + 2], 0
lea rcx, [rcx + 2]
jne 0x1400f0ed0
lea r8, [rbp + 0x40]
xor edx, edx
movzx eax, word [r8 + rdx*2]
lea rdx, [rdx + 1]
mov word [rcx + rdx*2 - 2], ax
test ax, ax
jne 0x1400f0ee1
mov edx, 0x70f
jmp 0x1400f1100
xor r9d, r9d
xor r8d, r8d
xor edx, edx
mov dword [rsp + 0x28], r13d
mov dword [rsp + 0x20], r13d
call fcn.1400eebd0
test r12d, r12d
je 0x1400f0f2f
lea r8, [0x140181e34]
mov edx, 0x70f
mov rcx, rbx
call qword [sym.imp.USER32.dll_SetDlgItemTextW]
lea r8, [0x140181e34]
mov edx, 0x70d
mov rcx, rbx
call qword [sym.imp.USER32.dll_SetDlgItemTextW]
movsxd rcx, dword [rbp - 0x80]
cmp ecx, 0x22
ja 0x1400f0f5d
movabs rdx, 0x685000400
bt rdx, rcx
jb 0x1400f0f7d
add ecx, 0xffffffd7
cmp ecx, 0x3e
ja 0x1400f10a9
movabs rax, 0x4001000400000721
bt rax, rcx
jae 0x1400f10a9
mov edx, 0x70d
mov rcx, rbx
call qword [sym.imp.USER32.dll_GetDlgItem]
xor r8d, r8d
xor edx, edx
mov rcx, rax
call qword [sym.imp.USER32.dll_InvalidateRect]
mov edx, 0x70d
mov rcx, rbx
call qword [sym.imp.USER32.dll_GetDlgItem]
mov rcx, rax
call qword [sym.imp.USER32.dll_UpdateWindow]
mov rcx, qword [0x1401fbad8]
mov edx, 0x7f00
call qword [sym.imp.USER32.dll_LoadCursorW]
mov rcx, rax
call qword [sym.imp.USER32.dll_SetCursor]
mov rcx, rbx
call qword [sym.imp.USER32.dll_SetActiveWindow]
lea r8, [0x140181e34]
mov edx, 0x70d
mov rcx, rbx
call qword [sym.imp.USER32.dll_SetDlgItemTextW]
mov edx, 0x70d
mov rcx, rbx
call qword [sym.imp.USER32.dll_GetDlgItem]
mov rcx, rax
call qword [sym.imp.USER32.dll_GetDC]
movsxd rdx, dword [rbp - 0x80]
mov rsi, rax
cmp edx, 0x32
ja 0x1400f101c
movabs rax, 0x4020080000400
bt rax, rdx
jb 0x1400f102b
cmp edx, 0x59
je 0x1400f102b
cmp edx, 0x67
mov edx, 0x2707
jne 0x1400f1030
mov edx, 0x2708
mov rcx, qword [0x1401fbba0]
call qword [sym.imp.USER32.dll_LoadIconW]
mov edx, 0x70e
mov rcx, rbx
mov rdi, rax
call qword [sym.imp.USER32.dll_GetDlgItem]
lea rdx, [rbp - 0x50]
mov rcx, rax
call qword [sym.imp.USER32.dll_GetWindowRect]
mov eax, dword [rbp - 0x44]
mov r9, rdi
sub eax, dword [rbp - 0x4c]
mov rcx, rsi
sub eax, 0x20
cdq
sub eax, edx
sar eax, 1
mov r8d, eax
mov eax, dword [rbp - 0x48]
sub eax, dword [rbp - 0x50]
sub eax, 0x20
cdq
sub eax, edx
sar eax, 1
mov edx, eax
call qword [sym.imp.USER32.dll_DrawIcon]
mov edx, 0x70d
mov rcx, rbx
call qword [sym.imp.USER32.dll_GetDlgItem]
mov rdx, rsi
mov rcx, rax
call qword [sym.imp.USER32.dll_ReleaseDC]
xor eax, eax
jmp 0x1400f118a
mov edx, 0x70d
mov rcx, rbx
call qword [sym.imp.USER32.dll_GetDlgItem]
xor r8d, r8d
xor edx, edx
mov rcx, rax
call qword [sym.imp.USER32.dll_InvalidateRect]
mov edx, 0x70d
mov rcx, rbx
call qword [sym.imp.USER32.dll_GetDlgItem]
mov rcx, rax
call qword [sym.imp.USER32.dll_UpdateWindow]
mov rcx, qword [0x1401fbba0]
lea r8, [rbp + 0x280]
mov r9d, 0x82
mov edx, 0x525
call qword [sym.imp.USER32.dll_LoadStringW]
mov edx, 0x70d
lea r8, [rbp + 0x280]
mov rcx, rbx
call qword [sym.imp.USER32.dll_SetDlgItemTextW]
mov rcx, qword [0x1401fbad8]
mov edx, 0x7f00
call qword [sym.imp.USER32.dll_LoadCursorW]
mov rcx, rax
call qword [sym.imp.USER32.dll_SetCursor]
mov rcx, rbx
call qword [sym.imp.USER32.dll_SetActiveWindow]
jmp 0x1400f1187
xor r9d, r9d
xor r8d, r8d
xor edx, edx
mov rcx, rbx
mov dword [rsp + 0x28], 1
mov dword [rsp + 0x20], r12d
call fcn.1400eebd0
mov rcx, qword [0x1401fbba0]
lea r8, [rbp + 0x280]
mov r9d, 0x82
mov edx, 0x525
call qword [sym.imp.USER32.dll_LoadStringW]
lea r8, [rbp + 0x280]
mov edx, 0x70d
mov rcx, rbx
call qword [sym.imp.USER32.dll_SetDlgItemTextW]
mov rax, rdi
mov rcx, qword [rbp + 0x490]
xor rcx, rsp
call fcn.1400f9a80
add rsp, 0x5b8
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbx
pop rbp
ret