Function at 0x1400523c0
Capabilities:
Inspect section memory permissions

Disassembly:
mov qword [rsp + 0x18], r8
mov qword [rsp + 0x10], rdx
mov qword [rsp + 8], rcx
push rbp
push rbx
push rsi
push rdi
lea rbp, [rsp - 0xf8]
sub rsp, 0x1f8
mov rax, qword [0x140136188]
xor rax, rsp
mov qword [rbp + 0x70], rax
mov rbx, qword [rbp + 0x120]
mov rdi, qword [rbp + 0x128]
mov rsi, qword [rbp + 0x130]
cmp dword [rbx + 0xb0], 0
jne 0x140052418
mov eax, 0xf9a9fff5
jmp 0x14005272c
cmp qword [rdi], 0
je 0x140052a69
cmp qword [rsi], 0
je 0x140052a69
mov ecx, dword [rdi + 0x40]
cmp ecx, 1
jl 0x140052a5f
mov r8d, dword [rdi + 0x44]
cmp r8d, 1
jl 0x140052a5f
mov r9d, dword [rsi + 0x40]
cmp r9d, 1
jl 0x140052a5f
mov r10d, dword [rsi + 0x44]
cmp r10d, 1
jl 0x140052a5f
mov eax, dword [rdi + 0x6c]
cmp eax, dword [rsi + 0x6c]
je 0x140052474
mov eax, 0xf9a0ffbb
jmp 0x14005272c
test cl, 1
jne 0x140052a55
test r8b, 1
jne 0x140052a55
test r9b, 1
jne 0x140052a55
test r10b, 1
jne 0x140052a55
mov qword [rsp + 0x1f0], r12
xor r12d, r12d
mov qword [rsp + 0x1e8], r14
mov qword [rsp + 0x1e0], r15
mov qword [rbp + 0x60], r12
mov dword [rbp + 0x68], r9d
lea r15d, [r12 + 1]
mov dword [rbp + 0x6c], r10d
cmp eax, 0xd
ja 0x1400524f2
je 0x14005250f
sub eax, 5
je 0x1400524d6
sub eax, r15d
mov rcx, qword [rbx + 0x18]
mov r8, rsi
mov rdx, rdi
mov rax, qword [rcx]
mov rax, qword [rax + 8]
call qword [0x140117ae0]
jmp 0x140052714
cmp eax, 0x500
je 0x14005251a
cmp eax, 0x600
je 0x14005250f
cmp eax, 0xd00
jne 0x1400524d6
mov r14d, 4
jmp 0x14005251d
mov r14d, 3
mov r15d, r12d
jmp 0x14005251d
mov r14d, r15d
xorps xmm3, xmm3
movaps xmmword [rsp + 0x1d0], xmm6
xorps xmm2, xmm2
movaps xmmword [rsp + 0x1c0], xmm7
xorps xmm0, xmm0
xorps xmm1, xmm1
cvtsi2sd xmm3, r9d
cvtsi2sd xmm0, ecx
cvtsi2sd xmm2, r10d
cvtsi2sd xmm1, r8d
divsd xmm3, xmm0
divsd xmm2, xmm1
ucomisd xmm3, xmm2
jp 0x140052744
jne 0x140052744
cmp ecx, r9d
jg 0x140052744
cmp r8d, r10d
jg 0x140052744
cmp ecx, r9d
jne 0x14005258f
cmp r8d, r10d
jne 0x14005258f
mov dword [rbx + 0x138], 0x80000000
jmp 0x14005274e
lea eax, [rcx + rcx]
cmp eax, r9d
jne 0x1400525af
lea eax, [r8 + r8]
cmp eax, r10d
jne 0x1400525af
mov dword [rbx + 0x138], 0x80000001
jmp 0x14005274e
lea eax, [rcx + rcx*2]
cmp eax, r9d
jne 0x1400525cf
lea eax, [r8 + r8*2]
cmp eax, r10d
jne 0x1400525cf
mov dword [rbx + 0x138], 0x80000002
jmp 0x14005274e
lea eax, [rcx*4]
cmp eax, r9d
jne 0x1400525f7
lea eax, [r8*4]
cmp eax, r10d
jne 0x1400525f7
mov dword [rbx + 0x138], 0x80000003
jmp 0x14005274e
mov eax, r9d
cdq
idiv ecx
test edx, edx
jne 0x140052613
mov eax, r10d
cdq
idiv r8d
test edx, edx
jne 0x140052613
mov eax, 0x40000000
jmp 0x14005264a
lea eax, [r9 + r9]
cdq
idiv ecx
test edx, edx
jne 0x140052744
cmp ecx, 2
je 0x140052744
lea eax, [r10 + r10]
cdq
idiv r8d
test edx, edx
jne 0x140052744
cmp r8d, 2
je 0x140052744
mov eax, 0x40000001
mov dword [rbx + 0x138], eax
mov edx, dword [rsi + 0x40]
movd xmm0, dword [rdi + 0x40]
mov r8d, dword [rsi + 0x44]
mov rax, qword [rbx + 0x68]
movd xmm7, edx
cvtdq2pd xmm0, xmm0
movd xmm6, r8d
cvtdq2pd xmm7, xmm7
cvtdq2pd xmm6, xmm6
divsd xmm7, xmm0
movd xmm0, dword [rdi + 0x44]
cvtdq2pd xmm0, xmm0
divsd xmm6, xmm0
cmp edx, eax
jg 0x140052693
shr rax, 0x20
cmp r8d, eax
jle 0x1400526cc
mov rcx, rbx
call fcn.140051f50
mov ecx, eax
neg ecx
movzx ecx, cx
neg ecx
js 0x140052704
mov rax, qword [rdi + 0x50]
movaps xmm2, xmm6
mov r9, qword [rdi + 0x48]
movaps xmm1, xmm7
mov rcx, rbx
mov qword [rsp + 0x20], rax
call fcn.140052220
mov ecx, eax
neg ecx
movzx ecx, cx
neg ecx
js 0x140052704
ucomisd xmm7, qword [rbx + 0x70]
jp 0x1400526de
jne 0x1400526de
ucomisd xmm6, qword [rbx + 0x78]
jp 0x1400526de
je 0x14005274e
mov rax, qword [rdi + 0x50]
movaps xmm2, xmm6
mov r9, qword [rdi + 0x48]
movaps xmm1, xmm7
mov rcx, rbx
mov qword [rsp + 0x20], rax
call fcn.140052220
mov ecx, eax
neg ecx
movzx ecx, cx
neg ecx
jns 0x14005274e
movaps xmm6, xmmword [rsp + 0x1d0]
movaps xmm7, xmmword [rsp + 0x1c0]
mov r14, qword [rsp + 0x1e8]
mov r12, qword [rsp + 0x1f0]
mov r15, qword [rsp + 0x1e0]
mov rcx, qword [rbp + 0x70]
xor rcx, rsp
call fcn.1400d7200
add rsp, 0x1f8
pop rdi
pop rsi
pop rbx
pop rbp
ret
mov dword [rbx + 0x138], 0x20000000
mov r11d, dword [rbx + 0x138]
test r11d, 0xc0000000
jne 0x140052777
mov rcx, qword [rbx + 0x18]
mov r8, rsi
mov rdx, rdi
mov rax, qword [rcx]
mov rax, qword [rax + 8]
call qword [0x140117ae0]
jmp 0x140052704
movups xmm3, xmmword [rdi + 0x30]
movups xmm0, xmmword [rdi + 0x20]
movups xmm2, xmmword [rdi + 0x40]
movups xmm7, xmmword [rsi + 0x30]
movups xmm6, xmmword [rdi]
movups xmm4, xmmword [rdi + 0x50]
movups xmm5, xmmword [rsi + 0x40]
movups xmm1, xmmword [rdi + 0x70]
movaps xmmword [rbp - 0x80], xmm0
movups xmm0, xmmword [rdi + 0x60]
movaps xmmword [rsp + 0x1b0], xmm8
movups xmm8, xmmword [rsi + 0x50]
movaps xmmword [rbp - 0x40], xmm0
movups xmm0, xmmword [rsi + 0x20]
movaps xmmword [rsp + 0x1a0], xmm9
movups xmm9, xmmword [rsi]
movaps xmmword [rbp], xmm0
movups xmm0, xmmword [rsi + 0x60]
movaps xmmword [rsp + 0x60], xmm6
movaps xmmword [rbp + 0x40], xmm0
movdqa xmm0, xmm3
psrldq xmm0, 0xc
movd eax, xmm0
movdqa xmm0, xmm7
movaps xmmword [rbp - 0x60], xmm2
psrldq xmm2, 8
movsxd r9, eax
movq rdx, xmm2
imul rdx, r9
movaps xmmword [rsp + 0x190], xmm10
movq rax, xmm6
movups xmm10, xmmword [rdi + 0x10]
movaps xmmword [rbp - 0x70], xmm3
psrldq xmm3, 8
movd r8d, xmm3
movaps xmmword [rsp + 0x70], xmm10
psrldq xmm0, 0xc
movsxd rcx, r8d
add rax, rcx
movaps xmmword [rbp + 0x20], xmm5
add rax, rdx
mov ecx, r15d
mov qword [rsp + 0x60], rax
movq rax, xmm4
sar r9, cl
mov ecx, r15d
imul r9, rax
psrldq xmm5, 8
movaps xmmword [rbp + 0x10], xmm7
psrldq xmm7, 8
movaps xmmword [rsp + 0x180], xmm11
movsxd rdx, r8d
movq r8, xmm5
movups xmm11, xmmword [rsi + 0x10]
sar rdx, cl
movaps xmmword [rbp - 0x30], xmm1
movups xmm1, xmmword [rsi + 0x70]
lea rax, [r9 + rdx]
movaps xmmword [rbp - 0x20], xmm9
add qword [rsp + 0x68], rax
lea rcx, [r9 + rdx]
movd edx, xmm7
movq rax, xmm10
add rax, rcx
movaps xmmword [rbp - 0x50], xmm4
mov qword [rsp + 0x70], rax
movsxd rcx, edx
movd eax, xmm0
movaps xmmword [rbp - 0x10], xmm11
movaps xmmword [rbp + 0x30], xmm8
movsxd r9, eax
movq rax, xmm9
add rax, rcx
movaps xmmword [rbp + 0x50], xmm1
imul r8, r9
mov ecx, r15d
add rax, r8
movsxd r8, edx
sar r8, cl
mov ecx, r15d
mov qword [rbp - 0x20], rax
movaps xmm10, xmmword [rsp + 0x190]
lea rdi, [rsp + 0x60]
movaps xmm9, xmmword [rsp + 0x1a0]
movq rax, xmm8
movaps xmm8, xmmword [rsp + 0x1b0]
sar r9, cl
imul r9, rax
mov qword [rbp - 0x68], r12
mov qword [rbp + 0x18], r12
lea rax, [r9 + r8]
add qword [rbp - 0x18], rax
lea rcx, [r9 + r8]
movq rax, xmm11
movaps xmm11, xmmword [rsp + 0x180]
add rax, rcx
mov qword [rbp - 0x10], rax
cmp r11d, 0x80000000
je 0x140052960
mov r8d, r14d
lea rdx, [rsp + 0x60]
mov rcx, rbx
call fcn.1400535f0
mov ecx, eax
neg ecx
movzx ecx, cx
neg ecx
js 0x140052704
mov r11d, dword [rbx + 0x138]
lea rdi, [rbx + 0xb8]
mov dword [rsp + 0x54], r14d
mov dword [rsp + 0x50], r11d
cmp dword [rbx + 0x140], r12d
je 0x140052a0b
mov eax, dword [rbp + 0x68]
lea rcx, [rbx + 0x148]
mov esi, dword [rbp + 0x6c]
mov edx, 8
mov r8, qword [0x14011da58]
mov r14d, dword [rbx + 0x15c]
mov dword [rsp + 0x40], eax
mov dword [rsp + 0x44], esi
mov r9, qword [rsp + 0x40]
call fcn.1400bfaf0
mov dword [rbx + 0x13c], eax
cmp eax, 1
jle 0x1400529c5
lea ecx, [r14*4]
cmp dword [rbp - 0x5c], ecx
jle 0x1400529c5
cmp esi, ecx
jg 0x1400529d4
mov dword [rbx + 0x13c], 1
mov eax, 1
cmp eax, 1
jle 0x140052a15
mov eax, dword [rbx + 0x138]
lea r9, [rsp + 0x50]
shr eax, 0x1e
lea r8, [rbp - 0x20]
and eax, 1
mov rdx, rdi
mov dword [rsp + 0x28], eax
mov rcx, rbx
lea rax, [rbp + 0x60]
mov qword [rsp + 0x20], rax
call fcn.140052a80
jmp 0x140052704
mov dword [rbx + 0x13c], 1
lea rax, [rsp + 0x48]
mov dword [rsp + 0x40], r12d
mov qword [rsp + 0x30], rax
lea r9, [rsp + 0x50]
lea rax, [rsp + 0x40]
mov dword [rsp + 0x48], r12d
mov qword [rsp + 0x28], rax
lea r8, [rbp - 0x20]
lea rax, [rbp + 0x60]
mov rdx, rdi
mov rcx, rbx
mov qword [rsp + 0x20], rax
call fcn.140052cb0
jmp 0x140052704
mov eax, 0xf99dffbd
jmp 0x14005272c
mov eax, 0xf9a3ffbd
jmp 0x14005272c
mov eax, 0xf9a6ffbf
jmp 0x14005272c