Function at 0x21b839038d0
Capabilities:
Inspect section memory permissions

Disassembly:
push rbp
sub rsp, 0x90
lea rbp, [rsp + 0x80]
mov qword [rbp], rdx
mov qword [rbp - 8], rcx
mov rcx, qword [rbp - 8]
call fcn.21b8390e420
movzx eax, word [rax]
cmp eax, 0x8664
sete al
and al, 1
mov byte [rbp - 9], al
test byte [rbp - 9], 1
je 0x21b83903916
mov rcx, qword [rbp - 8]
call fcn.21b83908c20
mov qword [rbp - 0x40], rax
jmp 0x21b83903923
mov rcx, qword [rbp - 8]
call fcn.21b83908dc0
mov qword [rbp - 0x40], rax
mov rax, qword [rbp - 0x40]
mov qword [rbp - 0x18], rax
test byte [rbp - 9], 1
je 0x21b83903944
mov rcx, qword [rbp - 8]
call fcn.21b8390e3c0
mov ax, word [rax + 2]
mov word [rbp - 0x42], ax
jmp 0x21b83903955
mov rcx, qword [rbp - 8]
call fcn.21b839008c0
mov ax, word [rax + 2]
mov word [rbp - 0x42], ax
mov ax, word [rbp - 0x42]
mov word [rbp - 0x1a], ax
mov dword [rbp - 0x20], 0
mov ecx, dword [rbp - 0x20]
movzx edx, word [rbp - 0x1a]
call fcn.21b83901070
test eax, 1
je 0x21b83903b3d
mov dword [rbp - 0x24], 0
mov rax, qword [rbp - 0x18]
movsxd rcx, dword [rbp - 0x20]
imul rcx, rcx, 0x28
add rax, rcx
mov eax, dword [rax + 0x10]
mov rcx, qword [rbp - 0x18]
movsxd rdx, dword [rbp - 0x20]
imul rdx, rdx, 0x28
add rcx, rdx
cmp eax, dword [rcx + 8]
jbe 0x21b839039bf
mov rax, qword [rbp - 0x18]
movsxd rcx, dword [rbp - 0x20]
imul rcx, rcx, 0x28
add rax, rcx
mov eax, dword [rax + 8]
mov dword [rbp - 0x48], eax
jmp 0x21b839039d4
mov rax, qword [rbp - 0x18]
movsxd rcx, dword [rbp - 0x20]
imul rcx, rcx, 0x28
add rax, rcx
mov eax, dword [rax + 0x10]
mov dword [rbp - 0x48], eax
mov eax, dword [rbp - 0x48]
mov dword [rbp - 0x28], eax
mov rax, qword [rbp - 8]
mov rcx, qword [rbp - 0x18]
movsxd rdx, dword [rbp - 0x20]
imul rdx, rdx, 0x28
add rcx, rdx
mov ecx, dword [rcx + 0xc]
add rax, rcx
mov qword [rbp - 0x30], rax
mov rax, qword [rbp - 0x18]
movsxd rcx, dword [rbp - 0x20]
imul rcx, rcx, 0x28
add rax, rcx
mov eax, dword [rax + 0x24]
and eax, 0x20000000
cmp eax, 0
je 0x21b83903a59
mov rax, qword [rbp - 0x18]
movsxd rcx, dword [rbp - 0x20]
imul rcx, rcx, 0x28
add rax, rcx
mov eax, dword [rax + 0x24]
xor eax, 0xffffffff
mov edx, 0xffffffff
xor edx, 0x40000000
mov ecx, 0xffffffff
xor ecx, 0x208c88a1
or eax, edx
or ecx, 0x208c88a1
xor eax, 0xffffffff
and eax, ecx
cmp eax, 0
je 0x21b83903a59
mov dword [rbp - 0x24], 0x20
jmp 0x21b83903ad5
mov rax, qword [rbp - 0x18]
movsxd rcx, dword [rbp - 0x20]
imul rcx, rcx, 0x28
add rax, rcx
mov ecx, dword [rax + 0x24]
and ecx, 0x40000000
xor edx, edx
call fcn.21b83900170
test eax, 1
je 0x21b83903aa4
mov rax, qword [rbp - 0x18]
movsxd rcx, dword [rbp - 0x20]
imul rcx, rcx, 0x28
add rax, rcx
mov eax, dword [rax + 0x24]
and eax, 0x80000000
cmp eax, 0
je 0x21b83903aa4
mov dword [rbp - 0x24], 4
jmp 0x21b83903ad3
mov rax, qword [rbp - 0x18]
movsxd rcx, dword [rbp - 0x20]
imul rcx, rcx, 0x28
add rax, rcx
mov ecx, dword [rax + 0x24]
and ecx, 0x40000000
xor edx, edx
call fcn.21b83900170
test eax, 1
je 0x21b83903ad1
mov dword [rbp - 0x24], 2
jmp 0x21b83903ad3
jmp 0x21b83903ad5
cmp dword [rbp - 0x24], 0
je 0x21b83903b2d
mov dword [rbp - 0x34], 0
mov eax, dword [rbp - 0x24]
mov dword [rbp - 0x4c], eax
mov eax, dword [rbp - 0x28]
mov qword [rbp - 0x58], rax
mov rax, qword [rbp - 0x30]
mov qword [rbp - 0x60], rax
xor ecx, ecx
mov edx, 0x57ef6781
call fcn.21b838fbd60
mov rcx, qword [rbp - 0x60]
mov rdx, qword [rbp - 0x58]
mov r8d, dword [rbp - 0x4c]
lea r9, [rbp - 0x34]
call rax
mov ecx, eax
xor edx, edx
call fcn.21b83900170
test eax, 1
jne 0x21b83903b2b
mov byte [rbp + 0xf], 0
jmp 0x21b83903b41
jmp 0x21b83903b2d
jmp 0x21b83903b2f
mov eax, dword [rbp - 0x20]
add eax, 1
mov dword [rbp - 0x20], eax
jmp 0x21b83903964
mov byte [rbp + 0xf], 1
mov al, byte [rbp + 0xf]
and al, 1
movzx eax, al
add rsp, 0x90
pop rbp
ret