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

Disassembly:
push rbp
push rsi
push rdi
push r12
push r13
sub rsp, 0x270
mov rax, qword [0x1800ff050]
xor rax, rsp
mov qword [rsp + 0x260], rax
xor r13d, r13d
mov rbp, r8
mov rdi, rdx
mov rsi, rcx
mov dword [rsp + 0x48], r13d
test rdx, rdx
je 0x18001b298
lea rdx, [rcx + 0x38]
lea r8, [rsp + 0x48]
mov rcx, rdi
call fcn.18001feb0
test eax, eax
js 0x18001b0d6
cmp eax, 1
je 0x18001b0d6
mov eax, dword [rsi + 0x38]
cmp eax, 0xa
je 0x18001b285
cmp eax, 1
je 0x18001b285
cmp eax, 2
jne 0x18001ae9a
mov r8, rbp
mov rdx, rdi
mov rcx, rsi
call fcn.1800195f0
jmp 0x18001b0d6
mov qword [rsp + 0x2b8], rbx
cmp eax, 5
je 0x18001b13b
cmp eax, 6
je 0x18001b13b
cmp eax, 7
je 0x18001b13b
mov rcx, rdi
call qword [sym.imp.SHLWAPI.dll_PathFindExtensionW]
mov rbx, rax
test rax, rax
je 0x18001b12b
cmp word [rax], r13w
je 0x18001b12b
lea rdx, str..cue
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_lstrcmpiW]
test eax, eax
jne 0x18001af5a
lea rax, [rsi + 0x40]
lea rcx, [rsp + 0x20]
mov r8, rbp
mov qword [rsp + 0x20], rax
lea rax, [rsi + 0x364]
mov rdx, rdi
mov qword [rsp + 0x28], rax
lea rax, [rsi + 0x3d8]
mov dword [rsp + 0x30], r13d
mov qword [rsp + 0x38], rax
mov dword [rsp + 0x40], r13d
call fcn.18001f040
test eax, eax
js 0x18001b0ce
cmp eax, 1
je 0x18001b0ce
mov eax, dword [rsp + 0x40]
mov rcx, rsi
mov dword [rsi + 0x38], eax
mov eax, dword [rsp + 0x30]
mov dword [rsi + 0x368], eax
call fcn.18001aab0
jmp 0x18001b0cc
lea rdx, [0x1800e1bd0]
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_lstrcmpiW]
test eax, eax
jne 0x18001afd4
sub rbx, rdi
mov rdx, rdi
mov rcx, rbp
mov r8, rbx
call fcn.18006c2d0
lea rdx, str..mds
mov rcx, rbp
call qword [sym.imp.KERNEL32.dll_lstrcatW]
mov rcx, rbp
call qword [sym.imp.KERNEL32.dll_GetFileAttributesW]
cmp eax, 0xffffffff
je 0x18001afc3
xor r8d, r8d
mov rdx, rbp
mov rcx, rsi
mov dword [rsi + 0x38], 2
call fcn.1800195f0
test eax, eax
js 0x18001b0ce
cmp eax, 1
je 0x18001b0ce
mov rdx, rdi
mov rcx, rbp
call qword [sym.imp.KERNEL32.dll_lstrcpyW]
jmp 0x18001b0cc
lea rdx, str..ccd
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_lstrcmpiW]
test eax, eax
jne 0x18001b015
sub rbx, rdi
mov rdx, rdi
mov rcx, rbp
mov r8, rbx
call fcn.18006c2d0
lea rdx, str..img
mov rcx, rbp
call qword [sym.imp.KERNEL32.dll_lstrcatW]
mov dword [rsi + 0x38], 3
jmp 0x18001b0cc
lea rdx, str..bwt
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_lstrcmpiW]
test eax, eax
jne 0x18001b043
sub rbx, rdi
mov rdx, rdi
mov rcx, rbp
mov r8, rbx
call fcn.18006c2d0
lea rdx, str..bwi
jmp 0x18001b0b5
lea rdx, str..bwi
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_lstrcmpiW]
test eax, eax
je 0x18001b11d
lea rdx, str..b5t
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_lstrcmpiW]
test eax, eax
jne 0x18001b089
sub rbx, rdi
mov rdx, rdi
mov rcx, rbp
mov r8, rbx
call fcn.18006c2d0
lea rdx, str..b5i
jmp 0x18001b0b5
lea rdx, str..b6t
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_lstrcmpiW]
test eax, eax
jne 0x18001b0f5
sub rbx, rdi
mov rdx, rdi
mov rcx, rbp
mov r8, rbx
call fcn.18006c2d0
lea rdx, str..b6i
mov rcx, rbp
call qword [sym.imp.KERNEL32.dll_lstrcatW]
mov dword [rsi + 0x34], 0x56220
mov dword [rsi + 0x38], 9
xor eax, eax
mov rbx, qword [rsp + 0x2b8]
mov rcx, qword [rsp + 0x260]
xor rcx, rsp
call fcn.18006a4f0
add rsp, 0x270
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret
lea rdx, str..b5i
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_lstrcmpiW]
test eax, eax
je 0x18001b11d
lea rdx, str..b6i
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_lstrcmpiW]
test eax, eax
jne 0x18001b12b
mov dword [rsi + 0x34], 0x56220
mov dword [rsi + 0x38], 9
mov rdx, rdi
mov rcx, rbp
call qword [sym.imp.KERNEL32.dll_lstrcpyW]
xor eax, eax
jmp 0x18001b0ce
cmp eax, 5
jne 0x18001b14f
mov rdx, rdi
mov rcx, rsi
call fcn.18001aaf0
test eax, eax
je 0x18001b16e
cmp dword [rsi + 0x38], 7
jne 0x18001b164
mov rdx, rdi
mov rcx, rsi
call fcn.18001aaf0
test eax, eax
je 0x18001b16e
cmp dword [rsi + 0x38], 6
jne 0x18001b26a
mov rcx, rdi
call qword [sym.imp.SHLWAPI.dll_PathFindExtensionW]
lea rcx, [rsp + 0x52]
xor edx, edx
mov r8d, 0x206
mov word [rsp + 0x50], r13w
mov rbx, rax
call fcn.18006cf60
sub rbx, rdi
lea rcx, [rsp + 0x50]
mov r8, rbx
mov rdx, rdi
call fcn.18006c2d0
lea rdx, str..cue
lea rcx, [rsp + 0x50]
call qword [sym.imp.KERNEL32.dll_lstrcatW]
cmp dword [rsi + 0x38], 6
jne 0x18001b209
lea rcx, [rsp + 0x50]
call qword [sym.imp.KERNEL32.dll_GetFileAttributesW]
cmp eax, 0xffffffff
je 0x18001b26a
lea rax, [rsi + 0x40]
lea rdx, [rsp + 0x50]
lea rcx, [rsp + 0x20]
mov qword [rsp + 0x20], rax
lea rax, [rsi + 0x364]
xor r8d, r8d
mov dword [rsp + 0x30], r13d
mov qword [rsp + 0x38], r13
mov dword [rsp + 0x40], r13d
mov qword [rsp + 0x28], rax
call fcn.18001f040
jmp 0x18001b26a
lea rcx, [rsp + 0x50]
call qword [sym.imp.KERNEL32.dll_GetFileAttributesW]
cmp eax, 0xffffffff
jne 0x18001b223
mov eax, 0xe0032000
jmp 0x18001b0ce
lea rax, [rsi + 0x40]
lea rdx, [rsp + 0x50]
lea rcx, [rsp + 0x20]
mov qword [rsp + 0x20], rax
lea rax, [rsi + 0x364]
xor r8d, r8d
mov dword [rsp + 0x30], r13d
mov qword [rsp + 0x38], r13
mov dword [rsp + 0x40], r13d
mov qword [rsp + 0x28], rax
call fcn.18001f040
test eax, eax
js 0x18001b0ce
cmp eax, 1
je 0x18001b0ce
mov rdx, rdi
mov rcx, rbp
call qword [sym.imp.KERNEL32.dll_lstrcpyW]
mov rcx, rsi
call fcn.18001aab0
xor eax, eax
jmp 0x18001b0ce
mov rdx, rdi
mov rcx, rbp
call qword [sym.imp.KERNEL32.dll_lstrcpyW]
xor eax, eax
jmp 0x18001b0d6
mov eax, 0x80070057
jmp 0x18001b0d6