Function at 0x1000c2c0
Capabilities:
Inspect section memory permissions

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff0
sub esp, 0x2a8
mov eax, dword [0x10059004]
xor eax, esp
mov dword [esp + 0x2a4], eax
mov eax, dword [ebp + 8]
push esi
push edi
mov edi, dword [ebp + 0x10]
mov esi, ecx
mov dword [esp + 0x2c], eax
mov eax, dword [ebp + 0xc]
push 0x100
mov dword [esp + 0x28], eax
lea eax, [esp + 0x1ac]
push 0
push eax
mov dword [esp + 0x28], edx
mov dword [esp + 0x18], esi
mov dword [esp + 0x48], 0
mov dword [esp + 0x44], 0
mov dword [esp + 0x40], 0
mov dword [esp + 0x24], 0
mov byte [esp + 0x17], 0
mov byte [esp + 0x1f], 0
mov byte [esp + 0x16], 0
call fcn.10017bc0
mov eax, dword [esp + 0x28]
add esp, 0xc
mov dword [esp + 0x20], 4
test eax, eax
je 0x1000c6d1
test edi, edi
je 0x1000c6d1
cmp dword [esp + 0x2c], 0
jne 0x1000c38a
push ecx
call dword [sym.imp.KERNEL32.dll_GetCurrentProcess]
lea edx, [esp + 0x1ac]
mov ecx, eax
call fcn.10009180
add esp, 4
test al, al
jne 0x1000c386
push str.GetProcessUserName_Falure
jmp 0x1000c6d6
mov eax, dword [esp + 0x1c]
lea ecx, [esp + 0x68]
push ecx
push eax
call dword [sym.imp.KERNEL32.dll_FindFirstFileA]
mov esi, eax
push esi
call dword [sym.imp.KERNEL32.dll_FindClose]
cmp esi, 0xffffffff
je 0x1000c6c6
test byte [esp + 0x68], 0x10
mov al, 1
jne 0x1000c3b5
mov al, byte [esp + 0x13]
xor ecx, ecx
mov esi, 3
test al, al
push str._Set
cmove esi, ecx
push edi
mov dword [esp + 0x30], esi
call fcn.100203fe
add esp, 8
test eax, eax
jne 0x1000c3e4
mov dword [esp + 0x14], 2
jmp 0x1000c47b
push str._Grant
push edi
call fcn.100203fe
add esp, 8
test eax, eax
jne 0x1000c400
mov dword [esp + 0x14], 1
jmp 0x1000c47b
push str._Remove
push edi
call fcn.100203fe
add esp, 8
test eax, eax
jne 0x1000c41a
lea edi, [eax + 4]
jmp 0x1000c54c
push str._Deny
push edi
call fcn.100203fe
add esp, 8
test eax, eax
jne 0x1000c433
mov eax, 3
jmp 0x1000c477
push str._Replace
push edi
call fcn.100203fe
add esp, 8
test eax, eax
jne 0x1000c454
mov byte [esp + 0xa], 1
mov dword [esp + 0x20], reloc.WS2_32.dll_connect
jmp 0x1000c472
push str._SetP
push edi
call fcn.100203fe
add esp, 8
test eax, eax
jne 0x1000c6bb
mov dword [esp + 0x20], 0x20000004
mov eax, 2
mov dword [esp + 0x14], eax
mov edi, dword [esp + 0x24]
xor esi, esi
mov ecx, edi
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x1000c486
sub ecx, edx
je 0x1000c6df
movsx eax, byte [edi + esi]
push eax
call fcn.10020812
add esp, 4
cmp eax, 0x46
je 0x1000c53f
movsx eax, byte [edi + esi]
push eax
call fcn.10020812
add esp, 4
cmp eax, 0x52
jne 0x1000c4c4
mov edx, closesocket
jmp 0x1000c4f4
movsx eax, byte [edi + esi]
push eax
call fcn.10020812
add esp, 4
cmp eax, 0x45
jne 0x1000c4dd
mov edx, 0x20000000
jmp 0x1000c4f4
movsx eax, byte [edi + esi]
push eax
call fcn.10020812
add esp, 4
cmp eax, 0x57
jne 0x1000c531
mov edx, 0x40000000
or edx, dword [esp + 0x18]
mov ecx, edi
inc esi
lea edi, [ecx + 1]
nop
mov al, byte [ecx]
inc ecx
test al, al
jne 0x1000c500
sub ecx, edi
mov dword [esp + 0x18], edx
mov edi, dword [esp + 0x24]
cmp esi, ecx
jb 0x1000c495
mov eax, edx
test eax, eax
jne 0x1000c544
xor al, al
pop edi
pop esi
mov ecx, dword [esp + 0x2a4]
xor ecx, esp
call fcn.100136f9
mov esp, ebp
pop ebp
ret
push str.Invalid_Permission
push dword [esp + 0x10]
jmp 0x1000c6d7
mov eax, 0x10000000
mov esi, dword [esp + 0x28]
mov edi, dword [esp + 0x14]
or eax, 0x20000
cmp byte [esp + 0xa], 0
mov dword [esp + 0x18], eax
jne 0x1000c598
lea eax, [esp + 0x3c]
push eax
push 0
lea eax, [esp + 0x40]
push eax
push 0
push 0
push 4
push 1
push dword [esp + 0x38]
call dword [sym.imp.ADVAPI32.dll_GetNamedSecurityInfoA]
test eax, eax
je 0x1000c594
push str.GetNamedSecurityInfo_Failure
push dword [esp + 0x10]
call fcn.10007760
add esp, 8
jmp 0x1000c687
mov eax, dword [esp + 0x18]
mov ecx, dword [esp + 0x2c]
xorps xmm0, xmm0
movaps xmmword [esp + 0x40], xmm0
movaps xmmword [esp + 0x50], xmm0
push esi
push edi
push eax
test ecx, ecx
jne 0x1000c5ba
lea eax, [esp + 0x1b4]
push eax
jmp 0x1000c5bb
push ecx
lea eax, [esp + 0x50]
push eax
call dword [sym.imp.ADVAPI32.dll_BuildExplicitAccessWithNameA]
cmp byte [esp + 0xa], 0
lea eax, [esp + 0x34]
push eax
lea eax, [esp + 0x44]
jne 0x1000c5dc
push dword [esp + 0x3c]
jmp 0x1000c5de
push 0
push eax
push 1
call dword [sym.imp.ADVAPI32.dll_SetEntriesInAclA]
test eax, eax
je 0x1000c601
push str.SetEntriesInAcl_Failure
push dword [esp + 0x10]
call fcn.10007760
add esp, 8
jmp 0x1000c687
mov edi, dword [esp + 0x1c]
mov esi, dword [sym.imp.ADVAPI32.dll_SetNamedSecurityInfoA]
push 0
push dword [esp + 0x38]
push 0
push 0
push dword [esp + 0x30]
push 1
push edi
call esi
test eax, eax
je 0x1000c682
cmp eax, 5
jne 0x1000c66f
mov ecx, edi
call fcn.100093a0
test al, al
je 0x1000c65c
push 0
push dword [esp + 0x38]
push 0
push 0
push dword [esp + 0x30]
push 1
push edi
call esi
test eax, eax
je 0x1000c682
push 0x1004fb58
push dword [esp + 0x10]
call fcn.10007760
add esp, 8
jmp 0x1000c687
push str.TakeOwnership_Failure
push dword [esp + 0x10]
call fcn.10007760
add esp, 8
jmp 0x1000c687
push str.SetNamedSecurityInfo_Failure
push dword [esp + 0x10]
call fcn.10007760
add esp, 8
jmp 0x1000c687
mov byte [esp + 0xb], 1
mov eax, dword [esp + 0x3c]
mov esi, dword [sym.imp.KERNEL32.dll_LocalFree]
test eax, eax
je 0x1000c698
push eax
call esi
mov ecx, dword [esp + 0x34]
test ecx, ecx
je 0x1000c6a3
push ecx
call esi
mov al, byte [esp + 0xb]
pop edi
pop esi
mov ecx, dword [esp + 0x2a4]
xor ecx, esp
call fcn.100136f9
mov esp, ebp
pop ebp
ret
push str.Invalid_Options
push dword [esp + 0x10]
jmp 0x1000c6d7
push str.File_Not_Found
push dword [esp + 0x10]
jmp 0x1000c6d7
push str.NULL_String
push esi
call fcn.10007760
add esp, 8
mov ecx, dword [esp + 0x2ac]
xor al, al
pop edi
pop esi
xor ecx, esp
call fcn.100136f9
mov esp, ebp
pop ebp
ret