Function at 0x180037d4c
Capabilities:
Check if file exists

Disassembly:
mov rax, rsp
push rdi
push r12
push r13
push r14
push r15
sub rsp, 0x1b0
mov qword [rsp + 0xc8], 0xfffffffffffffffe
mov qword [rax + 0x10], rbx
mov qword [rax + 0x18], rbp
mov qword [rax + 0x20], rsi
mov rax, qword [0x1800ba080]
xor rax, rsp
mov qword [rsp + 0x1a8], rax
mov rdi, rcx
mov r15d, 8
cmp qword [rcx + 0x20], r15
jb 0x180037da1
lea rbx, [rcx + 8]
mov rcx, qword [rbx]
jmp 0x180037da8
lea rbx, [rcx + 8]
mov rcx, rbx
call qword [sym.imp.SHLWAPI.dll_PathFileExistsW]
xor r14d, r14d
cmp eax, r14d
jne 0x180037e49
cmp qword [rdi + 0x20], r15
jb 0x180037dc3
mov rbx, qword [rbx]
xor edx, edx
mov rcx, rbx
call fcn.18003169c
cmp eax, r14d
jne 0x180037ddc
mov eax, 5
jmp 0x1800382c8
lea rdx, [rsp + 0x20]
mov rcx, rdi
call fcn.1800389d4
cmp qword [rax + 0x20], r15
jb 0x180037df5
mov rcx, qword [rax + 8]
jmp 0x180037df9
lea rcx, [rax + 8]
call fcn.1800317d0
cmp qword [rsp + 0x40], r15
jb 0x180037e0f
mov rcx, qword [rsp + 0x28]
call fcn.18006e998
lea rdx, [rsp + 0x20]
mov rcx, rdi
call fcn.1800389b0
cmp qword [rax + 0x20], r15
jb 0x180037e28
mov rcx, qword [rax + 8]
jmp 0x180037e2c
lea rcx, [rax + 8]
call fcn.1800317d0
cmp qword [rsp + 0x40], r15
jb 0x180037e42
mov rcx, qword [rsp + 0x28]
call fcn.18006e998
xor eax, eax
jmp 0x1800382c8
cmp qword [rdi + 0x48], r15
jb 0x180037e55
mov rdx, qword [rdi + 0x30]
jmp 0x180037e59
lea rdx, [rdi + 0x30]
cmp qword [rdi + 0x20], r15
jb 0x180037e62
mov rbx, qword [rbx]
xor r9d, r9d
lea r8, str.BAAF9737_0451_46f7_B7E5_E273D13D9E39
mov rcx, rbx
call fcn.1800638b0
cmp eax, r14d
je 0x180037e83
mov eax, 7
jmp 0x1800382c8
lea rdx, [rsp + 0xf8]
mov rcx, rdi
call fcn.180038968
nop
and dword [rsp + 0x50], 0xfffffe00
mov qword [rsp + 0x58], r14
mov qword [rsp + 0x60], r14
mov qword [rsp + 0x68], r14
lea rcx, [rsp + 0x100]
cmp qword [rsp + 0x118], r15
cmovae rcx, qword [rsp + 0x100]
call qword [sym.imp.SHLWAPI.dll_PathFileExistsW]
cmp eax, r14d
je 0x1800382a1
lea rcx, [rsp + 0x100]
cmp qword [rsp + 0x118], r15
cmovae rcx, qword [rsp + 0x100]
lea rdx, [rsp + 0x48]
call fcn.18000e420
cmp al, r14b
je 0x1800382a1
cmp byte [rsp + 0x50], 6
jne 0x1800382a1
mov rsi, qword [rdi + 0x70]
cmp qword [rdi + 0x68], rsi
jbe 0x180037f19
call fcn.18006e940
mov rbp, qword [rdi + 0x68]
cmp rbp, qword [rdi + 0x70]
jbe 0x180037f28
call fcn.18006e940
cmp qword [rdi + 0x68], rbp
ja 0x180037f34
cmp rbp, qword [rdi + 0x70]
jbe 0x180037f39
call fcn.18006e940
mov r12, qword [rdi + 0x50]
cmp qword [rdi + 0x68], rsi
ja 0x180037f49
cmp rsi, qword [rdi + 0x70]
jbe 0x180037f4e
call fcn.18006e940
cmp r12, r14
je 0x180037f59
cmp r12, qword [rdi + 0x50]
je 0x180037f5e
call fcn.18006e940
cmp rbp, rsi
je 0x180037fa5
mov r13, qword [rdi + 0x70]
mov r12, r13
sub r12, rsi
and r12, 0xffffffffffffff80
add r12, rbp
cmp rsi, r13
je 0x180037f91
sub rbp, rsi
lea rcx, [rsi + rbp]
mov rdx, rsi
call fcn.180039e08
sub rsi, 0xffffffffffffff80
cmp rsi, r13
jne 0x180037f7c
mov r8, qword [rdi + 0x70]
mov rdx, r12
lea rcx, [rdi + 0x50]
call fcn.1800395b4
mov qword [rdi + 0x70], r12
mov esi, r14d
lea rcx, [rsp + 0x48]
call fcn.180056ae0
mov ebp, 0xf
cmp eax, r14d
jbe 0x1800380c9
mov qword [rsp + 0x140], rbp
mov qword [rsp + 0x138], r14
mov byte [rsp + 0x128], r14b
mov qword [rsp + 0x168], rbp
mov qword [rsp + 0x160], r14
mov byte [rsp + 0x150], r14b
mov rcx, r15
call fcn.18006ea94
cmp rax, r14
je 0x18003800a
lea rcx, [rsp + 0x170]
mov qword [rax], rcx
jmp 0x18003800d
mov rax, r14
mov qword [rsp + 0x170], rax
mov qword [rsp + 0x188], r14
mov qword [rsp + 0x190], r14
mov qword [rsp + 0x198], r14
mov edx, esi
lea rcx, [rsp + 0x48]
call fcn.180056b74
mov rdx, rax
lea rcx, [rsp + 0x120]
call fcn.1800377f8
cmp al, r14b
je 0x180038060
lea rdx, [rsp + 0x120]
lea rcx, [rdi + 0x50]
call fcn.1800392b4
nop
lea rcx, [rsp + 0x170]
call fcn.180004990
cmp qword [rsp + 0x168], 0x10
jb 0x180038085
mov rcx, qword [rsp + 0x150]
call fcn.18006e998
mov qword [rsp + 0x168], rbp
mov qword [rsp + 0x160], r14
mov byte [rsp + 0x150], r14b
cmp qword [rsp + 0x140], 0x10
jb 0x1800380b5
mov rcx, qword [rsp + 0x128]
call fcn.18006e998
inc esi
lea rcx, [rsp + 0x48]
call fcn.180056ae0
cmp esi, eax
jb 0x180037fc0
lea rdx, [rsp + 0xd0]
mov rcx, rdi
call fcn.18003898c
nop
and dword [rsp + 0x78], 0xfffffe00
mov qword [rsp + 0x80], r14
mov qword [rsp + 0x88], r14
mov qword [rsp + 0x90], r14
lea rcx, [rdi + 0x80]
call fcn.180038fb8
lea rcx, [rsp + 0xd8]
cmp qword [rsp + 0xf0], r15
cmovae rcx, qword [rsp + 0xd8]
call qword [sym.imp.SHLWAPI.dll_PathFileExistsW]
cmp eax, r14d
je 0x18003823c
lea rcx, [rsp + 0xd8]
cmp qword [rsp + 0xf0], r15
cmovae rcx, qword [rsp + 0xd8]
lea rdx, [rsp + 0x70]
call fcn.18000e420
cmp al, r14b
je 0x18003823c
cmp byte [rsp + 0x78], 6
jne 0x18003823c
mov qword [rsp + 0x40], rbp
mov qword [rsp + 0x38], r14
mov byte [rsp + 0x28], r14b
xor r8d, r8d
lea rdx, [0x18009545a]
lea rcx, [rsp + 0x20]
call fcn.180006440
nop
lea r8, [rsp + 0x20]
lea rdx, [rsp + 0x70]
lea rcx, [rsp + 0x98]
call fcn.18000f3e0
nop
mov rdx, rax
lea rcx, [rdi + 0x80]
call fcn.180038db8
nop
mov rcx, qword [rsp + 0xb0]
cmp rcx, r14
je 0x180038203
mov rdi, qword [rsp + 0xb8]
cmp rcx, rdi
je 0x1800381fe
lea rbx, [rcx + 0x20]
cmp qword [rbx], 0x10
jb 0x1800381de
mov rcx, qword [rbx - 0x18]
call fcn.18006e998
mov qword [rbx], rbp
mov qword [rbx - 8], r14
mov byte [rbx - 0x18], r14b
add rbx, 0x28
lea rax, [rbx - 0x20]
cmp rax, rdi
jne 0x1800381cf
mov rcx, qword [rsp + 0xb0]
call fcn.18006e998
mov qword [rsp + 0xb0], r14
mov qword [rsp + 0xb8], r14
mov qword [rsp + 0xc0], r14
mov rcx, qword [rsp + 0x98]
call fcn.18006e998
nop
cmp qword [rsp + 0x40], 0x10
jb 0x18003823c
mov rcx, qword [rsp + 0x28]
call fcn.18006e998
nop
lea rcx, [rsp + 0x70]
call fcn.180055f84
nop
cmp qword [rsp + 0xf0], r15
jb 0x18003825e
mov rcx, qword [rsp + 0xd8]
call fcn.18006e998
mov qword [rsp + 0xf0], 7
mov qword [rsp + 0xe8], r14
mov word [rsp + 0xd8], r14w
lea rcx, [rsp + 0x48]
call fcn.180055f84
nop
cmp qword [rsp + 0x118], r15
jb 0x18003829d
mov rcx, qword [rsp + 0x100]
call fcn.18006e998
xor eax, eax
jmp 0x1800382c8
lea rcx, [rsp + 0x48]
call fcn.180055f84
nop
cmp qword [rsp + 0x118], r15
jb 0x1800382c3
mov rcx, qword [rsp + 0x100]
call fcn.18006e998
mov eax, 4
mov rcx, qword [rsp + 0x1a8]
xor rcx, rsp
call fcn.18006e130
lea r11, [rsp + 0x1b0]
mov rbx, qword [r11 + 0x38]
mov rbp, qword [r11 + 0x40]
mov rsi, qword [r11 + 0x48]
mov rsp, r11
pop r15
pop r14
pop r13
pop r12
pop rdi
ret