Function at 0x18000a380
Capabilities:
Inspect section memory permissions

Disassembly:
push rbx
push rdi
sub rsp, 0x58
mov ebx, dword [rcx]
mov rdi, rcx
mov eax, ebx
and eax, 0xc00000
cmp eax, 0xc00000
je 0x18000a881
nop
test ebx, ebx
js 0x18000a3ae
bt ebx, 0xf
jb 0x18000a881
mov qword [rsp + 0x70], rbp
mov ebp, 0x40000000
mov qword [rsp + 0x78], rsi
mov esi, ebx
sar esi, 0x1f
and esi, 0x20
mov qword [rsp + 0x80], r14
add esi, 0x20
mov qword [rsp + 0x50], r15
test byte [rcx + 0xdb8], 1
lea r14, [0x180000000]
mov r15d, 0x20000000
je 0x18000a705
test ebp, ebx
jne 0x18000a47f
mov eax, ebx
and eax, 0x1f
cmp al, 0x1f
sete cl
bt ebx, 0x1d
setb al
test al, cl
je 0x18000a4fe
mov rax, rbx
mov r8, rbx
shr rax, 0x16
mov rcx, rbx
and eax, 3
shr rcx, 0x10
shr r8, 0x1f
and ecx, 0x1f
shl r8, 5
mov r10, rbx
shr r10, 5
add rcx, r8
mov rax, qword [r14 + rax*8 + 0x120fe0]
mov edx, ebx
shr edx, 0xa
and r10d, 0x1f
and edx, 0x3f
mov dword [rsp + 0x40], edx
add r10, r8
mov qword [rsp + 0x38], rax
mov rax, qword [r14 + rcx*8 + 0x120b80]
mov qword [rsp + 0x30], rax
mov rax, qword [r14 + r10*8 + 0x120b80]
mov qword [rsp + 0x28], rax
lea rax, [0x180131004]
jmp 0x18000a621
nop
test r15d, ebx
jne 0x18000a4fe
mov eax, ebx
and eax, 0x3e0
cmp eax, 0x3e0
jne 0x18000a4fe
mov r9, rbx
mov rax, rbx
shr rax, 0x16
mov r8, rbx
and eax, 3
shr r8, 0x1f
shl r8, 5
mov rcx, rbx
shr rcx, 0x10
mov edx, ebx
and ecx, 0x1f
shr edx, 0xa
mov rax, qword [r14 + rax*8 + 0x120fe0]
add rcx, r8
and edx, 0x3f
and r9d, 0x1f
mov dword [rsp + 0x40], edx
add r9, r8
mov qword [rsp + 0x38], rax
mov rax, qword [r14 + rcx*8 + 0x120b80]
mov qword [rsp + 0x30], rax
mov rax, qword [r14 + r9*8 + 0x120b80]
mov qword [rsp + 0x28], rax
lea rax, [0x18012cdcc]
jmp 0x18000a621
mov edx, ebx
and edx, 0x1f
cmp edx, 0x1f
sete cl
bt ebx, 0x1e
setb al
and cl, al
bt ebx, 0x1d
setb al
test al, cl
je 0x18000a58c
mov rax, rbx
mov r8, rbx
shr rax, 0x16
mov rcx, rbx
and eax, 3
shr rcx, 0x10
shr r8, 0x1f
and ecx, 0x1f
shl r8, 5
mov r9, rbx
shr r9, 5
add rcx, r8
mov rax, qword [r14 + rax*8 + 0x120fe0]
mov edx, ebx
shr edx, 0xa
and r9d, 0x1f
and edx, 0x3f
mov dword [rsp + 0x40], edx
add r9, r8
mov qword [rsp + 0x38], rax
mov rax, qword [r14 + rcx*8 + 0x120b80]
mov qword [rsp + 0x30], rax
mov rax, qword [r14 + r9*8 + 0x120b80]
mov qword [rsp + 0x28], rax
lea rax, [0x18012bfb0]
jmp 0x18000a621
mov eax, ebx
and eax, 0x60000000
cmp eax, 0x60000000
jne 0x18000a645
nop
cmp edx, 0x1f
je 0x18000a645
mov eax, ebx
and eax, 0x3e0
cmp eax, 0x3e0
jne 0x18000a645
mov r9, rbx
mov rax, rbx
shr rax, 0x16
mov r8, rbx
and eax, 3
shr r8, 0x1f
shl r8, 5
mov rcx, rbx
shr rcx, 0x10
mov edx, ebx
and ecx, 0x1f
shr edx, 0xa
mov rax, qword [r14 + rax*8 + 0x120fe0]
add rcx, r8
and edx, 0x3f
and r9d, 0x1f
mov dword [rsp + 0x40], edx
add r9, r8
mov qword [rsp + 0x38], rax
mov rax, qword [r14 + rcx*8 + 0x120b80]
mov qword [rsp + 0x30], rax
mov rax, qword [r14 + r9*8 + 0x120b80]
mov qword [rsp + 0x28], rax
lea rax, str.NEGS
mov r8, qword [rdi + 0x110]
lea rdx, str.PC:_0x_016llx___08x____10s__s___s___s__d_n
mov r9d, ebx
mov qword [rsp + 0x20], rax
mov rcx, rdi
call fcn.180007bf0
nop
jmp 0x18000a705
mov rdx, rbx
mov rax, rbx
shr rax, 0x1f
and edx, 0x1f
shl rax, 5
mov r9, rbx
add rdx, rax
shr r9, 0x10
and r9d, 0x1f
mov r8, rbx
add r9, rax
shr r8, 5
and r8d, 0x1f
mov rcx, rbx
add r8, rax
shr rcx, 0x1d
and ecx, 1
mov rax, rbx
shr rax, 0x1e
mov r10, rbx
and eax, 1
shr r10, 0x16
and r10d, 3
mov r11d, ebx
shr r11d, 0xa
and r11d, 0x3f
lea rcx, [rcx + rax*2]
mov dword [rsp + 0x48], r11d
mov rax, qword [r14 + r10*8 + 0x120fe0]
mov qword [rsp + 0x40], rax
mov rax, qword [r14 + r9*8 + 0x120b80]
mov r9d, ebx
mov qword [rsp + 0x38], rax
mov rax, qword [r14 + r8*8 + 0x120b80]
mov r8, qword [rdi + 0x110]
mov qword [rsp + 0x30], rax
mov rax, qword [r14 + rdx*8 + 0x120b80]
lea rdx, str.PC:_0x_016llx___08x____10s__s___s___s___s__d_n
mov qword [rsp + 0x28], rax
mov rax, qword [r14 + rcx*8 + 0x120100]
mov rcx, rdi
mov qword [rsp + 0x20], rax
call fcn.180007bf0
mov r8d, dword [rdi]
mov eax, r8d
shr eax, 5
and eax, 0x1f
cmp eax, 0x1f
jb 0x18000a71f
lea rax, [rdi + 0x100]
jmp 0x18000a726
inc rax
lea rax, [rdi + rax*8]
mov rax, qword [rax]
lea rcx, [rdi + 0x100]
mov ebx, eax
cmp esi, 0x20
cmovne rbx, rax
mov eax, r8d
shr eax, 0x10
and eax, 0x1f
cmp eax, 0x1f
jae 0x18000a750
mov ecx, eax
inc rcx
lea rcx, [rdi + rcx*8]
mov rax, qword [rcx]
mov r9d, r8d
shr r9d, 0xa
mov edx, esi
shr r8d, 0x16
and r9d, 0x3f
and r8d, 3
mov ecx, eax
cmp esi, 0x20
cmovne rcx, rax
call fcn.1800080e0
mov r10d, dword ds:[rdi]
mov r8, rax
mov eax, r10d
and eax, ebp
je 0x18000a787
not r8
xor edx, edx
lea ecx, [rsi - 1]
test eax, eax
setne dl
add rdx, r8
add rdx, rbx
cmp esi, 0x40
ja 0x18000a7a6
mov r9, qword [r14 + rcx*8 + 0x95180]
jmp 0x18000a7a9
xor r9d, r9d
mov r14, qword ss:[rsp + 0x80]
and rdx, r9
mov r9, rdx
shr r9, cl
and r9d, 1
cmp rdx, rbx
jb 0x18000a7ce
jne 0x18000a7cc
test r8, r8
jne 0x18000a7ce
xor ebp, ebp
shr rbx, cl
shr r8, cl
and ebx, 1
and r8d, 1
cmp rbx, r8
jne 0x18000a7f1
cmp rbx, r9
je 0x18000a7f1
mov ecx, 0x80000000
jmp 0x18000a7f3
xor ecx, ecx
test r15d, r10d
je 0x18000a82f
and dword [rdi + 0x118], 0xfffffff
xor eax, eax
test rdx, rdx
cmove eax, r15d
and r9d, 1
or eax, dword [rdi + 0x118]
and eax, 0x3fffffff
shl r9d, 0x1c
or eax, ebp
btr eax, 0x1f
or eax, r9d
or eax, ecx
mov dword [rdi + 0x118], eax
mov r15, qword [rsp + 0x50]
and r10d, 0x1f
mov rbp, qword [rsp + 0x70]
cmp esi, 0x20
mov rsi, qword [rsp + 0x78]
jne 0x18000a849
mov edx, edx
cmp r10d, 0x1f
jb 0x18000a858
lea rax, [rdi + 0x100]
jmp 0x18000a862
mov eax, r10d
inc rax
lea rax, [rdi + rax*8]
mov qword [rax], rdx
add qword [rdi + 0x110], 4
xor eax, eax
mov qword [rdi + 0x100], 0
add rsp, 0x58
pop rdi
pop rbx
ret
mov eax, 0xc
add rsp, 0x58
pop rdi
pop rbx
ret