Function at 0x140002c20
Capabilities:
Set file attributes

Disassembly:
mov qword [rsp + 0x18], r8
mov qword [rsp + 0x10], rdx
mov qword [rsp + 8], rcx
push rbx
push rbp
push rsi
push rdi
sub rsp, 0xe8
mov qword [rsp + 0xc8], 0xfffffffffffffffe
mov rbp, r8
mov rdi, rdx
mov rsi, rcx
mov rcx, qword [rdx]
cmp dword [rcx - 0x10], 0
jne 0x140002c9b
lea rdx, [rcx - 0x18]
or edi, 0xffffffff
mov eax, edi
lock xadd dword [rdx + 0x10], eax
dec eax
test eax, eax
jg 0x140002c76
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
nop
mov rdx, qword [rbp]
sub rdx, 0x18
lock xadd dword [rdx + 0x10], edi
dec edi
test edi, edi
jg 0x1400033fa
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
jmp 0x1400033fa
mov rdx, qword [r8]
call fcn.140001880
lea rcx, [rsp + 0x98]
call fcn.1400dd0c8
nop
call fcn.1400da76c
mov r11, rax
xor ecx, ecx
test rax, rax
setne cl
test ecx, ecx
jne 0x140002cd0
mov ecx, 0x80004005
call fcn.140001000
int3
mov rax, qword [rax]
mov rcx, r11
call qword [rax + 0x18]
add rax, 0x18
mov qword [rsp + 0x48], rax
lea rdx, [0x14013e96c]
test rdx, 0xffffffffffff0000
jne 0x140002d13
movzx ebx, dx
mov ecx, ebx
call fcn.1400dcc48
test rax, rax
je 0x140002d1e
mov r8d, ebx
mov rdx, rax
lea rcx, [rsp + 0x48]
call fcn.140002350
jmp 0x140002d1e
lea rcx, [rsp + 0x48]
call fcn.140002280
nop
lea r8, [rsp + 0x48]
mov rdx, rdi
lea rcx, [rsp + 0x78]
call fcn.140002850
nop
xor r8d, r8d
mov rdx, qword [rax]
lea rcx, [rsp + 0x98]
call fcn.1400dd1cc
mov ebx, eax
mov rdx, qword [rsp + 0x78]
add rdx, 0xffffffffffffffe8
or edi, 0xffffffff
mov ecx, edi
lock xadd dword [rdx + 0x10], ecx
dec ecx
test ecx, ecx
jg 0x140002d6a
mov rcx, qword [rdx]
mov r8, qword [rcx]
call qword [rreloc.OLEAUT32.dll_VariantClear + 8]
nop
mov rdx, qword [rsp + 0x48]
add rdx, 0xffffffffffffffe8
mov eax, edi
lock xadd dword [rdx + 0x10], eax
dec eax
test eax, eax
jg 0x140002d89
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
test ebx, ebx
je 0x14000339d
mov eax, dword [rsi + 0x213c]
test eax, eax
je 0x14000339d
lea rcx, [rsp + 0x98]
call fcn.1400dce98
mov dword [rsp + 0x128], eax
lea rdx, [rsp + 0x58]
lea rcx, [rsp + 0x98]
call fcn.1400dd6ec
nop
lea rdx, [rsp + 0xd8]
lea rcx, [rsp + 0x98]
call fcn.1400dd6ec
mov rdx, qword [rax]
sub rdx, 0x18
mov ecx, edi
lock xadd dword [rdx + 0x10], ecx
dec ecx
test ecx, ecx
jg 0x140002df8
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
lea rcx, [rsi + 0xe8]
mov r8d, 0x400
mov rdx, qword [rsp + 0x58]
call qword [sym.imp.KERNEL32.dll_lstrcpynW]
xor r9d, r9d
mov edx, 0x465
lea r8d, [r9 + 1]
mov rcx, qword [rsi + 0x40]
call qword [sym.imp.USER32.dll_SendMessageW]
lea rcx, [rsp + 0x98]
call fcn.1400dd074
test eax, eax
je 0x140002e5f
mov rdx, qword [rsp + 0x58]
add rdx, 0xffffffffffffffe8
mov eax, edi
lock xadd dword [rdx + 0x10], eax
dec eax
test eax, eax
jg 0x14000334c
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
jmp 0x14000334c
call fcn.1400da76c
xor esi, esi
mov ecx, esi
test rax, rax
setne cl
test ecx, ecx
je 0x140003392
mov rdx, qword [rax]
mov rcx, rax
call qword [rdx + 0x18]
lea rbx, [rax + 0x18]
mov qword [rsp + 0x38], rbx
lea rax, [0x14013e968]
mov rbp, rax
shr rbp, 0x10
test rbp, rbp
jne 0x140002ec3
movzx ebx, ax
mov ecx, ebx
call fcn.1400dcc48
test rax, rax
je 0x140002f90
mov r8d, ebx
mov rdx, rax
lea rcx, [rsp + 0x38]
call fcn.140002350
jmp 0x140002f90
mov dword [rsp + 0x28], esi
mov qword [rsp + 0x20], rsi
mov r9d, edi
mov r8, rax
xor edx, edx
lea ecx, [rdx + 3]
call qword [sym.imp.KERNEL32.dll_MultiByteToWideChar]
lea esi, [rax - 1]
test esi, esi
jle 0x140002f3b
mov edx, 1
sub edx, dword [rbx - 8]
mov ecx, dword [rbx - 0xc]
sub ecx, esi
or ecx, edx
jge 0x140002f06
mov edx, esi
lea rcx, [rsp + 0x38]
call fcn.140001da0
mov rbx, qword [rsp + 0x38]
mov dword [rsp + 0x28], esi
mov qword [rsp + 0x20], rbx
mov r9d, edi
lea r8, [0x14013e968]
xor edx, edx
lea ecx, [rdx + 3]
call qword [sym.imp.KERNEL32.dll_MultiByteToWideChar]
cmp esi, dword [rbx - 0xc]
jg 0x14000335b
mov dword [rbx - 0x10], esi
movsxd rax, esi
xor esi, esi
mov word [rbx + rax*2], si
jmp 0x140002f90
lea rdx, [rbx - 0x18]
mov rsi, qword [rdx]
cmp dword [rdx + 8], 0
je 0x140002f8e
cmp dword [rdx + 0x10], 0
jge 0x140002f62
cmp dword [rbx - 0xc], 0
jl 0x140003366
xor esi, esi
mov dword [rbx - 0x10], esi
mov word [rbx], si
jmp 0x140002f90
mov eax, edi
lock xadd dword [rdx + 0x10], eax
dec eax
test eax, eax
jg 0x140002f78
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
mov rax, qword [rsi]
mov rcx, rsi
call qword [rax + 0x18]
add rax, 0x18
mov qword [rsp + 0x38], rax
xor esi, esi
jmp 0x140002f90
xor esi, esi
lea rdx, [rsp + 0x88]
lea rcx, [rsp + 0x98]
call fcn.1400dd6ec
mov rbx, rax
lea r8, [rsp + 0x38]
mov rdx, qword [rsp + 0x118]
lea rcx, [rsp + 0x68]
call fcn.140002850
nop
mov r8, rbx
mov rdx, rax
lea rcx, [rsp + 0x40]
call fcn.140002850
nop
mov rdx, qword [rsp + 0x68]
add rdx, 0xffffffffffffffe8
mov eax, edi
lock xadd dword [rdx + 0x10], eax
dec eax
test eax, eax
jg 0x140002ff1
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
nop
mov rdx, qword [rsp + 0x88]
add rdx, 0xffffffffffffffe8
mov eax, edi
lock xadd dword [rdx + 0x10], eax
dec eax
test eax, eax
jg 0x140003014
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
nop
mov rdx, qword [rsp + 0x38]
add rdx, 0xffffffffffffffe8
mov eax, edi
lock xadd dword [rdx + 0x10], eax
dec eax
test eax, eax
jg 0x140003033
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
call fcn.1400da76c
mov ecx, esi
test rax, rax
setne cl
test ecx, ecx
je 0x140003387
mov rdx, qword [rax]
mov rcx, rax
call qword [rdx + 0x18]
lea rbx, [rax + 0x18]
mov qword [rsp + 0x30], rbx
test rbp, rbp
jne 0x14000308e
lea rax, [0x14013e968]
movzx ebx, ax
mov ecx, ebx
call fcn.1400dcc48
test rax, rax
je 0x140003158
mov r8d, ebx
mov rdx, rax
lea rcx, [rsp + 0x30]
call fcn.140002350
jmp 0x140003158
mov dword [rsp + 0x28], esi
mov qword [rsp + 0x20], rsi
mov r9d, edi
lea rbp, [0x14013e968]
mov r8, rbp
xor edx, edx
lea ecx, [rdx + 3]
call qword [sym.imp.KERNEL32.dll_MultiByteToWideChar]
lea esi, [rax - 1]
test esi, esi
jle 0x140003109
mov edx, 1
sub edx, dword [rbx - 8]
mov ecx, dword [rbx - 0xc]
sub ecx, esi
or ecx, edx
jge 0x1400030d8
mov edx, esi
lea rcx, [rsp + 0x30]
call fcn.140001da0
mov rbx, qword [rsp + 0x30]
mov dword [rsp + 0x28], esi
mov qword [rsp + 0x20], rbx
mov r9d, edi
mov r8, rbp
xor edx, edx
lea ecx, [rdx + 3]
call qword [sym.imp.KERNEL32.dll_MultiByteToWideChar]
cmp esi, dword [rbx - 0xc]
jg 0x140003371
mov dword [rbx - 0x10], esi
movsxd rax, esi
xor ecx, ecx
mov word [rbx + rax*2], cx
jmp 0x140003158
lea rdx, [rbx - 0x18]
mov rsi, qword [rdx]
cmp dword [rdx + 8], 0
je 0x140003158
cmp dword [rdx + 0x10], 0
jge 0x140003130
cmp dword [rbx - 0xc], 0
jl 0x14000337c
xor ecx, ecx
mov dword [rbx - 0x10], ecx
mov word [rbx], cx
jmp 0x140003158
mov eax, edi
lock xadd dword [rdx + 0x10], eax
dec eax
test eax, eax
jg 0x140003146
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
mov rax, qword [rsi]
mov rcx, rsi
call qword [rax + 0x18]
add rax, 0x18
mov qword [rsp + 0x30], rax
lea rdx, [rsp + 0x80]
lea rcx, [rsp + 0x98]
call fcn.1400dd6ec
mov rbx, rax
lea r8, [rsp + 0x30]
mov rbp, qword [rsp + 0x120]
mov rdx, rbp
lea rcx, [rsp + 0x90]
call fcn.140002850
nop
mov r8, rbx
mov rdx, rax
lea rcx, [rsp + 0x50]
call fcn.140002850
nop
mov rdx, qword [rsp + 0x90]
add rdx, 0xffffffffffffffe8
mov eax, edi
lock xadd dword [rdx + 0x10], eax
dec eax
test eax, eax
jg 0x1400031c2
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
nop
mov rdx, qword [rsp + 0x80]
add rdx, 0xffffffffffffffe8
mov eax, edi
lock xadd dword [rdx + 0x10], eax
dec eax
test eax, eax
jg 0x1400031e5
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
nop
mov rdx, qword [rsp + 0x30]
add rdx, 0xffffffffffffffe8
mov eax, edi
lock xadd dword [rdx + 0x10], eax
dec eax
test eax, eax
jg 0x140003204
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
mov edx, 0x10
lea rcx, [rsp + 0x98]
mov rax, qword [rsp + 0x98]
call qword [rax + 0x70]
test eax, eax
je 0x140003286
mov rdx, qword [rsp + 0x40]
mov rcx, qword [rsp + 0x50]
call fcn.140001880
lea r11, [rsp + 0x60]
mov qword [rsp + 0xd0], r11
mov rcx, qword [rsp + 0x50]
add rcx, 0xffffffffffffffe8
call fcn.140001e00
add rax, 0x18
mov qword [rsp + 0x60], rax
mov rcx, qword [rsp + 0x40]
add rcx, 0xffffffffffffffe8
call fcn.140001e00
add rax, 0x18
mov qword [rsp + 0x70], rax
lea r8, [rsp + 0x60]
lea rdx, [rsp + 0x70]
mov rsi, qword [rsp + 0x110]
mov rcx, rsi
call fcn.140002c20
jmp 0x14000328e
mov rsi, qword [rsp + 0x110]
mov edx, 0x80
mov rcx, qword [rsp + 0x40]
call qword [sym.imp.KERNEL32.dll_SetFileAttributesW]
call fcn.1400dba80
mov rcx, qword [rax + 8]
mov rax, qword [rcx]
mov edx, 1
call qword [rax + 0x138]
mov r8, qword [rsp + 0x50]
mov rdx, qword [rsp + 0x40]
mov rcx, rsi
call fcn.1400017f0
mov rcx, qword [rsp + 0x40]
call fcn.140001670
add qword [rsi + 0x2110], rax
call fcn.1400dba80
mov rcx, qword [rax + 8]
mov rax, qword [rcx]
mov edx, edi
call qword [rax + 0x138]
nop
mov rdx, qword [rsp + 0x50]
add rdx, 0xffffffffffffffe8
mov eax, edi
lock xadd dword [rdx + 0x10], eax
dec eax
test eax, eax
jg 0x14000330d
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
nop
mov rdx, qword [rsp + 0x40]
add rdx, 0xffffffffffffffe8
mov eax, edi
lock xadd dword [rdx + 0x10], eax
dec eax
test eax, eax
jg 0x14000332d
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
nop
mov rdx, qword [rsp + 0x58]
add rdx, 0xffffffffffffffe8
mov eax, edi
lock xadd dword [rdx + 0x10], eax
dec eax
test eax, eax
jg 0x14000334c
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
cmp dword [rsp + 0x128], 0
je 0x14000339d
jmp 0x140002d91
mov ecx, 0x80070057
call fcn.140001000
int3
mov ecx, 0x80070057
call fcn.140001000
nop
mov ecx, 0x80070057
call fcn.140001000
int3
mov ecx, 0x80070057
call fcn.140001000
nop
mov ecx, 0x80004005
call fcn.140001000
nop
mov ecx, 0x80004005
call fcn.140001000
nop
mov rcx, qword [rsi + 0x2128]
call fcn.1400016b0
nop
lea rcx, [rsp + 0x98]
call fcn.1400dd124
nop
mov rax, qword [rsp + 0x118]
mov rdx, qword [rax]
sub rdx, 0x18
mov eax, edi
lock xadd dword [rdx + 0x10], eax
dec eax
test eax, eax
jg 0x1400033de
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
nop
mov rdx, qword [rbp]
sub rdx, 0x18
lock xadd dword [rdx + 0x10], edi
dec edi
test edi, edi
jg 0x1400033fa
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
add rsp, 0xe8
pop rdi
pop rsi
pop rbp
pop rbx
ret