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

Disassembly:
mov rax, rsp
push rbp
push r12
push r13
push r14
push r15
lea rbp, [rax - 0x5f]
sub rsp, 0xd0
mov qword [rbp - 0x41], 0xfffffffffffffffe
mov qword [rax + 0x10], rbx
mov qword [rax + 0x18], rsi
mov qword [rax + 0x20], rdi
mov rax, qword [0x1400512d0]
xor rax, rsp
mov qword [rbp + 0x2f], rax
mov rbx, rcx
call fcn.1400011d0
mov rcx, rax
xor esi, esi
mov edx, esi
test rax, rax
setne dl
test edx, edx
jne 0x140018f9d
mov ecx, 0x80004005
call fcn.1400047a0
int3
mov rax, qword [rax]
call qword [rax + 0x18]
lea rdi, [rax + 0x18]
mov qword [rbp - 0x61], rdi
xorps xmm0, xmm0
movdqu xmmword [rbp - 0x79], xmm0
mov r12, rsi
mov qword [rbp - 0x69], rsi
mov qword [rbp + 7], 7
mov qword [rbp - 1], rsi
mov word [rbp - 0x11], si
mov r8d, 1
lea rdx, [0x1400452ac]
lea rcx, [rbp - 0x11]
call fcn.14000e180
nop
mov rdx, qword [rbx + 0x338]
mov qword [rbp - 0x19], 7
mov qword [rbp - 0x21], rsi
mov word [rbp - 0x31], si
cmp word [rdx], 0
jne 0x140019003
mov r8, rsi
jmp 0x14001901b
or r8, 0xffffffffffffffff
nop word [rax + rax]
inc r8
cmp word [rdx + r8*2], 0
jne 0x140019010
lea rcx, [rbp - 0x31]
call fcn.14000e180
nop
mov r14, rsi
mov qword [rbp - 0x71], rsi
lea r9, [rbp - 0x11]
mov r15, qword [rbp + 7]
cmp r15, 8
mov rcx, qword [rbp - 0x11]
cmovae r9, rcx
mov r8, qword [rbp - 1]
mov r13, qword [rbp - 0x19]
mov rbx, qword [rbp - 0x21]
mov rsi, qword [rbp - 0x31]
test rbx, rbx
je 0x1400190b8
lea rax, [rbp - 0x31]
cmp r13, 8
cmovae rax, rsi
lea r10, [rax + rbx*2]
lea r11, [rbp - 0x31]
cmovae r11, rsi
cmp r11, r10
jae 0x1400190b8
test r8, r8
je 0x14001909c
mov rcx, r8
mov rax, r9
movzx edx, word [r11]
cmp word [rax], dx
je 0x140019091
add rax, 2
dec rcx
je 0x14001909c
jmp 0x140019081
add r11, 2
cmp r11, r10
jae 0x1400190b4
jmp 0x140019072
lea rax, [rbp - 0x31]
cmp r13, 8
cmovae rax, rsi
sub r11, rax
sar r11, 1
mov rcx, qword [rbp - 0x11]
jmp 0x1400190bc
mov rcx, qword [rbp - 0x11]
or r11, 0xffffffffffffffff
lea r9, [rbp - 0x11]
cmp r15, 8
cmovae r9, rcx
test r8, r8
je 0x14001912a
cmp r11, rbx
jae 0x14001912a
lea rax, [rbp - 0x31]
cmp r13, 8
cmovae rax, rsi
lea r10, [rax + rbx*2]
lea rax, [rbp - 0x31]
cmovae rax, rsi
lea r15, [rax + r11*2]
cmp r15, r10
jae 0x14001912a
test r8, r8
je 0x140019110
mov rcx, r8
mov rax, r9
movzx edx, word [r15]
cmp word [rax], dx
je 0x140019116
add rax, 2
dec rcx
jne 0x140019102
add r15, 2
jmp 0x1400190ee
lea rax, [rbp - 0x31]
cmp r13, 8
cmovae rax, rsi
sub r15, rax
sar r15, 1
jmp 0x14001912e
or r15, 0xffffffffffffffff
mov rbx, qword [rbp - 0x79]
cmp r15, 0xffffffffffffffff
jne 0x140019141
cmp r11, r15
je 0x14001944c
mov r9, r15
sub r9, r11
mov r8, r11
lea rdx, [rbp + 0xf]
lea rcx, [rbp - 0x31]
call fcn.14000d3a0
mov rsi, rax
cmp rax, r14
jae 0x140019237
cmp rbx, rax
ja 0x140019237
sub rsi, rbx
cmp r14, r12
jne 0x1400191e9
mov rax, r12
sub rax, r14
sar rax, 5
cmp rax, 1
jae 0x1400191e9
sub r14, rbx
sar r14, 5
movabs rdx, 0x7ffffffffffffff
mov rax, rdx
sub rax, r14
cmp rax, 1
jb 0x14001976e
inc r14
sub r12, rbx
sar r12, 5
mov rcx, r12
shr rcx, 1
mov rax, rdx
sub rax, rcx
cmp rax, r12
jae 0x1400191c7
xor eax, eax
mov r12d, eax
jmp 0x1400191ca
add r12, rcx
cmp r12, r14
cmovb r12, r14
mov rdx, r12
lea rcx, [rbp - 0x79]
call fcn.14000e460
mov r12, qword [rbp - 0x69]
mov r14, qword [rbp - 0x71]
mov rbx, qword [rbp - 0x79]
and rsi, 0xffffffffffffffe0
add rsi, rbx
test r14, r14
je 0x140019312
mov qword [r14 + 0x18], 7
xor r13d, r13d
mov qword [r14 + 0x10], r13
mov word [r14], r13w
cmp qword [rsi + 0x18], 8
jae 0x1400192e9
mov r8, qword [rsi + 0x10]
inc r8
je 0x1400192f2
add r8, r8
mov rdx, rsi
mov rcx, r14
call fcn.1400218b0
jmp 0x1400192f2
cmp r14, r12
jne 0x1400192b1
mov rax, r12
sub rax, r14
sar rax, 5
cmp rax, 1
jae 0x1400192b1
sub r14, rbx
sar r14, 5
movabs rdx, 0x7ffffffffffffff
mov rax, rdx
sub rax, r14
cmp rax, 1
jb 0x14001977b
inc r14
sub r12, rbx
sar r12, 5
mov rcx, r12
shr rcx, 1
mov rax, rdx
sub rax, rcx
cmp rax, r12
jae 0x14001928f
xor eax, eax
mov r12d, eax
jmp 0x140019292
add r12, rcx
cmp r12, r14
cmovb r12, r14
mov rdx, r12
lea rcx, [rbp - 0x79]
call fcn.14000e460
mov r12, qword [rbp - 0x69]
mov r14, qword [rbp - 0x71]
mov rbx, qword [rbp - 0x79]
test r14, r14
je 0x140019312
mov qword [r14 + 0x18], 7
xor r13d, r13d
mov qword [r14 + 0x10], r13
mov word [r14], r13w
cmp qword [rsi + 0x18], 8
jae 0x1400192e9
mov r8, qword [rsi + 0x10]
inc r8
je 0x1400192f2
add r8, r8
mov rdx, rsi
mov rcx, r14
call fcn.1400218b0
jmp 0x1400192f2
mov rax, qword [rsi]
mov qword [r14], rax
mov qword [rsi], r13
mov rax, qword [rsi + 0x10]
mov qword [r14 + 0x10], rax
mov rax, qword [rsi + 0x18]
mov qword [r14 + 0x18], rax
mov qword [rsi + 0x18], 7
mov qword [rsi + 0x10], r13
mov word [rsi], r13w
add r14, 0x20
mov qword [rbp - 0x71], r14
cmp qword [rbp + 0x27], 8
jb 0x14001932a
mov rcx, qword [rbp + 0xf]
call fcn.140021650
lea r9, [rbp - 0x11]
mov rcx, qword [rbp + 7]
cmp rcx, 8
cmovae r9, qword [rbp - 0x11]
mov r8, qword [rbp - 1]
mov r13, qword [rbp - 0x19]
mov rsi, qword [rbp - 0x21]
mov rdx, qword [rbp - 0x31]
cmp r15, rsi
jae 0x1400193bf
lea rax, [rbp - 0x31]
cmp r13, 8
cmovae rax, rdx
lea r10, [rax + rsi*2]
lea rax, [rbp - 0x31]
cmovae rax, rdx
lea r11, [rax + r15*2]
cmp r11, r10
jae 0x1400193bf
test r8, r8
je 0x14001939b
mov rcx, r8
mov rax, r9
movzx edx, word [r11]
cmp word [rax], dx
je 0x140019390
add rax, 2
dec rcx
je 0x14001939b
jmp 0x140019380
add r11, 2
cmp r11, r10
jae 0x1400193b7
jmp 0x140019371
lea rax, [rbp - 0x31]
cmp r13, 8
mov rdx, qword [rbp - 0x31]
cmovae rax, rdx
sub r11, rax
sar r11, 1
mov rcx, qword [rbp + 7]
jmp 0x1400193c3
mov rdx, qword [rbp - 0x31]
mov rcx, qword [rbp + 7]
or r11, 0xffffffffffffffff
lea r9, [rbp - 0x11]
cmp rcx, 8
cmovae r9, qword [rbp - 0x11]
test r8, r8
je 0x14001943f
cmp r11, rsi
jae 0x14001943f
lea rax, [rbp - 0x31]
cmp r13, 8
cmovae rax, rdx
lea r10, [rax + rsi*2]
lea rax, [rbp - 0x31]
cmovae rax, rdx
lea r15, [rax + r11*2]
cmp r15, r10
jae 0x14001943f
test r8, r8
je 0x14001941e
mov rcx, r8
mov rax, r9
movzx edx, word [r15]
nop word [rax + rax]
cmp word [rax], dx
je 0x140019424
add rax, 2
dec rcx
jne 0x140019410
add r15, 2
jmp 0x1400193f6
lea rax, [rbp - 0x31]
cmp r13, 8
mov rsi, qword [rbp - 0x31]
cmovae rax, rsi
sub r15, rax
sar r15, 1
jmp 0x140019132
or r15, 0xffffffffffffffff
mov rsi, qword [rbp - 0x31]
jmp 0x140019132
cmp r13, 8
jb 0x14001945a
mov rcx, rsi
call fcn.140021650
mov qword [rbp - 0x19], 7
xor r12d, r12d
mov qword [rbp - 0x21], r12
mov word [rbp - 0x31], r12w
cmp qword [rbp + 7], 8
jb 0x14001947e
mov rcx, qword [rbp - 0x11]
call fcn.140021650
cmp rbx, r14
je 0x140019713
lea rax, [rbp - 0x59]
mov qword [rbp - 0x39], rax
lea rsi, str.Inf_
call fcn.1400011d0
mov ecx, r12d
test rax, rax
setne cl
test ecx, ecx
je 0x140019708
mov rdx, qword [rax]
mov rcx, rax
call qword [rdx + 0x18]
add rax, 0x18
mov qword [rbp - 0x59], rax
test rsi, 0xffffffffffff0000
jne 0x1400194e6
movzx esi, si
mov ecx, esi
call fcn.140004860
test rax, rax
je 0x1400194f9
mov r8d, esi
mov rdx, rax
lea rcx, [rbp - 0x59]
call fcn.14000e650
jmp 0x1400194f9
mov r8d, 5
mov rdx, rsi
lea rcx, [rbp - 0x59]
call fcn.14000e000
nop
lea rdx, [rbp - 0x59]
lea rcx, [rbp - 0x49]
call fcn.140013cb0
nop
cmp qword [rbx + 0x18], 8
jb 0x140019513
mov r8, qword [rbx]
jmp 0x140019516
mov r8, rbx
mov rdx, rax
lea rcx, [rbp - 0x51]
call fcn.14000cf60
nop
mov r13, qword [rax]
lea rcx, [r13 - 0x18]
lea rsi, [rdi - 0x18]
cmp rcx, rsi
je 0x140019643
cmp dword [rsi + 0x10], 0
jl 0x14001956e
mov rax, qword [rsi]
cmp qword [rcx], rax
jne 0x14001956e
call fcn.14000e0f0
mov rdi, rax
lock add dword [rsi + 0x10], 0xffffffff
jg 0x140019561
mov rcx, qword [rsi]
mov r8, qword [rcx]
mov rdx, rsi
call qword [r8 + 8]
lea rax, [rdi + 0x18]
mov qword [rbp - 0x61], rax
jmp 0x140019643
movsxd r14, dword [r13 - 0x10]
test r14d, r14d
jne 0x1400195c7
mov r14, qword [rsi]
cmp dword [rsi + 8], 0
je 0x140019643
cmp dword [rsi + 0x10], 0
jge 0x1400195a1
cmp dword [rdi - 0xc], 0
jl 0x140019698
mov dword [rdi - 0x10], r12d
mov word [rdi], r12w
jmp 0x140019643
lock add dword [rsi + 0x10], 0xffffffff
jg 0x1400195b4
mov rcx, qword [rsi]
mov rax, qword [rcx]
mov rdx, rsi
call qword [rax + 8]
mov rax, qword [r14]
mov rcx, r14
call qword [rax + 0x18]
add rax, 0x18
mov qword [rbp - 0x61], rax
jmp 0x140019643
test r13, r13
je 0x1400196b9
mov r12d, dword [rdi - 0x10]
mov r15, r13
sub r15, rdi
sar r15, 1
test r14d, r14d
js 0x1400196ae
mov ecx, 1
sub ecx, dword [rsi + 0x10]
mov eax, dword [rsi + 0xc]
sub eax, r14d
or eax, ecx
jge 0x140019608
mov edx, r14d
lea rcx, [rbp - 0x61]
call fcn.14000e980
mov rdi, qword [rbp - 0x61]
lea rsi, [r14 + r14]
movsxd rdx, dword [rdi - 0xc]
mov rcx, rdi
mov r9, rsi
add rdx, rdx
cmp r15, r12
ja 0x140019629
lea r8, [rdi + r15*2]
call fcn.14002205c
jmp 0x140019631
mov r8, r13
call fcn.140022da0
cmp r14d, dword [rdi - 0xc]
jg 0x1400196a3
mov dword [rdi - 0x10], r14d
xor r12d, r12d
mov word [rsi + rdi], r12w
mov rdx, qword [rbp - 0x51]
add rdx, 0xffffffffffffffe8
lock add dword [rdx + 0x10], 0xffffffff
jg 0x14001965c
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + 8]
nop
mov rdx, qword [rbp - 0x49]
add rdx, 0xffffffffffffffe8
lock add dword [rdx + 0x10], 0xffffffff
jg 0x140019674
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + 8]
mov rdi, qword [rbp - 0x61]
mov rcx, rdi
call qword [sym.imp.KERNEL32.dll_GetFileAttributesW]
cmp eax, 0xffffffff
je 0x1400196ca
add rbx, 0x20
mov r14, qword [rbp - 0x71]
cmp rbx, r14
je 0x1400196c4
jmp 0x14001948f
mov ecx, 0x80070057
call fcn.1400047a0
int3
mov ecx, 0x80070057
call fcn.1400047a0
int3
mov ecx, 0x80070057
call fcn.1400047a0
int3
mov ecx, 0x80070057
call fcn.1400047a0
nop
mov rbx, qword [rbp - 0x79]
jmp 0x140019713
test byte [0x1400512b0], 2
je 0x1400196f8
cmp qword [rbx + 0x18], 8
jb 0x1400196dd
mov rbx, qword [rbx]
mov r9, rbx
lea r8, str._s_is_removed_n
mov edx, 2
lea rcx, str.CEnhanceCallerService::IsSynOemInfRemoved
call fcn.1400206a0
mov r14, qword [rbp - 0x71]
mov rbx, qword [rbp - 0x79]
mov r15d, 1
jmp 0x140019716
mov ecx, 0x80004005
call fcn.1400047a0
int3
mov r15d, r12d
test rbx, rbx
je 0x140019754
mov rsi, rbx
cmp rbx, r14
je 0x14001974b
cmp qword [rsi + 0x18], 8
jb 0x140019732
mov rcx, qword [rsi]
call fcn.140021650
mov qword [rsi + 0x18], 7
mov qword [rsi + 0x10], r12
mov word [rsi], r12w
add rsi, 0x20
cmp rsi, r14
jne 0x140019723
mov rcx, rbx
call fcn.140021650
nop
lea rdx, [rdi - 0x18]
lock add dword [rdx + 0x10], 0xffffffff
jg 0x140019769
mov rcx, qword [rdx]
mov r8, qword [rcx]
call qword [r8 + 8]
mov eax, r15d
jmp 0x140019788
lea rcx, str.vector_T__too_long
call fcn.140034e84
int3
lea rcx, str.vector_T__too_long
call fcn.140034e84
nop
mov rcx, qword [rbp + 0x2f]
xor rcx, rsp
call fcn.140021670
lea r11, [rsp + 0xd0]
mov rbx, qword [r11 + 0x38]
mov rsi, qword [r11 + 0x40]
mov rdi, qword [r11 + 0x48]
mov rsp, r11
pop r15
pop r14
pop r13
pop r12
pop rbp
ret