Function at 0x402900
Capabilities:
Inspect section memory permissions

Disassembly:
cmp rsp, qword [r14 + 0x10]
jbe 0x40334e
push rbp
mov rbp, rsp
sub rsp, 0x58
lea rax, [0x004d0be0]
call sym.runtime.newobject
mov qword [rax + 8], 3
lea rcx, [0x004eb8ff]
mov qword [rax], rcx
lea rcx, [0x00626381]
mov qword [rax + 0x10], rcx
mov qword [rax + 0x28], 3
lea rcx, [0x004eb902]
mov qword [rax + 0x20], rcx
lea rcx, [0x00626380]
mov qword [rax + 0x30], rcx
mov qword [rax + 0x48], 4
lea rcx, [0x004eba43]
mov qword [rax + 0x40], rcx
lea rcx, [0x00626389]
mov qword [rax + 0x50], rcx
mov qword [rax + 0x68], 9
lea rcx, [0x004ec640]
mov qword [rax + 0x60], rcx
lea rcx, [0x0062638c]
mov qword [rax + 0x70], rcx
mov qword [rax + 0x88], 6
lea rcx, [0x004ebdc6]
mov qword [rax + 0x80], rcx
lea rcx, [0x0062638e]
mov qword [rax + 0x90], rcx
mov qword [rax + 0xa8], 3
lea rcx, [0x004eb905]
mov qword [rax + 0xa0], rcx
lea rcx, [0x0062638f]
mov qword [rax + 0xb0], rcx
mov qword [0x0059efd8], 6
mov qword [0x0059efe0], 6
cmp dword [0x00625e60], 0
je 0x402a15
call sym.runtime.gcWriteBarrier2
mov qword [r11], rax
mov rcx, qword [0x0059efd0]
mov qword [r11 + 8], rcx
mov qword [0x0059efd0], rax
nop dword [rax]
call sym.internal_cpu.getGOAMD64level.abi0
xorps xmm15, xmm15
mov r14, qword [0x00625e30]
mov r14, qword gs:[r14]
mov r14, qword [r14]
mov eax, dword [rsp]
mov dword [rsp + 0x48], eax
nop
cmp eax, 2
jge 0x402c52
mov rcx, qword [0x0059efe0]
mov rbx, qword [0x0059efd8]
add rbx, 5
mov rdx, qword [0x0059efd0]
cmp rcx, rbx
jae 0x402aac
mov rax, rdx
mov edi, 5
lea rsi, [0x004e0720]
call sym.runtime.growslice
mov qword [0x0059efe0], rcx
cmp dword [0x00625e60], 0
je 0x402a9e
call sym.runtime.gcWriteBarrier2
mov qword [r11], rax
mov rdx, qword [0x0059efd0]
mov qword [r11 + 8], rdx
mov qword [0x0059efd0], rax
mov rdx, rax
mov eax, dword [rsp + 0x48]
mov qword [0x0059efd8], 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 [0x00625e60], 0
je 0x402af1
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, [0x004ebdcc]
mov qword [rdx + r8], r9
lea r9, [0x0062638d]
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 [0x00625e60], 0
je 0x402b3c
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, [0x004eba47]
mov qword [rdx + r8 + 0x20], r9
lea r9, [0x00626390]
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 [0x00625e60], 0
je 0x402b88
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, [0x004ebbea]
mov qword [rdx + r8 + 0x40], r9
lea r9, [0x00626392]
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 [0x00625e60], 0
je 0x402bd4
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, [0x004ebbef]
mov qword [rdx + r8 + 0x60], r9
lea r9, [0x00626393]
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 [0x00625e60], 0
je 0x402c34
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, [0x004ebbf4]
mov qword [rdx + r8 + 0x80], r9
lea r9, [0x00626391]
mov qword [rdx + r8 + 0x90], r9
cmp eax, 3
jge 0x402e62
mov rcx, qword [0x0059efe0]
mov rbx, qword [0x0059efd8]
add rbx, 5
mov rdx, qword [0x0059efd0]
cmp rcx, rbx
jae 0x402cc1
mov rax, rdx
mov edi, 5
lea rsi, [0x004e0720]
call sym.runtime.growslice
mov qword [0x0059efe0], rcx
cmp dword [0x00625e60], 0
je 0x402cb3
nop dword [rax]
call sym.runtime.gcWriteBarrier2
mov qword [r11], rax
mov rdx, qword [0x0059efd0]
mov qword [r11 + 8], rdx
mov qword [0x0059efd0], rax
mov rdx, rax
mov eax, dword [rsp + 0x48]
mov qword [0x0059efd8], 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 [0x00625e60], 0
je 0x402d03
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, [0x004eb908]
mov qword [rdx + r8], r9
lea r9, [0x00626382]
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 [0x00625e60], 0
je 0x402d51
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, [0x004eba4b]
mov qword [rdx + r8 + 0x20], r9
lea r9, [0x00626383]
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 [0x00625e60], 0
je 0x402d9d
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, [0x004eba4f]
mov qword [rdx + r8 + 0x40], r9
lea r9, [0x00626387]
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 [0x00625e60], 0
je 0x402de9
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, [0x004eba53]
mov qword [rdx + r8 + 0x60], r9
lea r9, [0x00626388]
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 [0x00625e60], 0
je 0x402e44
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, [0x004eb90b]
mov qword [rdx + r8 + 0x80], r9
lea r9, [0x0062638a]
mov qword [rdx + r8 + 0x90], r9
cmp eax, 4
jge 0x402fb3
mov rcx, qword [0x0059efe0]
mov rbx, qword [0x0059efd8]
add rbx, 3
mov rax, qword [0x0059efd0]
cmp rcx, rbx
jae 0x402ec4
mov edi, 3
lea rsi, [0x004e0720]
call sym.runtime.growslice
mov qword [0x0059efe0], rcx
cmp dword [0x00625e60], 0
je 0x402ebd
call sym.runtime.gcWriteBarrier2
mov qword [r11], rax
mov rcx, qword [0x0059efd0]
mov qword [r11 + 8], rcx
mov qword [0x0059efd0], rax
mov qword [0x0059efd8], 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 [0x00625e60], 0
je 0x402f04
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, [0x004ec00c]
mov qword [rax + rcx], rdx
lea rdx, [0x00626384]
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 [0x00625e60], 0
je 0x402f51
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, [0x004ec2e0]
mov qword [rax + rcx + 0x20], rdx
lea rdx, [0x00626385]
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 [0x00625e60], 0
je 0x402f9b
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, [0x004ec2e8]
mov qword [rax + rcx + 0x40], rdx
lea rdx, [0x00626386]
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 [0x00625e30]
mov r14, qword gs:[r14]
mov r14, qword [r14]
mov eax, dword [rsp + 8]
nop dword [rax + rax]
test eax, eax
je 0x403348
mov dword [rsp + 0x44], eax
mov eax, 0x80000000
mov qword [rsp], rax
call sym.internal_cpu.cpuid.abi0
xorps xmm15, xmm15
mov r14, qword [0x00625e30]
mov r14, qword gs:[r14]
mov r14, qword [r14]
mov eax, dword [rsp + 8]
mov dword [0x00625c60], eax
mov qword [rsp], 1
nop
call sym.internal_cpu.cpuid.abi0
xorps xmm15, xmm15
mov r14, qword [0x00625e30]
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 [0x00626390], al
mov eax, dword [rsp + 0x4c]
mov ebx, 2
call sym.internal_cpu.isSet
mov byte [0x0062638c], al
mov eax, dword [rsp + 0x4c]
mov ebx, 0x200
call sym.internal_cpu.isSet
mov byte [0x00626391], al
mov eax, dword [rsp + 0x4c]
mov ebx, 0x80000
call sym.internal_cpu.isSet
mov byte [0x00626392], al
mov eax, dword [rsp + 0x4c]
mov ebx, 0x100000
call sym.internal_cpu.isSet
mov byte [0x00626393], al
mov eax, dword [rsp + 0x4c]
mov ebx, 0x800000
call sym.internal_cpu.isSet
mov byte [0x0062638d], al
mov eax, dword [rsp + 0x4c]
mov ebx, 0x2000000
nop dword [rax]
call sym.internal_cpu.isSet
mov byte [0x00626380], al
mov eax, dword [rsp + 0x4c]
mov ebx, 0x8000000
call sym.internal_cpu.isSet
mov byte [0x0062638b], al
mov eax, dword [rsp + 0x4c]
mov ebx, 0x1000
call sym.internal_cpu.isSet
test al, al
je 0x4030fa
movzx ecx, byte [0x0062638b]
jmp 0x4030fc
xor ecx, ecx
mov byte [0x0062638a], cl
cmp byte [0x0062638b], 0
jne 0x403114
xor eax, eax
xor ecx, ecx
jmp 0x4031af
call sym.internal_cpu.xgetbv.abi0
xorps xmm15, xmm15
mov r14, qword [0x00625e30]
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 0x403148
xor eax, eax
jmp 0x403156
mov eax, dword [rsp + 0x54]
mov ebx, 4
call sym.internal_cpu.isSet
mov byte [rsp + 0x43], al
test al, al
jne 0x403162
xor ecx, ecx
jmp 0x403177
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 0x40317f
xor ecx, ecx
jmp 0x4031af
mov eax, dword [rsp + 0x54]
mov ebx, 0x40
call sym.internal_cpu.isSet
test al, al
jne 0x40319a
movzx eax, byte [rsp + 0x43]
xor ecx, ecx
jmp 0x4031af
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 [0x00626382], al
mov edx, dword [rsp + 0x44]
cmp edx, 7
jb 0x403342
mov qword [rsp], 7
call sym.internal_cpu.cpuid.abi0
xorps xmm15, xmm15
mov r14, qword [0x00625e30]
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 [0x00626387], 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 [0x00626383], cl
mov eax, dword [rsp + 0x50]
mov ebx, 0x100
nop dword [rax + rax]
call sym.internal_cpu.isSet
mov byte [0x00626388], al
mov eax, dword [rsp + 0x50]
mov ebx, 0x200
call sym.internal_cpu.isSet
mov byte [0x00626389], al
mov eax, dword [rsp + 0x50]
mov ebx, 0x80000
call sym.internal_cpu.isSet
mov byte [0x00626381], al
mov eax, dword [rsp + 0x50]
mov ebx, 0x20000000
nop dword [rax]
call sym.internal_cpu.isSet
mov byte [0x0062638f], al
mov eax, dword [rsp + 0x50]
mov ebx, 0x10000
call sym.internal_cpu.isSet
movzx ecx, byte [rsp + 0x42]
and ecx, eax
mov byte [0x00626384], cl
test cl, cl
je 0x4032d2
mov eax, dword [rsp + 0x50]
mov ebx, 0x40000000
call sym.internal_cpu.isSet
mov byte [0x00626385], al
mov eax, dword [rsp + 0x50]
mov ebx, 0x80000000
call sym.internal_cpu.isSet
mov byte [0x00626386], al
mov eax, 0x80000000
mov qword [rsp], rax
nop dword [rax + rax]
call sym.internal_cpu.cpuid.abi0
xorps xmm15, xmm15
mov r14, qword [0x00625e30]
mov r14, qword gs:[r14]
mov r14, qword [r14]
cmp dword [rsp + 8], 0x80000001
nop
jae 0x403308
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 [0x00625e30]
mov r14, qword gs:[r14]
mov r14, qword [r14]
mov eax, dword [rsp + 0x14]
mov ebx, 0x8000000
call sym.internal_cpu.isSet
mov byte [0x0062638e], 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