Function at 0x14009c5c0
Capabilities:
Get file attributes
Set file attributes

Disassembly:
mov qword [rsp + 8], rbx
mov qword [rsp + 0x10], rsi
mov qword [rsp + 0x18], rdi
mov qword [rsp + 0x20], r12
push rbp
push r14
push r15
lea rbp, [rsp - 0x1a0]
sub rsp, 0x2a0
mov rax, qword [0x1402ba030]
xor rax, rsp
mov qword [rbp + 0x198], rax
mov rdi, rcx
xor r12d, r12d
mov dword [rbp - 0x50], r12d
lea rdx, [rbp + 0x110]
call fcn.14007f970
nop
mov dword [rsp + 0x40], 0xa1c3e114
mov dword [rsp + 0x44], 0xeb48f5c0
mov dword [rsp + 0x48], 0xe52d7805
mov dword [rsp + 0x4c], 0x3d6272c8
mov dword [rsp + 0x50], 0x811a835b
mov dword [rsp + 0x54], 0xe5bf0992
mov qword [rsp + 0x38], r12
mov rax, qword [rsp + 0x38]
nop word [rax + rax]
mov rax, qword [rsp + 0x38]
mov rcx, qword [rsp + 0x38]
movzx edx, byte [rsp + rcx + 0x40]
sub dl, byte [rsp + rax + 0x4c]
mov byte [rsp + 0x30], dl
movzx ecx, byte [rsp + 0x30]
mov rax, qword [rsp + 0x38]
mov byte [rbp + rax + 0x158], cl
mov rax, qword [rsp + 0x38]
inc rax
mov qword [rsp + 0x38], rax
mov rax, qword [rsp + 0x38]
cmp rax, 0xc
jb 0x14009c650
xorps xmm0, xmm0
movups xmmword [rbp], xmm0
xorps xmm1, xmm1
movdqu xmmword [rbp + 0x10], xmm1
mov r8d, ntohs
lea rdx, [rbp + 0x158]
lea rcx, [rbp]
call fcn.14006abf0
nop
lea rax, [rbp]
cmp qword [rbp + 0x18], 0x10
cmovae rax, qword [rbp]
mov qword [rbp + 0x80], rax
mov rax, qword [rbp + 0x10]
mov qword [rbp + 0x88], rax
lea rdx, [rbp + 0x80]
lea rcx, [rbp + 0xf0]
call fcn.14006f020
mov dword [rbp - 0x50], 3
lea rdx, [rbp + 0xf0]
lea rcx, [rbp + 0x110]
call fcn.140048990
nop
lea rcx, [rbp + 0xf0]
call fcn.14005f270
nop
lea rcx, [rbp]
call fcn.14005f2e0
mov ebx, r12d
xorps xmm0, xmm0
xor eax, eax
movups xmmword [rbp + 0x140], xmm0
mov qword [rbp + 0x150], rax
mov rdx, qword [0x1402bc368]
add rdx, 0x108
lea rcx, [rbp + 0x140]
call fcn.1400a9820
nop
movsxd r9, dword [rdi + 0x50]
mov rcx, qword [rbp + 0x148]
mov r8, qword [rbp + 0x140]
sub rcx, r8
movabs rax, 0xc30c30c30c30c30d
imul rcx
add rdx, rcx
sar rdx, 7
mov rax, rdx
shr rax, 0x3f
add rdx, rax
cmp r9, rdx
jae 0x14009c78e
imul rax, r9, 0xa8
mov ebx, dword [rax + r8]
mov dword [rsp + 0x58], 0x53dbe7a2
mov dword [rsp + 0x5c], 0x48e3be01
mov dword [rsp + 0x60], 0x7c6e9ef7
mov dword [rsp + 0x64], 0x9a4fa1f0
mov dword [rsp + 0x68], 0x2fb20893
mov dword [rsp + 0x6c], 0x9eee6f82
mov dword [rsp + 0x70], 0x98e47e4a
mov dword [rsp + 0x74], 0x7b18ff31
mov dword [rsp + 0x78], 0x2a3bea35
mov word [rsp + 0x7c], 0xb2a4
mov qword [rsp + 0x38], r12
mov rax, qword [rsp + 0x38]
nop word [rax + rax]
mov rax, qword [rsp + 0x38]
mov rcx, qword [rsp + 0x38]
movzx edx, byte [rsp + rcx + 0x58]
sub dl, byte [rsp + rax + 0x6b]
mov byte [rsp + 0x30], dl
movzx ecx, byte [rsp + 0x30]
mov rax, qword [rsp + 0x38]
mov byte [rbp + rax + 0x168], cl
mov rax, qword [rsp + 0x38]
inc rax
mov qword [rsp + 0x38], rax
mov rax, qword [rsp + 0x38]
cmp rax, 0x13
jb 0x14009c7f0
xorps xmm0, xmm0
movups xmmword [rbp + 0xa0], xmm0
xorps xmm1, xmm1
movdqu xmmword [rbp + 0xb0], xmm1
mov r8d, reloc.WS2_32.dll_select
lea rdx, [rbp + 0x168]
lea rcx, [rbp + 0xa0]
call fcn.14006abf0
mov dword [rbp - 0x50], 7
lea rdx, [rbp + 0xa0]
lea rcx, [rbp + 0x50]
call fcn.140068c00
mov qword [rbp + 0x60], r12
mov byte [rbp + 0x68], 0
xor eax, eax
mov qword [rbp + 0x70], rax
xor edx, edx
lea rcx, [rbp + 0x70]
call fcn.14005eb70
mov byte [rbp + 0x68], 5
movsxd rax, ebx
mov qword [rbp + 0x70], rax
mov qword [rbp + 0x78], r12
lea rax, [rbp + 0x50]
mov qword [rbp + 0x90], rax
lea rax, [rbp + 0x80]
mov qword [rbp + 0x98], rax
lea rdx, [rbp + 0x90]
lea rcx, [rbp + 0xc0]
call fcn.14005c450
mov qword [rbp + 0xd0], r12
mov dword [rbp - 0x80], 0xbca3e903
mov dword [rbp - 0x7c], 0x3644465d
mov dword [rbp - 0x78], 0x7f41d531
mov dword [rbp - 0x74], 0xf7116cf2
mov dword [rbp - 0x70], 0x60e6af28
mov dword [rbp - 0x6c], 0x3784909c
mov dword [rbp - 0x68], 0xdfd2fa57
mov dword [rbp - 0x64], 0xcd6ed2d2
mov dword [rbp - 0x60], 0xacf6931e
mov dword [rbp - 0x5c], 0x7746b585
mov word [rbp - 0x58], 0x9cf2
mov qword [rsp + 0x38], r12
mov rax, qword [rsp + 0x38]
nop word [rax + rax]
mov rax, qword [rsp + 0x38]
mov rcx, qword [rsp + 0x38]
movzx edx, byte [rbp + rcx - 0x80]
sub dl, byte [rbp + rax - 0x6b]
mov byte [rsp + 0x30], dl
movzx ecx, byte [rsp + 0x30]
mov rax, qword [rsp + 0x38]
mov byte [rbp + rax + 0x180], cl
mov rax, qword [rsp + 0x38]
inc rax
mov qword [rsp + 0x38], rax
mov rax, qword [rsp + 0x38]
cmp rax, 0x15
jb 0x14009c930
xorps xmm0, xmm0
movups xmmword [rbp], xmm0
xorps xmm1, xmm1
movdqu xmmword [rbp + 0x10], xmm1
mov r8d, reloc.WS2_32.dll_sendto
lea rdx, [rbp + 0x180]
lea rcx, [rbp]
call fcn.14006abf0
nop
lea rdx, [rbp]
lea rcx, [rbp + 0x20]
call fcn.140068c00
mov qword [rbp + 0x30], r12
mov byte [rbp + 0x38], 0
xor eax, eax
mov qword [rbp + 0x40], rax
movsxd rbx, dword [rdi + 0x54]
xor edx, edx
lea rcx, [rbp + 0x40]
call fcn.14005eb70
mov byte [rbp + 0x38], 5
mov qword [rbp + 0x40], rbx
mov qword [rbp + 0x48], r12
lea rax, [rbp + 0x20]
mov qword [rbp - 0x40], rax
lea rax, [rbp + 0x50]
mov qword [rbp - 0x38], rax
lea rdx, [rbp - 0x40]
lea rcx, [rbp + 0xd8]
call fcn.14005c450
mov qword [rbp + 0xe8], r12
lea rax, [rbp + 0xc0]
mov qword [rbp - 0x20], rax
lea rax, [rbp + 0xf0]
mov qword [rbp - 0x18], rax
lea rdx, [rbp - 0x20]
lea rcx, [rbp + 0x130]
call fcn.14005c450
nop
lea r9, [0x14004fbd0]
mov edx, Ordinal_26
lea r8d, [rdx - 0x16]
lea rcx, [rbp + 0xc0]
call fcn.1401529e8
nop
lea r9, [0x14004fbd0]
mov edx, Ordinal_26
lea r8d, [rdx - 0x16]
lea rcx, [rbp + 0x20]
call fcn.1401529e8
nop
lea rcx, [rbp]
call fcn.14005f2e0
nop
lea r9, [0x14004fbd0]
mov edx, Ordinal_26
lea r8d, [rdx - 0x16]
lea rcx, [rbp + 0x50]
call fcn.1401529e8
nop
lea rcx, [rbp + 0xa0]
call fcn.14005f2e0
lea rsi, [rbp + 0x110]
cmp qword [rbp + 0x128], 8
cmovae rsi, qword [rbp + 0x110]
mov rdi, qword [rbp + 0x120]
call fcn.140151bec
mov r14d, eax
xorps xmm0, xmm0
movups xmmword [rbp - 0x40], xmm0
movdqa xmm1, xmmword [0x1402973d0]
movdqu xmmword [rbp - 0x30], xmm1
mov byte [rbp - 0x40], 0
mov dword [rbp - 0x50], Ordinal_147
test rdi, rdi
je 0x14009cb3a
cmp rdi, 0x7fffffff
ja 0x14009ce95
mov dword [rsp + 0x20], r12d
xor r9d, r9d
mov r8d, edi
mov rdx, rsi
mov ecx, eax
call fcn.140151c5c
mov rbx, rax
shr rax, 0x20
test eax, eax
jne 0x14009ce9b
movsxd rdx, ebx
xor r8d, r8d
lea rcx, [rbp - 0x40]
call fcn.14005f340
lea r9, [rbp - 0x40]
cmp qword [rbp - 0x28], 0x10
cmovae r9, qword [rbp - 0x40]
mov dword [rsp + 0x20], ebx
mov r8d, edi
mov rdx, rsi
mov ecx, r14d
call fcn.140151c5c
mov rcx, rax
shr rax, 0x20
test eax, eax
jne 0x14009cea7
lea rcx, [rbp - 0x40]
cmp qword [rbp - 0x28], 0x10
cmovae rcx, qword [rbp - 0x40]
call qword [sym.imp.KERNEL32.dll_GetFileAttributesA]
mov r14d, eax
and r14d, 0xfffffffd
lea rsi, [rbp + 0x110]
cmp qword [rbp + 0x128], 8
cmovae rsi, qword [rbp + 0x110]
mov rdi, qword [rbp + 0x120]
call fcn.140151bec
mov r15d, eax
xorps xmm0, xmm0
movups xmmword [rbp - 0x20], xmm0
movdqa xmm1, xmmword [0x1402973d0]
movdqu xmmword [rbp - 0x10], xmm1
mov byte [rbp - 0x20], 0
mov dword [rbp - 0x50], 0x87f
test rdi, rdi
je 0x14009cc0e
cmp rdi, 0x7fffffff
ja 0x14009ceb1
mov dword [rsp + 0x20], r12d
xor r9d, r9d
mov r8d, edi
mov rdx, rsi
mov ecx, eax
call fcn.140151c5c
mov rbx, rax
shr rax, 0x20
test eax, eax
jne 0x14009ceb7
movsxd rdx, ebx
xor r8d, r8d
lea rcx, [rbp - 0x20]
call fcn.14005f340
lea r9, [rbp - 0x20]
cmp qword [rbp - 8], 0x10
cmovae r9, qword [rbp - 0x20]
mov dword [rsp + 0x20], ebx
mov r8d, edi
mov rdx, rsi
mov ecx, r15d
call fcn.140151c5c
mov rcx, rax
shr rax, 0x20
test eax, eax
jne 0x14009cec3
lea rcx, [rbp - 0x20]
cmp qword [rbp - 8], 0x10
cmovae rcx, qword [rbp - 0x20]
mov edx, r14d
call qword [sym.imp.KERNEL32.dll_SetFileAttributesA]
lea rcx, [rbp - 0x20]
call fcn.14005f2e0
nop
lea rcx, [rbp - 0x40]
call fcn.14005f2e0
lea rax, [rbp - 0x20]
mov qword [rsp + 0x38], rax
mov r8d, 4
lea rdx, [rbp - 0x20]
lea rcx, [rbp + 0x130]
call fcn.14005be50
mov rbx, rax
lea rdx, [rbp + 0x110]
lea rcx, [rbp - 0x40]
call fcn.140049100
nop
mov r8, rbx
mov rdx, rax
call fcn.140080520
lea rsi, [rbp + 0x110]
cmp qword [rbp + 0x128], 8
cmovae rsi, qword [rbp + 0x110]
mov rdi, qword [rbp + 0x120]
call fcn.140151bec
mov r14d, eax
xorps xmm0, xmm0
movups xmmword [rbp - 0x40], xmm0
movdqa xmm1, xmmword [0x1402973d0]
movdqu xmmword [rbp - 0x30], xmm1
mov byte [rbp - 0x40], 0
mov dword [rbp - 0x50], 0x877f
test rdi, rdi
je 0x14009cd2f
cmp rdi, 0x7fffffff
ja 0x14009cecd
mov dword [rsp + 0x20], r12d
xor r9d, r9d
mov r8d, edi
mov rdx, rsi
mov ecx, eax
call fcn.140151c5c
mov rbx, rax
shr rax, 0x20
test eax, eax
jne 0x14009ced3
movsxd rdx, ebx
xor r8d, r8d
lea rcx, [rbp - 0x40]
call fcn.14005f340
lea r9, [rbp - 0x40]
cmp qword [rbp - 0x28], 0x10
cmovae r9, qword [rbp - 0x40]
mov dword [rsp + 0x20], ebx
mov r8d, edi
mov rdx, rsi
mov ecx, r14d
call fcn.140151c5c
mov rcx, rax
shr rax, 0x20
test eax, eax
jne 0x14009cedf
lea rcx, [rbp - 0x40]
cmp qword [rbp - 0x28], 0x10
cmovae rcx, qword [rbp - 0x40]
call qword [sym.imp.KERNEL32.dll_GetFileAttributesA]
mov r14d, eax
or r14d, 2
lea rsi, [rbp + 0x110]
cmp qword [rbp + 0x128], 8
cmovae rsi, qword [rbp + 0x110]
mov rdi, qword [rbp + 0x120]
call fcn.140151bec
mov r15d, eax
xorps xmm0, xmm0
movups xmmword [rbp - 0x20], xmm0
movdqa xmm1, xmmword [0x1402973d0]
movdqu xmmword [rbp - 0x10], xmm1
mov byte [rbp - 0x20], 0
mov dword [rbp - 0x50], 0x8777f
test rdi, rdi
je 0x14009ce03
cmp rdi, 0x7fffffff
ja 0x14009cee9
mov dword [rsp + 0x20], r12d
xor r9d, r9d
mov r8d, edi
mov rdx, rsi
mov ecx, eax
call fcn.140151c5c
mov rbx, rax
shr rax, 0x20
test eax, eax
jne 0x14009ceef
movsxd rdx, ebx
xor r8d, r8d
lea rcx, [rbp - 0x20]
call fcn.14005f340
lea r9, [rbp - 0x20]
cmp qword [rbp - 8], 0x10
cmovae r9, qword [rbp - 0x20]
mov dword [rsp + 0x20], ebx
mov r8d, edi
mov rdx, rsi
mov ecx, r15d
call fcn.140151c5c
mov rcx, rax
shr rax, 0x20
test eax, eax
jne 0x14009ce8b
lea rcx, [rbp - 0x20]
cmp qword [rbp - 8], 0x10
cmovae rcx, qword [rbp - 0x20]
mov edx, r14d
call qword [sym.imp.KERNEL32.dll_SetFileAttributesA]
lea rcx, [rbp - 0x20]
call fcn.14005f2e0
nop
lea rcx, [rbp - 0x40]
call fcn.14005f2e0
nop
movzx edx, byte [rbp + 0x130]
lea rcx, [rbp + 0x138]
call fcn.14005eb70
nop
lea rcx, [rbp + 0x140]
call fcn.14005e730
nop
lea rcx, [rbp + 0x110]
call fcn.14005f270
mov rcx, qword [rbp + 0x198]
xor rcx, rsp
call fcn.1401526c0
lea r11, [rsp + 0x2a0]
mov rbx, qword [r11 + 0x20]
mov rsi, qword [r11 + 0x28]
mov rdi, qword [r11 + 0x30]
mov r12, qword [r11 + 0x38]
mov rsp, r11
pop r15
pop r14
pop rbp
ret
shr rcx, 0x20
call fcn.140046e10
nop
call fcn.140046b40
int3
shr rbx, 0x20
mov ecx, ebx
call fcn.140046e10
int3
shr rcx, 0x20
call fcn.140046e10
nop
call fcn.140046b40
int3
shr rbx, 0x20
mov ecx, ebx
call fcn.140046e10
int3
shr rcx, 0x20
call fcn.140046e10
nop
call fcn.140046b40
int3
shr rbx, 0x20
mov ecx, ebx
call fcn.140046e10
int3
shr rcx, 0x20
call fcn.140046e10
nop
call fcn.140046b40
int3
shr rbx, 0x20
mov ecx, ebx
call fcn.140046e10
int3