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

Disassembly:
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbp
push rbx
sub rsp, 0x78
mov rbx, rcx
mov rax, qword [0x140091088]
xor rax, rsp
mov qword [rsp + 0x70], rax
call fcn.14002cbc8
mov esi, 0x1126
test al, al
jne 0x14002d63f
movabs rax, 0xaaaaaaaaaaaaaaaa
lea rdi, [rsp + 0x50]
mov qword [rdi + 8], rax
xor eax, eax
mov qword [rdi], rax
mov qword [rdi + 0x10], rax
mov qword [rdi + 0x18], 7
mov word [rdi], 0
mov rcx, rbx
mov rdx, rdi
call fcn.14002d665
mov esi, eax
mov rcx, rdi
call fcn.14002d8c7
mov ebx, eax
mov rcx, rdi
mov rdx, rdi
call fcn.14002d90c
mov byte [rsp + 0x2b], bl
test bl, bl
jne 0x14002d29e
test sil, sil
jne 0x14002d29e
mov dword [rsp + 0x2c], 0x7b
test al, al
je 0x14002d61e
cmp byte [rsp + 0x2b], 0
jne 0x14002d3c4
mov qword [rsp + 0x48], 7
movabs rax, 0x5c002e005c005c
mov qword [rsp + 0x30], rax
mov word [rsp + 0x38], 0
mov r15, qword [rsp + 0x60]
mov r13, qword [rsp + 0x68]
cmp r13, 8
movabs rdx, 0x7ffffffffffffffe
jb 0x14002d2e7
mov rdi, qword [rsp + 0x50]
cmp r15, 3
jbe 0x14002d360
lea rax, [rdx - 4]
cmp r15, rax
ja 0x14002d65f
lea rbx, [r15 + 4]
mov rax, rbx
or rax, 7
cmp rax, 0xb
mov ecx, 0xa
cmovae rcx, rax
cmp rcx, rdx
mov r14, rdx
cmovb r14, rcx
cmp rax, rdx
lea rax, [rcx + rcx + 2]
mov rcx, 0xfffffffffffffffe
cmovbe rcx, rax
call fcn.14004ffe0
mov r12, rax
mov rax, qword [rsp + 0x30]
mov qword [r12], rax
lea rcx, [r12 + 8]
lea r8, [r15 + r15]
mov rdx, rdi
call fcn.140054a90
mov word [r12 + r15*2 + 8], 0
mov r13, qword [rsp + 0x68]
jmp 0x14002d390
lea r14, [rsp + 0x38]
lea rax, [r15 + 4]
mov qword [r14 + 8], rax
lea r8, [r15 + r15]
mov rcx, r14
mov rdx, rdi
call fcn.140054a90
mov word [rsp + r15*2 + 0x38], 0
mov r12, qword [r14 - 8]
mov rbx, qword [r14 + 8]
mov r14, qword [r14 + 0x10]
mov rdi, qword [rsp + 0x38]
cmp r13, 8
jb 0x14002d3b0
mov rcx, qword [rsp + 0x50]
lea rdx, [r13 + 2]
add rdx, r13
call fcn.140050040
mov qword [rsp + 0x50], r12
mov qword [rsp + 0x58], rdi
mov qword [rsp + 0x60], rbx
mov qword [rsp + 0x68], r14
mov rdi, 0xffffffffffffffff
xor ebp, ebp
lea r13, [rsp + 0x50]
mov rsi, qword [sym.imp.KERNEL32.dll_GetFileAttributesW]
mov qword [rsp + 0x30], 0
mov qword [rsp + 0x48], 7
mov word [rsp + 0x30], 0
mov rbx, qword [rsp + 0x60]
mov r15, qword [rsp + 0x68]
cmp rbx, rdi
cmovae rbx, rdi
mov r14, r13
cmp r15, 8
jb 0x14002d411
mov r14, qword [rsp + 0x50]
cmp rbx, 7
jbe 0x14002d48f
movabs rdx, 0x7ffffffffffffffe
cmp rbx, rdx
ja 0x14002d65f
mov rax, rbx
or rax, 7
cmp rax, 0xb
mov ecx, 0xa
cmovae rcx, rax
cmp rcx, rdx
mov r12, rdx
cmovb r12, rcx
cmp rax, rdx
lea rcx, [rcx + rcx + 2]
mov rax, 0xfffffffffffffffe
cmova rcx, rax
call fcn.14004ffe0
mov r15, rax
mov qword [rsp + 0x40], rbx
mov qword [rsp + 0x48], r12
lea r8, [rbx + rbx]
mov rcx, rax
mov rdx, r14
call fcn.140054a90
mov word [r15 + rbx*2], 0
mov qword [rsp + 0x30], r15
mov r15, qword [rsp + 0x68]
jmp 0x14002d4ac
mov qword [rsp + 0x40], rbx
lea r8, [rbx + rbx]
lea rcx, [rsp + 0x30]
mov rdx, r14
call fcn.140054a90
mov word [rsp + rbx*2 + 0x30], 0
cmp r15, 8
jb 0x14002d4c4
mov rcx, qword [rsp + 0x50]
lea rdx, [r15 + r15]
add rdx, 2
call fcn.140050040
movups xmm0, xmmword [rsp + 0x30]
movups xmm1, xmmword [rsp + 0x40]
movaps xmmword [rsp + 0x60], xmm1
movaps xmmword [rsp + 0x50], xmm0
cmp qword [rsp + 0x68], 8
mov rcx, r13
jb 0x14002d4e8
mov rcx, qword [rsp + 0x50]
call rsi
cmp eax, 0xffffffff
je 0x14002d4fe
bt eax, 0xa
jae 0x14002d595
jmp 0x14002d616
xor ebx, ebx
call qword [sym.imp.KERNEL32.dll_GetLastError]
lea ecx, [rax - 2]
cmp ecx, 2
jb 0x14002d58b
cmp eax, 0x7b
je 0x14002d58b
test bpl, 1
sete dl
or dl, byte [rsp + 0x2b]
jne 0x14002d580
cmp qword [rsp + 0x68], 8
mov rdx, r13
jb 0x14002d530
mov rdx, qword [rsp + 0x50]
mov r10, qword [rsp + 0x60]
test r10, r10
je 0x14002d580
lea r8, [rdx + r10*2]
add r8, 0xfffffffffffffffe
cmp word [r8], 0x5c
jne 0x14002d54e
mov r10, r8
jmp 0x14002d572
add r10, r10
mov r9d, 2
sub r9, r10
test r9, r9
je 0x14002d580
lea r10, [r8 - 2]
add r9, 2
cmp word [r8 - 2], 0x5c
mov r8, r10
jne 0x14002d55a
sub r10, rdx
mov ebx, 2
cmp r10, 6
je 0x14002d58b
mov ebx, 1
mov edx, eax
mov dword [rsp + 0x2c], eax
cmp ecx, 2
jb 0x14002d595
cmp eax, 0x7b
jne 0x14002d603
cmp qword [rsp + 0x68], 8
mov rax, r13
jb 0x14002d5a5
mov rax, qword [rsp + 0x50]
mov r8, qword [rsp + 0x60]
mov rdi, 0xffffffffffffffff
mov bpl, 1
test r8, r8
je 0x14002d5f7
lea rcx, [rax + r8*2]
add rcx, 0xfffffffffffffffe
cmp word [rcx], 0x5c
jne 0x14002d5cc
mov r8, rcx
jmp 0x14002d5ee
add r8, r8
mov edx, 2
sub rdx, r8
test rdx, rdx
je 0x14002d5f7
lea r8, [rcx - 2]
add rdx, 2
cmp word [rcx - 2], 0x5c
mov rcx, r8
jne 0x14002d5d7
sub r8, rax
sar r8, 1
mov rdi, r8
cmp rdi, 2
ja 0x14002d3d9
jmp 0x14002d60c
test ebx, ebx
je 0x14002d5f7
cmp ebx, 2
jne 0x14002d61e
mov dword [rsp + 0x2c], 0x1126
jmp 0x14002d61e
mov dword [rsp + 0x2c], 0
mov rax, qword [rsp + 0x68]
cmp rax, 8
jb 0x14002d63b
mov rcx, qword [rsp + 0x50]
lea rdx, [rax + rax]
add rdx, 2
call fcn.140050040
mov esi, dword [rsp + 0x2c]
mov rcx, qword [rsp + 0x70]
xor rcx, rsp
call fcn.140052800
mov eax, esi
add rsp, 0x78
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
ret
call fcn.1400441d0
int3