Function at 0x412874
Capabilities:
Inspect section memory permissions

Disassembly:
push rbp
mov rbp, rsp
sub rsp, 0x40
mov dword [rbp + 0x10], ecx
mov qword [rbp + 0x18], rdx
mov qword [rbp + 0x20], r8
mov dword [rbp - 4], 0
mov dword [rbp - 8], 0
mov eax, dword [rbp + 0x10]
and eax, 0xf0
mov dword [rbp - 0xc], eax
mov eax, dword [rbp + 0x10]
and eax, 0xf0000000
mov dword [rbp - 0x10], eax
mov eax, dword [rbp + 0x10]
and eax, 0xfffff00
mov dword [rbp - 0x14], eax
mov eax, dword [rbp + 0x10]
and eax, 0xf
mov dword [rbp - 0x18], eax
mov rdx, qword [rbp + 0x20]
mov rax, qword [rbp + 0x18]
mov r8, rdx
mov edx, 0
mov rcx, rax
call sub.msvcrt.dll_memset
mov eax, dword [rbp - 0xc]
cmp eax, 0x20
je 0x4128fe
cmp eax, 0x20
ja 0x4128ef
test eax, eax
je 0x4128fe
cmp eax, 0x10
je 0x4128fe
jmp 0x412945
cmp eax, 0x40
je 0x4128fe
cmp eax, 0x50
je 0x4128fe
cmp eax, 0x30
jne 0x412945
mov eax, dword [rbp - 0xc]
shr eax, 4
mov eax, eax
lea rdx, [rax*8]
lea rax, str.ABI_v0
mov rcx, qword [rdx + rax]
mov eax, dword [rbp - 8]
mov rdx, qword [rbp + 0x20]
sub rdx, rax
mov r8d, dword [rbp - 8]
mov rax, qword [rbp + 0x18]
add rax, r8
mov r9, rcx
lea r8, [0x0048727c]
mov rcx, rax
call fcn.00401560
add dword [rbp - 8], eax
jmp 0x41296c
mov eax, dword [rbp - 8]
mov rdx, qword [rbp + 0x20]
sub rdx, rax
mov ecx, dword [rbp - 8]
mov rax, qword [rbp + 0x18]
add rax, rcx
lea r8, str.___unrecognized_ABI_
mov rcx, rax
call fcn.00401560
add dword [rbp - 8], eax
nop
mov eax, dword [rbp - 0x18]
cmp eax, 2
ja 0x4129b6
mov eax, dword [rbp - 0x18]
lea rdx, [rax*8]
lea rax, str.Andes_ELF_V1.3_or_older
mov rcx, qword [rdx + rax]
mov eax, dword [rbp - 8]
mov rdx, qword [rbp + 0x20]
sub rdx, rax
mov r8d, dword [rbp - 8]
mov rax, qword [rbp + 0x18]
add rax, r8
mov r9, rcx
lea r8, [0x0048727c]
mov rcx, rax
call fcn.00401560
add dword [rbp - 8], eax
jmp 0x4129dd
mov eax, dword [rbp - 8]
mov rdx, qword [rbp + 0x20]
sub rdx, rax
mov ecx, dword [rbp - 8]
mov rax, qword [rbp + 0x18]
add rax, rcx
lea r8, str.___unrecognized_ELF_version_number_
mov rcx, rax
call fcn.00401560
add dword [rbp - 8], eax
nop
cmp dword [rbp - 0xc], 0
jne 0x412a41
mov eax, dword [rbp - 8]
mov rdx, qword [rbp + 0x20]
sub rdx, rax
mov ecx, dword [rbp - 8]
mov rax, qword [rbp + 0x18]
add rax, rcx
lea r8, str.__Andes_Star_v1.0__N1213HC__MAC__PERF1
mov rcx, rax
call fcn.00401560
add dword [rbp - 8], eax
cmp dword [rbp - 0x10], 0x10000000
jne 0x413014
mov eax, dword [rbp - 8]
mov rdx, qword [rbp + 0x20]
sub rdx, rax
mov ecx, dword [rbp - 8]
mov rax, qword [rbp + 0x18]
add rax, rcx
lea r8, str.__16b
mov rcx, rax
call fcn.00401560
add dword [rbp - 8], eax
jmp 0x413014
mov eax, dword [rbp - 0x10]
cmp eax, 0x20000000
je 0x412a69
cmp eax, 0x20000000
ja 0x412a5b
cmp eax, 0x10000000
je 0x412a69
jmp 0x412abe
cmp eax, 0x30000000
je 0x412a69
cmp eax, 0x40000000
jne 0x412abe
mov eax, dword [rbp - 0x10]
shr eax, 0x1c
mov eax, eax
lea rdx, [rax*8]
lea rax, [0x0046d020]
mov rcx, qword [rdx + rax]
mov eax, dword [rbp - 8]
mov rdx, qword [rbp + 0x20]
sub rdx, rax
mov r8d, dword [rbp - 8]
mov rax, qword [rbp + 0x18]
add rax, r8
mov r9, rcx
lea r8, [0x0048727c]
mov rcx, rax
call fcn.00401560
add dword [rbp - 8], eax
nop
cmp dword [rbp - 0x10], 0x10000000
jne 0x412bba
jmp 0x412ae9
mov eax, dword [rbp - 8]
mov rdx, qword [rbp + 0x20]
sub rdx, rax
mov ecx, dword [rbp - 8]
mov rax, qword [rbp + 0x18]
add rax, rcx
lea r8, str.___unrecognized_architecture_
mov rcx, rax
call fcn.00401560
add dword [rbp - 8], eax
jmp 0x413015
mov eax, dword [rbp - 0x14]
and eax, 0x100
test eax, eax
je 0x412b1b
mov eax, dword [rbp - 8]
mov rdx, qword [rbp + 0x20]
sub rdx, rax
mov ecx, dword [rbp - 8]
mov rax, qword [rbp + 0x18]
add rax, rcx
lea r8, str.__MFUSR_PC
mov rcx, rax
call fcn.00401560
add dword [rbp - 8], eax
mov eax, dword [rbp - 0x14]
and eax, 0x100000
test eax, eax
jne 0x412b4d
mov eax, dword [rbp - 8]
mov rdx, qword [rbp + 0x20]
sub rdx, rax
mov ecx, dword [rbp - 8]
mov rax, qword [rbp + 0x18]
add rax, rcx
lea r8, str.__MAC
mov rcx, rax
call fcn.00401560
add dword [rbp - 8], eax
mov eax, dword [rbp - 0x14]
and eax, 0x2000
test eax, eax
je 0x412b7f
mov eax, dword [rbp - 8]
mov rdx, qword [rbp + 0x20]
sub rdx, rax
mov ecx, dword [rbp - 8]
mov rax, qword [rbp + 0x18]
add rax, rcx
lea r8, str.__DIV
mov rcx, rax
call fcn.00401560
add dword [rbp - 8], eax
mov eax, dword [rbp - 0x14]
and eax, 0x4000
test eax, eax
je 0x412cde
mov eax, dword [rbp - 8]
mov rdx, qword [rbp + 0x20]
sub rdx, rax
mov ecx, dword [rbp - 8]
mov rax, qword [rbp + 0x18]
add rax, rcx
lea r8, str.__16b
mov rcx, rax
call fcn.00401560
add dword [rbp - 8], eax
jmp 0x412cde
mov eax, dword [rbp - 0x14]
and eax, 0x100
test eax, eax
je 0x412c1a
cmp dword [rbp - 0x18], 1
ja 0x412bf4
mov eax, dword [rbp - 8]
mov rdx, qword [rbp + 0x20]
sub rdx, rax
mov ecx, dword [rbp - 8]
mov rax, qword [rbp + 0x18]
add rax, rcx
lea r8, str.___B8_
mov rcx, rax
call fcn.00401560
add dword [rbp - 8], eax
jmp 0x412c1a
mov eax, dword [rbp - 8]
mov rdx, qword [rbp + 0x20]
sub rdx, rax
mov ecx, dword [rbp - 8]
mov rax, qword [rbp + 0x18]
add rax, rcx
lea r8, str.__EX9
mov rcx, rax
call fcn.00401560
add dword [rbp - 8], eax
mov eax, dword [rbp - 0x14]
and eax, 0x100000
test eax, eax
je 0x412c4c
mov eax, dword [rbp - 8]
mov rdx, qword [rbp + 0x20]
sub rdx, rax
mov ecx, dword [rbp - 8]
mov rax, qword [rbp + 0x18]
add rax, rcx
lea r8, str.__MAC_DX
mov rcx, rax
call fcn.00401560
add dword [rbp - 8], eax
mov eax, dword [rbp - 0x14]
and eax, 0x2000
test eax, eax
je 0x412c7e
mov eax, dword [rbp - 8]
mov rdx, qword [rbp + 0x20]
sub rdx, rax
mov ecx, dword [rbp - 8]
mov rax, qword [rbp + 0x18]
add rax, rcx
lea r8, str.__DIV_DX
mov rcx, rax
call fcn.00401560
add dword [rbp - 8], eax
mov eax, dword [rbp - 0x14]
and eax, 0x4000
test eax, eax
je 0x412cde
cmp dword [rbp - 0x18], 1
ja 0x412cb8
mov eax, dword [rbp - 8]
mov rdx, qword [rbp + 0x20]
sub rdx, rax
mov ecx, dword [rbp - 8]
mov rax, qword [rbp + 0x18]
add rax, rcx
lea r8, str.__16b
mov rcx, rax
call fcn.00401560
add dword [rbp - 8], eax
jmp 0x412cde
mov eax, dword [rbp - 8]
mov rdx, qword [rbp + 0x20]
sub rdx, rax
mov ecx, dword [rbp - 8]
mov rax, qword [rbp + 0x18]
add rax, rcx
lea r8, str.__IFC
mov rcx, rax
call fcn.00401560
add dword [rbp - 8], eax
mov eax, dword [rbp - 0x14]
and eax, 0x200
test eax, eax
je 0x412d10
mov eax, dword [rbp - 8]
mov rdx, qword [rbp + 0x20]
sub rdx, rax
mov ecx, dword [rbp - 8]
mov rax, qword [rbp + 0x18]
add rax, rcx
lea r8, str.__PERF1
mov rcx, rax
call fcn.00401560
add dword [rbp - 8], eax
mov eax, dword [rbp - 0x14]
and eax, 0x400
test eax, eax
je 0x412d42
mov eax, dword [rbp - 8]
mov rdx, qword [rbp + 0x20]
sub rdx, rax
mov ecx, dword [rbp - 8]
mov rax, qword [rbp + 0x18]
add rax, rcx
lea r8, str.__PERF2
mov rcx, rax
call fcn.00401560
add dword [rbp - 8], eax
mov eax, dword [rbp - 0x14]
and eax, 0x800
test eax, eax
je 0x412d7b
mov dword [rbp - 4], 1
mov eax, dword [rbp - 8]
mov rdx, qword [rbp + 0x20]
sub rdx, rax
mov ecx, dword [rbp - 8]
mov rax, qword [rbp + 0x18]
add rax, rcx
lea r8, str.__FPU_SP
mov rcx, rax
call fcn.00401560
add dword [rbp - 8], eax
mov eax, dword [rbp - 0x14]
and eax, 0x80000
test eax, eax
je 0x412db4
mov dword [rbp - 4], 1
mov eax, dword [rbp - 8]
mov rdx, qword [rbp + 0x20]
sub rdx, rax
mov ecx, dword [rbp - 8]
mov rax, qword [rbp + 0x18]
add rax, rcx
lea r8, str.__FPU_DP
mov rcx, rax
call fcn.00401560
add dword [rbp - 8], eax
mov eax, dword [rbp - 0x14]
and eax, 0x1000000
test eax, eax
je 0x412ded
mov dword [rbp - 4], 1
mov eax, dword [rbp - 8]
mov rdx, qword [rbp + 0x20]
sub rdx, rax
mov ecx, dword [rbp - 8]
mov rax, qword [rbp + 0x18]
add rax, rcx
lea r8, str.__FPU_MAC
mov rcx, rax
call fcn.00401560
add dword [rbp - 8], eax
cmp dword [rbp - 4], 0
je 0x412eb8
mov eax, dword [rbp - 0x14]
shr eax, 0x16
and eax, 3
cmp eax, 1
je 0x412e41
cmp eax, 1
jb 0x412e19
cmp eax, 2
je 0x412e69
cmp eax, 3
je 0x412e91
jmp 0x412eb8
mov eax, dword [rbp - 8]
mov rdx, qword [rbp + 0x20]
sub rdx, rax
mov ecx, dword [rbp - 8]
mov rax, qword [rbp + 0x18]
add rax, rcx
lea r8, str.__FPU_REG:8_4
mov rcx, rax
call fcn.00401560
add dword [rbp - 8], eax
jmp 0x412eb8
mov eax, dword [rbp - 8]
mov rdx, qword [rbp + 0x20]
sub rdx, rax
mov ecx, dword [rbp - 8]
mov rax, qword [rbp + 0x18]
add rax, rcx
lea r8, str.__FPU_REG:16_8
mov rcx, rax
call fcn.00401560
add dword [rbp - 8], eax
jmp 0x412eb8
mov eax, dword [rbp - 8]
mov rdx, qword [rbp + 0x20]
sub rdx, rax
mov ecx, dword [rbp - 8]
mov rax, qword [rbp + 0x18]
add rax, rcx
lea r8, str.__FPU_REG:32_16
mov rcx, rax
call fcn.00401560
add dword [rbp - 8], eax
jmp 0x412eb8
mov eax, dword [rbp - 8]
mov rdx, qword [rbp + 0x20]
sub rdx, rax
mov ecx, dword [rbp - 8]
mov rax, qword [rbp + 0x18]
add rax, rcx
lea r8, str.__FPU_REG:32_32
mov rcx, rax
call fcn.00401560
add dword [rbp - 8], eax
nop
mov eax, dword [rbp - 0x14]
and eax, 0x1000
test eax, eax
je 0x412eea
mov eax, dword [rbp - 8]
mov rdx, qword [rbp + 0x20]
sub rdx, rax
mov ecx, dword [rbp - 8]
mov rax, qword [rbp + 0x18]
add rax, rcx
lea r8, str.__AUDIO
mov rcx, rax
call fcn.00401560
add dword [rbp - 8], eax
mov eax, dword [rbp - 0x14]
and eax, 0x8000
test eax, eax
je 0x412f1c
mov eax, dword [rbp - 8]
mov rdx, qword [rbp + 0x20]
sub rdx, rax
mov ecx, dword [rbp - 8]
mov rax, qword [rbp + 0x18]
add rax, rcx
lea r8, str.__STR
mov rcx, rax
call fcn.00401560
add dword [rbp - 8], eax
mov eax, dword [rbp - 0x14]
and eax, 0x10000
test eax, eax
je 0x412f4e
mov eax, dword [rbp - 8]
mov rdx, qword [rbp + 0x20]
sub rdx, rax
mov ecx, dword [rbp - 8]
mov rax, qword [rbp + 0x18]
add rax, rcx
lea r8, str.__16REG
mov rcx, rax
call fcn.00401560
add dword [rbp - 8], eax
mov eax, dword [rbp - 0x14]
and eax, 0x20000
test eax, eax
je 0x412fae
cmp dword [rbp - 0x18], 1
ja 0x412f88
mov eax, dword [rbp - 8]
mov rdx, qword [rbp + 0x20]
sub rdx, rax
mov ecx, dword [rbp - 8]
mov rax, qword [rbp + 0x18]
add rax, rcx
lea r8, str.__VIDEO
mov rcx, rax
call fcn.00401560
add dword [rbp - 8], eax
jmp 0x412fae
mov eax, dword [rbp - 8]
mov rdx, qword [rbp + 0x20]
sub rdx, rax
mov ecx, dword [rbp - 8]
mov rax, qword [rbp + 0x18]
add rax, rcx
lea r8, str.__SATURATION
mov rcx, rax
call fcn.00401560
add dword [rbp - 8], eax
mov eax, dword [rbp - 0x14]
and eax, 0x40000
test eax, eax
je 0x412fe0
mov eax, dword [rbp - 8]
mov rdx, qword [rbp + 0x20]
sub rdx, rax
mov ecx, dword [rbp - 8]
mov rax, qword [rbp + 0x18]
add rax, rcx
lea r8, str.__ENCRP
mov rcx, rax
call fcn.00401560
add dword [rbp - 8], eax
mov eax, dword [rbp - 0x14]
and eax, 0x200000
test eax, eax
je 0x413015
mov eax, dword [rbp - 8]
mov rdx, qword [rbp + 0x20]
sub rdx, rax
mov ecx, dword [rbp - 8]
mov rax, qword [rbp + 0x18]
add rax, rcx
lea r8, str.__L2C
mov rcx, rax
call fcn.00401560
add dword [rbp - 8], eax
jmp 0x413015
nop
add rsp, 0x40
pop rbp
ret