Function at 0x14001aab0
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 - 0x1f]
sub rsp, 0x98
xor r15d, r15d
mov r12d, r15d
mov dword [rbp + 0x67], r15d
xor edx, edx
lea rcx, [rbp - 1]
call fcn.140019360
nop
xor bl, bl
lea rcx, [rbp - 0x41]
call fcn.140019740
nop
lea r8, str.new_Aliworkbench.exe
lea rdx, [rbp - 0x41]
lea rcx, [rbp - 0x29]
call fcn.140002620
nop
mov rcx, qword [rbp - 0x29]
call qword [sym.imp.SHLWAPI.dll_PathFileExistsW]
mov rsi, 0xffffffffffffffff
test eax, eax
je 0x14001b0b8
mov rcx, qword [rbp - 0x29]
call qword [sym.imp.KERNEL32.dll_GetFileAttributesW]
test al, 0x10
jne 0x14001b0b8
call fcn.1400033f0
mov rcx, rax
test rax, rax
je 0x14001b13d
mov rax, qword [rax]
call qword [rax + 0x18]
add rax, 0x18
mov qword [rbp - 0x21], rax
lea rdx, [0x140045170]
cmp rdx, 0x10000
jae 0x14001ab68
movzx edx, dx
lea rcx, [rbp - 0x21]
call fcn.140007210
jmp 0x14001ab85
mov r8, rsi
nop dword [rax + rax]
inc r8
cmp word [rdx + r8*2], 0
jne 0x14001ab70
lea rcx, [rbp - 0x21]
call fcn.1400048b0
nop
call fcn.1400033f0
mov rcx, rax
test rax, rax
je 0x14001b148
mov rax, qword [rax]
call qword [rax + 0x18]
add rax, 0x18
mov qword [rbp - 0x19], rax
lea rdx, str.Aliworkbench.ini
cmp rdx, 0x10000
jae 0x14001abc2
movzx edx, dx
lea rcx, [rbp - 0x19]
call fcn.140007210
jmp 0x14001abda
mov r8, rsi
inc r8
cmp word [rdx + r8*2], 0
jne 0x14001abc5
lea rcx, [rbp - 0x19]
call fcn.1400048b0
nop
mov eax, r15d
mov dword [rbp + 0x6f], eax
cdqe
lea rcx, [rbp - 0x21]
lea rax, [rcx + rax*8]
mov qword [rbp + 7], rax
mov r8, rax
lea rdx, [rbp - 1]
lea rcx, [rbp - 0x31]
call fcn.14000c400
nop
mov rax, qword [rbp - 0x41]
mov rcx, qword [rax - 0x18]
test rcx, rcx
je 0x14001ac17
mov rax, qword [rcx]
call qword [rax + 0x20]
test rax, rax
jne 0x14001ac26
call fcn.1400033f0
mov rdx, qword [rax]
mov rcx, rax
call qword [rdx + 0x20]
nop
test rax, rax
je 0x14001b132
mov rdx, qword [rax]
mov rcx, rax
call qword [rdx + 0x18]
mov rdx, rax
lea rbx, [rax + 0x18]
mov qword [rbp - 0x39], rbx
or r12d, 8
mov dword [rbp + 0x67], r12d
mov r15, qword [rbp - 0x41]
movsxd r13, dword [r15 - 0x10]
lea r14d, [r13 + 4]
test r14d, r14d
js 0x14001b127
mov ecx, dword [rax + 0xc]
sub ecx, r14d
mov eax, 1
sub eax, dword [rdx + 0x10]
or eax, ecx
jge 0x14001ac82
mov edx, r14d
lea rcx, [rbp - 0x39]
call fcn.1400045e0
mov rbx, qword [rbp - 0x39]
lea rdi, [r13*2]
test rdi, rdi
je 0x14001acc0
test rbx, rbx
je 0x14001acb0
mov r8, rdi
mov rcx, rbx
test r15, r15
je 0x14001aca9
mov rdx, r15
call fcn.14003f6b0
jmp 0x14001acc0
xor edx, edx
call fcn.14003fd50
call fcn.140023c08
mov dword [rax], 0x16
call fcn.140023ae4
lea rax, [rdi + rbx]
test rax, rax
jne 0x14001acdb
call fcn.140023c08
mov dword [rax], 0x16
call fcn.140023ae4
jmp 0x14001ace8
movabs rcx, 0x5f00770065006e
mov qword [rax], rcx
cmp r14d, dword [rbx - 0xc]
jg 0x14001b127
mov dword [rbx - 0x10], r14d
xor r15d, r15d
mov word [rbx + r13*2 + 8], r15w
mov r8, qword [rbp + 7]
lea rdx, [rbp - 0x39]
lea rcx, [rbp + 0x77]
call fcn.14000c400
nop
and r12d, 0xfffffff7
mov dword [rbp + 0x67], r12d
lea rdx, [rbx - 0x18]
mov eax, esi
lock xadd dword [rdx + 0x10], eax
sub eax, 1
jg 0x14001ad32
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + 8]
mov rcx, qword [rbp + 0x77]
call qword [sym.imp.SHLWAPI.dll_PathFileExistsW]
test eax, eax
je 0x14001afaa
mov rcx, qword [rbp + 0x77]
call qword [sym.imp.KERNEL32.dll_GetFileAttributesW]
test al, 0x10
jne 0x14001afaa
mov rbx, qword [rbp - 0x31]
call fcn.1400033f0
mov rcx, rax
test rax, rax
je 0x14001b17f
mov rax, qword [rax]
call qword [rax + 0x18]
add rax, 0x18
mov qword [rbp + 0x7f], rax
test rbx, rbx
je 0x14001adad
cmp rbx, 0x10000
jae 0x14001ad95
movzx edx, bx
lea rcx, [rbp + 0x7f]
call fcn.140007210
jmp 0x14001adbd
mov r8, rsi
nop dword [rax + rax]
inc r8
cmp word [rbx + r8*2], 0
jne 0x14001ada0
jmp 0x14001adb0
mov r8d, r15d
mov rdx, rbx
lea rcx, [rbp + 0x7f]
call fcn.1400048b0
nop
lea rdx, [rbp + 0x7f]
lea rcx, [rbp - 0x11]
call fcn.140006990
nop
mov rdx, qword [rbp + 0x7f]
add rdx, 0xffffffffffffffe8
mov eax, esi
lock xadd dword [rdx + 0x10], eax
sub eax, 1
jg 0x14001ade8
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + 8]
mov rbx, qword [rbp - 0x11]
call fcn.1400033f0
mov rcx, rax
test rax, rax
je 0x14001b174
mov rax, qword [rax]
call qword [rax + 0x18]
add rax, 0x18
mov qword [rbp - 0x49], rax
test rbx, rbx
je 0x14001ae3d
cmp rbx, 0x10000
jae 0x14001ae27
movzx edx, bx
lea rcx, [rbp - 0x49]
call fcn.140007210
jmp 0x14001ae4d
mov r8, rsi
nop word [rax + rax]
inc r8
cmp word [rbx + r8*2], 0
jne 0x14001ae30
jmp 0x14001ae40
mov r8d, r15d
mov rdx, rbx
lea rcx, [rbp - 0x49]
call fcn.1400048b0
nop
or dword [rbp + 0x67], 0x20
mov rdx, qword [rbp - 0x11]
add rdx, 0xffffffffffffffe8
mov eax, esi
lock xadd dword [rdx + 0x10], eax
sub eax, 1
jg 0x14001ae6f
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + 8]
nop
or dword [rbp + 0x67], 1
mov rbx, qword [rbp + 0x77]
call fcn.1400033f0
mov rcx, rax
test rax, rax
je 0x14001b169
mov rax, qword [rax]
call qword [rax + 0x18]
add rax, 0x18
mov qword [rbp - 0x59], rax
test rbx, rbx
je 0x14001aec2
cmp rbx, 0x10000
jae 0x14001aeb2
movzx edx, bx
lea rcx, [rbp - 0x59]
call fcn.140007210
jmp 0x14001aed2
mov r8, rsi
inc r8
cmp word [rbx + r8*2], 0
jne 0x14001aeb5
jmp 0x14001aec5
mov r8d, r15d
mov rdx, rbx
lea rcx, [rbp - 0x59]
call fcn.1400048b0
nop
lea rdx, [rbp - 0x59]
lea rcx, [rbp - 9]
call fcn.140006990
nop
mov rdx, qword [rbp - 0x59]
add rdx, 0xffffffffffffffe8
mov eax, esi
lock xadd dword [rdx + 0x10], eax
sub eax, 1
jg 0x14001aefd
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + 8]
mov rbx, qword [rbp - 9]
call fcn.1400033f0
mov rcx, rax
test rax, rax
je 0x14001b15e
mov rax, qword [rax]
call qword [rax + 0x18]
add rax, 0x18
mov qword [rbp - 0x51], rax
test rbx, rbx
je 0x14001af4d
cmp rbx, 0x10000
jae 0x14001af3c
movzx edx, bx
lea rcx, [rbp - 0x51]
call fcn.140007210
jmp 0x14001af5d
mov r8, rsi
nop
inc r8
cmp word [rbx + r8*2], 0
jne 0x14001af40
jmp 0x14001af50
mov r8d, r15d
mov rdx, rbx
lea rcx, [rbp - 0x51]
call fcn.1400048b0
nop
or dword [rbp + 0x67], 0x40
mov rdx, qword [rbp - 9]
add rdx, 0xffffffffffffffe8
mov eax, esi
lock xadd dword [rdx + 0x10], eax
sub eax, 1
jg 0x14001af7f
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + 8]
nop
mov edi, dword [rbp + 0x67]
or edi, 2
mov dword [rbp + 0x67], edi
mov rbx, qword [rbp - 0x51]
test rbx, rbx
je 0x14001b153
mov rdx, rbx
mov rcx, qword [rbp - 0x49]
call fcn.140024094
test eax, eax
je 0x14001afb1
mov r14b, 1
jmp 0x14001afb4
mov rbx, qword [rbp - 0x51]
mov edi, dword [rbp + 0x67]
xor r14b, r14b
test dil, 2
je 0x14001afdc
and edi, 0xfffffffd
mov dword [rbp + 0x67], edi
lea rdx, [rbx - 0x18]
mov eax, esi
lock xadd dword [rdx + 0x10], eax
sub eax, 1
jg 0x14001afd9
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + 8]
mov edi, dword [rbp + 0x67]
test dil, 1
je 0x14001b005
and edi, 0xfffffffe
mov dword [rbp + 0x67], edi
mov rdx, qword [rbp - 0x49]
add rdx, 0xffffffffffffffe8
mov eax, esi
lock xadd dword [rdx + 0x10], eax
sub eax, 1
jg 0x14001b005
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + 8]
test r14b, r14b
jne 0x14001b05b
mov rdx, qword [rbp + 0x77]
add rdx, 0xffffffffffffffe8
mov eax, esi
lock xadd dword [rdx + 0x10], eax
sub eax, 1
jg 0x14001b028
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + 8]
nop
mov rdx, qword [rbp - 0x31]
add rdx, 0xffffffffffffffe8
mov eax, esi
lock xadd dword [rdx + 0x10], eax
sub eax, 1
jg 0x14001b045
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + 8]
mov eax, dword [rbp + 0x6f]
inc eax
mov dword [rbp + 0x6f], eax
cmp eax, 2
jge 0x14001b09a
mov r12d, dword [rbp + 0x67]
jmp 0x14001abe0
mov bl, 1
mov rdx, qword [rbp + 0x77]
add rdx, 0xffffffffffffffe8
mov eax, esi
lock xadd dword [rdx + 0x10], eax
sub eax, 1
jg 0x14001b07b
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + 8]
nop
mov rdx, qword [rbp - 0x31]
add rdx, 0xffffffffffffffe8
mov eax, esi
lock xadd dword [rdx + 0x10], eax
sub eax, 1
jg 0x14001b09c
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + 8]
jmp 0x14001b09c
xor bl, bl
lea r9, [fcn.140002230]
mov edx, 8
mov r8d, 2
lea rcx, [rbp - 0x21]
call fcn.14001dd10
nop
mov rdx, qword [rbp - 0x29]
add rdx, 0xffffffffffffffe8
mov eax, esi
lock xadd dword [rdx + 0x10], eax
sub eax, 1
jg 0x14001b0d6
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + 8]
nop
mov rdx, qword [rbp - 0x41]
add rdx, 0xffffffffffffffe8
mov eax, esi
lock xadd dword [rdx + 0x10], eax
sub eax, 1
jg 0x14001b0f4
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + 8]
nop
mov rdx, qword [rbp - 1]
add rdx, 0xffffffffffffffe8
lock xadd dword [rdx + 0x10], esi
sub esi, 1
jg 0x14001b110
mov rcx, qword [rdx]
mov r8, qword [rcx]
call qword [r8 + 8]
movzx eax, bl
add rsp, 0x98
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbx
pop rbp
ret
mov ecx, 0x80070057
call fcn.140002a90
nop
mov ecx, 0x80004005
call fcn.140002a90
nop
mov ecx, 0x80004005
call fcn.140002a90
nop
mov ecx, 0x80004005
call fcn.140002a90
nop
mov ecx, 0x80004005
call fcn.140002a90
nop
mov ecx, 0x80004005
call fcn.140002a90
nop
mov ecx, 0x80004005
call fcn.140002a90
nop
mov ecx, 0x80004005
call fcn.140002a90
nop
mov ecx, 0x80004005
call fcn.140002a90
int3