Function at 0x140021b6c
Capabilities:
Inspect section memory permissions

Disassembly:
mov qword [rsp + 0x18], rbx
push rbp
push rsi
push rdi
push r14
push r15
lea rbp, [rsp - 0x200]
sub rsp, 0x300
mov rax, qword [0x1400fc1e8]
xor rax, rsp
mov qword [rbp + 0x1f0], rax
mov rbx, rdx
mov r8d, SHCreateDirectory
mov edx, 7
mov rdi, rcx
call fcn.140022760
test eax, eax
jne 0x14002210e
test dword [rbx + 4], 0x20000000
je 0x140021c6a
lea rax, [rbx + 0x1a]
mov dword [rsp + 0x40], SafeArrayCopy
mov edx, 7
mov qword [rsp + 0x48], rax
mov r8d, 0xb8
mov qword [rsp + 0x58], rax
mov rcx, rdi
mov qword [rsp + 0x68], rax
mov qword [rsp + 0x78], rax
mov dword [rsp + 0x50], reloc.OLEAUT32.dll_SafeArrayCopy
mov dword [rsp + 0x60], 0x48
mov dword [rsp + 0x70], 0x24
call fcn.140022760
test eax, eax
jne 0x14002210e
xor r14d, r14d
lea rsi, [rsp + 0x40]
mov r9, qword [rsi + 8]
mov edx, 7
mov r8d, dword [rsi]
mov rcx, rdi
call fcn.14001eb50
test eax, eax
jne 0x14002210e
inc r14d
add rsi, 0x10
cmp r14d, 4
jb 0x140021c1e
mov rcx, qword [rdi + 0x38]
mov rax, qword [rcx]
movabs r10, 0xf11497fd5c5e9270
mov rax, qword [rax + 0x78]
call qword [case.0x140063541.0]
test eax, eax
jne 0x14002210e
movaps xmm2, xmmword [rbx]
mov eax, dword [rbx + 0x70]
mov dword [rbp - 0x50], eax
movq rax, xmm2
shr rax, 0x20
movaps xmmword [rsp + 0x40], xmm2
test al, 1
je 0x140021c9a
test byte [rsp + 0x48], 1
je 0x140021c9a
mov r8d, SHCreateDirectory
mov rcx, rdi
call fcn.14001f9ac
movaps xmm2, xmmword [rbx]
mov esi, 2
mov eax, dword [rbx + 0x70]
mov dword [rbp - 0x50], eax
movq rax, xmm2
shr rax, 0x20
movaps xmmword [rsp + 0x40], xmm2
test sil, al
je 0x140021cd0
test byte [rsp + 0x48], sil
je 0x140021cd0
mov r8d, 0xaf
mov rcx, rdi
call fcn.14001f9ac
movaps xmm2, xmmword [rbx]
lea r14, str.true
mov eax, dword [rbx + 0x70]
mov dword [rbp - 0x50], eax
movq rax, xmm2
shr rax, 0x20
movaps xmmword [rsp + 0x40], xmm2
test al, al
jns 0x140021d17
test byte [rsp + 0x48], 0x80
je 0x140021d17
mov r9d, esi
mov qword [rsp + 0x20], r14
mov r8d, reloc.SHELL32.dll_SHCreateDirectory
mov rcx, rdi
call fcn.14001f838
test eax, eax
jne 0x14002210e
movaps xmm2, xmmword [rbx]
mov eax, dword [rbx + 0x70]
mov dword [rbp - 0x50], eax
movq rax, xmm2
shr rax, 0x20
movaps xmmword [rsp + 0x40], xmm2
test al, 8
je 0x140021d57
test byte [rsp + 0x48], 8
je 0x140021d57
mov r9d, esi
mov qword [rsp + 0x20], r14
mov r8d, VarDecFromR4
mov rcx, rdi
call fcn.14001f838
test eax, eax
jne 0x14002210e
movaps xmm2, xmmword [rbx]
mov ecx, 0x2000
mov eax, dword [rbx + 0x70]
mov dword [rbp - 0x50], eax
movq rax, xmm2
shr rax, 0x20
movaps xmmword [rsp + 0x40], xmm2
test ecx, eax
je 0x140021d9b
test dword [rsp + 0x48], ecx
je 0x140021d9b
mov r9d, esi
mov qword [rsp + 0x20], r14
mov r8d, VarDecFromR4
mov rcx, rdi
call fcn.14001f838
test eax, eax
jne 0x14002210e
movaps xmm2, xmmword [rbx]
mov ecx, 0x100
mov eax, dword [rbx + 0x70]
mov dword [rbp - 0x50], eax
movq rax, xmm2
shr rax, 0x20
movaps xmmword [rsp + 0x40], xmm2
test ecx, eax
je 0x140021dcd
test dword [rsp + 0x48], ecx
je 0x140021dcd
lea r8d, [rcx - 0x3d]
mov rcx, rdi
call fcn.14001f9ac
movaps xmm2, xmmword [rbx]
lea rdx, str.auto
mov eax, dword [rbx + 0x70]
mov ecx, 0x40000000
mov dword [rbp - 0x50], eax
movq rax, xmm2
shr rax, 0x20
movaps xmmword [rsp + 0x40], xmm2
test ecx, eax
je 0x140021e1c
test dword [rsp + 0x48], ecx
je 0x140021f44
mov qword [rsp + 0x20], rdx
mov r9d, esi
mov r8d, 0xa7
mov rcx, rdi
call fcn.14001f838
test eax, eax
jne 0x14002210e
mov eax, dword [rbx + 4]
lea r14, [0x1400bdae8]
mov r15d, 0x104
bt eax, 0x15
jae 0x140021e71
movsx r9d, word [rbx + 0x5e]
lea rcx, [rbp - 0x20]
mov r8, r14
mov edx, r15d
call fcn.14000fd34
test eax, eax
jne 0x14002210e
lea rax, [rbp - 0x20]
mov r9d, esi
lea r8d, [r15 - 0x70]
mov qword [rsp + 0x20], rax
mov rcx, rdi
call fcn.14001f838
test eax, eax
jne 0x14002210e
mov eax, dword [rbx + 4]
bt eax, 0x1c
jae 0x140021ec8
mov eax, 0x66666667
lea rcx, [rbp - 0x20]
imul dword [rbx + 0x10]
mov r8, r14
sar edx, 2
mov r9d, edx
shr r9d, 0x1f
add r9d, edx
mov rdx, r15
call fcn.14000fd34
test eax, eax
jne 0x14002210e
lea rax, [rbp - 0x20]
mov r9d, esi
mov r8d, 0xb7
mov qword [rsp + 0x20], rax
mov rcx, rdi
call fcn.14001f838
test eax, eax
jne 0x14002210e
mov eax, dword [rbx + 4]
test eax, eax
jns 0x140021f12
mov eax, 0x66666667
lea rcx, [rbp - 0x20]
imul dword [rbx + 0xc]
mov r8, r14
sar edx, 2
mov r9d, edx
shr r9d, 0x1f
add r9d, edx
mov rdx, r15
call fcn.14000fd34
lea rax, [rbp - 0x20]
mov r9d, esi
mov r8d, reloc.OLEAUT32.dll_VarDecFromR4
mov qword [rsp + 0x20], rax
mov rcx, rdi
call fcn.14001f838
test eax, eax
jne 0x14002210e
mov eax, dword [rbx + 0x70]
mov cl, al
movaps xmm2, xmmword [rbx]
mov dword [rbp - 0x50], eax
movq rax, xmm2
shr rax, 0x20
movaps xmmword [rsp + 0x40], xmm2
test al, 4
je 0x140022050
test byte [rsp + 0x48], 4
je 0x140021f94
test cl, cl
jne 0x140021f96
mov cl, 1
mov al, cl
jmp 0x140021fa0
mov eax, dword [rbx + 0x70]
lea r8, str._02X_02X_02X
mov rdx, qword [rbx + 0x10]
shr rdx, 0x20
mov dword [rbp - 0x50], eax
mov eax, edx
shr eax, 0x10
movzx ecx, al
movzx eax, dx
mov dword [rsp + 0x28], ecx
lea rcx, [rbp - 0x40]
shr eax, 8
movzx r9d, dl
mov edx, 9
mov dword [rsp + 0x20], eax
movaps xmmword [rsp + 0x40], xmm2
call fcn.14000fd34
lea rax, [rbp - 0x40]
mov qword [rsp + 0x20], rax
jmp 0x140021e03
xor cl, cl
mov al, cl
test cl, cl
je 0x140022050
cmp al, 0xa
ja 0x140021fd8
je 0x140021fcf
test al, al
je 0x140021ff5
cmp al, 3
jbe 0x140021fcf
cmp al, 4
je 0x140021ffe
cmp al, 5
je 0x140022019
cmp al, 6
je 0x140022010
cmp al, 7
je 0x140022007
cmp al, 8
je 0x14002202b
cmp al, 9
jne 0x140021ff5
lea rax, str.thick
jmp 0x140022032
lea rax, str.single
jmp 0x140022032
cmp al, 0xc
jbe 0x14002202b
cmp al, 0xd
je 0x140022022
cmp al, 0xe
je 0x140022019
cmp al, 0xf
je 0x140022010
cmp al, 0x10
je 0x140022007
cmp al, 0x11
je 0x140021ffe
cmp cl, 0x12
je 0x140022022
lea rax, str.none
jmp 0x140022032
lea rax, str.dotted
jmp 0x140022032
lea rax, str.dotDotDash
jmp 0x140022032
lea rax, str.dotDash
jmp 0x140022032
lea rax, str.dash
jmp 0x140022032
lea rax, str.dashLong
jmp 0x140022032
lea rax, str.wave
mov r9d, esi
mov qword [rsp + 0x20], rax
mov r8d, reloc.OLEAUT32.dll_VarDecFromDate
mov rcx, rdi
call fcn.14001f838
test eax, eax
jne 0x14002210e
movaps xmm2, xmmword [rbx]
mov ecx, 0x4000000
movq rax, xmm2
movaps xmmword [rsp + 0x40], xmm2
shr rax, 0x20
test ecx, eax
je 0x1400220a6
test dword [rsp + 0x48], ecx
je 0x140022135
lea rax, str.clear
mov qword [rsp + 0x30], rax
lea rax, str.auto
mov r9d, 0x1c
mov dword [rsp + 0x28], esi
mov rcx, rdi
mov qword [rsp + 0x20], rax
lea r8d, [r9 + 0x76]
call fcn.14001f930
test eax, eax
jne 0x14002210e
movaps xmm2, xmmword [rbx]
mov ecx, 0x30000
movq rax, xmm2
movaps xmmword [rsp + 0x40], xmm2
shr rax, 0x20
test ecx, eax
je 0x14002218e
test dword [rsp + 0x48], 0x10000
je 0x14002218e
lea rax, str.subscript
mov r9d, esi
mov qword [rsp + 0x20], rax
mov r8d, 0xc4
mov rcx, rdi
call fcn.14001f838
test eax, eax
jne 0x14002210e
mov rcx, qword [rdi + 0x38]
mov rax, qword [rcx]
movabs r10, 0xf11497fd5c5e9270
mov rax, qword [rax + 0x78]
call qword [case.0x140063541.0]
mov rcx, qword [rbp + 0x1f0]
xor rcx, rsp
call fcn.14000bdb0
mov rbx, qword [rsp + 0x340]
add rsp, 0x300
pop r15
pop r14
pop rdi
pop rsi
pop rbp
ret
movaps xmm0, xmmword [rbx + 0x60]
lea r8, str._02X_02X_02X
movd eax, xmm0
mov edx, 9
movaps xmmword [rsp + 0x40], xmm2
shr eax, 0x10
movzx r10d, al
movd eax, xmm0
mov dword [rsp + 0x28], r10d
movzx ecx, ax
shr ecx, 8
movd eax, xmm0
mov dword [rsp + 0x20], ecx
lea rcx, [rbp - 0x40]
movzx r9d, al
call fcn.14000fd34
lea rax, str.clear
mov qword [rsp + 0x30], rax
lea rax, [rbp - 0x40]
jmp 0x140022087
movq rax, xmm2
movaps xmmword [rsp + 0x40], xmm2
shr rax, 0x20
test ecx, eax
je 0x1400220f3
test dword [rsp + 0x48], 0x20000
je 0x1400220f3
lea rax, str.superscript
jmp 0x1400220d9