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

Disassembly:
push rbx
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
sub rsp, 0xc8
mov qword [rsp + 0x58], 0xfffffffffffffffe
mov rax, qword [0x12a52ee0]
xor rax, rsp
mov qword [rsp + 0xb8], rax
mov qword [rsp + 0x38], r9
mov r15, r8
mov rbx, rdx
mov rdi, rcx
mov r12, qword [rsp + 0x130]
mov qword [rsp + 0x48], r12
mov r13, qword [rsp + 0x138]
mov qword [rsp + 0x40], r13
xor ebp, ebp
mov esi, ebp
mov dword [rsp + 0x34], ebp
mov rcx, r8
call fcn.12803f90
test rbx, rbx
je 0x1281bae7
mov dword [rsp + 0x88], ebp
lea rax, [rsp + 0x90]
mov qword [rsp + 0x50], rax
mov qword [rsp + 0xb0], 7
mov qword [rsp + 0xa8], rbp
mov word [rsp + 0x98], bp
mov qword [rsp + 0x80], 7
mov qword [rsp + 0x78], rbp
mov word [rsp + 0x68], bp
mov rcx, rbx
call qword [sym.imp.SHLWAPI.dll_PathFindExtensionW]
test rax, rax
je 0x1281b581
cmp word [rax], 0x2e
jne 0x1281b581
mov byte [rsp + 0x30], bpl
jmp 0x1281b586
mov byte [rsp + 0x30], 1
mov ebp, 0x5c
lea r14, [0x129bcb5c]
test rdi, rdi
je 0x1281b77d
cmp word [rdi], 0
je 0x1281b87c
nop word [rax + rax]
lea rdx, [0x129b4198]
mov rcx, rdi
call fcn.1295bbd0
lea r12, [rdi + rax*2]
mov r8, r12
mov rdx, rdi
lea rcx, [rsp + 0x60]
call fcn.1281aff0
mov r11, qword [rsp + 0x78]
test r11, r11
je 0x1281b726
cmp word [rbx], 0
je 0x1281b683
xor eax, eax
or rcx, 0xffffffffffffffff
mov rdi, rbx
repne scasw ax, word [rdi]
not rcx
lea r13, [rbx + rcx*2 - 2]
mov rsi, rbx
cmp rbx, r13
je 0x1281b67e
lea rdi, [r11 - 1]
cmp r11, rdi
ja 0x1281b615
call fcn.129581ac
lea rax, [rsp + 0x68]
cmp qword [rsp + 0x80], 8
cmovae rax, qword [rsp + 0x68]
cmp word [rax + rdi*2], bp
je 0x1281b641
mov r8d, ebp
mov edx, 1
lea rcx, [rsp + 0x60]
call fcn.12803b90
mov rcx, r14
movzx edx, word [rbx]
mov eax, ebp
nop dword [rax]
cmp dx, ax
je 0x1281b663
add rcx, 2
mov ax, word [rcx]
test ax, ax
jne 0x1281b650
jmp 0x1281b667
lea rsi, [rbx + 2]
mov r8, r13
mov rdx, rsi
lea rcx, [rsp + 0x60]
call fcn.1281aed0
mov r13, qword [rsp + 0x40]
jmp 0x1281b683
mov r13, qword [rsp + 0x40]
lea rcx, [rsp + 0x68]
cmp qword [rsp + 0x80], 8
cmovae rcx, qword [rsp + 0x68]
call qword [sym.imp.KERNEL32.dll_GetFileAttributesW]
mov edi, eax
call qword [sym.imp.KERNEL32.dll_GetLastError]
cmp edi, 0xffffffff
jne 0x1281b758
cmp byte [rsp + 0x30], 0
je 0x1281b701
test r13, r13
je 0x1281b701
xor eax, eax
or rcx, 0xffffffffffffffff
mov rdi, r13
repne scasw ax, word [rdi]
not rcx
lea r8, [rcx - 1]
mov rdx, r13
lea rcx, [rsp + 0x60]
call fcn.12803a10
lea rcx, [rsp + 0x68]
cmp qword [rsp + 0x80], 8
cmovae rcx, qword [rsp + 0x68]
call qword [sym.imp.KERNEL32.dll_GetFileAttributesW]
mov edi, eax
call qword [sym.imp.KERNEL32.dll_GetLastError]
cmp edi, 0xffffffff
jne 0x1281b741
cmp eax, 2
jne 0x1281b726
mov dword [rsp + 0x88], eax
or r9, 0xffffffffffffffff
xor r8d, r8d
lea rdx, [rsp + 0x60]
lea rcx, [rsp + 0x90]
call fcn.12803c90
mov rdi, r12
cmp word [r12], 0x3b
jne 0x1281b736
lea rdi, [r12 + 2]
cmp word [rdi], 0
je 0x1281b76f
jmp 0x1281b5b0
lea rdx, [rsp + 0x60]
mov rcx, r15
call fcn.1281b110
mov esi, 1
jmp 0x1281ba18
lea rdx, [rsp + 0x60]
mov rcx, r15
call fcn.1281b110
mov esi, 1
jmp 0x1281ba18
mov esi, dword [rsp + 0x34]
mov r12, qword [rsp + 0x48]
jmp 0x1281b87c
mov rax, qword [rsp + 0x78]
mov edx, 0x104
cmp rax, rdx
je 0x1281b7b1
cmp rax, rdx
jb 0x1281b7a1
or r8, 0xffffffffffffffff
lea rcx, [rsp + 0x60]
call fcn.128033a0
jmp 0x1281b7b1
xor r8d, r8d
sub rdx, rax
lea rcx, [rsp + 0x60]
call fcn.12803b90
lea rax, [rsp + 0x68]
cmp qword [rsp + 0x80], 8
cmovae rax, qword [rsp + 0x68]
mov edi, dword [rsp + 0x78]
mov rcx, qword [rsp + 0x38]
mov qword [rsp + 0x28], rcx
mov qword [rsp + 0x20], rax
mov r9d, edi
mov r8, r13
mov rdx, rbx
xor ecx, ecx
call qword [sym.imp.KERNEL32.dll_SearchPathW]
cmp eax, edi
jbe 0x1281b85d
lea edx, [rax + 2]
cmp rdx, 0xffffffffffffffff
je 0x1281b825
mov rax, qword [rsp + 0x78]
cmp rdx, rax
je 0x1281b825
cmp rdx, rax
ja 0x1281b815
or r8, 0xffffffffffffffff
lea rcx, [rsp + 0x60]
call fcn.128033a0
jmp 0x1281b825
xor r8d, r8d
sub rdx, rax
lea rcx, [rsp + 0x60]
call fcn.12803b90
lea rax, [rsp + 0x68]
cmp qword [rsp + 0x80], 8
cmovae rax, qword [rsp + 0x68]
mov edi, dword [rsp + 0x78]
mov rcx, qword [rsp + 0x38]
mov qword [rsp + 0x28], rcx
mov qword [rsp + 0x20], rax
mov r9d, edi
mov r8, r13
mov rdx, rbx
xor ecx, ecx
call qword [sym.imp.KERNEL32.dll_SearchPathW]
test eax, eax
je 0x1281b87c
cmp eax, edi
jae 0x1281b87c
lea rdx, [rsp + 0x60]
mov rcx, r15
call fcn.1281b110
mov esi, 1
jmp 0x1281ba18
test r12, r12
je 0x1281ba22
lea rdx, [0x129b4198]
mov rcx, r12
call fcn.1295bbd0
lea r8, [r12 + rax*2]
mov rdx, r12
lea rcx, [rsp + 0x60]
call fcn.1281aff0
mov r11, qword [rsp + 0x78]
test r11, r11
je 0x1281ba22
cmp word [rbx], 0
je 0x1281b938
xor eax, eax
or rcx, 0xffffffffffffffff
mov rdi, rbx
repne scasw ax, word [rdi]
not rcx
lea rsi, [rbx + rcx*2 - 2]
cmp rbx, rsi
je 0x1281b938
lea rdi, [r11 - 1]
cmp r11, rdi
ja 0x1281b8e0
call fcn.129581ac
lea rax, [rsp + 0x68]
cmp qword [rsp + 0x80], 8
cmovae rax, qword [rsp + 0x68]
cmp word [rax + rdi*2], bp
je 0x1281b90c
mov r8d, ebp
mov edx, 1
lea rcx, [rsp + 0x60]
call fcn.12803b90
movzx eax, word [rbx]
nop
cmp ax, bp
je 0x1281b924
add r14, 2
mov bp, word [r14]
test bp, bp
jne 0x1281b910
jmp 0x1281b928
add rbx, 2
mov r8, rsi
mov rdx, rbx
lea rcx, [rsp + 0x60]
call fcn.1281aed0
lea rcx, [rsp + 0x68]
cmp qword [rsp + 0x80], 8
cmovae rcx, qword [rsp + 0x68]
call qword [sym.imp.KERNEL32.dll_GetFileAttributesW]
mov edi, eax
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov ebx, eax
cmp edi, 0xffffffff
je 0x1281b975
lea rdx, [rsp + 0x60]
mov rcx, r15
call fcn.1281b110
mov esi, 1
jmp 0x1281b979
mov esi, dword [rsp + 0x34]
cmp byte [rsp + 0x30], 0
je 0x1281b9e2
test r13, r13
je 0x1281b9e2
xor eax, eax
or rcx, 0xffffffffffffffff
mov rdi, r13
repne scasw ax, word [rdi]
not rcx
lea r8, [rcx - 1]
mov rdx, r13
lea rcx, [rsp + 0x60]
call fcn.12803a10
lea rcx, [rsp + 0x68]
cmp qword [rsp + 0x80], 8
cmovae rcx, qword [rsp + 0x68]
call qword [sym.imp.KERNEL32.dll_GetFileAttributesW]
mov edi, eax
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov ebx, eax
cmp edi, 0xffffffff
je 0x1281b9e2
lea rdx, [rsp + 0x60]
mov rcx, r15
call fcn.1281b110
mov esi, 1
jmp 0x1281ba18
test esi, esi
jne 0x1281ba18
cmp ebx, 2
je 0x1281b9f6
cmp qword [rsp + 0xa8], 0
jne 0x1281ba2d
mov dword [rsp + 0x88], ebx
or r9, 0xffffffffffffffff
xor r8d, r8d
lea rdx, [rsp + 0x60]
lea rcx, [rsp + 0x90]
call fcn.12803c90
jmp 0x1281ba22
xor ecx, ecx
call qword [sym.imp.KERNEL32.dll_SetLastError]
jmp 0x1281ba4a
cmp qword [rsp + 0xa8], 0
je 0x1281ba4a
lea rdx, [rsp + 0x90]
mov rcx, r15
call fcn.1281b110
mov ecx, dword [rsp + 0x88]
call qword [sym.imp.KERNEL32.dll_SetLastError]
cmp qword [r15 + 0x18], 0
je 0x1281ba75
mov rdi, qword [rsp + 0x38]
test rdi, rdi
je 0x1281ba75
cmp qword [r15 + 0x20], 8
jb 0x1281ba68
mov rcx, qword [r15 + 8]
jmp 0x1281ba6c
lea rcx, [r15 + 8]
call qword [sym.imp.SHLWAPI.dll_PathFindFileNameW]
mov qword [rdi], rax
cmp qword [rsp + 0x80], 8
jb 0x1281ba8a
mov rcx, qword [rsp + 0x68]
call fcn.12958250
mov qword [rsp + 0x80], 7
xor edi, edi
mov qword [rsp + 0x78], rdi
mov word [rsp + 0x68], di
lea rax, [rsp + 0x90]
mov qword [rsp + 0x50], rax
cmp qword [rsp + 0xb0], 8
jb 0x1281bac7
mov rcx, qword [rsp + 0x98]
call fcn.12958250
mov qword [rsp + 0xb0], 7
mov qword [rsp + 0xa8], rdi
mov word [rsp + 0x98], di
mov eax, esi
jmp 0x1281bae9
mov eax, esi
mov rcx, qword [rsp + 0xb8]
xor rcx, rsp
call fcn.12959850
add rsp, 0xc8
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
pop rbx
ret