Function at 0x40cba0
Capabilities:
Run powershell expression

Disassembly:
cmp rsp, qword [r14 + 0x10]
jbe 0x40cefe
push rbp
mov rbp, rsp
sub rsp, 0x28
cmp word [0x00588a04], 0x10
nop word [rax + rax]
jne 0x40ceec
mov rdx, qword [0x0061c088]
test rdx, rdx
je 0x40cedb
nop word [rax + rax]
nop
cmp rdx, 0x80000
ja 0x40ce6c
cmp rdx, 0x1000
jb 0x40ce00
lea rsi, [rdx - 1]
nop
test rdx, rsi
jne 0x40cdae
mov rdx, qword [0x0061c090]
lea rsi, [rdx - 1]
test rdx, rsi
jne 0x40cd65
nop dword [rax]
cmp rdx, 0x400000
jbe 0x40cc34
mov qword [0x0061c090], 0
cmp qword [0x0061c090], 0
nop dword [rax]
jne 0x40cd39
xor eax, eax
jmp 0x40cc4d
inc rax
cmp rax, 0x44
jge 0x40cd1d
lea rcx, [0x00588a00]
movzx edx, word [rcx + rax*2]
cmp rdx, 0x200
jne 0x40cc4a
lea rax, [0x0059df20]
call sym.runtime._mheap_.init
call sym.runtime.allocmcache
mov qword [0x0061c150], rax
xor eax, eax
jmp 0x40cc8a
inc rax
cmp rax, 3
jl 0x40cc87
mov eax, 0x7f
jmp 0x40ccc7
mov qword [rsp + 0x20], rbx
lea rax, [0x005b4b58]
call sym.runtime._fixalloc_.alloc
mov rcx, qword [rsp + 0x10]
mov qword [rax], rcx
mov rcx, qword [rsp + 0x20]
mov rdx, qword [rcx]
mov qword [rax + 0x10], rdx
mov qword [rcx], rax
mov rax, qword [rsp + 0x18]
dec rax
test rax, rax
jl 0x40cd02
mov qword [rsp + 0x18], rax
mov rcx, rax
shl rax, 0x28
movabs rdx, 0xc000000000
or rax, rdx
mov qword [rsp + 0x10], rax
cmp rcx, 0x3f
jle 0x40ccf9
lea rbx, [0x005b4ba0]
jmp 0x40cc97
lea rbx, [0x005ae320]
jmp 0x40cc97
nop
movabs rax, 0x7fffffffffffffff
lea rcx, [0x0061ca28]
xchg qword [rcx], rax
add rsp, 0x28
pop rbp
ret
lea rax, [0x004e22df]
mov ebx, 0x36
call sym.runtime.throw
lea rdx, [rcx + 1]
mov qword [0x0061c098], rdx
mov rcx, qword [0x0061c098]
mov edx, 1
shl rdx, cl
cmp rcx, 0x40
sbb rsi, rsi
and rdx, rsi
cmp qword [0x0061c090], rdx
jne 0x40cd2e
nop dword [rax + rax]
jmp 0x40cc46
call sym.runtime.printlock
lea rax, [0x004dc617]
mov ebx, 0x17
call sym.runtime.printstring
mov rax, qword [0x0061c090]
call sym.runtime.printuint
lea rax, [0x004dc600]
mov ebx, 0x17
call sym.runtime.printstring
call sym.runtime.printunlock
lea rax, [0x004dcfd4]
mov ebx, 0x19
call sym.runtime.throw
call sym.runtime.printlock
lea rax, [0x004dad1f]
mov ebx, 0x12
nop
call sym.runtime.printstring
mov rax, qword [0x0061c088]
call sym.runtime.printuint
lea rax, [0x004dc600]
mov ebx, 0x17
nop dword [rax]
call sym.runtime.printstring
call sym.runtime.printunlock
lea rax, [0x004db755]
mov ebx, 0x14
call sym.runtime.throw
nop dword [rax + rax]
call sym.runtime.printlock
lea rax, [0x004dad1f]
mov ebx, 0x12
call sym.runtime.printstring
mov rax, qword [0x0061c088]
nop dword [rax]
call sym.runtime.printuint
lea rax, [0x004e00f8]
mov ebx, 0x25
call sym.runtime.printstring
mov eax, 0x1000
nop dword [rax + rax]
call sym.runtime.printint
lea rax, [0x004d8449]
mov ebx, 2
call sym.runtime.printstring
call sym.runtime.printunlock
lea rax, [0x004db755]
mov ebx, 0x14
call sym.runtime.throw
call sym.runtime.printlock
lea rax, [0x004dad1f]
mov ebx, 0x12
nop dword [rax]
call sym.runtime.printstring
mov rax, qword [0x0061c088]
call sym.runtime.printuint
lea rax, [0x004dfd02]
mov ebx, 0x24
nop dword [rax]
call sym.runtime.printstring
mov eax, 0x80000
call sym.runtime.printint
lea rax, [0x004d8449]
mov ebx, 2
nop dword [rax + rax]
call sym.runtime.printstring
call sym.runtime.printunlock
lea rax, [0x004db755]
mov ebx, 0x14
call sym.runtime.throw
lea rax, [0x004de6dd]
mov ebx, 0x1e
call sym.runtime.throw
lea rax, [0x004da978]
mov ebx, 0x11
call sym.runtime.throw
nop
nop
call sym.runtime.morestack_noctxt.abi0
jmp sym.runtime.mallocinit