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

Disassembly:
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbp
push rbx
sub rsp, 0x68
mov rdi, r8
mov rbx, rdx
mov rsi, rcx
mov r13, qword [rdx]
mov r14, qword [rdx + 0x10]
test r14, r14
je 0x140013dad
lea rcx, [r14 + r14*2]
shl rcx, 4
add rcx, r13
lea r15, [rdi + 7]
and r15, 0xfffffffffffffff8
mov rax, r13
lea r9, [rax + 0x30]
lea rdx, [rax + 0x18]
mov r8, rdx
mov r8, qword [r8]
test r8, r8
je 0x140013da5
nop
mov r10, qword [r8 + 8]
cmp r10, r15
jae 0x140013dda
add r8, 0x10
mov r8, qword [r8]
test r8, r8
jne 0x140013d90
mov rax, r9
cmp r9, rcx
jne 0x140013d7b
lea rcx, [rsp + 0x38]
call sub.KERNEL32.dll_GetSystemInfo
mov ecx, dword [rsp + 0x3c]
test rcx, rcx
je 0x140014008
mov rax, rdi
shr rax, 0x20
je 0x140013e13
mov rax, rdi
xor edx, edx
div rcx
mov r12, rax
jmp 0x140013e1c
mov rdi, qword [r8]
lea rcx, [rdi + r15]
mov qword [r8], rcx
sub r10, r15
mov qword [r8 + 8], r10
jne 0x140013fb1
mov rcx, qword [r8 + 0x10]
mov r9, qword [r8 + 0x18]
test r9, r9
je 0x140013f87
mov qword [r9 + 0x10], rcx
mov rcx, qword [r8 + 0x10]
mov rdx, qword [r8 + 0x18]
jmp 0x140013f8c
mov eax, edi
xor edx, edx
div ecx
mov r12d, eax
inc r12
imul r12, rcx
mov r15, qword [rbx + 0x18]
mov dword [rsp + 0x20], 0x40
mov rcx, r15
xor edx, edx
mov r8, r12
mov r9d, 0x3000
call sub.KERNEL32.dll_VirtualAllocEx
test rax, rax
je 0x140013f6e
mov rbp, rax
mov qword [rsp + 0x30], r15
movzx eax, byte [0x140085280]
mov rcx, qword [0x1400851f8]
test rcx, rcx
jne 0x140013e7f
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
test rax, rax
je 0x140014022
mov rcx, rax
mov qword [0x1400851f8], rax
mov r8d, 0x20
xor edx, edx
call qword [sym.imp.KERNEL32.dll_HeapAlloc]
test rax, rax
je 0x140014022
mov r15, rax
mov qword [rax], rbp
mov qword [rax + 8], r12
xorps xmm0, xmm0
movups xmmword [rax + 0x10], xmm0
cmp r14, qword [rbx + 8]
jne 0x140013ebf
mov rcx, rbx
mov rdx, r14
call fcn.1400112b0
mov r13, qword [rbx]
mov r14, qword [rbx + 0x10]
lea rax, [r14 + r14*2]
shl rax, 4
mov rcx, qword [rsp + 0x30]
mov qword [r13 + rax], rcx
mov qword [r13 + rax + 8], rbp
mov qword [r13 + rax + 0x10], r12
mov qword [r13 + rax + 0x18], r15
mov qword [r13 + rax + 0x20], r15
mov qword [r13 + rax + 0x28], 1
inc r14
mov qword [rbx + 0x10], r14
je 0x140014033
add rdi, 7
and rdi, 0xfffffffffffffff8
lea rcx, [rax + r13]
add rcx, 0x18
test r15, r15
je 0x140013f22
mov rdx, qword [r15 + 8]
cmp rdx, rdi
jae 0x140013f3c
mov r15, qword [r15 + 0x10]
test r15, r15
jne 0x140013f10
lea rcx, str.internal_error:_entered_unreachable_code_rustc_13e6f24b9adda67852fb86538541adaa68aff6e8library_alloc_src_vecmod.rs
lea r8, str.C:Userslakti.cargo_registry_srcindex.crates.io_6f17d22bba15001fdll_syringe_0.15.2_srcprocessmemory_raw_allocator.rs
mov edx, 0x28
call fcn.1400578a0
ud2
mov rbx, qword [r15]
lea r8, [rbx + rdi]
mov qword [r15], r8
sub rdx, rdi
mov qword [r15 + 8], rdx
jne 0x140013fea
mov rdx, qword [r15 + 0x10]
mov r8, qword [r15 + 0x18]
test r8, r8
je 0x140013fbb
mov qword [r8 + 0x10], rdx
mov rdx, qword [r15 + 0x10]
mov rcx, qword [r15 + 0x18]
jmp 0x140013fc0
call qword [sym.imp.KERNEL32.dll_GetLastError]
shl rax, 0x20
or rax, 2
mov qword [rsi + 8], rax
mov eax, 1
jmp 0x140013ff4
mov qword [rdx], rcx
xor edx, edx
lea r9, [rcx + 0x18]
lea r10, [rax + 0x20]
test rcx, rcx
cmove r9, r10
mov qword [r9], rdx
dec qword [rax + 0x28]
mov rcx, qword [0x1400851f8]
xor edx, edx
call qword [sym.imp.KERNEL32.dll_HeapFree]
mov qword [rsi + 8], rdi
mov qword [rsi + 0x10], r15
jmp 0x140013ff2
mov qword [rcx], rdx
xor ecx, ecx
lea r8, [rdx + 0x18]
test rdx, rdx
lea rdx, [r13 + rax + 0x20]
cmovne rdx, r8
mov qword [rdx], rcx
dec qword [r13 + rax + 0x28]
mov rcx, qword [0x1400851f8]
xor edx, edx
mov r8, r15
call qword [sym.imp.KERNEL32.dll_HeapFree]
mov qword [rsi + 8], rbx
mov qword [rsi + 0x10], rdi
xor eax, eax
mov qword [rsi], rax
add rsp, 0x68
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
ret
lea rcx, str.attempt_to_divide_by_zero
lea r8, str.C:Userslakti.cargo_registry_srcindex.crates.io_6f17d22bba15001fdll_syringe_0.15.2_srcprocessmemory_raw_allocator.rs
mov edx, 0x19
call fcn.1400578a0
ud2
mov ecx, 8
mov edx, 0x20
call fcn.140057590
ud2
lea rcx, str.called__Option::unwrap____on_a__None__value
lea r8, str.C:Userslakti.cargo_registry_srcindex.crates.io_6f17d22bba15001fdll_syringe_0.15.2_srcprocessmemory_raw_allocator.rs
mov edx, 0x2b
call fcn.1400578a0
ud2