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

Disassembly:
push rbp
push r12
lea rbp, [rsp - 0x78]
sub rsp, 0x178
mov rax, qword [0x1804c4e78]
xor rax, rsp
mov qword [rbp + 0x50], rax
cmp qword [rcx + 0x18], 0x10
mov r12, rcx
jb 0x18025415b
mov rcx, qword [rcx]
mov qword [rsp + 0x198], rbx
mov qword [rsp + 0x1a0], rsi
mov qword [rsp + 0x1a8], rdi
mov qword [rsp + 0x170], r13
mov qword [rsp + 0x168], r14
mov qword [rsp + 0x160], r15
call qword [sym.imp.KERNEL32.dll_GetFileAttributesA]
cmp eax, 0xffffffff
jne 0x1802543a6
mov rsi, qword [r12 + 0x10]
test rsi, rsi
je 0x180254428
xor r15d, r15d
lea r14, [0x1803ad728]
mov rbx, 0xffffffffffffffff
nop dword [rax]
inc rbx
cmp byte [r14 + rbx], 0
jne 0x1802541c0
mov r13, qword [r12 + 0x18]
mov rdi, r12
cmp r13, 0x10
jb 0x1802541dc
mov rdi, qword [r12]
test rbx, rbx
je 0x180254246
cmp r15, rsi
jae 0x180254246
xor edx, edx
lea rcx, [rsp + 0x50]
mov r8d, 0x100
call fcn.180288120
lea rdx, [rbx + r14]
mov rcx, r14
cmp r14, rdx
je 0x180254220
nop dword [rax]
nop dword [rax + rax]
movzx eax, byte [rcx]
inc rcx
mov byte [rsp + rax + 0x50], 1
cmp rcx, rdx
jne 0x180254210
lea rdx, [rsi + rdi]
lea rax, [rdi + r15]
cmp rax, rdx
jae 0x180254246
nop dword [rax]
movzx ecx, byte [rax]
cmp byte [rsp + rcx + 0x50], 0
jne 0x1802542c1
inc rax
cmp rax, rdx
jb 0x180254230
mov rax, 0xffffffffffffffff
cmp rax, 0xffffffffffffffff
mov r15, rsi
xorps xmm0, xmm0
mov r14, r12
cmovne r15, rax
xor eax, eax
cmp rsi, r15
mov qword [rsp + 0x38], rax
mov rdi, r15
mov qword [rsp + 0x40], rax
cmovb rdi, rsi
movups xmmword [rsp + 0x28], xmm0
cmp r13, 0x10
jb 0x180254283
mov r14, qword [r12]
movabs r13, 0x7fffffffffffffff
cmp rdi, r13
ja 0x180254435
mov qword [rsp + 0x40], 0xf
cmp rdi, 0x10
jae 0x1802542c6
mov r8, rdi
mov qword [rsp + 0x38], rdi
mov rdx, r14
lea rcx, [rsp + 0x28]
call fcn.180287a80
mov byte [rsp + rdi + 0x28], 0
jmp 0x180254316
sub rax, rdi
jmp 0x18025424d
mov rsi, rdi
or rsi, 0xf
cmp rsi, r13
jbe 0x1802542d7
mov rsi, r13
jmp 0x1802542e4
cmp rsi, 0x16
mov eax, 0x16
cmovb rsi, rax
lea rdx, [rsi + 1]
lea rcx, [rsp + 0x28]
call fcn.180015660
mov r8, rdi
mov qword [rsp + 0x28], rax
mov rdx, r14
mov qword [rsp + 0x38], rdi
mov rcx, rax
mov qword [rsp + 0x40], rsi
mov rbx, rax
call fcn.180287a80
mov byte [rdi + rbx], 0
cmp qword [rsp + 0x38], 0
je 0x180254358
cmp qword [rsp + 0x40], 0x10
lea rcx, [rsp + 0x28]
cmovae rcx, qword [rsp + 0x28]
call qword [sym.imp.KERNEL32.dll_GetFileAttributesA]
cmp eax, 0xffffffff
jne 0x180254358
cmp qword [rsp + 0x40], 0x10
lea rcx, [rsp + 0x28]
cmovae rcx, qword [rsp + 0x28]
call fcn.1802a3818
test eax, eax
jne 0x1802543ef
mov rdx, qword [rsp + 0x40]
inc r15
cmp rdx, 0x10
jb 0x180254398
mov rcx, qword [rsp + 0x28]
inc rdx
mov rax, rcx
cmp rdx, 0x1000
jb 0x180254393
mov rcx, qword [rcx - 8]
add rdx, 0x27
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x18025442f
call fcn.18026a1a0
mov rsi, qword [r12 + 0x10]
cmp r15, rsi
jb 0x1802541ab
mov al, 1
mov r15, qword [rsp + 0x160]
mov r14, qword [rsp + 0x168]
mov r13, qword [rsp + 0x170]
mov rdi, qword [rsp + 0x1a8]
mov rsi, qword [rsp + 0x1a0]
mov rbx, qword [rsp + 0x198]
mov rcx, qword [rbp + 0x50]
xor rcx, rsp
call fcn.18026ad00
add rsp, 0x178
pop r12
pop rbp
ret
mov rdx, qword [rsp + 0x40]
cmp rdx, 0x10
jb 0x180254428
mov rcx, qword [rsp + 0x28]
inc rdx
mov rax, rcx
cmp rdx, 0x1000
jb 0x180254423
mov rcx, qword [rcx - 8]
add rdx, 0x27
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x18025442f
call fcn.18026a1a0
xor al, al
jmp 0x1802543a8
call fcn.18028cdc8
int3
call fcn.180015620
int3