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

Disassembly:
mov qword [rsp + 0x10], rdx
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
mov rbp, rsp
sub rsp, 0x70
mov qword [rbp - 8], 0xfffffffffffffffe
mov qword [rsp + 0xb0], rbx
mov rsi, rdx
mov r14, rcx
xor edi, edi
mov dword [rbp - 0x48], edi
call fcn.1400f9930
mov rcx, rax
test rax, rax
je 0x1400473dc
mov rax, qword [rax]
call qword [rax + 0x18]
add rax, 0x18
mov qword [rsi], rax
lea r12, [0x140345b70]
mov rdx, r12
mov rcx, rsi
call fcn.140015a40
or rbx, 0xffffffffffffffff
test al, al
jne 0x140046e3a
mov rax, rbx
nop dword [rax]
inc rax
cmp word [r12 + rax*2], 0
jne 0x140046e20
mov r8d, eax
mov rdx, r12
mov rcx, rsi
call fcn.1400105e0
nop
mov dword [rbp - 0x48], 1
call fcn.1400f9930
mov rcx, rax
test rax, rax
je 0x1400473e7
mov rax, qword [rax]
call qword [rax + 0x18]
add rax, 0x18
mov qword [rbp - 0x40], rax
mov rdx, r12
lea rcx, [rbp - 0x40]
call fcn.140015a40
test al, al
jne 0x140046e8e
mov rax, rbx
inc rax
cmp word [r12 + rax*2], 0
jne 0x140046e73
mov r8d, eax
mov rdx, r12
lea rcx, [rbp - 0x40]
call fcn.1400105e0
nop
call fcn.1400f9930
mov rcx, rax
test rax, rax
je 0x1400473f2
mov rax, qword [rax]
call qword [rax + 0x18]
add rax, 0x18
mov qword [rbp + 0x58], rax
mov rdx, r12
lea rcx, [rbp + 0x58]
call fcn.140015a40
test al, al
jne 0x140046edb
mov rax, rbx
inc rax
cmp word [r12 + rax*2], 0
jne 0x140046ec0
mov r8d, eax
mov rdx, r12
lea rcx, [rbp + 0x58]
call fcn.1400105e0
nop
call fcn.1400f9930
mov rcx, rax
test rax, rax
je 0x1400473fd
mov rax, qword [rax]
call qword [rax + 0x18]
add rax, 0x18
mov qword [rbp + 0x50], rax
mov rdx, r12
lea rcx, [rbp + 0x50]
call fcn.140015a40
test al, al
jne 0x140046f2b
mov rax, rbx
nop dword [rax]
inc rax
cmp word [r12 + rax*2], 0
jne 0x140046f10
mov r8d, eax
mov rdx, r12
lea rcx, [rbp + 0x50]
call fcn.1400105e0
nop
lea r15, [r14 + 0x88]
mov rdx, r15
mov rcx, rsi
call fcn.1400157c0
lea rcx, str.Users_Manual_
mov rax, rbx
nop word [rax + rax]
inc rax
cmp word [rcx + rax*2], 0
jne 0x140046f50
mov r8d, eax
mov rdx, rcx
mov rcx, rsi
call fcn.14001cfc0
mov r8d, edi
mov rax, qword [r14 + 0x10]
mov r9, qword [rax + 0x550]
lea rcx, [0x1403dcc48]
lea r10, [0x1403dce48]
test r9, r9
je 0x140046f90
movzx edx, word [r9 + 0xc]
jmp 0x140046f92
mov edx, edi
movzx eax, word [rcx]
cmp edx, eax
je 0x140046fa7
inc r8d
add rcx, 0x10
cmp rcx, r10
jl 0x140046f84
jmp 0x140046fd6
movsxd rax, r8d
add rax, rax
lea rdx, str.Arabic
mov rdx, qword [rdx + rax*8]
test rdx, rdx
je 0x140046fca
mov rdi, rbx
inc rdi
cmp word [rdx + rdi*2], 0
jne 0x140046fc0
mov r8d, edi
lea rcx, [rbp + 0x50]
call fcn.14001cfc0
mov rdx, qword [rbp + 0x50]
mov r8d, dword [rdx - 0x10]
mov rcx, rsi
call fcn.14001cfc0
lea r14, str..xps
mov r8, r14
mov rdx, rsi
lea rcx, [rbp - 0x30]
call fcn.14001c700
mov rdi, rax
mov qword [rbp - 0x38], rax
mov rax, qword [rax]
movzx ecx, word [rax]
cmp cx, word [0x140345b70]
jne 0x140047034
lea r8, str.Common.cpp
mov edx, 0x740
lea rcx, str._VCpl__RETURN_FALSE_ON_FALSE:_Line___d__File___s_n
call fcn.140055180
nop
mov rdx, qword [rdi]
sub rdx, 0x18
jmp 0x14004704d
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_GetFileAttributesW]
mov rdx, qword [rdi]
sub rdx, 0x18
cmp eax, 0xffffffff
jne 0x140047331
mov eax, ebx
lock xadd dword [rdx + 0x10], eax
sub eax, 1
jg 0x140047062
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
lea r13, str..pdf
mov r8, r13
mov rdx, rsi
lea rcx, [rbp - 0x28]
call fcn.14001c700
mov rdi, rax
mov qword [rbp - 0x50], rax
mov rax, qword [rax]
movzx ecx, word [rax]
cmp cx, word [0x140345b70]
jne 0x1400470b0
lea r8, str.Common.cpp
mov edx, 0x740
lea rcx, str._VCpl__RETURN_FALSE_ON_FALSE:_Line___d__File___s_n
call fcn.140055180
nop
mov rdx, qword [rdi]
sub rdx, 0x18
jmp 0x1400470c9
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_GetFileAttributesW]
mov rdx, qword [rdi]
sub rdx, 0x18
cmp eax, 0xffffffff
jne 0x1400472fd
mov eax, ebx
lock xadd dword [rdx + 0x10], eax
sub eax, 1
jg 0x1400470de
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
lea r14, str..chm
mov r8, r14
mov rdx, rsi
lea rcx, [rbp - 0x20]
call fcn.14001c700
mov rdi, rax
mov qword [rbp - 0x50], rax
mov rax, qword [rax]
movzx ecx, word [rax]
cmp cx, word [0x140345b70]
jne 0x14004712c
lea r8, str.Common.cpp
mov edx, 0x740
lea rcx, str._VCpl__RETURN_FALSE_ON_FALSE:_Line___d__File___s_n
call fcn.140055180
nop
mov rdx, qword [rdi]
sub rdx, 0x18
jmp 0x140047145
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_GetFileAttributesW]
mov rdx, qword [rdi]
sub rdx, 0x18
cmp eax, 0xffffffff
jne 0x1400472d3
mov eax, ebx
lock xadd dword [rdx + 0x10], eax
sub eax, 1
jg 0x14004715a
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
mov rdx, r15
mov rcx, rsi
call fcn.1400157c0
mov rax, rbx
lea rdx, str.Users_Manual_
nop
inc rax
cmp word [rdx + rax*2], 0
jne 0x140047170
mov r8d, eax
mov rcx, rsi
call fcn.14001cfc0
lea rdx, str.English
mov rax, rbx
nop
inc rax
cmp word [rdx + rax*2], 0
jne 0x140047190
mov r8d, eax
mov rcx, rsi
call fcn.14001cfc0
lea r15, str..xps
mov r8, r15
mov rdx, rsi
lea rcx, [rbp - 0x18]
call fcn.14001c700
mov rdi, rax
mov qword [rbp - 0x50], rax
mov rcx, qword [rax]
movzx r9d, word [rcx]
cmp r9w, word [0x140345b70]
jne 0x1400471f5
lea r8, str.Common.cpp
mov edx, 0x740
lea rcx, str._VCpl__RETURN_FALSE_ON_FALSE:_Line___d__File___s_n
call fcn.140055180
nop
mov rdx, qword [rdi]
sub rdx, 0x18
jmp 0x14004720b
call qword [sym.imp.KERNEL32.dll_GetFileAttributesW]
mov rdx, qword [rdi]
sub rdx, 0x18
cmp eax, 0xffffffff
jne 0x1400472a0
mov eax, ebx
lock xadd dword [rdx + 0x10], eax
sub eax, 1
jg 0x140047220
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
mov r8, r13
mov rdx, rsi
lea rcx, [rbp - 0x10]
call fcn.14001c700
mov rcx, rax
call fcn.140033e80
test eax, eax
je 0x140047254
mov rax, rbx
nop
inc rax
cmp word [r13 + rax*2], 0
jne 0x140047240
mov rdx, r13
jmp 0x14004735e
mov r8, r14
mov rdx, rsi
lea rcx, [rbp - 0x38]
call fcn.14001c700
mov rcx, rax
call fcn.140033e80
test eax, eax
mov rax, rbx
je 0x140047282
inc rax
cmp word [r14 + rax*2], 0
jne 0x140047272
jmp 0x14004735b
inc rax
cmp word [r12 + rax*2], 0
jne 0x140047282
mov r8d, eax
mov rdx, r12
mov rcx, rsi
call fcn.1400105e0
jmp 0x14004736a
mov eax, ebx
lock xadd dword [rdx + 0x10], eax
sub eax, 1
jg 0x1400472b5
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
mov rax, rbx
nop dword [rax + rax]
inc rax
cmp word [r15 + rax*2], 0
jne 0x1400472c0
mov rdx, r15
jmp 0x14004735e
mov eax, ebx
lock xadd dword [rdx + 0x10], eax
sub eax, 1
jg 0x1400472e8
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
mov rax, rbx
nop dword [rax + rax]
inc rax
cmp word [r14 + rax*2], 0
jne 0x1400472f0
jmp 0x14004735b
mov eax, ebx
lock xadd dword [rdx + 0x10], eax
sub eax, 1
jg 0x140047312
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
mov rax, rbx
nop word [rax + rax]
inc rax
cmp word [r13 + rax*2], 0
jne 0x140047320
mov rdx, r13
jmp 0x14004735e
mov eax, ebx
lock xadd dword [rdx + 0x10], eax
sub eax, 1
jg 0x140047346
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
mov rax, rbx
nop dword [rax]
inc rax
cmp word [r14 + rax*2], 0
jne 0x140047350
mov rdx, r14
mov r8d, eax
mov rcx, rsi
call fcn.14001cfc0
nop
mov rdx, qword [rbp + 0x50]
add rdx, 0xffffffffffffffe8
mov eax, ebx
lock xadd dword [rdx + 0x10], eax
sub eax, 1
jg 0x140047388
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
nop
mov rdx, qword [rbp + 0x58]
add rdx, 0xffffffffffffffe8
mov eax, ebx
lock xadd dword [rdx + 0x10], eax
sub eax, 1
jg 0x1400473a6
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
nop
mov rdx, qword [rbp - 0x40]
add rdx, 0xffffffffffffffe8
lock xadd dword [rdx + 0x10], ebx
sub ebx, 1
jg 0x1400473c1
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
mov rax, rsi
mov rbx, qword [rsp + 0xb0]
add rsp, 0x70
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret
mov ecx, 0x80004005
call fcn.14000de90
int3
mov ecx, 0x80004005
call fcn.14000de90
nop
mov ecx, 0x80004005
call fcn.14000de90
nop
mov ecx, 0x80004005
call fcn.14000de90
int3