Function at 0x402ca0
Capabilities:
Inspect section memory permissions

Disassembly:
cmp rsp, qword [r14 + 0x10]
jbe 0x4036ee
push rbp
mov rbp, rsp
sub rsp, 0x58
lea rax, [0x0053f940]
call sym.runtime.newobject
mov qword [rax + 8], 3
lea rcx, [0x0055f589]
mov qword [rax], rcx
lea rcx, [0x006ad6c1]
mov qword [rax + 0x10], rcx
mov qword [rax + 0x28], 3
lea rcx, [0x0055f58c]
mov qword [rax + 0x20], rcx
lea rcx, [0x006ad6c0]
mov qword [rax + 0x30], rcx
mov qword [rax + 0x48], 4
lea rcx, [0x0055f6c5]
mov qword [rax + 0x40], rcx
lea rcx, [0x006ad6c9]
mov qword [rax + 0x50], rcx
mov qword [rax + 0x68], 9
lea rcx, [0x0056008c]
mov qword [rax + 0x60], rcx
lea rcx, [0x006ad6cc]
mov qword [rax + 0x70], rcx
mov qword [rax + 0x88], 6
lea rcx, [0x0055f9ab]
mov qword [rax + 0x80], rcx
lea rcx, [0x006ad6ce]
mov qword [rax + 0x90], rcx
mov qword [rax + 0xa8], 3
lea rcx, [0x0055f58f]
mov qword [rax + 0xa0], rcx
lea rcx, [0x006ad6cf]
mov qword [rax + 0xb0], rcx
mov qword [0x00626208], 6
mov qword [0x00626210], 6
cmp dword [0x006ad1a0], 0
je 0x402db5
call sym.runtime.gcWriteBarrier2
mov qword [r11], rax
mov rcx, qword [0x00626200]
mov qword [r11 + 8], rcx
mov qword [0x00626200], rax
nop dword [rax]
call sym.internal_cpu.getGOAMD64level.abi0
xorps xmm15, xmm15
mov r14, qword [0x006ad178]
mov r14, qword gs:[r14]
mov r14, qword [r14]
mov eax, dword [rsp]
mov dword [rsp + 0x48], eax
nop
cmp eax, 2
jge 0x402ff2
mov rcx, qword [0x00626210]
mov rbx, qword [0x00626208]
add rbx, 5
mov rdx, qword [0x00626200]
cmp rcx, rbx
jae 0x402e4c
mov rax, rdx
mov edi, 5
lea rsi, [0x00552880]
call sym.runtime.growslice
mov qword [0x00626210], rcx
cmp dword [0x006ad1a0], 0
je 0x402e3e
call sym.runtime.gcWriteBarrier2
mov qword [r11], rax
mov rdx, qword [0x00626200]
mov qword [r11 + 8], rdx
mov qword [0x00626200], rax
mov rdx, rax
mov eax, dword [rsp + 0x48]
mov qword [0x00626208], rbx
lea r8, [rbx - 5]
shl r8, 5
mov qword [rdx + r8 + 8], 6
mov byte [rdx + r8 + 0x18], 0
mov byte [rdx + r8 + 0x19], 0
cmp dword [0x006ad1a0], 0
je 0x402e91
mov r9, qword [rdx + r8]
nop dword [rax]
call sym.runtime.gcWriteBarrier2
mov qword [r11], r9
mov r9, qword [rdx + r8 + 0x10]
mov qword [r11 + 8], r9
lea r9, [0x0055f9b1]
mov qword [rdx + r8], r9
lea r9, [0x006ad6cd]
mov qword [rdx + r8 + 0x10], r9
mov qword [rdx + r8 + 0x28], 4
mov byte [rdx + r8 + 0x38], 0
mov byte [rdx + r8 + 0x39], 0
cmp dword [0x006ad1a0], 0
je 0x402edc
mov r9, qword [rdx + r8 + 0x20]
call sym.runtime.gcWriteBarrier2
mov qword [r11], r9
mov r9, qword [rdx + r8 + 0x30]
mov qword [r11 + 8], r9
lea r9, [0x0055f6c9]
mov qword [rdx + r8 + 0x20], r9
lea r9, [0x006ad6d0]
mov qword [rdx + r8 + 0x30], r9
mov qword [rdx + r8 + 0x48], 5
mov byte [rdx + r8 + 0x58], 0
mov byte [rdx + r8 + 0x59], 0
cmp dword [0x006ad1a0], 0
je 0x402f28
mov r9, qword [rdx + r8 + 0x40]
call sym.runtime.gcWriteBarrier2
mov qword [r11], r9
mov r9, qword [rdx + r8 + 0x50]
mov qword [r11 + 8], r9
lea r9, [0x0055f83c]
mov qword [rdx + r8 + 0x40], r9
lea r9, [0x006ad6d2]
mov qword [rdx + r8 + 0x50], r9
mov qword [rdx + r8 + 0x68], 5
mov byte [rdx + r8 + 0x78], 0
mov byte [rdx + r8 + 0x79], 0
cmp dword [0x006ad1a0], 0
je 0x402f74
mov r9, qword [rdx + r8 + 0x60]
call sym.runtime.gcWriteBarrier2
mov qword [r11], r9
mov r9, qword [rdx + r8 + 0x70]
mov qword [r11 + 8], r9
lea r9, [0x0055f841]
mov qword [rdx + r8 + 0x60], r9
lea r9, [0x006ad6d3]
mov qword [rdx + r8 + 0x70], r9
mov qword [rdx + r8 + 0x88], 5
mov byte [rdx + r8 + 0x98], 0
mov byte [rdx + r8 + 0x99], 0
cmp dword [0x006ad1a0], 0
je 0x402fd4
mov r9, qword [rdx + r8 + 0x80]
nop dword [rax + rax]
call sym.runtime.gcWriteBarrier2
mov qword [r11], r9
mov r9, qword [rdx + r8 + 0x90]
mov qword [r11 + 8], r9
lea r9, [0x0055f846]
mov qword [rdx + r8 + 0x80], r9
lea r9, [0x006ad6d1]
mov qword [rdx + r8 + 0x90], r9
cmp eax, 3
jge 0x403202
mov rcx, qword [0x00626210]
mov rbx, qword [0x00626208]
add rbx, 5
mov rdx, qword [0x00626200]
cmp rcx, rbx
jae 0x403061
mov rax, rdx
mov edi, 5
lea rsi, [0x00552880]
call sym.runtime.growslice
mov qword [0x00626210], rcx
cmp dword [0x006ad1a0], 0
je 0x403053
nop dword [rax]
call sym.runtime.gcWriteBarrier2
mov qword [r11], rax
mov rdx, qword [0x00626200]
mov qword [r11 + 8], rdx
mov qword [0x00626200], rax
mov rdx, rax
mov eax, dword [rsp + 0x48]
mov qword [0x00626208], rbx
lea r8, [rbx - 5]
shl r8, 5
mov qword [rdx + r8 + 8], 3
mov byte [rdx + r8 + 0x18], 0
mov byte [rdx + r8 + 0x19], 0
cmp dword [0x006ad1a0], 0
je 0x4030a3
mov r9, qword [rdx + r8]
call sym.runtime.gcWriteBarrier2
mov qword [r11], r9
mov r9, qword [rdx + r8 + 0x10]
mov qword [r11 + 8], r9
lea r9, [0x0055f592]
mov qword [rdx + r8], r9
lea r9, [0x006ad6c2]
mov qword [rdx + r8 + 0x10], r9
mov qword [rdx + r8 + 0x28], 4
mov byte [rdx + r8 + 0x38], 0
mov byte [rdx + r8 + 0x39], 0
cmp dword [0x006ad1a0], 0
je 0x4030f1
mov r9, qword [rdx + r8 + 0x20]
nop dword [rax]
call sym.runtime.gcWriteBarrier2
mov qword [r11], r9
mov r9, qword [rdx + r8 + 0x30]
mov qword [r11 + 8], r9
lea r9, [0x0055f6cd]
mov qword [rdx + r8 + 0x20], r9
lea r9, [0x006ad6c3]
mov qword [rdx + r8 + 0x30], r9
mov qword [rdx + r8 + 0x48], 4
mov byte [rdx + r8 + 0x58], 0
mov byte [rdx + r8 + 0x59], 0
cmp dword [0x006ad1a0], 0
je 0x40313d
mov r9, qword [rdx + r8 + 0x40]
call sym.runtime.gcWriteBarrier2
mov qword [r11], r9
mov r9, qword [rdx + r8 + 0x50]
mov qword [r11 + 8], r9
lea r9, [0x0055f6d1]
mov qword [rdx + r8 + 0x40], r9
lea r9, [0x006ad6c7]
mov qword [rdx + r8 + 0x50], r9
mov qword [rdx + r8 + 0x68], 4
mov byte [rdx + r8 + 0x78], 0
mov byte [rdx + r8 + 0x79], 0
cmp dword [0x006ad1a0], 0
je 0x403189
mov r9, qword [rdx + r8 + 0x60]
call sym.runtime.gcWriteBarrier2
mov qword [r11], r9
mov r9, qword [rdx + r8 + 0x70]
mov qword [r11 + 8], r9
lea r9, [0x0055f6d5]
mov qword [rdx + r8 + 0x60], r9
lea r9, [0x006ad6c8]
mov qword [rdx + r8 + 0x70], r9
mov qword [rdx + r8 + 0x88], 3
mov byte [rdx + r8 + 0x98], 0
mov byte [rdx + r8 + 0x99], 0
cmp dword [0x006ad1a0], 0
je 0x4031e4
mov r9, qword [rdx + r8 + 0x80]
call sym.runtime.gcWriteBarrier2
mov qword [r11], r9
mov r9, qword [rdx + r8 + 0x90]
mov qword [r11 + 8], r9
lea r9, [0x0055f595]
mov qword [rdx + r8 + 0x80], r9
lea r9, [0x006ad6ca]
mov qword [rdx + r8 + 0x90], r9
cmp eax, 4
jge 0x403353
mov rcx, qword [0x00626210]
mov rbx, qword [0x00626208]
add rbx, 3
mov rax, qword [0x00626200]
cmp rcx, rbx
jae 0x403264
mov edi, 3
lea rsi, [0x00552880]
call sym.runtime.growslice
mov qword [0x00626210], rcx
cmp dword [0x006ad1a0], 0
je 0x40325d
call sym.runtime.gcWriteBarrier2
mov qword [r11], rax
mov rcx, qword [0x00626200]
mov qword [r11 + 8], rcx
mov qword [0x00626200], rax
mov qword [0x00626208], rbx
lea rcx, [rbx - 3]
shl rcx, 5
mov qword [rax + rcx + 8], 7
mov byte [rax + rcx + 0x18], 0
mov byte [rax + rcx + 0x19], 0
cmp dword [0x006ad1a0], 0
je 0x4032a4
mov rdx, qword [rax + rcx]
call sym.runtime.gcWriteBarrier2
mov qword [r11], rdx
mov rdx, qword [rax + rcx + 0x10]
mov qword [r11 + 8], rdx
lea rdx, [0x0055fb78]
mov qword [rax + rcx], rdx
lea rdx, [0x006ad6c4]
mov qword [rax + rcx + 0x10], rdx
mov qword [rax + rcx + 0x28], 8
mov byte [rax + rcx + 0x38], 0
mov byte [rax + rcx + 0x39], 0
cmp dword [0x006ad1a0], 0
je 0x4032f1
mov rdx, qword [rax + rcx + 0x20]
nop dword [rax]
call sym.runtime.gcWriteBarrier2
mov qword [r11], rdx
mov rdx, qword [rax + rcx + 0x30]
mov qword [r11 + 8], rdx
lea rdx, [0x0055fdda]
mov qword [rax + rcx + 0x20], rdx
lea rdx, [0x006ad6c5]
mov qword [rax + rcx + 0x30], rdx
mov qword [rax + rcx + 0x48], 8
mov byte [rax + rcx + 0x58], 0
mov byte [rax + rcx + 0x59], 0
cmp dword [0x006ad1a0], 0
je 0x40333b
mov rdx, qword [rax + rcx + 0x40]
call sym.runtime.gcWriteBarrier2
mov qword [r11], rdx
mov rdx, qword [rax + rcx + 0x50]
mov qword [r11 + 8], rdx
lea rdx, [0x0055fde2]
mov qword [rax + rcx + 0x40], rdx
lea rdx, [0x006ad6c6]
mov qword [rax + rcx + 0x50], rdx
mov qword [rsp], 0
nop dword [rax + rax]
call sym.internal_cpu.cpuid.abi0
xorps xmm15, xmm15
mov r14, qword [0x006ad178]
mov r14, qword gs:[r14]
mov r14, qword [r14]
mov eax, dword [rsp + 8]
nop dword [rax + rax]
test eax, eax
je 0x4036e8
mov dword [rsp + 0x44], eax
mov eax, 0x80000000
mov qword [rsp], rax
call sym.internal_cpu.cpuid.abi0
xorps xmm15, xmm15
mov r14, qword [0x006ad178]
mov r14, qword gs:[r14]
mov r14, qword [r14]
mov eax, dword [rsp + 8]
mov dword [0x006acfa0], eax
mov qword [rsp], 1
nop
call sym.internal_cpu.cpuid.abi0
xorps xmm15, xmm15
mov r14, qword [0x006ad178]
mov r14, qword gs:[r14]
mov r14, qword [r14]
mov eax, dword [rsp + 0x10]
mov dword [rsp + 0x4c], eax
mov ebx, 1
call sym.internal_cpu.isSet
mov byte [0x006ad6d0], al
mov eax, dword [rsp + 0x4c]
mov ebx, 2
call sym.internal_cpu.isSet
mov byte [0x006ad6cc], al
mov eax, dword [rsp + 0x4c]
mov ebx, 0x200
call sym.internal_cpu.isSet
mov byte [0x006ad6d1], al
mov eax, dword [rsp + 0x4c]
mov ebx, 0x80000
call sym.internal_cpu.isSet
mov byte [0x006ad6d2], al
mov eax, dword [rsp + 0x4c]
mov ebx, 0x100000
call sym.internal_cpu.isSet
mov byte [0x006ad6d3], al
mov eax, dword [rsp + 0x4c]
mov ebx, 0x800000
call sym.internal_cpu.isSet
mov byte [0x006ad6cd], al
mov eax, dword [rsp + 0x4c]
mov ebx, 0x2000000
nop dword [rax]
call sym.internal_cpu.isSet
mov byte [0x006ad6c0], al
mov eax, dword [rsp + 0x4c]
mov ebx, 0x8000000
call sym.internal_cpu.isSet
mov byte [0x006ad6cb], al
mov eax, dword [rsp + 0x4c]
mov ebx, 0x1000
call sym.internal_cpu.isSet
test al, al
je 0x40349a
movzx ecx, byte [0x006ad6cb]
jmp 0x40349c
xor ecx, ecx
mov byte [0x006ad6ca], cl
cmp byte [0x006ad6cb], 0
jne 0x4034b4
xor eax, eax
xor ecx, ecx
jmp 0x40354f
call sym.internal_cpu.xgetbv.abi0
xorps xmm15, xmm15
mov r14, qword [0x006ad178]
mov r14, qword gs:[r14]
mov r14, qword [r14]
mov eax, dword [rsp]
mov dword [rsp + 0x54], eax
mov ebx, 2
call sym.internal_cpu.isSet
nop dword [rax]
test al, al
jne 0x4034e8
xor eax, eax
jmp 0x4034f6
mov eax, dword [rsp + 0x54]
mov ebx, 4
call sym.internal_cpu.isSet
mov byte [rsp + 0x43], al
test al, al
jne 0x403502
xor ecx, ecx
jmp 0x403517
mov eax, dword [rsp + 0x54]
mov ebx, 0x20
call sym.internal_cpu.isSet
mov ecx, eax
movzx eax, byte [rsp + 0x43]
test cl, cl
jne 0x40351f
xor ecx, ecx
jmp 0x40354f
mov eax, dword [rsp + 0x54]
mov ebx, 0x40
call sym.internal_cpu.isSet
test al, al
jne 0x40353a
movzx eax, byte [rsp + 0x43]
xor ecx, ecx
jmp 0x40354f
mov eax, dword [rsp + 0x54]
mov ebx, pe_nt_image_headers64
call sym.internal_cpu.isSet
mov ecx, eax
movzx eax, byte [rsp + 0x43]
mov byte [rsp + 0x42], cl
mov byte [rsp + 0x43], al
mov ebx, 0x10000000
mov eax, dword [rsp + 0x4c]
call sym.internal_cpu.isSet
movzx ecx, byte [rsp + 0x43]
and eax, ecx
mov byte [0x006ad6c2], al
mov edx, dword [rsp + 0x44]
cmp edx, 7
jb 0x4036e2
mov qword [rsp], 7
call sym.internal_cpu.cpuid.abi0
xorps xmm15, xmm15
mov r14, qword [0x006ad178]
mov r14, qword gs:[r14]
mov r14, qword [r14]
mov eax, dword [rsp + 0xc]
mov dword [rsp + 0x50], eax
mov ebx, 8
call sym.internal_cpu.isSet
mov byte [0x006ad6c7], al
mov eax, dword [rsp + 0x50]
mov ebx, 0x20
nop
call sym.internal_cpu.isSet
movzx ecx, byte [rsp + 0x43]
and ecx, eax
mov byte [0x006ad6c3], cl
mov eax, dword [rsp + 0x50]
mov ebx, 0x100
nop dword [rax + rax]
call sym.internal_cpu.isSet
mov byte [0x006ad6c8], al
mov eax, dword [rsp + 0x50]
mov ebx, 0x200
call sym.internal_cpu.isSet
mov byte [0x006ad6c9], al
mov eax, dword [rsp + 0x50]
mov ebx, 0x80000
call sym.internal_cpu.isSet
mov byte [0x006ad6c1], al
mov eax, dword [rsp + 0x50]
mov ebx, 0x20000000
nop dword [rax]
call sym.internal_cpu.isSet
mov byte [0x006ad6cf], al
mov eax, dword [rsp + 0x50]
mov ebx, 0x10000
call sym.internal_cpu.isSet
movzx ecx, byte [rsp + 0x42]
and ecx, eax
mov byte [0x006ad6c4], cl
test cl, cl
je 0x403672
mov eax, dword [rsp + 0x50]
mov ebx, 0x40000000
call sym.internal_cpu.isSet
mov byte [0x006ad6c5], al
mov eax, dword [rsp + 0x50]
mov ebx, 0x80000000
call sym.internal_cpu.isSet
mov byte [0x006ad6c6], al
mov eax, 0x80000000
mov qword [rsp], rax
nop dword [rax + rax]
call sym.internal_cpu.cpuid.abi0
xorps xmm15, xmm15
mov r14, qword [0x006ad178]
mov r14, qword gs:[r14]
mov r14, qword [r14]
cmp dword [rsp + 8], 0x80000001
nop
jae 0x4036a8
add rsp, 0x58
pop rbp
ret
mov eax, 0x80000001
mov qword [rsp], rax
call sym.internal_cpu.cpuid.abi0
xorps xmm15, xmm15
mov r14, qword [0x006ad178]
mov r14, qword gs:[r14]
mov r14, qword [r14]
mov eax, dword [rsp + 0x14]
mov ebx, 0x8000000
call sym.internal_cpu.isSet
mov byte [0x006ad6ce], al
add rsp, 0x58
pop rbp
ret
add rsp, 0x58
pop rbp
ret
add rsp, 0x58
pop rbp
ret
call sym.runtime.morestack_noctxt.abi0
jmp sym.internal_cpu.doinit