Function at 0x401620
Capabilities:
Inspect section memory permissions

Disassembly:
cmp rsp, qword [r14 + 0x10]
jbe 0x40206e
push rbp
mov rbp, rsp
sub rsp, 0x58
lea rax, [0x0046ec20]
call sym.runtime.newobject
mov qword [rax + 8], 3
lea rcx, [0x0047a153]
mov qword [rax], rcx
lea rcx, [0x0055da41]
mov qword [rax + 0x10], rcx
mov qword [rax + 0x28], 3
lea rcx, [0x0047a156]
mov qword [rax + 0x20], rcx
lea rcx, [0x0055da40]
mov qword [rax + 0x30], rcx
mov qword [rax + 0x48], 4
lea rcx, [0x0047a1aa]
mov qword [rax + 0x40], rcx
lea rcx, [0x0055da49]
mov qword [rax + 0x50], rcx
mov qword [rax + 0x68], 9
lea rcx, [0x0047a66f]
mov qword [rax + 0x60], rcx
lea rcx, [0x0055da4c]
mov qword [rax + 0x70], rcx
mov qword [rax + 0x88], 6
lea rcx, [0x0047a303]
mov qword [rax + 0x80], rcx
lea rcx, [0x0055da4e]
mov qword [rax + 0x90], rcx
mov qword [rax + 0xa8], 3
lea rcx, [0x0047a159]
mov qword [rax + 0xa0], rcx
lea rcx, [0x0055da4f]
mov qword [rax + 0xb0], rcx
mov qword [0x004d68b8], 6
mov qword [0x004d68c0], 6
cmp dword [0x0055d580], 0
je 0x401735
call sym.runtime.gcWriteBarrier2
mov qword [r11], rax
mov rcx, qword [0x004d68b0]
mov qword [r11 + 8], rcx
mov qword [0x004d68b0], rax
nop dword [rax]
call sym.internal_cpu.getGOAMD64level.abi0
xorps xmm15, xmm15
mov r14, qword [0x0055d570]
mov r14, qword gs:[r14]
mov r14, qword [r14]
mov eax, dword [rsp]
mov dword [rsp + 0x48], eax
nop
cmp eax, 2
jge 0x401972
mov rcx, qword [0x004d68c0]
mov rbx, qword [0x004d68b8]
add rbx, 5
mov rdx, qword [0x004d68b0]
cmp rcx, rbx
jae 0x4017cc
mov rax, rdx
mov edi, 5
lea rsi, [0x00475a60]
call sym.runtime.growslice
mov qword [0x004d68c0], rcx
cmp dword [0x0055d580], 0
je 0x4017be
call sym.runtime.gcWriteBarrier2
mov qword [r11], rax
mov rdx, qword [0x004d68b0]
mov qword [r11 + 8], rdx
mov qword [0x004d68b0], rax
mov rdx, rax
mov eax, dword [rsp + 0x48]
mov qword [0x004d68b8], 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 [0x0055d580], 0
je 0x401811
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, [0x0047a309]
mov qword [rdx + r8], r9
lea r9, [0x0055da4d]
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 [0x0055d580], 0
je 0x40185c
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, [0x0047a1ae]
mov qword [rdx + r8 + 0x20], r9
lea r9, [0x0055da50]
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 [0x0055d580], 0
je 0x4018a8
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, [0x0047a24a]
mov qword [rdx + r8 + 0x40], r9
lea r9, [0x0055da52]
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 [0x0055d580], 0
je 0x4018f4
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, [0x0047a24f]
mov qword [rdx + r8 + 0x60], r9
lea r9, [0x0055da53]
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 [0x0055d580], 0
je 0x401954
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, [0x0047a254]
mov qword [rdx + r8 + 0x80], r9
lea r9, [0x0055da51]
mov qword [rdx + r8 + 0x90], r9
cmp eax, 3
jge 0x401b82
mov rcx, qword [0x004d68c0]
mov rbx, qword [0x004d68b8]
add rbx, 5
mov rdx, qword [0x004d68b0]
cmp rcx, rbx
jae 0x4019e1
mov rax, rdx
mov edi, 5
lea rsi, [0x00475a60]
call sym.runtime.growslice
mov qword [0x004d68c0], rcx
cmp dword [0x0055d580], 0
je 0x4019d3
nop dword [rax]
call sym.runtime.gcWriteBarrier2
mov qword [r11], rax
mov rdx, qword [0x004d68b0]
mov qword [r11 + 8], rdx
mov qword [0x004d68b0], rax
mov rdx, rax
mov eax, dword [rsp + 0x48]
mov qword [0x004d68b8], 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 [0x0055d580], 0
je 0x401a23
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, [0x0047a15c]
mov qword [rdx + r8], r9
lea r9, [0x0055da42]
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 [0x0055d580], 0
je 0x401a71
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, [0x0047a1b2]
mov qword [rdx + r8 + 0x20], r9
lea r9, [0x0055da43]
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 [0x0055d580], 0
je 0x401abd
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, [0x0047a1b6]
mov qword [rdx + r8 + 0x40], r9
lea r9, [0x0055da47]
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 [0x0055d580], 0
je 0x401b09
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, [0x0047a1ba]
mov qword [rdx + r8 + 0x60], r9
lea r9, [0x0055da48]
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 [0x0055d580], 0
je 0x401b64
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, [0x0047a15f]
mov qword [rdx + r8 + 0x80], r9
lea r9, [0x0055da4a]
mov qword [rdx + r8 + 0x90], r9
cmp eax, 4
jge 0x401cd3
mov rcx, qword [0x004d68c0]
mov rbx, qword [0x004d68b8]
add rbx, 3
mov rax, qword [0x004d68b0]
cmp rcx, rbx
jae 0x401be4
mov edi, 3
lea rsi, [0x00475a60]
call sym.runtime.growslice
mov qword [0x004d68c0], rcx
cmp dword [0x0055d580], 0
je 0x401bdd
call sym.runtime.gcWriteBarrier2
mov qword [r11], rax
mov rcx, qword [0x004d68b0]
mov qword [r11 + 8], rcx
mov qword [0x004d68b0], rax
mov qword [0x004d68b8], 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 [0x0055d580], 0
je 0x401c24
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, [0x0047a3c3]
mov qword [rax + rcx], rdx
lea rdx, [0x0055da44]
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 [0x0055d580], 0
je 0x401c71
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, [0x0047a4bf]
mov qword [rax + rcx + 0x20], rdx
lea rdx, [0x0055da45]
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 [0x0055d580], 0
je 0x401cbb
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, [0x0047a4c7]
mov qword [rax + rcx + 0x40], rdx
lea rdx, [0x0055da46]
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 [0x0055d570]
mov r14, qword gs:[r14]
mov r14, qword [r14]
mov eax, dword [rsp + 8]
nop dword [rax + rax]
test eax, eax
je 0x402068
mov dword [rsp + 0x44], eax
mov eax, 0x80000000
mov qword [rsp], rax
call sym.internal_cpu.cpuid.abi0
xorps xmm15, xmm15
mov r14, qword [0x0055d570]
mov r14, qword gs:[r14]
mov r14, qword [r14]
mov eax, dword [rsp + 8]
mov dword [0x0055d3a0], eax
mov qword [rsp], 1
nop
call sym.internal_cpu.cpuid.abi0
xorps xmm15, xmm15
mov r14, qword [0x0055d570]
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 [0x0055da50], al
mov eax, dword [rsp + 0x4c]
mov ebx, 2
call sym.internal_cpu.isSet
mov byte [0x0055da4c], al
mov eax, dword [rsp + 0x4c]
mov ebx, 0x200
call sym.internal_cpu.isSet
mov byte [0x0055da51], al
mov eax, dword [rsp + 0x4c]
mov ebx, 0x80000
call sym.internal_cpu.isSet
mov byte [0x0055da52], al
mov eax, dword [rsp + 0x4c]
mov ebx, 0x100000
call sym.internal_cpu.isSet
mov byte [0x0055da53], al
mov eax, dword [rsp + 0x4c]
mov ebx, 0x800000
call sym.internal_cpu.isSet
mov byte [0x0055da4d], al
mov eax, dword [rsp + 0x4c]
mov ebx, 0x2000000
nop dword [rax]
call sym.internal_cpu.isSet
mov byte [0x0055da40], al
mov eax, dword [rsp + 0x4c]
mov ebx, 0x8000000
call sym.internal_cpu.isSet
mov byte [0x0055da4b], al
mov eax, dword [rsp + 0x4c]
mov ebx, 0x1000
call sym.internal_cpu.isSet
test al, al
je 0x401e1a
movzx ecx, byte [0x0055da4b]
jmp 0x401e1c
xor ecx, ecx
mov byte [0x0055da4a], cl
cmp byte [0x0055da4b], 0
jne 0x401e34
xor eax, eax
xor ecx, ecx
jmp 0x401ecf
call sym.internal_cpu.xgetbv.abi0
xorps xmm15, xmm15
mov r14, qword [0x0055d570]
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 0x401e68
xor eax, eax
jmp 0x401e76
mov eax, dword [rsp + 0x54]
mov ebx, 4
call sym.internal_cpu.isSet
mov byte [rsp + 0x43], al
test al, al
jne 0x401e82
xor ecx, ecx
jmp 0x401e97
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 0x401e9f
xor ecx, ecx
jmp 0x401ecf
mov eax, dword [rsp + 0x54]
mov ebx, 0x40
call sym.internal_cpu.isSet
test al, al
jne 0x401eba
movzx eax, byte [rsp + 0x43]
xor ecx, ecx
jmp 0x401ecf
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 [0x0055da42], al
mov edx, dword [rsp + 0x44]
cmp edx, 7
jb 0x402062
mov qword [rsp], 7
call sym.internal_cpu.cpuid.abi0
xorps xmm15, xmm15
mov r14, qword [0x0055d570]
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 [0x0055da47], 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 [0x0055da43], cl
mov eax, dword [rsp + 0x50]
mov ebx, 0x100
nop dword [rax + rax]
call sym.internal_cpu.isSet
mov byte [0x0055da48], al
mov eax, dword [rsp + 0x50]
mov ebx, 0x200
call sym.internal_cpu.isSet
mov byte [0x0055da49], al
mov eax, dword [rsp + 0x50]
mov ebx, 0x80000
call sym.internal_cpu.isSet
mov byte [0x0055da41], al
mov eax, dword [rsp + 0x50]
mov ebx, 0x20000000
nop dword [rax]
call sym.internal_cpu.isSet
mov byte [0x0055da4f], al
mov eax, dword [rsp + 0x50]
mov ebx, 0x10000
call sym.internal_cpu.isSet
movzx ecx, byte [rsp + 0x42]
and ecx, eax
mov byte [0x0055da44], cl
test cl, cl
je 0x401ff2
mov eax, dword [rsp + 0x50]
mov ebx, 0x40000000
call sym.internal_cpu.isSet
mov byte [0x0055da45], al
mov eax, dword [rsp + 0x50]
mov ebx, 0x80000000
call sym.internal_cpu.isSet
mov byte [0x0055da46], al
mov eax, 0x80000000
mov qword [rsp], rax
nop dword [rax + rax]
call sym.internal_cpu.cpuid.abi0
xorps xmm15, xmm15
mov r14, qword [0x0055d570]
mov r14, qword gs:[r14]
mov r14, qword [r14]
cmp dword [rsp + 8], 0x80000001
nop
jae 0x402028
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 [0x0055d570]
mov r14, qword gs:[r14]
mov r14, qword [r14]
mov eax, dword [rsp + 0x14]
mov ebx, 0x8000000
call sym.internal_cpu.isSet
mov byte [0x0055da4e], 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