Function at 0x140064290
Capabilities:
Inspect section memory permissions

Disassembly:
push rbp
push rbx
push rsi
push rdi
push r14
mov rbp, rsp
sub rsp, 0x50
xor eax, eax
mov rbx, rdx
cmp byte [rdx + 2], 1
mov rsi, r8
mov r14, r8
mov rdi, rcx
cmovne rbx, rax
cmp byte [r8 + 2], 1
cmovne rsi, rax
test rbx, rbx
je 0x140064365
mov r8d, dword [rbx + 4]
mov eax, r8d
shr eax, 0x1d
cmp eax, 2
jne 0x140064360
test rsi, rsi
je 0x140064381
mov r9d, dword [rsi + 4]
mov eax, r9d
and eax, 0xe0000000
cmp eax, 0x40000000
jne 0x140064381
and r9d, 0xfffffff
cmp word [rbx], 0x40
jne 0x140064337
mov rcx, qword [rcx + 0x68]
xor r8d, r8d
mov edx, r9d
call fcn.14005c570
mov r8d, dword [rsi + 4]
mov edx, dword [rbx + 4]
and r8d, 0xfffffff
mov rcx, qword [rdi + 0x68]
and edx, 0xfffffff
call fcn.14005c570
jmp 0x1400643f4
and r8d, 0xfffffff
cmp r8d, r9d
je 0x140064629
mov rcx, qword [rcx + 0x68]
mov edx, 0x87
call fcn.14005c9e0
add rsp, 0x50
pop r14
pop rdi
pop rsi
pop rbx
pop rbp
ret
cmp eax, 3
jne 0x140064381
test rsi, rsi
je 0x140064584
mov eax, dword [rsi + 4]
and eax, 0xe0000000
cmp eax, 0x60000000
je 0x140064584
test rbx, rbx
je 0x140064395
mov eax, dword [rbx + 4]
and eax, 0xe0000000
cmp eax, 0x60000000
jne 0x140064398
mov r14, rdx
test rbx, rbx
je 0x1400643ac
mov eax, dword [rbx + 4]
and eax, 0xe0000000
cmp eax, 0x40000000
je 0x1400643af
mov rbx, rsi
mov rcx, qword [rcx + 0x68]
lea rdx, [rbp + 0x38]
mov r9, r14
xor r8d, r8d
call fcn.140091620
movzx eax, word [rbx]
mov rsi, qword [rdi + 0x68]
cmp ax, 0x40
jne 0x140064415
mov rdx, qword [rbp + 0x38]
xor r8d, r8d
mov rcx, rsi
call fcn.14005aaa0
mov edx, dword [rbx + 4]
mov r8, qword [rbp + 0x38]
and edx, 0xfffffff
mov rcx, qword [rdi + 0x68]
call fcn.140061d90
mov r8d, dword [rbx + 4]
xor edx, edx
mov rcx, qword [rdi + 0x68]
and r8d, 0xfffffff
call fcn.14005c570
add rsp, 0x50
pop r14
pop rdi
pop rsi
pop rbx
pop rbp
ret
cmp ax, 0x20
jne 0x140064475
mov rdx, qword [rbp + 0x38]
mov r8d, 0xa
mov rcx, rsi
call fcn.140065870
mov edx, dword [rbx + 4]
mov r8, qword [rbp + 0x38]
and edx, 0xfffffff
mov rcx, qword [rdi + 0x68]
call fcn.140062f80
mov r9d, dword [rbx + 4]
and r9d, 0xfffffff
cmp r9d, 0xa
je 0x140064629
mov rcx, qword [rdi + 0x68]
mov edx, 0x89
lea r8d, [rdx - 0x7f]
call fcn.14005c9e0
add rsp, 0x50
pop r14
pop rdi
pop rsi
pop rbx
pop rbp
ret
mov r8d, dword [rsi + 0x24]
mov ecx, dword [rsi + 0x20]
mov qword [rsp + 0x48], r12
mov r12d, dword [rbp + 0x38]
mov qword [rsp + 0x40], r15
lea eax, [r8 + 0x10]
mov r15, qword [rbp + 0x38]
shr r15, 0x20
cmp eax, ecx
jle 0x1400644c1
mov eax, ecx
mov r8, rsi
cdq
sub eax, edx
sar eax, 1
add ecx, eax
mov dword [rsi + 0x20], ecx
movsxd rdx, ecx
mov rcx, rsi
call fcn.14003c9a0
mov rcx, qword [rsi]
mov qword [rsi + 0x18], rcx
mov r8d, dword [rsi + 0x24]
jmp 0x1400644c5
mov rcx, qword [rsi + 0x18]
movsxd rax, r8d
mov edx, r12d
sar edx, 3
mov r9d, r15d
or dl, 0x44
mov r8d, r12d
mov byte [rax + rcx], dl
mov rcx, rsi
movsxd rdx, dword [rsi + 0x24]
lea eax, [rdx + 1]
mov dword [rsi + 0x24], eax
mov rax, qword [rsi + 0x18]
mov byte [rax + rdx + 1], 0x8b
mov edx, 0xa
inc dword [rsi + 0x24]
call fcn.14005bad0
mov rax, qword [rbp + 0x38]
mov edx, 0x89
mov r9d, dword [rbp + 0x38]
mov r8d, dword [rbx + 4]
mov rcx, qword [rdi + 0x68]
and r8d, 0xfffffff
shr rax, 0x20
mov dword [rbp + 0x44], eax
mov dword [rbp + 0x40], r9d
mov rax, qword [rbp + 0x40]
shr rax, 0x20
mov dword [rsp + 0x20], eax
call fcn.14005cc10
movzx ecx, word [rbx]
mov r15, qword [rsp + 0x40]
mov r12, qword [rsp + 0x48]
cmp cx, word [r14]
je 0x140064443
mov eax, dword [rbp + 0x38]
mov edx, 0x32000
add dword [rbp + 0x3c], 4
mov dword [rbp + 0x40], eax
mov rax, qword [rbp + 0x38]
shr rax, 0x20
mov dword [rbp + 0x44], eax
cmp cx, 8
mov r8, qword [rbp + 0x40]
mov eax, 0x34000
mov rcx, qword [rdi + 0x68]
cmove edx, eax
call fcn.140061310
jmp 0x140064443
mov rcx, qword [rcx + 0x68]
mov r9, rdx
lea rdx, [rbp + 0x48]
mov r8d, 0xa
call fcn.140091620
mov rcx, qword [rdi + 0x68]
lea rdx, [rbp - 0x20]
mov r9, r14
xor r8d, r8d
call fcn.140091620
mov rax, qword [rbp + 0x48]
xor r8d, r8d
mov rbx, qword [rdi + 0x68]
mov dword [rbp + 0x40], eax
mov rcx, rbx
shr rax, 0x20
mov dword [rbp + 0x44], eax
mov rdx, qword [rbp + 0x40]
call fcn.14005adf0
mov rax, qword [rbp - 0x20]
mov r8d, 1
mov dword [rbp + 0x40], eax
mov rcx, rbx
shr rax, 0x20
mov dword [rbp + 0x44], eax
mov rdx, qword [rbp + 0x40]
call fcn.14005adf0
mov rax, qword [rbp + 0x48]
mov edx, 1
mov dword [rbp + 0x40], eax
mov rcx, rbx
shr rax, 0x20
mov dword [rbp + 0x44], eax
mov r8, qword [rbp + 0x40]
call fcn.1400620d0
mov rax, qword [rbp - 0x20]
xor edx, edx
mov dword [rbp + 0x40], eax
mov rcx, rbx
shr rax, 0x20
mov dword [rbp + 0x44], eax
mov r8, qword [rbp + 0x40]
call fcn.1400620d0
add rsp, 0x50
pop r14
pop rdi
pop rsi
pop rbx
pop rbp
ret