Function at 0x140009dc0
Capabilities:
Read file via mapping

Disassembly:
mov r11, rsp
mov qword [r11 + 0x10], rbx
mov qword [r11 + 0x18], rsi
mov qword [r11 + 0x20], rdi
push r12
push r14
push r15
sub rsp, 0xe0
mov rax, qword [0x14009c020]
xor rax, rsp
mov qword [rsp + 0xd8], rax
mov rdi, rcx
mov qword [rsp + 0x80], rcx
xor esi, esi
mov r15d, esi
mov qword [rsp + 0x78], rsi
xor r14b, r14b
mov byte [rsp + 0x60], r14b
mov ebx, esi
mov qword [rsp + 0x70], rsi
mov qword [rsp + 0x68], rsi
mov dword [r11 - 0x28], ebx
mov word [r11 - 0x24], 0x500
lea rax, [rsp + 0x70]
mov qword [rsp + 0x50], rax
mov dword [rsp + 0x48], esi
mov dword [rsp + 0x40], esi
mov dword [rsp + 0x38], esi
mov dword [rsp + 0x30], esi
mov dword [rsp + 0x28], esi
mov dword [rsp + 0x20], esi
mov r9d, 0x220
lea r8d, [rsi + 0x20]
mov dl, 2
lea rcx, [r11 - 0x28]
call qword [sym.imp.ADVAPI32.dll_AllocateAndInitializeSid]
lea r12d, [rsi + 1]
test eax, eax
je 0x140009ef6
xorps xmm0, xmm0
movdqu xmmword [rsp + 0x94], xmm0
mov qword [rsp + 0xa8], 5
mov dword [rsp + 0x88], 0xc0000000
mov qword [rsp + 0x8c], 2
mov dword [rsp + 0xa4], esi
mov rax, qword [rsp + 0x70]
mov qword [rsp + 0xb0], rax
lea r9, [rsp + 0x68]
xor r8d, r8d
lea rdx, [rsp + 0x88]
mov ecx, r12d
call qword [sym.imp.ADVAPI32.dll_SetEntriesInAclW]
lea edx, [rsi + 0x28]
lea ecx, [rsi + 0x40]
call qword [sym.imp.KERNEL32.dll_LocalAlloc]
mov rbx, rax
test rax, rax
je 0x140009ef6
mov edx, r12d
mov rcx, rax
call qword [sym.imp.ADVAPI32.dll_InitializeSecurityDescriptor]
xor r9d, r9d
mov r8, qword [rsp + 0x68]
mov edx, r12d
mov rcx, rbx
call qword [sym.imp.ADVAPI32.dll_SetSecurityDescriptorDacl]
mov dword [rsp + 0xb8], 0x18
mov qword [rsp + 0xc0], rbx
mov dword [rsp + 0xc8], esi
lea rax, str.BD_CST_DBG_INFO_CTRL
mov qword [rsp + 0x28], rax
mov dword [rsp + 0x20], 0x2808
xor r9d, r9d
lea r8d, [r9 + 4]
lea rdx, [rsp + 0xb8]
lea rcx, [r9 - 1]
call qword [sym.imp.KERNEL32.dll_CreateFileMappingA]
mov qword [rdi + 0x50], rax
mov rcx, qword [rsp + 0x68]
test rcx, rcx
je 0x140009f51
call qword [sym.imp.KERNEL32.dll_LocalFree]
mov rcx, qword [rsp + 0x70]
test rcx, rcx
je 0x140009f61
call qword [sym.imp.ADVAPI32.dll_FreeSid]
test rbx, rbx
je 0x140009f6f
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_LocalFree]
mov rcx, qword [rdi + 0x50]
test rcx, rcx
je 0x140009f95
mov qword [rsp + 0x20], rsi
xor r9d, r9d
xor r8d, r8d
lea edx, [r9 + 6]
call qword [sym.imp.KERNEL32.dll_MapViewOfFile]
mov r15, rax
mov qword [rsp + 0x78], rax
test r15, r15
je 0x14000a055
mov qword [rdi + 0x58], r15
mov r14d, r12d
lock xadd dword [r15], r14d
cmp r14d, 0x100
jl 0x140009fbf
mov rax, qword [rdi + 0x58]
lock dec dword [rax]
mov r14b, 1
jmp 0x14000a037
mov ebx, esi
mov dword [rsp + 0x64], ebx
cmp ebx, 0x100
jge 0x14000a017
movsxd rax, ebx
lea rdx, [rax*4 + 1]
add rdx, rax
lea rdx, [r15 + rdx*8]
mov qword [rdi + 0x60], rdx
xor eax, eax
lock cmpxchg dword [rdx], r12d
je 0x140009ff0
inc ebx
jmp 0x140009fc1
mov rax, qword [rdi + 0x60]
mov dword [rax + 4], esi
mov rcx, qword [rdi + 0x60]
add rcx, 8
lea r9, str.UPD_INSTALLER
lea r8, [0x14008dd10]
mov edx, 0x20
call fcn.140009d50
test r14d, r14d
jne 0x14000a027
mov rax, qword [rdi + 0x58]
mov dword [rax + 4], 0x54534348
movzx r14d, byte [rsp + 0x60]
cmp ebx, 0x100
cmove r14d, r12d
mov byte [rsp + 0x60], r14b
jmp 0x14000a055
test r14b, r14b
je 0x14000a079
mov rcx, r15
call qword [sym.imp.KERNEL32.dll_UnmapViewOfFile]
mov rcx, qword [rdi + 0x50]
call qword [sym.imp.KERNEL32.dll_CloseHandle]
mov qword [rdi + 0x50], rsi
mov qword [rdi + 0x58], rsi
mov qword [rdi + 0x60], rsi
mov rcx, qword [rsp + 0xd8]
xor rcx, rsp
call fcn.140048410
lea r11, [rsp + 0xe0]
mov rbx, qword [r11 + 0x28]
mov rsi, qword [r11 + 0x30]
mov rdi, qword [r11 + 0x38]
mov rsp, r11
pop r15
pop r14
pop r12
ret