Function at 0x1400ada98
Capabilities:
Allocate or change rwx memory
Get system information on windows

Disassembly:
mov qword [rsp + 0x18], rbx
push rbp
mov rbp, rsp
push rsi
push rdi
push r12
push r13
push r14
push r15
sub rsp, 0x60
rdtsc
shl rdx, 0x20
or rax, rdx
btr eax, 0x1f
cdqe
mov qword [0x14017dbb0], rax
call qword [sym.imp.KERNEL32.dll_GetVersion]
xor ebx, ebx
and eax, 0x80000000
cmp dword [0x14017db44], ebx
mov dword [0x14017db40], eax
jne 0x1400adafe
lea rcx, [0x14017db48]
call fcn.14009ecb8
test eax, eax
js 0x1400add94
mov dword [0x14017db44], 1
lea rcx, [rsp + 0x30]
call qword [sym.imp.KERNEL32.dll_GetSystemInfo]
movsxd rdx, dword [0x14000003c]
mov rdi, qword [rsp + 0x38]
lea rax, [0x140000050]
mov r8d, 0x80000000
lea rcx, [0x140000000]
mov edx, dword [rdx + rax]
lea rax, [rdi + r8]
add rdx, rcx
cmp rdx, rax
jb 0x1400adb3f
lea rdi, [rdx - 0x80000000]
lea rdx, [rdi + 0xffff]
mov rdi, qword [rsp + 0x40]
and rdx, 0xffffffffffff0000
lea rax, [rdi - 0x80000000]
mov qword [0x14017db70], rdx
cmp rcx, rax
jbe 0x1400adb6e
mov qword [0x14017db78], rdi
jmp 0x1400adb78
add rcx, r8
mov qword [0x14017db78], rcx
mov word [0x14017db78], bx
mov rax, qword [0x14017db78]
sub rax, rdx
shr rax, 0x10
mov qword [0x14017db80], rax
mov eax, ebx
test eax, eax
js 0x1400add94
mov eax, dword [0x14010ba84]
test eax, eax
je 0x1400add8b
mov ecx, dword [0x14010ba80]
mov eax, dword [0x14010ba84]
mov r12, rbx
imul ecx, eax
mov r15d, ecx
add rcx, 0xffff
shr rcx, 0x10
mov qword [rbp + 0x18], rcx
mov rdi, qword [0x14017db80]
inc r12
mov rax, rbx
sub rdi, rcx
inc rdi
mov r8, rdi
je 0x1400adc1e
mov rcx, qword [0x14017dbb0]
imul rcx, rcx, 0x343fd
shl rax, 0x10
shr r8, 0x10
add rcx, 0x269ec3
mov rdx, rcx
shr rdx, 0x10
movzx edx, dx
or rax, rdx
test r8, r8
jne 0x1400adbef
mov qword [0x14017dbb0], rcx
xor edx, edx
mov r9d, 0x40
mov r8d, 0x3000
div rdi
mov rcx, rdx
mov rdx, r15
shl rcx, 0x10
add rcx, qword [0x14017db70]
call qword [sym.imp.KERNEL32.dll_VirtualAlloc]
mov rdi, rax
test rax, rax
jne 0x1400adcbe
cmp r12, 0x11
jne 0x1400adcf7
mov rax, qword [0x14017db78]
mov r14, qword [0x14017db70]
lea rsi, [r14 + r15]
mov qword [rbp + 0x10], rax
cmp rsi, rax
ja 0x1400adcb6
mov r13d, 0x10000
sub r13, r15
mov r9d, 0x40
mov r8d, 0x3000
mov rdx, r15
mov rcx, r14
call qword [sym.imp.KERNEL32.dll_VirtualAlloc]
mov rdi, rax
test rax, rax
jne 0x1400adcb9
lea rax, [rsi + r13]
cmp rax, r14
jbe 0x1400adcf7
mov eax, 0x10000
add rsi, rax
add r14, rax
cmp rsi, qword [rbp + 0x10]
jbe 0x1400adc7c
mov rdi, rbx
test rdi, rdi
je 0x1400adcf7
mov rcx, rdi
lea r9, [0x14009ec1c]
mov r8d, r15d
mov rdx, rdi
or rcx, 3
mov qword [rsp + 0x28], rbx
mov qword [rsp + 0x20], rbx
call qword [sym.imp.KERNEL32.dll_RtlInstallFunctionTableCallback]
test al, al
jne 0x1400add10
xor edx, edx
mov r8d, 0x8000
mov rcx, rdi
call qword [sym.imp.KERNEL32.dll_VirtualFree]
xor ecx, ecx
call qword [sym.imp.KERNEL32.dll_Sleep]
mov rcx, qword [rbp + 0x18]
cmp r12, 0x11
jb 0x1400adbd0
mov rdi, rbx
mov qword [0x14017dba0], rdi
mov rax, qword [0x14017dba0]
test rax, rax
jne 0x1400add43
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov ecx, 0x54f
test eax, eax
cmove eax, ecx
movzx ecx, ax
or ecx, 0x80070000
test eax, eax
cmovle ecx, eax
jmp 0x1400add8d
mov eax, dword [0x14010ba84]
mov r8, rbx
test eax, eax
je 0x1400add8b
mov edi, dword [0x14010ba80]
mov rdx, qword [0x14017dba0]
mov ecx, dword [0x14010ba80]
imul rdi, r8
xor eax, eax
add rdi, rdx
rep stosb byte [rdi], al
mov rax, qword [0x14017db98]
mov dword [rax + r8*4], 0x3887
mov ecx, dword [0x14010ba84]
inc r8
cmp r8, rcx
jb 0x1400add50
mov ecx, ebx
test ecx, ecx
cmovs ebx, ecx
mov eax, ebx
mov rbx, qword [rsp + 0xb0]
add rsp, 0x60
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret