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

Disassembly:
mov qword [rsp + 0x10], rbx
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
lea rbp, [rsp - 0x190]
sub rsp, 0x290
mov rax, qword [0x1400fe4a8]
xor rax, rsp
mov qword [rbp + 0x180], rax
mov r12, qword [rcx + 0x30]
mov r14, r8
mov rbx, qword [rcx + 0x38]
mov r15, rcx
mov dword [rsp + 0x24], edx
mov qword [rsp + 0x30], rcx
mov qword [rsp + 0x38], r12
mov qword [rsp + 0x28], rbx
cmp r12, rbx
je 0x14005a6a2
movzx ebx, byte [rsp + 0x20]
lea r13, [r12 + 0x88]
mov rax, qword [rsp + 0x28]
xor edi, edi
nop
cmp dword [r13 - 8], edx
jne 0x14005a686
cmp qword [r13 - 0x58], 8
lea rcx, [r13 - 0x70]
jb 0x14005a1e9
mov rcx, qword [r13 - 0x70]
call qword [sym.imp.KERNEL32.dll_GetFileAttributesW]
mov ecx, eax
shr ecx, 3
and ecx, 2
cmp eax, 0xffffffff
mov eax, 1
cmove ecx, eax
test ecx, ecx
jne 0x14005a67d
lea ecx, [rax + 0x5f]
mov dword [rsp + 0x70], 3
mov qword [rsp + 0x78], rdi
mov qword [rbp - 0x78], rdi
mov qword [rbp - 0x70], 0xf
mov qword [rbp - 0x68], rdi
mov qword [rbp - 0x60], rdi
call fcn.1400ce7d0
mov rdi, rax
mov qword [rax], rax
mov qword [rax + 8], rax
mov qword [rax + 0x10], rax
mov word [rax + 0x18], 0x101
movups xmm0, xmmword [r13 - 0x84]
mov qword [rbp - 0x68], rax
xor eax, eax
mov qword [rbp - 0x58], rax
mov qword [rbp - 0x48], rax
mov qword [rbp - 0x38], rax
mov qword [rbp - 0x28], rax
mov byte [rbp - 0x12], al
lea rax, [rbp - 0x68]
mov qword [rbp - 0x40], 0xf
mov qword [rbp - 0x20], 0xf
mov dword [rbp - 0x18], 2
mov word [rbp - 0x14], 0x100
movaps xmmword [rsp + 0x60], xmm0
cmp rax, r13
je 0x14005a2c6
mov r8, rdi
lea rdx, [rbp - 0x68]
lea rcx, [rbp - 0x68]
call fcn.140009610
mov qword [rdi + 8], rdi
lea rcx, [rbp - 0x68]
mov qword [rdi], rdi
movzx r8d, bl
mov qword [rdi + 0x10], rdi
mov rdx, r13
xor edi, edi
mov qword [rbp - 0x60], rdi
call fcn.14000f490
jmp 0x14005a2c8
xor edi, edi
mov eax, dword [r15 + 0x48]
lea rdx, [r13 - 0x70]
movups xmm0, xmmword [r13 - 0x84]
mov dword [rsp + 0x70], eax
lea rcx, [rbp + 8]
mov eax, dword [r12]
movups xmmword [rbp - 0xc], xmm0
mov dword [rbp - 0x10], eax
call fcn.1400291d0
lea rdx, [r13 - 0x50]
lea rcx, [rbp + 0x28]
call fcn.140009ac0
mov rax, qword [r13 - 0x30]
lea rdx, [rsp + 0x60]
mov qword [rbp + 0x48], rax
lea rcx, [rbp + 0x70]
movzx eax, byte [r13 - 0x28]
mov byte [rbp + 0x50], al
mov rax, qword [r13 - 0x20]
mov qword [rbp + 0x58], rax
mov eax, dword [r13 - 0x18]
mov dword [rbp + 0x60], eax
movzx eax, byte [r13 - 0x14]
mov byte [rbp + 0x64], al
mov rax, qword [r13 - 0x10]
mov qword [rbp + 0x68], rax
call fcn.1400157c0
movups xmm0, xmmword [rbp - 0xc]
mov eax, dword [rbp - 0x10]
lea rdx, [rbp + 8]
lea rcx, [rbp + 0x118]
mov dword [rbp + 0x100], eax
movups xmmword [rbp + 0x104], xmm0
call fcn.1400291d0
mov rax, qword [rbp + 0x48]
movups xmm1, xmmword [rbp + 0x38]
mov r15, qword [r14 + 8]
movups xmm0, xmmword [rbp + 0x28]
mov r8, qword [r14 + 0x10]
mov qword [rbp + 0x158], rax
movzx eax, byte [rbp + 0x50]
mov byte [rbp + 0x160], al
mov rax, qword [rbp + 0x58]
mov qword [rbp + 0x168], rax
mov eax, dword [rbp + 0x60]
mov dword [rbp + 0x170], eax
movzx eax, byte [rbp + 0x64]
mov byte [rbp + 0x174], al
mov rax, qword [rbp + 0x68]
mov qword [rbp + 0x178], rax
mov qword [rbp + 0x38], rdi
mov qword [rbp + 0x40], 0xf
mov byte [rbp + 0x28], 0
movups xmmword [rbp + 0x138], xmm0
movups xmmword [rbp + 0x148], xmm1
cmp r15, r8
je 0x14005a3eb
lea r8, [rbp + 0x70]
mov rdx, r15
mov rcx, r14
call fcn.1400578c0
add qword [r14 + 8], 0x110
jmp 0x14005a51e
mov r9, qword [r14]
mov rcx, r15
sub rcx, r9
movabs rsi, 0x7878787878787879
mov rax, rsi
movabs r11, 0xf0f0f0f0f0f0f0
imul rcx
mov rdi, rdx
sar rdi, 7
mov rax, rdi
shr rax, 0x3f
add rdi, rax
cmp rdi, r11
je 0x14005a6dc
sub r8, r9
lea r10, [rdi + 1]
mov rax, rsi
mov qword [rsp + 0x50], r10
imul r8
sar rdx, 7
mov rax, rdx
shr rax, 0x3f
add rdx, rax
mov rax, r11
mov rcx, rdx
shr rcx, 1
sub rax, rcx
cmp rdx, rax
jbe 0x14005a45e
mov r12, r11
jmp 0x14005a469
lea r12, [rcx + rdx]
cmp r12, r10
cmovb r12, r10
mov rdx, r12
mov rcx, r14
call fcn.140060140
mov rsi, rax
mov qword [rsp + 0x48], rax
imul rax, rdi, 0x110
lea r8, [rbp + 0x70]
mov rcx, r14
add rax, rsi
mov rdx, rax
mov qword [rsp + 0x40], rax
call fcn.1400578c0
mov rcx, qword [r14 + 8]
mov rdi, qword [r14]
cmp r15, rcx
jne 0x14005a4b9
mov rdx, rcx
mov r9, r14
mov rcx, rdi
mov r8, rsi
call fcn.140057830
jmp 0x14005a504
cmp rdi, r15
je 0x14005a4e5
nop
mov r8, rdi
mov rdx, rsi
mov rcx, r14
call fcn.1400578c0
add rsi, 0x110
add rdi, 0x110
cmp rdi, r15
jne 0x14005a4c0
mov rcx, qword [r14 + 8]
mov r9, qword [rsp + 0x40]
mov r8, rcx
add r9, 0x110
mov rdx, r15
mov rcx, r14
call fcn.14001ded0
mov rsi, qword [rsp + 0x48]
mov r8, qword [rsp + 0x50]
mov r9, r12
mov rdx, rsi
mov rcx, r14
call fcn.14005fd50
mov r12, qword [rsp + 0x38]
xor edi, edi
lea rcx, [rbp + 0x100]
call fcn.140015c90
lea rcx, [rbp + 0x70]
call fcn.140010150
mov rdx, qword [rbp + 0x40]
cmp rdx, 0x10
jb 0x14005a56e
mov rcx, qword [rbp + 0x28]
inc rdx
mov rax, rcx
cmp rdx, 0x1000
jb 0x14005a569
mov rcx, qword [rcx - 8]
add rdx, 0x27
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x14005a6ce
call fcn.1400ce80c
lea rcx, [rbp + 8]
mov qword [rbp + 0x38], rdi
mov qword [rbp + 0x40], 0xf
mov byte [rbp + 0x28], 0
call fcn.1400292c0
mov rdx, qword [rbp - 0x20]
cmp rdx, 0x10
jb 0x14005a5c2
mov rcx, qword [rbp - 0x38]
inc rdx
mov rax, rcx
cmp rdx, 0x1000
jb 0x14005a5bd
mov rcx, qword [rcx - 8]
add rdx, 0x27
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x14005a6d5
call fcn.1400ce80c
mov rdx, qword [rbp - 0x40]
mov qword [rbp - 0x28], rdi
mov qword [rbp - 0x20], 0xf
mov byte [rbp - 0x38], 0
cmp rdx, 0x10
jb 0x14005a60d
mov rcx, qword [rbp - 0x58]
inc rdx
mov rax, rcx
cmp rdx, 0x1000
jb 0x14005a608
mov rcx, qword [rcx - 8]
add rdx, 0x27
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x14005a6d5
call fcn.1400ce80c
mov r8, qword [rbp - 0x68]
lea rdx, [rbp - 0x68]
mov qword [rbp - 0x48], rdi
lea rcx, [rbp - 0x68]
mov qword [rbp - 0x40], 0xf
mov byte [rbp - 0x58], 0
mov r8, qword [r8 + 8]
call fcn.140009610
mov rcx, qword [rbp - 0x68]
mov edx, 0x60
call fcn.1400ce80c
mov rdx, qword [rbp - 0x70]
cmp rdx, 0x10
jb 0x14005a678
mov rcx, qword [rsp + 0x78]
inc rdx
mov rax, rcx
cmp rdx, 0x1000
jb 0x14005a673
mov rcx, qword [rcx - 8]
add rdx, 0x27
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x14005a6d5
call fcn.1400ce80c
mov r15, qword [rsp + 0x30]
mov rax, qword [rsp + 0x28]
mov edx, dword [rsp + 0x24]
add r12, 0x98
add r13, 0x98
mov qword [rsp + 0x38], r12
cmp r12, rax
jne 0x14005a1d0
xor eax, eax
mov rcx, qword [rbp + 0x180]
xor rcx, rsp
call fcn.1400ce8e0
mov rbx, qword [rsp + 0x2d8]
add rsp, 0x290
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
call fcn.140008190
int3