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

Disassembly:
push rbp
push rsi
push rdi
push r12
push r14
push r15
lea rbp, [rsp - 0x178]
sub rsp, 0x278
mov rax, qword [0x1800eb008]
xor rax, rsp
mov qword [rbp + 0x160], rax
mov rdi, rdx
mov rsi, r8
lea rdx, [rcx + 0x38]
mov r14, rcx
xor r12d, r12d
lea r8, [rsp + 0x20]
mov rcx, rdi
mov dword [rsp + 0x20], r12d
call fcn.180047fb0
test eax, eax
js 0x180043e17
cmp eax, 1
je 0x180043e17
mov ecx, dword [r14 + 0x38]
cmp ecx, 0xa
je 0x1800440b5
cmp ecx, 1
je 0x1800440b5
cmp ecx, 2
jne 0x180043ceb
mov r8, rsi
mov rdx, rdi
mov rcx, r14
call fcn.180042630
jmp 0x180043e17
lea eax, [rcx - 5]
mov qword [rsp + 0x270], rbx
cmp eax, 2
jbe 0x180043f75
mov rcx, rdi
call qword [sym.imp.SHLWAPI.dll_PathFindExtensionW]
mov rbx, rax
test rax, rax
je 0x180043e01
cmp word [rax], r12w
je 0x180043e01
lea rdx, str..cue
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_lstrcmpiW]
test eax, eax
jne 0x180043d9b
lea rax, [r14 + 0x40]
mov dword [rsp + 0x38], r12d
mov qword [rsp + 0x28], rax
lea rcx, [rsp + 0x28]
lea rax, [r14 + 0x364]
mov dword [rsp + 0x48], r12d
mov qword [rsp + 0x30], rax
mov r8, rsi
lea rax, [r14 + 0x3c0]
mov rdx, rdi
mov qword [rsp + 0x40], rax
call fcn.180046f80
test eax, eax
js 0x180043d96
cmp eax, 1
je 0x180043d96
mov eax, dword [rsp + 0x48]
mov rcx, r14
mov dword [r14 + 0x38], eax
mov eax, dword [rsp + 0x38]
mov dword [r14 + 0x368], eax
call fcn.180043970
mov eax, r12d
jmp 0x180043e0f
mov r12d, eax
jmp 0x180043e0f
lea rdx, [0x1800d9698]
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_lstrcmpiW]
test eax, eax
jne 0x180043e37
sub rbx, rdi
mov rdx, rdi
mov r8, rbx
mov rcx, rsi
call fcn.18008b7d0
lea rdx, str..mds
mov rcx, rsi
call qword [sym.imp.KERNEL32.dll_lstrcatW]
mov rcx, rsi
call qword [sym.imp.KERNEL32.dll_GetFileAttributesW]
cmp eax, 0xffffffff
je 0x180043e01
xor r8d, r8d
mov dword [r14 + 0x38], 2
mov rdx, rsi
mov rcx, r14
call fcn.180042630
test eax, eax
js 0x180043e0f
cmp eax, 1
je 0x180043e0f
mov rdx, rdi
mov rcx, rsi
call qword [sym.imp.KERNEL32.dll_lstrcpyW]
xor eax, eax
mov rbx, qword [rsp + 0x270]
mov rcx, qword [rbp + 0x160]
xor rcx, rsp
call fcn.180072920
add rsp, 0x278
pop r15
pop r14
pop r12
pop rdi
pop rsi
pop rbp
ret
lea rdx, str..ccd
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_lstrcmpiW]
test eax, eax
jne 0x180043e76
sub rbx, rdi
mov rdx, rdi
mov r8, rbx
mov rcx, rsi
call fcn.18008b7d0
lea rdx, str..img
mov rcx, rsi
call qword [sym.imp.KERNEL32.dll_lstrcatW]
mov dword [r14 + 0x38], 3
jmp 0x180043e0d
lea rdx, str..bwt
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_lstrcmpiW]
test eax, eax
jne 0x180043ea4
sub rbx, rdi
mov rdx, rdi
mov r8, rbx
mov rcx, rsi
call fcn.18008b7d0
lea rdx, str..bwi
jmp 0x180043f16
lea rdx, str..bwi
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_lstrcmpiW]
test eax, eax
je 0x180043f60
lea rdx, str..b5t
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_lstrcmpiW]
test eax, eax
jne 0x180043eea
sub rbx, rdi
mov rdx, rdi
mov r8, rbx
mov rcx, rsi
call fcn.18008b7d0
lea rdx, str..b5i
jmp 0x180043f16
lea rdx, str..b6t
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_lstrcmpiW]
test eax, eax
jne 0x180043f34
sub rbx, rdi
mov rdx, rdi
mov r8, rbx
mov rcx, rsi
call fcn.18008b7d0
lea rdx, str..b6i
mov rcx, rsi
call qword [sym.imp.KERNEL32.dll_lstrcatW]
mov dword [r14 + 0x34], 0x56220
mov dword [r14 + 0x38], 9
jmp 0x180043e0d
lea rdx, str..b5i
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_lstrcmpiW]
test eax, eax
je 0x180043f60
lea rdx, str..b6i
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_lstrcmpiW]
test eax, eax
jne 0x180043e01
mov dword [r14 + 0x34], 0x56220
mov dword [r14 + 0x38], 9
jmp 0x180043e01
cmp ecx, 5
jne 0x180043f89
mov rdx, rdi
mov rcx, r14
call fcn.1800439b0
test eax, eax
je 0x180043faa
cmp dword [r14 + 0x38], 7
jne 0x180043f9f
mov rdx, rdi
mov rcx, r14
call fcn.1800439b0
test eax, eax
je 0x180043faa
cmp dword [r14 + 0x38], 6
jne 0x18004409c
mov rcx, rdi
call qword [sym.imp.SHLWAPI.dll_PathFindExtensionW]
xor edx, edx
lea rcx, [rsp + 0x50]
mov r8d, 0x208
mov rbx, rax
call fcn.18008c000
sub rbx, rdi
lea rcx, [rsp + 0x50]
mov r8, rbx
mov rdx, rdi
call fcn.18008b7d0
lea rdx, str..cue
lea rcx, [rsp + 0x50]
call qword [sym.imp.KERNEL32.dll_lstrcatW]
cmp dword [r14 + 0x38], 6
lea rcx, [rsp + 0x50]
jne 0x180044040
call qword [sym.imp.KERNEL32.dll_GetFileAttributesW]
cmp eax, 0xffffffff
je 0x18004409c
lea rax, [r14 + 0x40]
mov dword [rsp + 0x38], r12d
mov qword [rsp + 0x28], rax
lea rdx, [rsp + 0x50]
lea rax, [r14 + 0x364]
mov qword [rsp + 0x40], r12
xor r8d, r8d
mov qword [rsp + 0x30], rax
lea rcx, [rsp + 0x28]
mov dword [rsp + 0x48], r12d
call fcn.180046f80
jmp 0x18004409c
call qword [sym.imp.KERNEL32.dll_GetFileAttributesW]
cmp eax, 0xffffffff
jne 0x180044055
mov eax, 0xe0032000
jmp 0x180043e0f
lea rax, [r14 + 0x40]
mov dword [rsp + 0x38], r12d
mov qword [rsp + 0x28], rax
lea rdx, [rsp + 0x50]
lea rax, [r14 + 0x364]
mov qword [rsp + 0x40], r12
xor r8d, r8d
mov qword [rsp + 0x30], rax
lea rcx, [rsp + 0x28]
mov dword [rsp + 0x48], r12d
call fcn.180046f80
test eax, eax
js 0x180043e0f
cmp eax, 1
je 0x180043e0f
mov rdx, rdi
mov rcx, rsi
call qword [sym.imp.KERNEL32.dll_lstrcpyW]
mov rcx, r14
call fcn.180043970
jmp 0x180043e0d
mov rdx, rdi
mov rcx, rsi
call qword [sym.imp.KERNEL32.dll_lstrcpyW]
xor eax, eax
jmp 0x180043e17