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

Disassembly:
mov qword [rsp + 0x18], rbx
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
lea rbp, [rsp - 0x27]
sub rsp, 0xa0
mov rax, qword [0x180091010]
xor rax, rsp
mov qword [rbp + 0x17], rax
mov rdi, rdx
mov rsi, rcx
mov qword [rbp - 0x51], rcx
xor eax, eax
mov r13, qword [0x180092330]
mov rbx, qword [0x180092328]
cmp rbx, r13
je 0x18003874a
nop dword [rax]
mov rdx, rbx
lea rcx, [rbp - 0x49]
call fcn.18003a240
mov rdx, rdi
cmp qword [rdi + 0x18], 0x10
jb 0x1800386b9
mov rdx, qword [rdi]
lea rcx, [rbp - 0x49]
mov r15, qword [rbp - 0x31]
cmp r15, 0x10
setae r12b
mov rsi, qword [rbp - 0x49]
cmovae rcx, rsi
mov r8, qword [rbp - 0x39]
cmp r8, qword [rdi + 0x10]
jne 0x1800386e9
call sub.VCRUNTIME140.dll_memcmp
test eax, eax
jne 0x1800386e9
mov r14b, 1
jmp 0x1800386ec
xor r14b, r14b
test r12b, r12b
je 0x180038722
lea rdx, [r15 + 1]
mov rax, rsi
cmp rdx, 0x1000
jb 0x18003871a
add rdx, 0x27
mov rsi, qword [rsi - 8]
sub rax, rsi
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x180038973
mov rcx, rsi
call fcn.18003cfa4
test r14b, r14b
jne 0x180038734
add rbx, 0x38
cmp rbx, r13
jne 0x1800386a0
mov r13, qword [0x180092330]
mov rsi, qword [rbp - 0x51]
xor eax, eax
cmp rbx, r13
jne 0x18003897f
xorps xmm0, xmm0
movups xmmword [rbp - 0x21], xmm0
movdqa xmm1, xmmword [0x18008a110]
movdqu xmmword [rbp - 0x11], xmm1
mov byte [rbp - 0x21], 0
movdqu xmmword [rbp - 1], xmm0
mov qword [rbp + 0xf], rax
lea rax, [rbp - 0x21]
cmp rax, rdi
je 0x18003878e
mov rdx, rdi
cmp qword [rdi + 0x18], 0x10
jb 0x180038781
mov rdx, qword [rdi]
mov r8, qword [rdi + 0x10]
lea rcx, [rbp - 0x21]
call fcn.18003a0e0
mov rcx, rsi
cmp qword [rsi + 0x18], 0x10
jb 0x18003879b
mov rcx, qword [rsi]
call qword [sym.imp.KERNEL32.dll_GetFileAttributesA]
cmp eax, 0xffffffff
je 0x1800387ad
shr eax, 4
test al, 1
jne 0x1800387b5
mov rcx, rsi
call fcn.180037110
mov r15, qword [rsi + 0x10]
mov r12, qword [rdi + 0x10]
movabs rcx, 0x7fffffffffffffff
mov rax, rcx
sub rax, r15
cmp rax, r12
jb 0x1800389af
cmp qword [rsi + 0x18], 0x10
jb 0x1800387e4
mov rsi, qword [rsi]
mov qword [rbp - 0x51], rsi
cmp qword [rdi + 0x18], 0x10
jb 0x1800387ee
mov rdi, qword [rdi]
xorps xmm0, xmm0
movups xmmword [rbp - 0x49], xmm0
xorps xmm1, xmm1
movdqu xmmword [rbp - 0x39], xmm1
lea r14, [r12 + r15]
mov esi, 0xf
lea rbx, [rbp - 0x49]
cmp r14, rsi
jbe 0x180038888
mov rsi, r14
or rsi, 0xf
cmp rsi, rcx
jbe 0x180038820
mov rsi, rcx
jmp 0x18003882c
mov eax, 0x16
cmp rsi, rax
cmovb rsi, rax
mov rcx, rsi
add rcx, 1
mov rax, 0xffffffffffffffff
cmovb rcx, rax
cmp rcx, 0x1000
jb 0x180038873
lea rax, [rcx + 0x27]
cmp rax, rcx
jbe 0x1800389a9
mov rcx, rax
call fcn.18003d198
test rax, rax
je 0x1800388ef
lea rbx, [rax + 0x27]
and rbx, 0xffffffffffffffe0
mov qword [rbx - 8], rax
jmp 0x180038884
test rcx, rcx
je 0x180038882
call fcn.18003d198
mov rbx, rax
jmp 0x180038884
xor ebx, ebx
mov qword [rbp - 0x49], rbx
mov qword [rbp - 0x39], r14
mov qword [rbp - 0x31], rsi
mov r8, r15
mov rdx, qword [rbp - 0x51]
mov rcx, rbx
call sub.VCRUNTIME140.dll_memcpy
lea rcx, [rbx + r15]
mov r8, r12
mov rdx, rdi
call sub.VCRUNTIME140.dll_memcpy
mov byte [rbx + r14], 0
lea rcx, [rbp - 0x49]
call fcn.180037110
nop
mov rdx, qword [rbp - 0x31]
cmp rdx, 0x10
jb 0x1800388fb
inc rdx
mov rcx, qword [rbp - 0x49]
mov rax, rcx
cmp rdx, 0x1000
jb 0x1800388f6
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x1800388f6
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
call fcn.18003cfa4
mov rdx, qword [0x180092330]
lea r8, [rbp - 0x21]
cmp rdx, qword [0x180092338]
je 0x180038928
call fcn.18003c100
mov rax, qword [0x180092330]
add rax, 0x38
mov qword [0x180092330], rax
jmp 0x180038934
call fcn.18003b810
mov rax, qword [0x180092330]
lea rbx, [rax - 0x38]
lea rcx, [rbp - 1]
call fcn.180039e90
mov rdx, qword [rbp - 9]
cmp rdx, 0x10
jb 0x18003897f
inc rdx
mov rcx, qword [rbp - 0x21]
mov rax, rcx
cmp rdx, 0x1000
jb 0x18003897a
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x18003897a
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
call fcn.18003cfa4
mov rax, rbx
mov rcx, qword [rbp + 0x17]
xor rcx, rsp
call fcn.18003ca50
mov rbx, qword [rsp + 0xf0]
add rsp, 0xa0
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret
call fcn.180037030
nop
call fcn.1800370f0
int3