Function at 0x1800759e0
Capabilities:
Link many functions at runtime

Disassembly:
mov r11, rsp
push rbx
push rsi
push rdi
push r12
push r13
push r14
push r15
sub rsp, 0xd0
mov rax, qword [0x1802247b8]
xor rax, rsp
mov qword [rsp + 0xc0], rax
mov r15, r9
movzx r13d, r8b
mov r12, rdx
xor r14d, r14d
mov qword [r11 - 0x88], r14
mov ebx, r14d
mov qword [rsp + 0x78], r14
mov esi, r14d
mov dword [r11 - 0x50], ebx
mov word [r11 - 0x4c], 0x100
mov rax, qword [rcx]
mov rdi, qword [rax + 0x50]
mov qword [rsp + 0x68], rdi
test rdi, rdi
jne 0x180075a49
xor eax, eax
jmp 0x180075d3d
lea rdx, str.InitializeSecurityDescriptor
mov rcx, rdi
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
test rax, rax
je 0x180075cc6
mov edx, 1
mov rcx, r12
call rax
test eax, eax
je 0x180075cc6
lea rdx, str.AllocateAndInitializeSid
mov rcx, rdi
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
test rax, rax
je 0x180075cc6
lea rcx, [rsp + 0x80]
mov qword [rsp + 0x50], rcx
mov dword [rsp + 0x48], r14d
mov dword [rsp + 0x40], r14d
mov dword [rsp + 0x38], r14d
mov dword [rsp + 0x30], r14d
mov dword [rsp + 0x28], r14d
mov dword [rsp + 0x20], r14d
xor r9d, r9d
xor r8d, r8d
mov dl, 1
lea rcx, [rsp + 0xb8]
call rax
test eax, eax
je 0x180075cc6
lea rdx, str.GetLengthSid
mov rcx, rdi
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
test rax, rax
je 0x180075cc6
mov rcx, qword [rsp + 0x80]
call rax
lea r14d, [rax + 0x10]
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov rcx, rax
mov r8d, r14d
mov edx, 8
call qword [sym.imp.KERNEL32.dll_HeapAlloc]
mov rbx, rax
mov qword [rsp + 0x70], rax
test rax, rax
je 0x180075cc3
lea rdx, str.InitializeAcl
mov rcx, rdi
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
test rax, rax
je 0x180075cc3
mov r8d, 2
mov edx, r14d
mov rcx, rbx
call rax
test eax, eax
je 0x180075cc3
lea rdx, str.AddAccessAllowedAce
mov rcx, rdi
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
test rax, rax
je 0x180075cc3
mov r9, qword [rsp + 0x80]
mov edx, 2
mov r8d, 0x10000000
mov rcx, rbx
call rax
test eax, eax
je 0x180075cc3
lea rdx, str.SetSecurityDescriptorDacl
mov rcx, rdi
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov r14, rax
test rax, rax
je 0x180075cc3
test r13b, r13b
je 0x180075c64
call fcn.180031e40
xor r13d, r13d
test al, al
je 0x180075c67
mov dword [rsp + 0x88], r13d
xor eax, eax
mov qword [rsp + 0x8c], rax
mov qword [rsp + 0x94], rax
mov qword [rsp + 0x9c], rax
mov qword [rsp + 0xa4], rax
mov qword [rsp + 0xac], rax
mov dword [rsp + 0xb4], eax
mov dword [rsp + 0x88], 0x10000000
mov qword [rsp + 0x8c], 2
mov dword [rsp + 0xa4], 1
mov dword [rsp + 0xa8], 5
lea rax, str.ALL_APPLICATION_PACKAGES
mov qword [rsp + 0xb0], rax
lea rdx, str.SetEntriesInAclW
mov rcx, rdi
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
test rax, rax
je 0x180075c67
lea r9, [rsp + 0x78]
mov r8, rbx
lea rdx, [rsp + 0x88]
lea ecx, [r13 + 1]
call rax
test eax, eax
je 0x180075c67
jmp 0x180075ca0
xor r13d, r13d
mov r8, qword [rsp + 0x78]
test r8, r8
je 0x180075ca5
xor r9d, r9d
lea edx, [r9 + 1]
mov rcx, r12
call r14
test eax, eax
je 0x180075c95
mov esi, 1
mov dword [rsp + 0x60], esi
cmp qword [rsp + 0x78], 0
jne 0x180075cc3
jmp 0x180075ca5
mov rcx, qword [rsp + 0x78]
call qword [sym.imp.KERNEL32.dll_LocalFree]
mov qword [rsp + 0x78], r13
xor r9d, r9d
mov r8, rbx
lea edx, [r9 + 1]
mov rcx, r12
call r14
test eax, eax
mov eax, 1
cmovne esi, eax
mov dword [rsp + 0x60], esi
xor r14d, r14d
cmp qword [rsp + 0x80], 0
je 0x180075cf8
lea rdx, str.FreeSid
mov rcx, rdi
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
test rax, rax
je 0x180075cf8
mov rcx, qword [rsp + 0x80]
call rax
mov qword [rsp + 0x80], r14
test esi, esi
jne 0x180075d2d
test rbx, rbx
je 0x180075d18
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov rcx, rax
mov r8, rbx
xor edx, edx
call qword [sym.imp.KERNEL32.dll_HeapFree]
mov rbx, r14
mov rcx, qword [rsp + 0x78]
test rcx, rcx
je 0x180075d2d
call qword [sym.imp.KERNEL32.dll_LocalFree]
mov qword [rsp + 0x78], r14
test r15, r15
je 0x180075d3a
mov rax, qword [rsp + 0x78]
mov qword [r15], rax
mov rax, rbx
mov rcx, qword [rsp + 0xc0]
xor rcx, rsp
call fcn.180139310
add rsp, 0xd0
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbx
ret