Function at 0x14006fac0
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.1400704a4
mov ebx, eax
mov r15d, 0x5c
xor r13d, r13d
test eax, eax
js 0x14006fce9
lea r8d, [rbx + 1]
cmp word [rsi + r8*2], r13w
je 0x14006fce9
lea rdx, [rsi + rbx*2]
lea rcx, [rbp - 0x40]
call fcn.14006ec6c
nop
mov rdx, rsi
lea rcx, [rbp - 0x50]
call fcn.14006ec6c
nop
cmp ebx, dword [rbp - 0x48]
jae 0x14006fb3b
mov dword [rbp - 0x48], ebx
mov rax, qword [rbp - 0x50]
mov word [rax + rbx*2], r13w
cmp dword [rbp - 0x38], 6
jbe 0x14006fb60
mov ecx, dword [rbp - 0x38]
mov rax, qword [rbp - 0x40]
add rax, 0xfffffffffffffff4
lea rcx, [rax + rcx*2]
lea rdx, str.:_DATA
call fcn.14006f180
test al, al
jne 0x14006fb70
lea rdx, str.:_DATA
lea rcx, [rbp - 0x40]
call fcn.14006ee74
mov rcx, qword [rbp - 0x50]
call fcn.1400706f0
mov rdx, qword [rbp - 0x50]
test al, al
je 0x14006fbc9
cmp ebx, 2
je 0x14006fb92
cmp ebx, 3
jne 0x14006fbc9
cmp word [rdx + 4], r15w
jne 0x14006fbc9
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 0x14006fbd9
lea rdx, [rbp - 0x50]
call fcn.14006ecfc
jmp 0x14006fbd9
mov rcx, rdi
call fcn.14006fac0
test al, al
je 0x14006fcd6
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.14006ec30
nop
lea rcx, [rbp - 0x30]
call fcn.14006ecc4
jmp 0x14006fc2e
cmp byte [rbp + 0x40], r13b
je 0x14006fc80
mov rdx, qword [rbp - 0x40]
mov rcx, qword [rbp - 0x30]
call fcn.14006f0d8
test al, al
jne 0x14006fc45
mov rcx, qword [rbp - 0x30]
call fcn.140070964
lea rcx, [rbp - 0x30]
call fcn.14006ecc4
nop
lea r8, [rbp + 0x40]
lea rdx, [rbp - 0x30]
lea rcx, [rbp - 0x18]
call fcn.14007015c
test al, al
jne 0x14006fc04
jmp 0x14006fc8b
mov eax, dword [rbp - 0x28]
cmp eax, 7
jbe 0x14006fc60
lea ecx, [rax - 6]
cmp ecx, eax
jae 0x14006fc60
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.14006ee28
mov rax, qword [rbp - 0x20]
mov qword [rdi], rax
mov r14d, 1
mov byte [rdi + 0x24], r14b
jmp 0x14006fc8e
mov ecx, 2
call qword [sym.imp.KERNEL32.dll_SetLastError]
mov r14b, r13b
mov rcx, qword [rbp - 0x30]
call fcn.140070964
nop
mov rcx, qword [rbp - 0x10]
call fcn.140070964
mov rcx, qword [rbp - 0x18]
cmp rcx, r15
je 0x14006fcbe
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.140070964
nop
mov rcx, qword [rbp - 0x40]
call fcn.140070964
jmp 0x14006ff0f
mov rcx, qword [rbp - 0x50]
call fcn.140070964
nop
mov rcx, qword [rbp - 0x40]
call fcn.140070964
or r15, 0xffffffffffffffff
mov rbx, r15
mov qword [rbp + 0x40], rbx
mov rcx, rsi
call fcn.140070794
mov r14d, r13d
lea ecx, [r15 + 5]
test al, al
cmovne r14d, ecx
lea r12, [rsi + r14*2]
mov rcx, r12
call fcn.140070714
test al, al
je 0x14006fd7f
lea eax, [r14 + 3]
cmp word [rsi + rax*2], r13w
jne 0x14006fd7f
mov rcx, rsi
call qword [sym.imp.KERNEL32.dll_GetFileAttributesW]
or edx, 0xffffffff
cmp eax, edx
je 0x14006feeb
lea ecx, [r15 + 0x11]
test cl, al
je 0x14006feeb
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.14006ed8c
cmp dword [rdi + 0x30], 2
jbe 0x14006fde5
mov dword [rdi + 0x30], 2
mov rax, qword [rdi + 0x28]
mov word [rax + 4], r13w
jmp 0x14006fde5
mov r14d, 0x5c
cmp word [rsi], r14w
je 0x14006fd95
cmp word [rsi], 0x2f
jne 0x14006feeb
mov rcx, rsi
cmp word [rsi + 2], r13w
jne 0x14006fdf0
call qword [sym.imp.KERNEL32.dll_GetFileAttributesW]
mov r8d, eax
or edx, 0xffffffff
cmp eax, edx
je 0x14006feeb
mov ecx, reloc.WS2_32.dll_recv
test cl, r8b
je 0x14006feeb
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 0x14006ff01
call fcn.14007052c
test eax, eax
je 0x14006feeb
mov eax, eax
lea rbx, [rsi + rax*2]
cmp word [rbx], r13w
je 0x14006feeb
mov rcx, rbx
call fcn.140070500
test eax, eax
jns 0x14006feeb
mov rdx, rsi
lea rcx, [rbp - 0x50]
call fcn.14006ec6c
nop
mov edx, dword [rbp - 0x48]
cmp dword [rbp - 0x44], edx
jne 0x14006fe3e
lea rcx, [rbp - 0x50]
call fcn.14006ef20
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 0x14006fe6b
lea rcx, [rbp - 0x50]
call fcn.14006ef20
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.14006ff68
test al, al
je 0x14006feb9
lea rcx, [rdi + 0x28]
mov rax, qword [rcx]
cmp word [rax], 0x2e
jne 0x14006feb6
cmp word [rax + 2], r13w
je 0x14006ff52
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 0x14006ff30
cmp r8d, edx
je 0x14006fee2
test cl, r8b
jne 0x14006ff30
mov rcx, qword [rbp - 0x50]
call fcn.140070964
mov r8, rdi
mov rdx, rsi
lea rcx, [rbp + 0x40]
call fcn.14006ff68
mov r14b, al
mov rbx, qword [rbp + 0x40]
cmp rbx, r15
je 0x14006ff0f
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.14006ed8c
nop
mov rcx, qword [rbp - 0x50]
call fcn.140070964
jmp 0x14006fefd