Function at 0x140094a70
Capabilities:
Inspect section memory permissions

Disassembly:
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbp
push rbx
sub rsp, 0x68
mov r15, r9
mov rdi, r8
mov rbx, rdx
mov qword [rsp + 0x28], rcx
mov rbp, qword [r9 + 0x10]
mov r13, qword [r9 + 0x20]
cmp r13, rbp
jae 0x140094b18
mov rax, qword [r15 + 8]
movzx r14d, byte [rax + r13]
mov edx, dword [r15]
mov r8d, dword [r15 + 4]
mov rax, qword [rbx + 0x298]
or rax, qword [rbx + 0x2a8]
mov rcx, qword [rbx + 0x290]
or rcx, qword [rbx + 0x2a0]
or rcx, rax
je 0x140094b2e
lea rax, [rbx + 0x290]
mov r9d, r14d
shr r9d, 7
shl r9, 4
mov r10d, 1
xor r11d, r11d
mov ecx, r14d
shld r11, r10, cl
shl r10, cl
xor ecx, ecx
test r14b, 0x40
cmovne r11, r10
cmovne r10, rcx
and r11, qword [rax + r9 + 8]
and r10, qword [rax + r9]
or r10, r11
je 0x140094b2e
mov r12d, 4
jmp 0x140094d7b
mov edx, dword [r15]
mov r8d, dword [r15 + 4]
mov al, 2
movzx r9d, al
mov rax, r9
test edx, edx
jne 0x140094b42
jmp 0x140094b4f
movzx eax, byte [rbx + r14 + 0x90]
movzx r9d, al
mov rax, r9
test edx, edx
je 0x140094b4f
cmp edx, 1
jne 0x140094d69
lea rax, [r9 + 6]
cmp rax, qword [rdi + 0x40]
jae 0x1400953e3
mov rcx, qword [rdi + 0x38]
mov r14d, dword [rcx + rax*4]
test r14d, r14d
js 0x140095045
mov rsi, qword [r15 + 0x18]
cmp rsi, r13
jne 0x140094be0
test r13, r13
je 0x140094e7a
lea rsi, [r13 - 1]
cmp rsi, rbp
jae 0x1400953e3
mov rax, qword [r15 + 8]
movzx r15d, byte [rax + rsi]
movzx ecx, byte [rbx + r15 + 0x190]
mov eax, r14d
and eax, 0x7ffffff
add rax, rcx
cmp rax, qword [rdi + 0x28]
jae 0x1400953e3
mov rcx, qword [rdi + 0x20]
mov edx, dword [rcx + rax*4]
test edx, edx
js 0x140095153
mov edx, edx
test edx, 0x8000000
jne 0x140094ecd
test edx, 0x20000000
jne 0x140094f90
xor eax, eax
jmp 0x14009513e
dec r13
mov r15, qword [r15 + 8]
mov r10, qword [rbx + 0x2b0]
mov rcx, qword [rbx + 0x2b8]
and ecx, 0x3f
xor r11d, r11d
nop dword [rax + rax]
cmp r13, rbp
jae 0x1400953e3
movzx r8d, byte [r15 + r13]
movzx r9d, byte [rbx + r8 + 0x190]
mov edx, r14d
and edx, 0x7ffffff
add rdx, r9
cmp rdx, qword [rdi + 0x28]
jae 0x1400953e3
mov r9, qword [rdi + 0x20]
mov r12d, dword [r9 + rdx*4]
test r12d, r12d
js 0x140094cff
cmp r12d, 0x7ffffff
jbe 0x140094cdd
mov edx, r12d
test edx, 0x8000000
jne 0x140094c70
test edx, 0x40000000
jne 0x140095072
test edx, 0x20000000
je 0x140094cdd
jmp 0x140095084
xor eax, eax
cmp qword [r10 + 0x168], 1
je 0x140094cce
mov r8d, r12d
and r8d, 0x7ffffff
shr r8, cl
cmp r8, qword [rdi + 0x58]
jae 0x1400953e3
mov rdx, qword [rdi + 0x50]
shl r8, 4
mov r9, qword [rdx + r8 + 8]
test r9, r9
je 0x1400953e3
mov rdx, qword [rdx + r8]
test byte [rdx + 0x10], 2
je 0x140094cce
cmp r9, 0xc
jbe 0x1400953e3
add r9, 0xfffffffffffffff3
cmp r9, 3
jbe 0x1400953e3
mov eax, dword [rdx + 0x1d]
lea rdx, [r13 + 1]
mov qword [rsp + 0x48], rdx
mov r11d, 1
cmp rsi, r13
je 0x140094df3
dec r13
mov r14d, r12d
cmp r13, qword [rsp + 0xd0]
jae 0x140094c00
jmp 0x14009502c
mov qword [rsp + 0x40], r11
mov qword [rsp + 0x50], r10
mov qword [rsp + 0x58], rcx
mov qword [rsp + 0x60], rbp
mov rbp, rsi
mov esi, eax
shl r8d, 8
mov qword [rsp + 0x30], rbx
mov qword [rsp + 0x38], rdi
lea rcx, [rsp + 0x30]
mov edx, r14d
call fcn.140080a50
test eax, eax
jne 0x1400951d8
mov r12d, edx
mov eax, esi
mov rsi, rbp
mov rbp, qword [rsp + 0x60]
mov rcx, qword [rsp + 0x58]
mov r10, qword [rsp + 0x50]
mov r11, qword [rsp + 0x40]
cmp r12d, 0x7ffffff
ja 0x140094c4b
jmp 0x140094cdd
test byte [rbx + 0x81], 1
mov r14d, r8d
mov r12d, 2
jne 0x140094dc4
lea ecx, [r12 - 3]
cmp ecx, 2
mov eax, 2
cmovb eax, ecx
test eax, eax
je 0x140095179
cmp eax, 1
jne 0x1400953cb
movzx eax, byte [0x140188180]
mov edx, 0x10
xor ecx, ecx
call fcn.1400f2120
test rax, rax
je 0x1400953e3
mov byte [rax], 0
mov byte [rax + 1], r14b
jmp 0x140095198
mov rax, qword [rbx + 0x2b0]
cmp qword [rax + 0x168], r14
jbe 0x140094f45
lea rax, [r14 + r14*2]
lea rax, [r9 + rax*2]
add rax, 0xc
cmp rax, qword [rdi + 0x40]
jb 0x140094b59
jmp 0x1400953e3
test rsi, rsi
je 0x140094fbc
movzx r14d, byte [r15 + rsi - 1]
movzx r8d, byte [rbx + r14 + 0x190]
mov edx, r12d
and edx, 0x7ffffff
add rdx, r8
cmp rdx, qword [rdi + 0x28]
jae 0x1400953e3
mov r8, qword [rdi + 0x20]
mov edx, dword [r8 + rdx*4]
test edx, edx
js 0x140095269
mov edx, edx
test edx, 0x8000000
jne 0x140095326
test edx, 0x20000000
je 0x140095008
movzx eax, byte [0x140188180]
mov edx, 0x10
xor ecx, ecx
call fcn.1400f2120
test rax, rax
je 0x1400953e3
dec rsi
mov byte [rax], 0
mov byte [rax + 1], r14b
mov qword [rax + 8], rsi
jmp 0x1400951fb
movzx r8d, byte [rbx + 0x28f]
shl r8d, 0x10
add r8d, 0x10001
mov ecx, r8d
shr ecx, 0x10
mov eax, r14d
and eax, 0x7ffffff
add rax, rcx
cmp qword [rdi + 0x28], rax
jbe 0x1400953e3
mov rcx, qword [rdi + 0x20]
mov edx, dword [rcx + rax*4]
test edx, edx
js 0x140095220
xor r8d, r8d
test edx, 0x8000000
jne 0x140094f6e
xor eax, eax
jmp 0x14009513e
mov rcx, qword [rbx + 0x2b0]
mov eax, 1
xor r8d, r8d
cmp qword [rcx + 0x168], 1
je 0x14009513e
and edx, 0x7ffffff
movzx ecx, byte [rbx + 0x2b8]
shr rdx, cl
cmp rdx, qword [rdi + 0x58]
jae 0x1400953e3
mov rcx, qword [rdi + 0x50]
shl rdx, 4
mov r9, qword [rcx + rdx + 8]
test r9, r9
je 0x1400953e3
mov rcx, qword [rcx + rdx]
test byte [rcx + 0x10], 2
je 0x14009513e
cmp r9, 0xc
jbe 0x1400953e3
add r9, 0xfffffffffffffff3
cmp r9, 3
ja 0x14009513a
jmp 0x1400953e3
mov rcx, qword [rbx + 0x2b8]
and ecx, 0x3f
cmp rcx, 0x1b
jae 0x1400953e3
mov r14d, 1
shl r14, cl
or r14d, 0x40000000
jmp 0x140094b6a
mov rcx, qword [rbx + 0x2b0]
mov eax, 1
cmp qword [rcx + 0x168], 1
jne 0x1400950dd
xor r13d, r13d
jmp 0x14009513e
movzx eax, byte [0x140188180]
mov edx, 0x10
xor ecx, ecx
call fcn.1400f2120
test rax, rax
je 0x1400953e3
mov byte [rax], 0
mov byte [rax + 1], r15b
mov qword [rax + 8], rsi
jmp 0x14009519c
movzx r8d, byte [rbx + 0x28f]
shl r8d, 0x10
add r8d, 0x10001
mov r9d, r8d
shr r9d, 0x10
mov edx, r12d
and edx, 0x7ffffff
add rdx, r9
cmp qword [rdi + 0x28], rdx
jbe 0x1400953e3
mov r9, qword [rdi + 0x20]
mov edx, dword [r9 + rdx*4]
test edx, edx
js 0x1400952bc
test edx, 0x8000000
jne 0x140095362
test r12d, 0x40000000
jne 0x1400951ce
test r11, r11
mov rdx, qword [rsp + 0x48]
je 0x1400953ab
cmp rdx, rsi
jbe 0x1400953ab
mov rax, qword [rsp + 0x28]
mov qword [rax + 8], 0
mov qword [rax], 2
jmp 0x1400953ba
mov qword [rsp + 0x30], rbx
mov qword [rsp + 0x38], rdi
lea rcx, [rsp + 0x30]
call fcn.140081d50
mov r12, rax
mov r14, rax
shr r14, 0x20
cmp r12d, 5
je 0x140094b6a
jmp 0x140094d7b
mov rcx, qword [rsp + 0x28]
mov qword [rcx], r11
mov rdx, qword [rsp + 0x48]
jmp 0x1400953b3
movzx ebx, byte [r15 + r13]
movzx eax, byte [0x140188180]
mov edx, 0x10
xor ecx, ecx
call fcn.1400f2120
test rax, rax
je 0x1400953e3
mov byte [rax], 0
mov byte [rax + 1], bl
mov qword [rax + 8], r13
mov rcx, qword [0x140188170]
xor edx, edx
mov r8, rax
call sub.KERNEL32.dll_HeapFree
mov rax, qword [rsp + 0x28]
mov qword [rax + 8], 1
mov qword [rax + 0x10], r13
mov qword [rax], 2
jmp 0x1400953ba
and edx, 0x7ffffff
movzx ecx, byte [rbx + 0x2b8]
shr rdx, cl
cmp rdx, qword [rdi + 0x58]
jae 0x1400953e3
mov rcx, qword [rdi + 0x50]
shl rdx, 4
mov r8, qword [rcx + rdx + 8]
test r8, r8
je 0x1400953e3
mov rcx, qword [rcx + rdx]
test byte [rcx + 0x10], 2
jne 0x14009511f
xor r8d, r8d
xor r13d, r13d
jmp 0x14009513e
cmp r8, 0xc
jbe 0x1400953e3
add r8, 0xfffffffffffffff3
cmp r8, 3
jbe 0x1400953e3
xor r13d, r13d
mov r8d, dword [rcx + 0x1d]
mov rcx, qword [rsp + 0x28]
mov qword [rcx], rax
mov qword [rcx + 8], r13
mov dword [rcx + 0x10], r8d
jmp 0x1400953ba
mov r8d, r15d
shl r8d, 8
mov qword [rsp + 0x30], rbx
mov qword [rsp + 0x38], rdi
lea rcx, [rsp + 0x30]
mov edx, r14d
call fcn.140080a50
test eax, eax
je 0x140094bbf
movzx eax, byte [0x140188180]
mov edx, 0x10
xor ecx, ecx
call fcn.1400f2120
test rax, rax
je 0x1400953e3
mov byte [rax], 1
mov qword [rax + 8], r13
mov rsi, qword [rax + 8]
mov rcx, qword [0x140188170]
xor edx, edx
mov r8, rax
call sub.KERNEL32.dll_HeapFree
mov rax, qword [rsp + 0x28]
mov qword [rax + 8], 1
mov qword [rax + 0x10], rsi
mov qword [rax], 2
jmp 0x1400953ba
mov rdx, qword [rsp + 0x48]
jmp 0x1400953ab
movzx eax, byte [0x140188180]
mov edx, 0x10
xor ecx, ecx
call fcn.1400f2120
test rax, rax
je 0x1400953e3
mov byte [rax], 1
mov qword [rax + 8], r13
mov rcx, rax
call fcn.140077c40
mov rcx, qword [rsp + 0x28]
mov qword [rcx + 8], 1
mov qword [rcx + 0x10], rax
mov qword [rcx], 2
jmp 0x1400953ba
mov qword [rsp + 0x30], rbx
mov qword [rsp + 0x38], rdi
lea rcx, [rsp + 0x30]
mov edx, r14d
call fcn.140080a50
test eax, eax
je 0x140094eb7
movzx eax, byte [0x140188180]
mov edx, 0x10
xor ecx, ecx
call fcn.1400f2120
test rax, rax
je 0x1400953e3
mov byte [rax], 1
xor ecx, ecx
mov qword [rax + 8], rcx
jmp 0x14009519c
mov qword [rsp + 0x40], r11
mov r13, r10
mov r15, rcx
mov ebp, eax
mov r8d, r14d
shl r8d, 8
mov qword [rsp + 0x30], rbx
mov qword [rsp + 0x38], rdi
lea rcx, [rsp + 0x30]
mov edx, r12d
call fcn.140080a50
test eax, eax
je 0x14009530b
movzx eax, byte [0x140188180]
mov edx, 0x10
xor ecx, ecx
call fcn.1400f2120
test rax, rax
je 0x1400953e3
mov byte [rax], 1
jmp 0x140094e71
mov rbp, r11
mov r13, r10
mov r15, rcx
mov r14, rsi
mov esi, eax
mov qword [rsp + 0x30], rbx
mov qword [rsp + 0x38], rdi
lea rcx, [rsp + 0x30]
mov edx, r12d
call fcn.140080a50
test eax, eax
je 0x140095348
movzx eax, byte [0x140188180]
mov edx, 0x10
xor ecx, ecx
call fcn.1400f2120
test rax, rax
je 0x1400953e3
mov byte [rax], 1
xor esi, esi
jmp 0x140094e71
mov eax, ebp
mov rcx, r15
mov r10, r13
mov r11, qword [rsp + 0x40]
mov edx, edx
test edx, 0x8000000
je 0x140094e3f
cmp qword [r10 + 0x168], 1
jne 0x140095334
xor eax, eax
jmp 0x1400953a2
and edx, 0x7ffffff
shr rdx, cl
cmp rdx, qword [rdi + 0x58]
jb 0x140095389
jmp 0x1400953e3
mov eax, esi
mov rsi, r14
mov rcx, r15
mov r10, r13
mov r11, rbp
test edx, 0x8000000
je 0x140095008
cmp qword [r10 + 0x168], 1
jne 0x140095378
xor edx, edx
mov r11d, 1
xor eax, eax
jmp 0x1400953ab
and edx, 0x7ffffff
shr rdx, cl
cmp rdx, qword [rdi + 0x58]
jae 0x1400953e3
xor esi, esi
mov rax, qword [rdi + 0x50]
shl rdx, 4
mov rcx, qword [rax + rdx]
mov rdx, qword [rax + rdx + 8]
xor r8d, r8d
call fcn.1400781e0
mov r11d, 1
mov rdx, rsi
mov rcx, qword [rsp + 0x28]
mov qword [rcx], r11
mov qword [rcx + 8], rdx
mov dword [rcx + 0x10], eax
add rsp, 0x68
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
ret
movzx eax, byte [0x140188180]
mov edx, 0x10
xor ecx, ecx
call fcn.1400f2120
test rax, rax
jne 0x1400953e5
ud2
mov byte [rax], 3
mov dword [rax + 4], r12d
mov dword [rax + 8], r14d
ud2