Function at 0x18004c640
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 [0x1800f7050]
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 0x18004cac8
lea rdx, [rcx + 0x30]
lea r8, [rsp + 0x48]
mov rcx, rdi
call fcn.180051500
test eax, eax
js 0x18004c906
cmp eax, 1
je 0x18004c906
mov eax, dword [rsi + 0x30]
cmp eax, 0xa
je 0x18004cab5
cmp eax, 1
je 0x18004cab5
cmp eax, 2
jne 0x18004c6ca
mov r8, rbp
mov rdx, rdi
mov rcx, rsi
call fcn.18004b000
jmp 0x18004c906
mov qword [rsp + 0x2b8], rbx
cmp eax, 5
je 0x18004c96b
cmp eax, 6
je 0x18004c96b
cmp eax, 7
je 0x18004c96b
mov rcx, rdi
call qword [sym.imp.SHLWAPI.dll_PathFindExtensionW]
mov rbx, rax
test rax, rax
je 0x18004c95b
cmp word [rax], r13w
je 0x18004c95b
lea rdx, str..cue
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_lstrcmpiW]
test eax, eax
jne 0x18004c78a
lea rax, [rsi + 0x38]
lea rcx, [rsp + 0x20]
mov r8, rbp
mov qword [rsp + 0x20], rax
lea rax, [rsi + 0x35c]
mov rdx, rdi
mov qword [rsp + 0x28], rax
lea rax, [rsi + 0x3d0]
mov dword [rsp + 0x30], r13d
mov qword [rsp + 0x38], rax
mov dword [rsp + 0x40], r13d
call fcn.180050690
test eax, eax
js 0x18004c8fe
cmp eax, 1
je 0x18004c8fe
mov eax, dword [rsp + 0x40]
mov rcx, rsi
mov dword [rsi + 0x30], eax
mov eax, dword [rsp + 0x30]
mov dword [rsi + 0x360], eax
call fcn.18004c2e0
jmp 0x18004c8fc
lea rdx, [0x1800dcd00]
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_lstrcmpiW]
test eax, eax
jne 0x18004c804
sub rbx, rdi
mov rdx, rdi
mov rcx, rbp
mov r8, rbx
call fcn.180063290
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 0x18004c7f3
xor r8d, r8d
mov rdx, rbp
mov rcx, rsi
mov dword [rsi + 0x30], 2
call fcn.18004b000
test eax, eax
js 0x18004c8fe
cmp eax, 1
je 0x18004c8fe
mov rdx, rdi
mov rcx, rbp
call qword [sym.imp.KERNEL32.dll_lstrcpyW]
jmp 0x18004c8fc
lea rdx, str..ccd
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_lstrcmpiW]
test eax, eax
jne 0x18004c845
sub rbx, rdi
mov rdx, rdi
mov rcx, rbp
mov r8, rbx
call fcn.180063290
lea rdx, str..img
mov rcx, rbp
call qword [sym.imp.KERNEL32.dll_lstrcatW]
mov dword [rsi + 0x30], 3
jmp 0x18004c8fc
lea rdx, str..bwt
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_lstrcmpiW]
test eax, eax
jne 0x18004c873
sub rbx, rdi
mov rdx, rdi
mov rcx, rbp
mov r8, rbx
call fcn.180063290
lea rdx, str..bwi
jmp 0x18004c8e5
lea rdx, str..bwi
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_lstrcmpiW]
test eax, eax
je 0x18004c94d
lea rdx, str..b5t
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_lstrcmpiW]
test eax, eax
jne 0x18004c8b9
sub rbx, rdi
mov rdx, rdi
mov rcx, rbp
mov r8, rbx
call fcn.180063290
lea rdx, str..b5i
jmp 0x18004c8e5
lea rdx, str..b6t
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_lstrcmpiW]
test eax, eax
jne 0x18004c925
sub rbx, rdi
mov rdx, rdi
mov rcx, rbp
mov r8, rbx
call fcn.180063290
lea rdx, str..b6i
mov rcx, rbp
call qword [sym.imp.KERNEL32.dll_lstrcatW]
mov dword [rsi + 0x2c], 0x56220
mov dword [rsi + 0x30], 9
xor eax, eax
mov rbx, qword [rsp + 0x2b8]
mov rcx, qword [rsp + 0x260]
xor rcx, rsp
call fcn.180062100
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 0x18004c94d
lea rdx, str..b6i
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_lstrcmpiW]
test eax, eax
jne 0x18004c95b
mov dword [rsi + 0x2c], 0x56220
mov dword [rsi + 0x30], 9
mov rdx, rdi
mov rcx, rbp
call qword [sym.imp.KERNEL32.dll_lstrcpyW]
xor eax, eax
jmp 0x18004c8fe
cmp eax, 5
jne 0x18004c97f
mov rdx, rdi
mov rcx, rsi
call fcn.18004c320
test eax, eax
je 0x18004c99e
cmp dword [rsi + 0x30], 7
jne 0x18004c994
mov rdx, rdi
mov rcx, rsi
call fcn.18004c320
test eax, eax
je 0x18004c99e
cmp dword [rsi + 0x30], 6
jne 0x18004ca9a
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.1800644c0
sub rbx, rdi
lea rcx, [rsp + 0x50]
mov r8, rbx
mov rdx, rdi
call fcn.180063290
lea rdx, str..cue
lea rcx, [rsp + 0x50]
call qword [sym.imp.KERNEL32.dll_lstrcatW]
cmp dword [rsi + 0x30], 6
jne 0x18004ca39
lea rcx, [rsp + 0x50]
call qword [sym.imp.KERNEL32.dll_GetFileAttributesW]
cmp eax, 0xffffffff
je 0x18004ca9a
lea rax, [rsi + 0x38]
lea rdx, [rsp + 0x50]
lea rcx, [rsp + 0x20]
mov qword [rsp + 0x20], rax
lea rax, [rsi + 0x35c]
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.180050690
jmp 0x18004ca9a
lea rcx, [rsp + 0x50]
call qword [sym.imp.KERNEL32.dll_GetFileAttributesW]
cmp eax, 0xffffffff
jne 0x18004ca53
mov eax, 0xe0032000
jmp 0x18004c8fe
lea rax, [rsi + 0x38]
lea rdx, [rsp + 0x50]
lea rcx, [rsp + 0x20]
mov qword [rsp + 0x20], rax
lea rax, [rsi + 0x35c]
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.180050690
test eax, eax
js 0x18004c8fe
cmp eax, 1
je 0x18004c8fe
mov rdx, rdi
mov rcx, rbp
call qword [sym.imp.KERNEL32.dll_lstrcpyW]
mov rcx, rsi
call fcn.18004c2e0
xor eax, eax
jmp 0x18004c8fe
mov rdx, rdi
mov rcx, rbp
call qword [sym.imp.KERNEL32.dll_lstrcpyW]
xor eax, eax
jmp 0x18004c906
mov eax, 0x80070057
jmp 0x18004c906