Function at 0x14000449c
Capabilities:
Get file attributes

Disassembly:
mov rax, rsp
mov qword [rax + 8], rbx
mov qword [rax + 0x10], rsi
mov qword [rax + 0x18], rdi
push rbp
push r12
push r13
push r14
push r15
lea rbp, [rax - 0x458]
sub rsp, 0x530
mov r13b, r8b
mov rsi, rdx
mov rdi, rcx
mov rcx, rdx
call fcn.1400053a4
mov ebx, eax
mov r9d, 0x5c
xor r12d, r12d
test eax, eax
js 0x14000478d
lea r9d, [rbx + 1]
cmp word [rcx + r9*2], r12w
je 0x140004787
lea rdx, [rcx + rbx*2]
lea rcx, [rsp + 0x20]
call fcn.140002ce0
nop
mov rdx, rsi
lea rcx, [rsp + 0x48]
call fcn.140002ce0
nop
mov r15, qword [rsp + 0x48]
cmp ebx, dword [rsp + 0x50]
jae 0x140004526
mov dword [rsp + 0x50], ebx
mov word [r15 + rbx*2], r12w
cmp dword [rsp + 0x28], 6
jbe 0x140004553
mov eax, dword [rsp + 0x28]
mov r12, qword [rsp + 0x20]
add rax, 0xfffffffffffffffa
lea rcx, [r12 + rax*2]
lea rdx, str.:_DATA
call fcn.1400029b4
xor r14d, r14d
test al, al
jne 0x14000456c
jmp 0x140004556
xor r14d, r14d
lea rdx, str.:_DATA
lea rcx, [rsp + 0x20]
call fcn.1400031e0
mov r12, qword [rsp + 0x20]
movzx ecx, word [r15]
lea eax, [rcx - 0x61]
cmp ax, 0x19
jbe 0x140004583
sub cx, 0x41
cmp cx, 0x19
ja 0x1400045db
cmp word [r15 + 2], 0x3a
jne 0x1400045db
cmp ebx, 2
je 0x1400045a0
cmp ebx, 3
jne 0x1400045db
lea r8d, [rbx + 0x59]
cmp word [r15 + 4], r8w
jne 0x1400045db
mov qword [rdi], r14
and qword [rdi + 8], 0
and qword [rdi + 0x10], 0
and qword [rdi + 0x18], 0
mov dword [rdi + 0x20], r14d
and word [rdi + 0x24], 0
lea rcx, [rdi + 0x28]
mov dword [rcx + 8], r14d
mov rax, qword [rcx]
mov word [rax], r14w
cmp ebx, 2
jne 0x1400045f1
lea rdx, [rsp + 0x48]
call fcn.140002e78
jmp 0x1400045f1
mov r8b, r13b
mov rdx, r15
mov rcx, rdi
call fcn.14000449c
test al, al
je 0x140004773
and dword [rdi + 0x20], 0xfffffbef
mov qword [rdi], r14
or qword [rsp + 0x58], 0xffffffffffffffff
lea rdx, [rsp + 0x48]
lea rcx, [rsp + 0x60]
call fcn.140002da8
nop
mov rbx, qword [rsp + 0x58]
lea rcx, [rsp + 0x30]
call fcn.140002ca8
nop
cmp rbx, 0xffffffffffffffff
je 0x14000465a
mov rax, qword [0x140066040]
test rax, rax
je 0x140004716
lea rdx, [rsp + 0x70]
mov rcx, rbx
call rax
test eax, eax
je 0x140004721
mov rax, qword [rsp + 0x70]
mov qword [rsp + 0x40], rax
lea rdx, [rsp + 0x78]
jmp 0x1400046a7
cmp qword [0x140066038], r14
je 0x140004716
xor ecx, ecx
call qword [sym.imp.KERNEL32.dll_SetLastError]
xor r9d, r9d
lea r8, [rbp + 0x1d0]
xor edx, edx
mov rcx, qword [rsp + 0x60]
call qword [0x140066038]
mov rbx, rax
mov qword [rsp + 0x58], rax
cmp rax, 0xffffffffffffffff
je 0x14000470e
mov rcx, qword [rbp + 0x1d0]
mov qword [rsp + 0x40], rcx
lea rdx, [rbp + 0x1d8]
lea rcx, [rsp + 0x30]
call fcn.140002de4
mov rdx, r12
lea rcx, [rsp + 0x30]
call fcn.14000434c
test al, al
jne 0x1400046d1
mov rcx, qword [rsp + 0x30]
call fcn.14003d378
jmp 0x140004616
mov rsi, qword [rsp + 0x30]
mov eax, dword [rsp + 0x38]
cmp eax, 7
jbe 0x1400046ef
lea ecx, [rax - 6]
cmp ecx, eax
jae 0x1400046ef
mov dword [rsp + 0x38], ecx
mov word [rsi + rcx*2], r14w
lea rcx, [rdi + 0x28]
lea rdx, [rsp + 0x30]
call fcn.140003194
mov rax, qword [rsp + 0x40]
mov qword [rdi], rax
mov r14b, 1
mov byte [rdi + 0x24], r14b
jmp 0x14000473a
call qword [sym.imp.KERNEL32.dll_GetLastError]
jmp 0x140004721
mov ecx, 0x78
call qword [sym.imp.KERNEL32.dll_SetLastError]
call qword [sym.imp.KERNEL32.dll_GetLastError]
cmp eax, 0x26
jne 0x140004735
lea ecx, [rax - 0x24]
call qword [sym.imp.KERNEL32.dll_SetLastError]
mov rsi, qword [rsp + 0x30]
mov rcx, rsi
call fcn.14003d378
nop
mov rcx, qword [rsp + 0x60]
call fcn.14003d378
cmp rbx, 0xffffffffffffffff
je 0x14000475d
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_FindClose]
nop
mov rcx, r15
call fcn.14003d378
nop
mov rcx, r12
call fcn.14003d378
jmp 0x140004a11
mov rcx, r15
call fcn.14003d378
nop
mov rcx, r12
call fcn.14003d378
xor r12d, r12d
mov r9d, 0x5c
or rbx, 0xffffffffffffffff
mov qword [rbp + 0x478], rbx
mov rcx, rsi
call fcn.140005300
movzx ecx, al
lea r8d, [rcx*4]
lea r15, [rsi + r8*2]
mov rcx, r15
call fcn.140005130
mov r14b, 1
test al, al
je 0x140004834
lea eax, [r8 + 3]
cmp word [rsi + rax*2], r12w
jne 0x140004834
mov rcx, rsi
call qword [sym.imp.KERNEL32.dll_GetFileAttributesW]
or ecx, 0xffffffff
cmp eax, ecx
je 0x1400049c7
lea edx, [rbx + 0x11]
test dl, al
je 0x1400049c7
mov qword [rdi], r12
and qword [rdi + 8], 0
and qword [rdi + 0x10], 0
and qword [rdi + 0x18], 0
and word [rdi + 0x24], 0
mov dword [rdi + 0x20], eax
mov rdx, r15
lea rcx, [rdi + 0x28]
call fcn.140002de4
cmp dword [rdi + 0x30], 2
jbe 0x140004824
mov dword [rdi + 0x30], 2
mov rax, qword [rdi + 0x28]
mov word [rax + 4], r12w
mov rdx, rsi
mov rcx, rdi
call fcn.140004a6c
jmp 0x140004a02
cmp word [rsi], r9w
je 0x140004844
cmp word [rsi], 0x2f
jne 0x1400049c7
mov rcx, rsi
cmp word [rsi + 2], r12w
jne 0x14000489c
call qword [sym.imp.KERNEL32.dll_GetFileAttributesW]
mov r8d, eax
or ecx, 0xffffffff
cmp eax, ecx
je 0x1400049c7
mov edx, 0x10
test dl, r8b
je 0x1400049c7
mov qword [rdi], r12
and qword [rdi + 8], 0
and qword [rdi + 0x10], 0
and qword [rdi + 0x18], 0
and word [rdi + 0x24], 0
mov dword [rdi + 0x30], r12d
mov rax, qword [rdi + 0x28]
mov word [rax], r12w
mov dword [rdi + 0x20], r8d
jmp 0x140004a02
call fcn.14000529c
test eax, eax
je 0x1400049c7
mov eax, eax
lea r15, [rsi + rax*2]
cmp word [r15], r12w
je 0x1400049c7
mov rcx, r15
call fcn.1400050a0
test eax, eax
jns 0x1400049c7
mov rdx, rsi
mov rcx, rdi
call fcn.140004a6c
test al, al
je 0x1400048e9
lea rcx, [rdi + 0x28]
mov rdx, r15
call fcn.140002de4
jmp 0x140004a02
mov rdx, rsi
lea rcx, [rsp + 0x20]
call fcn.140002ce0
nop
mov edx, dword [rsp + 0x2c]
mov ecx, dword [rsp + 0x28]
cmp edx, ecx
jne 0x140004915
lea rcx, [rsp + 0x20]
call fcn.140002b48
mov edx, dword [rsp + 0x2c]
mov ecx, dword [rsp + 0x28]
mov eax, ecx
mov rbx, qword [rsp + 0x20]
mov r8d, 0x5c
mov word [rbx + rax*2], r8w
inc ecx
mov word [rbx + rcx*2], r12w
mov dword [rsp + 0x28], ecx
cmp edx, ecx
jne 0x140004949
lea rcx, [rsp + 0x20]
call fcn.140002b48
mov ecx, dword [rsp + 0x28]
mov rbx, qword [rsp + 0x20]
mov eax, ecx
mov edx, 0x2a
mov word [rbx + rax*2], dx
inc ecx
mov word [rbx + rcx*2], r12w
mov dword [rsp + 0x28], ecx
mov r8, rdi
mov rdx, rbx
lea rcx, [rbp + 0x478]
call fcn.1400043f0
test al, al
je 0x140004990
lea rdx, [0x14005932c]
mov rcx, qword [rdi + 0x28]
call fcn.140043658
test eax, eax
je 0x140004a52
mov r12b, r14b
mov rcx, rsi
call qword [sym.imp.KERNEL32.dll_GetFileAttributesW]
or ecx, 0xffffffff
mov r8d, ecx
cmp eax, ecx
cmovne r8d, eax
mov edx, 0x10
xor eax, eax
test r12b, r12b
jne 0x140004a35
cmp r8d, ecx
je 0x1400049bf
test dl, r8b
jne 0x140004a35
mov rcx, rbx
call fcn.14003d378
mov r8, rdi
mov rdx, rsi
lea rcx, [rbp + 0x478]
call fcn.1400043f0
test r13b, r13b
je 0x1400049f8
test al, al
je 0x1400049f8
mov ecx, dword [rdi + 0x20]
shr ecx, 0xa
test r14b, cl
je 0x1400049f8
mov rdx, rsi
mov rcx, rdi
call fcn.140004a6c
mov r14b, al
mov rbx, qword [rbp + 0x478]
cmp rbx, 0xffffffffffffffff
je 0x140004a11
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_FindClose]
mov al, r14b
lea r11, [rsp + 0x530]
mov rbx, qword [r11 + 0x30]
mov rsi, qword [r11 + 0x38]
mov rdi, qword [r11 + 0x40]
mov rsp, r11
pop r15
pop r14
pop r13
pop r12
pop rbp
ret
mov qword [rdi], rax
mov qword [rdi + 8], rax
mov qword [rdi + 0x10], rax
mov qword [rdi + 0x18], rax
mov word [rdi + 0x24], ax
cmp r8d, ecx
cmovne edx, r8d
mov dword [rdi + 0x20], edx
mov rdx, r15
lea rcx, [rdi + 0x28]
call fcn.140002de4
nop
mov rcx, rbx
call fcn.14003d378
jmp 0x1400049fb