Function at 0x140169a70
Capabilities:
Allocate or change rwx memory

Disassembly:
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbp
push rbx
mov eax, 0x10068
call fcn.140190c30
sub rsp, rax
mov rsi, r9
mov edi, r8d
mov r13, rdx
mov r12, rcx
mov rax, qword [0x140324948]
xor rax, rsp
mov qword [rsp + 0x10060], rax
mov rcx, rdx
mov edx, r8d
mov r8d, 4
call fcn.140169db0
mov ebp, eax
cmp eax, 0xffffffff
jne 0x140169ad6
mov rcx, r13
mov edx, edi
mov r8d, 8
call fcn.140169db0
mov ebp, eax
cmp eax, 0xffffffff
je 0x140169b31
mov ebx, edi
mov rcx, r13
mov rdx, rsi
mov r8, rbx
call fcn.140193590
call qword [sym.imp.KERNEL32.dll_GetCurrentProcess]
mov rcx, rax
mov rdx, r13
mov r8, rbx
call qword [sym.imp.KERNEL32.dll_FlushInstructionCache]
mov rcx, r13
mov edx, edi
mov r8d, ebp
call fcn.140169db0
mov sil, 1
mov rcx, qword [rsp + 0x10060]
xor rcx, rsp
call fcn.140190ca0
mov eax, esi
add rsp, 0x10068
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
ret
mov r9, qword [r12 + 0x18]
movzx ecx, byte [r12]
cmp r9, r13
ja 0x140169b50
mov eax, 1
shl rax, cl
add rax, r9
cmp rax, r13
ja 0x140169b6d
mov dword [rsp + 0x20], ecx
lea rdx, str.NaClSysToUser:_sysaddr_0x_08I64x__mem_start_0x_08I64x__addr_space__d_bits_n
mov ecx, 0xfffffffc
mov r8, r13
call fcn.1400c46f0
mov r9, qword [r12 + 0x18]
mov rbx, r13
sub rbx, r9
mov eax, edi
add rax, rbx
cmp rax, rbx
jbe 0x140169da0
cmp rax, qword [r12 + 0x48]
ja 0x140169da0
mov qword [rsp + 0x38], rsi
shr rbx, 0xc
dec rax
shr rax, 0xc
mov esi, 1
sub rsi, rbx
add rsi, rax
je 0x140169d80
lea rbp, [r12 + 0x578]
mov dword [rsp + 0x2c], edi
mov qword [rsp + 0x40], rbp
mov rcx, rbp
mov rdx, rbx
call fcn.1400412a0
test rax, rax
je 0x140169d71
mov rdi, qword [rax]
mov qword [rsp + 0x30], rbx
sub rdi, rbx
add rdi, qword [rax + 8]
cmp rdi, rsi
mov qword [rsp + 0x48], rsi
cmova rdi, rsi
mov qword [rsp + 0x50], rax
cmp dword [rax + 0x14], 0
je 0x140169d56
test rdi, rdi
je 0x140169d56
mov r15, qword [rsp + 0x30]
shl r15, 0xc
mov r14, r15
neg r14
xor ebx, ebx
movzx r9d, byte [r12]
test r14, r14
je 0x140169c2e
mov rax, r15
mov ecx, r9d
shr rax, cl
test rax, rax
je 0x140169c42
mov ecx, 0xfffffffc
lea rdx, str.NaClUserToSys:_uaddr_0x_08I64x__addr_space__d_bits_n
mov r8, r15
call fcn.1400c46f0
mov rsi, r12
mov rbp, qword [r12 + 0x18]
mov rax, qword [rsp + 0x50]
mov r12, qword [rax]
shl r12, 0xc
add r12, qword [rax + 0x30]
add rbp, r15
add r12, r14
mov r8d, 0x10000
cmp r12, 0x10001
jl 0x140169c75
mov r12d, 0x10000
cmp r12, 0xffff
ja 0x140169c83
sub r8, r12
jmp 0x140169c86
xor r8d, r8d
lea rcx, [rsp + r12]
add rcx, 0x60
mov dl, 0xf4
call fcn.140193a00
lea rcx, [rsp + 0x60]
mov rdx, rbp
mov r8, r12
call fcn.140193590
mov rcx, rbp
call qword [sym.imp.KERNEL32.dll_UnmapViewOfFile]
test eax, eax
je 0x140169da0
mov edx, 0x10000
mov rcx, rbp
mov r8d, 0x1000
mov r9d, 0x40
call qword [sym.imp.KERNEL32.dll_VirtualAlloc]
test rax, rax
jne 0x140169cef
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov ecx, 0xfffffffc
lea rdx, str.UnmapFiles:_VirtualAlloc_failed_with__d_n
mov r8d, eax
call fcn.1400c46f0
mov r8d, 0x10000
mov rcx, rbp
lea rdx, [rsp + 0x60]
call fcn.140193590
mov edx, 0x10000
mov rcx, rbp
mov r8d, 0x20
lea r9, [rsp + 0x5c]
call qword [sym.imp.KERNEL32.dll_VirtualProtect]
test eax, eax
mov r12, rsi
jne 0x140169d3c
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov ecx, 0xfffffffc
lea rdx, str.UnmapFiles:_VirtualProtect_failed_with__d_n
mov r8d, eax
call fcn.1400c46f0
inc rbx
add r14, 0xfffffffffffff000
add r15, 0x1000
cmp rbx, rdi
jb 0x140169c16
mov rbx, qword [rsp + 0x30]
add rbx, rdi
mov rsi, qword [rsp + 0x48]
sub rsi, rdi
mov edi, dword [rsp + 0x2c]
mov rbp, qword [rsp + 0x40]
jmp 0x140169d77
inc rbx
dec rsi
test rsi, rsi
jne 0x140169bbe
mov rcx, r13
mov edx, edi
mov r8d, 8
call fcn.140169db0
mov ebp, eax
cmp eax, 0xffffffff
mov rsi, qword [rsp + 0x38]
jne 0x140169ad6
xor esi, esi
jmp 0x140169b0b