Function at 0x14006d530
Capabilities:
Get file attributes

Disassembly:
mov qword [rsp + 8], rbx
mov qword [rsp + 0x10], rsi
mov qword [rsp + 0x20], rdi
push rbp
push r12
push r13
push r14
push r15
mov rbp, rsp
sub rsp, 0x70
mov rsi, rdx
mov rdi, rcx
mov rcx, rdx
call fcn.14006df14
mov ebx, eax
mov r15d, 0x5c
xor r13d, r13d
test eax, eax
js 0x14006d759
lea r8d, [rbx + 1]
cmp word [rsi + r8*2], r13w
je 0x14006d759
lea rdx, [rsi + rbx*2]
lea rcx, [rbp - 0x40]
call fcn.14006c6dc
nop
mov rdx, rsi
lea rcx, [rbp - 0x50]
call fcn.14006c6dc
nop
cmp ebx, dword [rbp - 0x48]
jae 0x14006d5ab
mov dword [rbp - 0x48], ebx
mov rax, qword [rbp - 0x50]
mov word [rax + rbx*2], r13w
cmp dword [rbp - 0x38], 6
jbe 0x14006d5d0
mov ecx, dword [rbp - 0x38]
mov rax, qword [rbp - 0x40]
add rax, 0xfffffffffffffff4
lea rcx, [rax + rcx*2]
lea rdx, str.:_DATA
call fcn.14006cbf0
test al, al
jne 0x14006d5e0
lea rdx, str.:_DATA
lea rcx, [rbp - 0x40]
call fcn.14006c8e4
mov rcx, qword [rbp - 0x50]
call fcn.14006e160
mov rdx, qword [rbp - 0x50]
test al, al
je 0x14006d639
cmp ebx, 2
je 0x14006d602
cmp ebx, 3
jne 0x14006d639
cmp word [rdx + 4], r15w
jne 0x14006d639
mov qword [rdi], r13
mov qword [rdi + 8], r13
mov qword [rdi + 0x10], r13
mov qword [rdi + 0x18], r13
mov dword [rdi + 0x20], r13d
mov word [rdi + 0x24], r13w
lea rcx, [rdi + 0x28]
mov dword [rcx + 8], r13d
mov rax, qword [rcx]
mov word [rax], r13w
cmp ebx, 2
jne 0x14006d649
lea rdx, [rbp - 0x50]
call fcn.14006c76c
jmp 0x14006d649
mov rcx, rdi
call fcn.14006d530
test al, al
je 0x14006d746
and dword [rdi + 0x20], 0xfffffbef
mov qword [rdi], r13
or r15, 0xffffffffffffffff
mov qword [rbp - 0x18], r15
lea rdx, [rbp - 0x50]
lea rcx, [rbp - 0x10]
call fcn.14006c6a0
nop
lea rcx, [rbp - 0x30]
call fcn.14006c734
jmp 0x14006d69e
cmp byte [rbp + 0x40], r13b
je 0x14006d6f0
mov rdx, qword [rbp - 0x40]
mov rcx, qword [rbp - 0x30]
call fcn.14006cb48
test al, al
jne 0x14006d6b5
mov rcx, qword [rbp - 0x30]
call fcn.14006e3d4
lea rcx, [rbp - 0x30]
call fcn.14006c734
nop
lea r8, [rbp + 0x40]
lea rdx, [rbp - 0x30]
lea rcx, [rbp - 0x18]
call fcn.14006dbcc
test al, al
jne 0x14006d674
jmp 0x14006d6fb
mov eax, dword [rbp - 0x28]
cmp eax, 7
jbe 0x14006d6d0
lea ecx, [rax - 6]
cmp ecx, eax
jae 0x14006d6d0
mov dword [rbp - 0x28], ecx
mov rax, qword [rbp - 0x30]
mov word [rax + rcx*2], r13w
lea rcx, [rdi + 0x28]
lea rdx, [rbp - 0x30]
call fcn.14006c898
mov rax, qword [rbp - 0x20]
mov qword [rdi], rax
mov r14d, 1
mov byte [rdi + 0x24], r14b
jmp 0x14006d6fe
mov ecx, 2
call qword [sym.imp.KERNEL32.dll_SetLastError]
mov r14b, r13b
mov rcx, qword [rbp - 0x30]
call fcn.14006e3d4
nop
mov rcx, qword [rbp - 0x10]
call fcn.14006e3d4
mov rcx, qword [rbp - 0x18]
cmp rcx, r15
je 0x14006d72e
call qword [sym.imp.KERNEL32.dll_FindClose]
mov rcx, qword [rbp - 0x18]
test eax, eax
cmovne rcx, r15
mov qword [rbp - 0x18], rcx
mov rcx, qword [rbp - 0x50]
call fcn.14006e3d4
nop
mov rcx, qword [rbp - 0x40]
call fcn.14006e3d4
jmp 0x14006d97f
mov rcx, qword [rbp - 0x50]
call fcn.14006e3d4
nop
mov rcx, qword [rbp - 0x40]
call fcn.14006e3d4
or r15, 0xffffffffffffffff
mov rbx, r15
mov qword [rbp + 0x40], rbx
mov rcx, rsi
call fcn.14006e204
mov r14d, r13d
lea ecx, [r15 + 5]
test al, al
cmovne r14d, ecx
lea r12, [rsi + r14*2]
mov rcx, r12
call fcn.14006e184
test al, al
je 0x14006d7ef
lea eax, [r14 + 3]
cmp word [rsi + rax*2], r13w
jne 0x14006d7ef
mov rcx, rsi
call qword [sym.imp.KERNEL32.dll_GetFileAttributesW]
or edx, 0xffffffff
cmp eax, edx
je 0x14006d95b
lea ecx, [r15 + 0x11]
test cl, al
je 0x14006d95b
mov qword [rdi], r13
mov qword [rdi + 8], r13
mov qword [rdi + 0x10], r13
mov qword [rdi + 0x18], r13
mov word [rdi + 0x24], r13w
mov dword [rdi + 0x20], eax
mov rdx, r12
lea rcx, [rdi + 0x28]
call fcn.14006c7fc
cmp dword [rdi + 0x30], 2
jbe 0x14006d855
mov dword [rdi + 0x30], 2
mov rax, qword [rdi + 0x28]
mov word [rax + 4], r13w
jmp 0x14006d855
mov r14d, 0x5c
cmp word [rsi], r14w
je 0x14006d805
cmp word [rsi], 0x2f
jne 0x14006d95b
mov rcx, rsi
cmp word [rsi + 2], r13w
jne 0x14006d860
call qword [sym.imp.KERNEL32.dll_GetFileAttributesW]
mov r8d, eax
or edx, 0xffffffff
cmp eax, edx
je 0x14006d95b
mov ecx, reloc.WS2_32.dll_recv
test cl, r8b
je 0x14006d95b
mov qword [rdi], r13
mov qword [rdi + 8], r13
mov qword [rdi + 0x10], r13
mov qword [rdi + 0x18], r13
mov word [rdi + 0x24], r13w
mov dword [rdi + 0x30], r13d
mov rax, qword [rdi + 0x28]
mov word [rax], r13w
mov dword [rdi + 0x20], r8d
mov r14d, 1
jmp 0x14006d971
call fcn.14006df9c
test eax, eax
je 0x14006d95b
mov eax, eax
lea rbx, [rsi + rax*2]
cmp word [rbx], r13w
je 0x14006d95b
mov rcx, rbx
call fcn.14006df70
test eax, eax
jns 0x14006d95b
mov rdx, rsi
lea rcx, [rbp - 0x50]
call fcn.14006c6dc
nop
mov edx, dword [rbp - 0x48]
cmp dword [rbp - 0x44], edx
jne 0x14006d8ae
lea rcx, [rbp - 0x50]
call fcn.14006c990
mov edx, dword [rbp - 0x48]
mov rcx, qword [rbp - 0x50]
mov eax, edx
mov word [rcx + rax*2], r14w
mov r14d, 1
add edx, r14d
mov word [rcx + rdx*2], r13w
mov dword [rbp - 0x48], edx
cmp dword [rbp - 0x44], edx
jne 0x14006d8db
lea rcx, [rbp - 0x50]
call fcn.14006c990
mov edx, dword [rbp - 0x48]
mov rcx, qword [rbp - 0x50]
mov eax, edx
mov r8d, Ordinal_45
mov word [rcx + rax*2], r8w
add edx, r14d
mov word [rcx + rdx*2], r13w
mov dword [rbp - 0x48], edx
mov r12b, r13b
mov r8, rdi
mov rdx, qword [rbp - 0x50]
lea rcx, [rbp + 0x40]
call fcn.14006d9d8
test al, al
je 0x14006d929
lea rcx, [rdi + 0x28]
mov rax, qword [rcx]
cmp word [rax], 0x2e
jne 0x14006d926
cmp word [rax + 2], r13w
je 0x14006d9c2
mov r12b, r14b
mov rcx, rsi
call qword [sym.imp.KERNEL32.dll_GetFileAttributesW]
or edx, 0xffffffff
mov r8d, edx
cmp eax, edx
cmovne r8d, eax
mov ecx, reloc.WS2_32.dll_recv
test r12b, r12b
jne 0x14006d9a0
cmp r8d, edx
je 0x14006d952
test cl, r8b
jne 0x14006d9a0
mov rcx, qword [rbp - 0x50]
call fcn.14006e3d4
mov r8, rdi
mov rdx, rsi
lea rcx, [rbp + 0x40]
call fcn.14006d9d8
mov r14b, al
mov rbx, qword [rbp + 0x40]
cmp rbx, r15
je 0x14006d97f
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_FindClose]
mov al, r14b
lea r11, [rsp + 0x70]
mov rbx, qword [r11 + 0x30]
mov rsi, qword [r11 + 0x38]
mov rdi, qword [r11 + 0x48]
mov rsp, r11
pop r15
pop r14
pop r13
pop r12
pop rbp
ret
mov qword [rdi], r13
mov qword [rdi + 8], r13
mov qword [rdi + 0x10], r13
mov qword [rdi + 0x18], r13
mov word [rdi + 0x24], r13w
cmp r8d, edx
cmovne ecx, r8d
mov dword [rdi + 0x20], ecx
lea rcx, [rdi + 0x28]
mov rdx, rbx
call fcn.14006c7fc
nop
mov rcx, qword [rbp - 0x50]
call fcn.14006e3d4
jmp 0x14006d96d