Function at 0x180010920
Capabilities:
Allocate or change rwx memory

Disassembly:
sub rsp, 0xb8
mov rax, qword [rsp + 0xe0]
mov qword [rsp + 0xa8], r9
mov qword [rsp + 0xa0], r8
mov qword [rsp + 0x98], rdx
mov qword [rsp + 0x90], rcx
mov dword [rsp + 0x8c], 0
cmp qword [rsp + 0xa0], 0
je 0x180010978
mov rax, qword [rsp + 0xa0]
mov qword [rax], 0
cmp qword [rsp + 0xa8], 0
je 0x180010996
mov rax, qword [rsp + 0xa8]
mov qword [rax], 0
cmp qword [rsp + 0xe0], 0
je 0x1800109b4
mov rax, qword [rsp + 0xe0]
mov qword [rax], 0
cmp qword [rsp + 0x98], 0
jne 0x1800109d3
mov dword [rsp + 0xb4], 0x57
jmp 0x180010ffc
mov eax, dword [0x18003cfd0]
mov dword [rsp + 0x30], eax
call qword [sym.imp.KERNEL32.dll_GetCurrentThreadId]
mov ecx, eax
mov eax, dword [rsp + 0x30]
cmp eax, ecx
je 0x180010a01
mov dword [rsp + 0xb4], 0x10dd
jmp 0x180010ffc
cmp dword [0x18003cff0], 0
je 0x180010a20
mov eax, dword [0x18003cff0]
mov dword [rsp + 0xb4], eax
jmp 0x180010ffc
cmp qword [rsp + 0x90], 0
jne 0x180010a3f
mov dword [rsp + 0xb4], 6
jmp 0x180010ffc
mov rax, qword [rsp + 0x90]
cmp qword [rax], 0
jne 0x180010a8b
mov dword [rsp + 0x8c], 6
mov eax, dword [rsp + 0x8c]
mov dword [0x18003cff0], eax
mov rax, qword [rsp + 0x90]
mov qword [0x18003cfe8], rax
mov eax, dword [rsp + 0x8c]
mov dword [rsp + 0xb4], eax
jmp 0x180010ffc
mov rax, qword [rsp + 0x90]
mov rax, qword [rax]
mov qword [rsp + 0x80], rax
mov qword [rsp + 0x78], 0
mov qword [rsp + 0x70], 0
mov rcx, qword [rsp + 0x80]
xor eax, eax
mov edx, eax
call fcn.18000fab0
mov qword [rsp + 0x80], rax
mov rcx, qword [rsp + 0x98]
xor eax, eax
mov edx, eax
call fcn.18000fab0
mov qword [rsp + 0x98], rax
mov rax, qword [rsp + 0x98]
cmp rax, qword [rsp + 0x80]
jne 0x180010b0f
cmp dword [0x18003cfc8], 0
je 0x180010b0a
jmp 0x180010b86
jmp 0x180010b79
cmp qword [rsp + 0xa8], 0
je 0x180010b31
mov rcx, qword [rsp + 0x80]
mov rax, qword [rsp + 0xa8]
mov qword [rax], rcx
cmp qword [rsp + 0xe0], 0
je 0x180010b53
mov rcx, qword [rsp + 0x98]
mov rax, qword [rsp + 0xe0]
mov qword [rax], rcx
mov ecx, 0x30
call fcn.18001abbc
mov qword [rsp + 0x70], rax
cmp qword [rsp + 0x70], 0
jne 0x180010c1d
mov dword [rsp + 0x8c], 8
mov eax, dword [rsp + 0x8c]
mov dword [0x18003cff0], eax
cmp qword [rsp + 0x78], 0
je 0x180010bc8
mov rcx, qword [rsp + 0x78]
call fcn.18000ff40
mov qword [rsp + 0x78], 0
cmp qword [rsp + 0xa0], 0
je 0x180010bc3
mov rax, qword [rsp + 0xa0]
mov qword [rax], 0
jmp 0x180010bc8
cmp qword [rsp + 0x70], 0
je 0x180010bfb
mov rax, qword [rsp + 0x70]
mov qword [rsp + 0x28], rax
cmp rax, 0
je 0x180010bf2
mov rcx, qword [rsp + 0x28]
call fcn.18001abf8
mov qword [rsp + 0x70], 0
mov rax, qword [rsp + 0x90]
mov qword [0x18003cfe8], rax
mov eax, dword [rsp + 0x8c]
mov dword [rsp + 0xb4], eax
jmp 0x180010ffc
mov rcx, qword [rsp + 0x80]
call fcn.180011010
mov qword [rsp + 0x78], rax
cmp qword [rsp + 0x78], 0
jne 0x180010c4b
mov dword [rsp + 0x8c], 8
jmp 0x180010b79
cmp qword [rsp + 0xa0], 0
je 0x180010c6a
mov rcx, qword [rsp + 0x78]
mov rax, qword [rsp + 0xa0]
mov qword [rax], rcx
mov rcx, qword [rsp + 0x78]
add rcx, 0x40
xor edx, edx
mov r8d, 8
call fcn.18001f080
mov rax, qword [rsp + 0x80]
mov qword [rsp + 0x68], rax
mov rax, qword [rsp + 0x78]
mov qword [rsp + 0x60], rax
mov rax, qword [rsp + 0x60]
add rax, 0x1e
mov qword [rsp + 0x58], rax
mov dword [rsp + 0x54], 0
mov dword [rsp + 0x50], 5
mov dword [rsp + 0x4c], 0
mov eax, dword [rsp + 0x54]
cmp eax, dword [rsp + 0x50]
jae 0x180010dc4
mov rax, qword [rsp + 0x68]
mov qword [rsp + 0x40], rax
mov dword [rsp + 0x3c], 0
mov r8, qword [rsp + 0x68]
mov rcx, qword [rsp + 0x60]
lea rdx, [rsp + 0x58]
xor eax, eax
mov r9d, eax
lea rax, [rsp + 0x3c]
mov qword [rsp + 0x20], rax
call fcn.180019700
mov qword [rsp + 0x68], rax
mov rax, qword [rsp + 0x68]
mov rcx, qword [rsp + 0x40]
sub rax, rcx
movsxd rcx, dword [rsp + 0x3c]
add rax, rcx
add rax, qword [rsp + 0x60]
mov qword [rsp + 0x60], rax
mov rax, qword [rsp + 0x68]
mov rcx, qword [rsp + 0x80]
sub rax, rcx
mov dword [rsp + 0x54], eax
mov eax, dword [rsp + 0x54]
mov r8b, al
mov rax, qword [rsp + 0x78]
mov ecx, dword [rsp + 0x4c]
mov dl, byte [rax + rcx + 0x40]
and r8b, 7
and dl, 0xf8
or dl, r8b
mov byte [rax + rcx + 0x40], dl
mov rax, qword [rsp + 0x60]
mov rcx, qword [rsp + 0x78]
sub rax, rcx
mov r8b, al
mov rax, qword [rsp + 0x78]
mov ecx, dword [rsp + 0x4c]
mov dl, byte [rax + rcx + 0x40]
and r8b, 0x1f
shl r8b, 3
and dl, 7
or dl, r8b
mov byte [rax + rcx + 0x40], dl
mov eax, dword [rsp + 0x4c]
add eax, 1
mov dword [rsp + 0x4c], eax
mov eax, dword [rsp + 0x4c]
cmp rax, 8
jb 0x180010da7
jmp 0x180010dc4
mov rcx, qword [rsp + 0x40]
call fcn.1800112f0
cmp eax, 0
je 0x180010dbf
jmp 0x180010dc4
jmp 0x180010cbd
jmp 0x180010dc9
mov eax, dword [rsp + 0x54]
cmp eax, dword [rsp + 0x50]
jae 0x180010e22
mov rcx, qword [rsp + 0x68]
call fcn.180011490
mov dword [rsp + 0x38], eax
cmp dword [rsp + 0x38], 0
jne 0x180010df5
jmp 0x180010e22
mov ecx, dword [rsp + 0x38]
mov rax, qword [rsp + 0x68]
movsxd rcx, ecx
add rax, rcx
mov qword [rsp + 0x68], rax
mov rax, qword [rsp + 0x68]
mov rcx, qword [rsp + 0x80]
sub rax, rcx
mov dword [rsp + 0x54], eax
jmp 0x180010dc9
mov eax, dword [rsp + 0x54]
cmp eax, dword [rsp + 0x50]
jb 0x180010e3e
mov eax, dword [rsp + 0x4c]
cmp rax, 8
jbe 0x180010e60
mov dword [rsp + 0x8c], 9
cmp dword [0x18003cfc8], 0
je 0x180010e5b
jmp 0x180010b86
jmp 0x180010b79
mov rax, qword [rsp + 0x60]
cmp rax, qword [rsp + 0x58]
jbe 0x180010e71
int3
mov rax, qword [rsp + 0x60]
mov rcx, qword [rsp + 0x78]
sub rax, rcx
mov cl, al
mov rax, qword [rsp + 0x78]
mov byte [rax + 0x1e], cl
mov eax, dword [rsp + 0x54]
mov cl, al
mov rax, qword [rsp + 0x78]
mov byte [rax + 0x3e], cl
mov rcx, qword [rsp + 0x78]
add rcx, 0x20
mov rdx, qword [rsp + 0x80]
mov eax, dword [rsp + 0x54]
mov r8d, eax
call fcn.18001e9d0
mov eax, dword [rsp + 0x54]
mov ecx, dword [rsp + 0x50]
mov edx, ecx
mov ecx, 0x1e
sub rcx, rdx
cmp rax, rcx
jbe 0x180010ede
mov dword [rsp + 0x8c], 6
jmp 0x180010b79
mov rcx, qword [rsp + 0x80]
mov eax, dword [rsp + 0x54]
add rcx, rax
mov rax, qword [rsp + 0x78]
mov qword [rax + 0x48], rcx
mov rcx, qword [rsp + 0x98]
mov rax, qword [rsp + 0x78]
mov qword [rax + 0x50], rcx
mov rax, qword [rsp + 0x78]
mov rcx, qword [rsp + 0x78]
movzx ecx, byte [rcx + 0x1e]
movsxd rcx, ecx
add rax, rcx
mov qword [rsp + 0x60], rax
mov rdx, qword [rsp + 0x78]
add rdx, 0x48
mov rcx, qword [rsp + 0x60]
call fcn.180010610
mov qword [rsp + 0x60], rax
mov rdx, qword [rsp + 0x58]
mov rcx, qword [rsp + 0x60]
call fcn.1800106e0
mov qword [rsp + 0x60], rax
mov dword [rsp + 0x34], 0
mov eax, dword [rsp + 0x54]
mov edx, eax
mov rcx, qword [rsp + 0x80]
mov r8d, 0x40
lea r9, [rsp + 0x34]
call qword [sym.imp.KERNEL32.dll_VirtualProtect]
cmp eax, 0
jne 0x180010f8e
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [rsp + 0x8c], eax
jmp 0x180010b79
mov rax, qword [rsp + 0x70]
mov dword [rax + 8], 0
mov rcx, qword [rsp + 0x90]
mov rax, qword [rsp + 0x70]
mov qword [rax + 0x10], rcx
mov rcx, qword [rsp + 0x78]
mov rax, qword [rsp + 0x70]
mov qword [rax + 0x20], rcx
mov rcx, qword [rsp + 0x80]
mov rax, qword [rsp + 0x70]
mov qword [rax + 0x18], rcx
mov ecx, dword [rsp + 0x34]
mov rax, qword [rsp + 0x70]
mov dword [rax + 0x28], ecx
mov rcx, qword [0x18003cfd8]
mov rax, qword [rsp + 0x70]
mov qword [rax], rcx
mov rax, qword [rsp + 0x70]
mov qword [0x18003cfd8], rax
mov dword [rsp + 0xb4], 0
mov eax, dword [rsp + 0xb4]
add rsp, 0xb8
ret