Function at 0x140012f00
Capabilities:
Get file attributes

Disassembly:
mov rax, rsp
mov qword [rax + 0x20], r9
push rbx
push rdi
push r12
sub rsp, 0x440
mov qword [rax + 8], rbp
xor r12d, r12d
mov qword [rax + 0x10], rsi
mov qword [rax + 0x18], r13
mov qword [rax - 0x28], r15
mov r15, rcx
test rcx, rcx
je 0x140012f8c
cmp byte [rcx], r12b
je 0x140012f8c
mov ecx, 0x130
call fcn.140037fdc
mov rdi, rax
test rax, rax
je 0x140012f96
mov r9, r15
mov qword [rsp + 0x20], 0x105
mov r8d, 0x105
lea rdx, [rsp + 0x30]
lea rcx, [rsp + 0x478]
call fcn.140037f34
test eax, eax
jne 0x140012f82
lea rcx, [rsp + 0x30]
call fcn.140012d50
mov qword [rdi + 0x128], rax
test rax, rax
jne 0x140012f99
mov rcx, rdi
call fcn.140037708
jmp 0x140012f96
mov ecx, 2
call fcn.1400374b8
mov rdi, r12
mov r13d, 0x128
mov qword [rsp + 0x438], r14
mov ebp, 0x4000
nop dword [rax]
mov rbx, qword [rdi + 0x128]
cmp dword [rbx + 0x478], r12d
je 0x140012fd0
lea rsi, [rbx + 0x228]
mov dword [rbx + 0x478], r12d
jmp 0x140013010
mov rcx, qword [rbx + 0x480]
cmp rcx, 0xffffffffffffffff
je 0x1400130f0
lea rsi, [rbx + 0x228]
mov rdx, rsi
call qword [sym.imp.KERNEL32.dll_FindNextFileW]
test eax, eax
jne 0x140013010
mov rcx, qword [rbx + 0x480]
call qword [sym.imp.KERNEL32.dll_FindClose]
mov qword [rbx + 0x480], 0xffffffffffffffff
mov rsi, r12
test rsi, rsi
je 0x1400130f0
lea r9, [rsi + 0x2c]
mov qword [rsp + 0x20], 0x105
mov r8d, 0x105
lea rdx, [rdi + 0x1c]
lea rcx, [rsp + 0x478]
call fcn.140037b70
test eax, eax
je 0x140013072
lea r9, [rsi + 0x234]
cmp word [r9], r12w
je 0x14001306e
mov r8d, 0x105
mov qword [rsp + 0x20], 0x105
lea rdx, [rdi + 0x1c]
lea rcx, [rsp + 0x478]
call fcn.140037b70
test eax, eax
jne 0x1400130c7
mov rax, qword [rsp + 0x478]
dec rax
mov qword [rdi + 0x10], rax
mov eax, dword [rsi]
test al, 0x40
je 0x1400130a4
mov dword [rdi + 0x18], 0x2000
mov eax, r12d
mov dword [rdi], r12d
movzx ecx, r13w
mov dword [rdi + 4], eax
mov rbx, rdi
mov word [rdi + 8], cx
jmp 0x1400130f3
test al, 0x10
movzx ecx, r13w
mov eax, 0x8000
mov rbx, rdi
cmovne eax, ebp
mov dword [rdi + 0x18], eax
mov eax, r12d
mov dword [rdi], r12d
mov dword [rdi + 4], eax
mov word [rdi + 8], cx
jmp 0x1400130f3
mov word [rdi + 0x1c], 0x3f
mov eax, 0xffffffff
mov qword [rdi + 0x10], 1
mov ecx, r12d
mov dword [rdi + 0x18], r12d
mov rbx, rdi
mov dword [rdi], r12d
mov dword [rdi + 4], eax
mov word [rdi + 8], cx
jmp 0x1400130f3
mov rbx, r12
test rbx, rbx
je 0x140013216
add rbx, 0x1c
cmp byte [rbx], 0x2e
jne 0x140013124
cmp byte [rbx + 1], r12b
je 0x140012fb0
cmp byte [rbx], 0x2e
jne 0x140013124
cmp byte [rbx + 1], 0x2e
jne 0x140013124
cmp byte [rbx + 2], r12b
je 0x140012fb0
cmp byte [r15], 0x2f
mov rsi, r15
jne 0x140013138
nop dword [rax]
inc rsi
cmp byte [rsi], 0x2f
je 0x140013130
cmp byte [rbx], 0x2f
jne 0x140013148
nop dword [rax]
inc rbx
cmp byte [rbx], 0x2f
je 0x140013140
mov rbp, 0xffffffffffffffff
nop
inc rbp
cmp byte [rsi + rbp], r12b
jne 0x140013150
cmp ebp, 0x400
jl 0x140013168
mov esi, 0xffffffff
jmp 0x1400131de
movsxd r14, ebp
lea rcx, [rsp + 0x30]
mov r8, r14
mov rdx, rsi
call fcn.14004d9e0
test ebp, ebp
jle 0x14001319e
cmp byte [r14 + rsi - 1], 0x2f
je 0x14001319e
inc ebp
mov byte [rsp + r14 + 0x30], 0x2f
cmp ebp, 0x400
jl 0x14001319e
mov esi, 0xffffffff
jmp 0x1400131de
mov rax, 0xffffffffffffffff
inc rax
cmp byte [rbx + rax], r12b
jne 0x1400131a5
lea esi, [rax + rbp]
cmp esi, 0x400
jl 0x1400131c0
mov esi, 0xffffffff
jmp 0x1400131de
movsxd r8, eax
lea rcx, [rsp + 0x30]
movsxd rax, ebp
mov rdx, rbx
add rcx, rax
call fcn.14004d9e0
movsxd rax, esi
mov byte [rsp + rax + 0x30], r12b
lea rcx, [rsp + 0x30]
call qword [sym.imp.KERNEL32.dll_GetFileAttributesA]
shr eax, 4
and al, 1
je 0x140013201
movsxd rcx, esi
cmp byte [rsp + rcx + 0x2f], 0x2f
je 0x140013201
mov word [rsp + rcx + 0x30], 0x2f
movzx r8d, al
lea rdx, [rsp + 0x30]
xor ecx, ecx
call fcn.140005750
jmp 0x140012fa7
mov r15, qword [rsp + 0x430]
mov r14, qword [rsp + 0x438]
mov r13, qword [rsp + 0x470]
mov rsi, qword [rsp + 0x468]
mov rbp, qword [rsp + 0x460]
test rdi, rdi
je 0x1400132b6
mov rbx, qword [rdi + 0x128]
test rbx, rbx
je 0x140013291
mov rcx, qword [rbx + 0x480]
cmp rcx, 0xffffffffffffffff
je 0x140013262
call qword [sym.imp.KERNEL32.dll_FindClose]
mov rcx, qword [rbx + 0x488]
call fcn.140037708
mov rcx, rbx
call fcn.140037708
mov rcx, rdi
mov qword [rdi + 0x128], r12
call fcn.140037708
add rsp, 0x440
pop r12
pop rdi
pop rbx
ret
mov ecx, 9
call fcn.1400374b8
mov rcx, rdi
mov qword [rdi + 0x128], r12
call fcn.140037708
add rsp, 0x440
pop r12
pop rdi
pop rbx
ret
mov ecx, 9
call fcn.1400374b8
add rsp, 0x440
pop r12
pop rdi
pop rbx
ret